Update Makefile

deb build now includes Pojav's JRE and now use the same entitlements as
ipa (need test!)
Potential fix for TrollStore arm64e: remove all entitlements from dylib
This commit is contained in:
Duy Tran Khanh committed 2022-11-27 20:33:31 +07:00
1 parent 73ba8c0819
commit 118cf149a3
7 files changed
+68 -92

No files matched your search

+1 -1
View File
@@ -4,7 +4,7 @@ Maintainer: PojavLauncherTeam <https://discord.gg/6RpEJda>
Author: DuyKhanhTran
Architecture: iphoneos-arm
Version: 2.1
Depends: openjdk-8-jre | openjdk-16-jre | openjdk-8-jdk | openjdk-16-jdk, firmware (>= 12.0), firmware (<< 15.0)
Depends: firmware (>= 12.0), firmware (<< 15.0)
Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release, net.kdt.pojavlauncher.release-rootless, net.kdt.pojavlauncher.development-rootless
Replaces: pojavlauncher-dev, pojavlauncher
Section: Games
+1 -1
View File
@@ -4,7 +4,7 @@ Maintainer: PojavLauncherTeam <https://discord.gg/6RpEJda>
Author: DuyKhanhTran
Architecture: iphoneos-arm64
Version: 2.1
Depends: openjdk-8-jre | openjdk-16-jre | openjdk-8-jdk | openjdk-16-jdk, firmware (>= 15.0)
Depends: firmware (>= 15.0)
Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release, net.kdt.pojavlauncher.release-rootless, net.kdt.pojavlauncher.development
Replaces: pojavlauncher-dev, pojavlauncher
Section: Games
+1 -1
View File
@@ -4,7 +4,7 @@ Maintainer: PojavLauncherTeam <https://discord.gg/6RpEJda>
Author: DuyKhanhTran
Architecture: iphoneos-arm
Version: 2.1
Depends: openjdk-8-jre | openjdk-16-jre | openjdk-8-jdk | openjdk-16-jdk, firmware (>= 12.0), firmware (<< 15.0)
Depends: firmware (>= 12.0), firmware (<< 15.0)
Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release-rootless, net.kdt.pojavlauncher.development, net.kdt.pojavlauncher.development-rootless
Replaces: pojavlauncher, pojavlauncher-dev
Section: Games
+1 -1
View File
@@ -4,7 +4,7 @@ Maintainer: PojavLauncherTeam <https://discord.gg/6RpEJda>
Author: DuyKhanhTran
Architecture: iphoneos-arm
Version: 2.1
Depends: openjdk-8-jre | openjdk-16-jre | openjdk-8-jdk | openjdk-16-jdk, firmware (>= 15.0)
Depends: firmware (>= 15.0)
Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release, net.kdt.pojavlauncher.development, net.kdt.pojavlauncher.development-rootless
Replaces: pojavlauncher, pojavlauncher-dev
Section: Games
+38 -35
View File
@@ -98,7 +98,8 @@ PACKAGING = \
cp -r $(OUTPUTDIR)/PojavLauncher.app Applications/PojavLauncher.app; \
cp $(SOURCEDIR)/DEBIAN/control.$(1) DEBIAN/control; \
cp $(SOURCEDIR)/DEBIAN/postinst DEBIAN/postinst; \
ldid -S$(SOURCEDIR)/entitlements.xml Applications/PojavLauncher.app; \
ldid -S Applications/PojavLauncher.app; \
ldid -S$(SOURCEDIR)/entitlements.xml Applications/PojavLauncher.app/PojavLauncher; \
cd $(OUTPUTDIR); \
fakeroot dpkg-deb -Zxz -b $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)_$(VERSION)_iphoneos-arm; \
mkdir -p $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)-rootless_$(VERSION)_iphoneos-arm64; \
@@ -115,7 +116,8 @@ PACKAGING = \
cp -r $(OUTPUTDIR)/PojavLauncher.app $(IOS15PREF)/Applications/PojavLauncher.app; \
cp -r $(SOURCEDIR)/DEBIAN/control.$(1)-rootless DEBIAN/control; \
cp $(SOURCEDIR)/DEBIAN/postinst DEBIAN/postinst; \
ldid -S$(SOURCEDIR)/entitlements.xml $(IOS15PREF)/Applications/PojavLauncher.app; \
ldid -S $(IOS15PREF)/Applications/PojavLauncher.app; \
ldid -S$(SOURCEDIR)/entitlements.xml $(IOS15PREF)/Applications/PojavLauncher.app/PojavLauncher; \
cd $(OUTPUTDIR); \
fakeroot dpkg-deb -Zxz -b $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)-rootless_$(VERSION)_iphoneos-arm64
@@ -292,7 +294,40 @@ extras:
fi
@echo 'Building PojavLauncher $(VERSION) - EXTRAS - End'
deb: native java extras
jre:
@mkdir -p $(SOURCEDIR)/depends; \
cd $(SOURCEDIR)/depends; \
if [ ! -f "java-8-openjdk" ] && [ ! -f "$(ls ../jre8-*.tar.xz)" ]; then \
if [ "$(RUNNER)" != "1" ]; then \
wget 'https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch/releases/download/jre8-40df388/jre8-arm64-20220811-release.tar.xz' -q --show-progress; \
fi; \
mkdir java-8-openjdk && cd java-8-openjdk; \
tar xvf ../jre8-*.tar.xz; \
rm ../jre8-*.tar.xz; \
fi; \
cd $(SOURCEDIR)/depends; \
if [ ! -f "java-17-openjdk" ] && [ ! -f "$(ls ../jre17-*.tar.xz)" ]; then \
if [ "$(RUNNER)" != "1" ]; then \
wget 'https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch/releases/download/jre17-ca01427/jre17-arm64-20220817-release.tar.xz' -q --show-progress; \
fi; \
mkdir java-17-openjdk && cd java-17-openjdk; \
tar xvf ../jre17-*.tar.xz; \
rm ../jre17-*.tar.xz; \
fi; \
cd ..; \
mkdir -p $(OUTPUTDIR); \
cd $(OUTPUTDIR); \
$(call DIRCHECK,$(OUTPUTDIR)/Payload); \
cp -R $(POJAV_BUNDLE_DIR) $(OUTPUTDIR)/Payload; \
$(call DIRCHECK,$(OUTPUTDIR)/Payload/PojavLauncher.app/jvm); \
cp -R $(POJAV_JRE8_DIR) $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/; \
cp -R $(POJAV_JRE17_DIR) $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/; \
rm -rf $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/*/{bin,include,jre,lib/{ct.sym,libjsig.dylib,src.zip,tools.jar}}; \
cp $(OUTPUTDIR)/Payload/PojavLauncher.app/Frameworks/libawt_xawt.dylib $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/java-17-openjdk/lib/; \
cp $(OUTPUTDIR)/Payload/PojavLauncher.app/Frameworks/libawt_xawt.dylib $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/java-8-openjdk/lib/; \
rm $(OUTPUTDIR)/Payload/PojavLauncher.app/Frameworks/libawt_*.dylib; \
deb: native java extras jre
@echo 'Building PojavLauncher $(VERSION) - DEB - Start'
@if [ '$(IOS)' = '1' ]; then \
mkdir -p $(WORKINGDIR)/PojavLauncher.app/{Frameworks,Base.lproj}; \
@@ -328,38 +363,6 @@ dsym: deb
ipa: dsym
echo 'Building PojavLauncher $(VERSION) - IPA - Start'
@mkdir -p $(SOURCEDIR)/depends; \
cd $(SOURCEDIR)/depends; \
if [ ! -f "java-8-openjdk/bin/java" ] && [ ! -f "$(ls ../jre8-*.tar.xz)" ]; then \
if [ "$(RUNNER)" != "1" ]; then \
wget 'https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch/releases/download/jre8-40df388/jre8-arm64-20220811-release.tar.xz' -q --show-progress; \
fi; \
mkdir java-8-openjdk && cd java-8-openjdk; \
tar xvf ../jre8-*.tar.xz; \
rm ../jre8-*.tar.xz; \
fi; \
cd $(SOURCEDIR)/depends; \
if [ ! -f "java-17-openjdk/bin/java" ] && [ ! -f "$(ls ../jre17-*.tar.xz)" ]; then \
if [ "$(RUNNER)" != "1" ]; then \
wget 'https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch/releases/download/jre17-ca01427/jre17-arm64-20220817-release.tar.xz' -q --show-progress; \
fi; \
mkdir java-17-openjdk && cd java-17-openjdk; \
tar xvf ../jre17-*.tar.xz; \
rm ../jre17-*.tar.xz; \
fi; \
cd ..; \
mkdir -p $(OUTPUTDIR); \
cd $(OUTPUTDIR); \
$(call DIRCHECK,$(OUTPUTDIR)/Payload); \
cp -R $(POJAV_BUNDLE_DIR) $(OUTPUTDIR)/Payload; \
$(call DIRCHECK,$(OUTPUTDIR)/Payload/PojavLauncher.app/jvm); \
cp -R $(POJAV_JRE8_DIR) $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/; \
cp -R $(POJAV_JRE17_DIR) $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/; \
rm -rf $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/*/{bin,include,jre,lib/{ct.sym,libjsig.dylib,src.zip,tools.jar}}; \
cp $(OUTPUTDIR)/Payload/PojavLauncher.app/Frameworks/libawt_xawt.dylib $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/java-17-openjdk/lib/; \
cp $(OUTPUTDIR)/Payload/PojavLauncher.app/Frameworks/libawt_xawt.dylib $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/java-8-openjdk/lib/; \
rm $(OUTPUTDIR)/Payload/PojavLauncher.app/Frameworks/libawt_*.dylib; \
ldid -S$(SOURCEDIR)/entitlements_ipa.xml $(OUTPUTDIR)/Payload/PojavLauncher.app/PojavLauncher; \
rm -f $(OUTPUTDIR)/*.ipa; \
cd $(OUTPUTDIR); \
chmod -R 755 Payload; \
+26 -13
View File
@@ -1,27 +1,40 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>get-task-allow</key>
<true/>
<key>com.apple.developer.kernel.extended-virtual-addressing</key>
<true/>
<key>com.apple.developer.kernel.increased-memory-limit</key>
<true/>
<key>com.apple.private.security.container-required</key>
<true/>
<key>com.apple.security.exception.files.absolute-path.read-write</key>
<array>
<string>/</string>
</array>
<key>platform-application</key>
<true/>
<key>com.apple.private.skip-library-validation</key>
<true/>
<key>get-task-allow</key>
<true/>
<key>dynamic-codesigning</key>
<!-- iOS may treat PojavLauncher as system app (if previously installed before under Debian package), which requires these entitlement -->
<key>com.apple.private.mobileinstall.upgrade-enabled</key>
<true/>
<!-- Give ability to change Jetsam task limit by itself -->
<key>com.apple.private.memorystatus</key>
<true/>
<!-- Disable sandbox so that PojavLauncher can enable JIT by itself -->
<key>com.apple.private.security.no-sandbox</key>
<true/>
<!-- The following entitlements are required if sandbox is disabled -->
<key>com.apple.private.security.storage.AppDataContainers</key>
<true/>
<key>com.apple.private.security.storage.MobileDocuments</key>
<true/>
<key>com.apple.security.iokit-user-client-class</key>
<array>
<string>IOSurfaceRootUserClient</string>
<string>AGXDeviceUserClient</string>
<string>AGXSharedUserClient</string>
<string>AGXCommandQueue</string>
<string>AGXDevice</string>
</array>
<key>platform-application</key>
<true/>
</dict>
</plist>
-40
View File
@@ -1,40 +0,0 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>get-task-allow</key>
<true/>
<key>com.apple.developer.kernel.extended-virtual-addressing</key>
<true/>
<key>com.apple.developer.kernel.increased-memory-limit</key>
<true/>
<!-- iOS may treat PojavLauncher as system app (if previously installed before under Debian package), which requires these entitlement -->
<key>com.apple.private.mobileinstall.upgrade-enabled</key>
<true/>
<!-- Give ability to change Jetsam task limit by itself -->
<key>com.apple.private.memorystatus</key>
<true/>
<!-- Disable sandbox so that PojavLauncher can enable JIT by itself -->
<key>com.apple.private.security.no-sandbox</key>
<true/>
<!-- The following entitlements are required if sandbox is disabled -->
<key>com.apple.private.security.storage.AppDataContainers</key>
<true/>
<key>com.apple.private.security.storage.MobileDocuments</key>
<true/>
<key>com.apple.security.iokit-user-client-class</key>
<array>
<string>IOSurfaceRootUserClient</string>
<string>AGXDeviceUserClient</string>
<string>AGXSharedUserClient</string>
<string>AGXCommandQueue</string>
<string>AGXDevice</string>
</array>
<key>platform-application</key>
<true/>
</dict>
</plist>