diff options
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg.inc | 4 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/autofoo.patch | 50 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/check_version.patch | 23 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch | 198 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/fix-timestamps.patch | 21 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/ignore_extra_fields.patch | 35 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/nochroot.patch | 20 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/noman.patch | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/noupdalt.patch | 18 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/perllibdir.patch | 22 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/preinst.patch | 75 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch | 16 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb | 15 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/dpkg_1.16.8.bb | 15 |
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." | |||
| 2 | LICENSE = "GPLv2.0+" | 2 | LICENSE = "GPLv2.0+" |
| 3 | SECTION = "base" | 3 | SECTION = "base" |
| 4 | 4 | ||
| 5 | INC_PR = "r17" | 5 | INC_PR = "r18" |
| 6 | 6 | ||
| 7 | SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.bz2 \ | 7 | SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.xz \ |
| 8 | file://ignore_extra_fields.patch" | 8 | file://ignore_extra_fields.patch" |
| 9 | 9 | ||
| 10 | DEPENDS = "zlib bzip2 perl" | 10 | DEPENDS = "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 | |||
| 6 | Upstream-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 @@ | |||
| 1 | Adapt to linux-wrs kernel version, which has character '_' inside. | 1 | Adapt to linux-wrs kernel version, which has character '_' inside. |
| 2 | Remove the first-char-digit-check (as the 1.15.8.5 version does). | ||
| 2 | 3 | ||
| 3 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | 4 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> |
| 5 | Signed-off-by: Constantin Musca <constantinx.musca@intel.com> | ||
| 4 | 6 | ||
| 5 | Upstream-Status: Inappropriate [embedded specific] | 7 | Upstream-Status: Inappropriate [embedded specific] |
| 6 | 8 | ||
| 7 | diff -ruN dpkg-1.15.8.5-orig/lib/dpkg/parsehelp.c dpkg-1.15.8.5/lib/dpkg/parsehelp.c | 9 | Index: 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 @@ | |||
| 1 | From 78eaf928d30d0b16e05d8d63c55a3632a135ed9a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Guillem Jover <guillem@debian.org> | ||
| 3 | Date: Thu, 4 Nov 2010 00:51:13 +0100 | ||
| 4 | Subject: [PATCH] dpkg-deb: Use fd instead of stream based buffered I/O | ||
| 5 | |||
| 6 | Behaviour of fflush() on input streams is undefined per POSIX, avoid | ||
| 7 | mixing stream and file descriptor based I/O, and only use the latter | ||
| 8 | instead. | ||
| 9 | |||
| 10 | Upstream-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 | |||
| 16 | diff --git a/dpkg-deb/extract.c b/dpkg-deb/extract.c | ||
| 17 | index 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 | -- | ||
| 197 | 1.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 @@ | |||
| 1 | The lutimes function doesn't work properly for all systems. | ||
| 2 | |||
| 3 | Signed-off-by: Constantin Musca <constantinx.musca@intel.com> | ||
| 4 | |||
| 5 | Upstream-Status: Inappropriate [embedded specific] | ||
| 6 | |||
| 7 | Index: 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [workaround] | 1 | Upstream-Status: Inappropriate [workaround] |
| 2 | 2 | ||
| 3 | diff -ruN dpkg-1.15.8.5-orig/dpkg-deb/build.c dpkg-1.15.8.5/dpkg-deb/build.c | 3 | Index: 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 | |||
| 5 | Upstream-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 | |||
| 5 | Upstream-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 @@ | |||
| 1 | We want to be able to set PERL_LIBDIR from the environment. This | ||
| 2 | hardcoded assignment prevents us from doing so and obtains an | ||
| 3 | incorrect value. | ||
| 4 | |||
| 5 | Upstream-Status: Inappropriate [in this form at least] | ||
| 6 | |||
| 7 | RP 14/11/2011 | ||
| 8 | |||
| 9 | Index: 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 | ||
| 7 | RP 2011/12/07 | 7 | RP 2011/12/07 |
| 8 | 8 | ||
| 9 | Index: dpkg-1.15.8.7/src/help.c | 9 | Index: 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 @@ | |||
| 1 | busybox-1.19.4 tar utility doesn't support --warning=no-timestamp | ||
| 2 | |||
| 3 | Signed-off-by: Constantin Musca <constantinx.musca@intel.com> | ||
| 4 | |||
| 5 | Upstream-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 @@ | |||
| 1 | require dpkg.inc | ||
| 2 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
| 3 | |||
| 4 | SRC_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 | |||
| 11 | SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc" | ||
| 12 | SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5" | ||
| 13 | |||
| 14 | PR = "${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 @@ | |||
| 1 | require dpkg.inc | ||
| 2 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
| 3 | |||
| 4 | SRC_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 | |||
| 11 | SRC_URI[md5sum] = "9f8042561ecccd5124e5958a1e181de7" | ||
| 12 | SRC_URI[sha256sum] = "4a1f4611390d93f1f198d910d3a4e4913b3cf81702b31f585a1872ca98df0eaa" | ||
| 13 | |||
| 14 | PR = "${INC_PR}.0" | ||
| 15 | |||
