From 903bd168be8e06a6657782999478ee5ce9df3d49 Mon Sep 17 00:00:00 2001 From: overweight <5324761+overweight@user.noreply.gitee.com> Date: Mon, 30 Sep 2019 11:09:28 -0400 Subject: [PATCH] Package init --- ncompress-4.2.4.4-2GB.patch | 13 +++ ncompress-4.2.4.4-endians.patch | 11 +++ ncompress-4.2.4.4-filenamelen.patch | 60 ++++++++++++++ ncompress-4.2.4.4-lfs.patch | 23 ++++++ ncompress-4.2.4.4-make.patch | 20 +++++ ncompress-4.2.4.4-memmove.patch | 12 +++ ncompress-4.2.4.4-silence-gcc.patch | 33 ++++++++ ncompress-4.2.4.4.tar.gz | Bin 0 -> 32571 bytes ...s-compression-with-9-bits-don-t-work.patch | 34 ++++++++ ncompress.spec | 78 ++++++++++++++++++ 10 files changed, 284 insertions(+) create mode 100644 ncompress-4.2.4.4-2GB.patch create mode 100644 ncompress-4.2.4.4-endians.patch create mode 100644 ncompress-4.2.4.4-filenamelen.patch create mode 100644 ncompress-4.2.4.4-lfs.patch create mode 100644 ncompress-4.2.4.4-make.patch create mode 100644 ncompress-4.2.4.4-memmove.patch create mode 100644 ncompress-4.2.4.4-silence-gcc.patch create mode 100644 ncompress-4.2.4.4.tar.gz create mode 100644 ncompress-compression-with-9-bits-don-t-work.patch create mode 100644 ncompress.spec diff --git a/ncompress-4.2.4.4-2GB.patch b/ncompress-4.2.4.4-2GB.patch new file mode 100644 index 0000000..cf1ac52 --- /dev/null +++ b/ncompress-4.2.4.4-2GB.patch @@ -0,0 +1,13 @@ +diff --git a/compress42.c b/compress42.c +index 4d33342..495bdf3 100644 +--- a/compress42.c ++++ b/compress42.c +@@ -1373,7 +1373,7 @@ compress(fdin, fdout) + REG11 int boff; + REG12 int n_bits; + REG13 int ratio; +- REG14 long checkpoint; ++ REG14 unsigned long long checkpoint; + REG15 code_int extcode; + union + { diff --git a/ncompress-4.2.4.4-endians.patch b/ncompress-4.2.4.4-endians.patch new file mode 100644 index 0000000..fdc9662 --- /dev/null +++ b/ncompress-4.2.4.4-endians.patch @@ -0,0 +1,11 @@ +--- ncompress-4.2.4/compress42.c.endians 2006-09-19 13:53:58.000000000 +0200 ++++ ncompress-4.2.4/compress42.c 2006-09-19 13:57:54.000000000 +0200 +@@ -432,7 +432,7 @@ + + union bytes + { +- long word; ++ int word; + struct + { + #if BYTEORDER == 4321 diff --git a/ncompress-4.2.4.4-filenamelen.patch b/ncompress-4.2.4.4-filenamelen.patch new file mode 100644 index 0000000..49b7841 --- /dev/null +++ b/ncompress-4.2.4.4-filenamelen.patch @@ -0,0 +1,60 @@ +diff --git a/compress42.c b/compress42.c +index b3b3add..6878046 100644 +--- a/compress42.c ++++ b/compress42.c +@@ -141,6 +141,7 @@ + #include + #include + #include ++#include + + #ifdef DIRENT + # include +@@ -214,7 +215,7 @@ + # define OBUFSIZ BUFSIZ /* Default output buffer size */ + #endif + +-#define MAXPATHLEN 1024 /* MAXPATHLEN - maximum length of a pathname we allow */ ++#define MAXPATHLEN PATH_MAX /* MAXPATHLEN - maximum length of a pathname we allow */ + #define SIZE_INNER_LOOP 256 /* Size of the inter (fast) compress loop */ + + /* Defines for third byte of header */ +@@ -701,6 +702,7 @@ main(argc, argv) + { + REG3 char **filelist; + REG4 char **fileptr; ++ int i; + + if (fgnd_flag = (signal(SIGINT, SIG_IGN) != SIG_IGN)) + signal(SIGINT, (SIG_TYPE)abort_compress); +@@ -714,13 +716,18 @@ main(argc, argv) + nomagic = 1; /* Original didn't have a magic number */ + #endif + +- filelist = (char **)malloc(argc*sizeof(char *)); ++ for (i=0; i(MAXPATHLEN-1)) { ++ fprintf(stderr,"Filename too long\n"); ++ exit(1); ++ } ++ } ++ filelist = fileptr = (char **)malloc(argc*sizeof(char *)); + if (filelist == NULL) + { + fprintf(stderr, "Cannot allocate memory for file list.\n"); + exit (1); + } +- fileptr = filelist; + *filelist = NULL; + + if((progname = strrchr(argv[0], '/')) != 0) +@@ -860,7 +867,9 @@ nextarg: continue; + decompress(0, 1); + } + ++ free(filelist); + exit((exit_code== -1) ? 1:exit_code); ++ return 0; + } + + void diff --git a/ncompress-4.2.4.4-lfs.patch b/ncompress-4.2.4.4-lfs.patch new file mode 100644 index 0000000..2559799 --- /dev/null +++ b/ncompress-4.2.4.4-lfs.patch @@ -0,0 +1,23 @@ +diff --git a/compress42.c b/compress42.c +index 804d099..b3b3add 100644 +--- a/compress42.c ++++ b/compress42.c +@@ -130,6 +130,7 @@ + * Add variable bit length output. + * + */ ++#include + #include + #include + #include +@@ -538,8 +539,8 @@ int remove_ofname = 0; /* Remove output file on a error */ + char ofname[MAXPATHLEN]; /* Output filename */ + int fgnd_flag = 0; /* Running in background (SIGINT=SIGIGN) */ + +-long bytes_in; /* Total number of byte from input */ +-long bytes_out; /* Total number of byte to output */ ++long long bytes_in; /* Total number of byte from input */ ++long long bytes_out; /* Total number of byte to output */ + + /* + * 8086 & 80286 Has a problem with array bigger than 64K so fake the array diff --git a/ncompress-4.2.4.4-make.patch b/ncompress-4.2.4.4-make.patch new file mode 100644 index 0000000..3d1878f --- /dev/null +++ b/ncompress-4.2.4.4-make.patch @@ -0,0 +1,20 @@ +diff --git a/Makefile.def b/Makefile.def +index e493d7c..1e6612f 100644 +--- a/Makefile.def ++++ b/Makefile.def +@@ -31,7 +31,14 @@ MANDIR=/usr/local/man/man1 + # -DDEF_ERRNO=1 Define error (not defined in errno.h). + # -DMAXSEG_64K=1 -BITS=16 Support segment processsor like 80286. + # +-options= $(CFLAGS) $(CPPFLAGS) -DDIRENT=1 -DUSERMEM=800000 -DREGISTERS=3 ++options= $(CFLAGS) $(CPPFLAGS) -DDIRENT=1 -DUSERMEM=800000 -DREGISTERS=20 \ ++ -D_FILE_OFFSET_BITS=64 \ ++ -D_LARGEFILE_SOURCE \ ++ -DNOFUNCDEF=1 \ ++ -DOBUFSIZ=1024 \ ++ -DUTIME_H \ ++ -DSYSDIR=1 \ ++ $(ARCH_FLAGS) + + # libary options + LBOPT= $(LDFLAGS) diff --git a/ncompress-4.2.4.4-memmove.patch b/ncompress-4.2.4.4-memmove.patch new file mode 100644 index 0000000..d8fec3e --- /dev/null +++ b/ncompress-4.2.4.4-memmove.patch @@ -0,0 +1,12 @@ +diff -urNp ncompress-4.2.4-orig/compress42.c ncompress-4.2.4/compress42.c +--- ncompress-4.2.4-orig/compress42.c 2012-01-03 15:13:58.014222927 +0100 ++++ ncompress-4.2.4/compress42.c 2012-01-03 15:15:17.117097419 +0100 +@@ -1441,7 +1441,7 @@ compress(fdin, fdout) + boff = -(((OBUFSIZ<<3)-boff)%(n_bits<<3)); + bytes_out += OBUFSIZ; + +- memcpy(outbuf, outbuf+OBUFSIZ, (outbits>>3)+1); ++ memmove(outbuf, outbuf+OBUFSIZ, (outbits>>3)+1); + memset(outbuf+(outbits>>3)+1, '\0', OBUFSIZ); + } + diff --git a/ncompress-4.2.4.4-silence-gcc.patch b/ncompress-4.2.4.4-silence-gcc.patch new file mode 100644 index 0000000..738ce80 --- /dev/null +++ b/ncompress-4.2.4.4-silence-gcc.patch @@ -0,0 +1,33 @@ +diff --git a/compress42.c b/compress42.c +index c3f6b35..834c2f2 100644 +--- a/compress42.c ++++ b/compress42.c +@@ -704,7 +704,7 @@ main(argc, argv) + REG4 char **fileptr; + int i; + +- if (fgnd_flag = (signal(SIGINT, SIG_IGN) != SIG_IGN)) ++ if ((fgnd_flag = (signal(SIGINT, SIG_IGN)) != SIG_IGN)) + signal(SIGINT, (SIG_TYPE)abort_compress); + + signal(SIGTERM, (SIG_TYPE)abort_compress); +@@ -1016,8 +1016,8 @@ comprexx(fileptr) + + if (infstat.st_nlink > 1 && (!force)) + { +- fprintf(stderr, "%s has %d other links: unchanged\n", +- tempname, infstat.st_nlink - 1); ++ fprintf(stderr, "%s has %ld other links: unchanged\n", ++ tempname, (long)(infstat.st_nlink - 1)); + exit_code = 1; + return; + } +@@ -1318,7 +1318,7 @@ compdir(dir) + ** think it's worth it. -- Dave Mack + */ + +- while (dp = readdir(dirp)) ++ while ((dp = readdir(dirp))) + { + if (dp->d_ino == 0) + continue; diff --git a/ncompress-4.2.4.4.tar.gz b/ncompress-4.2.4.4.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..4da095411e31d04116e1ff31111647d1bbb0f22a GIT binary patch literal 32571 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

x{V+B4q9C1Wdj4ZOKddV*whp`3` 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 z z2#-vdvnL_$FBta|SVuE~qzmVV@xR~m_KxPy4?0aMcxdwQjEJmyV~B`n&m=*z&Oshl zXqn2L*DyJsTL6BC9Y|+{YZVIE=L_YyqBmqW!cKH;9Y)yua&yD1af>E?FJbg^>qUc_ znNFx&`x_+p%c9}zXTOl+06#T_gVGMWuP&w|J}b6ms{$M%YN56NNGf*NqiibwG)z>o(r;~IJ6vrAFm<^PQPcW}j}y!#G< zRSj@JiqON8*uZLreVhcg&0ZtD!>-TYdtT}X-m_#<*DgTuLNSkfOgsJ?kO+7f_=Nkf zc@O~JQQ8c)CNUI$htgk2Me6H +Date: Fri, 3 May 2019 16:06:24 +0800 +Subject: [PATCH] ncompress: compression with 9 bits don't work + +--- + compress42.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/compress42.c b/compress42.c +index 834c2f2..19a4043 100644 +--- a/compress42.c ++++ b/compress42.c +@@ -233,7 +233,7 @@ + #define FIRST 257 /* first free entry */ + #define CLEAR 256 /* table clear output code */ + +-#define INIT_BITS 9 /* initial number of bits/code */ ++#define INIT_BITS 8 /* initial number of bits/code */ + + #ifndef SACREDMEM + /* +@@ -835,7 +835,7 @@ main(argc, argv) + nextarg: continue; + } + +- if (maxbits < INIT_BITS) maxbits = INIT_BITS; ++ if (maxbits <= INIT_BITS) maxbits = INIT_BITS + 1; + if (maxbits > BITS) maxbits = BITS; + + if (*filelist != NULL) +-- +1.8.3.1 + diff --git a/ncompress.spec b/ncompress.spec new file mode 100644 index 0000000..bf9cc45 --- /dev/null +++ b/ncompress.spec @@ -0,0 +1,78 @@ +Name: ncompress +Version: 4.2.4.4 +Release: 18 +Summary: A fast, simple LZW file compressor +License: Public Domain +URL: http://ncompress.sourceforge.net/ +Source0: https://github.com/vapier/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz + +Patch0: %{name}-4.2.4.4-make.patch +Patch1: %{name}-4.2.4.4-lfs.patch +Patch2: %{name}-4.2.4.4-filenamelen.patch +Patch3: %{name}-4.2.4.4-2GB.patch +Patch4: %{name}-4.2.4.4-endians.patch +Patch5: %{name}-4.2.4.4-memmove.patch +Patch6: %{name}-4.2.4.4-silence-gcc.patch + +Patch6000: ncompress-compression-with-9-bits-don-t-work.patch + +BuildRequires: git gcc glibc-devel + +%description +Compress is a fast, simple LZW file compressor. Compress does not have the highest +compression rate, but it is one of the fastest programs to compress data. Compress +is the defacto standard in the UNIX community for compressing files. + +%package_help + +%prep +%autosetup -n %{name}-%{version} -p1 + +%build +make CFLAGS="%{optflags} %{build_ldflags}" + +%install +install -D -p compress %{buildroot}%{_bindir}/compress +ln -sf compress %{buildroot}%{_bindir}/uncompress +install -D -p compress.1 %{buildroot}%{_mandir}/man1/compress.1 +ln -sf compress.1 %{buildroot}%{_mandir}/man1/uncompress.1 + +%files +%defattr(-,root,root) +%doc LZW.INFO +%attr(755,root,root) %{_bindir}/compress +%{_bindir}/uncompress + +%files help +%defattr(-,root,root) +%doc README Changes +%{_mandir}/man1/*.gz + +%changelog +* Sat Sep 21 2019 shenyangyang - 4.2.4.4-18 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:revise description + +* Thu Aug 22 2019 shenyangyang - 4.2.4.4-17 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:strenthen spec + +* Wed Aug 21 2019 fangyufa - 4.2.4.4-16 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:modify name of patch + +* Fri May 3 2019 hexiaowen - 4.2.4.4-15 +- Type:bugfix +- ID:NA +- SUG:restart +- DESC:compression with 9 bits don't work + +* Wed Aug 22 2018 openEuler Buildteam - 4.2.4.4-14 +- Package init +