summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorConstantin Musca <constantinx.musca@intel.com>2012-08-28 17:02:40 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-02 05:52:07 -0700
commit5b1fbbebb987a78c7e3261ed53ebda5597dc0b42 (patch)
tree786ca0911522a4fac21306a50d8d9d7a71a970af
parent1c64c6b3002b4a01e590263c730e22c89d869bb7 (diff)
downloadpoky-5b1fbbebb987a78c7e3261ed53ebda5597dc0b42.tar.gz
dpkg: upgrade to 1.16.8
autofoo.patch: removed - the patch is not used check_version: adapted to the new version - adapt the linux-wrs kernel version, which has character '_' - remove the first-char-digit-check (as the 1.15.8.5 version does) dpkg-deb-avoid-fflush.patch: removed - the patch is included in the new version fix-timestamps.patch: added - the lutimes function doesn't work properly for all systems ignore_extra_fields.patch: adapted to the new version nochroot.patch: removed - the patch is not used noman.patch: adapted to the new version noupdalt.patch: removed - the patch is not used perllibdir.patch: removed - in the new version PERL_LIBDIR will be set only if empty preinst.patch: adapted to new version removed-tar-no-timestamp.patch: added - the busybox-1.19.4 tar utility doesn't support --warning=no-timestamp (From OE-Core rev: 02e8b5c1fd68fa18ee81ba2920cd48fea8a1ef5e) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/dpkg/dpkg.inc4
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/autofoo.patch50
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/check_version.patch23
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch198
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/fix-timestamps.patch21
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/ignore_extra_fields.patch35
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/nochroot.patch20
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/noman.patch1
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/noupdalt.patch18
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/perllibdir.patch22
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/preinst.patch75
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch16
-rw-r--r--meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb15
-rw-r--r--meta/recipes-devtools/dpkg/dpkg_1.16.8.bb15
14 files changed, 126 insertions, 387 deletions
diff --git a/meta/recipes-devtools/dpkg/dpkg.inc b/meta/recipes-devtools/dpkg/dpkg.inc
index 7f4f620783..723d1b2e78 100644
--- a/meta/recipes-devtools/dpkg/dpkg.inc
+++ b/meta/recipes-devtools/dpkg/dpkg.inc
@@ -2,9 +2,9 @@ DESCRIPTION = "Package maintenance system for Debian."
2LICENSE = "GPLv2.0+" 2LICENSE = "GPLv2.0+"
3SECTION = "base" 3SECTION = "base"
4 4
5INC_PR = "r17" 5INC_PR = "r18"
6 6
7SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.bz2 \ 7SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.xz \
8 file://ignore_extra_fields.patch" 8 file://ignore_extra_fields.patch"
9 9
10DEPENDS = "zlib bzip2 perl" 10DEPENDS = "zlib bzip2 perl"
diff --git a/meta/recipes-devtools/dpkg/dpkg/autofoo.patch b/meta/recipes-devtools/dpkg/dpkg/autofoo.patch
deleted file mode 100644
index 2f1edcec53..0000000000
--- a/meta/recipes-devtools/dpkg/dpkg/autofoo.patch
+++ /dev/null
@@ -1,50 +0,0 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6Upstream-Status: Inappropriate [configuration]
7
8--- dpkg-1.10.23/configure.in~autofoo
9+++ dpkg-1.10.23/configure.in
10@@ -227,21 +227,36 @@
11 # OpenBSD passes AC_TRY_COMPILE for va_copy even though
12 # it doesn't seem to exist, which is odd. We need to use
13 # AC_TRY_RUN.
14+#
15+# If crosscompiling, use AC_TRY_COMPILE. -CL
16 AC_TRY_RUN([
17 #include <stdarg.h>
18 main(){
19 va_list v1,v2;
20 va_copy(v1, v2);
21 exit(0);}
22-], [AC_MSG_RESULT(yes)
23-AC_DEFINE(HAVE_VA_COPY,,[Whether the va_copy macro exists])],[AC_MSG_RESULT(no)
24-AC_MSG_CHECKING([for va_list assignment copy])
25+], [dpkg_cv_va_copy=yes], [dpkg_cv_va_copy=no],
26 AC_TRY_COMPILE([
27 #include <stdarg.h>
28+main(){
29+va_list v1,v2;
30+va_copy(v1, v2);
31+exit(0);}
32+], [dpkg_cv_va_copy=yes], [dpkg_vc_va_copy=no]))
33+
34+if test "$dpkg_cv_va_copy" = "yes"; then
35+ AC_MSG_RESULT(yes)
36+ AC_DEFINE(HAVE_VA_COPY,,[Whether the va_copy macro exists])
37+else
38+ AC_MSG_RESULT(no)
39+ AC_MSG_CHECKING([for va_list assignment copy])
40+ AC_TRY_COMPILE([
41+#include <stdarg.h>
42 ],[
43 va_list v1,v2;
44 v1 = v2;
45-], AC_MSG_RESULT(yes),AC_MSG_ERROR(no))])
46+], AC_MSG_RESULT(yes), AC_MSG_ERROR(no))
47+fi
48
49 DPKG_C_GCC_ATTRIBUTE([,,],supported,[int x],[,,],ATTRIB,[Define if function attributes a la GCC 2.5 and higher are available.],
50 DPKG_C_GCC_ATTRIBUTE(noreturn,noreturn,[int x],noreturn,NORETURN,[Define if nonreturning functions a la GCC 2.5 and higher are available.])
diff --git a/meta/recipes-devtools/dpkg/dpkg/check_version.patch b/meta/recipes-devtools/dpkg/dpkg/check_version.patch
index 524e715c01..3175731522 100644
--- a/meta/recipes-devtools/dpkg/dpkg/check_version.patch
+++ b/meta/recipes-devtools/dpkg/dpkg/check_version.patch
@@ -1,23 +1,28 @@
1Adapt to linux-wrs kernel version, which has character '_' inside. 1Adapt to linux-wrs kernel version, which has character '_' inside.
2Remove the first-char-digit-check (as the 1.15.8.5 version does).
2 3
3Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> 4Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
5Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
4 6
5Upstream-Status: Inappropriate [embedded specific] 7Upstream-Status: Inappropriate [embedded specific]
6 8
7diff -ruN dpkg-1.15.8.5-orig/lib/dpkg/parsehelp.c dpkg-1.15.8.5/lib/dpkg/parsehelp.c 9Index: dpkg-1.16.8/lib/dpkg/parsehelp.c
8--- dpkg-1.15.8.5-orig/lib/dpkg/parsehelp.c 2010-10-08 12:27:15.058572774 +0800 10===================================================================
9+++ dpkg-1.15.8.5/lib/dpkg/parsehelp.c 2010-10-09 11:18:15.484190771 +0800 11--- dpkg-1.16.8.orig/lib/dpkg/parsehelp.c
10@@ -268,11 +268,11 @@ 12+++ dpkg-1.16.8/lib/dpkg/parsehelp.c
13@@ -258,14 +258,12 @@ parseversion(struct dpkg_version *rversi
11 14
12 /* XXX: Would be faster to use something like cisversion and cisrevision. */ 15 /* XXX: Would be faster to use something like cisversion and cisrevision. */
13 for (ptr = rversion->version; *ptr; ptr++) { 16 ptr = rversion->version;
17- if (*ptr && !cisdigit(*ptr++))
18- return dpkg_put_warn(err, _("version number does not start with digit"));
19 for (; *ptr; ptr++) {
14- if (!cisdigit(*ptr) && !cisalpha(*ptr) && strchr(".-+~:", *ptr) == NULL) 20- if (!cisdigit(*ptr) && !cisalpha(*ptr) && strchr(".-+~:", *ptr) == NULL)
15+ if (!cisdigit(*ptr) && !cisalpha(*ptr) && strchr(".-+~:_", *ptr) == NULL) 21+ if (!cisdigit(*ptr) && !cisalpha(*ptr) && strchr(".-+~:_", *ptr) == NULL)
16 return _("invalid character in version number"); 22 return dpkg_put_warn(err, _("invalid character in version number"));
17 } 23 }
18 for (ptr = rversion->revision; *ptr; ptr++) { 24 for (ptr = rversion->revision; *ptr; ptr++) {
19- if (!cisdigit(*ptr) && !cisalpha(*ptr) && strchr(".-+~", *ptr) == NULL) 25- if (!cisdigit(*ptr) && !cisalpha(*ptr) && strchr(".+~", *ptr) == NULL)
20+ if (!cisdigit(*ptr) && !cisalpha(*ptr) && strchr(".-+~_", *ptr) == NULL) 26+ if (!cisdigit(*ptr) && !cisalpha(*ptr) && strchr(".-+~_", *ptr) == NULL)
21 return _("invalid character in revision number"); 27 return dpkg_put_warn(err, _("invalid character in revision number"));
22 } 28 }
23
diff --git a/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch b/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch
deleted file mode 100644
index a5d6b616c0..0000000000
--- a/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch
+++ /dev/null
@@ -1,198 +0,0 @@
1From 78eaf928d30d0b16e05d8d63c55a3632a135ed9a Mon Sep 17 00:00:00 2001
2From: Guillem Jover <guillem@debian.org>
3Date: Thu, 4 Nov 2010 00:51:13 +0100
4Subject: [PATCH] dpkg-deb: Use fd instead of stream based buffered I/O
5
6Behaviour of fflush() on input streams is undefined per POSIX, avoid
7mixing stream and file descriptor based I/O, and only use the latter
8instead.
9
10Upstream-Status: Backport of revision 2d420ee1d05033d237462a0075facfe406b08043 (in 1.16.x)
11
12---
13 dpkg-deb/extract.c | 83 ++++++++++++++++++++++++++++++++++++++-------------
14 1 files changed, 62 insertions(+), 21 deletions(-)
15
16diff --git a/dpkg-deb/extract.c b/dpkg-deb/extract.c
17index 22aea98..0f5ac88 100644
18--- a/dpkg-deb/extract.c
19+++ b/dpkg-deb/extract.c
20@@ -31,6 +31,7 @@
21 #include <ctype.h>
22 #include <string.h>
23 #include <dirent.h>
24+#include <fcntl.h>
25 #include <unistd.h>
26 #include <ar.h>
27 #include <stdbool.h>
28@@ -61,13 +62,41 @@ static void movecontrolfiles(const char *thing) {
29 }
30
31 static void DPKG_ATTR_NORET
32-readfail(FILE *a, const char *filename, const char *what)
33+read_fail(int rc, const char *filename, const char *what)
34 {
35- if (ferror(a)) {
36- ohshite(_("error reading %s from file %.255s"), what, filename);
37- } else {
38+ if (rc == 0)
39 ohshit(_("unexpected end of file in %s in %.255s"),what,filename);
40+ else
41+ ohshite(_("error reading %s from file %.255s"), what, filename);
42+}
43+
44+static ssize_t
45+read_line(int fd, char *buf, size_t min_size, size_t max_size)
46+{
47+ ssize_t line_size = 0;
48+ size_t n = min_size;
49+
50+ while (line_size < (ssize_t)max_size) {
51+ ssize_t r;
52+ char *nl;
53+
54+ r = read(fd, buf + line_size, n);
55+ if (r <= 0)
56+ return r;
57+
58+ nl = strchr(buf + line_size, '\n');
59+ line_size += r;
60+
61+ if (nl != NULL) {
62+ nl[1] = '\0';
63+ return line_size;
64+ }
65+
66+ n = 1;
67 }
68+
69+ buf[line_size] = '\0';
70+ return line_size;
71 }
72
73 static size_t
74@@ -115,19 +144,26 @@ void extracthalf(const char *debar, const char *directory,
75 char versionbuf[40];
76 float versionnum;
77 size_t ctrllennum, memberlen= 0;
78+ ssize_t r;
79 int dummy;
80 pid_t c1=0,c2,c3;
81 int p1[2], p2[2];
82- FILE *ar;
83+ int arfd;
84 struct stat stab;
85 char nlc;
86 int adminmember;
87 bool oldformat, header_done;
88 struct compressor *decompressor = &compressor_gzip;
89
90- ar= fopen(debar,"r"); if (!ar) ohshite(_("failed to read archive `%.255s'"),debar);
91- if (fstat(fileno(ar),&stab)) ohshite(_("failed to fstat archive"));
92- if (!fgets(versionbuf,sizeof(versionbuf),ar)) readfail(ar,debar,_("version number"));
93+ arfd = open(debar, O_RDONLY);
94+ if (arfd < 0)
95+ ohshite(_("failed to read archive `%.255s'"), debar);
96+ if (fstat(arfd, &stab))
97+ ohshite(_("failed to fstat archive"));
98+
99+ r = read_line(arfd, versionbuf, strlen(DPKG_AR_MAGIC), sizeof(versionbuf));
100+ if (r < 0)
101+ read_fail(r, debar, _("archive magic version number"));
102
103 if (!strcmp(versionbuf, DPKG_AR_MAGIC)) {
104 oldformat = false;
105@@ -137,8 +173,9 @@ void extracthalf(const char *debar, const char *directory,
106 for (;;) {
107 struct ar_hdr arh;
108
109- if (fread(&arh,1,sizeof(arh),ar) != sizeof(arh))
110- readfail(ar,debar,_("between members"));
111+ r = read(arfd, &arh, sizeof(arh));
112+ if (r != sizeof(arh))
113+ read_fail(r, debar, _("archive member header"));
114
115 dpkg_ar_normalize_name(&arh);
116
117@@ -153,8 +190,9 @@ void extracthalf(const char *debar, const char *directory,
118 if (strncmp(arh.ar_name, DEBMAGIC, sizeof(arh.ar_name)) != 0)
119 ohshit(_("file `%.250s' is not a debian binary archive (try dpkg-split?)"),debar);
120 infobuf= m_malloc(memberlen+1);
121- if (fread(infobuf,1, memberlen + (memberlen&1), ar) != memberlen + (memberlen&1))
122- readfail(ar,debar,_("header info member"));
123+ r = read(arfd, infobuf, memberlen + (memberlen & 1));
124+ if ((size_t)r != (memberlen + (memberlen & 1)))
125+ read_fail(r, debar, _("archive information header member"));
126 infobuf[memberlen] = '\0';
127 cur= strchr(infobuf,'\n');
128 if (!cur) ohshit(_("archive has no newlines in header"));
129@@ -174,7 +212,8 @@ void extracthalf(const char *debar, const char *directory,
130 /* Members with `_' are noncritical, and if we don't understand them
131 * we skip them.
132 */
133- stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar);
134+ fd_null_copy(arfd, memberlen + (memberlen & 1),
135+ _("skipped archive member data from %s"), debar);
136 } else {
137 if (strncmp(arh.ar_name, ADMINMEMBER, sizeof(arh.ar_name)) == 0)
138 adminmember = 1;
139@@ -198,7 +237,8 @@ void extracthalf(const char *debar, const char *directory,
140 ctrllennum= memberlen;
141 }
142 if (!adminmember != !admininfo) {
143- stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar);
144+ fd_null_copy(arfd, memberlen + (memberlen & 1),
145+ _("skipped archive member data from %s"), debar);
146 } else {
147 break; /* Yes ! - found it. */
148 }
149@@ -221,8 +261,10 @@ void extracthalf(const char *debar, const char *directory,
150 l = strlen(versionbuf);
151 if (l && versionbuf[l - 1] == '\n')
152 versionbuf[l - 1] = '\0';
153- if (!fgets(ctrllenbuf,sizeof(ctrllenbuf),ar))
154- readfail(ar, debar, _("control information length"));
155+
156+ r = read_line(arfd, ctrllenbuf, 1, sizeof(ctrllenbuf));
157+ if (r < 0)
158+ read_fail(r, debar, _("archive control member size"));
159 if (sscanf(ctrllenbuf,"%zi%c%d",&ctrllennum,&nlc,&dummy) !=2 || nlc != '\n')
160 ohshit(_("archive has malformatted control length `%s'"), ctrllenbuf);
161
162@@ -230,7 +272,8 @@ void extracthalf(const char *debar, const char *directory,
163 memberlen = ctrllennum;
164 } else {
165 memberlen = stab.st_size - ctrllennum - strlen(ctrllenbuf) - l;
166- stream_null_copy(ar, ctrllennum, _("skipped control area from %s"), debar);
167+ fd_null_copy(arfd, ctrllennum,
168+ _("skipped archive control member data from %s"), debar);
169 }
170
171 if (admininfo >= 2) {
172@@ -252,13 +295,11 @@ void extracthalf(const char *debar, const char *directory,
173
174 }
175
176- safe_fflush(ar);
177-
178 m_pipe(p1);
179 c1 = subproc_fork();
180 if (!c1) {
181 close(p1[0]);
182- stream_fd_copy(ar, p1[1], memberlen, _("failed to write to pipe in copy"));
183+ fd_fd_copy(arfd, p1[1], memberlen, _("failed to write to pipe in copy"));
184 if (close(p1[1]))
185 ohshite(_("failed to close pipe in copy"));
186 exit(0);
187@@ -275,7 +316,7 @@ void extracthalf(const char *debar, const char *directory,
188 decompress_filter(decompressor, 0, 1, _("data"));
189 }
190 close(p1[0]);
191- fclose(ar);
192+ close(arfd);
193 if (taroption) close(p2[1]);
194
195 if (taroption && directory) {
196--
1971.7.7.6
198
diff --git a/meta/recipes-devtools/dpkg/dpkg/fix-timestamps.patch b/meta/recipes-devtools/dpkg/dpkg/fix-timestamps.patch
new file mode 100644
index 0000000000..d2cabbe065
--- /dev/null
+++ b/meta/recipes-devtools/dpkg/dpkg/fix-timestamps.patch
@@ -0,0 +1,21 @@
1The lutimes function doesn't work properly for all systems.
2
3Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
4
5Upstream-Status: Inappropriate [embedded specific]
6
7Index: dpkg-1.16.8/src/archives.c
8===================================================================
9--- dpkg-1.16.8.orig/src/archives.c
10+++ dpkg-1.16.8/src/archives.c
11@@ -440,8 +440,10 @@ tarobject_set_mtime(struct tar_entry *te
12
13 if (te->type == tar_filetype_symlink) {
14 #ifdef HAVE_LUTIMES
15+/*
16 if (lutimes(path, tv) && errno != ENOSYS)
17 ohshite(_("error setting timestamps of `%.255s'"), path);
18+*/
19 #endif
20 } else {
21 if (utimes(path, tv))
diff --git a/meta/recipes-devtools/dpkg/dpkg/ignore_extra_fields.patch b/meta/recipes-devtools/dpkg/dpkg/ignore_extra_fields.patch
index 0ff09e7487..4e3eb97ed8 100644
--- a/meta/recipes-devtools/dpkg/dpkg/ignore_extra_fields.patch
+++ b/meta/recipes-devtools/dpkg/dpkg/ignore_extra_fields.patch
@@ -1,22 +1,21 @@
1Upstream-Status: Inappropriate [workaround] 1Upstream-Status: Inappropriate [workaround]
2 2
3diff -ruN dpkg-1.15.8.5-orig/dpkg-deb/build.c dpkg-1.15.8.5/dpkg-deb/build.c 3Index: dpkg-1.16.8/dpkg-deb/build.c
4--- dpkg-1.15.8.5-orig/dpkg-deb/build.c 2010-10-08 12:27:15.042083703 +0800 4===================================================================
5+++ dpkg-1.15.8.5/dpkg-deb/build.c 2010-10-08 12:31:53.822534277 +0800 5--- dpkg-1.16.8.orig/dpkg-deb/build.c
6@@ -275,14 +275,14 @@ 6+++ dpkg-1.16.8/dpkg-deb/build.c
7 controlfile, checkedinfo->otherpriority); 7@@ -340,13 +340,13 @@ check_new_pkg(const char *dir)
8 warns++; 8 if (pkg->priority == pri_other)
9 } 9 warning(_("'%s' contains user-defined Priority value '%s'"),
10- for (field= checkedinfo->available.arbs; field; field= field->next) { 10 controlfile, pkg->otherpriority);
11+ /*for (field= checkedinfo->available.arbs; field; field= field->next) { 11- for (field = pkg->available.arbs; field; field = field->next) {
12 if (known_arbitrary_field(field)) 12+ /*for (field = pkg->available.arbs; field; field = field->next) {
13 continue; 13 if (known_arbitrary_field(field))
14 continue;
14 15
15 warning(_("'%s' contains user-defined field '%s'"), 16 warning(_("'%s' contains user-defined field '%s'"), controlfile,
16 controlfile, field->name); 17 field->name);
17 warns++; 18- }
18- } 19+ }*/
19+ }*/
20 20
21 if (subdir) { 21 free(controlfile);
22 versionstring= versiondescribe(&checkedinfo->available.version,vdew_never);
diff --git a/meta/recipes-devtools/dpkg/dpkg/nochroot.patch b/meta/recipes-devtools/dpkg/dpkg/nochroot.patch
deleted file mode 100644
index c7f2dfe282..0000000000
--- a/meta/recipes-devtools/dpkg/dpkg/nochroot.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1---
2 src/help.c | 2 ++
3 1 file changed, 2 insertions(+)
4
5Upstream-Status: Inappropriate [configuration]
6
7--- dpkg-1.13.22.orig/src/help.c
8+++ dpkg-1.13.22/src/help.c
9@@ -175,9 +175,11 @@ static const char* preexecscript(const c
10 */
11 size_t instdirl;
12
13+#if 0
14 if (*instdir) {
15 if (chroot(instdir)) ohshite(_("failed to chroot to `%.250s'"),instdir);
16 }
17+#endif
18 if (f_debug & dbg_scripts) {
19 fprintf(stderr,"D0%05o: fork/exec %s (",dbg_scripts,path);
20 while (*++argv) fprintf(stderr," %s",*argv);
diff --git a/meta/recipes-devtools/dpkg/dpkg/noman.patch b/meta/recipes-devtools/dpkg/dpkg/noman.patch
index 58cb22a19e..d30c15018a 100644
--- a/meta/recipes-devtools/dpkg/dpkg/noman.patch
+++ b/meta/recipes-devtools/dpkg/dpkg/noman.patch
@@ -12,4 +12,3 @@ diff -ruN dpkg-1.15.8.5-orig/Makefile.am dpkg-1.15.8.5/Makefile.am
12+ po 12+ po
13 13
14 ACLOCAL_AMFLAGS = -I m4 14 ACLOCAL_AMFLAGS = -I m4
15
diff --git a/meta/recipes-devtools/dpkg/dpkg/noupdalt.patch b/meta/recipes-devtools/dpkg/dpkg/noupdalt.patch
deleted file mode 100644
index a9b38009e2..0000000000
--- a/meta/recipes-devtools/dpkg/dpkg/noupdalt.patch
+++ /dev/null
@@ -1,18 +0,0 @@
1---
2 scripts/Makefile.am | 3 +--
3 1 file changed, 1 insertion(+), 2 deletions(-)
4
5Upstream-Status: Inappropriate [configuration]
6
7--- dpkg-1.13.22.orig/scripts/Makefile.am
8+++ dpkg-1.13.22/scripts/Makefile.am
9@@ -20,8 +20,7 @@ bin_SCRIPTS = \
10 sbin_SCRIPTS = \
11 cleanup-info \
12 dpkg-divert \
13- dpkg-statoverride \
14- update-alternatives
15+ dpkg-statoverride
16
17 changelogdir = $(pkglibdir)/parsechangelog
18 changelog_SCRIPTS = \
diff --git a/meta/recipes-devtools/dpkg/dpkg/perllibdir.patch b/meta/recipes-devtools/dpkg/dpkg/perllibdir.patch
deleted file mode 100644
index 45973f012d..0000000000
--- a/meta/recipes-devtools/dpkg/dpkg/perllibdir.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1We want to be able to set PERL_LIBDIR from the environment. This
2hardcoded assignment prevents us from doing so and obtains an
3incorrect value.
4
5Upstream-Status: Inappropriate [in this form at least]
6
7RP 14/11/2011
8
9Index: dpkg-1.15.8.7/m4/dpkg-progs.m4
10===================================================================
11--- dpkg-1.15.8.7.orig/m4/dpkg-progs.m4 2011-11-14 17:32:21.252053239 +0000
12+++ dpkg-1.15.8.7/m4/dpkg-progs.m4 2011-11-14 17:32:55.180052455 +0000
13@@ -9,9 +9,6 @@
14 [AC_ARG_VAR([PERL], [Perl interpreter])dnl
15 AC_PATH_PROG([PERL], [perl], [/usr/bin/perl])dnl
16 AC_ARG_VAR([PERL_LIBDIR], [Perl library directory])dnl
17-PERL_LIBDIR=$($PERL -MConfig -e 'my $r = $Config{vendorlibexp};
18- $r =~ s/$Config{vendorprefixexp}/\$(prefix)/;
19- print $r')dnl
20 ])# DPKG_PROG_PERL
21
22 # DPKG_PROG_PO4A
diff --git a/meta/recipes-devtools/dpkg/dpkg/preinst.patch b/meta/recipes-devtools/dpkg/dpkg/preinst.patch
index 06d2aacf3f..f9cb4089fb 100644
--- a/meta/recipes-devtools/dpkg/dpkg/preinst.patch
+++ b/meta/recipes-devtools/dpkg/dpkg/preinst.patch
@@ -6,41 +6,48 @@ Upstream-Status: Inappropriate [OE Specific]
6 6
7RP 2011/12/07 7RP 2011/12/07
8 8
9Index: dpkg-1.15.8.7/src/help.c 9Index: dpkg-1.16.8/src/script.c
10=================================================================== 10===================================================================
11--- dpkg-1.15.8.7.orig/src/help.c 2010-12-20 01:25:36.000000000 +0000 11--- dpkg-1.16.8.orig/src/script.c
12+++ dpkg-1.15.8.7/src/help.c 2011-12-07 14:51:02.783461487 +0000 12+++ dpkg-1.16.8/src/script.c
13@@ -181,30 +181,9 @@ 13@@ -102,38 +102,10 @@ setexecute(const char *path, struct stat
14 * FIXME: none of the stuff here will work if admindir isn't inside 14 static const char *
15 * instdir as expected. 15 preexecscript(struct command *cmd)
16 */ 16 {
17- size_t instdirl; 17- const char *admindir = dpkg_db_get_dir();
18- size_t instdirl = strlen(instdir);
18- 19-
19- if (*instdir) { 20 if (*instdir) {
20- if (chroot(instdir)) ohshite(_("failed to chroot to `%.250s'"),instdir); 21- if (strncmp(admindir, instdir, instdirl) != 0)
21- if (chdir("/")) 22- ohshit(_("admindir must be inside instdir for dpkg to work properly"));
22- ohshite(_("failed to chdir to `%.255s'"), "/"); 23- if (setenv("DPKG_ADMINDIR", admindir + instdirl, 1) < 0)
23- } 24- ohshite(_("unable to setenv for subprocesses"));
24- if (f_debug & dbg_scripts) {
25- struct varbuf args = VARBUF_INIT;
26- const char **argv = cmd->argv;
27- 25-
28- while (*++argv) { 26- if (chroot(instdir))
29- varbufaddc(&args, ' '); 27- ohshite(_("failed to chroot to `%.250s'"), instdir);
30- varbufaddstr(&args, *argv); 28- if (chdir("/"))
31- } 29- ohshite(_("failed to chdir to `%.255s'"), "/");
32- varbufaddc(&args, '\0'); 30+ setenv("D", instdir, 1);
33- debug(dbg_scripts, "fork/exec %s (%s )", cmd->filename, args.buf); 31 }
34- varbuf_destroy(&args); 32- if (debug_has_flag(dbg_scripts)) {
35- } 33- struct varbuf args = VARBUF_INIT;
36- instdirl= strlen(instdir); 34- const char **argv = cmd->argv;
37- if (!instdirl) 35-
38- return cmd->filename; 36- while (*++argv) {
39- assert(strlen(cmd->filename) >= instdirl); 37- varbuf_add_char(&args, ' ');
40- return cmd->filename + instdirl; 38- varbuf_add_str(&args, *argv);
41+ if (*instdir) 39- }
42+ setenv("D", instdir, 1); 40- varbuf_end_str(&args);
43+ return cmd->filename; 41- debug(dbg_scripts, "fork/exec %s (%s )", cmd->filename,
44 } 42- args.buf);
43- varbuf_destroy(&args);
44- }
45- if (!instdirl)
46- return cmd->filename;
47-
48- assert(strlen(cmd->filename) >= instdirl);
49- return cmd->filename + instdirl;
50+ return cmd->filename;
51 }
45 52
46 void 53 static int
diff --git a/meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch b/meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch
new file mode 100644
index 0000000000..8d884e543c
--- /dev/null
+++ b/meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch
@@ -0,0 +1,16 @@
1busybox-1.19.4 tar utility doesn't support --warning=no-timestamp
2
3Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
4
5Upstream-Status: Inappropriate [configuration]
6--- a/dpkg-deb/extract.c
7+++ b/dpkg-deb/extract.c
8@@ -319,7 +319,7 @@ extracthalf(const char *debar, const cha
9 }
10 }
11
12- execlp(TAR, "tar", buffer, "-", "--warning=no-timestamp", NULL);
13+ execlp(TAR, "tar", buffer, "-", NULL);
14 ohshite(_("unable to execute %s (%s)"), "tar", TAR);
15 }
16 close(p2[0]);
diff --git a/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb b/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb
deleted file mode 100644
index 1e7ef25be9..0000000000
--- a/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb
+++ /dev/null
@@ -1,15 +0,0 @@
1require dpkg.inc
2LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
3
4SRC_URI += "file://noman.patch \
5 file://check_snprintf.patch \
6 file://check_version.patch \
7 file://perllibdir.patch \
8 file://preinst.patch \
9 file://dpkg-deb-avoid-fflush.patch"
10
11SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc"
12SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5"
13
14PR = "${INC_PR}.4"
15
diff --git a/meta/recipes-devtools/dpkg/dpkg_1.16.8.bb b/meta/recipes-devtools/dpkg/dpkg_1.16.8.bb
new file mode 100644
index 0000000000..35fd0eff85
--- /dev/null
+++ b/meta/recipes-devtools/dpkg/dpkg_1.16.8.bb
@@ -0,0 +1,15 @@
1require dpkg.inc
2LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
3
4SRC_URI += "file://noman.patch \
5 file://check_snprintf.patch \
6 file://check_version.patch \
7 file://preinst.patch \
8 file://fix-timestamps.patch \
9 file://remove-tar-no-timestamp.patch"
10
11SRC_URI[md5sum] = "9f8042561ecccd5124e5958a1e181de7"
12SRC_URI[sha256sum] = "4a1f4611390d93f1f198d910d3a4e4913b3cf81702b31f585a1872ca98df0eaa"
13
14PR = "${INC_PR}.0"
15