summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2016-12-28 00:30:34 -0800
committerJay Freeman (saurik) <saurik@saurik.com>2016-12-28 00:30:34 -0800
commit0209cce51675512f80e740ce45d568ed6d0029c0 (patch)
tree5adacf3f52abb1a02af7bd4b8fd682282ec0dfe6
parent019bd407df21b38dc22972771fc8557e45a844d3 (diff)
Compile Cydia to arm64 by linking with APT 1.4~b1.
-rw-r--r--.gitignore2
-rw-r--r--.gitmodules3
-rw-r--r--MobileCydia.mm99
m---------apt0
l---------apt-contrib/apt-pkg1
l---------apt-deb/apt-pkg1
-rw-r--r--apt-extra/apti18n.h7
-rw-r--r--apt-extra/config.h48
-rw-r--r--apt-extra/endian.h1
-rw-r--r--apt-tag/apt-pkg/tagfile-keys.cc3771
-rw-r--r--apt-tag/apt-pkg/tagfile-keys.h92
-rw-r--r--apt.h30
-rw-r--r--cydia.control4
-rw-r--r--fdstream.hpp184
-rwxr-xr-xmake.sh2
-rw-r--r--makefile141
-rwxr-xr-xuikit.sh2
17 files changed, 4304 insertions, 84 deletions
diff --git a/.gitignore b/.gitignore
index 9a6cc7c..c8bf50a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,5 @@ Version.h
cfversion
setnsfpn
bins
+Objects
+cydo
diff --git a/.gitmodules b/.gitmodules
index f66923f..cc667a6 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -4,3 +4,6 @@
[submodule "icu"]
path = icu
url = git://git.saurik.com/apple/icu.git
+[submodule "apt"]
+ path = apt
+ url = git://git.saurik.com/apt.git
diff --git a/MobileCydia.mm b/MobileCydia.mm
index ed88ae2..813a382 100644
--- a/MobileCydia.mm
+++ b/MobileCydia.mm
@@ -56,15 +56,17 @@
#include <WebKit/DOMHTMLIFrameElement.h>
#include <algorithm>
+#include <fstream>
#include <iomanip>
#include <set>
#include <sstream>
#include <string>
-#include <ext/stdio_filebuf.h>
+#include "fdstream.hpp"
#undef ABS
+#include "apt.h"
#include <apt-pkg/acquire.h>
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/algorithms.h>
@@ -500,6 +502,10 @@ static _finline CFStringRef CYStringCreate(const char *data, size_t size) {
CFStringCreateWithBytesNoCopy(kCFAllocatorDefault, reinterpret_cast<const uint8_t *>(data), size, kCFStringEncodingISOLatin1, NO, kCFAllocatorNull);
}
+static _finline CFStringRef CYStringCreate(const std::string &data) {
+ return CYStringCreate(data.data(), data.size());
+}
+
static _finline CFStringRef CYStringCreate(const char *data) {
return CYStringCreate(data, strlen(data));
}
@@ -2513,15 +2519,7 @@ struct PackageNameOrdering :
_end
_profile(Package$parse$Tagline)
- const char *start, *end;
- if (parser->ShortDesc(start, end)) {
- const char *stop(reinterpret_cast<const char *>(memchr(start, '\n', end - start)));
- if (stop == NULL)
- stop = end;
- while (stop != start && stop[-1] == '\r')
- --stop;
- parsed->tagline_.set(pool_, start, stop - start);
- }
+ parsed->tagline_.set(pool_, parser->ShortDesc());
_end
_profile(Package$parse$Retain)
@@ -2550,7 +2548,7 @@ struct PackageNameOrdering :
version_ = version;
- pkgCache::PkgIterator iterator(version.ParentPkg());
+ pkgCache::PkgIterator iterator(version_.ParentPkg());
iterator_ = iterator;
_profile(Package$initWithVersion$Version)
@@ -2558,7 +2556,7 @@ struct PackageNameOrdering :
_end
_profile(Package$initWithVersion$Cache)
- name_.set(NULL, iterator.Display());
+ name_.set(NULL, version_.Display());
latest_.set(NULL, StripVersion_(version_.VerStr()));
@@ -2622,7 +2620,11 @@ struct PackageNameOrdering :
} while (false); _end
_profile(Package$initWithVersion$Tags)
+#ifdef __arm64__
+ pkgCache::TagIterator tag(version_.TagList());
+#else
pkgCache::TagIterator tag(iterator.TagList());
+#endif
if (!tag.end()) {
tags_ = [NSMutableArray arrayWithCapacity:8];
@@ -2852,23 +2854,12 @@ struct PackageNameOrdering :
@synchronized (database_) {
pkgRecords::Parser &parser([database_ records]->Lookup(file_));
-
- const char *start, *end;
- if (!parser.ShortDesc(start, end))
+ std::string value(parser.ShortDesc());
+ if (value.empty())
return nil;
-
- if (end - start > 200)
- end = start + 200;
-
- /*
- if (const char *stop = reinterpret_cast<const char *>(memchr(start, '\n', end - start)))
- end = stop;
-
- while (end != start && end[-1] == '\r')
- --end;
- */
-
- return [(id) CYStringCreate(start, end - start) autorelease];
+ if (value.size() > 200)
+ value.resize(200);
+ return [(id) CYStringCreate(value) autorelease];
} }
- (unichar) index {
@@ -3541,8 +3532,7 @@ class CydiaLogCleaner :
}
- (void) _readCydia:(NSNumber *)fd {
- __gnu_cxx::stdio_filebuf<char> ib([fd intValue], std::ios::in);
- std::istream is(&ib);
+ boost::fdistream is([fd intValue]);
std::string line;
static RegEx finish_r("finish:([^:]*)");
@@ -3568,8 +3558,7 @@ class CydiaLogCleaner :
}
- (void) _readStatus:(NSNumber *)fd {
- __gnu_cxx::stdio_filebuf<char> ib([fd intValue], std::ios::in);
- std::istream is(&ib);
+ boost::fdistream is([fd intValue]);
std::string line;
static RegEx conffile_r("status: [^ ]* : conffile-prompt : (.*?) *");
@@ -3625,8 +3614,7 @@ class CydiaLogCleaner :
}
- (void) _readOutput:(NSNumber *)fd {
- __gnu_cxx::stdio_filebuf<char> ib([fd intValue], std::ios::in);
- std::istream is(&ib);
+ boost::fdistream is([fd intValue]);
std::string line;
while (std::getline(is, line)) {
@@ -3653,7 +3641,11 @@ class CydiaLogCleaner :
@synchronized (self) {
if (static_cast<pkgDepCache *>(cache_) == NULL)
return nil;
- pkgCache::PkgIterator iterator(cache_->FindPkg([name UTF8String]));
+ pkgCache::PkgIterator iterator(cache_->FindPkg([name UTF8String]
+#ifdef __arm64__
+ , "any"
+#endif
+ ));
return iterator.end() ? nil : [Package packageWithIterator:iterator withZone:NULL inPool:NULL database:self];
} }
@@ -4372,6 +4364,7 @@ static _H<NSMutableSet> Diversions_;
+ (NSArray *) _attributeKeys {
return [NSArray arrayWithObjects:
+ @"bittage",
@"bbsnum",
@"build",
@"cells",
@@ -4403,6 +4396,17 @@ static _H<NSMutableSet> Diversions_;
return Cydia_;
}
+- (unsigned) bittage {
+#if 0
+#elif defined(__arm64__)
+ return 64;
+#elif defined(__arm__)
+ return 32;
+#else
+ return 0;
+#endif
+}
+
- (NSString *) build {
return System_;
}
@@ -6277,7 +6281,7 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
NSString *directory = [stack lastObject];
[stack addObject:[file stringByAppendingString:@"/"]];
[files_ replaceObjectAtIndex:i withObject:[NSString stringWithFormat:@"%*s%@",
- ([stack count] - 2) * 3, "",
+ int(([stack count] - 2) * 3), "",
[file substringFromIndex:[directory length]]
]];
}
@@ -10215,7 +10219,18 @@ static NSMutableDictionary *AutoreleaseDeepMutableCopyOfDictionary(CFTypeRef typ
return [(NSMutableDictionary *) copy autorelease];
}
+int main_store(int, char *argv[]);
+
int main(int argc, char *argv[]) {
+#ifdef __arm64__
+ const char *argv0(argv[0]);
+ if (const char *slash = strrchr(argv0, '/'))
+ argv0 = slash + 1;
+ if (false);
+ else if (!strcmp(argv0, "store"))
+ return main_store(argc, argv);
+#endif
+
int fd(open("/tmp/cydia.log", O_WRONLY | O_APPEND | O_CREAT, 0644));
dup2(fd, 2);
close(fd);
@@ -10313,7 +10328,7 @@ int main(int argc, char *argv[]) {
if (lang != NULL) {
setenv("LANG", lang, true);
- std::setlocale(LC_ALL, lang);
+ setlocale(LC_ALL, lang);
}
/* }}} */
/* Index Collation {{{ */
@@ -10560,8 +10575,12 @@ int main(int argc, char *argv[]) {
_assert(pkgInitConfig(*_config));
_assert(pkgInitSystem(*_config, _system));
- if (lang != NULL)
- _config->Set("APT::Acquire::Translation", lang);
+ _config->Set("Acquire::AllowInsecureRepositories", true);
+ _config->Set("Acquire::Check-Valid-Until", false);
+ _config->Set("Dir::Bin::Methods::store", "/Applications/Cydia.app/store");
+
+ _config->Set("pkgCacheGen::ForceEssential", "");
+ _config->Set("APT::Acquire::Translation", "environment");
// XXX: this timeout might be important :(
//_config->Set("Acquire::http::Timeout", 15);
@@ -10582,7 +10601,7 @@ int main(int argc, char *argv[]) {
std::string logs("/var/mobile/Library/Logs/Cydia");
mkdir(logs.c_str(), 0755);
- _config->Set("Dir::Log::Terminal", logs + "/apt.log");
+ _config->Set("Dir::Log", logs);
_config->Set("Dir::Bin::dpkg", "/usr/libexec/cydia/cydo");
/* }}} */
diff --git a/apt b/apt
new file mode 160000
+Subproject 1242b3bdaf3d3682a945f10f0e537bdb3b0599d
diff --git a/apt-contrib/apt-pkg b/apt-contrib/apt-pkg
new file mode 120000
index 0000000..c7d0c77
--- /dev/null
+++ b/apt-contrib/apt-pkg
@@ -0,0 +1 @@
+../apt/apt-pkg/contrib \ No newline at end of file
diff --git a/apt-deb/apt-pkg b/apt-deb/apt-pkg
new file mode 120000
index 0000000..40a128e
--- /dev/null
+++ b/apt-deb/apt-pkg
@@ -0,0 +1 @@
+../apt/apt-pkg/deb \ No newline at end of file
diff --git a/apt-extra/apti18n.h b/apt-extra/apti18n.h
new file mode 100644
index 0000000..a425267
--- /dev/null
+++ b/apt-extra/apti18n.h
@@ -0,0 +1,7 @@
+#define setlocale(a, b)
+#define textdomain(a)
+#define bindtextdomain(a, b)
+#define _(x) x
+#define P_(msg,plural,n) (n == 1 ? msg : plural)
+#define N_(x) x
+#define dgettext(d, m) m
diff --git a/apt-extra/config.h b/apt-extra/config.h
new file mode 100644
index 0000000..d281ff5
--- /dev/null
+++ b/apt-extra/config.h
@@ -0,0 +1,48 @@
+#undef WORDS_BIGENDIAN
+
+#define HAVE_TIMEGM
+
+//#cmakedefine HAVE_ZLIB
+//#cmakedefine HAVE_BZ2
+//#cmakedefine HAVE_LZMA
+//#cmakedefine HAVE_LZ4
+
+/* These two are used by the statvfs shim for glibc2.0 and bsd */
+/* Define if we have sys/vfs.h */
+//#cmakedefine HAVE_VFS_H
+//#cmakedefine HAVE_STRUCT_STATFS_F_TYPE
+
+#undef HAVE_MOUNT_H
+
+#undef HAVE_SYS_ENDIAN_H
+#define HAVE_MACHINE_ENDIAN_H
+
+#define HAVE_PTHREAD
+
+#undef HAVE_GETRESUID
+#undef HAVE_GETRESGID
+#undef HAVE_SETRESUID
+#undef HAVE_SETRESGID
+
+#undef HAVE_PTSNAME_R
+
+#define COMMON_ARCH "iphoneos-arm"
+#define PACKAGE "cydia" // XXX
+#define PACKAGE_VERSION "${PACKAGE_VERSION}" // XXX
+#define PACKAGE_MAIL "saurik@saurik.com"
+
+#define CMAKE_INSTALL_FULL_BINDIR "/usr/bin"
+#define STATE_DIR "/var/lib/apt"
+#define CACHE_DIR "/var/cache/apt"
+#define LOG_DIR "/var/log/apt"
+#define CONF_DIR "/etc/apt"
+#define LIBEXEC_DIR "/usr/lib/apt"
+#define BIN_DIR "/usr/bin"
+
+#define ROOT_GROUP "wheel"
+
+#define APT_8_CLEANER_HEADERS
+#define APT_9_CLEANER_HEADERS
+#define APT_10_CLEANER_HEADERS
+
+#define SHA2_UNROLL_TRANSFORM
diff --git a/apt-extra/endian.h b/apt-extra/endian.h
new file mode 100644
index 0000000..0de2c02
--- /dev/null
+++ b/apt-extra/endian.h
@@ -0,0 +1 @@
+#include <machine/endian.h>
diff --git a/apt-tag/apt-pkg/tagfile-keys.cc b/apt-tag/apt-pkg/tagfile-keys.cc
new file mode 100644
index 0000000..9a67820
--- /dev/null
+++ b/apt-tag/apt-pkg/tagfile-keys.cc
@@ -0,0 +1,3771 @@
+#include "apt-pkg/tagfile-keys.h"
+#ifdef __GNUC__
+typedef uint16_t __attribute__((aligned (1))) triehash_uu16;
+typedef char static_assert16[__alignof__(triehash_uu16) == 1 ? 1 : -1];
+typedef uint32_t __attribute__((aligned (1))) triehash_uu32;
+typedef char static_assert32[__alignof__(triehash_uu32) == 1 ? 1 : -1];
+typedef uint64_t __attribute__((aligned (1))) triehash_uu64;
+//\0[__alignof__(triehash_uu64) == 1 ? 1 : -1];
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+#define onechar(c, s, l) (((uint64_t)(c)) << (s))
+#else
+#define onechar(c, s, l) (((uint64_t)(c)) << (l-8-s))
+#endif
+#if (!defined(__ARM_ARCH) || defined(__ARM_FEATURE_UNALIGNED)) && !defined(TRIE_HASH_NO_MULTI_BYTE)
+#define TRIE_HASH_MULTI_BYTE
+#endif
+#endif /*GNUC */
+#ifdef TRIE_HASH_MULTI_BYTE
+static enum pkgTagSection::Key pkgTagHash3(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 0| onechar('t', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('g', 0, 8):
+ return pkgTagSection::Key::Tag;
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash4(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 0| onechar('b', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('u', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('g', 0, 8):
+ switch(string[3] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Bugs;
+ }
+ }
+ }
+ break;
+ case 0| onechar('s', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('h', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[3]) {
+ case 0| onechar('1', 0, 8):
+ return pkgTagSection::Key::SHA1;
+ }
+ }
+ break;
+ case 0| onechar('i', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('z', 0, 8):
+ switch(string[3] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ return pkgTagSection::Key::Size;
+ }
+ }
+ }
+ break;
+ case 0| onechar('t', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[3] | 0x20) {
+ case 0| onechar('k', 0, 8):
+ return pkgTagSection::Key::Task;
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash5(const char *string)
+{
+ switch(*((triehash_uu32*) &string[0]) | 0x20202020) {
+ case 0| onechar('c', 0, 32)| onechar('l', 8, 32)| onechar('a', 16, 32)| onechar('s', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Class;
+ }
+ break;
+ case 0| onechar('f', 0, 32)| onechar('i', 8, 32)| onechar('l', 16, 32)| onechar('e', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Files;
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash6(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 0| onechar('b', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('i', 0, 32)| onechar('n', 8, 32)| onechar('a', 16, 32)| onechar('r', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('y', 0, 8):
+ return pkgTagSection::Key::Binary;
+ }
+ break;
+ case 0| onechar('r', 0, 32)| onechar('e', 8, 32)| onechar('a', 16, 32)| onechar('k', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Breaks;
+ }
+ }
+ break;
+ case 0| onechar('f', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('o', 0, 32)| onechar('r', 8, 32)| onechar('m', 16, 32)| onechar('a', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('t', 0, 8):
+ return pkgTagSection::Key::Format;
+ }
+ }
+ break;
+ case 0| onechar('m', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[2]) {
+ case 0| onechar('5', 0, 8):
+ switch(string[3] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[4] | 0x20) {
+ case 0| onechar('u', 0, 8):
+ switch(string[5] | 0x20) {
+ case 0| onechar('m', 0, 8):
+ return pkgTagSection::Key::MD5sum;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('o', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('r', 0, 32)| onechar('i', 8, 32)| onechar('g', 16, 32)| onechar('i', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ return pkgTagSection::Key::Origin;
+ }
+ }
+ break;
+ case 0| onechar('s', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('h', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[3]) {
+ case 0| onechar('2', 0, 8):
+ switch(string[4]) {
+ case 0| onechar('5', 0, 8):
+ switch(string[5]) {
+ case 0| onechar('6', 0, 8):
+ return pkgTagSection::Key::SHA256;
+ }
+ }
+ break;
+ case 0| onechar('5', 0, 8):
+ switch(string[4]) {
+ case 0| onechar('1', 0, 8):
+ switch(string[5]) {
+ case 0| onechar('2', 0, 8):
+ return pkgTagSection::Key::SHA512;
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('o', 0, 8):
+ switch(*((triehash_uu32*) &string[2]) | 0x20202020) {
+ case 0| onechar('u', 0, 32)| onechar('r', 8, 32)| onechar('c', 16, 32)| onechar('e', 24, 32):
+ return pkgTagSection::Key::Source;
+ }
+ break;
+ case 0| onechar('t', 0, 8):
+ switch(*((triehash_uu32*) &string[2]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('t', 8, 32)| onechar('u', 16, 32)| onechar('s', 24, 32):
+ return pkgTagSection::Key::Status;
+ }
+ }
+ break;
+ case 0| onechar('v', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('c', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[3]) {
+ case 0| onechar('-', 0, 8):
+ switch(string[4] | 0x20) {
+ case 0| onechar('h', 0, 8):
+ switch(string[5] | 0x20) {
+ case 0| onechar('g', 0, 8):
+ return pkgTagSection::Key::Vcs_Hg;
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash7(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('e', 0, 32)| onechar('p', 8, 32)| onechar('e', 16, 32)| onechar('n', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Depends;
+ }
+ }
+ }
+ break;
+ case 0| onechar('p', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('c', 8, 32)| onechar('k', 16, 32)| onechar('a', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('g', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ return pkgTagSection::Key::Package;
+ }
+ }
+ }
+ break;
+ case 0| onechar('s', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('e', 0, 32)| onechar('c', 8, 32)| onechar('t', 16, 32)| onechar('i', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('o', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ return pkgTagSection::Key::Section;
+ }
+ }
+ }
+ break;
+ case 0| onechar('v', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('c', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[3]) {
+ case 0| onechar('-', 0, 8):
+ switch(string[4] | 0x20) {
+ case 0| onechar('b', 0, 8):
+ switch(string[5] | 0x20) {
+ case 0| onechar('z', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('r', 0, 8):
+ return pkgTagSection::Key::Vcs_Bzr;
+ }
+ }
+ break;
+ case 0| onechar('c', 0, 8):
+ switch(string[5] | 0x20) {
+ case 0| onechar('v', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Vcs_Cvs;
+ }
+ }
+ break;
+ case 0| onechar('g', 0, 8):
+ switch(string[5] | 0x20) {
+ case 0| onechar('i', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('t', 0, 8):
+ return pkgTagSection::Key::Vcs_Git;
+ }
+ }
+ break;
+ case 0| onechar('m', 0, 8):
+ switch(string[5] | 0x20) {
+ case 0| onechar('t', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ return pkgTagSection::Key::Vcs_Mtn;
+ }
+ }
+ break;
+ case 0| onechar('s', 0, 8):
+ switch(string[5] | 0x20) {
+ case 0| onechar('v', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ return pkgTagSection::Key::Vcs_Svn;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('e', 0, 8):
+ switch(*((triehash_uu32*) &string[2]) | 0x20202020) {
+ case 0| onechar('r', 0, 32)| onechar('s', 8, 32)| onechar('i', 16, 32)| onechar('o', 24, 32):
+ switch(string[6] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ return pkgTagSection::Key::Version;
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash8(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('n', 0, 32)| onechar('h', 8, 32)| onechar('a', 16, 32)| onechar('n', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('c', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[7] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Enhances;
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('f', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('i', 0, 32)| onechar('l', 8, 32)| onechar('e', 16, 32)| onechar('n', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('m', 0, 8):
+ switch(string[7] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ return pkgTagSection::Key::Filename;
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('h', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('o', 0, 32)| onechar('m', 8, 32)| onechar('e', 16, 32)| onechar('p', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('g', 0, 8):
+ switch(string[7] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ return pkgTagSection::Key::Homepage;
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('o', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('p', 0, 32)| onechar('t', 8, 32)| onechar('i', 16, 32)| onechar('o', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[7] | 0x20) {
+ case 0| onechar('l', 0, 8):
+ return pkgTagSection::Key::Optional;
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('p', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('r', 0, 32)| onechar('i', 8, 32)| onechar('o', 16, 32)| onechar('r', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('i', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('t', 0, 8):
+ switch(string[7] | 0x20) {
+ case 0| onechar('y', 0, 8):
+ return pkgTagSection::Key::Priority;
+ }
+ }
+ }
+ break;
+ case 0| onechar('r', 0, 32)| onechar('o', 8, 32)| onechar('v', 16, 32)| onechar('i', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[7] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Provides;
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('r', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('e', 0, 32)| onechar('p', 8, 32)| onechar('l', 16, 32)| onechar('a', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('c', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[7] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Replaces;
+ }
+ }
+ }
+ break;
+ case 0| onechar('e', 0, 32)| onechar('v', 8, 32)| onechar('i', 16, 32)| onechar('s', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('i', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('o', 0, 8):
+ switch(string[7] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ return pkgTagSection::Key::Revision;
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('s', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('u', 0, 32)| onechar('g', 8, 32)| onechar('g', 16, 32)| onechar('e', 24, 32):
+ switch(string[5] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('t', 0, 8):
+ switch(string[7] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Suggests;
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('v', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('c', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[3]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('r', 8, 32)| onechar('c', 16, 32)| onechar('h', 24, 32):
+ return pkgTagSection::Key::Vcs_Arch;
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash9(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 0| onechar('c', 0, 8):
+ switch(*((triehash_uu64*) &string[1]) | 0x2020202020202020) {
+ case 0| onechar('o', 0, 64)| onechar('n', 8, 64)| onechar('f', 16, 64)| onechar('f', 24, 64)| onechar('i', 32, 64)| onechar('l', 40, 64)| onechar('e', 48, 64)| onechar('s', 56, 64):
+ return pkgTagSection::Key::Conffiles;
+ break;
+ case 0| onechar('o', 0, 64)| onechar('n', 8, 64)| onechar('f', 16, 64)| onechar('l', 24, 64)| onechar('i', 32, 64)| onechar('c', 40, 64)| onechar('t', 48, 64)| onechar('s', 56, 64):
+ return pkgTagSection::Key::Conflicts;
+ }
+ break;
+ case 0| onechar('d', 0, 8):
+ switch(*((triehash_uu64*) &string[1]) | 0x2020202020202020) {
+ case 0| onechar('i', 0, 64)| onechar('r', 8, 64)| onechar('e', 16, 64)| onechar('c', 24, 64)| onechar('t', 32, 64)| onechar('o', 40, 64)| onechar('r', 48, 64)| onechar('y', 56, 64):
+ return pkgTagSection::Key::Directory;
+ }
+ break;
+ case 0| onechar('e', 0, 8):
+ switch(*((triehash_uu64*) &string[1]) | 0x2020202020202020) {
+ case 0| onechar('s', 0, 64)| onechar('s', 8, 64)| onechar('e', 16, 64)| onechar('n', 24, 64)| onechar('t', 32, 64)| onechar('i', 40, 64)| onechar('a', 48, 64)| onechar('l', 56, 64):
+ return pkgTagSection::Key::Essential;
+ }
+ break;
+ case 0| onechar('i', 0, 8):
+ switch(*((triehash_uu64*) &string[1]) | 0x2020202020202020) {
+ case 0| onechar('m', 0, 64)| onechar('p', 8, 64)| onechar('o', 16, 64)| onechar('r', 24, 64)| onechar('t', 32, 64)| onechar('a', 40, 64)| onechar('n', 48, 64)| onechar('t', 56, 64):
+ return pkgTagSection::Key::Important;
+ }
+ break;
+ case 0| onechar('t', 0, 8):
+ switch(*((triehash_uu64*) &string[1]) | 0x2020202020202020) {
+ case 0| onechar('e', 0, 64)| onechar('s', 8, 64)| onechar('t', 16, 64)| onechar('s', 24, 64)| onechar('u', 32, 64)| onechar('i', 40, 64)| onechar('t', 48, 64)| onechar('e', 56, 64):
+ return pkgTagSection::Key::Testsuite;
+ }
+ break;
+ case 0| onechar('u', 0, 8):
+ switch(*((triehash_uu64*) &string[1]) | 0x2020202020202020) {
+ case 0| onechar('p', 0, 64)| onechar('l', 8, 64)| onechar('o', 16, 64)| onechar('a', 24, 64)| onechar('d', 32, 64)| onechar('e', 40, 64)| onechar('r', 48, 64)| onechar('s', 56, 64):
+ return pkgTagSection::Key::Uploaders;
+ }
+ break;
+ case 0| onechar('v', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('c', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[3]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('d', 0, 32)| onechar('a', 8, 32)| onechar('r', 16, 32)| onechar('c', 24, 32):
+ switch(string[8] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Vcs_Darcs;
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash10(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 0| onechar('m', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('i', 8, 32)| onechar('n', 16, 32)| onechar('t', 24, 32):
+ switch(*((triehash_uu32*) &string[5]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('i', 8, 32)| onechar('n', 16, 32)| onechar('e', 24, 32):
+ switch(string[9] | 0x20) {
+ case 0| onechar('r', 0, 8):
+ return pkgTagSection::Key::Maintainer;
+ }
+ }
+ break;
+ case 0| onechar('u', 0, 32)| onechar('l', 8, 32)| onechar('t', 16, 32)| onechar('i', 24, 32):
+ switch(string[5]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[6]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('r', 8, 32)| onechar('c', 16, 32)| onechar('h', 24, 32):
+ return pkgTagSection::Key::Multi_Arch;
+ }
+ }
+ }
+ break;
+ case 0| onechar('r', 0, 8):
+ switch(*((triehash_uu64*) &string[1]) | 0x2020202020202020) {
+ case 0| onechar('e', 0, 64)| onechar('c', 8, 64)| onechar('o', 16, 64)| onechar('m', 24, 64)| onechar('m', 32, 64)| onechar('e', 40, 64)| onechar('n', 48, 64)| onechar('d', 56, 64):
+ switch(string[9] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Recommends;
+ }
+ }
+ break;
+ case 0| onechar('v', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('c', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[3]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('b', 0, 32)| onechar('r', 8, 32)| onechar('o', 16, 32)| onechar('w', 24, 32):
+ switch(string[8] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[9] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ return pkgTagSection::Key::Vcs_Browse;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash11(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 0| onechar('b', 0, 8):
+ switch(*((triehash_uu32*) &string[1]) | 0x20202020) {
+ case 0| onechar('u', 0, 32)| onechar('i', 8, 32)| onechar('l', 16, 32)| onechar('t', 24, 32):
+ switch(string[5]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[6]) | 0x20202020) {
+ case 0| onechar('u', 0, 32)| onechar('s', 8, 32)| onechar('i', 16, 32)| onechar('n', 24, 32):
+ switch(string[10] | 0x20) {
+ case 0| onechar('g', 0, 8):
+ return pkgTagSection::Key::Built_Using;
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('d', 0, 8):
+ switch(*((triehash_uu64*) &string[1]) | 0x2020202020202020) {
+ case 0| onechar('e', 0, 64)| onechar('s', 8, 64)| onechar('c', 16, 64)| onechar('r', 24, 64)| onechar('i', 32, 64)| onechar('p', 40, 64)| onechar('t', 48, 64)| onechar('i', 56, 64):
+ switch(string[9] | 0x20) {
+ case 0| onechar('o', 0, 8):
+ switch(string[10] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ return pkgTagSection::Key::Description;
+ }
+ }
+ }
+ break;
+ case 0| onechar('p', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('r', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[3]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('d', 0, 32)| onechar('e', 8, 32)| onechar('p', 16, 32)| onechar('e', 24, 32):
+ switch(string[8] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ switch(string[9] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[10] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Pre_Depends;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('r', 0, 8):
+ switch(*((triehash_uu64*) &string[1]) | 0x2020202020202020) {
+ case 0| onechar('e', 0, 64)| onechar('c', 8, 64)| onechar('o', 16, 64)| onechar('m', 24, 64)| onechar('m', 32, 64)| onechar('e', 40, 64)| onechar('n', 48, 64)| onechar('d', 56, 64):
+ switch(string[9] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[10] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ return pkgTagSection::Key::Recommended;
+ }
+ }
+ }
+ break;
+ case 0| onechar('v', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('c', 0, 8):
+ switch(string[2] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[3]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('b', 0, 32)| onechar('r', 8, 32)| onechar('o', 16, 32)| onechar('w', 24, 32):
+ switch(string[8] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[9] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[10] | 0x20) {
+ case 0| onechar('r', 0, 8):
+ return pkgTagSection::Key::Vcs_Browser;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash12(const char *string)
+{
+ switch(*((triehash_uu32*) &string[0]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('r', 8, 32)| onechar('c', 16, 32)| onechar('h', 24, 32):
+ switch(*((triehash_uu64*) &string[4]) | 0x2020202020202020) {
+ case 0| onechar('i', 0, 64)| onechar('t', 8, 64)| onechar('e', 16, 64)| onechar('c', 24, 64)| onechar('t', 32, 64)| onechar('u', 40, 64)| onechar('r', 48, 64)| onechar('e', 56, 64):
+ return pkgTagSection::Key::Architecture;
+ }
+ break;
+ case 0| onechar('p', 0, 32)| onechar('a', 8, 32)| onechar('c', 16, 32)| onechar('k', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[5] | 0x20) {
+ case 0| onechar('g', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[7]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[8]) | 0x20202020) {
+ case 0| onechar('l', 0, 32)| onechar('i', 8, 32)| onechar('s', 16, 32)| onechar('t', 24, 32):
+ return pkgTagSection::Key::Package_List;
+ break;
+ case 0| onechar('t', 0, 32)| onechar('y', 8, 32)| onechar('p', 16, 32)| onechar('e', 24, 32):
+ return pkgTagSection::Key::Package_Type;
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash13(const char *string)
+{
+ switch(*((triehash_uu32*) &string[0]) | 0x20202020) {
+ case 0| onechar('b', 0, 32)| onechar('u', 8, 32)| onechar('i', 16, 32)| onechar('l', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[5]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[6]) | 0x20202020) {
+ case 0| onechar('d', 0, 32)| onechar('e', 8, 32)| onechar('p', 16, 32)| onechar('e', 24, 32):
+ switch(string[10] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ switch(string[11] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[12] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Build_Depends;
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('c', 0, 32)| onechar('h', 8, 32)| onechar('e', 16, 32)| onechar('c', 24, 32):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('k', 0, 32)| onechar('s', 8, 32)| onechar('u', 16, 32)| onechar('m', 24, 32):
+ switch(string[8] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[9]) {
+ case 0| onechar('-', 0, 8):
+ switch(string[10] | 0x20) {
+ case 0| onechar('m', 0, 8):
+ switch(string[11] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[12]) {
+ case 0| onechar('5', 0, 8):
+ return pkgTagSection::Key::Checksums_Md5;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash14(const char *string)
+{
+ switch(*((triehash_uu32*) &string[0]) | 0x20202020) {
+ case 0| onechar('c', 0, 32)| onechar('h', 8, 32)| onechar('e', 16, 32)| onechar('c', 24, 32):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('k', 0, 32)| onechar('s', 8, 32)| onechar('u', 16, 32)| onechar('m', 24, 32):
+ switch(string[8] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[9]) {
+ case 0| onechar('-', 0, 8):
+ switch(string[10] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[11] | 0x20) {
+ case 0| onechar('h', 0, 8):
+ switch(string[12] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[13]) {
+ case 0| onechar('1', 0, 8):
+ return pkgTagSection::Key::Checksums_Sha1;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('c', 0, 32)| onechar('o', 8, 32)| onechar('n', 16, 32)| onechar('f', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('i', 0, 8):
+ switch(string[5] | 0x20) {
+ case 0| onechar('g', 0, 8):
+ switch(string[6]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[7]) | 0x20202020) {
+ case 0| onechar('v', 0, 32)| onechar('e', 8, 32)| onechar('r', 16, 32)| onechar('s', 24, 32):
+ switch(string[11] | 0x20) {
+ case 0| onechar('i', 0, 8):
+ switch(string[12] | 0x20) {
+ case 0| onechar('o', 0, 8):
+ switch(string[13] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ return pkgTagSection::Key::Config_Version;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('i', 0, 32)| onechar('n', 8, 32)| onechar('s', 16, 32)| onechar('t', 24, 32):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('l', 8, 32)| onechar('l', 16, 32)| onechar('e', 24, 32):
+ switch(string[8] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[9]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[10]) | 0x20202020) {
+ case 0| onechar('s', 0, 32)| onechar('i', 8, 32)| onechar('z', 16, 32)| onechar('e', 24, 32):
+ return pkgTagSection::Key::Installed_Size;
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('k', 0, 32)| onechar('e', 8, 32)| onechar('r', 16, 32)| onechar('n', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[5] | 0x20) {
+ case 0| onechar('l', 0, 8):
+ switch(string[6]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[7]) | 0x20202020) {
+ case 0| onechar('v', 0, 32)| onechar('e', 8, 32)| onechar('r', 16, 32)| onechar('s', 24, 32):
+ switch(string[11] | 0x20) {
+ case 0| onechar('i', 0, 8):
+ switch(string[12] | 0x20) {
+ case 0| onechar('o', 0, 8):
+ switch(string[13] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ return pkgTagSection::Key::Kernel_Version;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('m', 0, 32)| onechar('s', 8, 32)| onechar('d', 16, 32)| onechar('o', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[5]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu64*) &string[6]) | 0x2020202020202020) {
+ case 0| onechar('f', 0, 64)| onechar('i', 8, 64)| onechar('l', 16, 64)| onechar('e', 24, 64)| onechar('n', 32, 64)| onechar('a', 40, 64)| onechar('m', 48, 64)| onechar('e', 56, 64):
+ return pkgTagSection::Key::MSDOS_Filename;
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash15(const char *string)
+{
+ switch(*((triehash_uu32*) &string[0]) | 0x20202020) {
+ case 0| onechar('b', 0, 32)| onechar('u', 8, 32)| onechar('i', 16, 32)| onechar('l', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[5]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu64*) &string[6]) | 0x2020202020202020) {
+ case 0| onechar('c', 0, 64)| onechar('o', 8, 64)| onechar('n', 16, 64)| onechar('f', 24, 64)| onechar('l', 32, 64)| onechar('i', 40, 64)| onechar('c', 48, 64)| onechar('t', 56, 64):
+ switch(string[14] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ return pkgTagSection::Key::Build_Conflicts;
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('d', 0, 32)| onechar('e', 8, 32)| onechar('s', 16, 32)| onechar('c', 24, 32):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('r', 0, 32)| onechar('i', 8, 32)| onechar('p', 16, 32)| onechar('t', 24, 32):
+ switch(string[8] | 0x20) {
+ case 0| onechar('i', 0, 8):
+ switch(string[9] | 0x20) {
+ case 0| onechar('o', 0, 8):
+ switch(string[10] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ switch(string[11]) {
+ case 0| onechar('-', 0, 8):
+ switch(string[12] | 0x20) {
+ case 0| onechar('m', 0, 8):
+ switch(string[13] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[14]) {
+ case 0| onechar('5', 0, 8):
+ return pkgTagSection::Key::Description_md5;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('s', 0, 32)| onechar('u', 8, 32)| onechar('b', 16, 32)| onechar('a', 24, 32):
+ switch(*((triehash_uu64*) &string[4]) | 0x2020202020202020) {
+ case 0| onechar('r', 0, 64)| onechar('c', 8, 64)| onechar('h', 16, 64)| onechar('i', 24, 64)| onechar('t', 32, 64)| onechar('e', 40, 64)| onechar('c', 48, 64)| onechar('t', 56, 64):
+ switch(string[12] | 0x20) {
+ case 0| onechar('u', 0, 8):
+ switch(string[13] | 0x20) {
+ case 0| onechar('r', 0, 8):
+ switch(string[14] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ return pkgTagSection::Key::Subarchitecture;
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash16(const char *string)
+{
+ switch(*((triehash_uu32*) &string[0]) | 0x20202020) {
+ case 0| onechar('c', 0, 32)| onechar('h', 8, 32)| onechar('e', 16, 32)| onechar('c', 24, 32):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('k', 0, 32)| onechar('s', 8, 32)| onechar('u', 16, 32)| onechar('m', 24, 32):
+ switch(string[8] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[9]) {
+ case 0| onechar('-', 0, 8):
+ switch(string[10] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[11] | 0x20) {
+ case 0| onechar('h', 0, 8):
+ switch(string[12] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[13]) {
+ case 0| onechar('2', 0, 8):
+ switch(string[14]) {
+ case 0| onechar('5', 0, 8):
+ switch(string[15]) {
+ case 0| onechar('6', 0, 8):
+ return pkgTagSection::Key::Checksums_Sha256;
+ }
+ }
+ break;
+ case 0| onechar('5', 0, 8):
+ switch(string[14]) {
+ case 0| onechar('1', 0, 8):
+ switch(string[15]) {
+ case 0| onechar('2', 0, 8):
+ return pkgTagSection::Key::Checksums_Sha512;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('p', 0, 32)| onechar('a', 8, 32)| onechar('c', 16, 32)| onechar('k', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[5] | 0x20) {
+ case 0| onechar('g', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[7]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu64*) &string[8]) | 0x2020202020202020) {
+ case 0| onechar('r', 0, 64)| onechar('e', 8, 64)| onechar('v', 16, 64)| onechar('i', 24, 64)| onechar('s', 32, 64)| onechar('i', 40, 64)| onechar('o', 48, 64)| onechar('n', 56, 64):
+ return pkgTagSection::Key::Package_Revision;
+ }
+ break;
+ case 0| onechar('_', 0, 8):
+ switch(*((triehash_uu64*) &string[8]) | 0x2020202020202020) {
+ case 0| onechar('r', 0, 64)| onechar('e', 8, 64)| onechar('v', 16, 64)| onechar('i', 24, 64)| onechar('s', 32, 64)| onechar('i', 40, 64)| onechar('o', 48, 64)| onechar('n', 56, 64):
+ return pkgTagSection::Key::Package__Revision;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('t', 0, 32)| onechar('r', 8, 32)| onechar('i', 16, 32)| onechar('g', 24, 32):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('g', 0, 32)| onechar('e', 8, 32)| onechar('r', 16, 32)| onechar('s', 24, 32):
+ switch(string[8]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[9]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('w', 8, 32)| onechar('a', 16, 32)| onechar('i', 24, 32):
+ switch(string[13] | 0x20) {
+ case 0| onechar('t', 0, 8):
+ switch(string[14] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[15] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ return pkgTagSection::Key::Triggers_Awaited;
+ }
+ }
+ }
+ break;
+ case 0| onechar('p', 0, 32)| onechar('e', 8, 32)| onechar('n', 16, 32)| onechar('d', 24, 32):
+ switch(string[13] | 0x20) {
+ case 0| onechar('i', 0, 8):
+ switch(string[14] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ switch(string[15] | 0x20) {
+ case 0| onechar('g', 0, 8):
+ return pkgTagSection::Key::Triggers_Pending;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash17(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[1] | 0x20) {
+ case 0| onechar('m', 0, 8):
+ switch(string[2]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[3]) | 0x20202020) {
+ case 0| onechar('u', 0, 32)| onechar('p', 8, 32)| onechar('l', 16, 32)| onechar('o', 24, 32):
+ switch(string[7] | 0x20) {
+ case 0| onechar('a', 0, 8):
+ switch(string[8] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[9]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[10]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('l', 8, 32)| onechar('l', 16, 32)| onechar('o', 24, 32):
+ switch(string[14] | 0x20) {
+ case 0| onechar('w', 0, 8):
+ switch(string[15] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[16] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ return pkgTagSection::Key::Dm_Upload_Allowed;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('s', 0, 8):
+ switch(*((triehash_uu64*) &string[1]) | 0x2020202020202020) {
+ case 0| onechar('t', 0, 64)| onechar('a', 8, 64)| onechar('n', 16, 64)| onechar('d', 24, 64)| onechar('a', 32, 64)| onechar('r', 40, 64)| onechar('d', 48, 64)| onechar('s', 56, 64):
+ switch(string[9]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[10]) | 0x20202020) {
+ case 0| onechar('v', 0, 32)| onechar('e', 8, 32)| onechar('r', 16, 32)| onechar('s', 24, 32):
+ switch(string[14] | 0x20) {
+ case 0| onechar('i', 0, 8):
+ switch(string[15] | 0x20) {
+ case 0| onechar('o', 0, 8):
+ switch(string[16] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ return pkgTagSection::Key::Standards_Version;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash18(const char *string)
+{
+ switch(*((triehash_uu32*) &string[0]) | 0x20202020) {
+ case 0| onechar('b', 0, 32)| onechar('u', 8, 32)| onechar('i', 16, 32)| onechar('l', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[5]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[6]) | 0x20202020) {
+ case 0| onechar('d', 0, 32)| onechar('e', 8, 32)| onechar('p', 16, 32)| onechar('e', 24, 32):
+ switch(string[10] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ switch(string[11] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[12] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[13]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[14]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('r', 8, 32)| onechar('c', 16, 32)| onechar('h', 24, 32):
+ return pkgTagSection::Key::Build_Depends_Arch;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('t', 0, 8):
+ switch(string[5]) {
+ case 0| onechar('-', 0, 8):
+ switch(string[6] | 0x20) {
+ case 0| onechar('f', 0, 8):
+ switch(string[7] | 0x20) {
+ case 0| onechar('o', 0, 8):
+ switch(string[8] | 0x20) {
+ case 0| onechar('r', 0, 8):
+ switch(string[9]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu64*) &string[10]) | 0x2020202020202020) {
+ case 0| onechar('p', 0, 64)| onechar('r', 8, 64)| onechar('o', 16, 64)| onechar('f', 24, 64)| onechar('i', 32, 64)| onechar('l', 40, 64)| onechar('e', 48, 64)| onechar('s', 56, 64):
+ return pkgTagSection::Key::Built_For_Profiles;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('t', 0, 32)| onechar('e', 8, 32)| onechar('s', 16, 32)| onechar('t', 24, 32):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('s', 0, 32)| onechar('u', 8, 32)| onechar('i', 16, 32)| onechar('t', 24, 32):
+ switch(string[8] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[9]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu64*) &string[10]) | 0x2020202020202020) {
+ case 0| onechar('t', 0, 64)| onechar('r', 8, 64)| onechar('i', 16, 64)| onechar('g', 24, 64)| onechar('g', 32, 64)| onechar('e', 40, 64)| onechar('r', 48, 64)| onechar('s', 56, 64):
+ return pkgTagSection::Key::Testsuite_Triggers;
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash19(const char *string)
+{
+ switch(*((triehash_uu32*) &string[0]) | 0x20202020) {
+ case 0| onechar('b', 0, 32)| onechar('u', 8, 32)| onechar('i', 16, 32)| onechar('l', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[5]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[6]) | 0x20202020) {
+ case 0| onechar('d', 0, 32)| onechar('e', 8, 32)| onechar('p', 16, 32)| onechar('e', 24, 32):
+ switch(string[10] | 0x20) {
+ case 0| onechar('n', 0, 8):
+ switch(string[11] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[12] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[13]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[14]) | 0x20202020) {
+ case 0| onechar('i', 0, 32)| onechar('n', 8, 32)| onechar('d', 16, 32)| onechar('e', 24, 32):
+ switch(string[18] | 0x20) {
+ case 0| onechar('p', 0, 8):
+ return pkgTagSection::Key::Build_Depends_Indep;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('i', 0, 32)| onechar('n', 8, 32)| onechar('s', 16, 32)| onechar('t', 24, 32):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('l', 8, 32)| onechar('l', 16, 32)| onechar('e', 24, 32):
+ switch(string[8] | 0x20) {
+ case 0| onechar('r', 0, 8):
+ switch(string[9]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[10]) | 0x20202020) {
+ case 0| onechar('m', 0, 32)| onechar('e', 8, 32)| onechar('n', 16, 32)| onechar('u', 24, 32):
+ switch(string[14]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[15]) | 0x20202020) {
+ case 0| onechar('i', 0, 32)| onechar('t', 8, 32)| onechar('e', 16, 32)| onechar('m', 24, 32):
+ return pkgTagSection::Key::Installer_Menu_Item;
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 0| onechar('o', 0, 32)| onechar('r', 8, 32)| onechar('i', 16, 32)| onechar('g', 24, 32):
+ switch(*((triehash_uu32*) &string[4]) | 0x20202020) {
+ case 0| onechar('i', 0, 32)| onechar('n', 8, 32)| onechar('a', 16, 32)| onechar('l', 24, 32):
+ switch(string[8]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu64*) &string[9]) | 0x2020202020202020) {
+ case 0| onechar('m', 0, 64)| onechar('a', 8, 64)| onechar('i', 16, 64)| onechar('n', 24, 64)| onechar('t', 32, 64)| onechar('a', 40, 64)| onechar('i', 48, 64)| onechar('n', 56, 64):
+ switch(string[17] | 0x20) {
+ case 0| onechar('e', 0, 8):
+ switch(string[18] | 0x20) {
+ case 0| onechar('r', 0, 8):
+ return pkgTagSection::Key::Original_Maintainer;
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash20(const char *string)
+{
+ switch(*((triehash_uu32*) &string[0]) | 0x20202020) {
+ case 0| onechar('b', 0, 32)| onechar('u', 8, 32)| onechar('i', 16, 32)| onechar('l', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[5]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu64*) &string[6]) | 0x2020202020202020) {
+ case 0| onechar('c', 0, 64)| onechar('o', 8, 64)| onechar('n', 16, 64)| onechar('f', 24, 64)| onechar('l', 32, 64)| onechar('i', 40, 64)| onechar('c', 48, 64)| onechar('t', 56, 64):
+ switch(string[14] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[15]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[16]) | 0x20202020) {
+ case 0| onechar('a', 0, 32)| onechar('r', 8, 32)| onechar('c', 16, 32)| onechar('h', 24, 32):
+ return pkgTagSection::Key::Build_Conflicts_Arch;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash21(const char *string)
+{
+ switch(*((triehash_uu32*) &string[0]) | 0x20202020) {
+ case 0| onechar('b', 0, 32)| onechar('u', 8, 32)| onechar('i', 16, 32)| onechar('l', 24, 32):
+ switch(string[4] | 0x20) {
+ case 0| onechar('d', 0, 8):
+ switch(string[5]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu64*) &string[6]) | 0x2020202020202020) {
+ case 0| onechar('c', 0, 64)| onechar('o', 8, 64)| onechar('n', 16, 64)| onechar('f', 24, 64)| onechar('l', 32, 64)| onechar('i', 40, 64)| onechar('c', 48, 64)| onechar('t', 56, 64):
+ switch(string[14] | 0x20) {
+ case 0| onechar('s', 0, 8):
+ switch(string[15]) {
+ case 0| onechar('-', 0, 8):
+ switch(*((triehash_uu32*) &string[16]) | 0x20202020) {
+ case 0| onechar('i', 0, 32)| onechar('n', 8, 32)| onechar('d', 16, 32)| onechar('e', 24, 32):
+ switch(string[20] | 0x20) {
+ case 0| onechar('p', 0, 8):
+ return pkgTagSection::Key::Build_Conflicts_Indep;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+#else
+static enum pkgTagSection::Key pkgTagHash3(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 't':
+ switch(string[1] | 0x20) {
+ case 'a':
+ switch(string[2] | 0x20) {
+ case 'g':
+ return pkgTagSection::Key::Tag;
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash4(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'b':
+ switch(string[1] | 0x20) {
+ case 'u':
+ switch(string[2] | 0x20) {
+ case 'g':
+ switch(string[3] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Bugs;
+ }
+ }
+ }
+ break;
+ case 's':
+ switch(string[1] | 0x20) {
+ case 'h':
+ switch(string[2] | 0x20) {
+ case 'a':
+ switch(string[3]) {
+ case '1':
+ return pkgTagSection::Key::SHA1;
+ }
+ }
+ break;
+ case 'i':
+ switch(string[2] | 0x20) {
+ case 'z':
+ switch(string[3] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::Size;
+ }
+ }
+ }
+ break;
+ case 't':
+ switch(string[1] | 0x20) {
+ case 'a':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3] | 0x20) {
+ case 'k':
+ return pkgTagSection::Key::Task;
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash5(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'c':
+ switch(string[1] | 0x20) {
+ case 'l':
+ switch(string[2] | 0x20) {
+ case 'a':
+ switch(string[3] | 0x20) {
+ case 's':
+ switch(string[4] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Class;
+ }
+ }
+ }
+ }
+ break;
+ case 'f':
+ switch(string[1] | 0x20) {
+ case 'i':
+ switch(string[2] | 0x20) {
+ case 'l':
+ switch(string[3] | 0x20) {
+ case 'e':
+ switch(string[4] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Files;
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash6(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'b':
+ switch(string[1] | 0x20) {
+ case 'i':
+ switch(string[2] | 0x20) {
+ case 'n':
+ switch(string[3] | 0x20) {
+ case 'a':
+ switch(string[4] | 0x20) {
+ case 'r':
+ switch(string[5] | 0x20) {
+ case 'y':
+ return pkgTagSection::Key::Binary;
+ }
+ }
+ }
+ }
+ break;
+ case 'r':
+ switch(string[2] | 0x20) {
+ case 'e':
+ switch(string[3] | 0x20) {
+ case 'a':
+ switch(string[4] | 0x20) {
+ case 'k':
+ switch(string[5] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Breaks;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'f':
+ switch(string[1] | 0x20) {
+ case 'o':
+ switch(string[2] | 0x20) {
+ case 'r':
+ switch(string[3] | 0x20) {
+ case 'm':
+ switch(string[4] | 0x20) {
+ case 'a':
+ switch(string[5] | 0x20) {
+ case 't':
+ return pkgTagSection::Key::Format;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'm':
+ switch(string[1] | 0x20) {
+ case 'd':
+ switch(string[2]) {
+ case '5':
+ switch(string[3] | 0x20) {
+ case 's':
+ switch(string[4] | 0x20) {
+ case 'u':
+ switch(string[5] | 0x20) {
+ case 'm':
+ return pkgTagSection::Key::MD5sum;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'o':
+ switch(string[1] | 0x20) {
+ case 'r':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'g':
+ switch(string[4] | 0x20) {
+ case 'i':
+ switch(string[5] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Origin;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 's':
+ switch(string[1] | 0x20) {
+ case 'h':
+ switch(string[2] | 0x20) {
+ case 'a':
+ switch(string[3]) {
+ case '2':
+ switch(string[4]) {
+ case '5':
+ switch(string[5]) {
+ case '6':
+ return pkgTagSection::Key::SHA256;
+ }
+ }
+ break;
+ case '5':
+ switch(string[4]) {
+ case '1':
+ switch(string[5]) {
+ case '2':
+ return pkgTagSection::Key::SHA512;
+ }
+ }
+ }
+ }
+ break;
+ case 'o':
+ switch(string[2] | 0x20) {
+ case 'u':
+ switch(string[3] | 0x20) {
+ case 'r':
+ switch(string[4] | 0x20) {
+ case 'c':
+ switch(string[5] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::Source;
+ }
+ }
+ }
+ }
+ break;
+ case 't':
+ switch(string[2] | 0x20) {
+ case 'a':
+ switch(string[3] | 0x20) {
+ case 't':
+ switch(string[4] | 0x20) {
+ case 'u':
+ switch(string[5] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Status;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'v':
+ switch(string[1] | 0x20) {
+ case 'c':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3]) {
+ case '-':
+ switch(string[4] | 0x20) {
+ case 'h':
+ switch(string[5] | 0x20) {
+ case 'g':
+ return pkgTagSection::Key::Vcs_Hg;
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash7(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'd':
+ switch(string[1] | 0x20) {
+ case 'e':
+ switch(string[2] | 0x20) {
+ case 'p':
+ switch(string[3] | 0x20) {
+ case 'e':
+ switch(string[4] | 0x20) {
+ case 'n':
+ switch(string[5] | 0x20) {
+ case 'd':
+ switch(string[6] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Depends;
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'p':
+ switch(string[1] | 0x20) {
+ case 'a':
+ switch(string[2] | 0x20) {
+ case 'c':
+ switch(string[3] | 0x20) {
+ case 'k':
+ switch(string[4] | 0x20) {
+ case 'a':
+ switch(string[5] | 0x20) {
+ case 'g':
+ switch(string[6] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::Package;
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 's':
+ switch(string[1] | 0x20) {
+ case 'e':
+ switch(string[2] | 0x20) {
+ case 'c':
+ switch(string[3] | 0x20) {
+ case 't':
+ switch(string[4] | 0x20) {
+ case 'i':
+ switch(string[5] | 0x20) {
+ case 'o':
+ switch(string[6] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Section;
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'v':
+ switch(string[1] | 0x20) {
+ case 'c':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3]) {
+ case '-':
+ switch(string[4] | 0x20) {
+ case 'b':
+ switch(string[5] | 0x20) {
+ case 'z':
+ switch(string[6] | 0x20) {
+ case 'r':
+ return pkgTagSection::Key::Vcs_Bzr;
+ }
+ }
+ break;
+ case 'c':
+ switch(string[5] | 0x20) {
+ case 'v':
+ switch(string[6] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Vcs_Cvs;
+ }
+ }
+ break;
+ case 'g':
+ switch(string[5] | 0x20) {
+ case 'i':
+ switch(string[6] | 0x20) {
+ case 't':
+ return pkgTagSection::Key::Vcs_Git;
+ }
+ }
+ break;
+ case 'm':
+ switch(string[5] | 0x20) {
+ case 't':
+ switch(string[6] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Vcs_Mtn;
+ }
+ }
+ break;
+ case 's':
+ switch(string[5] | 0x20) {
+ case 'v':
+ switch(string[6] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Vcs_Svn;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'e':
+ switch(string[2] | 0x20) {
+ case 'r':
+ switch(string[3] | 0x20) {
+ case 's':
+ switch(string[4] | 0x20) {
+ case 'i':
+ switch(string[5] | 0x20) {
+ case 'o':
+ switch(string[6] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Version;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash8(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'e':
+ switch(string[1] | 0x20) {
+ case 'n':
+ switch(string[2] | 0x20) {
+ case 'h':
+ switch(string[3] | 0x20) {
+ case 'a':
+ switch(string[4] | 0x20) {
+ case 'n':
+ switch(string[5] | 0x20) {
+ case 'c':
+ switch(string[6] | 0x20) {
+ case 'e':
+ switch(string[7] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Enhances;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'f':
+ switch(string[1] | 0x20) {
+ case 'i':
+ switch(string[2] | 0x20) {
+ case 'l':
+ switch(string[3] | 0x20) {
+ case 'e':
+ switch(string[4] | 0x20) {
+ case 'n':
+ switch(string[5] | 0x20) {
+ case 'a':
+ switch(string[6] | 0x20) {
+ case 'm':
+ switch(string[7] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::Filename;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'h':
+ switch(string[1] | 0x20) {
+ case 'o':
+ switch(string[2] | 0x20) {
+ case 'm':
+ switch(string[3] | 0x20) {
+ case 'e':
+ switch(string[4] | 0x20) {
+ case 'p':
+ switch(string[5] | 0x20) {
+ case 'a':
+ switch(string[6] | 0x20) {
+ case 'g':
+ switch(string[7] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::Homepage;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'o':
+ switch(string[1] | 0x20) {
+ case 'p':
+ switch(string[2] | 0x20) {
+ case 't':
+ switch(string[3] | 0x20) {
+ case 'i':
+ switch(string[4] | 0x20) {
+ case 'o':
+ switch(string[5] | 0x20) {
+ case 'n':
+ switch(string[6] | 0x20) {
+ case 'a':
+ switch(string[7] | 0x20) {
+ case 'l':
+ return pkgTagSection::Key::Optional;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'p':
+ switch(string[1] | 0x20) {
+ case 'r':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'o':
+ switch(string[4] | 0x20) {
+ case 'r':
+ switch(string[5] | 0x20) {
+ case 'i':
+ switch(string[6] | 0x20) {
+ case 't':
+ switch(string[7] | 0x20) {
+ case 'y':
+ return pkgTagSection::Key::Priority;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'o':
+ switch(string[3] | 0x20) {
+ case 'v':
+ switch(string[4] | 0x20) {
+ case 'i':
+ switch(string[5] | 0x20) {
+ case 'd':
+ switch(string[6] | 0x20) {
+ case 'e':
+ switch(string[7] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Provides;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'r':
+ switch(string[1] | 0x20) {
+ case 'e':
+ switch(string[2] | 0x20) {
+ case 'p':
+ switch(string[3] | 0x20) {
+ case 'l':
+ switch(string[4] | 0x20) {
+ case 'a':
+ switch(string[5] | 0x20) {
+ case 'c':
+ switch(string[6] | 0x20) {
+ case 'e':
+ switch(string[7] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Replaces;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'v':
+ switch(string[3] | 0x20) {
+ case 'i':
+ switch(string[4] | 0x20) {
+ case 's':
+ switch(string[5] | 0x20) {
+ case 'i':
+ switch(string[6] | 0x20) {
+ case 'o':
+ switch(string[7] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Revision;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 's':
+ switch(string[1] | 0x20) {
+ case 'u':
+ switch(string[2] | 0x20) {
+ case 'g':
+ switch(string[3] | 0x20) {
+ case 'g':
+ switch(string[4] | 0x20) {
+ case 'e':
+ switch(string[5] | 0x20) {
+ case 's':
+ switch(string[6] | 0x20) {
+ case 't':
+ switch(string[7] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Suggests;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'v':
+ switch(string[1] | 0x20) {
+ case 'c':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3]) {
+ case '-':
+ switch(string[4] | 0x20) {
+ case 'a':
+ switch(string[5] | 0x20) {
+ case 'r':
+ switch(string[6] | 0x20) {
+ case 'c':
+ switch(string[7] | 0x20) {
+ case 'h':
+ return pkgTagSection::Key::Vcs_Arch;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash9(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'c':
+ switch(string[1] | 0x20) {
+ case 'o':
+ switch(string[2] | 0x20) {
+ case 'n':
+ switch(string[3] | 0x20) {
+ case 'f':
+ switch(string[4] | 0x20) {
+ case 'f':
+ switch(string[5] | 0x20) {
+ case 'i':
+ switch(string[6] | 0x20) {
+ case 'l':
+ switch(string[7] | 0x20) {
+ case 'e':
+ switch(string[8] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Conffiles;
+ }
+ }
+ }
+ }
+ break;
+ case 'l':
+ switch(string[5] | 0x20) {
+ case 'i':
+ switch(string[6] | 0x20) {
+ case 'c':
+ switch(string[7] | 0x20) {
+ case 't':
+ switch(string[8] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Conflicts;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'd':
+ switch(string[1] | 0x20) {
+ case 'i':
+ switch(string[2] | 0x20) {
+ case 'r':
+ switch(string[3] | 0x20) {
+ case 'e':
+ switch(string[4] | 0x20) {
+ case 'c':
+ switch(string[5] | 0x20) {
+ case 't':
+ switch(string[6] | 0x20) {
+ case 'o':
+ switch(string[7] | 0x20) {
+ case 'r':
+ switch(string[8] | 0x20) {
+ case 'y':
+ return pkgTagSection::Key::Directory;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'e':
+ switch(string[1] | 0x20) {
+ case 's':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3] | 0x20) {
+ case 'e':
+ switch(string[4] | 0x20) {
+ case 'n':
+ switch(string[5] | 0x20) {
+ case 't':
+ switch(string[6] | 0x20) {
+ case 'i':
+ switch(string[7] | 0x20) {
+ case 'a':
+ switch(string[8] | 0x20) {
+ case 'l':
+ return pkgTagSection::Key::Essential;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'i':
+ switch(string[1] | 0x20) {
+ case 'm':
+ switch(string[2] | 0x20) {
+ case 'p':
+ switch(string[3] | 0x20) {
+ case 'o':
+ switch(string[4] | 0x20) {
+ case 'r':
+ switch(string[5] | 0x20) {
+ case 't':
+ switch(string[6] | 0x20) {
+ case 'a':
+ switch(string[7] | 0x20) {
+ case 'n':
+ switch(string[8] | 0x20) {
+ case 't':
+ return pkgTagSection::Key::Important;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 't':
+ switch(string[1] | 0x20) {
+ case 'e':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3] | 0x20) {
+ case 't':
+ switch(string[4] | 0x20) {
+ case 's':
+ switch(string[5] | 0x20) {
+ case 'u':
+ switch(string[6] | 0x20) {
+ case 'i':
+ switch(string[7] | 0x20) {
+ case 't':
+ switch(string[8] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::Testsuite;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'u':
+ switch(string[1] | 0x20) {
+ case 'p':
+ switch(string[2] | 0x20) {
+ case 'l':
+ switch(string[3] | 0x20) {
+ case 'o':
+ switch(string[4] | 0x20) {
+ case 'a':
+ switch(string[5] | 0x20) {
+ case 'd':
+ switch(string[6] | 0x20) {
+ case 'e':
+ switch(string[7] | 0x20) {
+ case 'r':
+ switch(string[8] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Uploaders;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'v':
+ switch(string[1] | 0x20) {
+ case 'c':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3]) {
+ case '-':
+ switch(string[4] | 0x20) {
+ case 'd':
+ switch(string[5] | 0x20) {
+ case 'a':
+ switch(string[6] | 0x20) {
+ case 'r':
+ switch(string[7] | 0x20) {
+ case 'c':
+ switch(string[8] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Vcs_Darcs;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash10(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'm':
+ switch(string[1] | 0x20) {
+ case 'a':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'n':
+ switch(string[4] | 0x20) {
+ case 't':
+ switch(string[5] | 0x20) {
+ case 'a':
+ switch(string[6] | 0x20) {
+ case 'i':
+ switch(string[7] | 0x20) {
+ case 'n':
+ switch(string[8] | 0x20) {
+ case 'e':
+ switch(string[9] | 0x20) {
+ case 'r':
+ return pkgTagSection::Key::Maintainer;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'u':
+ switch(string[2] | 0x20) {
+ case 'l':
+ switch(string[3] | 0x20) {
+ case 't':
+ switch(string[4] | 0x20) {
+ case 'i':
+ switch(string[5]) {
+ case '-':
+ switch(string[6] | 0x20) {
+ case 'a':
+ switch(string[7] | 0x20) {
+ case 'r':
+ switch(string[8] | 0x20) {
+ case 'c':
+ switch(string[9] | 0x20) {
+ case 'h':
+ return pkgTagSection::Key::Multi_Arch;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'r':
+ switch(string[1] | 0x20) {
+ case 'e':
+ switch(string[2] | 0x20) {
+ case 'c':
+ switch(string[3] | 0x20) {
+ case 'o':
+ switch(string[4] | 0x20) {
+ case 'm':
+ switch(string[5] | 0x20) {
+ case 'm':
+ switch(string[6] | 0x20) {
+ case 'e':
+ switch(string[7] | 0x20) {
+ case 'n':
+ switch(string[8] | 0x20) {
+ case 'd':
+ switch(string[9] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Recommends;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'v':
+ switch(string[1] | 0x20) {
+ case 'c':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3]) {
+ case '-':
+ switch(string[4] | 0x20) {
+ case 'b':
+ switch(string[5] | 0x20) {
+ case 'r':
+ switch(string[6] | 0x20) {
+ case 'o':
+ switch(string[7] | 0x20) {
+ case 'w':
+ switch(string[8] | 0x20) {
+ case 's':
+ switch(string[9] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::Vcs_Browse;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash11(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'b':
+ switch(string[1] | 0x20) {
+ case 'u':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'l':
+ switch(string[4] | 0x20) {
+ case 't':
+ switch(string[5]) {
+ case '-':
+ switch(string[6] | 0x20) {
+ case 'u':
+ switch(string[7] | 0x20) {
+ case 's':
+ switch(string[8] | 0x20) {
+ case 'i':
+ switch(string[9] | 0x20) {
+ case 'n':
+ switch(string[10] | 0x20) {
+ case 'g':
+ return pkgTagSection::Key::Built_Using;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'd':
+ switch(string[1] | 0x20) {
+ case 'e':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3] | 0x20) {
+ case 'c':
+ switch(string[4] | 0x20) {
+ case 'r':
+ switch(string[5] | 0x20) {
+ case 'i':
+ switch(string[6] | 0x20) {
+ case 'p':
+ switch(string[7] | 0x20) {
+ case 't':
+ switch(string[8] | 0x20) {
+ case 'i':
+ switch(string[9] | 0x20) {
+ case 'o':
+ switch(string[10] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Description;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'p':
+ switch(string[1] | 0x20) {
+ case 'r':
+ switch(string[2] | 0x20) {
+ case 'e':
+ switch(string[3]) {
+ case '-':
+ switch(string[4] | 0x20) {
+ case 'd':
+ switch(string[5] | 0x20) {
+ case 'e':
+ switch(string[6] | 0x20) {
+ case 'p':
+ switch(string[7] | 0x20) {
+ case 'e':
+ switch(string[8] | 0x20) {
+ case 'n':
+ switch(string[9] | 0x20) {
+ case 'd':
+ switch(string[10] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Pre_Depends;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'r':
+ switch(string[1] | 0x20) {
+ case 'e':
+ switch(string[2] | 0x20) {
+ case 'c':
+ switch(string[3] | 0x20) {
+ case 'o':
+ switch(string[4] | 0x20) {
+ case 'm':
+ switch(string[5] | 0x20) {
+ case 'm':
+ switch(string[6] | 0x20) {
+ case 'e':
+ switch(string[7] | 0x20) {
+ case 'n':
+ switch(string[8] | 0x20) {
+ case 'd':
+ switch(string[9] | 0x20) {
+ case 'e':
+ switch(string[10] | 0x20) {
+ case 'd':
+ return pkgTagSection::Key::Recommended;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'v':
+ switch(string[1] | 0x20) {
+ case 'c':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3]) {
+ case '-':
+ switch(string[4] | 0x20) {
+ case 'b':
+ switch(string[5] | 0x20) {
+ case 'r':
+ switch(string[6] | 0x20) {
+ case 'o':
+ switch(string[7] | 0x20) {
+ case 'w':
+ switch(string[8] | 0x20) {
+ case 's':
+ switch(string[9] | 0x20) {
+ case 'e':
+ switch(string[10] | 0x20) {
+ case 'r':
+ return pkgTagSection::Key::Vcs_Browser;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash12(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'a':
+ switch(string[1] | 0x20) {
+ case 'r':
+ switch(string[2] | 0x20) {
+ case 'c':
+ switch(string[3] | 0x20) {
+ case 'h':
+ switch(string[4] | 0x20) {
+ case 'i':
+ switch(string[5] | 0x20) {
+ case 't':
+ switch(string[6] | 0x20) {
+ case 'e':
+ switch(string[7] | 0x20) {
+ case 'c':
+ switch(string[8] | 0x20) {
+ case 't':
+ switch(string[9] | 0x20) {
+ case 'u':
+ switch(string[10] | 0x20) {
+ case 'r':
+ switch(string[11] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::Architecture;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'p':
+ switch(string[1] | 0x20) {
+ case 'a':
+ switch(string[2] | 0x20) {
+ case 'c':
+ switch(string[3] | 0x20) {
+ case 'k':
+ switch(string[4] | 0x20) {
+ case 'a':
+ switch(string[5] | 0x20) {
+ case 'g':
+ switch(string[6] | 0x20) {
+ case 'e':
+ switch(string[7]) {
+ case '-':
+ switch(string[8] | 0x20) {
+ case 'l':
+ switch(string[9] | 0x20) {
+ case 'i':
+ switch(string[10] | 0x20) {
+ case 's':
+ switch(string[11] | 0x20) {
+ case 't':
+ return pkgTagSection::Key::Package_List;
+ }
+ }
+ }
+ break;
+ case 't':
+ switch(string[9] | 0x20) {
+ case 'y':
+ switch(string[10] | 0x20) {
+ case 'p':
+ switch(string[11] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::Package_Type;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash13(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'b':
+ switch(string[1] | 0x20) {
+ case 'u':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'l':
+ switch(string[4] | 0x20) {
+ case 'd':
+ switch(string[5]) {
+ case '-':
+ switch(string[6] | 0x20) {
+ case 'd':
+ switch(string[7] | 0x20) {
+ case 'e':
+ switch(string[8] | 0x20) {
+ case 'p':
+ switch(string[9] | 0x20) {
+ case 'e':
+ switch(string[10] | 0x20) {
+ case 'n':
+ switch(string[11] | 0x20) {
+ case 'd':
+ switch(string[12] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Build_Depends;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'c':
+ switch(string[1] | 0x20) {
+ case 'h':
+ switch(string[2] | 0x20) {
+ case 'e':
+ switch(string[3] | 0x20) {
+ case 'c':
+ switch(string[4] | 0x20) {
+ case 'k':
+ switch(string[5] | 0x20) {
+ case 's':
+ switch(string[6] | 0x20) {
+ case 'u':
+ switch(string[7] | 0x20) {
+ case 'm':
+ switch(string[8] | 0x20) {
+ case 's':
+ switch(string[9]) {
+ case '-':
+ switch(string[10] | 0x20) {
+ case 'm':
+ switch(string[11] | 0x20) {
+ case 'd':
+ switch(string[12]) {
+ case '5':
+ return pkgTagSection::Key::Checksums_Md5;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash14(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'c':
+ switch(string[1] | 0x20) {
+ case 'h':
+ switch(string[2] | 0x20) {
+ case 'e':
+ switch(string[3] | 0x20) {
+ case 'c':
+ switch(string[4] | 0x20) {
+ case 'k':
+ switch(string[5] | 0x20) {
+ case 's':
+ switch(string[6] | 0x20) {
+ case 'u':
+ switch(string[7] | 0x20) {
+ case 'm':
+ switch(string[8] | 0x20) {
+ case 's':
+ switch(string[9]) {
+ case '-':
+ switch(string[10] | 0x20) {
+ case 's':
+ switch(string[11] | 0x20) {
+ case 'h':
+ switch(string[12] | 0x20) {
+ case 'a':
+ switch(string[13]) {
+ case '1':
+ return pkgTagSection::Key::Checksums_Sha1;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'o':
+ switch(string[2] | 0x20) {
+ case 'n':
+ switch(string[3] | 0x20) {
+ case 'f':
+ switch(string[4] | 0x20) {
+ case 'i':
+ switch(string[5] | 0x20) {
+ case 'g':
+ switch(string[6]) {
+ case '-':
+ switch(string[7] | 0x20) {
+ case 'v':
+ switch(string[8] | 0x20) {
+ case 'e':
+ switch(string[9] | 0x20) {
+ case 'r':
+ switch(string[10] | 0x20) {
+ case 's':
+ switch(string[11] | 0x20) {
+ case 'i':
+ switch(string[12] | 0x20) {
+ case 'o':
+ switch(string[13] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Config_Version;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'i':
+ switch(string[1] | 0x20) {
+ case 'n':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3] | 0x20) {
+ case 't':
+ switch(string[4] | 0x20) {
+ case 'a':
+ switch(string[5] | 0x20) {
+ case 'l':
+ switch(string[6] | 0x20) {
+ case 'l':
+ switch(string[7] | 0x20) {
+ case 'e':
+ switch(string[8] | 0x20) {
+ case 'd':
+ switch(string[9]) {
+ case '-':
+ switch(string[10] | 0x20) {
+ case 's':
+ switch(string[11] | 0x20) {
+ case 'i':
+ switch(string[12] | 0x20) {
+ case 'z':
+ switch(string[13] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::Installed_Size;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'k':
+ switch(string[1] | 0x20) {
+ case 'e':
+ switch(string[2] | 0x20) {
+ case 'r':
+ switch(string[3] | 0x20) {
+ case 'n':
+ switch(string[4] | 0x20) {
+ case 'e':
+ switch(string[5] | 0x20) {
+ case 'l':
+ switch(string[6]) {
+ case '-':
+ switch(string[7] | 0x20) {
+ case 'v':
+ switch(string[8] | 0x20) {
+ case 'e':
+ switch(string[9] | 0x20) {
+ case 'r':
+ switch(string[10] | 0x20) {
+ case 's':
+ switch(string[11] | 0x20) {
+ case 'i':
+ switch(string[12] | 0x20) {
+ case 'o':
+ switch(string[13] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Kernel_Version;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'm':
+ switch(string[1] | 0x20) {
+ case 's':
+ switch(string[2] | 0x20) {
+ case 'd':
+ switch(string[3] | 0x20) {
+ case 'o':
+ switch(string[4] | 0x20) {
+ case 's':
+ switch(string[5]) {
+ case '-':
+ switch(string[6] | 0x20) {
+ case 'f':
+ switch(string[7] | 0x20) {
+ case 'i':
+ switch(string[8] | 0x20) {
+ case 'l':
+ switch(string[9] | 0x20) {
+ case 'e':
+ switch(string[10] | 0x20) {
+ case 'n':
+ switch(string[11] | 0x20) {
+ case 'a':
+ switch(string[12] | 0x20) {
+ case 'm':
+ switch(string[13] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::MSDOS_Filename;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash15(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'b':
+ switch(string[1] | 0x20) {
+ case 'u':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'l':
+ switch(string[4] | 0x20) {
+ case 'd':
+ switch(string[5]) {
+ case '-':
+ switch(string[6] | 0x20) {
+ case 'c':
+ switch(string[7] | 0x20) {
+ case 'o':
+ switch(string[8] | 0x20) {
+ case 'n':
+ switch(string[9] | 0x20) {
+ case 'f':
+ switch(string[10] | 0x20) {
+ case 'l':
+ switch(string[11] | 0x20) {
+ case 'i':
+ switch(string[12] | 0x20) {
+ case 'c':
+ switch(string[13] | 0x20) {
+ case 't':
+ switch(string[14] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Build_Conflicts;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'd':
+ switch(string[1] | 0x20) {
+ case 'e':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3] | 0x20) {
+ case 'c':
+ switch(string[4] | 0x20) {
+ case 'r':
+ switch(string[5] | 0x20) {
+ case 'i':
+ switch(string[6] | 0x20) {
+ case 'p':
+ switch(string[7] | 0x20) {
+ case 't':
+ switch(string[8] | 0x20) {
+ case 'i':
+ switch(string[9] | 0x20) {
+ case 'o':
+ switch(string[10] | 0x20) {
+ case 'n':
+ switch(string[11]) {
+ case '-':
+ switch(string[12] | 0x20) {
+ case 'm':
+ switch(string[13] | 0x20) {
+ case 'd':
+ switch(string[14]) {
+ case '5':
+ return pkgTagSection::Key::Description_md5;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 's':
+ switch(string[1] | 0x20) {
+ case 'u':
+ switch(string[2] | 0x20) {
+ case 'b':
+ switch(string[3] | 0x20) {
+ case 'a':
+ switch(string[4] | 0x20) {
+ case 'r':
+ switch(string[5] | 0x20) {
+ case 'c':
+ switch(string[6] | 0x20) {
+ case 'h':
+ switch(string[7] | 0x20) {
+ case 'i':
+ switch(string[8] | 0x20) {
+ case 't':
+ switch(string[9] | 0x20) {
+ case 'e':
+ switch(string[10] | 0x20) {
+ case 'c':
+ switch(string[11] | 0x20) {
+ case 't':
+ switch(string[12] | 0x20) {
+ case 'u':
+ switch(string[13] | 0x20) {
+ case 'r':
+ switch(string[14] | 0x20) {
+ case 'e':
+ return pkgTagSection::Key::Subarchitecture;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash16(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'c':
+ switch(string[1] | 0x20) {
+ case 'h':
+ switch(string[2] | 0x20) {
+ case 'e':
+ switch(string[3] | 0x20) {
+ case 'c':
+ switch(string[4] | 0x20) {
+ case 'k':
+ switch(string[5] | 0x20) {
+ case 's':
+ switch(string[6] | 0x20) {
+ case 'u':
+ switch(string[7] | 0x20) {
+ case 'm':
+ switch(string[8] | 0x20) {
+ case 's':
+ switch(string[9]) {
+ case '-':
+ switch(string[10] | 0x20) {
+ case 's':
+ switch(string[11] | 0x20) {
+ case 'h':
+ switch(string[12] | 0x20) {
+ case 'a':
+ switch(string[13]) {
+ case '2':
+ switch(string[14]) {
+ case '5':
+ switch(string[15]) {
+ case '6':
+ return pkgTagSection::Key::Checksums_Sha256;
+ }
+ }
+ break;
+ case '5':
+ switch(string[14]) {
+ case '1':
+ switch(string[15]) {
+ case '2':
+ return pkgTagSection::Key::Checksums_Sha512;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'p':
+ switch(string[1] | 0x20) {
+ case 'a':
+ switch(string[2] | 0x20) {
+ case 'c':
+ switch(string[3] | 0x20) {
+ case 'k':
+ switch(string[4] | 0x20) {
+ case 'a':
+ switch(string[5] | 0x20) {
+ case 'g':
+ switch(string[6] | 0x20) {
+ case 'e':
+ switch(string[7]) {
+ case '-':
+ switch(string[8] | 0x20) {
+ case 'r':
+ switch(string[9] | 0x20) {
+ case 'e':
+ switch(string[10] | 0x20) {
+ case 'v':
+ switch(string[11] | 0x20) {
+ case 'i':
+ switch(string[12] | 0x20) {
+ case 's':
+ switch(string[13] | 0x20) {
+ case 'i':
+ switch(string[14] | 0x20) {
+ case 'o':
+ switch(string[15] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Package_Revision;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case '_':
+ switch(string[8] | 0x20) {
+ case 'r':
+ switch(string[9] | 0x20) {
+ case 'e':
+ switch(string[10] | 0x20) {
+ case 'v':
+ switch(string[11] | 0x20) {
+ case 'i':
+ switch(string[12] | 0x20) {
+ case 's':
+ switch(string[13] | 0x20) {
+ case 'i':
+ switch(string[14] | 0x20) {
+ case 'o':
+ switch(string[15] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Package__Revision;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 't':
+ switch(string[1] | 0x20) {
+ case 'r':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'g':
+ switch(string[4] | 0x20) {
+ case 'g':
+ switch(string[5] | 0x20) {
+ case 'e':
+ switch(string[6] | 0x20) {
+ case 'r':
+ switch(string[7] | 0x20) {
+ case 's':
+ switch(string[8]) {
+ case '-':
+ switch(string[9] | 0x20) {
+ case 'a':
+ switch(string[10] | 0x20) {
+ case 'w':
+ switch(string[11] | 0x20) {
+ case 'a':
+ switch(string[12] | 0x20) {
+ case 'i':
+ switch(string[13] | 0x20) {
+ case 't':
+ switch(string[14] | 0x20) {
+ case 'e':
+ switch(string[15] | 0x20) {
+ case 'd':
+ return pkgTagSection::Key::Triggers_Awaited;
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'p':
+ switch(string[10] | 0x20) {
+ case 'e':
+ switch(string[11] | 0x20) {
+ case 'n':
+ switch(string[12] | 0x20) {
+ case 'd':
+ switch(string[13] | 0x20) {
+ case 'i':
+ switch(string[14] | 0x20) {
+ case 'n':
+ switch(string[15] | 0x20) {
+ case 'g':
+ return pkgTagSection::Key::Triggers_Pending;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash17(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'd':
+ switch(string[1] | 0x20) {
+ case 'm':
+ switch(string[2]) {
+ case '-':
+ switch(string[3] | 0x20) {
+ case 'u':
+ switch(string[4] | 0x20) {
+ case 'p':
+ switch(string[5] | 0x20) {
+ case 'l':
+ switch(string[6] | 0x20) {
+ case 'o':
+ switch(string[7] | 0x20) {
+ case 'a':
+ switch(string[8] | 0x20) {
+ case 'd':
+ switch(string[9]) {
+ case '-':
+ switch(string[10] | 0x20) {
+ case 'a':
+ switch(string[11] | 0x20) {
+ case 'l':
+ switch(string[12] | 0x20) {
+ case 'l':
+ switch(string[13] | 0x20) {
+ case 'o':
+ switch(string[14] | 0x20) {
+ case 'w':
+ switch(string[15] | 0x20) {
+ case 'e':
+ switch(string[16] | 0x20) {
+ case 'd':
+ return pkgTagSection::Key::Dm_Upload_Allowed;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 's':
+ switch(string[1] | 0x20) {
+ case 't':
+ switch(string[2] | 0x20) {
+ case 'a':
+ switch(string[3] | 0x20) {
+ case 'n':
+ switch(string[4] | 0x20) {
+ case 'd':
+ switch(string[5] | 0x20) {
+ case 'a':
+ switch(string[6] | 0x20) {
+ case 'r':
+ switch(string[7] | 0x20) {
+ case 'd':
+ switch(string[8] | 0x20) {
+ case 's':
+ switch(string[9]) {
+ case '-':
+ switch(string[10] | 0x20) {
+ case 'v':
+ switch(string[11] | 0x20) {
+ case 'e':
+ switch(string[12] | 0x20) {
+ case 'r':
+ switch(string[13] | 0x20) {
+ case 's':
+ switch(string[14] | 0x20) {
+ case 'i':
+ switch(string[15] | 0x20) {
+ case 'o':
+ switch(string[16] | 0x20) {
+ case 'n':
+ return pkgTagSection::Key::Standards_Version;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash18(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'b':
+ switch(string[1] | 0x20) {
+ case 'u':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'l':
+ switch(string[4] | 0x20) {
+ case 'd':
+ switch(string[5]) {
+ case '-':
+ switch(string[6] | 0x20) {
+ case 'd':
+ switch(string[7] | 0x20) {
+ case 'e':
+ switch(string[8] | 0x20) {
+ case 'p':
+ switch(string[9] | 0x20) {
+ case 'e':
+ switch(string[10] | 0x20) {
+ case 'n':
+ switch(string[11] | 0x20) {
+ case 'd':
+ switch(string[12] | 0x20) {
+ case 's':
+ switch(string[13]) {
+ case '-':
+ switch(string[14] | 0x20) {
+ case 'a':
+ switch(string[15] | 0x20) {
+ case 'r':
+ switch(string[16] | 0x20) {
+ case 'c':
+ switch(string[17] | 0x20) {
+ case 'h':
+ return pkgTagSection::Key::Build_Depends_Arch;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 't':
+ switch(string[5]) {
+ case '-':
+ switch(string[6] | 0x20) {
+ case 'f':
+ switch(string[7] | 0x20) {
+ case 'o':
+ switch(string[8] | 0x20) {
+ case 'r':
+ switch(string[9]) {
+ case '-':
+ switch(string[10] | 0x20) {
+ case 'p':
+ switch(string[11] | 0x20) {
+ case 'r':
+ switch(string[12] | 0x20) {
+ case 'o':
+ switch(string[13] | 0x20) {
+ case 'f':
+ switch(string[14] | 0x20) {
+ case 'i':
+ switch(string[15] | 0x20) {
+ case 'l':
+ switch(string[16] | 0x20) {
+ case 'e':
+ switch(string[17] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Built_For_Profiles;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 't':
+ switch(string[1] | 0x20) {
+ case 'e':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3] | 0x20) {
+ case 't':
+ switch(string[4] | 0x20) {
+ case 's':
+ switch(string[5] | 0x20) {
+ case 'u':
+ switch(string[6] | 0x20) {
+ case 'i':
+ switch(string[7] | 0x20) {
+ case 't':
+ switch(string[8] | 0x20) {
+ case 'e':
+ switch(string[9]) {
+ case '-':
+ switch(string[10] | 0x20) {
+ case 't':
+ switch(string[11] | 0x20) {
+ case 'r':
+ switch(string[12] | 0x20) {
+ case 'i':
+ switch(string[13] | 0x20) {
+ case 'g':
+ switch(string[14] | 0x20) {
+ case 'g':
+ switch(string[15] | 0x20) {
+ case 'e':
+ switch(string[16] | 0x20) {
+ case 'r':
+ switch(string[17] | 0x20) {
+ case 's':
+ return pkgTagSection::Key::Testsuite_Triggers;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash19(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'b':
+ switch(string[1] | 0x20) {
+ case 'u':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'l':
+ switch(string[4] | 0x20) {
+ case 'd':
+ switch(string[5]) {
+ case '-':
+ switch(string[6] | 0x20) {
+ case 'd':
+ switch(string[7] | 0x20) {
+ case 'e':
+ switch(string[8] | 0x20) {
+ case 'p':
+ switch(string[9] | 0x20) {
+ case 'e':
+ switch(string[10] | 0x20) {
+ case 'n':
+ switch(string[11] | 0x20) {
+ case 'd':
+ switch(string[12] | 0x20) {
+ case 's':
+ switch(string[13]) {
+ case '-':
+ switch(string[14] | 0x20) {
+ case 'i':
+ switch(string[15] | 0x20) {
+ case 'n':
+ switch(string[16] | 0x20) {
+ case 'd':
+ switch(string[17] | 0x20) {
+ case 'e':
+ switch(string[18] | 0x20) {
+ case 'p':
+ return pkgTagSection::Key::Build_Depends_Indep;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'i':
+ switch(string[1] | 0x20) {
+ case 'n':
+ switch(string[2] | 0x20) {
+ case 's':
+ switch(string[3] | 0x20) {
+ case 't':
+ switch(string[4] | 0x20) {
+ case 'a':
+ switch(string[5] | 0x20) {
+ case 'l':
+ switch(string[6] | 0x20) {
+ case 'l':
+ switch(string[7] | 0x20) {
+ case 'e':
+ switch(string[8] | 0x20) {
+ case 'r':
+ switch(string[9]) {
+ case '-':
+ switch(string[10] | 0x20) {
+ case 'm':
+ switch(string[11] | 0x20) {
+ case 'e':
+ switch(string[12] | 0x20) {
+ case 'n':
+ switch(string[13] | 0x20) {
+ case 'u':
+ switch(string[14]) {
+ case '-':
+ switch(string[15] | 0x20) {
+ case 'i':
+ switch(string[16] | 0x20) {
+ case 't':
+ switch(string[17] | 0x20) {
+ case 'e':
+ switch(string[18] | 0x20) {
+ case 'm':
+ return pkgTagSection::Key::Installer_Menu_Item;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 'o':
+ switch(string[1] | 0x20) {
+ case 'r':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'g':
+ switch(string[4] | 0x20) {
+ case 'i':
+ switch(string[5] | 0x20) {
+ case 'n':
+ switch(string[6] | 0x20) {
+ case 'a':
+ switch(string[7] | 0x20) {
+ case 'l':
+ switch(string[8]) {
+ case '-':
+ switch(string[9] | 0x20) {
+ case 'm':
+ switch(string[10] | 0x20) {
+ case 'a':
+ switch(string[11] | 0x20) {
+ case 'i':
+ switch(string[12] | 0x20) {
+ case 'n':
+ switch(string[13] | 0x20) {
+ case 't':
+ switch(string[14] | 0x20) {
+ case 'a':
+ switch(string[15] | 0x20) {
+ case 'i':
+ switch(string[16] | 0x20) {
+ case 'n':
+ switch(string[17] | 0x20) {
+ case 'e':
+ switch(string[18] | 0x20) {
+ case 'r':
+ return pkgTagSection::Key::Original_Maintainer;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash20(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'b':
+ switch(string[1] | 0x20) {
+ case 'u':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'l':
+ switch(string[4] | 0x20) {
+ case 'd':
+ switch(string[5]) {
+ case '-':
+ switch(string[6] | 0x20) {
+ case 'c':
+ switch(string[7] | 0x20) {
+ case 'o':
+ switch(string[8] | 0x20) {
+ case 'n':
+ switch(string[9] | 0x20) {
+ case 'f':
+ switch(string[10] | 0x20) {
+ case 'l':
+ switch(string[11] | 0x20) {
+ case 'i':
+ switch(string[12] | 0x20) {
+ case 'c':
+ switch(string[13] | 0x20) {
+ case 't':
+ switch(string[14] | 0x20) {
+ case 's':
+ switch(string[15]) {
+ case '-':
+ switch(string[16] | 0x20) {
+ case 'a':
+ switch(string[17] | 0x20) {
+ case 'r':
+ switch(string[18] | 0x20) {
+ case 'c':
+ switch(string[19] | 0x20) {
+ case 'h':
+ return pkgTagSection::Key::Build_Conflicts_Arch;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+static enum pkgTagSection::Key pkgTagHash21(const char *string)
+{
+ switch(string[0] | 0x20) {
+ case 'b':
+ switch(string[1] | 0x20) {
+ case 'u':
+ switch(string[2] | 0x20) {
+ case 'i':
+ switch(string[3] | 0x20) {
+ case 'l':
+ switch(string[4] | 0x20) {
+ case 'd':
+ switch(string[5]) {
+ case '-':
+ switch(string[6] | 0x20) {
+ case 'c':
+ switch(string[7] | 0x20) {
+ case 'o':
+ switch(string[8] | 0x20) {
+ case 'n':
+ switch(string[9] | 0x20) {
+ case 'f':
+ switch(string[10] | 0x20) {
+ case 'l':
+ switch(string[11] | 0x20) {
+ case 'i':
+ switch(string[12] | 0x20) {
+ case 'c':
+ switch(string[13] | 0x20) {
+ case 't':
+ switch(string[14] | 0x20) {
+ case 's':
+ switch(string[15]) {
+ case '-':
+ switch(string[16] | 0x20) {
+ case 'i':
+ switch(string[17] | 0x20) {
+ case 'n':
+ switch(string[18] | 0x20) {
+ case 'd':
+ switch(string[19] | 0x20) {
+ case 'e':
+ switch(string[20] | 0x20) {
+ case 'p':
+ return pkgTagSection::Key::Build_Conflicts_Indep;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return pkgTagSection::Key::Unknown;
+}
+#endif /* TRIE_HASH_MULTI_BYTE */
+ enum pkgTagSection::Key pkgTagHash(const char *string, size_t length)
+{
+ switch (length) {
+ case 3:
+ return pkgTagHash3(string);
+ case 4:
+ return pkgTagHash4(string);
+ case 5:
+ return pkgTagHash5(string);
+ case 6:
+ return pkgTagHash6(string);
+ case 7:
+ return pkgTagHash7(string);
+ case 8:
+ return pkgTagHash8(string);
+ case 9:
+ return pkgTagHash9(string);
+ case 10:
+ return pkgTagHash10(string);
+ case 11:
+ return pkgTagHash11(string);
+ case 12:
+ return pkgTagHash12(string);
+ case 13:
+ return pkgTagHash13(string);
+ case 14:
+ return pkgTagHash14(string);
+ case 15:
+ return pkgTagHash15(string);
+ case 16:
+ return pkgTagHash16(string);
+ case 17:
+ return pkgTagHash17(string);
+ case 18:
+ return pkgTagHash18(string);
+ case 19:
+ return pkgTagHash19(string);
+ case 20:
+ return pkgTagHash20(string);
+ case 21:
+ return pkgTagHash21(string);
+ default:
+ return pkgTagSection::Key::Unknown;
+ }
+}
diff --git a/apt-tag/apt-pkg/tagfile-keys.h b/apt-tag/apt-pkg/tagfile-keys.h
new file mode 100644
index 0000000..cfd08d5
--- /dev/null
+++ b/apt-tag/apt-pkg/tagfile-keys.h
@@ -0,0 +1,92 @@
+#ifndef TRIE_HASH_pkgTagHash
+#define TRIE_HASH_pkgTagHash
+#include <stddef.h>
+#include <stdint.h>
+#include <apt-pkg/tagfile.h>
+enum class pkgTagSection::Key {
+ Architecture = 0,
+ Binary = 1,
+ Breaks = 2,
+ Bugs = 3,
+ Build_Conflicts = 4,
+ Build_Conflicts_Arch = 5,
+ Build_Conflicts_Indep = 6,
+ Build_Depends = 7,
+ Build_Depends_Arch = 8,
+ Build_Depends_Indep = 9,
+ Built_For_Profiles = 10,
+ Built_Using = 11,
+ Checksums_Md5 = 12,
+ Checksums_Sha1 = 13,
+ Checksums_Sha256 = 14,
+ Checksums_Sha512 = 15,
+ Class = 16,
+ Conffiles = 17,
+ Config_Version = 18,
+ Conflicts = 19,
+ Depends = 20,
+ Description = 21,
+ Description_md5 = 22,
+ Directory = 23,
+ Dm_Upload_Allowed = 24,
+ Enhances = 25,
+ Essential = 26,
+ Files = 28,
+ Filename = 27,
+ Format = 29,
+ Homepage = 30,
+ Important = 31,
+ Installed_Size = 32,
+ Installer_Menu_Item = 33,
+ Kernel_Version = 34,
+ MD5sum = 36,
+ MSDOS_Filename = 37,
+ Maintainer = 35,
+ Multi_Arch = 38,
+ Optional = 39,
+ Origin = 40,
+ Original_Maintainer = 41,
+ Package = 42,
+ Package_List = 43,
+ Package_Revision = 45,
+ Package_Type = 46,
+ Package__Revision = 44,
+ Pre_Depends = 47,
+ Priority = 48,
+ Provides = 49,
+ Recommended = 50,
+ Recommends = 51,
+ Replaces = 52,
+ Revision = 53,
+ SHA1 = 55,
+ SHA256 = 56,
+ SHA512 = 57,
+ Section = 54,
+ Size = 58,
+ Source = 59,
+ Standards_Version = 60,
+ Status = 61,
+ Subarchitecture = 62,
+ Suggests = 63,
+ Tag = 64,
+ Task = 65,
+ Testsuite = 66,
+ Testsuite_Triggers = 67,
+ Triggers_Awaited = 68,
+ Triggers_Pending = 69,
+ Uploaders = 70,
+ Vcs_Bzr = 74,
+ Vcs_Cvs = 75,
+ Vcs_Git = 77,
+ Vcs_Hg = 78,
+ Vcs_Mtn = 79,
+ Vcs_Svn = 80,
+ Vcs_Arch = 71,
+ Vcs_Browse = 72,
+ Vcs_Browser = 73,
+ Vcs_Darcs = 76,
+ Version = 81,
+ Unknown = -1,
+};
+ enum pkgTagSection::Key pkgTagHash(const char *string, size_t length);
+#endif /* TRIE_HASH_pkgTagHash */
diff --git a/apt.h b/apt.h
new file mode 100644
index 0000000..c00968c
--- /dev/null
+++ b/apt.h
@@ -0,0 +1,30 @@
+#ifndef APT_H
+#define APT_H
+
+#include <unistd.h>
+
+template <typename Type_>
+Type_ *memrchr(Type_ *data, int value, int size) {
+ for (int i = 0; i != size; ++i)
+ if (data[size - i - 1] == value)
+ return data + size - i - 1;
+ return 0;
+}
+
+template <typename Type_>
+static Type_ *strchrnul(Type_ *s, int c) {
+ while (*s != c && *s != '\0')
+ ++s;
+ return s;
+}
+
+#define faccessat(arg0, arg1, arg2, arg3) \
+ access(arg1, arg2)
+
+#if 0
+#include <syslog.h>
+static unsigned nonce(0);
+#define _trace() syslog(LOG_ERR, "_trace():%s[%u] #%u\n", __FILE__, __LINE__, ++nonce)
+#endif
+
+#endif//APT_H
diff --git a/cydia.control b/cydia.control
index a83995e..c8bfbbe 100644
--- a/cydia.control
+++ b/cydia.control
@@ -5,9 +5,9 @@ Maintainer: Jay Freeman (saurik) <saurik@saurik.com>
Architecture: iphoneos-arm
Version:
Replaces: bigboss, bigbossbetarepo, com.sosiphone.addcydia, cydia-sources, ispazio.net, modmyifone, saurik, ste, yellowsn0w.com, zodttd
-Depends: apt7-lib, apt7-key, cydia-lproj (>= 1.1.10), darwintools, debianutils, org.thebigboss.repo.icons, sed, shell-cmds, system-cmds, uikittools (>= 1.1.4)
+Depends: apt7-lib, apt7-key, cydia-lproj (>= 1.1.10), darwintools, debianutils, dpkg (>= 1.18), org.thebigboss.repo.icons, sed, shell-cmds, system-cmds, uikittools (>= 1.1.4)
Conflicts: bigboss, bigbossbetarepo, com.sosiphone.addcydia, cydia-sources, ispazio.net, modmyifone, ste, yellowsn0w.com, zodttd
-Pre-Depends: debianutils
+Pre-Depends: debianutils, dpkg (>= 1.14.25-8)
Provides: bigbossbetarepo, cydia-sources
Description: graphical iPhone front-end for APT
Name: Cydia Installer
diff --git a/fdstream.hpp b/fdstream.hpp
new file mode 100644
index 0000000..585e03d
--- /dev/null
+++ b/fdstream.hpp
@@ -0,0 +1,184 @@
+/* The following code declares classes to read from and write to
+ * file descriptore or file handles.
+ *
+ * See
+ * http://www.josuttis.com/cppcode
+ * for details and the latest version.
+ *
+ * - open:
+ * - integrating BUFSIZ on some systems?
+ * - optimized reading of multiple characters
+ * - stream for reading AND writing
+ * - i18n
+ *
+ * (C) Copyright Nicolai M. Josuttis 2001.
+ * Permission to copy, use, modify, sell and distribute this software
+ * is granted provided this copyright notice appears in all copies.
+ * This software is provided "as is" without express or implied
+ * warranty, and with no claim as to its suitability for any purpose.
+ *
+ * Version: Jul 28, 2002
+ * History:
+ * Jul 28, 2002: bugfix memcpy() => memmove()
+ * fdinbuf::underflow(): cast for return statements
+ * Aug 05, 2001: first public version
+ */
+#ifndef BOOST_FDSTREAM_HPP
+#define BOOST_FDSTREAM_HPP
+
+#include <istream>
+#include <ostream>
+#include <streambuf>
+// for EOF:
+#include <cstdio>
+// for memmove():
+#include <cstring>
+
+
+// low-level read and write functions
+#ifdef _MSC_VER
+# include <io.h>
+#else
+# include <unistd.h>
+//extern "C" {
+// int write (int fd, const char* buf, int num);
+// int read (int fd, char* buf, int num);
+//}
+#endif
+
+
+// BEGIN namespace BOOST
+namespace boost {
+
+
+/************************************************************
+ * fdostream
+ * - a stream that writes on a file descriptor
+ ************************************************************/
+
+
+class fdoutbuf : public std::streambuf {
+ protected:
+ int fd; // file descriptor
+ public:
+ // constructor
+ fdoutbuf (int _fd) : fd(_fd) {
+ }
+ protected:
+ // write one character
+ virtual int_type overflow (int_type c) {
+ if (c != EOF) {
+ char z = c;
+ if (write (fd, &z, 1) != 1) {
+ return EOF;
+ }
+ }
+ return c;
+ }
+ // write multiple characters
+ virtual
+ std::streamsize xsputn (const char* s,
+ std::streamsize num) {
+ return write(fd,s,num);
+ }
+};
+
+class fdostream : public std::ostream {
+ protected:
+ fdoutbuf buf;
+ public:
+ fdostream (int fd) : std::ostream(0), buf(fd) {
+ rdbuf(&buf);
+ }
+};
+
+
+/************************************************************
+ * fdistream
+ * - a stream that reads on a file descriptor
+ ************************************************************/
+
+class fdinbuf : public std::streambuf {
+ protected:
+ int fd; // file descriptor
+ protected:
+ /* data buffer:
+ * - at most, pbSize characters in putback area plus
+ * - at most, bufSize characters in ordinary read buffer
+ */
+ static const int pbSize = 4; // size of putback area
+ static const int bufSize = 1024; // size of the data buffer
+ char buffer[bufSize+pbSize]; // data buffer
+
+ public:
+ /* constructor
+ * - initialize file descriptor
+ * - initialize empty data buffer
+ * - no putback area
+ * => force underflow()
+ */
+ fdinbuf (int _fd) : fd(_fd) {
+ setg (buffer+pbSize, // beginning of putback area
+ buffer+pbSize, // read position
+ buffer+pbSize); // end position
+ }
+
+ protected:
+ // insert new characters into the buffer
+ virtual int_type underflow () {
+#ifndef _MSC_VER
+ using std::memmove;
+#endif
+
+ // is read position before end of buffer?
+ if (gptr() < egptr()) {
+ return traits_type::to_int_type(*gptr());
+ }
+
+ /* process size of putback area
+ * - use number of characters read
+ * - but at most size of putback area
+ */
+ int numPutback;
+ numPutback = gptr() - eback();
+ if (numPutback > pbSize) {
+ numPutback = pbSize;
+ }
+
+ /* copy up to pbSize characters previously read into
+ * the putback area
+ */
+ memmove (buffer+(pbSize-numPutback), gptr()-numPutback,
+ numPutback);
+
+ // read at most bufSize new characters
+ int num;
+ num = read (fd, buffer+pbSize, bufSize);
+ if (num <= 0) {
+ // ERROR or EOF
+ return EOF;
+ }
+
+ // reset buffer pointers
+ setg (buffer+(pbSize-numPutback), // beginning of putback area
+ buffer+pbSize, // read position
+ buffer+pbSize+num); // end of buffer
+
+ // return next character
+ return traits_type::to_int_type(*gptr());
+ }
+};
+
+class fdistream : public std::istream {
+ protected:
+ fdinbuf buf;
+ public:
+ fdistream (int fd) : std::istream(0), buf(fd) {
+ rdbuf(&buf);
+ }
+};
+
+
+} // END namespace boost
+
+#endif /*BOOST_FDSTREAM_HPP*/
diff --git a/make.sh b/make.sh
new file mode 100755
index 0000000..0b27981
--- /dev/null
+++ b/make.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+DEVELOPER_DIR=/Applications/Xcode-5.1.1.app make "$@"
diff --git a/makefile b/makefile
index 496c1ad..d11d85c 100644
--- a/makefile
+++ b/makefile
@@ -1,32 +1,56 @@
-gxx := $(shell xcrun --sdk iphoneos -f g++)
-sdk := $(shell xcodebuild -sdk iphoneos -version Path)
+.DELETE_ON_ERROR:
+.SECONDARY:
+
+dpkg := dpkg-deb -Zlzma
+version := $(shell ./version.sh)
-flags :=
+flag :=
+plus :=
link :=
libs :=
-dpkg := dpkg-deb -Zlzma
+gxx := $(shell xcrun --sdk iphoneos -f g++)
+cycc := $(gxx)
+
+sdk := $(shell xcodebuild -sdk iphoneos -version Path)
+cycc += -isysroot $(sdk)
+cycc += -idirafter /usr/include
+cycc += -F$(sdk)/System/Library/PrivateFrameworks
+
+cycc += -arch arm64
+cycc += -Xarch_arm64 -miphoneos-version-min=7.0
+
+cycc += -fmessage-length=0
+cycc += -gfull -O2
+cycc += -fvisibility=hidden
-flags += -F$(sdk)/System/Library/PrivateFrameworks
-flags += -I. -isystem sysroot/usr/include
-flags += -fmessage-length=0
-flags += -g0 -O2
-flags += -fvisibility=hidden
+link += -Wl,-dead_strip
+link += -Wl,-no_dead_strip_inits_and_terms
+link += -Wl,-s
-flags += -idirafter icu/icuSources/common
-flags += -idirafter icu/icuSources/i18n
+flag += -Xarch_arm64 -Iapt
+flag += -Xarch_arm64 -Iapt-contrib
+flag += -Xarch_arm64 -Iapt-deb
+flag += -Xarch_arm64 -Iapt-extra
+flag += -Xarch_arm64 -Iapt-tag
-flags += -Wall
+flag += -I.
+flag += -isystem sysroot/usr/include
-flags += -Wno-unknown-warning-option
-flags += -Wno-logical-op-parentheses
-flags += -Wno-dangling-else
-flags += -Wno-shift-op-parentheses
-flags += -Wno-deprecated-declarations
+flag += -idirafter icu/icuSources/common
+flag += -idirafter icu/icuSources/i18n
-xflags :=
-xflags += -fobjc-call-cxx-cdtors
-xflags += -fvisibility-inlines-hidden
+flag += -Wall
+flag += -Wno-dangling-else
+flag += -Wno-deprecated-declarations
+flag += -Wno-objc-protocol-method-implementation
+flag += -Wno-logical-op-parentheses
+flag += -Wno-shift-op-parentheses
+flag += -Wno-unknown-pragmas
+flag += -Wno-unknown-warning-option
+
+plus += -fobjc-call-cxx-cdtors
+plus += -fvisibility-inlines-hidden
link += -Lsysroot/usr/lib
link += -multiply_defined suppress
@@ -42,20 +66,14 @@ libs += -framework SystemConfiguration
libs += -framework WebCore
libs += -framework WebKit
-libs += -lapt-pkg
+libs += -Xarch_armv6 -Wl,-lapt-pkg
+libs += -Xarch_arm64 -Wl,Objects/libapt64.a
libs += -licucore
uikit :=
uikit += -framework UIKit
-version := $(shell ./version.sh)
-
-cycc = $(gxx) -arch armv6 -o $@ -miphoneos-version-min=2.0 -isysroot $(sdk) -idirafter /usr/include -F{sysroot,}/Library/Frameworks
-
-cycc += -marm # @synchronized
-cycc += -mcpu=arm1176jzf-s
-cycc += -mllvm -arm-reserve-r9
-link += -lgcc_s.1
+link += -Wl,-segalign,4000
dirs := Menes CyteKit Cydia SDURLCache
@@ -74,6 +92,37 @@ object := $(object:.m=.o)
object := $(object:.mm=.o)
object := $(object:%=Objects/%)
+libapt :=
+libapt += $(wildcard apt/apt-pkg/*.cc)
+libapt += $(wildcard apt/apt-pkg/deb/*.cc)
+libapt += $(wildcard apt/apt-pkg/contrib/*.cc)
+libapt += apt-tag/apt-pkg/tagfile-keys.cc
+libapt += apt/methods/store.cc
+libapt := $(filter-out %/srvrec.cc,$(libapt))
+libapt := $(patsubst %.cc,Objects/%.o,$(libapt))
+
+link += -Xarch_arm64 -Wl,-lz,-liconv
+
+flag += -DAPT_PKG_EXPOSE_STRING_VIEW
+flag += -Dsighandler_t=sig_t
+
+aptc := $(cycc) $(flag)
+aptc += -include apt.h
+aptc += -Wno-deprecated-register
+aptc += -Wno-unused-private-field
+aptc += -Wno-unused-variable
+
+cycc += -arch armv6
+cycc += -Xarch_armv6 -miphoneos-version-min=2.0
+flag += -Xarch_armv6 -marm # @synchronized
+flag += -Xarch_armv6 -mcpu=arm1176jzf-s
+flag += -mllvm -arm-reserve-r9
+link += -Xarch_armv6 -Wl,-lgcc_s.1
+
+plus += -std=c++11
+#plus += -Wp,-stdlib=libc++
+#link += libcxx/lib/libc++.a
+
images := $(shell find MobileCydia.app/ -type f -name '*.png')
images := $(images:%=Images/%)
@@ -85,25 +134,30 @@ clean:
rm -f MobileCydia postinst
rm -rf Objects/ Images/
+Objects/%.o: %.cc $(header) apt.h apt-extra/*.h
+ @mkdir -p $(dir $@)
+ @echo "[cycc] $<"
+ @$(aptc) $(plus) -c -o $@ $< -Dmain=main_$(basename $(notdir $@))
+
Objects/%.o: %.c $(header)
@mkdir -p $(dir $@)
@echo "[cycc] $<"
- @$(cycc) -c -x c $<
+ @$(cycc) -c -o $@ -x c $< $(flag)
Objects/%.o: %.m $(header)
@mkdir -p $(dir $@)
@echo "[cycc] $<"
- @$(cycc) -c $< $(flags)
+ @$(cycc) -c -o $@ $< $(flag)
Objects/%.o: %.cpp $(header)
@mkdir -p $(dir $@)
@echo "[cycc] $<"
- @$(cycc) -std=c++11 -c $< $(flags) $(xflags)
+ @$(cycc) $(plus) -c -o $@ $< $(flag)
Objects/%.o: %.mm $(header)
@mkdir -p $(dir $@)
@echo "[cycc] $<"
- @$(cycc) -std=c++11 -c $< $(flags) $(xflags)
+ @$(cycc) $(plus) -c -o $@ $< $(flag)
Objects/Version.o: Version.h
@@ -117,9 +171,13 @@ sysroot: sysroot.sh
@echo 1>&2
@exit 1
-MobileCydia: sysroot $(object) entitlements.xml
- @echo "[link] $(object:Objects/%=%)"
- @$(cycc) $(filter %.o,$^) $(flags) $(link) $(libs) $(uikit) -Wl,-sdk_version,8.0
+Objects/libapt64.a: $(libapt)
+ @echo "[arch] $@"
+ @ar -rc $@ $^
+
+MobileCydia: sysroot $(object) entitlements.xml Objects/libapt64.a
+ @echo "[link] $@"
+ @$(cycc) -o $@ $(filter %.o,$^) $(link) $(libs) $(uikit) -Wl,-sdk_version,8.0
@mkdir -p bins
@cp -a $@ bins/$@-$(version)
@echo "[strp] $@"
@@ -130,19 +188,19 @@ MobileCydia: sysroot $(object) entitlements.xml
@ldid -T0 -Sentitlements.xml $@ || { rm -f $@ && false; }
cfversion: cfversion.mm
- $(cycc) $(filter %.mm,$^) $(flags) $(link) -framework CoreFoundation
+ $(cycc) -o $@ $(filter %.mm,$^) $(flag) $(link) -framework CoreFoundation
@ldid -T0 -S $@
setnsfpn: setnsfpn.cpp
- $(cycc) $(filter %.cpp,$^) $(flags) $(link)
+ $(cycc) -o $@ $(filter %.cpp,$^) $(flag) $(link)
@ldid -T0 -S $@
cydo: cydo.cpp
- $(cycc) -std=c++11 $(filter %.cpp,$^) $(flags) $(link) -Wno-deprecated-writable-strings
+ $(cycc) $(plus) -o $@ $(filter %.cpp,$^) $(flag) $(link) -Wno-deprecated-writable-strings
@ldid -T0 -S $@
postinst: postinst.mm CyteKit/stringWithUTF8Bytes.mm CyteKit/stringWithUTF8Bytes.h CyteKit/UCPlatform.h
- $(cycc) -std=c++11 $(filter %.mm,$^) $(flags) $(link) -framework CoreFoundation -framework Foundation -framework UIKit
+ $(cycc) $(plus) -o $@ $(filter %.mm,$^) $(flag) $(link) -framework CoreFoundation -framework Foundation -framework UIKit
@ldid -T0 -S $@
debs/cydia_$(version)_iphoneos-arm.deb: MobileCydia preinst postinst cfversion setnsfpn cydo $(images) $(shell find MobileCydia.app) cydia.control Library/firmware.sh Library/move.sh Library/startup
@@ -160,7 +218,6 @@ debs/cydia_$(version)_iphoneos-arm.deb: MobileCydia preinst postinst cfversion s
cp -a setnsfpn _/usr/libexec/cydia
cp -a cydo _/usr/libexec/cydia
- sudo chmod 6755 _/usr/libexec/cydia/cydo
mkdir -p _/Library
cp -a LaunchDaemons _/Library/LaunchDaemons
@@ -169,6 +226,7 @@ debs/cydia_$(version)_iphoneos-arm.deb: MobileCydia preinst postinst cfversion s
cp -a MobileCydia.app _/Applications/Cydia.app
rm -rf _/Applications/Cydia.app/*.lproj
cp -a MobileCydia _/Applications/Cydia.app/Cydia
+ ln -s Cydia _/Applications/Cydia.app/store
cd MobileCydia.app && find . -name '*.png' -exec cp -af ../Images/MobileCydia.app/{} ../_/Applications/Cydia.app/{} ';'
@@ -184,6 +242,7 @@ debs/cydia_$(version)_iphoneos-arm.deb: MobileCydia preinst postinst cfversion s
sudo chown -R 0 _
sudo chgrp -R 0 _
+ sudo chmod 6755 _/usr/libexec/cydia/cydo
mkdir -p debs
ln -sf debs/cydia_$(version)_iphoneos-arm.deb Cydia.deb
diff --git a/uikit.sh b/uikit.sh
index 903e1ba..be7d701 100755
--- a/uikit.sh
+++ b/uikit.sh
@@ -1,2 +1,2 @@
#!/bin/bash
-LANG=C exec /sw/bin/sed -i -e 's@\(\x0C\x00\x00\x00\x4C\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\)\x00...\(\x00\x00\x01\x00/System/Library/Frameworks/UIKit.framework/UIKit\x00\x00\x00\x00\)@\1\x00\x00\xF6\x0C\2@' "$1"
+LANG=C exec /sw/bin/sed -i -e 's@\(\x0C\x00\x00\x00\x4C\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\)\x00...\(\x00\x00\x01\x00/System/Library/Frameworks/UIKit.framework/UIKit\x00\x00\x00\x00\)@\1\x00\x00\xF6\x0C\2@g' "$1"