summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Bingner <sam@bingner.com>2018-10-12 12:58:23 -1000
committerSam Bingner <sam@bingner.com>2018-10-12 12:58:23 -1000
commitb61e8b5a784a8bc7c9369fb00a5467cb33b98d59 (patch)
treef6f7932948ffacb1d20042d0b78c75c0269272b4
parentd1f39061fe45b841063274ec9945732775896e02 (diff)
Update dpkg
-rw-r--r--data/_dpkg/_metadata/description1
l---------data/_dpkg/_metadata/gzip.dep1
-rw-r--r--data/_dpkg/_metadata/homepage1
-rw-r--r--data/_dpkg/_metadata/in.1443.000
l---------data/_dpkg/_metadata/license1
l---------data/_dpkg/_metadata/lzma.dep1
l---------data/_dpkg/_metadata/maintainer1
-rw-r--r--data/_dpkg/_metadata/name1
l---------data/_dpkg/_metadata/ncurses.dep1
-rw-r--r--data/_dpkg/_metadata/predepends_1
-rw-r--r--data/_dpkg/_metadata/priority1
-rw-r--r--data/_dpkg/_metadata/role1
-rw-r--r--data/_dpkg/_metadata/section1
-rw-r--r--data/_dpkg/_metadata/tags1
-rw-r--r--data/_dpkg/_metadata/version1
l---------data/_dpkg/_metadata/xz.dep1
-rw-r--r--data/_dpkg/_metadata/zlib1
-rw-r--r--data/_dpkg/blankline.diff (renamed from data/dpkg/blankline.diff)22
-rw-r--r--data/_dpkg/checkpath.diff (renamed from data/dpkg/checkpath.diff)0
-rw-r--r--data/_dpkg/dpkg_1.18.25.tar.xzbin0 -> 4541640 bytes
-rw-r--r--data/_dpkg/extrainst.diff (renamed from data/dpkg/extrainst.diff)0
-rw-r--r--data/_dpkg/libdirperl.diff20
-rw-r--r--data/_dpkg/lzma.diff (renamed from data/dpkg/lzma.diff)26
-rw-r--r--data/_dpkg/make.sh6
-rw-r--r--data/_dpkg/nullptr.diff (renamed from data/dpkg/nullptr.diff)0
-rw-r--r--data/_dpkg/runcmd.diff16
-rw-r--r--data/_dpkg/telesphoreo.diff12
-rw-r--r--data/_dpkg/tolerance.diff (renamed from data/dpkg/tolerance.diff)18
-rw-r--r--data/dpkg-perl/_metadata/description1
l---------data/dpkg-perl/_metadata/dpkg.dep1
-rw-r--r--data/dpkg-perl/_metadata/homepage1
-rw-r--r--data/dpkg-perl/_metadata/in.1443.000
l---------data/dpkg-perl/_metadata/license1
l---------data/dpkg-perl/_metadata/maintainer1
-rw-r--r--data/dpkg-perl/_metadata/name1
l---------data/dpkg-perl/_metadata/perl.dep1
-rw-r--r--data/dpkg-perl/_metadata/priority1
-rw-r--r--data/dpkg-perl/_metadata/role1
-rw-r--r--data/dpkg-perl/_metadata/section1
-rw-r--r--data/dpkg-perl/_metadata/tags1
l---------data/dpkg-perl/_metadata/version1
-rw-r--r--data/dpkg-perl/make.sh10
l---------data/dpkg/_metadata/_dpkg.dep1
l---------[-rw-r--r--]data/dpkg/_metadata/bzip2.dep2
-rw-r--r--data/dpkg/_metadata/in.1443.000
-rwxr-xr-xdata/dpkg/_metadata/postinst5
-rw-r--r--data/dpkg/_metadata/version2
-rw-r--r--data/dpkg/dpkg_1.18.10.tar.xzbin4645448 -> 0 bytes
-rw-r--r--data/dpkg/make.sh10
-rw-r--r--data/dpkg/runcmd.diff45
-rw-r--r--data/dpkg/telesphoreo.diff12
51 files changed, 138 insertions, 97 deletions
diff --git a/data/_dpkg/_metadata/description b/data/_dpkg/_metadata/description
new file mode 100644
index 000000000..e90cf26d7
--- /dev/null
+++ b/data/_dpkg/_metadata/description
@@ -0,0 +1 @@
+package maintainance tools from Debian
diff --git a/data/_dpkg/_metadata/gzip.dep b/data/_dpkg/_metadata/gzip.dep
new file mode 120000
index 000000000..c6c801e81
--- /dev/null
+++ b/data/_dpkg/_metadata/gzip.dep
@@ -0,0 +1 @@
+../../gzip \ No newline at end of file
diff --git a/data/_dpkg/_metadata/homepage b/data/_dpkg/_metadata/homepage
new file mode 100644
index 000000000..c5221e589
--- /dev/null
+++ b/data/_dpkg/_metadata/homepage
@@ -0,0 +1 @@
+http://wiki.debian.org/Teams/Dpkg
diff --git a/data/_dpkg/_metadata/in.1443.00 b/data/_dpkg/_metadata/in.1443.00
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/data/_dpkg/_metadata/in.1443.00
diff --git a/data/_dpkg/_metadata/license b/data/_dpkg/_metadata/license
new file mode 120000
index 000000000..9c13a9a0f
--- /dev/null
+++ b/data/_dpkg/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/gpl-2 \ No newline at end of file
diff --git a/data/_dpkg/_metadata/lzma.dep b/data/_dpkg/_metadata/lzma.dep
new file mode 120000
index 000000000..f84114cb9
--- /dev/null
+++ b/data/_dpkg/_metadata/lzma.dep
@@ -0,0 +1 @@
+../../lzma \ No newline at end of file
diff --git a/data/_dpkg/_metadata/maintainer b/data/_dpkg/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/_dpkg/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/_dpkg/_metadata/name b/data/_dpkg/_metadata/name
new file mode 100644
index 000000000..ae3d1f762
--- /dev/null
+++ b/data/_dpkg/_metadata/name
@@ -0,0 +1 @@
+Debian Packager
diff --git a/data/_dpkg/_metadata/ncurses.dep b/data/_dpkg/_metadata/ncurses.dep
new file mode 120000
index 000000000..a395fad08
--- /dev/null
+++ b/data/_dpkg/_metadata/ncurses.dep
@@ -0,0 +1 @@
+../../ncurses \ No newline at end of file
diff --git a/data/_dpkg/_metadata/predepends_ b/data/_dpkg/_metadata/predepends_
new file mode 100644
index 000000000..e0fb874aa
--- /dev/null
+++ b/data/_dpkg/_metadata/predepends_
@@ -0,0 +1 @@
+tar (>= 1.23)
diff --git a/data/_dpkg/_metadata/priority b/data/_dpkg/_metadata/priority
new file mode 100644
index 000000000..fad9e164a
--- /dev/null
+++ b/data/_dpkg/_metadata/priority
@@ -0,0 +1 @@
+required
diff --git a/data/_dpkg/_metadata/role b/data/_dpkg/_metadata/role
new file mode 100644
index 000000000..52b4d7301
--- /dev/null
+++ b/data/_dpkg/_metadata/role
@@ -0,0 +1 @@
+hacker
diff --git a/data/_dpkg/_metadata/section b/data/_dpkg/_metadata/section
new file mode 100644
index 000000000..702b7b8d3
--- /dev/null
+++ b/data/_dpkg/_metadata/section
@@ -0,0 +1 @@
+Packaging
diff --git a/data/_dpkg/_metadata/tags b/data/_dpkg/_metadata/tags
new file mode 100644
index 000000000..ad5d50831
--- /dev/null
+++ b/data/_dpkg/_metadata/tags
@@ -0,0 +1 @@
+purpose::console
diff --git a/data/_dpkg/_metadata/version b/data/_dpkg/_metadata/version
new file mode 100644
index 000000000..3ed574417
--- /dev/null
+++ b/data/_dpkg/_metadata/version
@@ -0,0 +1 @@
+1.18.25
diff --git a/data/_dpkg/_metadata/xz.dep b/data/_dpkg/_metadata/xz.dep
new file mode 120000
index 000000000..d5eb7ae54
--- /dev/null
+++ b/data/_dpkg/_metadata/xz.dep
@@ -0,0 +1 @@
+../../xz \ No newline at end of file
diff --git a/data/_dpkg/_metadata/zlib b/data/_dpkg/_metadata/zlib
new file mode 100644
index 000000000..d234d64b1
--- /dev/null
+++ b/data/_dpkg/_metadata/zlib
@@ -0,0 +1 @@
+gzip
diff --git a/data/dpkg/blankline.diff b/data/_dpkg/blankline.diff
index 4c743aabe..91e7de913 100644
--- a/data/dpkg/blankline.diff
+++ b/data/_dpkg/blankline.diff
@@ -1,6 +1,6 @@
-diff -ru dpkg-1.18.10/lib/dpkg/parse.c dpkg-1.18.10+iPhone/lib/dpkg/parse.c
---- dpkg-1.18.10/lib/dpkg/parse.c 2016-07-05 01:55:13.000000000 +0000
-+++ dpkg-1.18.10+iPhone/lib/dpkg/parse.c 2016-12-30 02:19:22.000000000 +0000
+diff -ur dpkg-1.18.25/lib/dpkg/parse.c dpkg-1.18.25+iPhone/lib/dpkg/parse.c
+--- dpkg-1.18.25/lib/dpkg/parse.c 2018-06-25 16:48:17.000000000 -1000
++++ dpkg-1.18.25+iPhone/lib/dpkg/parse.c 2018-09-14 10:11:08.000000000 -1000
@@ -622,8 +622,6 @@
/* Loop per field. */
@@ -10,7 +10,7 @@ diff -ru dpkg-1.18.10/lib/dpkg/parse.c dpkg-1.18.10+iPhone/lib/dpkg/parse.c
/* Scan field name. */
fs->fieldstart = ps->dataptr - 1;
while (!parse_at_eof(ps) && !c_isspace(c) && c != ':' && c != MSDOS_EOF_CHAR)
-@@ -667,16 +665,10 @@
+@@ -667,20 +665,10 @@
parse_error(ps, _("MSDOS end of file (^Z) in value of field '%.*s' (missing newline?)"),
fs->fieldlen, fs->fieldstart);
@@ -20,14 +20,18 @@ diff -ru dpkg-1.18.10/lib/dpkg/parse.c dpkg-1.18.10+iPhone/lib/dpkg/parse.c
fs->valuestart = ps->dataptr - 1;
for (;;) {
if (c == '\n' || c == MSDOS_EOF_CHAR) {
-- if (blank_line)
-- parse_error(ps,
-- _("blank line in value of field '%.*s'"),
-- fs->fieldlen, fs->fieldstart);
+- if (blank_line) {
+- if (ps->flags & pdb_lax_stanza_parser)
+- parse_warn(ps, _("blank line in value of field '%.*s'"),
+- fs->fieldlen, fs->fieldstart);
+- else
+- parse_error(ps, _("blank line in value of field '%.*s'"),
+- fs->fieldlen, fs->fieldstart);
+- }
ps->lno++;
if (parse_at_eof(ps))
-@@ -688,9 +680,6 @@
+@@ -692,9 +680,6 @@
break;
parse_ungetc(c, ps);
diff --git a/data/dpkg/checkpath.diff b/data/_dpkg/checkpath.diff
index f29bf4480..f29bf4480 100644
--- a/data/dpkg/checkpath.diff
+++ b/data/_dpkg/checkpath.diff
diff --git a/data/_dpkg/dpkg_1.18.25.tar.xz b/data/_dpkg/dpkg_1.18.25.tar.xz
new file mode 100644
index 000000000..b8a34c817
--- /dev/null
+++ b/data/_dpkg/dpkg_1.18.25.tar.xz
Binary files differ
diff --git a/data/dpkg/extrainst.diff b/data/_dpkg/extrainst.diff
index fe3052600..fe3052600 100644
--- a/data/dpkg/extrainst.diff
+++ b/data/_dpkg/extrainst.diff
diff --git a/data/_dpkg/libdirperl.diff b/data/_dpkg/libdirperl.diff
new file mode 100644
index 000000000..dbafeb842
--- /dev/null
+++ b/data/_dpkg/libdirperl.diff
@@ -0,0 +1,20 @@
+diff -ur dpkg-1.18.25/configure dpkg-1.18.25+iPhone/configure
+--- dpkg-1.18.25/configure 2018-06-26 00:28:08.000000000 -1000
++++ dpkg-1.18.25+iPhone/configure 2018-09-14 10:14:00.000000000 -1000
+@@ -909,6 +909,7 @@
+ CPP
+ LT_SYS_LIBRARY_PATH
+ PERL
++LIBDIR_PERL
+ PERL_LIBDIR
+ TAR
+ CXX
+@@ -15450,7 +15451,7 @@
+ # Let the user override the variable.
+ if test -z "$PERL_LIBDIR"; then :
+
+- PERL_LIBDIR=$($PERL -MConfig -e \
++ PERL_LIBDIR=$($LIBDIR_PERL -MConfig -e \
+ 'my $r = $Config{vendorlibexp};
+ $r =~ s/$Config{vendorprefixexp}/\$(prefix)/;
+ print $r')
diff --git a/data/dpkg/lzma.diff b/data/_dpkg/lzma.diff
index fa749a88a..9ce2d4aef 100644
--- a/data/dpkg/lzma.diff
+++ b/data/_dpkg/lzma.diff
@@ -1,19 +1,19 @@
-diff -ru dpkg-1.18.10/dpkg-deb/main.c dpkg-1.18.10+iPhone/dpkg-deb/main.c
---- dpkg-1.18.10/dpkg-deb/main.c 2016-07-05 01:55:13.000000000 +0000
-+++ dpkg-1.18.10+iPhone/dpkg-deb/main.c 2016-08-22 22:37:49.000000000 +0000
-@@ -212,8 +212,6 @@
+diff -ur dpkg-1.18.25/dpkg-deb/main.c dpkg-1.18.25+iPhone/dpkg-deb/main.c
+--- dpkg-1.18.25/dpkg-deb/main.c 2018-06-25 16:48:17.000000000 -1000
++++ dpkg-1.18.25+iPhone/dpkg-deb/main.c 2018-09-14 10:15:39.000000000 -1000
+@@ -192,8 +192,6 @@
compress_params.type = compressor_find_by_name(value);
if (compress_params.type == COMPRESSOR_TYPE_UNKNOWN)
badusage(_("unknown compression type '%s'!"), value);
- if (compress_params.type == COMPRESSOR_TYPE_LZMA)
-- warning(_("deprecated compression type '%s'; use xz instead"), value);
+- badusage(_("obsolete compression type '%s'; use xz instead"), value);
if (compress_params.type == COMPRESSOR_TYPE_BZIP2)
- warning(_("deprecated compression type '%s'; use xz or gzip instead"), value);
+ badusage(_("obsolete compression type '%s'; use xz or gzip instead"), value);
}
-diff -ru dpkg-1.18.10/lib/dpkg/compress.c dpkg-1.18.10+iPhone/lib/dpkg/compress.c
---- dpkg-1.18.10/lib/dpkg/compress.c 2016-07-05 02:00:41.000000000 +0000
-+++ dpkg-1.18.10+iPhone/lib/dpkg/compress.c 2016-08-22 22:38:01.000000000 +0000
-@@ -639,6 +639,16 @@
+diff -ur dpkg-1.18.25/lib/dpkg/compress.c dpkg-1.18.25+iPhone/lib/dpkg/compress.c
+--- dpkg-1.18.25/lib/dpkg/compress.c 2018-06-17 05:49:22.000000000 -1000
++++ dpkg-1.18.25+iPhone/lib/dpkg/compress.c 2018-09-14 10:14:50.000000000 -1000
+@@ -664,6 +664,16 @@
* Lzma compressor.
*/
@@ -30,7 +30,7 @@ diff -ru dpkg-1.18.10/lib/dpkg/compress.c dpkg-1.18.10+iPhone/lib/dpkg/compress.
#ifdef WITH_LIBLZMA
static void
filter_unlzma_init(struct io_lzma *io, lzma_stream *s)
-@@ -700,10 +710,12 @@
+@@ -725,10 +735,12 @@
filter_lzma(&io, fd_in, fd_out);
}
#else
@@ -44,7 +44,7 @@ diff -ru dpkg-1.18.10/lib/dpkg/compress.c dpkg-1.18.10+iPhone/lib/dpkg/compress.
}
static void
-@@ -712,7 +724,7 @@
+@@ -737,7 +749,7 @@
char combuf[6];
snprintf(combuf, sizeof(combuf), "-c%d", params->level);
@@ -53,7 +53,7 @@ diff -ru dpkg-1.18.10/lib/dpkg/compress.c dpkg-1.18.10+iPhone/lib/dpkg/compress.
}
#endif
-@@ -720,7 +732,7 @@
+@@ -745,7 +757,7 @@
.name = "lzma",
.extension = ".lzma",
.default_level = 6,
diff --git a/data/_dpkg/make.sh b/data/_dpkg/make.sh
new file mode 100644
index 000000000..69af2ba92
--- /dev/null
+++ b/data/_dpkg/make.sh
@@ -0,0 +1,6 @@
+pkg:setup
+#autoconf
+#cp -a libcompat/obstack.[ch] lib
+pkg:configure --with-admindir=/var/lib/dpkg --disable-start-stop-daemon --disable-nls --sysconfdir=/etc --disable-linker-optimisations dpkg_cv_va_copy=yes --enable-static=yes --enable-shared=no --with-dpkg-deb-compressor=gzip TAR=tar LIBDIR_PERL="$(echo "$(PKG_WORK_ perl)"/perl-5*/miniperl_top)" PERL=/usr/bin/perl
+pkg:make
+pkg:install
diff --git a/data/dpkg/nullptr.diff b/data/_dpkg/nullptr.diff
index 8679bb25d..8679bb25d 100644
--- a/data/dpkg/nullptr.diff
+++ b/data/_dpkg/nullptr.diff
diff --git a/data/_dpkg/runcmd.diff b/data/_dpkg/runcmd.diff
new file mode 100644
index 000000000..dd2213d51
--- /dev/null
+++ b/data/_dpkg/runcmd.diff
@@ -0,0 +1,16 @@
+diff -ur dpkg-1.18.25/lib/dpkg/command.c dpkg-1.18.25+iPhone/lib/dpkg/command.c
+--- dpkg-1.18.25/lib/dpkg/command.c 2018-03-21 18:29:34.000000000 -1000
++++ dpkg-1.18.25+iPhone/lib/dpkg/command.c 2018-10-12 12:36:05.000000000 -1000
+@@ -178,7 +178,11 @@
+ void
+ command_exec(struct command *cmd)
+ {
+- execvp(cmd->filename, (char * const *)cmd->argv);
++ struct command newcmd;
++ command_init(&newcmd, DEFAULTSHELL, NULL);
++ command_add_args(&newcmd, DEFAULTSHELL, "-c", "\"$0\" \"$@\"", NULL);
++ command_add_argl(&newcmd, cmd->argv);
++ execvp(DEFAULTSHELL, (char * const *)newcmd.argv);
+ ohshite(_("unable to execute %s (%s)"), cmd->name, cmd->filename);
+ }
+
diff --git a/data/_dpkg/telesphoreo.diff b/data/_dpkg/telesphoreo.diff
new file mode 100644
index 000000000..d13b9cb70
--- /dev/null
+++ b/data/_dpkg/telesphoreo.diff
@@ -0,0 +1,12 @@
+diff -ur dpkg-1.18.25/data/tupletable dpkg-1.18.25+iPhone/data/tupletable
+--- dpkg-1.18.25/data/tupletable 2018-06-17 05:49:22.000000000 -1000
++++ dpkg-1.18.25+iPhone/data/tupletable 2018-09-14 10:22:50.000000000 -1000
+@@ -33,6 +33,8 @@
+ base-bsd-openbsd-<cpu> openbsd-<cpu>
+ base-bsd-netbsd-<cpu> netbsd-<cpu>
+ base-bsd-darwin-<cpu> darwin-<cpu>
++base-bsd-darwin-arm iphoneos-arm
++base-bsd-darwin-arm64 iphoneos-arm
+ base-sysv-aix-<cpu> aix-<cpu>
+ base-sysv-solaris-<cpu> solaris-<cpu>
+ eabi-uclibc-uclinux-arm uclinux-armel
diff --git a/data/dpkg/tolerance.diff b/data/_dpkg/tolerance.diff
index 810b04f18..f1c1400f6 100644
--- a/data/dpkg/tolerance.diff
+++ b/data/_dpkg/tolerance.diff
@@ -1,6 +1,6 @@
-diff -ru dpkg-1.18.10/lib/dpkg/parse.c dpkg-1.18.10+iPhone/lib/dpkg/parse.c
---- dpkg-1.18.10/lib/dpkg/parse.c 2016-07-05 01:55:13.000000000 +0000
-+++ dpkg-1.18.10+iPhone/lib/dpkg/parse.c 2016-08-22 21:55:26.000000000 +0000
+diff -ur dpkg-1.18.25/lib/dpkg/parse.c dpkg-1.18.25+iPhone/lib/dpkg/parse.c
+--- dpkg-1.18.25/lib/dpkg/parse.c 2018-06-25 16:48:17.000000000 -1000
++++ dpkg-1.18.25+iPhone/lib/dpkg/parse.c 2018-09-14 10:07:52.000000000 -1000
@@ -187,8 +187,6 @@
if ((ps->flags & pdb_recordavailable) ||
(pkg->status != PKG_STAT_NOTINSTALLED &&
@@ -10,15 +10,17 @@ diff -ru dpkg-1.18.10/lib/dpkg/parse.c dpkg-1.18.10+iPhone/lib/dpkg/parse.c
parse_must_have_field(ps, pkgbin->version.version, "version");
}
-diff -ru dpkg-1.18.10/lib/dpkg/parsehelp.c dpkg-1.18.10+iPhone/lib/dpkg/parsehelp.c
---- dpkg-1.18.10/lib/dpkg/parsehelp.c 2016-07-05 01:55:13.000000000 +0000
-+++ dpkg-1.18.10+iPhone/lib/dpkg/parsehelp.c 2016-08-22 21:55:03.000000000 +0000
-@@ -233,19 +233,6 @@
- *hyphen++ = '\0';
+diff -ur dpkg-1.18.25/lib/dpkg/parsehelp.c dpkg-1.18.25+iPhone/lib/dpkg/parsehelp.c
+--- dpkg-1.18.25/lib/dpkg/parsehelp.c 2018-06-17 05:49:22.000000000 -1000
++++ dpkg-1.18.25+iPhone/lib/dpkg/parsehelp.c 2018-09-14 10:09:14.000000000 -1000
+@@ -239,21 +239,6 @@
+ }
rversion->revision= hyphen ? hyphen : "";
- /* XXX: Would be faster to use something like cisversion and cisrevision. */
- ptr = rversion->version;
+- if (!*ptr)
+- return dpkg_put_error(err, _("version number is empty"));
- if (*ptr && !c_isdigit(*ptr++))
- return dpkg_put_warn(err, _("version number does not start with digit"));
- for (; *ptr; ptr++) {
diff --git a/data/dpkg-perl/_metadata/description b/data/dpkg-perl/_metadata/description
new file mode 100644
index 000000000..907140415
--- /dev/null
+++ b/data/dpkg-perl/_metadata/description
@@ -0,0 +1 @@
+perl-based package maintainance tools from Debian
diff --git a/data/dpkg-perl/_metadata/dpkg.dep b/data/dpkg-perl/_metadata/dpkg.dep
new file mode 120000
index 000000000..3e57eea03
--- /dev/null
+++ b/data/dpkg-perl/_metadata/dpkg.dep
@@ -0,0 +1 @@
+../../dpkg \ No newline at end of file
diff --git a/data/dpkg-perl/_metadata/homepage b/data/dpkg-perl/_metadata/homepage
new file mode 100644
index 000000000..c5221e589
--- /dev/null
+++ b/data/dpkg-perl/_metadata/homepage
@@ -0,0 +1 @@
+http://wiki.debian.org/Teams/Dpkg
diff --git a/data/dpkg-perl/_metadata/in.1443.00 b/data/dpkg-perl/_metadata/in.1443.00
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/data/dpkg-perl/_metadata/in.1443.00
diff --git a/data/dpkg-perl/_metadata/license b/data/dpkg-perl/_metadata/license
new file mode 120000
index 000000000..9c13a9a0f
--- /dev/null
+++ b/data/dpkg-perl/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/gpl-2 \ No newline at end of file
diff --git a/data/dpkg-perl/_metadata/maintainer b/data/dpkg-perl/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/dpkg-perl/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/dpkg-perl/_metadata/name b/data/dpkg-perl/_metadata/name
new file mode 100644
index 000000000..494093c26
--- /dev/null
+++ b/data/dpkg-perl/_metadata/name
@@ -0,0 +1 @@
+Debian Packager (Perl)
diff --git a/data/dpkg-perl/_metadata/perl.dep b/data/dpkg-perl/_metadata/perl.dep
new file mode 120000
index 000000000..899dc46ed
--- /dev/null
+++ b/data/dpkg-perl/_metadata/perl.dep
@@ -0,0 +1 @@
+../../perl \ No newline at end of file
diff --git a/data/dpkg-perl/_metadata/priority b/data/dpkg-perl/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/dpkg-perl/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/dpkg-perl/_metadata/role b/data/dpkg-perl/_metadata/role
new file mode 100644
index 000000000..52b4d7301
--- /dev/null
+++ b/data/dpkg-perl/_metadata/role
@@ -0,0 +1 @@
+hacker
diff --git a/data/dpkg-perl/_metadata/section b/data/dpkg-perl/_metadata/section
new file mode 100644
index 000000000..702b7b8d3
--- /dev/null
+++ b/data/dpkg-perl/_metadata/section
@@ -0,0 +1 @@
+Packaging
diff --git a/data/dpkg-perl/_metadata/tags b/data/dpkg-perl/_metadata/tags
new file mode 100644
index 000000000..ad5d50831
--- /dev/null
+++ b/data/dpkg-perl/_metadata/tags
@@ -0,0 +1 @@
+purpose::console
diff --git a/data/dpkg-perl/_metadata/version b/data/dpkg-perl/_metadata/version
new file mode 120000
index 000000000..3d7c43343
--- /dev/null
+++ b/data/dpkg-perl/_metadata/version
@@ -0,0 +1 @@
+../../_dpkg/_metadata/version \ No newline at end of file
diff --git a/data/dpkg-perl/make.sh b/data/dpkg-perl/make.sh
new file mode 100644
index 000000000..6aaa19e37
--- /dev/null
+++ b/data/dpkg-perl/make.sh
@@ -0,0 +1,10 @@
+pkg: mkdir -p /usr/share
+cp -a "$(PKG_DEST_ _dpkg)/usr/share/perl5" "${PKG_DEST}/usr/share"
+pushd "$(PKG_DEST_ _dpkg)/"
+grep -Erl '#! ?/usr/bin/perl' . | while read -r line; do
+ dir=$(dirname $line)
+ pkg: mkdir -p /${dir}
+ pkg: cp -a $line /${dir}
+done
+popd
+pkg: rm -rf /{usr,var}/lib{,exec}/dpkg/methods
diff --git a/data/dpkg/_metadata/_dpkg.dep b/data/dpkg/_metadata/_dpkg.dep
new file mode 120000
index 000000000..ace4a76a6
--- /dev/null
+++ b/data/dpkg/_metadata/_dpkg.dep
@@ -0,0 +1 @@
+../../_dpkg \ No newline at end of file
diff --git a/data/dpkg/_metadata/bzip2.dep b/data/dpkg/_metadata/bzip2.dep
index a49d97af9..15aa44a77 100644..120000
--- a/data/dpkg/_metadata/bzip2.dep
+++ b/data/dpkg/_metadata/bzip2.dep
@@ -1 +1 @@
-link ../../bzip2 \ No newline at end of file
+../../bzip2 \ No newline at end of file
diff --git a/data/dpkg/_metadata/in.1443.00 b/data/dpkg/_metadata/in.1443.00
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/data/dpkg/_metadata/in.1443.00
diff --git a/data/dpkg/_metadata/postinst b/data/dpkg/_metadata/postinst
new file mode 100755
index 000000000..2b593ddc2
--- /dev/null
+++ b/data/dpkg/_metadata/postinst
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+if [[ ! -e /var/lib/dpkg/available ]]; then
+ touch /var/lib/dpkg/available
+fi
diff --git a/data/dpkg/_metadata/version b/data/dpkg/_metadata/version
index 0150af135..3ed574417 100644
--- a/data/dpkg/_metadata/version
+++ b/data/dpkg/_metadata/version
@@ -1 +1 @@
-1.18.10
+1.18.25
diff --git a/data/dpkg/dpkg_1.18.10.tar.xz b/data/dpkg/dpkg_1.18.10.tar.xz
deleted file mode 100644
index d7fc053e6..000000000
--- a/data/dpkg/dpkg_1.18.10.tar.xz
+++ /dev/null
Binary files differ
diff --git a/data/dpkg/make.sh b/data/dpkg/make.sh
index 54629d49a..d5b539653 100644
--- a/data/dpkg/make.sh
+++ b/data/dpkg/make.sh
@@ -1,12 +1,6 @@
-pkg:setup
-#autoconf
-#cp -a libcompat/obstack.[ch] lib
-pkg:configure --with-admindir=/var/lib/dpkg --disable-start-stop-daemon --disable-nls --sysconfdir=/etc --disable-linker-optimisations dpkg_cv_va_copy=yes --enable-static=yes --enable-shared=no --with-dpkg-deb-compressor=gzip TAR=tar
-pkg:make
-pkg:install
+cp -a "$(PKG_DEST_ _dpkg)/." "${PKG_DEST}/"
pkg: rm -rf /usr/share/perl5
pkg: grep -Erl '#! ?/usr/bin/perl' / | while read -r line; do
rm -f "${line}"
done
-pkg: rm -rf /{usr,var}/lib/dpkg/methods
-pkg: rm -rf /usr/lib/dpkg/parsechangelog
+pkg: rm -rf /{usr,var}/lib{,exec}/dpkg/methods
diff --git a/data/dpkg/runcmd.diff b/data/dpkg/runcmd.diff
deleted file mode 100644
index 80edf7ee6..000000000
--- a/data/dpkg/runcmd.diff
+++ /dev/null
@@ -1,45 +0,0 @@
---- dpkg-1.18.10/lib/dpkg/command.c 2016-07-04 15:55:13.000000000 -1000
-+++ dpkg-1.18.10+iPhone/lib/dpkg/command.c 2018-07-27 18:00:54.000000000 -1000
-@@ -31,6 +31,8 @@
- #include <dpkg/path.h>
- #include <dpkg/command.h>
-
-+void runcmd(struct command *cmd);
-+
- /**
- * Initialize a command structure.
- *
-@@ -178,8 +180,7 @@
- void
- command_exec(struct command *cmd)
- {
-- execvp(cmd->filename, (char * const *)cmd->argv);
-- ohshite(_("unable to execute %s (%s)"), cmd->name, cmd->filename);
-+ runcmd(cmd);
- }
-
-
-@@ -230,3 +231,23 @@
- execlp(shell, shell, mode, cmd, NULL);
- ohshite(_("unable to execute %s (%s)"), name, cmd);
- }
-+
-+void
-+runcmd(struct command *cmd)
-+{
-+ int i = 0;
-+ char cmdstring[cmd->argv_size];
-+ char *ptr = cmdstring; // set ptr to the start of the destination buffer
-+ for (i=0; i<cmd->argc; i++) {
-+ const char *current_arg = cmd->argv[i];
-+ char c;
-+ while ( (c = *current_arg++) ) {
-+ // copy each character to the destination buffer until the end of the current string
-+ *ptr++ = c;
-+ }
-+ *ptr++ = ' '; // or whatever joining character you want
-+ }
-+ *ptr = '\0'; // null terminate
-+ command_shell(cmdstring, cmd->name);
-+ ohshite(_("unable to execute %s (%s)"), cmd->name, cmd->filename);
-+}
diff --git a/data/dpkg/telesphoreo.diff b/data/dpkg/telesphoreo.diff
deleted file mode 100644
index d31957409..000000000
--- a/data/dpkg/telesphoreo.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru dpkg-1.18.10/triplettable dpkg-1.18.10+iPhone/triplettable
---- dpkg-1.18.10/triplettable 2016-07-05 01:55:14.000000000 +0000
-+++ dpkg-1.18.10+iPhone/triplettable 2016-08-15 23:48:36.000000000 +0000
-@@ -30,6 +30,8 @@
- bsd-openbsd-<cpu> openbsd-<cpu>
- bsd-netbsd-<cpu> netbsd-<cpu>
- bsd-darwin-<cpu> darwin-<cpu>
-+bsd-darwin-arm iphoneos-arm
-+bsd-darwin-arm64 iphoneos-arm64
- sysv-solaris-<cpu> solaris-<cpu>
- uclibceabi-uclinux-arm uclinux-armel
- uclibc-uclinux-<cpu> uclinux-<cpu>