summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Freeman <saurik@saurik.com>2014-06-12 15:17:10 +0000
committerJay Freeman <saurik@saurik.com>2014-06-12 15:17:10 +0000
commitdb2a3922e5ec7d588c6c04ec5220016af47c8bcd (patch)
treeeaf1513bfd6bb0ba3906c40d590192ebc92dcd1b
parentc8ba427485ff00e7cd1af7b0ed558251eb890a30 (diff)
Break the ABI and fix the package limit.
git-svn-id: http://svn.telesphoreo.org/trunk@790 514c082c-b64e-11dc-b46d-3d985efe055d
-rw-r--r--data/_apt7/turbulence.diff64
-rw-r--r--data/apt7-lib/_metadata/breaks1
-rw-r--r--data/aptitude/turbulence.diff12
3 files changed, 77 insertions, 0 deletions
diff --git a/data/_apt7/turbulence.diff b/data/_apt7/turbulence.diff
new file mode 100644
index 000000000..0f80e2bd1
--- /dev/null
+++ b/data/_apt7/turbulence.diff
@@ -0,0 +1,64 @@
+diff -ru apt-0.7.25.3/apt-pkg/pkgcachegen.cc apt-0.7.25.3+iPhone/apt-pkg/pkgcachegen.cc
+--- apt-0.7.25.3/apt-pkg/pkgcachegen.cc 2014-05-13 10:14:37.000000000 +0000
++++ apt-0.7.25.3+iPhone/apt-pkg/pkgcachegen.cc 2014-05-13 08:54:35.000000000 +0000
+@@ -296,7 +296,7 @@
+ if (Cache.HeaderP->PackageCount >= (1ULL<<sizeof(Cache.PkgP->ID)*8)-1)
+ return _error->Error(_("Wow, you exceeded the number of package "
+ "names this APT is capable of."));
+- if (Cache.HeaderP->VersionCount >= (1ULL<<(sizeof(Cache.VerP->ID)*8))-1)
++ if (Cache.HeaderP->VersionCount >= (1ULL<<(sizeof(Cache.VerP->ID1)*8+sizeof(Cache.VerP->ID2)*8))-1)
+ return _error->Error(_("Wow, you exceeded the number of versions "
+ "this APT is capable of."));
+ if (Cache.HeaderP->DescriptionCount >= (1ULL<<(sizeof(Cache.DescP->ID)*8))-1)
+@@ -446,7 +446,9 @@
+ // Fill it in
+ Ver = pkgCache::VerIterator(Cache,Cache.VerP + Version);
+ Ver->NextVer = Next;
+- Ver->ID = Cache.HeaderP->VersionCount++;
++ unsigned int ID = Cache.HeaderP->VersionCount++;
++ Ver->ID1 = ID & 0xffff;
++ Ver->ID2 = ID >> 16;
+ Ver->VerStr = Map.WriteString(VerStr.Start, VerStr.Size);
+ if (Ver->VerStr == 0)
+ return 0;
+diff -ru apt-0.7.25.3/apt-pkg/pkgcache.h apt-0.7.25.3+iPhone/apt-pkg/pkgcache.h
+--- apt-0.7.25.3/apt-pkg/pkgcache.h 2014-05-13 10:14:37.000000000 +0000
++++ apt-0.7.25.3+iPhone/apt-pkg/pkgcache.h 2014-05-13 10:17:33.000000000 +0000
+@@ -226,7 +226,7 @@
+ unsigned char InstState; // Flags
+ unsigned char CurrentState; // State
+
+- unsigned short ID;
++ unsigned int ID;
+ unsigned long Flags;
+ };
+
+@@ -247,7 +247,7 @@
+
+ // Linked list
+ map_ptrloc NextFile; // PackageFile
+- unsigned short ID;
++ unsigned int ID;
+ time_t mtime; // Modification time for the file
+ };
+ /*}}}*/
+@@ -291,8 +291,9 @@
+ map_ptrloc Size; // These are the .deb size
+ map_ptrloc InstalledSize;
+ unsigned short Hash;
+- unsigned short ID;
++ unsigned short ID1;
+ unsigned char Priority;
++ unsigned short ID2;
+ };
+ /*}}}*/
+ struct pkgCache::Description /*{{{*/
+@@ -308,7 +309,7 @@
+ map_ptrloc NextDesc; // Description
+ map_ptrloc ParentPkg; // Package
+
+- unsigned short ID;
++ unsigned int ID;
+ };
+ /*}}}*/
+ struct pkgCache::Dependency /*{{{*/
diff --git a/data/apt7-lib/_metadata/breaks b/data/apt7-lib/_metadata/breaks
new file mode 100644
index 000000000..28a904cf3
--- /dev/null
+++ b/data/apt7-lib/_metadata/breaks
@@ -0,0 +1 @@
+cydia (<< 1.1.10), apt7 (<< 0.7.25.3-7), aptitude (<< 0.4.11.11-6)
diff --git a/data/aptitude/turbulence.diff b/data/aptitude/turbulence.diff
new file mode 100644
index 000000000..19d1965c0
--- /dev/null
+++ b/data/aptitude/turbulence.diff
@@ -0,0 +1,12 @@
+diff -ru aptitude_0.4.11.11.orig/src/generic/apt/aptitude_resolver_universe.h aptitude_0.4.11.11.orig+iPhone/src/generic/apt/aptitude_resolver_universe.h
+--- aptitude_0.4.11.11.orig/src/generic/apt/aptitude_resolver_universe.h 2008-11-20 03:17:12.000000000 +0000
++++ aptitude_0.4.11.11.orig+iPhone/src/generic/apt/aptitude_resolver_universe.h 2014-06-12 08:14:47.000000000 +0000
+@@ -178,7 +178,7 @@
+ unsigned int get_id() const
+ {
+ if(!ver.end())
+- return ver->ID;
++ return ver->ID2 << 16 | ver->ID1;
+ else
+ // non-installed versions are faked.
+ //