makedeb
iOS upgrade and downgrade tool utilizing SHSH blobs - git version
Click here to go back to the commit logs for futurerestore-git.
Hash: d70375ce0b7868b2634dabad0627381da5897d9b
Message: *cries* finally working
diff --git a/.SRCINFO b/.SRCINFO
index dcc2bea..35ac26a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -19,17 +19,35 @@ pkgbase = futurerestore-git
depends = libfragmentzip
depends = libirecovery
depends = img4tool
- depends = libgeneral
+ depends = libgeneral-fr
provides = futurerestore
conflicts = futurerestore
source = git+https://github.com/tihmstar/futurerestore.git
source = git+https://github.com/tihmstar/tsschecker.git
source = git+https://github.com/tihmstar/idevicerestore.git
source = git+https://github.com/tihmstar/jssy.git
+ source = futurerestore-0001-Fix-incorrect-language-standard.patch
+ source = futurerestore-0002-Ensure-CUSTOM_LOGGING-refers-to-a-file.patch
+ source = tsschecker-0001-Fix-incorrect-language-standard.patch
+ source = tsschecker-0002-Update-libplist-and-libirecovery-names-for-2.2.0-1.0.patch
+ source = idevicerestore-0001-configure.ac-check-for-pthreads.patch
+ source = idevicerestore-0002-Update-libirecovery-and-libplist-names-for-1.0.0-2.2.patch
+ source = idevicerestore-0003-Fix-limitsh.patch
+ source = idevicerestore-0004-Fix-socket-errors.patch
+ source = idevicerestore-0006-AddFlags.patch
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
+ sha256sums = 547ace9e8c05075908727b1ef7e7c67715b32c7ee7a6b28ce744d87f39cc5136
+ sha256sums = 3d6b46dbf7755894d162990ea98212a6ebf3d508b993d5c96ef40aa8ae0a068c
+ sha256sums = 3b4cbc67686f730ed17553600cd507000d84805cc82e25a2fa46db22c2ad97e0
+ sha256sums = bce5b17258cb3b2c13ceab01133cf28b80ed95ff44b21052d6c8d16e22873244
+ sha256sums = 1d7cec2c1467cd71f0cf9dbe99bd24f3031f847a4f8e7c5214f24658ec15ea71
+ sha256sums = 35024ee622568609074abf4eabc650d25882b780fae538ee2a9bb401d599f407
+ sha256sums = 069d38b43f0eefbb60102f1f30e46eae64221b2339e855d20c7649d184ca1d83
+ sha256sums = 3327cf654942ae9e56af133b31f3f3046ec6943cf3e8c4af4e41f5c4e5d1f59d
+ sha256sums = 74cb3aea5ddb52ec4703232c70c2863962c13a10765384bcea59a0cd2dfc3adc
_depends = libplist-dev
_depends = libzip4
_depends = libzip-dev
@@ -48,6 +66,6 @@ pkgbase = futurerestore-git
hirsute_depends = libfragmentzip-git
hirsute_depends = libirecovery
hirsute_depends = img4tool-git
- hirsute_depends = libgeneral-git
+ hirsute_depends = libgeneral-fr-git
pkgname = futurerestore-git
diff --git a/PKGBUILD b/PKGBUILD
index 0185dac..3dd239c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,3 +1,5 @@
+# Maintainer: Leo Puvilland <lpuvilla0001@mymail.lausd.net>
+
_name=futurerestore
pkgname=$_name-git
pkgver=1.186.2f0686d
@@ -7,31 +9,39 @@ arch=('x86_64')
url="https://github.com/tihmstar/$_name"
license=('LGPL3')
_depends=('libplist-dev' 'libzip4' 'libzip-dev' 'curl' 'openssl' 'zlib1g' 'zlib1g-dev')
-depends=("${_depends[@]}" 'libimobiledevice' 'libfragmentzip' 'libirecovery' 'img4tool' 'libgeneral')
-hirsute_depends=("${_depends[@]}" 'libimobiledevice-git' 'libfragmentzip-git' 'libirecovery' 'img4tool-git' 'libgeneral-git')
+depends=("${_depends[@]}" 'libimobiledevice' 'libfragmentzip' 'libirecovery' 'img4tool' 'libgeneral-fr')
+hirsute_depends=("${_depends[@]}" 'libimobiledevice-git' 'libfragmentzip-git' 'libirecovery' 'img4tool-git' 'libgeneral-fr-git')
makedepends=('git')
provides=("$_name")
conflicts=("$_name")
source=("git+$url.git"
'git+https://github.com/tihmstar/tsschecker.git'
'git+https://github.com/tihmstar/idevicerestore.git'
- 'git+https://github.com/tihmstar/jssy.git')
- # "$_name-0001-Fix-incorrect-language-standard.patch"
- # "$_name-0002-Ensure-CUSTOM_LOGGING-refers-to-a-file.patch"
- # 'tsschecker-0001-Fix-incorrect-language-standard.patch'
- # 'tsschecker-0002-Update-libplist-and-libirecovery-names-for-2.2.0-1.0.patch'
- # 'idevicerestore-0001-configure.ac-check-for-pthreads.patch'
- # 'idevicerestore-0002-Update-libirecovery-and-libplist-names-for-1.0.0-2.2.patch')
+ 'git+https://github.com/tihmstar/jssy.git'
+ "$_name-0001-Fix-incorrect-language-standard.patch"
+ "$_name-0002-Ensure-CUSTOM_LOGGING-refers-to-a-file.patch"
+ 'tsschecker-0001-Fix-incorrect-language-standard.patch'
+ 'tsschecker-0002-Update-libplist-and-libirecovery-names-for-2.2.0-1.0.patch'
+ 'idevicerestore-0001-configure.ac-check-for-pthreads.patch'
+ 'idevicerestore-0002-Update-libirecovery-and-libplist-names-for-1.0.0-2.2.patch'
+ 'idevicerestore-0003-Fix-limitsh.patch'
+ 'idevicerestore-0004-Fix-socket-errors.patch'
+ #'idevicerestore-0005-ReplaceP_tmpdir_by_tmp.patch')
+ 'idevicerestore-0006-AddFlags.patch')
sha256sums=('SKIP'
'SKIP'
'SKIP'
- 'SKIP')
- # 'bdb24efae866cf38d49245cf3aacaf9799a4913a19dfedfb154c32ae86a79227'
- # '44e99d3b5c086f752542d8b25685c75ca174b085051d6c8ab7e08939531456be'
- # 'f82391e9711521eb786c559cc44c989edd11682a81c48dd84e7519871d2f285a'
- # '310b39992b2391e81458190f5299ad629d31152ffe2621221b5451ae32068614'
- # 'c800d9beaa459b7ff7b1bfa2f22731c56d29dbef457a0b6470bf24cd89a488cc'
- # '312820af5af7989e2b3094ff7be8e7f009005a197b14b5517d33c60f78dbf74d')
+ 'SKIP'
+ '547ace9e8c05075908727b1ef7e7c67715b32c7ee7a6b28ce744d87f39cc5136'
+ '3d6b46dbf7755894d162990ea98212a6ebf3d508b993d5c96ef40aa8ae0a068c'
+ '3b4cbc67686f730ed17553600cd507000d84805cc82e25a2fa46db22c2ad97e0'
+ 'bce5b17258cb3b2c13ceab01133cf28b80ed95ff44b21052d6c8d16e22873244'
+ '1d7cec2c1467cd71f0cf9dbe99bd24f3031f847a4f8e7c5214f24658ec15ea71'
+ '35024ee622568609074abf4eabc650d25882b780fae538ee2a9bb401d599f407'
+ '069d38b43f0eefbb60102f1f30e46eae64221b2339e855d20c7649d184ca1d83'
+ '3327cf654942ae9e56af133b31f3f3046ec6943cf3e8c4af4e41f5c4e5d1f59d'
+ #'ffcf126eaad66e2c1b1165586478a15f23f14975e78b07c3a5b3f84c932ef0f8')
+ '74cb3aea5ddb52ec4703232c70c2863962c13a10765384bcea59a0cd2dfc3adc')
pkgver() {
cd "$_name"
@@ -41,30 +51,31 @@ pkgver() {
prepare() {
cd "$_name"
- git submodule deinit -f --all
+ #git submodule deinit -f --all
git submodule init
- git config submodule.external/tsschecker.url "$srcdir/tsschecker"
- git config submodule.external/idevicerestore.url "$srcdir/idevicerestore"
+ #git config submodule.external/tsschecker.url "$srcdir/tsschecker"
+ #git config submodule.external/idevicerestore.url "$srcdir/idevicerestore"
git submodule update
- # for p in "$srcdir"/$_name-*.patch; do
- # patch -Np1 -i "$p"
- # done
+ for p in "$srcdir"/$_name-*.patch; do
+ patch -Np1 -i "$p"
+ done
cd external/tsschecker
git submodule init
git config submodule.external/jssy.url "$srcdir/jssy"
git submodule update
- # for p in "$srcdir"/tsschecker-*.patch; do
- # patch -Np1 -i "$p"
- # done
+ for p in "$srcdir"/tsschecker-*.patch; do
+ patch -Np1 -i "$p"
+ done
cd ../..
- # cd external/idevicerestore
- # for p in "$srcdir"/idevicerestore-*.patch; do
- # patch -Np1 -i "$p"
- # done
- # cd ../..
+ cd external/idevicerestore
+ # git checkout 50493ca9bda60d2eee48d0e973dafabf0b2405b9
+ for p in "$srcdir"/idevicerestore-*.patch; do
+ patch -Np1 -i "$p"
+ done
+ cd ../..
}
build() {
diff --git a/futurerestore-0001-Fix-incorrect-language-standard.patch b/futurerestore-0001-Fix-incorrect-language-standard.patch
new file mode 100644
index 0000000..0858bbc
--- /dev/null
+++ b/futurerestore-0001-Fix-incorrect-language-standard.patch
@@ -0,0 +1,26 @@
+From 66a162c41a347e54fbff649979d6ca6ddb6c87ee Mon Sep 17 00:00:00 2001
+From: 0x9fff00 <0x9fff00+git@protonmail.ch>
+Date: Fri, 8 Nov 2019 23:30:28 +0100
+Subject: [PATCH 1/2] Fix incorrect language standard
+
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1d4d48b..a647cdb 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -28,8 +28,8 @@ esac
+
+ # Checks the flags.
+ CFLAGS+=" -DIDEVICERESTORE_NOMAIN=1 -DTSSCHECKER_NOMAIN=1"
+-CXXFLAGS+=" -std=c++11"
+-CFLAGS+=" -std=c11"
++CXXFLAGS+=" -std=gnu++11"
++CFLAGS+=" -std=gnu11"
+
+ AC_DEFUN([AX_UNPRECIOUS], [
+ m4_define([_AC_PRECIOUS_VARS], m4_bpatsubst(_AC_PRECIOUS_VARS, [$1], []))
+--
+2.30.0
diff --git a/futurerestore-0002-Ensure-CUSTOM_LOGGING-refers-to-a-file.patch b/futurerestore-0002-Ensure-CUSTOM_LOGGING-refers-to-a-file.patch
new file mode 100644
index 0000000..f646e51
--- /dev/null
+++ b/futurerestore-0002-Ensure-CUSTOM_LOGGING-refers-to-a-file.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index 1d4d48b9..ca137bb8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -81,7 +81,7 @@ else
+ fi
+ AM_CONDITIONAL([HAVE_LIBIPATCHER],[test "x$do_libipatcher" = "xyes"])
+
+-AC_DEFINE(CUSTOM_LOGGING, 1, [required for futurerestore])
++AC_DEFINE(CUSTOM_LOGGING, /dev/null, [required for futurerestore])
+
+ LT_INIT
+
diff --git a/idevicerestore-0001-configure.ac-check-for-pthreads.patch b/idevicerestore-0001-configure.ac-check-for-pthreads.patch
new file mode 100644
index 0000000..05e754c
--- /dev/null
+++ b/idevicerestore-0001-configure.ac-check-for-pthreads.patch
@@ -0,0 +1,12 @@
+diff --git a/configure.ac b/configure.ac
+index 48eace0..0d6f2d5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -43,6 +43,7 @@ PKG_CHECK_MODULES(libzip, libzip >= $LIBZIP_VERSION)
+ PKG_CHECK_MODULES(libcurl, libcurl >= $LIBCURL_VERSION)
+ PKG_CHECK_MODULES(openssl, openssl >= $OPENSSL_VERSION)
+ PKG_CHECK_MODULES(zlib, zlib >= $ZLIB_VERSION)
++AC_SEARCH_LIBS([pthread_create], [pthread])
+
+ GLOBAL_CFLAGS="-Wno-multichar "
+ AC_LDADD=""
diff --git a/idevicerestore-0002-Update-libirecovery-and-libplist-names-for-1.0.0-2.2.patch b/idevicerestore-0002-Update-libirecovery-and-libplist-names-for-1.0.0-2.2.patch
new file mode 100644
index 0000000..3e005f3
--- /dev/null
+++ b/idevicerestore-0002-Update-libirecovery-and-libplist-names-for-1.0.0-2.2.patch
@@ -0,0 +1,28 @@
+diff --git a/configure.ac b/configure.ac
+index 7ac5240..a521974 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -14,9 +14,9 @@ AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_MACRO_DIR([m4])
+
+ # Minimum package versions
+-LIBIRECOVERY_VERSION=0.2.0
++LIBIRECOVERY_VERSION=1.0.0
+ LIBIMOBILEDEVICE_VERSION=1.2.1
+-LIBPLIST_VERSION=1.12
++LIBPLIST_VERSION=2.2.0
+ LIBZIP_VERSION=0.8
+ LIBCURL_VERSION=7.0
+ OPENSSL_VERSION=0.9.8
+@@ -36,9 +36,8 @@ AM_PROG_CC_C_O
+ AC_PROG_LIBTOOL
+
+ # Checks for libraries.
+-PKG_CHECK_MODULES(libirecovery, libirecovery >= $LIBIRECOVERY_VERSION)
+-PKG_CHECK_MODULES(libimobiledevice, libimobiledevice-1.0 >= $LIBIMOBILEDEVICE_VERSION)
+-PKG_CHECK_MODULES(libplist, libplist >= $LIBPLIST_VERSION)
++PKG_CHECK_MODULES(libirecovery, libirecovery-1.0 >= $LIBIRECOVERY_VERSION)
++PKG_CHECK_MODULES(libplist, libplist-2.0 >= $LIBPLIST_VERSION)
+ PKG_CHECK_MODULES(libzip, libzip >= $LIBZIP_VERSION)
+ PKG_CHECK_MODULES(libcurl, libcurl >= $LIBCURL_VERSION)
+ PKG_CHECK_MODULES(openssl, openssl >= $OPENSSL_VERSION)
diff --git a/idevicerestore-0003-Fix-limitsh.patch b/idevicerestore-0003-Fix-limitsh.patch
new file mode 100644
index 0000000..a543096
--- /dev/null
+++ b/idevicerestore-0003-Fix-limitsh.patch
@@ -0,0 +1,12 @@
+diff --git a/src/ipsw.c b/src/ipsw.c
+index d1d858b..36876b4 100644
+--- a/src/ipsw.c
++++ b/src/ipsw.c
+@@ -30,6 +30,7 @@
+ #include <unistd.h>
+ #include <errno.h>
+ #include <limits.h>
++#include <linux/limits.h>
+ #include <sys/stat.h>
+ #include <zip.h>
+ #include <openssl/sha.h>
diff --git a/idevicerestore-0004-Fix-socket-errors.patch b/idevicerestore-0004-Fix-socket-errors.patch
new file mode 100644
index 0000000..ec240f4
--- /dev/null
+++ b/idevicerestore-0004-Fix-socket-errors.patch
@@ -0,0 +1,13 @@
+diff --git a/src/socket.c b/src/socket.c
+index 777b23e..78fab80 100644
+--- a/src/socket.c
++++ b/src/socket.c
+@@ -56,6 +56,8 @@ static int wsa_init = 0;
+ #define ETIMEDOUT 138
+ #endif
+
++#define _POSIX_C_SOURCE 200112L
++
+ static int verbose = 0;
+
+ void socket_set_verbose(int level)
diff --git a/idevicerestore-0005-ReplaceP_tmpdir_by_tmp.patch b/idevicerestore-0005-ReplaceP_tmpdir_by_tmp.patch
new file mode 100644
index 0000000..7cf4d2c
--- /dev/null
+++ b/idevicerestore-0005-ReplaceP_tmpdir_by_tmp.patch
@@ -0,0 +1,13 @@
+diff --git a/src/common.c b/src/common.c
+index a54ae6f..e295796 100644
+--- a/src/common.c
++++ b/src/common.c
+@@ -431,7 +431,7 @@ char *get_temp_filename(const char *prefix)
+ #ifdef WIN32
+ tmpdir = "C:\\WINDOWS\\TEMP";
+ #else
+- tmpdir = P_tmpdir;
++ tmpdir = "/tmp";
+ #endif
+ }
+ if (!tmpdir || access(tmpdir, W_OK|X_OK) != 0) {
diff --git a/idevicerestore-0006-AddFlags.patch b/idevicerestore-0006-AddFlags.patch
new file mode 100644
index 0000000..d5d515d
--- /dev/null
+++ b/idevicerestore-0006-AddFlags.patch
@@ -0,0 +1,24 @@
+diff --git a/configure.ac b/configure.ac
+index 48eace0..8b870c9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -35,6 +35,10 @@ AC_PROG_CC
+ AM_PROG_CC_C_O
+ AC_PROG_LIBTOOL
+
++# Flags?
++CXXFLAGS+=" -std=gnu++11"
++CFLAGS+=" -std=gnu11"
++
+ # Checks for libraries.
+ PKG_CHECK_MODULES(libirecovery, libirecovery >= $LIBIRECOVERY_VERSION)
+ PKG_CHECK_MODULES(libimobiledevice, libimobiledevice-1.0 >= $LIBIMOBILEDEVICE_VERSION)
+@@ -74,6 +78,8 @@ if test x$ac_cv_func_strsep != xyes; then
+ fi
+ fi
+
++
++
+ # check if libimobiledevice has timeout errors
+ AC_CACHE_CHECK(for IDEVICE_E_TIMEOUT in enum idevice_error_t, ac_cv_idevice_error_has_timeout,
+ AC_TRY_COMPILE([
diff --git a/tsschecker-0001-Fix-incorrect-language-standard.patch b/tsschecker-0001-Fix-incorrect-language-standard.patch
new file mode 100644
index 0000000..5e7888f
--- /dev/null
+++ b/tsschecker-0001-Fix-incorrect-language-standard.patch
@@ -0,0 +1,24 @@
+From fea67caa58f492b86fbab298e3329dbf5ff835fb Mon Sep 17 00:00:00 2001
+From: 0x9fff00 <0x9fff00+git@protonmail.ch>
+Date: Sat, 8 Feb 2020 18:22:55 +0100
+Subject: [PATCH 1/2] Fix incorrect language standard
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4d8ca11..e9e2384 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -15,7 +15,7 @@ esac
+
+ # Checks for programs.
+ AC_PROG_CC
+-CFLAGS+=" -std=c11"
++CFLAGS+=" -std=gnu11"
+ AC_PROG_INSTALL
+ AC_PROG_LIBTOOL
+ AC_CONFIG_MACRO_DIRS([m4])
+--
+2.27.0
diff --git a/tsschecker-0002-Update-libplist-and-libirecovery-names-for-2.2.0-1.0.patch b/tsschecker-0002-Update-libplist-and-libirecovery-names-for-2.2.0-1.0.patch
new file mode 100644
index 0000000..824e255
--- /dev/null
+++ b/tsschecker-0002-Update-libplist-and-libirecovery-names-for-2.2.0-1.0.patch
@@ -0,0 +1,31 @@
+From 9fef42d139e0cbc5ea90a82479f4cf2d43a807e1 Mon Sep 17 00:00:00 2001
+From: 0x9fff00 <0x9fff00+git@protonmail.ch>
+Date: Sat, 20 Jun 2020 22:30:08 +0200
+Subject: [PATCH 2/2] Update libplist and libirecovery names for 2.2.0/1.0.0
+
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e9e2384..a3962b6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -42,13 +42,13 @@ AC_ARG_WITH(
+ ]
+ )
+
+-PKG_CHECK_MODULES(libplist, libplist >= 2.0.0)
++PKG_CHECK_MODULES(libplist, libplist-2.0 >= 2.2.0)
+ PKG_CHECK_MODULES(libcurl, libcurl >= 1.0)
+ PKG_CHECK_MODULES(libfragmentzip, libfragmentzip >= 48)
+ AS_IF([test "x$with_libcrypto" != xno],
+ [PKG_CHECK_MODULES(libcrypto, libcrypto >= 1.0)]
+ )
+-PKG_CHECK_MODULES(libirecovery, libirecovery >= 0.2.0)
++PKG_CHECK_MODULES(libirecovery, libirecovery-1.0 >= 1.0.0)
+
+ # Checks for header files.
+ AC_CHECK_HEADERS([getopt.h stddef.h stdio.h])
+--
+2.27.0