diff options
Diffstat (limited to 'meta/recipes-devtools/dpkg/dpkg/0001-When-running-do_package_write_deb-we-have-trees-of-h.patch')
-rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/0001-When-running-do_package_write_deb-we-have-trees-of-h.patch | 52 |
1 files changed, 30 insertions, 22 deletions
diff --git a/meta/recipes-devtools/dpkg/dpkg/0001-When-running-do_package_write_deb-we-have-trees-of-h.patch b/meta/recipes-devtools/dpkg/dpkg/0001-When-running-do_package_write_deb-we-have-trees-of-h.patch index 6967ef4980..49ef853ff2 100644 --- a/meta/recipes-devtools/dpkg/dpkg/0001-When-running-do_package_write_deb-we-have-trees-of-h.patch +++ b/meta/recipes-devtools/dpkg/dpkg/0001-When-running-do_package_write_deb-we-have-trees-of-h.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From d14ffd786993da60ca84c4812da8a6594a8c764e Mon Sep 17 00:00:00 2001 | 1 | From e391bdba238d1371fc5b67cdae08b06eb5ada5c2 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Wed, 26 Aug 2015 15:48:13 +0300 | 3 | Date: Wed, 26 Aug 2015 15:48:13 +0300 |
4 | Subject: [PATCH 1/5] When running do_package_write_deb, we have trees of | 4 | Subject: [PATCH] When running do_package_write_deb, we have trees of |
5 | hardlinked files such as the dbg source files in ${PN}-dbg. If something | 5 | hardlinked files such as the dbg source files in ${PN}-dbg. If something |
6 | makes another copy of one of those files (or deletes one), the number of | 6 | makes another copy of one of those files (or deletes one), the number of |
7 | links a file has changes and tar can notice this, e.g.: | 7 | links a file has changes and tar can notice this, e.g.: |
@@ -19,23 +19,43 @@ place to avoid that kind of issue). | |||
19 | Upstream-Status: Inappropriate | 19 | Upstream-Status: Inappropriate |
20 | RP 2015/3/27 | 20 | RP 2015/3/27 |
21 | --- | 21 | --- |
22 | dpkg-deb/build.c | 11 ++++++++--- | 22 | dpkg-deb/build.c | 12 ++++++++---- |
23 | 1 file changed, 8 insertions(+), 3 deletions(-) | 23 | 1 file changed, 8 insertions(+), 4 deletions(-) |
24 | 24 | ||
25 | diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c | 25 | diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c |
26 | index ea3d861..1589927 100644 | 26 | index 2ddeec6..af363f0 100644 |
27 | --- a/dpkg-deb/build.c | 27 | --- a/dpkg-deb/build.c |
28 | +++ b/dpkg-deb/build.c | 28 | +++ b/dpkg-deb/build.c |
29 | @@ -458,7 +458,7 @@ do_build(const char *const *argv) | 29 | @@ -452,7 +452,7 @@ static void |
30 | tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder, | ||
31 | struct compress_params *tar_compress_params, int fd_out) | ||
32 | { | ||
33 | - int pipe_filenames[2], pipe_tarball[2]; | ||
34 | + int pipe_filenames[2], pipe_tarball[2], rc; | ||
35 | pid_t pid_tar, pid_comp; | ||
36 | |||
37 | /* Fork off a tar. We will feed it a list of filenames on stdin later. */ | ||
38 | @@ -493,7 +493,9 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder, | ||
39 | /* All done, clean up wait for tar and <compress> to finish their job. */ | ||
40 | close(pipe_filenames[1]); | ||
41 | subproc_reap(pid_comp, _("<compress> from tar -cf"), 0); | ||
42 | - subproc_reap(pid_tar, "tar -cf", 0); | ||
43 | + rc = subproc_reap(pid_tar, "tar -cf", SUBPROC_RETERROR); | ||
44 | + if (rc && rc != 1) | ||
45 | + ohshite(_("subprocess %s returned error exit status %d"), "tar -cf", rc); | ||
46 | } | ||
47 | |||
48 | /** | ||
49 | @@ -509,7 +511,7 @@ do_build(const char *const *argv) | ||
30 | char *debar; | 50 | char *debar; |
31 | char *tfbuf; | 51 | char *tfbuf; |
32 | int arfd; | 52 | int arfd; |
33 | - int p1[2], p2[2], gzfd; | 53 | - int p1[2], gzfd; |
34 | + int p1[2], p2[2], gzfd, rc; | 54 | + int p1[2], gzfd, rc; |
35 | pid_t c1, c2; | 55 | pid_t c1, c2; |
36 | 56 | ||
37 | /* Decode our arguments. */ | 57 | /* Decode our arguments. */ |
38 | @@ -538,7 +538,9 @@ do_build(const char *const *argv) | 58 | @@ -590,7 +592,9 @@ do_build(const char *const *argv) |
39 | } | 59 | } |
40 | close(p1[0]); | 60 | close(p1[0]); |
41 | subproc_reap(c2, _("<compress> from tar -cf"), 0); | 61 | subproc_reap(c2, _("<compress> from tar -cf"), 0); |
@@ -46,18 +66,6 @@ index ea3d861..1589927 100644 | |||
46 | 66 | ||
47 | if (lseek(gzfd, 0, SEEK_SET)) | 67 | if (lseek(gzfd, 0, SEEK_SET)) |
48 | ohshite(_("failed to rewind temporary file (%s)"), _("control member")); | 68 | ohshite(_("failed to rewind temporary file (%s)"), _("control member")); |
49 | @@ -626,7 +628,10 @@ do_build(const char *const *argv) | ||
50 | /* All done, clean up wait for tar and <compress> to finish their job. */ | ||
51 | close(p1[1]); | ||
52 | subproc_reap(c2, _("<compress> from tar -cf"), 0); | ||
53 | - subproc_reap(c1, "tar -cf", 0); | ||
54 | + rc = subproc_reap(c1, "tar -cf", SUBPROC_RETERROR); | ||
55 | + if (rc && rc != 1) | ||
56 | + ohshite(_("subprocess %s returned error exit status %d"), "tar -cf", rc); | ||
57 | + | ||
58 | /* Okay, we have data.tar as well now, add it to the ar wrapper. */ | ||
59 | if (deb_format.major == 2) { | ||
60 | char datamember[16 + 1]; | ||
61 | -- | 69 | -- |
62 | 2.1.4 | 70 | 2.7.0 |
63 | 71 | ||