if platform.system() == 'Darwin': print( "starting version stript:") write_version_file('dist/Pupil Player.app/Contents/MacOS') print( "created version file in app dir") shutil.rmtree('dist/Pupil Player') print( 'removed the non-app dist bundle') print( "hack injecting file type info in to info.plist") with open("dist/Pupil Player.app/Contents/Info.plist", "r") as f: txt = f.read() # read everything in the file txt = txt.replace(split_str,mac_plist_document_type_str + split_str) with open("dist/Pupil Player.app/Contents/Info.plist", "w") as f: f.write(txt) bundle_name = 'pupil_player_mac_os_x64_v%s'%pupil_version() bundle_dmg_name = 'Install Pupil Player' src_dir = 'dist' bundle_app_dir = os.path.join(src_dir,'Pupil Player.app/' ) print( "Codesigning now") if call("codesign --force --verify --verbose -s 'Developer ID Application: Pupil Labs UG (haftungsbeschrankt) (R55K9ESN6B)' --deep '%s'"%bundle_app_dir,shell=True) != 0: print( Exception("Codesinging failed")) # if call("spctl --assess --type execute '%s'"%bundle_app_dir,shell=True) != 0: # print Exception("Codesing verification failed") call("ln -s /Applications/ %s/Applications"%src_dir,shell=True) call("hdiutil create -volname '%s' -srcfolder %s -format UDZO '%s.dmg'"%(bundle_dmg_name,src_dir,bundle_name),shell=True) elif platform.system() == 'Windows': write_version_file(os.path.join('dist', 'Pupil Player')) elif platform.system() == 'Linux':
os.makedirs(bin_dir,0o755) os.makedirs(app_dir,0o755) os.makedirs(ico_dir,0o755) #DEBAIN Package description with open(os.path.join(DEBIAN_dir,'control'),'w') as f: dist_size = sum(os.path.getsize(os.path.join(pupil_player_dir,f)) for f in os.listdir(pupil_player_dir) if os.path.isfile(os.path.join(pupil_player_dir,f))) content = '''\ Package: pupil-player Version: %s Architecture: amd64 Maintainer: Pupil Labs <*****@*****.**> Priority: optional Description: Pupil Player is part of the Pupil Eye Tracking Platform Installed-Size: %s '''%(pupil_version(),dist_size/1024) f.write(content) os.chmod(os.path.join(DEBIAN_dir,'control'),0o644) #bin_starter script with open(os.path.join(bin_dir,'pupil_player'),'w') as f: content = '''\ #!/bin/sh exec /opt/pupil_player/pupil_player "$@"''' f.write(content) os.chmod(os.path.join(bin_dir,'pupil_player'),0o755) #.desktop entry with open(os.path.join(app_dir,'pupil_player.desktop'),'w') as f: content = '''\
with open(os.path.join(DEBIAN_dir, "control"), "w") as f: dist_size = sum( os.path.getsize(os.path.join(pupil_service_dir, f)) for f in os.listdir(pupil_service_dir) if os.path.isfile(os.path.join(pupil_service_dir, f)) ) content = """\ Package: pupil-service Version: %s Architecture: amd64 Maintainer: Pupil Labs <*****@*****.**> Priority: optional Description: Pupil Service is part of the Pupil Eye Tracking Platform Installed-Size: %s """ % ( pupil_version(), dist_size / 1024, ) f.write(content) os.chmod(os.path.join(DEBIAN_dir, "control"), 0o644) # pre install script with open(os.path.join(DEBIAN_dir, "preinst"), "w") as f: content = """\ #!/bin/sh echo 'SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="plugdev", MODE="0664"' > /etc/udev/rules.d/10-libuvc.rules udevadm trigger""" f.write(content) os.chmod(os.path.join(DEBIAN_dir, "preinst"), 0o755) # bin_starter script