makedeb


futurerestore-git 1.186.2f0686d-1


iOS upgrade and downgrade tool utilizing SHSH blobs - git version

Click here to go back to the commit logs for futurerestore-git.

Commit:


Hash: d70375ce0b7868b2634dabad0627381da5897d9b

Message: *cries* finally working

Diff


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