build script and github actions for rootful and rootless builds
This commit is contained in:
parent
91e167e25d
commit
1d8626ae9b
|
@ -0,0 +1,64 @@
|
||||||
|
name: Theos CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- created
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: macos-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Theos Setup (Check Cache)
|
||||||
|
id: verify-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=heads::`git ls-remote https://github.com/roothide/theos | head -n 1 | cut -f 1`-`git ls-remote https://github.com/xybp888/iOS-SDKs | head -n 1 | cut -f 1`"
|
||||||
|
|
||||||
|
- name: Theos Setup (Use Cache)
|
||||||
|
id: cache
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ github.workspace }}/theos
|
||||||
|
key: ${{ runner.os }}-${{ steps.verify-cache.outputs.heads }}
|
||||||
|
|
||||||
|
- name: Theos Setup (Setup)
|
||||||
|
uses: NyaMisty/theos-action@master
|
||||||
|
with:
|
||||||
|
theos-src: https://github.com/roothide/theos
|
||||||
|
theos-sdks: https://github.com/xybp888/iOS-SDKs
|
||||||
|
|
||||||
|
- name: Get tag
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
||||||
|
id: tag
|
||||||
|
uses: dawidd6/action-get-tag@v1
|
||||||
|
|
||||||
|
- name: Build Release package - Rootful
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
||||||
|
run: |
|
||||||
|
cd screendumpLowFrame
|
||||||
|
make clean
|
||||||
|
TAGNAME=${{ steps.tag.outputs.tag }}
|
||||||
|
make package FINALPACKAGE=1 PACKAGE_VERSION=${TAGNAME#v}-rootful
|
||||||
|
- name: Build Release package - Rootless
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
||||||
|
run: |
|
||||||
|
cd screendumpLowFrame
|
||||||
|
make clean
|
||||||
|
TAGNAME=${{ steps.tag.outputs.tag }}
|
||||||
|
make package THEOS_PACKAGE_SCHEME=rootless FINALPACKAGE=1 PACKAGE_VERSION=${TAGNAME#v}-rootless
|
||||||
|
|
||||||
|
- name: Release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
${{ github.workspace }}/screendumpLowFrame/packages/*.deb
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@ -2,7 +2,11 @@ TARGET = iphone:16.5:14.0
|
||||||
|
|
||||||
include $(THEOS)/makefiles/common.mk
|
include $(THEOS)/makefiles/common.mk
|
||||||
|
|
||||||
|
ifeq ($(THEOS_PACKAGE_SCHEME),rootless)
|
||||||
PACKAGE_BUILDNAME := rootless
|
PACKAGE_BUILDNAME := rootless
|
||||||
|
else
|
||||||
|
PACKAGE_BUILDNAME := rootful
|
||||||
|
endif
|
||||||
|
|
||||||
TOOL_NAME = screendumpd
|
TOOL_NAME = screendumpd
|
||||||
$(TOOL_NAME)_FILES = main.mm
|
$(TOOL_NAME)_FILES = main.mm
|
||||||
|
@ -24,3 +28,14 @@ include $(THEOS_MAKE_PATH)/tool.mk
|
||||||
SUBPROJECTS += hooks
|
SUBPROJECTS += hooks
|
||||||
|
|
||||||
include $(THEOS_MAKE_PATH)/aggregate.mk
|
include $(THEOS_MAKE_PATH)/aggregate.mk
|
||||||
|
|
||||||
|
ifeq ($(THEOS_PACKAGE_SCHEME),rootless)
|
||||||
|
after-screendumpd-stage::
|
||||||
|
$(ECHO_NOTHING) rm $(THEOS_STAGING_DIR)/Library/LaunchDaemons/com.julioverne.screendumpd.plist$(ECHO_END)
|
||||||
|
$(ECHO_NOTHING) mv $(THEOS_STAGING_DIR)/Library/LaunchDaemons/com.julioverne.screendumpd.rootless.plist $(THEOS_STAGING_DIR)/Library/LaunchDaemons/com.julioverne.screendumpd.plist$(ECHO_END)
|
||||||
|
$(ECHO_NOTHING)$(FAKEROOT) chown root:wheel $(THEOS_STAGING_DIR)/Library/LaunchDaemons/com.julioverne.screendumpd.plist$(ECHO_END)
|
||||||
|
else
|
||||||
|
after-screendumpd-stage::
|
||||||
|
$(ECHO_NOTHING) rm $(THEOS_STAGING_DIR)/Library/LaunchDaemons/com.julioverne.screendumpd.rootless.plist$(ECHO_END)
|
||||||
|
$(ECHO_NOTHING)$(FAKEROOT) chown root:wheel $(THEOS_STAGING_DIR)/Library/LaunchDaemons/com.julioverne.screendumpd.plist$(ECHO_END)
|
||||||
|
endif
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo "Building package for ROOTLESS Jailbreak"
|
|
||||||
export THEOS_PACKAGE_SCHEME=rootless
|
|
||||||
|
|
||||||
make clean
|
|
||||||
make package FINALPACKAGE=1
|
|
||||||
|
|
||||||
unset THEOS_PACKAGE_SCHEME
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Building package for ROOTFUL Jailbreak"
|
||||||
|
|
||||||
|
make clean
|
||||||
|
make package FINALPACKAGE=1
|
||||||
|
|
||||||
|
echo "Building package for ROOTLESS Jailbreak"
|
||||||
|
|
||||||
|
make clean
|
||||||
|
make package FINALPACKAGE=1 THEOS_PACKAGE_SCHEME=rootless
|
|
@ -2,6 +2,7 @@ TARGET = iphone:16.5:14.0
|
||||||
|
|
||||||
include $(THEOS)/makefiles/common.mk
|
include $(THEOS)/makefiles/common.mk
|
||||||
|
|
||||||
|
|
||||||
TWEAK_NAME = screendumpbb
|
TWEAK_NAME = screendumpbb
|
||||||
$(TWEAK_NAME)_FILES = Tweak.xm
|
$(TWEAK_NAME)_FILES = Tweak.xm
|
||||||
$(TWEAK_NAME)_FRAMEWORKS := IOSurface IOKit
|
$(TWEAK_NAME)_FRAMEWORKS := IOSurface IOKit
|
||||||
|
|
|
@ -7,8 +7,6 @@
|
||||||
|
|
||||||
#undef NSLog
|
#undef NSLog
|
||||||
|
|
||||||
#define kSettingsPath @"/var/jb/var/mobile/Library/Preferences/com.cosmosgenius.screendump.plist"
|
|
||||||
|
|
||||||
extern "C" UIImage* _UICreateScreenUIImage();
|
extern "C" UIImage* _UICreateScreenUIImage();
|
||||||
|
|
||||||
static BOOL isEnabled;
|
static BOOL isEnabled;
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -L "/var/jb" ]; then
|
||||||
launchctl unload /var/jb/Library/LaunchDaemons/com.julioverne.screendumpd.plist
|
launchctl unload /var/jb/Library/LaunchDaemons/com.julioverne.screendumpd.plist
|
||||||
launchctl load /var/jb/Library/LaunchDaemons/com.julioverne.screendumpd.plist
|
launchctl load /var/jb/Library/LaunchDaemons/com.julioverne.screendumpd.plist
|
||||||
|
else
|
||||||
|
launchctl unload /Library/LaunchDaemons/com.julioverne.screendumpd.plist
|
||||||
|
launchctl load /Library/LaunchDaemons/com.julioverne.screendumpd.plist
|
||||||
|
fi
|
||||||
|
|
||||||
exit 0;
|
exit 0;
|
|
@ -1,5 +1,9 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -L "/var/jb" ]; then
|
||||||
launchctl unload /var/jb/Library/LaunchDaemons/com.julioverne.screendumpd.plist
|
launchctl unload /var/jb/Library/LaunchDaemons/com.julioverne.screendumpd.plist
|
||||||
|
else
|
||||||
|
launchctl unload /Library/LaunchDaemons/com.julioverne.screendumpd.plist
|
||||||
|
fi
|
||||||
|
|
||||||
exit 0;
|
exit 0;
|
|
@ -6,7 +6,7 @@
|
||||||
<string>com.julioverne.screendumpd</string>
|
<string>com.julioverne.screendumpd</string>
|
||||||
<key>ProgramArguments</key>
|
<key>ProgramArguments</key>
|
||||||
<array>
|
<array>
|
||||||
<string>/var/jb/usr/libexec/screendumpd</string>
|
<string>/usr/libexec/screendumpd</string>
|
||||||
</array>
|
</array>
|
||||||
<key>RunAtLoad</key>
|
<key>RunAtLoad</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>Label</key>
|
||||||
|
<string>com.julioverne.screendumpd</string>
|
||||||
|
<key>ProgramArguments</key>
|
||||||
|
<array>
|
||||||
|
<string>/var/jb/usr/libexec/screendumpd</string>
|
||||||
|
</array>
|
||||||
|
<key>RunAtLoad</key>
|
||||||
|
<true/>
|
||||||
|
<key>KeepAlive</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -5,8 +5,6 @@
|
||||||
#import <IOSurface/IOSurfaceRef.h>
|
#import <IOSurface/IOSurfaceRef.h>
|
||||||
#import <rootless.h>
|
#import <rootless.h>
|
||||||
|
|
||||||
#define kSettingsPath @"/var/jb/var/mobile/Library/Preferences/com.cosmosgenius.screendump.plist"
|
|
||||||
|
|
||||||
static bool CCSisEnabled = true;
|
static bool CCSisEnabled = true;
|
||||||
static NSString *CCSPassword = nil;
|
static NSString *CCSPassword = nil;
|
||||||
static rfbScreenInfoPtr screen;
|
static rfbScreenInfoPtr screen;
|
||||||
|
|
Loading…
Reference in New Issue