From db2a3922e5ec7d588c6c04ec5220016af47c8bcd Mon Sep 17 00:00:00 2001 From: Jay Freeman Date: Thu, 12 Jun 2014 15:17:10 +0000 Subject: Break the ABI and fix the package limit. git-svn-id: http://svn.telesphoreo.org/trunk@790 514c082c-b64e-11dc-b46d-3d985efe055d --- data/_apt7/turbulence.diff | 64 ++++++++++++++++++++++++++++++++++++++++++ data/apt7-lib/_metadata/breaks | 1 + data/aptitude/turbulence.diff | 12 ++++++++ 3 files changed, 77 insertions(+) create mode 100644 data/_apt7/turbulence.diff create mode 100644 data/apt7-lib/_metadata/breaks create mode 100644 data/aptitude/turbulence.diff 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<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. + // -- cgit v1.2.3