diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2012-12-17 06:21:06 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2012-12-17 06:21:06 +0000 |
commit | fb967844da674e373981f7b7cd7df94ca5e2962f (patch) | |
tree | 52def08bab7eceba3aadca57622c8935f43f523d /dev-util/xdelta | |
parent | Version bumps for gnome-3.6 and for gtk2. Improve description, update license... (diff) | |
download | historical-fb967844da674e373981f7b7cd7df94ca5e2962f.tar.gz historical-fb967844da674e373981f7b7cd7df94ca5e2962f.tar.bz2 historical-fb967844da674e373981f7b7cd7df94ca5e2962f.zip |
old
Package-Manager: portage-2.2.0_alpha147/cvs/Linux x86_64
Manifest-Sign-Key: 0x4868F14D
Diffstat (limited to 'dev-util/xdelta')
-rw-r--r-- | dev-util/xdelta/ChangeLog | 8 | ||||
-rw-r--r-- | dev-util/xdelta/Manifest | 17 | ||||
-rw-r--r-- | dev-util/xdelta/files/01_bigger_print_buffers.patch | 83 | ||||
-rw-r--r-- | dev-util/xdelta/files/02_replace_sprintf_with_snprintf.patch | 226 | ||||
-rw-r--r-- | dev-util/xdelta/files/03_fix_pipe_draining_and_closing.patch | 62 | ||||
-rw-r--r-- | dev-util/xdelta/xdelta-3.0.0-r1.ebuild | 65 |
6 files changed, 15 insertions, 446 deletions
diff --git a/dev-util/xdelta/ChangeLog b/dev-util/xdelta/ChangeLog index 57e21923a2b2..c86292ba136e 100644 --- a/dev-util/xdelta/ChangeLog +++ b/dev-util/xdelta/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-util/xdelta # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/xdelta/ChangeLog,v 1.79 2012/12/16 15:15:47 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-util/xdelta/ChangeLog,v 1.80 2012/12/17 06:21:00 ssuominen Exp $ + + 17 Dec 2012; Samuli Suominen <ssuominen@gentoo.org> + -files/01_bigger_print_buffers.patch, + -files/02_replace_sprintf_with_snprintf.patch, + -files/03_fix_pipe_draining_and_closing.patch, -xdelta-3.0.0-r1.ebuild: + old 16 Dec 2012; Raúl Porcel <armin76@gentoo.org> xdelta-3.0.4.ebuild: alpha/ia64/sparc stable wrt #441318 diff --git a/dev-util/xdelta/Manifest b/dev-util/xdelta/Manifest index a0f43e78f212..e69ab5eec2f9 100644 --- a/dev-util/xdelta/Manifest +++ b/dev-util/xdelta/Manifest @@ -1,24 +1,23 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 -AUX 01_bigger_print_buffers.patch 2841 SHA256 9330a0c6218ee66b90772e9f1b81b76e43a6bba2a45e5d926f136f3f43069a9e SHA512 52608232233fa9cddefe10ee2d1186d083a547200537331eda5ee705c9332d97cc3698c7e9b351710336e00179cb12a3d910ebc72c37496c61925952edde82a9 WHIRLPOOL a4be0e3a68f4c4b33a4ba6c4def498232af3c5961766a35783d104c7332e8d716a4dc0a2792f2aec30908a8854b4e3d271cf6bdee4c1deb157170dea5e2a1c76 -AUX 02_replace_sprintf_with_snprintf.patch 7900 SHA256 25e224a09b4780efd10e5980339a150c5baa699dcb6596d65ea8b8910c0177c7 SHA512 5a81ddd75a68317cbd0e8f5951ee5d5c6ff52e722a8f19b6cb64aa212005524baeb61fe65a065a006c22136522e16a6cb03c19144d3f542c7d066bbfaf0ac80c WHIRLPOOL 88a575cf7ae0529bb7961d41bdb068ac33b9e13f1af3f75402269fa4fa4e1c9701a25f9e1c78068e633fee2f07f9faa50d744eaa611eac80346655483d744b68 -AUX 03_fix_pipe_draining_and_closing.patch 2238 SHA256 066299426da8a486faf73ef4cc30869fd44ca97ab24f1dd7dd7644a4d7407f26 SHA512 611aaa2abcf3e45eb3750e97de63d96e3462b5b44b7cc93fd1ac734c9c527200180e70b64a028d4cf05ede99bd50da308eeec2b782fff6b16ab174c63ab2fd95 WHIRLPOOL 28f2a40eedfb2c516018731d53c20e3de6a06a151bcec02f65967b5a71c6d2261f88d29950e3078791b8c6288a45f6d245591ec4b3568e80cfb5b8fe74e781a0 AUX xdelta-1.1.4-glib2.patch 4545 SHA256 dea479d7c6e116abd72076063adcb790226966eb720a99ffeecd77c4d22a8c03 SHA512 563a99d6007228ef2e0f838cc66251918b875ce779f12fa03015dc97d14379951fd9d2a165b7562e97ad41931ac8ca0a535941cbd4605b5f67e176d1f9d31288 WHIRLPOOL 3b0e6be59151e8d9067466b66a6092220ce597c77abaa113d80f5dd1983b437366988234e4e717bee22796c550c078b05e77b6209a91da938a0dfbc2d059d82c AUX xdelta-1.1.4-m4.patch 458 SHA256 8a3e06cfef18ed4e976daecab0e4ebdea20dd849136ef919787f4444b8f89f2d SHA512 f932359b311cffbe711a006a670dbeb2ebcea2386f04bcd3ce38ffd0d743f7c0aa4138b5a781942dc02c40950982b2f295b9a79935dce3666c4ae1dd7d068fd3 WHIRLPOOL 6e432279d7edbea936aff6def1ffd015680f29098023bf8b61f800154a16843f84f092be730afdbb9c87e506a0ec35260da67b496abc784c2bd6e2e8b62bf725 AUX xdelta-1.1.4-pkgconfig.patch 2551 SHA256 1a00aad31265a5a5b8b6bbfc4c6dd57f08566c72aa4a85fdbea3f9394c4214f4 SHA512 08428227f9aa15e373f2fc81a097e3aad7df2d53d65172da9d1da3c81c52b9d646ad8d1f0f69533e4486cf72e4cf8ec106e948dc0c9a1cd1aad8732ceb4aeeb5 WHIRLPOOL 8189ac32b2d29f8cfc810e3f635c9d33a81e6c63cc4173d3b76017e0d0cab7dd655c735f01ae7c41e879416857f0861c9fd72049b921edc779e138d0221975e3 DIST xdelta-1.1.4.tar.gz 423529 SHA256 345503b60432812840991ea1d79cb10db5f34bfaba9499bd0e7d5c57ac5d5c6d SHA512 eef45f7977e9a7f490b881f33ab8a948cc5eff9300ea850cc30062905c8e883c104961f075f56f7ce8e385142c35de168aef1e0b8169bda66786ea4bee33168b WHIRLPOOL 246d7b50ef528e0a761e334fb9c0af06028364ba6851aee4de0a11db42ae25fbecbf4f603e0a01f3daa5d89caecc549deea79f795af08925bdac282103056150 DIST xdelta3-3.0.4.tar.gz 481462 SHA256 53caa1e8be648b6d3d6b305dd9f1a4b27ded9c70c78d18b2c8857eceae46e46e SHA512 b044cf97f66ef20d34a02896fc758bd3da9d3e7125fc66175a622aa4485b2d224a34497095b58fc0b0aed4cdfa6d42737b6b18d2c214fd4be098f4b78cb61b7b WHIRLPOOL 02ea07c6a39dfdf9f9bd4a715534bc48c9d2eb9f5d06d0fdb72d2005e7aad057182d54927e3079968b11e1b3a29870b36af5518923bc8fe6e7fd7bb8ec36bc90 -DIST xdelta3.0.0.tar.gz 282201 SHA256 dfe61aac8d6ab301be2f3aed561d15f95f30a270e25d179f7cf0bde010ada102 SHA512 76ea4cba6894d919e336d7fe7fbabb5149c68dc810fc5b5a5752d98678351126769df6abfe27915cb70fe7470d167746ebe7f137d040de4dd8db99e19d8753ff WHIRLPOOL 3820c5aba7bb6672fa8c4faa232da34f1a24f9dc97e15ff18c75d0e4a6d37b27ce515c245c1e45dc1ac840035980a4f21c021971d8ffb30830d1adbca66687ea EBUILD xdelta-1.1.4-r1.ebuild 999 SHA256 515692f991788852428384b7efc1c5fd5bb8c92e37800f820913674db52e0127 SHA512 360603a4580616d32ee8291e9e83e27e028e11b530f4e4d7156235bea077fa47fb82b8dddff09abbbeb59c021889d9c0ede9105dc8bae79497ff8ab83f63ea86 WHIRLPOOL 562d1451b5650036e37f735c2c49d9138f04f048c24c4c8fdc0c7e609c88c8566f42147cff2d9f8d7ad14d3b36677f511e888a91feedd1922160d51651a59697 -EBUILD xdelta-3.0.0-r1.ebuild 1401 SHA256 1d15205a9ebd4f797fb1999494230c8ca574e6e4707abf33d0c9d85c18de736b SHA512 90b7b820b456b912fc22111e1e48223345d20aa447ff15f208594db04d0a60ce66dc939ae64e9a89141f37b743581d7f599ee04f7f9f707d34097e62e637bd62 WHIRLPOOL 6ec96796e845e1f3293386c54ec128ee0a40522430b16cf1dc3935d7a25e5ecb7d3c40c2c5b9d9b17c4ea56fa773058a45ea2eab5eec0133dca51946368b0ce6 EBUILD xdelta-3.0.4.ebuild 1240 SHA256 ece4e2c4dab28613e5a8aec50eb8d45caa87f0aed30a7e06b2f0b956e6ef76f1 SHA512 20f7542318dbe3b4d4bd8d371ec9036259b63b6384cb987d14b14b1275dabe22df96f4dcb343146049614b53374f0865a97fc4bb1b8cd665f57dc2109d886881 WHIRLPOOL 3a4cba522bca24f6e28d700cac8f3b4b9d73790828a0ab617da19eb577654eced3b9fa1a1944cc047002e613f21c97d4d41156026eaf203cf020c6ab7cda7f6c -MISC ChangeLog 10160 SHA256 be81562b3238aedc8ce0f22922494d4833b57c1e4cbb963aef39f01ac221141a SHA512 0fdad36261a3914d10bf2c0646ee612d3ea9a99dc013d33e6dc1d34e6c76e3d445db2c5c2adec6c8ad3e3f35aee5361cd7b8a2bf387458c572c9b0e79c367694 WHIRLPOOL 9d1e2153f50d16a59374645af130448231b5d6f50760bc9d386c33afde278c203c4e364317586ff35b19bb3be308255b16251a6cbe502fd926806e944b4a2e1f +MISC ChangeLog 10386 SHA256 ff89788b297db69d6f275905f7458a4e5293098a1c12ff8729ad518ee9b7ba6e SHA512 c803cc46f9231a2d2b4690d33cc0d349f3f0c28154fc948d94ceeab0aea9b6223ef28a5d36cc5d30f54914e11be8a904655d635747740068721bf010d5d54247 WHIRLPOOL 6db70c271a63295b846680fa9ba9d3bae4515c975904d867ba68ef9eb5adecf79f93e2f61dd6aeed2a3dd6183fbae7ddbaa23af48fa5883e95db9a886a579296 MISC metadata.xml 290 SHA256 5b783baca0f7e4843f0f526066b84fcac9eb90be51230489a59b56a79565cde9 SHA512 9e98384ca2fc209aae11a61a5da9a4f642195407b4db0d74b38659f89166d4791ca0878fc157dee12db5bad855eb14f915d9e44bcff0ccb9f5acfe7388334ad2 WHIRLPOOL afeb1dc22e0009bd32bc7b3d8f2bf16ad0c1573ac9121ace2eb77ebe5094983fe3490446a60c76fff3a7700d2362199b41f67b8001d923dbe8fc27b2ef9b3687 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) -iEYEAREIAAYFAlDN5aQACgkQuQc30/atMkDqhwCgs8ztXsFLAftv0mxLTs8wBHww -IRYAnAifezqCiZ2/48JMX8Abck88GxGK -=FeLg +iQEcBAEBCAAGBQJQzrnOAAoJEEdUh39IaPFNbOsH/2AFrSXfEo4hn0lqTNzwo046 +Fk5+xTt38iPvZTaSUOFm2KBfsRsjx68fkC3BIEo8O/TRdVU96CxrcIsQ41+InHwT +s5L4VDfY6pPEBXJrwmWJims2sEK3fmn9putono8AAC/nu1IKJTmouMjSLEJSmwO5 +NYrC5+j7jPFryQjTN4EXaJDsGbzuzVfPArldXZ0Rd8XVQPFkT8+RzH5aeFpZV202 +72HMPOXOAReDXAEXEDTBiCNZd8tH1glmMb07NUkx7H5w4HtHOO7btCnedI2TjWkB +2yw5ASrcP2B12TiActTVVtQUcesZaZWIKE9jAgl12TjuspRy5QZBkfg2x33teG0= +=Cp37 -----END PGP SIGNATURE----- diff --git a/dev-util/xdelta/files/01_bigger_print_buffers.patch b/dev-util/xdelta/files/01_bigger_print_buffers.patch deleted file mode 100644 index 85e098c768f8..000000000000 --- a/dev-util/xdelta/files/01_bigger_print_buffers.patch +++ /dev/null @@ -1,83 +0,0 @@ -From: Paul Jackson <pj@usa.net>, Paul Jackson <thepythoniccow@gmail.com> - -xdelta3 (version 3.0.0) has numerous sprintf and strcpy calls that -write into 32 byte char buffers that are on the stack or are static -allocations. With sufficiently large files, these strings can overflow -the 32 char buffers, and some recent gnu libc versions will detect this -and immediately abort with the error "*** buffer overflow detected ***" - -This patch, the first of three, is the only essential patch for this fix. -It increases the 32 byte stack buffers to 48 bytes each. - -The subsequent two patches will replace sprintf calls with snprintf, -to safely avoid overflowing these stack buffers in all cases, and will -fix a hang caused by not properly closing and flushing pipes. - ---- - xdelta3-blkcache.h | 10 +++++----- - xdelta3-main.h | 14 +++++++------- - 2 files changed, 12 insertions(+), 12 deletions(-) - ---- xdelta3.0.0.orig/xdelta3-blkcache.h 2012-03-26 22:55:03.447784216 -0500 -+++ xdelta3.0.0/xdelta3-blkcache.h 2012-03-26 23:22:54.871899533 -0500 -@@ -233,11 +233,11 @@ main_set_source (xd3_stream *stream, xd3 - - if (option_verbose) - { -- static char srcszbuf[32]; -- static char srccntbuf[32]; -- static char winszbuf[32]; -- static char blkszbuf[32]; -- static char nbufs[32]; -+ static char srcszbuf[48]; -+ static char srccntbuf[48]; -+ static char winszbuf[48]; -+ static char blkszbuf[48]; -+ static char nbufs[48]; - - if (sfile->size_known) - { ---- xdelta3.0.0.orig/xdelta3-main.h 2012-03-26 22:55:03.455784458 -0500 -+++ xdelta3.0.0/xdelta3-main.h 2012-03-26 23:22:54.859899160 -0500 -@@ -633,7 +633,7 @@ static char* - main_format_rate (xoff_t bytes, long millis, char *buf) - { - xoff_t r = (xoff_t)(1.0 * bytes / (1.0 * millis / 1000.0)); -- static char lbuf[32]; -+ static char lbuf[48]; - - main_format_bcnt (r, lbuf); - sprintf (buf, "%s/s", lbuf); -@@ -2954,7 +2954,7 @@ static usize_t - main_get_winsize (main_file *ifile) { - xoff_t file_size = 0; - usize_t size = option_winsize; -- static char iszbuf[32]; -+ static char iszbuf[48]; - - if (main_file_stat (ifile, &file_size) == 0) - { -@@ -3328,10 +3328,10 @@ main_input (xd3_cmd cmd, - - if (option_verbose) - { -- char rrateavg[32], wrateavg[32], tm[32]; -- char rdb[32], wdb[32]; -- char trdb[32], twdb[32]; -- char srcpos[32]; -+ char rrateavg[48], wrateavg[48], tm[48]; -+ char rdb[48], wdb[48]; -+ char trdb[48], twdb[48]; -+ char srcpos[48]; - long millis = get_millisecs_since (); - usize_t this_read = (usize_t)(stream.total_in - - last_total_in); -@@ -3460,7 +3460,7 @@ done: - - if (option_verbose) - { -- char tm[32]; -+ char tm[48]; - long end_time = get_millisecs_now (); - xoff_t nwrite = ofile != NULL ? ofile->nwrite : 0; - diff --git a/dev-util/xdelta/files/02_replace_sprintf_with_snprintf.patch b/dev-util/xdelta/files/02_replace_sprintf_with_snprintf.patch deleted file mode 100644 index bdb731c23dca..000000000000 --- a/dev-util/xdelta/files/02_replace_sprintf_with_snprintf.patch +++ /dev/null @@ -1,226 +0,0 @@ -From: Paul Jackson <pj@usa.net>, Paul Jackson <thepythoniccow@gmail.com> - -xdelta3 (version 3.0.0) has numerous sprintf and strcpy calls that -write into 32 byte char buffers that are on the stack or are static -allocations. With sufficiently large files, these strings can overflow -the 32 char buffers, and some recent gnu libc versions will detect this -and immediately abort with the error "*** buffer overflow detected ***" - -The first patch in this series increased these buffers from 32 to 48 bytes. - -This patch, the second in the series, replaces sprintf calls with -snprintf, to safely avoid overflowing these stack buffers in all cases. -This change necessitated changing the main_format_bcnt() and -main_format_millis() API's, to pass the size of the buffer. - -The third patch will fix a hang caused by not properly closing and flushing -pipes. - ---- - xdelta3-blkcache.h | 12 ++++----- - xdelta3-main.h | 64 ++++++++++++++++++++++++++--------------------------- - 2 files changed, 38 insertions(+), 38 deletions(-) - ---- xdelta3.0.0.orig/xdelta3-blkcache.h 2012-03-26 23:06:12.280521538 -0500 -+++ xdelta3.0.0/xdelta3-blkcache.h 2012-03-26 23:06:47.049599301 -0500 -@@ -241,27 +241,27 @@ main_set_source (xd3_stream *stream, xd3 - - if (sfile->size_known) - { -- sprintf (srcszbuf, "source size %s [%"Q"u]", -- main_format_bcnt (source_size, srccntbuf), -+ snprintf (srcszbuf, sizeof(srcszbuf), "source size %s [%"Q"u]", -+ main_format_bcnt (source_size, srccntbuf, sizeof(srccntbuf)), - source_size); - } - else - { -- strcpy(srcszbuf, "source size unknown"); -+ strncpy(srcszbuf, "source size unknown", sizeof(srcszbuf)); - } - - nbufs[0] = 0; - - if (option_verbose > 1) - { -- sprintf(nbufs, " #bufs %u", lru_size); -+ snprintf(nbufs, sizeof(nbufs), " #bufs %u", lru_size); - } - - XPR(NT "source %s %s blksize %s window %s%s%s\n", - sfile->filename, - srcszbuf, -- main_format_bcnt (blksize, blkszbuf), -- main_format_bcnt (option_srcwinsz, winszbuf), -+ main_format_bcnt (blksize, blkszbuf, sizeof(blkszbuf)), -+ main_format_bcnt (option_srcwinsz, winszbuf, sizeof(winszbuf)), - nbufs, - do_src_fifo ? " (FIFO)" : ""); - } ---- xdelta3.0.0.orig/xdelta3-main.h 2012-03-26 23:06:12.296522032 -0500 -+++ xdelta3.0.0/xdelta3-main.h 2012-03-26 23:22:32.255191072 -0500 -@@ -354,7 +354,7 @@ static int main_read_primary_input (main - usize_t size, - usize_t *nread); - --static const char* main_format_bcnt (xoff_t r, char *buf); -+static const char* main_format_bcnt (xoff_t r, char *buf, int szbuf); - static int main_help (void); - - /* The code in xdelta3-blk.h is essentially part of this unit, see -@@ -576,7 +576,7 @@ get_millisecs_since (void) - } - - static const char* --main_format_bcnt (xoff_t r, char *buf) -+main_format_bcnt (xoff_t r, char *buf, int szbuf) - { - static const char* fmts[] = { "B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB" }; - usize_t i; -@@ -587,25 +587,25 @@ main_format_bcnt (xoff_t r, char *buf) - - if (r == 0) - { -- sprintf (buf, "0 %s", fmts[i]); -+ snprintf (buf, szbuf, "0 %s", fmts[i]); - return buf; - } - - if (r >= 1 && r < 10) - { -- sprintf (buf, "%.2f %s", (double) r, fmts[i]); -+ snprintf (buf, szbuf, "%.2f %s", (double) r, fmts[i]); - return buf; - } - - if (r >= 10 && r < 100) - { -- sprintf (buf, "%.1f %s", (double) r, fmts[i]); -+ snprintf (buf, szbuf, "%.1f %s", (double) r, fmts[i]); - return buf; - } - - if (r >= 100 && r < 1000) - { -- sprintf (buf, "%"Q"u %s", r, fmts[i]); -+ snprintf (buf, szbuf, "%"Q"u %s", r, fmts[i]); - return buf; - } - -@@ -613,13 +613,13 @@ main_format_bcnt (xoff_t r, char *buf) - - if (new_r < 10) - { -- sprintf (buf, "%.2f %s", (double) r / 1024.0, fmts[i + 1]); -+ snprintf (buf, szbuf, "%.2f %s", (double) r / 1024.0, fmts[i + 1]); - return buf; - } - - if (new_r < 100) - { -- sprintf (buf, "%.1f %s", (double) r / 1024.0, fmts[i + 1]); -+ snprintf (buf, szbuf, "%.1f %s", (double) r / 1024.0, fmts[i + 1]); - return buf; - } - -@@ -630,22 +630,22 @@ main_format_bcnt (xoff_t r, char *buf) - } - - static char* --main_format_rate (xoff_t bytes, long millis, char *buf) -+main_format_rate (xoff_t bytes, long millis, char *buf, int szbuf) - { - xoff_t r = (xoff_t)(1.0 * bytes / (1.0 * millis / 1000.0)); - static char lbuf[48]; - -- main_format_bcnt (r, lbuf); -- sprintf (buf, "%s/s", lbuf); -+ main_format_bcnt (r, lbuf, sizeof(lbuf)); -+ snprintf (buf, szbuf, "%s/s", lbuf); - return buf; - } - - static char* --main_format_millis (long millis, char *buf) -+main_format_millis (long millis, char *buf, int szbuf) - { -- if (millis < 1000) { sprintf (buf, "%lu ms", millis); } -- else if (millis < 10000) { sprintf (buf, "%.1f sec", millis / 1000.0); } -- else { sprintf (buf, "%lu sec", millis / 1000L); } -+ if (millis < 1000) { snprintf (buf, szbuf, "%lu ms", millis); } -+ else if (millis < 10000) { snprintf (buf, szbuf, "%.1f sec", millis / 1000.0); } -+ else { snprintf (buf, szbuf, "%lu sec", millis / 1000L); } - return buf; - } - -@@ -2739,11 +2739,11 @@ main_set_appheader (xd3_stream *stream, - - if (sfile->filename == NULL) - { -- sprintf ((char*)appheader_used, "%s/%s", iname, icomp); -+ snprintf ((char*)appheader_used, len, "%s/%s", iname, icomp); - } - else - { -- sprintf ((char*)appheader_used, "%s/%s/%s/%s", -+ snprintf ((char*)appheader_used, len, "%s/%s/%s/%s", - iname, icomp, sname, scomp); - } - } -@@ -2967,7 +2967,7 @@ main_get_winsize (main_file *ifile) { - { - XPR(NT "input %s window size %s\n", - ifile->filename, -- main_format_bcnt (size, iszbuf)); -+ main_format_bcnt (size, iszbuf, sizeof(iszbuf))); - } - - return size; -@@ -3345,25 +3345,25 @@ main_input (xd3_cmd cmd, - XPR(NT "%"Q"u: in %s (%s): out %s (%s): " - "total in %s: out %s: %s: srcpos %s\n", - stream.current_window, -- main_format_bcnt (this_read, rdb), -- main_format_rate (this_read, millis, rrateavg), -- main_format_bcnt (this_write, wdb), -- main_format_rate (this_write, millis, wrateavg), -- main_format_bcnt (stream.total_in, trdb), -- main_format_bcnt (stream.total_out, twdb), -- main_format_millis (millis, tm), -- main_format_bcnt (sfile->source_position, srcpos)); -+ main_format_bcnt (this_read, rdb, sizeof(rdb)), -+ main_format_rate (this_read, millis, rrateavg, sizeof(rrateavg)), -+ main_format_bcnt (this_write, wdb, sizeof(wdb)), -+ main_format_rate (this_write, millis, wrateavg, sizeof(wrateavg)), -+ main_format_bcnt (stream.total_in, trdb, sizeof(trdb)), -+ main_format_bcnt (stream.total_out, twdb, sizeof(twdb)), -+ main_format_millis (millis, tm, sizeof(tm)), -+ main_format_bcnt (sfile->source_position, srcpos, sizeof(srcpos))); - } - else - { - XPR(NT "%"Q"u: in %s: out %s: total in %s: " - "out %s: %s\n", - stream.current_window, -- main_format_bcnt (this_read, rdb), -- main_format_bcnt (this_write, wdb), -- main_format_bcnt (stream.total_in, trdb), -- main_format_bcnt (stream.total_out, twdb), -- main_format_millis (millis, tm)); -+ main_format_bcnt (this_read, rdb, sizeof(rdb)), -+ main_format_bcnt (this_write, wdb, sizeof(wdb)), -+ main_format_bcnt (stream.total_in, trdb, sizeof(trdb)), -+ main_format_bcnt (stream.total_out, twdb, sizeof(twdb)), -+ main_format_millis (millis, tm, sizeof(tm))); - } - } - } -@@ -3465,7 +3465,7 @@ done: - xoff_t nwrite = ofile != NULL ? ofile->nwrite : 0; - - XPR(NT "finished in %s; input %"Q"u output %"Q"u bytes (%0.2f%%)\n", -- main_format_millis (end_time - start_time, tm), -+ main_format_millis (end_time - start_time, tm, sizeof(tm)), - ifile->nread, nwrite, 100.0 * nwrite / ifile->nread); - } - diff --git a/dev-util/xdelta/files/03_fix_pipe_draining_and_closing.patch b/dev-util/xdelta/files/03_fix_pipe_draining_and_closing.patch deleted file mode 100644 index 6ea665b8aec2..000000000000 --- a/dev-util/xdelta/files/03_fix_pipe_draining_and_closing.patch +++ /dev/null @@ -1,62 +0,0 @@ -From: Paul Jackson <pj@usa.net>, Paul Jackson <thepythoniccow@gmail.com> - -xdelta3 automatically sets up child compression and decompression -processes and pipes data to and from them, in various cases. - -Sometimes this can hang, due to improper closing, or lose -data, due to improper flushing. - -This patch purports to fix this, but has not been tested -very well at all. More work may be needed here. - -The patch also makes one error message less scary. - ---- - xdelta3-main.h | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - ---- xdelta3.0.0.orig/xdelta3-main.h 2012-03-26 23:11:26.346316918 -0500 -+++ xdelta3.0.0/xdelta3-main.h 2012-03-26 23:11:40.218752082 -0500 -@@ -2135,9 +2135,11 @@ main_waitpid_check(pid_t pid) - } - else if (! WIFEXITED (status)) - { -- ret = ECHILD; -- XPR(NT "external compression [pid %d] signal %d\n", -- pid, WIFSIGNALED (status) ? WTERMSIG (status) : WSTOPSIG (status)); -+ if ( ! (WIFSIGNALED (status) && WTERMSIG (status) == SIGPIPE) ) { -+ ret = ECHILD; -+ XPR(NT "external compression [pid %d] signal %d\n", -+ pid, WIFSIGNALED (status) ? WTERMSIG (status) : WSTOPSIG (status)); -+ } - } - else if (WEXITSTATUS (status) != 0) - { -@@ -2221,7 +2223,8 @@ main_pipe_copier (uint8_t *pipe_buf, - int force_drain = 0; - if (nread > 0 && (ret = main_pipe_write (outfd, pipe_buf, nread))) - { -- if (option_force && ret == EPIPE) -+ /* Next line: Until better fix, *always* drain if EPIPE. */ -+ if ( /* option_force && */ ret == EPIPE) - { - /* This causes the loop to continue reading until nread - * == 0. */ -@@ -2265,7 +2268,7 @@ main_pipe_copier (uint8_t *pipe_buf, - - if (garbage != 0) - { -- XPR(NT "trailing garbage ignored in %s (%"Q"u bytes)\n", -+ XPR(NT "skipped trailing bytes in %s (%"Q"u bytes)\n", - ifile->filename, garbage); - } - return 0; -@@ -2354,6 +2357,8 @@ main_input_decompress_setup (const main_ - } - - if (close (inpipefd[PIPE_READ_FD]) || -+ close (outpipefd[PIPE_READ_FD]) || -+ close (outpipefd[PIPE_WRITE_FD]) || - main_pipe_copier (pipe_buf, pipe_bufsize, pipe_avail, - ifile, inpipefd[PIPE_WRITE_FD]) || - close (inpipefd[PIPE_WRITE_FD])) diff --git a/dev-util/xdelta/xdelta-3.0.0-r1.ebuild b/dev-util/xdelta/xdelta-3.0.0-r1.ebuild deleted file mode 100644 index a37192a34bb5..000000000000 --- a/dev-util/xdelta/xdelta-3.0.0-r1.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/xdelta/xdelta-3.0.0-r1.ebuild,v 1.8 2012/08/19 15:47:54 armin76 Exp $ - -EAPI=4 -PYTHON_DEPEND="2:2.6" - -inherit distutils toolchain-funcs eutils - -DESCRIPTION="a binary diff and differential compression tools. VCDIFF (RFC 3284) delta compression." -HOMEPAGE="http://xdelta.org" -SRC_URI="http://${PN}.googlecode.com/files/${P/-}.tar.gz" - -LICENSE="GPL-2" -SLOT="3" -KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86" -IUSE="test" - -DEPEND="test? ( app-arch/ncompress )" -RDEPEND="" - -S="${WORKDIR}/${P/-}" - -DOCS="draft-korn-vcdiff.txt" - -pkg_setup() { - python_set_active_version 2 - python_pkg_setup -} - -src_prepare() { - sed -i -e 's:-O3:-Wall:' setup.py || die "setup.py sed failed" - sed \ - -e 's:-O3::g' \ - -e 's:$(CC):$(CC) $(LDFLAGS):g' \ - -e 's:CFLAGS=:CFLAGS+=:' \ - -i Makefile || die "Makefile sed failed" - - EPATCH_SOURCE="${FILESDIR}" epatch \ - 01_bigger_print_buffers.patch \ - 02_replace_sprintf_with_snprintf.patch \ - 03_fix_pipe_draining_and_closing.patch -} - -src_test() { - if [ $UID != 0 ]; then - emake test - else - ewarn "Tests can't be run as root, skipping." - fi -} - -src_compile() { - tc-export CC CXX - distutils_src_compile - emake xdelta3 - if use test; then - emake xdelta3-debug - fi -} - -src_install() { - dobin xdelta3 - distutils_src_install -} |