From 92d565c00988dd2fbb246db3323ca8092c128050 Mon Sep 17 00:00:00 2001 From: Mark Adler Date: Mon, 25 Jan 2010 10:30:45 +0100 Subject: [PATCH] pigz version 2.1.6 --- Makefile | 7 ++++++- README | 2 +- pigz.1 | 5 +++-- pigz.c | 60 ++++++++++++++++++++++++++++++++++++++---------------- pigz.pdf | Bin 60049 -> 8426 bytes pigz.ps | Bin 0 -> 15030 bytes pigz.spec | 26 +++++++++++++++++++++++ 7 files changed, 78 insertions(+), 22 deletions(-) create mode 100644 pigz.ps create mode 100644 pigz.spec diff --git a/Makefile b/Makefile index a43f7ed..fa47e2b 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -CFLAGS=-O2 +CFLAGS=-O3 pigz: pigz.o yarn.o cc -o pigz pigz.o yarn.o -lpthread -lz @@ -38,5 +38,10 @@ tests: dev test ./pigzn -kf pigz.c ; ./pigz -t pigz.c.gz rm -f pigz.c.gz +docs: pigz.pdf + +pigz.pdf: pigz.1 + groff -mandoc -f H -T ps pigz.1 | ps2pdf - pigz.pdf + clean: rm -f *.o pigz unpigz pigzn pigzt pigz.c.gz pigz.c.zz pigz.c.zip diff --git a/README b/README index 7de587f..bad49da 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -pigz 2.1.5 (20 Jul 2009) by Mark Adler +pigz 2.1.6 (17 Jan 2010) by Mark Adler pigz, which stands for Parallel Implementation of GZip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to diff --git a/pigz.1 b/pigz.1 index 841e8db..567c6ca 100644 --- a/pigz.1 +++ b/pigz.1 @@ -61,7 +61,8 @@ five byte overhead to the output for each input chunk. .PP The default input block size is 128K, but can be changed with the .B -b -option. The number of compress threads is set by default to 4, +option. The number of compress threads is set by default to the number +of online processors, which can be changed using the .B -p option. Specifying @@ -183,4 +184,4 @@ This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. .PP -Copyright (C) 2007, 2008, 2009 Mark Adler +Copyright (C) 2007, 2008, 2009, 2010 Mark Adler diff --git a/pigz.c b/pigz.c index 500628c..97e6faa 100644 --- a/pigz.c +++ b/pigz.c @@ -1,6 +1,6 @@ /* pigz.c -- parallel implementation of gzip - * Copyright (C) 2007, 2008, 2009 Mark Adler - * Version 2.1.5 20 Jul 2009 Mark Adler + * Copyright (C) 2007, 2008, 2009, 2010 Mark Adler + * Version 2.1.6 17 Jan 2010 Mark Adler */ /* @@ -100,9 +100,15 @@ Fix --suffix short option to be -S to match gzip [Bloch] Decompress if executable named "unpigz" [Amundsen] Add a little bit of testing to Makefile + 2.1.6 17 Jan 2010 Added pigz.spec to distribution for RPM systems [Brown] + Avoid some compiler warnings + Process symbolic links if piping to stdout [Hoffstätte] + Decompress if executable named "gunzip" [Hoffstätte] + Allow ".tgz" suffix [Chernookiy] + Fix adler32 comparison on .zz files */ -#define VERSION "pigz 2.1.5\n" +#define VERSION "pigz 2.1.6\n" /* To-do: - add --rsyncable (or -R) [use my own algorithm, set min/max block size] @@ -264,6 +270,7 @@ #include "zlib.h" /* deflateInit2(), deflateReset(), deflate(), */ /* deflateEnd(), deflateSetDictionary(), crc32(), + inflateBackInit(), inflateBack(), inflateBackEnd(), Z_DEFAULT_COMPRESSION, Z_DEFAULT_STRATEGY, Z_DEFLATED, Z_NO_FLUSH, Z_NULL, Z_OK, Z_SYNC_FLUSH, z_stream */ @@ -1035,6 +1042,8 @@ local void compress_thread(void *dummy) size_t len; /* remaining bytes to compress/check */ z_stream strm; /* deflate stream */ + (void)dummy; + /* initialize the deflate stream for this thread */ strm.zfree = Z_NULL; strm.zalloc = Z_NULL; @@ -1157,6 +1166,8 @@ local void write_thread(void *dummy) unsigned long clen; /* total compressed size (overflow ok) */ unsigned long check; /* check value of uncompressed data */ + (void)dummy; + /* build and write header */ Trace(("-- write thread running")); head = put_header(); @@ -1418,6 +1429,8 @@ local void load_read(void *dummy) { size_t len; + (void)dummy; + Trace(("-- launched decompress read thread")); do { possess(load_state); @@ -1726,7 +1739,7 @@ local int get_header(int save) if (in_left == 0 && load() == 0) return -3; end = memchr(in_next, 0, in_left); - copy = end == NULL ? in_left : (end - in_next) + 1; + copy = end == NULL ? in_left : (size_t)(end - in_next) + 1; if (have + copy > size) { while (have + copy > (size <<= 1)) ; @@ -1770,7 +1783,8 @@ local size_t compressed_suffix(char *nm) if (len > 4) { nm += len - 4; len = 4; - if (strcmp(nm, ".zip") == 0 || strcmp(nm, ".ZIP") == 0) + if (strcmp(nm, ".zip") == 0 || strcmp(nm, ".ZIP") == 0 || + strcmp(nm, ".tgz") == 0) return 4; } if (len > 3) { @@ -1796,7 +1810,7 @@ local size_t compressed_suffix(char *nm) /* print gzip or lzw file information */ local void show_info(int method, unsigned long check, off_t len, int cont) { - int max; /* maximum name length for current verbosity */ + size_t max; /* maximum name length for current verbosity */ size_t n; /* name length without suffix */ time_t now; /* for getting current year */ char mod[26]; /* modification time in text */ @@ -1991,6 +2005,7 @@ local void list_info(void) /* call-back input function for inflateBack() */ local unsigned inb(void *desc, unsigned char **buf) { + (void)desc; load(); *buf = in_next; return in_left; @@ -2014,6 +2029,8 @@ local void outb_write(void *dummy) { size_t len; + (void)dummy; + Trace(("-- launched decompress write thread")); do { possess(outb_write_more); @@ -2032,6 +2049,8 @@ local void outb_check(void *dummy) { size_t len; + (void)dummy; + Trace(("-- launched decompress check thread")); do { possess(outb_check_more); @@ -2054,6 +2073,8 @@ local int outb(void *desc, unsigned char *buf, unsigned len) #ifndef NOTHREAD static thread *wr, *ch; + (void)desc; + if (procs > 1) { /* if first time, initialize state and launch threads */ if (outb_write_more == NULL) { @@ -2165,7 +2186,7 @@ local void infchk(void) /* if second length doesn't match, try 64-bit lengths */ if (zip_ulen != (out_tot & LOW32)) { zip_ulen = GET4(); - GET4(); + (void)GET4(); } if (in_eof) bail("corrupted zip entry -- missing trailer: ", in); @@ -2175,8 +2196,8 @@ local void infchk(void) check = zip_crc; } else if (form == 1) { /* zlib (big-endian) trailer */ - check = GET() << 24; - check += GET() << 16; + check = (unsigned long)(GET()) << 24; + check += (unsigned long)(GET()) << 16; check += GET() << 8; check += GET(); if (in_eof) @@ -2244,7 +2265,7 @@ unsigned char match[65280 + 2]; /* buffer for reversed match */ local void unlzw(void) { int got; /* byte just read by GET() */ - int chunk; /* bytes left in current chunk */ + unsigned chunk; /* bytes left in current chunk */ int left; /* bits left in rem */ unsigned rem; /* unused bits from input */ int bits; /* current bits per code */ @@ -2498,7 +2519,7 @@ local void process(char *path) in); return; } - if ((st.st_mode & S_IFMT) == S_IFLNK && !force) { + if ((st.st_mode & S_IFMT) == S_IFLNK && !force && !pipeout) { if (verbosity > 0) fprintf(stderr, "%s is a symbolic link -- skipping\n", in); return; @@ -2553,8 +2574,8 @@ local void process(char *path) /* run process() for each entry in the directory */ cut = base = in + strlen(in); - if (base > in && base[-1] != '/') { - if (base - in >= sizeof(in)) + if (base > in && base[-1] != (unsigned char)'/') { + if ((size_t)(base - in) >= sizeof(in)) bail("path too long", in); *base++ = '/'; } @@ -2802,7 +2823,7 @@ local void help(void) if (verbosity == 0) return; - for (n = 0; n < sizeof(helptext) / sizeof(char *); n++) + for (n = 0; n < (int)(sizeof(helptext) / sizeof(char *)); n++) fprintf(stderr, "%s\n", helptext[n]); fflush(stderr); exit(0); @@ -2944,7 +2965,8 @@ local int option(char *arg) case 'K': form = 2; sufx = ".zip"; break; case 'L': fputs(VERSION, stderr); - fputs("Copyright (C) 2007, 2008, 2009 Mark Adler\n", stderr); + fputs("Copyright (C) 2007, 2008, 2009, 2010 Mark Adler\n", + stderr); fputs("Subject to the terms of the zlib license.\n", stderr); fputs("No warranty is provided or implied.\n", stderr); @@ -3002,7 +3024,7 @@ local int option(char *arg) procs = (int)n; /* # processes */ if (procs < 1) bail("invalid number of processes: ", arg); - if (procs != n || ((procs << 1) + 2) < 1) + if ((size_t)procs != n || ((procs << 1) + 2) < 1) bail("too many processes: ", arg); #ifdef NOTHREAD if (procs > 1) @@ -3023,6 +3045,7 @@ local int option(char *arg) /* catch termination signal */ local void cut_short(int sig) { + (void)sig; Trace(("termination by user")); if (outd != -1 && out != NULL) unlink(out); @@ -3075,9 +3098,10 @@ int main(int argc, char **argv) if (argc < 2 && isatty(1)) help(); - /* decompress if named "unpigz" */ + /* decompress if named "unpigz" or "gunzip" */ p = strrchr(argv[0], '/'); - if (strcmp(p == NULL ? argv[0] : p + 1, "unpigz") == 0) + p = p == NULL ? argv[0] : p + 1; + if (strcmp(p, "unpigz") == 0 || strcmp(p, "gunzip") == 0) decode = 1, headis = 0; /* process command-line arguments */ diff --git a/pigz.pdf b/pigz.pdf index 50e7d7f2b00e7490a664ffadab2de7c5440e273e..7ff33af0b36c8fe9ebb318e9dad37f776b81cfe5 100644 GIT binary patch literal 8426 zcmch7c|6qn_rDa?P*TyNm|GactY*e8Wyu!V*J_Lz#xlb!3{kR#bY;z&vZTnGec#Gb z6j>s>XtAWoUirR9b#M36{rv9dkNfz&|M8mhKIgoi=e*82uk(7niRi1UOCg}rAd#l& z>nR{K7!Ib`IDixsU^)b{9o-&`0VoDAb&?aEKn26pop5x5DgjTiB`7I@Xmlz8=L}*d z&RF!52by`kUzkdV1x~OXX?R_s=PeCb%vao=~z%k)9uyCX#9k=cevYg|yF^Q*TO zLcM9f2X66p@xGKi^eRio%=}LHz21fQN3xOIDle9A8>;?1dbi(aI4AbY@Z{<(W=;Lt zndr!%!t*b3VZPXN>l2SAkLgJ(@p#ndVD+~=Ap3f+efSu0*mE_;n>d9l5lSH0G&IK> z8>mG$7mU2{9;Ec%&51KnKDX}SVIZc)9}Z5g>sB86yu3I$5p8Jik*T2PO)}DoxVIP4 zr!zb(Ioz6B8RU^%^SN?pfYRS&Iym*UZSCWr*B3-+%GDw8foabf`S3U4%?lyQ+WGmO zDG&5i6HTKp3Rk9T)XQjf87g3|i<}t~teDD5Lq1kJ#I^897oKHmwKnDIpq%4!@lXt@ z{nV|S60!VeOdhpdN*+DC(nxAdHMoSOG^G#eys^FW{y^f5$)mCTGRv@N*ECFoTaOFa=WgU0i z{y;K$$+}_jRbHb?gAC%t^a9+W8G6q>Y*|9WP)ezM@sa6M?fxr8U%tW%+-%%m?ON^Q zE`63FT%g2sGWzTvw#olQ#*Tj7b|I7CUEw3_wJ^T$CJ}R^s4_Tt%vIz|SA&oO?{qiT zsY>zF^*t9H-bgu4F7#m1iJJ#|s|6?W+bbkLk<$Dk4Bf3e)uug?5jJd3_h2$^saV_KiGSvE9iP1eMi$DCf*dj< zE=wML)-x!b#~94!u~vk&jz!t$LnHPMoqiT)tnQlBZ}en@v#(uI!+EkSJu<1$SnN09 z7GJldgruhj8+B0zoKLqcxy16$YR5?zA$_>^SJ-k1ujS1A)>o#}?X2=Raltg{We;?a zgQ1Wx+k}Jg$q4KeNeH=i^_4Q0X5?tX>{wo6riFQ=VWmy#$%j3Q9beDn1si>h;oa)i z`1+2)onj#wPY(MMS+-f*!4bIe6^qsP^v_KMC<7I(heF=#yRGnb=jrL+=l#+wuWK6xs`X~eB z`|=s1U(aArq5+j_|x65xa6qzU+7w>4I;oW#2 zO-`hai|Yr(E&90o+*0)CKv^9W^~iJ7rM7Dxc|2!TgyZe2p0|o*u0kV+jX%V`!>bI- zOdaFVcYJS4f$AF&B2DE>9V(( zF<#udSO;F7feqJu?eD(Tn|CY2Ld8spy_IYl6SCN;&rY7|Tl{oL-?WboW6V6M9VjYr z6+L?o7n9ub%w>Miu)PU8e^ZQp!R0NRwf;sK>NBBLJKXsn{ zdH)=T`nCX~o`h@BrXbt_`SZUAu-!&4l%YfH zj_j^^M6^_>Mw$n&j#tOCg5FgmZ!VN!!X^o7a*DJnIp1rwgsdrMtdB5!CnQ@DSwUTS z2hatcQ+vk!?)0SP?ap!Ni)e?N&^QcQii(B=EW_4|D-*9)$O|8c5YW%P5>hCVTv$*M@J5!jwnLgsi)y`>*XZa&&!B+GV}I(p;a-HsIB2iu9S-CfD~ zw;kHKdb+F4OO~FkN<#KLlq*on+<&pu&a134FV%UPXMAC64W`UA;bg@b7pDHn%;3YZ zcJi1()MtVI9&WEtt{OpnxLGJU^Ey2GC5=sZvvH!B=uwwJQxhZz^>-wJdN<{AE(m>!$!`ag^$5iUb!MZ zS;w&Xb4^8R=^fUfsnBvCAHHq7wTbiU{pICs;aYBNi_$U3?lH`WC^}*9CeyNGb`fwD z?GPH}#;7sTBJhv{f$(hW5oV#TxY}`Hx6&HBQ0cOnvMh_TX~gAi{i*Tk@VG*OM*Ii$ zSgB(FNDQ?lp+_kfUzdN|FSqN$R+gxf9qf_Ry`ekBw%V2%k z%jaE}i%smi?v7U+(C|_^QA`-kY%poB+npD}&M#4iSPu)oQ*!DW2l>B1XsZR}(39@253ER3pE~2_cRXauTvRPVt_6W17HR`3p zPfjf@OIc-+Z|vn!j?G8WTA9i^&nL=+$D4GdRxNn0MiXxe-c5??zT(Wa&yRRwxJuz= ze!Xn)$F{zTlz|)-O=m?eA^Q?fqvC0koe32d(DQF2`=dv*%~gIIT6Qh(>Qv=}s3s@9 z%t7f&gj(5!&ajnUIi={E+A(^sV^OZ?_@?Lk+0`fnXwipV(p7~avPr`G-%Mywou@d@ z;nGp%t;jQ8RH1+STWU`3|%_yy8Kdbid-*%6?)@-~x>@1?=u{dcvs(aueq|cOQ}Tf#A;vgIb;&*dgW3_l+1{}yL&h-w#w*f$GZ+E z#H)LjaY7RTtueFF4a#}&N=O)YgFJKml*lCw-eU#BXdWt;RK@K~UUWq1LAbZ&t z*)mP(BUgJ@DSFvY@U&|A_%jY;|CxLZyl*O=c;WRm9s6r=^x}$``@MDrsQcsH@X>^> zwa;;%Y2*9%YToGmSU6lr1Ro=Hzs4j?E{=)b4hR@qau~^}odfd;Di^e=9cCDv9>Uh1 zKR&?AtEII`8rk-R#<0Q1o9EEdEB!Al%*XZmX~_4Esu5=|Wl24@Z4aw=jXgivO7-op z5K1W3`~5nKjO_e8sy$RHKevbPLM+}>owy}8LFAQYP;YGQC3}8bVj0i7F}G;2P4p?h zjC0}gc<9@MeGg`@VTAZ?6FEDcC*VM(6VW{KqlcrT27BEsBq|>n&OT73EWWFb7q`~7 zr|1pLxIM}9w|{7EemFNKC;raVz}07moVMXvJ2u#3eE_X0pzFg*;~W$ff70 zfU#EJ{Z_+@!DA1fk^_$mjyL*1#*Ei?1h~Yt{T6s?RK_p1`5cA4G~2haCA=$m~82kPH*a=hI1S1EC9I^TIoOiiJblyW|(v>TYEjUVoLV zw-{nCF@{|VdHUs5mr>z9Hwns+|mfYNs32huttJCh5J6QBF#$WOZN-aDe z71uW8?Mw)5brTb6e*94})6!tvxcWv~wD!#Bn_ntj6h%)&NbU30kPNEj?Ts7Kl%7Ng zX~+zeL9Qe()^U#>Z#^*_H=cYBbtTENxfM7FzlpbiDr7;^C)ibLHR?OUB6d zt&ZW!OX-{xhnXG^Mpr^G!8+Gc_`tZYx9XKqEuWc*%x=EE=E|__Jv+0QSDa@%79+1H zC&$HXecfKAwJ*&yuy}Lx8)5FGVsFhs&TH72sIQ_bwi=VTK2zV-Ovwd>v^?|X&aM-e zG-pdfgYeR)69fhKaK@cx48|VT&GPfVQ@}T4|LH3K?g>tlhe~ZF1U)0Wd*ny?k)1yNfbK8IS9|&=JZ(Zn<9S89OQ{5c*m+pHR4MmZRe)I_|H$dVmQ-BzmYN+8wi<-Th`cL)5#T%Md9>*AL?}CV;~P7% z_3a;rbE>^Wv!=>lJzU=r!Nl^6wJ#i}C~#ORv!62w-Ot?lPG&OZ`9k!3>!vWas=|Zs zsG__2avvy0(t<%L;$*)dcJ%nm9tFXj<4I~I#+`Fvj~bqQ9kmpRxga>b_wrWvaAc81Sbu0QnBBCc)`yPtdsj73+O^0Gt#N0^t3ENJ(z$C} z@knB#K%|+pn|aeySHD4z<4^FHo_D?6?sY3zIK|?9$%8!YaW$Ko7{zJZDM72PeACVe zW2@T}H=jV=mh(S4%q}NYb|Z{HP|=FU7dYS9Cs8UzSI|MUZuZ^deYwU}X3TUtbktA# zo$z}4(b-c<_VCBI>#sz{4yb$g*`z0TP5TPiSbZd#zo*_p!QyCZMhQ=2PEI6Un|VCC z*`HLEzW^tGjnXL=JlkP-yOa&0_aQ#k@v7;_5X|MdM+B!YM`{c<_qAl)*?l5LYqOb$ zW|hY$iZl5vUlU+40-_-^OC~j&uS8u@KD`OLyVgV*(RBF|<^#|1kt}TAnCbFoE|f%o z>n}xqqk6NdJVF|Q{ZZwAD)L4iE(Dl9&W-@nCD@X1Cn!v?B^)UDXjwE^MjB}if*DZg zz?~u(4scNkWI7nd+719Rfkt6a@dO%h6{%09;0+0MOBirj35FRFm~=o+jY-!q+z>?| zzKN()0C5Cz;|Fj%2|Ee=1~k&Z8#@dLApO{dSaW>8=KTKxaN`mc1p5XM`zyeWZPDN- zgnt4A>;+s1-tZv}4AUmr(!iD=mWK^Mh;P2K1_P!t0Nas&dh;h^|7t71i=*S5D0V+o ze)qR7fsV5U-hh$cy!odB7T%wo^@rm@Fg<-;FhWV`hg(^a-#HDipbb0!RI{-#Kijqk{lK;BWN(gv;Q6(#M+eJAe~78iBPMuu}vlHv*l6 z$8ETIV}*dwA_EuPB(fbC@eQRR!-md^W7bLl=Kc{zKPlV@qaSiGRT7a%0HPTPUrQh} z;4mTyMsxxpuqc=_iOir`|D=Rv{eMLzrDx+ra%Fs*`WJK?{(}8CbgZ}E75^i;p8)+N z_N$kqPEed||JGH=Z>#uUz-+wzU%~vXpEknsXAM6B7W9V$%ye~re6>IzWn`6nbqIKcAE++~0q*I<$f}!VWBfO_0Ue*?(tOQa} z#sO_CL5hiUks@w<{-A*gG`!-GlLk8KM_3F@Ii|CVGmtl6rn3{7CdX8SY>3DKV-^_( z0dKI-9Tg#Fy82)`h2rE$0@4&J3q?pFP?BIG73WNFr%)Zi2q*>usHEBwk@6f0+t+0nCL0TmX#ZfC6sIz!Rv75Dk4Du!cQ_M*lW7 zSO$tgL15o4{}%uOtM&J`124WA4+chZxM-hUABj8eSU_r1(2$URBRt|-h zg3HLk;ee3<>q+1n7x2yNA6S(X{@|rhjevz#vZGRnM6eryN@MvK0Y%6{kqWT?zhFUOfKK{9=0zi9fClleSkPFRU-ikb8l3;&la>C3hC#rA zR_w2Q7^L(sc3@Dfj`Rl~or)tl5vaib5`bZbBu@gcmSCXUrvN=V5OoG%m?oJ>0e@@P zVVbI7O9docT^f#&J%N!?!OBR(QEFKA6RL0-byW;j8V<*(EB!NvHLHoH(Q#DzMgU=D OP$-ayh?<@{=>GtYDxn1c literal 60049 zcmce-19W9g*DV~|wr$(#*tV07ePY|TZQJVDcG5v79XlO&`cFT2@qO?8zkA2Hjli%GF%j7tTfy-05i!b|*_i_@ zh}b`FDHAb@TiO83oIZYSi~wez%uMV}&4>g9V4ML?W=6I!?!YlRXQ^95$nSM!@c}LD z+HvAO3EC`8Q=YbUZmV1arqE2l@D3bkq+1Y$Hx#R|F2IMWS4YN1L>f6gM&!-C) zd6S%nvu06!+iNL7sfUdAle3d~6Wfz+g>UcpKc!!K+Udc4Ruftr7+r+nd(*H)^w8FX3U|O?NQ@0nH?3=X11~#X-h3a zESyId;!79t#-k;uP;lFwE{<-RET2DFg_z8riCcUdsjpItq1tMG=6-F!4x@&b3IG1H zu{u_b_Q0_Su!>Jx5S#K9&55q+y`8x$0PDH3yGIL3;XyNW1y#L2JI&vuB>h+_(^VK% zvqF4Z4x=8e6)$T=iUH>JU=Nh)>7boEL(yx~FaZ`+gtk^v5@ZJry9=q(Hafr;wQ=lw z(i>Z)eX?@wh*g_TxQUgYND%fn%kSsxUFzA=3k6A*?sj88wsB8#Kl7mSOdLI)44 z{(3)SwC{U=&?5=$2Qbh3vzQpeK$A5T?Tp{Aad^^9eFF7(U7-gu3^{b`^OZPO(AeYMxvth-^WJg^<7&2Q!gfjZ;DefLRLkYvb&IsThL2Kd{$(V&$YY6 za3dO7;#L)8D^+M`&_!_;GzPMUXqxyTr4DJ8EEk592Sa_F@08yF^@L-M=c!<}>d9yY z1@yg*VXqm^@pS`P7ch*lF`Ij<*RTI9#*2Cbn2>CL0MJebV*Pb!021SrU znso!?2h))w?%GD(hA(2jxZJhq&?cy|0e5qu->xA>J}tpvW35O-9-#^;;s}-Iq(U;m z`K?#LZsZBPQF@-F4lOd2(cLLc<<^BZ{_7e5=w!Gx?4h#EJfT;dW$S#9uEo5uoFUnr zLyD+ypL*{sfJGl#*f~DbU>T2*eMK6;>7BV4B$ zb~PgPNRvN)lqM@u8}>)WhzsswuZVYaXT`b0?q`nnW`!x zRWi0>3IXOvni<0~H=>H-!_-7BJnA-uP7ZUKGCNP|P^%6XcUM>9R03(Xvl1-G+$zcuvslZHbNXXl8a(#CLn@DS%YCEG5YdLdG9l6QCy$b(@n!JvN;CGAfYXh~+mFP>YGRGw`yKC>kTR zI9TPEDPPSF^%HGZ4F#`I!94Y#NS5fW?G@0Y39%|#PuD|u6(MH}Yg%+Q3d*yVmP?{& z?OB#2oV&dctZZCV35?aVBT}g#JYBj_o z^`b0YftkU{U~nlkD8D5aQPG$%PE2Ihr$F?|?9KuU5Nse3^xi0nf7^cr`G%AJG6Kvd zh>#F9{!Q_%0A-E<%P<`tWgyLb3=KNF+hR5IH$ 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 W%FOZ_|A{45^3XZvXG0ew?|%SM5pxLu literal 0 HcmV?d00001 diff --git a/pigz.spec b/pigz.spec new file mode 100644 index 0000000..a29c202 --- /dev/null +++ b/pigz.spec @@ -0,0 +1,26 @@ +Summary: pigz is a parallel implementation of gzip which utilizes multiple cores +Name: pigz +Version: 2.1.6 +Release: 1 +Source0: %{name}-%{version}.tar.gz +License: GPL +Group: Applications/Tools +Packager: Duncan Brown +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +URL: http://www.zlib.net/pigz + +%description +pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data. pigz was written by Mark Adler, and uses the zlib and pthread libraries. + +%clean +rm -rf $RPM_BUILD_ROOT +%prep +mkdir -p $RPM_BUILD_ROOT +%setup -q +%build +make +mkdir -p ${RPM_BUILD_ROOT}/usr/bin +mv pigz ${RPM_BUILD_ROOT}/usr/bin +%files +%defattr(-,root,root) +/usr/bin/pigz