This commit is contained in:
Cryptiiiic 2021-08-25 02:46:39 -07:00
parent 634d811c64
commit 93266082f8
No known key found for this signature in database
GPG key ID: 6027B509EFE3A76B
6 changed files with 85 additions and 727 deletions

View file

@ -50,34 +50,30 @@ jobs:
name: futurerestore-macOS-arm64
path: |
/Users/runner/work/futurerestore/futurerestore/.github/workflows/futurerestore-*.tar.xz
# ubuntu:
# runs-on: ubuntu-20.04
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# with:
# submodules: 'true'
# fetch-depth: 0
# - name: Install LLVM
# uses: KyleMayes/install-llvm-action@v1
# with:
# version: "12.0.0"
# force-version: true
# ubuntu-version: "20.04"
# directory: /home/runner/work/futurerestore/futurerestore/.github/llvm
# - name: Symlink LLVM
# if: contains(matrix.os, 'ubuntu')
# run: sudo ln -s libclang-12.so.1 /lib/x86_64-linux-gnu/libclang.so
# working-directory: ${{ env.LLVM_PATH }}/lib
# - name: Ubuntu Build
# id: ubuntu
# run: |
# cd /home/runner/work/futurerestore/futurerestore/.github/workflows
# ./ubuntu.sh
# - name: Archive
# id: archive
# uses: actions/upload-artifact@v2
# with:
# name: futurerestore-Ubuntu
# path: |
# /home/runner/work/futurerestore/futurerestore/.github/workflows/futurerestore-*.tar.xz
linux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: 'true'
fetch-depth: 0
- name: Linux Build
id: linux
uses: addnab/docker-run-action@v3
with:
image: debian:buster-slim
options: -v ${{ github.workspace }}/..:/tmp/build/
run: |
/tmp/build/futurerestore/.github/workflows/linux.sh
- name: Linux Copy
run: |
export FUTURERESTORE_VERSION_RELEASE=$(cat /home/runner/work/futurerestore/futurerestore/version.txt | tr -d '\n')
docker cp $(docker ps -ql):/tmp/build/futurerestore-${FUTURERESTORE_VERSION_RELEASE}-linux.tar.xz /home/runner/work/futurerestore/futurerestore/.github/workflows/
- name: Archive
id: archive
uses: actions/upload-artifact@v2
with:
name: futurerestore-linux
path: |
/home/runner/work/futurerestore/futurerestore/.github/workflows/futurerestore-*.tar.xz

57
.github/workflows/linux.sh vendored Executable file
View file

@ -0,0 +1,57 @@
#!/usr/bin/env bash
echo 'step 1:'
set -e
export DIR=$(pwd)
export BASE=/tmp/build/
export C_ARGS="-fPIC -static"
export CXX_ARGS="-fPIC -static"
export LD_ARGS="-Wl,--allow-multiple-definition -static -L/usr/lib/x86_64-linux-gnu -L/tmp/out/lib"
export C_ARGS2="-fPIC"
export CXX_ARGS2="-fPIC"
export LD_ARGS2="-Wl,--allow-multiple-definition -L/usr/lib/x86_64-linux-gnu -L/tmp/out/lib"
export PKG_CFG="/tmp/out/lib/pkgconfig"
export CC_ARGS="CC=/usr/bin/clang-13 CXX=/usr/bin/clang++-13 LD=/usr/bin/ld.lld-13 RANLIB=/usr/bin/ranlib AR=/usr/bin/ar"
export CONF_ARGS="--prefix=/tmp/out --disable-dependency-tracking --disable-silent-rules --disable-debug --without-cython --disable-shared"
export CMAKE_ARGS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_CROSSCOMPILING=true -DCMAKE_C_FLAGS=${C_ARGS} -DCMAKE_CXX_FLAGS=${CXX_ARGS} -DCMAKE_SHARED_LINKER_FLAGS=${LD_ARGS} -DCMAKE_STATIC_LINKER_FLAGS=${LD_ARGS} -DCMAKE_INSTALL_PREFIX=/tmp/out -DBUILD_SHARED_LIBS=0 -Wno-dev"
export JNUM="-j$(($(nproc) / 2))"
export LNUM="-l$(($(nproc) / 2))"
cd ${BASE}
sed -i 's/deb\.debian\.org/ftp.de.debian.org/g' /etc/apt/sources.list
apt-get -qq update
apt-get -yqq dist-upgrade
apt-get install --no-install-recommends -yqq curl gnupg2 zstd lsb-release wget software-properties-common build-essential git autoconf automake libtool-bin pkg-config cmake zlib1g-dev libminizip-dev libpng-dev libreadline-dev libbz2-dev libudev-dev libudev1
curl -sO https://linux.cryptiiiic.com/CI-Scripts/linux.sh
chmod +x linux.sh
if [[ "$(file linux.sh)" == "linux.sh: Bourne-Again shell script, ASCII text executable" ]]
then
./linux.sh
else
cp -LRP /usr/bin/ld ~/
rm -rf /usr/bin/ld /usr/lib/x86_64-linux-gnu/lib{usb-1.0,png*}.so*
curl -sO https://apt.llvm.org/llvm.sh
chmod 0755 llvm.sh
./llvm.sh 13
ln -sf /usr/bin/ld.lld-13 /usr/bin/ld
echo 'step 2:'
curl -sO https://linux.cryptiiiic.com/CI-Scripts/linux.tar.zst
zstd -dk linux.tar.zst
tar xf ${BASE}/linux.tar -C / --warning=none || true || true
echo 'step 3:'
cd ${BASE}/futurerestore
export FUTURERESTORE_VERSION_RELEASE=$(cat version.txt | tr -d '\n')
git submodule init; git submodule update --recursive
cd external/tsschecker
git submodule init; git submodule update --recursive
cd ${BASE}/futurerestore
echo 'step 5:'
./autogen.sh ${CONF_ARGS} --enable-static ${CC_ARGS} CFLAGS="${C_ARGS2} -DIDEVICERESTORE_NOMAIN=1 -DTSSCHECKER_NOMAIN=1" LDFLAGS="${LD_ARGS2} -lpthread -ldl -lusb-1.0 -ludev -lusbmuxd-2.0 -llzfse -lcommon -lxpwn" PKG_CONFIG_PATH="${PKG_CFG}"
make $JNUM $LNUM
make $JNUM $LNUM install
echo 'step 6:'
cp /tmp/out/bin/futurerestore ${BASE}/futurerestore-${FUTURERESTORE_VERSION_RELEASE}
cd ${BASE}
tar cpJvf ${BASE}/futurerestore-${FUTURERESTORE_VERSION_RELEASE}-linux.tar.xz futurerestore-${FUTURERESTORE_VERSION_RELEASE}
ldd ${BASE}/futurerestore-${FUTURERESTORE_VERSION_RELEASE} || true
./futurerestore-${FUTURERESTORE_VERSION_RELEASE} || true
echo 'End'
fi

View file

@ -1,650 +0,0 @@
diff --git a/Makefile b/Makefile
index d2d437c..8c15b54 100644
--- a/Makefile
+++ b/Makefile
@@ -345,7 +345,7 @@ BUILD_CXXFLAGS :=
BUILD_LDFLAGS :=
else ifeq ($(UNAME),Darwin)
-ifeq ($(shell sw_vers -productName),macOS)
+ifeq ($(shell echo 1),1)
ifneq ($(MEMO_QUIET),1)
$(warning Building on MacOS)
endif # ($(MEMO_QUIET),1)
@@ -434,18 +434,18 @@ OPTIMIZATION_FLAGS := -Oz
else
OPTIMIZATION_FLAGS := -Os
ifeq ($(UNAME),Darwin)
-OPTIMIZATION_FLAGS += -flto=thin
+OPTIMIZATION_FLAGS += -fembed-bitcode=off -fno-lto
else ifeq ($(MEMO_FORCE_LTO),1)
-OPTIMIZATION_FLAGS += -flto=thin
+OPTIMIZATION_FLAGS += -fembed-bitcode=off -fno-lto
# This flag will prevent ld64 from deleting the object file needed for dsymutil to work.
# I'm not setting this on macOS because I am unsure if it is needed.
# See: clang(1)
-OPTIMIZATION_FLAGS += -Wl,-object_path_lto,/tmp/lto.o
+# OPTIMIZATION_FLAGS += -Wl,-object_path_lto,/tmp/lto.o
endif
endif
-ifdef ($(MEMO_ALT_LTO_LIB))
-OPTIMIZATION_FLAGS += -lto_library $(MEMO_ALT_LTO_LIB)
-endif
+# ifdef ($(MEMO_ALT_LTO_LIB))
+# OPTIMIZATION_FLAGS += -lto_library $(MEMO_ALT_LTO_LIB)
+# endif
CFLAGS := $(OPTIMIZATION_FLAGS) -arch $(MEMO_ARCH) -isysroot $(TARGET_SYSROOT) $(PLATFORM_VERSION_MIN) -isystem $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include -isystem $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)$(MEMO_ALT_PREFIX)/include -F$(BUILD_BASE)$(MEMO_PREFIX)/System/Library/Frameworks -F$(BUILD_BASE)$(MEMO_PREFIX)/Library/Frameworks
CXXFLAGS := $(CFLAGS)
@@ -702,17 +702,17 @@ endif
TAR := tar # TODO: remove
-ifneq ($(shell PATH=$(PATH) tar --version | grep -q GNU && echo 1),1)
+ifneq ($(shell tar --version | grep -q GNU && echo 1),1)
$(error Install GNU tar)
endif
SED := sed # TODO: remove
-ifneq ($(shell PATH=$(PATH) sed --version | grep -q GNU && echo 1),1)
+ifneq ($(shell sed --version | grep -q GNU && echo 1),1)
$(error Install GNU sed)
endif
-ifneq ($(shell PATH=$(PATH) grep --version | grep -q GNU && echo 1),1)
+ifneq ($(shell grep --version | grep -q GNU && echo 1),1)
$(error Install GNU grep)
endif
@@ -762,49 +762,49 @@ ifneq ($(call HAS_COMMAND,m4),1)
$(error Install m4)
endif
-ifneq ($(shell PATH=$(PATH) groff --version | grep -q 'version 1.2' && echo 1),1)
+ifneq ($(shell groff --version | grep -q 'version 1.2' && echo 1),1)
$(error Install newer groff)
endif
-ifneq ($(shell PATH=$(PATH) patch --version | grep -q 'GNU patch' && echo 1),1)
+ifneq ($(shell patch --version | grep -q 'GNU patch' && echo 1),1)
$(error Install GNU patch)
endif
-ifneq ($(shell PATH=$(PATH) find --version | grep -q 'GNU find' && echo 1),1)
+ifneq ($(shell find --version | grep -q 'GNU find' && echo 1),1)
$(error Install GNU findutils)
endif
-ifneq ($(shell PATH=$(PATH) rmdir --version | grep -q 'GNU coreutils' && echo 1),1)
+ifneq ($(shell rmdir --version | grep -q 'GNU coreutils' && echo 1),1)
$(error Install GNU coreutils)
endif
-ifeq ($(shell PATH=$(PATH) install --version | grep -q 'GNU coreutils' && echo 1),1)
-export INSTALL := $(shell PATH=$(PATH) which install) --strip-program=$(STRIP)
+ifeq ($(shell install --version | grep -q 'GNU coreutils' && echo 1),1)
+export INSTALL := $(shell which install) --strip-program=$(STRIP)
else
$(error Install GNU coreutils)
endif
-ifeq ($(shell PATH=$(PATH) wc --version | grep -q 'GNU coreutils' && echo 1),1)
+ifeq ($(shell wc --version | grep -q 'GNU coreutils' && echo 1),1)
WC := wc
else
$(error Install GNU coreutils)
endif
-ifeq ($(shell PATH=$(PATH) cp --version | grep -q 'GNU coreutils' && echo 1),1)
+ifeq ($(shell cp --version | grep -q 'GNU coreutils' && echo 1),1)
CP := cp
else
$(error Install GNU coreutils)
endif
export CP
-ifeq ($(shell PATH=$(PATH) ln --version | grep -q 'GNU coreutils' && echo 1),1)
+ifeq ($(shell ln --version | grep -q 'GNU coreutils' && echo 1),1)
LN := ln
else
$(error Install GNU coreutils)
endif
export LN
-ifneq ($(shell PATH=$(PATH) file -bi $(BUILD_MISC)/launchctl.1700 | grep -q 'x-mach-binary; charset=binary' && echo 1),1)
+ifneq ($(shell file -bi $(BUILD_MISC)/launchctl.1700 | grep -q 'x-mach-binary; charset=binary' && echo 1),1)
$(error Install better file from Procursus - sudo apt install file)
endif
@@ -871,11 +871,11 @@ MAKEFLAGS += --no-print-directory
ifeq ($(findstring --jobserver-auth=,$(MAKEFLAGS)),)
ifeq ($(call HAS_COMMAND,nproc),1)
-GET_LOGICAL_CORES := nproc
+GET_LOGICAL_CORES := expr $(shell nproc) / 2
else
-GET_LOGICAL_CORES := sysctl -n hw.ncpu
+GET_LOGICAL_CORES := expr $(shell sysctl -n hw.ncpu) / 2
endif
-MAKEFLAGS += --jobs=$(shell $(GET_LOGICAL_CORES))
+MAKEFLAGS += --jobs=$(shell $(GET_LOGICAL_CORES)) --load-average=$(shell $(GET_LOGICAL_CORES))
endif
PROCURSUS := 1
@@ -1011,7 +1011,7 @@ endif
echo "$(BUILD_STRAP)/$${BOOTSTRAP}"
endif # ($(MEMO_PREFIX),)
-%-package: FAKEROOT=fakeroot -i $(BUILD_STAGE)/.fakeroot_$$(echo $@ | sed 's/\(.*\)-package/\1/') -s $(BUILD_STAGE)/.fakeroot_$$(echo $@ | sed 's/\(.*\)-package/\1/') --
+%-package: FAKEROOT=fakeroot -i $(BUILD_STAGE)/.fakeroot_$* -s $(BUILD_STAGE)/.fakeroot_$* --
%-package: .SHELLFLAGS=-O extglob -c
%-stage: %
rm -f $(BUILD_STAGE)/.fakeroot_$*
@@ -1056,24 +1056,24 @@ endif
ifeq (,$(findstring darwin,$(MEMO_TARGET)))
@# Copy headers from MacOSX.sdk
- @cp -af $(MACOSX_SYSROOT)/usr/include/{arpa,bsm,net,xpc,netinet,servers} $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include
- @cp -af $(MACOSX_SYSROOT)/usr/include/objc/objc-runtime.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/objc
- @cp -af $(MACOSX_SYSROOT)/usr/include/libkern/{OSDebug.h,OSKextLib.h,OSReturn.h,OSThermalNotification.h,OSTypes.h,machine} $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/libkern
- @cp -af $(MACOSX_SYSROOT)/usr/include/kern $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include
- @cp -af $(MACOSX_SYSROOT)/usr/include/sys/{tty*,proc*,ptrace,kern*,random,reboot,user,vnode}.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/sys
- @cp -af $(MACOSX_SYSROOT)/System/Library/Frameworks/IOKit.framework/Headers/* $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/IOKit
- @cp -af $(MACOSX_SYSROOT)/usr/include/{ar,bootstrap,launch,libc,libcharset,localcharset,libproc,NSSystemDirectories,tzfile,vproc}.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include
- @cp -af $(MACOSX_SYSROOT)/usr/include/mach/{*.defs,{mach_vm,shared_region}.h} $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/mach
- @cp -af $(MACOSX_SYSROOT)/usr/include/mach/machine/*.defs $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/mach/machine
- @cp -af $(TARGET_SYSROOT)/usr/include/mach/machine/thread_state.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/mach/machine
- @cp -af $(TARGET_SYSROOT)/usr/include/mach/arm $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/mach
- @cp -af $(BUILD_INFO)/availability.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/os
+ @cp -a $(MACOSX_SYSROOT)/usr/include/{arpa,bsm,net,xpc,netinet,servers} $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include
+ @cp -a $(MACOSX_SYSROOT)/usr/include/objc/objc-runtime.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/objc
+ @cp -a $(MACOSX_SYSROOT)/usr/include/libkern/* $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/libkern
+ @cp -a $(MACOSX_SYSROOT)/usr/include/kern $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include
+ @cp -a $(MACOSX_SYSROOT)/usr/include/sys/{tty*,proc*,ptrace,kern*,random,reboot,user,vnode}.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/sys
+ @cp -a $(MACOSX_SYSROOT)/System/Library/Frameworks/IOKit.framework/Headers/* $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/IOKit
+ @cp -a $(MACOSX_SYSROOT)/usr/include/{ar,bootstrap,launch,libc,libcharset,localcharset,libproc,NSSystemDirectories,tzfile,vproc}.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include
+ @cp -a $(MACOSX_SYSROOT)/usr/include/mach/{*.defs,{mach_vm,shared_region}.h} $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/mach
+ @cp -a $(MACOSX_SYSROOT)/usr/include/mach/machine/*.defs $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/mach/machine
+ @cp $(TARGET_SYSROOT)/usr/include/mach/machine/thread_state.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/mach/machine
+ @cp -a $(TARGET_SYSROOT)/usr/include/mach/arm $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/mach
+ @cp -a $(BUILD_INFO)/availability.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/os
ifneq ($(wildcard $(BUILD_MISC)/IOKit.framework.$(PLATFORM)),)
- @cp -af $(BUILD_MISC)/IOKit.framework.$(PLATFORM) $(BUILD_BASE)/$(MEMO_PREFIX)/System/Library/Frameworks/IOKit.framework
+ @cp -a $(BUILD_MISC)/IOKit.framework.$(PLATFORM) $(BUILD_BASE)/$(MEMO_PREFIX)/System/Library/Frameworks/IOKit.framework
endif
@mkdir -p $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/CoreAudio
- @cp -af $(MACOSX_SYSROOT)/System/Library/Frameworks/CoreAudio.framework/Headers/* $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/CoreAudio
+ @cp -a $(MACOSX_SYSROOT)/System/Library/Frameworks/CoreAudio.framework/Headers/* $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/CoreAudio
@# Patch headers from iPhoneOS.sdk
@$(SED) -E s/'__IOS_PROHIBITED|__TVOS_PROHIBITED|__WATCHOS_PROHIBITED'//g < $(TARGET_SYSROOT)/usr/include/stdlib.h > $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/stdlib.h
@@ -1086,8 +1086,8 @@ endif
@$(SED) -E /'__API_UNAVAILABLE'/d < $(TARGET_SYSROOT)/usr/include/pthread.h > $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/pthread.h
@# Setup libiosexec
- @cp -af $(BUILD_MISC)/libiosexec/libiosexec.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include
- @cp -af $(BUILD_MISC)/libiosexec/libiosexec.1.tbd $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib
+ @cp -a $(BUILD_MISC)/libiosexec/libiosexec.h $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include
+ @cp -a $(BUILD_MISC)/libiosexec/libiosexec.1.tbd $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib
@ln -sf libiosexec.1.tbd $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib/libiosexec.tbd
@rm -f $(BUILD_BASE)/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib/libiosexec.*.dylib
@$(SED) -i '1s/^/#include <libiosexec.h>\n/' $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/unistd.h
diff --git a/makefiles/futurerestore.mk b/makefiles/futurerestore.mk
index e90d6e0..335eb19 100644
--- a/makefiles/futurerestore.mk
+++ b/makefiles/futurerestore.mk
@@ -3,34 +3,24 @@ $(error Use the main Makefile)
endif
SUBPROJECTS += futurerestore
-FUTURERESTORE_VERSION := 195
-FUTURERESTORE_COMMIT := 55db758b5d4d6c08daa48af9aad1abf2b6466f36
-FUTURERESTORE_IDEVICERESTORE_COMMIT := d7d9996b3910902a56462fa8d9dc5909fcf8f4c9
-DEB_FUTURERESTORE_V ?= $(FUTURERESTORE_VERSION)-1
+DEB_FUTURERESTORE_V ?= $(FUTURERESTORE_VERSION)
-futurerestore-setup: setup tsschecker-setup
- $(call GITHUB_ARCHIVE,m1stadev,futurerestore,$(FUTURERESTORE_COMMIT),$(FUTURERESTORE_COMMIT))
- $(call GITHUB_ARCHIVE,m1stadev,idevicerestore,$(FUTURERESTORE_IDEVICERESTORE_COMMIT),$(FUTURERESTORE_IDEVICERESTORE_COMMIT))
- $(call EXTRACT_TAR,futurerestore-$(FUTURERESTORE_COMMIT).tar.gz,futurerestore-$(FUTURERESTORE_COMMIT),futurerestore)
-
- -rmdir $(BUILD_WORK)/futurerestore/external/{idevicerestore,tsschecker}
- $(call EXTRACT_TAR,idevicerestore-$(FUTURERESTORE_IDEVICERESTORE_COMMIT).tar.gz,idevicerestore-$(FUTURERESTORE_IDEVICERESTORE_COMMIT),futurerestore/external/idevicerestore)
- cp -R $(BUILD_WORK)/tsschecker $(BUILD_WORK)/futurerestore/external
-
- $(SED) -i 's/git rev\-list \-\-count HEAD/printf ${FUTURERESTORE_VERSION}/g' $(BUILD_WORK)/futurerestore/configure.ac
- $(SED) -i 's/git rev\-parse HEAD/printf ${FUTURERESTORE_COMMIT}/g' $(BUILD_WORK)/futurerestore/configure.ac
+futurerestore-setup: setup
+ ln -sf ${BASE}/../../../futurerestore $(BUILD_WORK)/
ifneq ($(wildcard $(BUILD_WORK)/futurerestore/.build_complete),)
futurerestore:
@echo "Using previously built futurerestore."
else
-futurerestore: futurerestore-setup libirecovery openssl libusbmuxd libimobiledevice img4tool libgeneral libzip libfragmentzip libipatcher
+# futurerestore: futurerestore-setup openssl libplist libusbmuxd libimobiledevice libirecovery img4tool libgeneral libzip libfragmentzip libipatcher
+futurerestore: futurerestore-setup
cd $(BUILD_WORK)/futurerestore && ./autogen.sh \
$(DEFAULT_CONFIGURE_FLAGS) \
--disable-silent-rules \
- zlib_LIBS="-L$(TARGET_SYSROOT)/usr/lib -lz" \
- zlib_CFLAGS="-I$(TARGET_SYSROOT)/usr/include"
- +$(MAKE) -C $(BUILD_WORK)/futurerestore
+ libcurl_LIBS="-L$(TARGET_SYSROOT)/usr/lib -lcurl" \
+ libcurl_CFLAGS="$(CFLAGS)"
+ +$(MAKE) -C $(BUILD_WORK)/futurerestore \
+ LDFLAGS="$(LDFLAGS) -L$(TARGET_SYSROOT)/usr/lib -llzma -lbz2 -lcompression -lcurl -framework CoreFoundation -framework IOKit -L$(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib -lusbmuxd-2.0 -L$(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib/xpwn -lcommon -lxpwn"
+$(MAKE) -C $(BUILD_WORK)/futurerestore install \
DESTDIR="$(BUILD_STAGE)/futurerestore"
touch $(BUILD_WORK)/futurerestore/.build_complete
diff --git a/makefiles/gettext.mk b/makefiles/gettext.mk
index 41cd708..8140d62 100644
--- a/makefiles/gettext.mk
+++ b/makefiles/gettext.mk
@@ -30,6 +30,9 @@ gettext: gettext-setup ncurses libunistring
+$(MAKE) -C $(BUILD_WORK)/gettext install \
DESTDIR=$(BUILD_BASE)
rm -rf $(BUILD_STAGE)/gettext/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/share/gettext-*
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.a' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/gettext/.build_complete
endif
diff --git a/makefiles/img4tool.mk b/makefiles/img4tool.mk
index 36ef26d..8b028de 100644
--- a/makefiles/img4tool.mk
+++ b/makefiles/img4tool.mk
@@ -20,12 +20,14 @@ img4tool:
else
img4tool: img4tool-setup openssl libplist libgeneral
cd $(BUILD_WORK)/img4tool && ./autogen.sh \
- $(DEFAULT_CONFIGURE_FLAGS)
- +$(MAKE) -C $(BUILD_WORK)/img4tool
+ $(DEFAULT_CONFIGURE_FLAGS) \
+ --disable-shared
+$(MAKE) -C $(BUILD_WORK)/img4tool install \
DESTDIR="$(BUILD_STAGE)/img4tool"
+$(MAKE) -C $(BUILD_WORK)/img4tool install \
DESTDIR="$(BUILD_BASE)"
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/img4tool/.build_complete
endif
diff --git a/makefiles/libfragmentzip.mk b/makefiles/libfragmentzip.mk
index 7dcbcc8..82b6b87 100644
--- a/makefiles/libfragmentzip.mk
+++ b/makefiles/libfragmentzip.mk
@@ -19,16 +19,19 @@ ifneq ($(wildcard $(BUILD_WORK)/libfragmentzip/.build_complete),)
libfragmentzip:
@echo "Using previously built libfragmentzip."
else
-libfragmentzip: libfragmentzip-setup libgeneral libzip curl
+libfragmentzip: libfragmentzip-setup libgeneral libzip
cd $(BUILD_WORK)/libfragmentzip && ./autogen.sh \
$(DEFAULT_CONFIGURE_FLAGS) \
- zlib_LIBS="-L$(TARGET_SYSROOT)/usr/lib -lz" \
- zlib_CFLAGS="-I$(TARGET_SYSROOT)/usr/include"
- +$(MAKE) -C $(BUILD_WORK)/libfragmentzip
+ --disable-shared \
+ curl_LIBS="-L$(TARGET_SYSROOT)/usr/lib -lcurl" \
+ curl_CFLAGS="$(CFLAGS)"
+$(MAKE) -C $(BUILD_WORK)/libfragmentzip install \
DESTDIR="$(BUILD_STAGE)/libfragmentzip"
+$(MAKE) -C $(BUILD_WORK)/libfragmentzip install \
DESTDIR="$(BUILD_BASE)"
+ $(SED) -i '8d' $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib/pkgconfig/libfragmentzip.pc
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/libfragmentzip/.build_complete
endif
diff --git a/makefiles/libgeneral.mk b/makefiles/libgeneral.mk
index 0c1147c..5f44723 100644
--- a/makefiles/libgeneral.mk
+++ b/makefiles/libgeneral.mk
@@ -20,12 +20,14 @@ libgeneral:
else
libgeneral: libgeneral-setup
cd $(BUILD_WORK)/libgeneral && ./autogen.sh \
- $(DEFAULT_CONFIGURE_FLAGS)
- +$(MAKE) -C $(BUILD_WORK)/libgeneral
+ $(DEFAULT_CONFIGURE_FLAGS) \
+ --disable-shared
+$(MAKE) -C $(BUILD_WORK)/libgeneral install \
DESTDIR="$(BUILD_STAGE)/libgeneral"
+$(MAKE) -C $(BUILD_WORK)/libgeneral install \
DESTDIR="$(BUILD_BASE)"
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/libgeneral/.build_complete
endif
diff --git a/makefiles/libimobiledevice.mk b/makefiles/libimobiledevice.mk
index aede911..9d885b2 100644
--- a/makefiles/libimobiledevice.mk
+++ b/makefiles/libimobiledevice.mk
@@ -19,11 +19,18 @@ libimobiledevice: libimobiledevice-setup libusbmuxd libplist openssl
cd $(BUILD_WORK)/libimobiledevice && ./autogen.sh \
$(DEFAULT_CONFIGURE_FLAGS) \
--without-cython
+ cd $(BUILD_WORK)/libimobiledevice/include
+ +$(MAKE) -C $(BUILD_WORK)/libimobiledevice
+ cd $(BUILD_WORK)/libimobiledevice/common
+ +$(MAKE) -C $(BUILD_WORK)/libimobiledevice
+ cd $(BUILD_WORK)/libimobiledevice/src
+$(MAKE) -C $(BUILD_WORK)/libimobiledevice
+$(MAKE) -C $(BUILD_WORK)/libimobiledevice install \
- DESTDIR="$(BUILD_STAGE)/libimobiledevice"
+ DESTDIR="$(BUILD_STAGE)"
+$(MAKE) -C $(BUILD_WORK)/libimobiledevice install \
DESTDIR="$(BUILD_BASE)"
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/libimobiledevice/.build_complete
endif
diff --git a/makefiles/libinsn.mk b/makefiles/libinsn.mk
index daeed3e..aa5f330 100644
--- a/makefiles/libinsn.mk
+++ b/makefiles/libinsn.mk
@@ -20,12 +20,14 @@ libinsn:
else
libinsn: libinsn-setup libgeneral
cd $(BUILD_WORK)/libinsn && ./autogen.sh \
- $(DEFAULT_CONFIGURE_FLAGS)
- +$(MAKE) -C $(BUILD_WORK)/libinsn
+ $(DEFAULT_CONFIGURE_FLAGS) \
+ --disable-shared
+$(MAKE) -C $(BUILD_WORK)/libinsn install \
DESTDIR="$(BUILD_STAGE)/libinsn"
+$(MAKE) -C $(BUILD_WORK)/libinsn install \
DESTDIR="$(BUILD_BASE)"
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/libinsn/.build_complete
endif
diff --git a/makefiles/libipatcher.mk b/makefiles/libipatcher.mk
index 73364b3..ec56ae0 100644
--- a/makefiles/libipatcher.mk
+++ b/makefiles/libipatcher.mk
@@ -3,13 +3,13 @@ $(error Use the main Makefile)
endif
SUBPROJECTS += libipatcher
-LIBIPATCHER_VERSION := 81
-LIBIPATCHER_COMMIT := ad44d0da23f5120c3c77a72062bd627c50f37e71
-DEB_LIBIPATCHER_V ?= $(LIBIPATCHER_VERSION)-1
+LIBIPATCHER_VERSION := 83
+LIBIPATCHER_COMMIT := 49d26904d0c1cf001effb3aa07c3be20225c3b52
+DEB_LIBIPATCHER_V ?= $(LIBIPATCHER_VERSION)
libipatcher-setup: setup
- $(call GITHUB_ARCHIVE,tihmstar,libipatcher,$(LIBIPATCHER_VERSION),$(LIBIPATCHER_VERSION))
- $(call EXTRACT_TAR,libipatcher-$(LIBIPATCHER_VERSION).tar.gz,libipatcher-$(LIBIPATCHER_VERSION),libipatcher)
+ $(call GITHUB_ARCHIVE,Cryptiiiic,libipatcher,$(LIBIPATCHER_COMMIT),$(LIBIPATCHER_COMMIT))
+ $(call EXTRACT_TAR,libipatcher-$(LIBIPATCHER_COMMIT).tar.gz,libipatcher-$(LIBIPATCHER_COMMIT),libipatcher)
$(call GITHUB_ARCHIVE,tihmstar,iBoot32Patcher,master,master)
$(call GITHUB_ARCHIVE,tihmstar,jssy,master,master)
@@ -27,9 +27,10 @@ ifneq ($(wildcard $(BUILD_WORK)/libipatcher/.build_complete),)
libipatcher:
@echo "Using previously built libipatcher."
else
-libipatcher: libipatcher-setup libpng16 openssl img4tool liboffsetfinder64 libgeneral libplist curl xpwn
+libipatcher: libipatcher-setup libpng16 openssl img4tool liboffsetfinder64 libgeneral libplist xpwn
cd $(BUILD_WORK)/libipatcher && ./autogen.sh \
$(DEFAULT_CONFIGURE_FLAGS) \
+ --disable-shared \
CFLAGS="$(CFLAGS) -I$(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/xpwn" \
CPPFLAGS="$(CPPFLAGS) -I$(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/xpwn" \
LDFLAGS="$(LDFLAGS) -L$(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib/xpwn"
@@ -39,6 +40,8 @@ libipatcher: libipatcher-setup libpng16 openssl img4tool liboffsetfinder64 libge
DESTDIR="$(BUILD_STAGE)/libipatcher"
+$(MAKE) -C $(BUILD_WORK)/libipatcher install \
DESTDIR="$(BUILD_BASE)"
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/libipatcher/.build_complete
endif
diff --git a/makefiles/libirecovery.mk b/makefiles/libirecovery.mk
index d261c12..81e63c8 100644
--- a/makefiles/libirecovery.mk
+++ b/makefiles/libirecovery.mk
@@ -15,16 +15,20 @@ ifneq ($(wildcard $(BUILD_WORK)/libirecovery/.build_complete),)
libirecovery:
@echo "Using previously built libirecovery."
else
-libirecovery: libirecovery-setup readline libusb
+libirecovery: libirecovery-setup libimobiledevice
cd $(BUILD_WORK)/libirecovery && ./autogen.sh \
$(DEFAULT_CONFIGURE_FLAGS) \
- --with-iokit=no
- +$(MAKE) -C $(BUILD_WORK)/libirecovery \
- CFLAGS="$(CFLAGS) -I$(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/libusb-1.0"
+ --with-iokit=yes \
+ --disable-shared
+ cd $(BUILD_WORK)/libirecovery/include
+ +$(MAKE) -C $(BUILD_WORK)/libirecovery
+ cd $(BUILD_WORK)/libirecovery/src
+$(MAKE) -C $(BUILD_WORK)/libirecovery install \
DESTDIR=$(BUILD_STAGE)/libirecovery
+$(MAKE) -C $(BUILD_WORK)/libirecovery install \
DESTDIR=$(BUILD_BASE)
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/libirecovery/.build_complete
endif
diff --git a/makefiles/liboffsetfinder64.mk b/makefiles/liboffsetfinder64.mk
index 1b8a892..174ffff 100644
--- a/makefiles/liboffsetfinder64.mk
+++ b/makefiles/liboffsetfinder64.mk
@@ -3,12 +3,12 @@ $(error Use the main Makefile)
endif
SUBPROJECTS += liboffsetfinder64
-LIBOFFSETFINDER64_VERSION := 132
-LIBOFFSETFINDER64_COMMIT := 35d3411bf675a83bdb768bc0ec26fe2344be16f3
-DEB_LIBOFFSETFINDER64_V ?= $(LIBOFFSETFINDER64_VERSION)-1
+LIBOFFSETFINDER64_VERSION := 138
+LIBOFFSETFINDER64_COMMIT := 2954b9955526f324345531751f49814c98075767
+DEB_LIBOFFSETFINDER64_V ?= $(LIBOFFSETFINDER64_VERSION)
liboffsetfinder64-setup: setup
- $(call GITHUB_ARCHIVE,tihmstar,liboffsetfinder64,$(LIBOFFSETFINDER64_COMMIT),$(LIBOFFSETFINDER64_COMMIT))
+ $(call GITHUB_ARCHIVE,Cryptiiiic,liboffsetfinder64,$(LIBOFFSETFINDER64_COMMIT),$(LIBOFFSETFINDER64_COMMIT))
$(call EXTRACT_TAR,liboffsetfinder64-$(LIBOFFSETFINDER64_COMMIT).tar.gz,liboffsetfinder64-$(LIBOFFSETFINDER64_COMMIT),liboffsetfinder64)
$(SED) -i 's/git rev\-list \-\-count HEAD/printf ${LIBOFFSETFINDER64_VERSION}/g' $(BUILD_WORK)/liboffsetfinder64/configure.ac
@@ -20,12 +20,14 @@ liboffsetfinder64:
else
liboffsetfinder64: liboffsetfinder64-setup libgeneral libinsn img4tool openssl libplist
cd $(BUILD_WORK)/liboffsetfinder64 && ./autogen.sh \
- $(DEFAULT_CONFIGURE_FLAGS)
- +$(MAKE) -C $(BUILD_WORK)/liboffsetfinder64
+ $(DEFAULT_CONFIGURE_FLAGS) \
+ --disable-shared
+$(MAKE) -C $(BUILD_WORK)/liboffsetfinder64 install \
DESTDIR="$(BUILD_STAGE)/liboffsetfinder64"
+$(MAKE) -C $(BUILD_WORK)/liboffsetfinder64 install \
DESTDIR="$(BUILD_BASE)"
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/liboffsetfinder64/.build_complete
endif
diff --git a/makefiles/libplist.mk b/makefiles/libplist.mk
index 14a4b8d..4677b6b 100644
--- a/makefiles/libplist.mk
+++ b/makefiles/libplist.mk
@@ -17,12 +17,16 @@ else
libplist: libplist-setup
cd $(BUILD_WORK)/libplist && ./autogen.sh \
$(DEFAULT_CONFIGURE_FLAGS) \
- --without-cython
+ --without-cython \
+ --disable-shared || true
+ cat $(BUILD_WORK)/libplist/config.log
+$(MAKE) -C $(BUILD_WORK)/libplist
+$(MAKE) -C $(BUILD_WORK)/libplist install \
DESTDIR="$(BUILD_STAGE)/libplist"
+$(MAKE) -C $(BUILD_WORK)/libplist install \
DESTDIR="$(BUILD_BASE)"
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/libplist/.build_complete
endif
diff --git a/makefiles/libpng16.mk b/makefiles/libpng16.mk
index 4827b00..e3f9d60 100644
--- a/makefiles/libpng16.mk
+++ b/makefiles/libpng16.mk
@@ -18,12 +18,15 @@ libpng16:
else
libpng16: libpng16-setup
cd $(BUILD_WORK)/libpng16 && ./configure -C \
- $(DEFAULT_CONFIGURE_FLAGS)
+ $(DEFAULT_CONFIGURE_FLAGS) \
+ --disable-shared
+$(MAKE) -C $(BUILD_WORK)/libpng16
+$(MAKE) -C $(BUILD_WORK)/libpng16 install \
DESTDIR=$(BUILD_STAGE)/libpng16
+$(MAKE) -C $(BUILD_WORK)/libpng16 install \
DESTDIR=$(BUILD_BASE)
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/libpng16/.build_complete
endif
diff --git a/makefiles/libusbmuxd.mk b/makefiles/libusbmuxd.mk
index c4fb00f..1ab8a4a 100644
--- a/makefiles/libusbmuxd.mk
+++ b/makefiles/libusbmuxd.mk
@@ -16,12 +16,19 @@ libusbmuxd:
else
libusbmuxd: libusbmuxd-setup libplist
cd $(BUILD_WORK)/libusbmuxd && ./autogen.sh \
- $(DEFAULT_CONFIGURE_FLAGS)
+ $(DEFAULT_CONFIGURE_FLAGS) \
+ --disable-shared
+ cd $(BUILD_WORK)/libusbmuxd/include
+$(MAKE) -C $(BUILD_WORK)/libusbmuxd
+ cd $(BUILD_WORK)/libusbmuxd/common
+ +$(MAKE) -C $(BUILD_WORK)/libusbmuxd
+ cd $(BUILD_WORK)/libusbmuxd/src
+$(MAKE) -C $(BUILD_WORK)/libusbmuxd install \
DESTDIR="$(BUILD_STAGE)/libusbmuxd"
+$(MAKE) -C $(BUILD_WORK)/libusbmuxd install \
DESTDIR="$(BUILD_BASE)"
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/libusbmuxd/.build_complete
endif
diff --git a/makefiles/libzip.mk b/makefiles/libzip.mk
index b7b5019..ee0021b 100644
--- a/makefiles/libzip.mk
+++ b/makefiles/libzip.mk
@@ -14,20 +14,27 @@ ifneq ($(wildcard $(BUILD_WORK)/libzip/.build_complete),)
libzip:
@echo "Using previously built libzip."
else
-libzip: libzip-setup xz openssl
- cd $(BUILD_WORK)/libzip && cmake . \
+libzip: libzip-setup openssl
+ cd $(BUILD_WORK)/libzip && \
+ cmake \
+ . \
$(DEFAULT_CMAKE_FLAGS) \
+ -DBUILD_SHARED_LIBS=0 \
-DCOMMON_ARCH=$(DEB_ARCH) \
-DENABLE_COMMONCRYPTO=OFF \
-DENABLE_GNUTLS=OFF \
-DENABLE_MBEDTLS=OFF \
-DENABLE_WINDOWS_CRYPTO=OFF \
- -DENABLE_OPENSSL=ON
- +$(MAKE) -C $(BUILD_WORK)/libzip
- +$(MAKE) -C $(BUILD_WORK)/libzip install \
+ -DENABLE_OPENSSL=ON && \
+ $(SED) -i '77,81d' $(BUILD_WORK)/libzip/cmake_install.cmake
+ +$(MAKE) zip/fast -C $(BUILD_WORK)/libzip \
+ LDFLAGS="$(LDFLAGS) -L/usr/lib -llzma"
+ +$(MAKE) -C $(BUILD_WORK)/libzip install/strip/fast \
DESTDIR="$(BUILD_STAGE)/libzip"
- +$(MAKE) -C $(BUILD_WORK)/libzip install \
+ +$(MAKE) -C $(BUILD_WORK)/libzip install/strip/fast \
DESTDIR="$(BUILD_BASE)"
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/libzip/.build_complete
endif
diff --git a/makefiles/lzfse.mk b/makefiles/lzfse.mk
index ee21826..1c0b436 100644
--- a/makefiles/lzfse.mk
+++ b/makefiles/lzfse.mk
@@ -17,8 +17,10 @@ else
lzfse: lzfse-setup
cd $(BUILD_WORK)/lzfse && cmake . \
$(DEFAULT_CMAKE_FLAGS) \
+ -DBUILD_SHARED_LIBS=0 \
.
- +$(MAKE) -C $(BUILD_WORK)/lzfse
+ +$(MAKE) lzfse/fast -C $(BUILD_WORK)/lzfse
+ $(SED) -i '48,60d' $(BUILD_WORK)/lzfse/cmake_install.cmake
+$(MAKE) -C $(BUILD_WORK)/lzfse install \
DESTDIR="$(BUILD_STAGE)/lzfse"
+$(MAKE) -C $(BUILD_WORK)/lzfse install \
diff --git a/makefiles/openssl.mk b/makefiles/openssl.mk
index e4c90df..59df7c6 100644
--- a/makefiles/openssl.mk
+++ b/makefiles/openssl.mk
@@ -64,10 +64,12 @@ openssl: openssl-setup
shared \
$(SSL_SCHEME)
+$(MAKE) -C $(BUILD_WORK)/openssl
- +$(MAKE) -C $(BUILD_WORK)/openssl install_sw install_ssldirs \
+ +$(MAKE) -C $(BUILD_WORK)/openssl install_dev \
DESTDIR=$(BUILD_STAGE)/openssl
- +$(MAKE) -C $(BUILD_WORK)/openssl install_sw \
+ +$(MAKE) -C $(BUILD_WORK)/openssl install_dev \
DESTDIR=$(BUILD_BASE)
+ find . -name '*.dylib' -exec rm -rf {} \;
+ find . -name '*.la*' -exec rm -rf {} \;
touch $(BUILD_WORK)/openssl/.build_complete
endif
diff --git a/makefiles/xpwn.mk b/makefiles/xpwn.mk
index 1b8ca5f..6ed85c1 100644
--- a/makefiles/xpwn.mk
+++ b/makefiles/xpwn.mk
@@ -23,16 +23,16 @@ xpwn: xpwn-setup libpng16 openssl
$(DEFAULT_CMAKE_FLAGS) \
-DBZIP2_LIBRARIES="-L$(TARGET_SYSROOT)/usr/lib -lbz2" \
-DZLIB_LIBRARY="-L$(TARGET_SYSROOT)/usr/lib -lz"
- +$(MAKE) -C $(BUILD_WORK)/xpwn
- +$(MAKE) -C $(BUILD_WORK)/xpwn install \
- DESTDIR=$(BUILD_BASE)
- +$(MAKE) -C $(BUILD_WORK)/xpwn install \
- DESTDIR=$(BUILD_STAGE)/xpwn
+ +$(MAKE) common/fast xpwn/fast -C $(BUILD_WORK)/xpwn
+ # +$(MAKE) -C $(BUILD_WORK)/xpwn install \
+ # DESTDIR=$(BUILD_BASE)
+ # +$(MAKE) -C $(BUILD_WORK)/xpwn install \
+ # DESTDIR=$(BUILD_STAGE)/xpwn
mkdir -p {$(BUILD_BASE),$(BUILD_STAGE)/xpwn}/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/{include/xpwn,lib/xpwn}
cp -a $(BUILD_WORK)/xpwn/includes/* $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/xpwn
cp -a $(BUILD_WORK)/xpwn/includes/* $(BUILD_STAGE)/xpwn/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/include/xpwn
- cp -a $(BUILD_WORK)/xpwn/{ipsw-patch/libxpwn,minizip/libminizip,common/libcommon,hfs/libhfs,dmg/libdmg}.a $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib/xpwn
- cp -a $(BUILD_WORK)/xpwn/{ipsw-patch/libxpwn,minizip/libminizip,common/libcommon,hfs/libhfs,dmg/libdmg}.a $(BUILD_STAGE)/xpwn/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib/xpwn
+ cp -a $(BUILD_WORK)/xpwn/{ipsw-patch/libxpwn,common/libcommon}.a $(BUILD_BASE)$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib/xpwn
+ cp -a $(BUILD_WORK)/xpwn/{ipsw-patch/libxpwn,common/libcommon}.a $(BUILD_STAGE)/xpwn/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/lib/xpwn
touch $(BUILD_WORK)/xpwn/.build_complete
endif

View file

@ -1,45 +0,0 @@
#!/bin/bash
echo 'step 1:'
set -e
export LLVM_PATH=/home/runner/work/futurerestore/futurerestore/.github/llvm
export PATH=${LLVM_PATH}/bin:${PATH}
export DIR=$(pwd)
export BASE=/home/runner/work/futurerestore/futurerestore/.github/workflows
export CC_ARGS="CC=${LLVM_PATH}/bin/clang CXX=${LLVM_PATH}/bin/clang++ LD=${LLVM_PATH}/bin/ld64.lld RANLIB=/usr/bin/ranlib AR=/usr/bin/ar"
sudo ln -sf ${LLVM_PATH}/bin/ld64.lld /usr/bin/lld
sudo ln -sf ${LLVM_PATH}/bin/ld64.lld /usr/bin/ld
export CONF_ARGS="--disable-dependency-tracking --disable-silent-rules --prefix=/usr/local"
export LD_ARGS="-Wl,--allow-multiple-definition -L/usr/lib/x86_64-linux-gnu -lusb-1.0 -lzstd -llzma -lbz2 -L/usr/local/lib -lxpwn -lcommon -llzfse -lusbmuxd-2.0 -limg4tool -lgeneral -lirecovery-1.0 -lzip -lipatcher -loffsetfinder64 -limobiledevice-1.0 -lfragmentzip -linsn -lplist-2.0 -lplist++-2.0"
export JNUM="-j32"
sudo chown -R $USER:$USER /usr/local
sudo chown -R $USER:$USER /lib/udev/rules.d
cd ${BASE}
echo 'step 2:'
zstd -dk ubuntu.tar.zst
sudo tar xf ${BASE}/ubuntu.tar -C / --warning=none || true || true
sudo apt update -y
sudo apt install curl build-essential checkinstall git autoconf automake libtool-bin pkg-config cmake zlib1g-dev libssl-dev libbz2-dev libusb-1.0-0-dev libusb-dev libpng-dev libreadline-dev libcurl4-openssl-dev libzstd-dev liblzma-dev -y
curl -LO https://opensource.apple.com/tarballs/cctools/cctools-927.0.2.tar.gz
mkdir cctools-tmp
tar -xzf cctools-927.0.2.tar.gz -C cctools-tmp/
sed -i 's_#include_//_g' cctools-tmp/cctools-927.0.2/include/mach-o/loader.h
sed -i -e 's=<stdint.h>=\n#include <stdint.h>\ntypedef int integer_t;\ntypedef integer_t cpu_type_t;\ntypedef integer_t cpu_subtype_t;\ntypedef integer_t cpu_threadtype_t;\ntypedef int vm_prot_t;=g' cctools-tmp/cctools-927.0.2/include/mach-o/loader.h
sudo cp -LRP cctools-tmp/cctools-927.0.2/include/* /usr/local/include/
echo 'step 3:'
cd ${BASE}/../..
export FUTURERESTORE_VERSION_RELEASE=$(cat version.txt | tr -d '\n')
git submodule init; git submodule update --recursive
cd external/tsschecker
git submodule init; git submodule update --recursive
cd ${BASE}/../..
echo 'step 5:'
./autogen.sh $CONF_ARGS $CC_ARGS LDFLAGS="$LD_ARGS"
make $JNUM
sudo make $JNUM install
echo 'step 6:'
cp /usr/local/bin/futurerestore ${BASE}/futurerestore-${FUTURERESTORE_VERSION_RELEASE}
cd ${BASE}
tar cpJvf ${BASE}/futurerestore-${FUTURERESTORE_VERSION_RELEASE}-Ubuntu.tar.xz futurerestore-${FUTURERESTORE_VERSION_RELEASE}
ldd ${BASE}/futurerestore-${FUTURERESTORE_VERSION_RELEASE} || true
./futurerestore-${FUTURERESTORE_VERSION_RELEASE} || true
echo 'End'

Binary file not shown.

View file

@ -465,7 +465,7 @@ void futurerestore::enterPwnRecovery(plist_t build_identity, string bootargs){
#ifndef HAVE_LIBIPATCHER
reterror("compiled without libipatcher");
#else
bootargs = "rd=md0 -restore -v serial=3 debug=0x14e keepsyms=1 amfi=0xff amfi_unrestrict_task_for_pid=1 amfi_allow_any_signature=1 amfi_get_out_of_my_way=1";
bootargs = "rd=md0 -restore -progress nand-enable-reformat=0x1 -v serial=0x3 debug=0x14e keepsyms=0x1 amfi=0xff amfi_unrestrict_task_for_pid=0x0 amfi_allow_any_signature=0x1 amfi_get_out_of_my_way=0x1 cs_enforcement_disable=0x1";
idevicerestore_mode_t *mode = 0;
libipatcher::fw_key iBSSKeys;
libipatcher::fw_key iBECKeys;