commit
3368487437
@ -0,0 +1 @@
|
||||
SOURCES/pigz-2.5.tar.gz
|
@ -0,0 +1 @@
|
||||
82eef9525c2b4f4b1881d824a6cf621c74214cd0 SOURCES/pigz-2.5.tar.gz
|
@ -0,0 +1,276 @@
|
||||
From c9de6c53dcf3eb1071c7999c8accc43ef2b3f458 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Adler <madler@alumni.caltech.edu>
|
||||
Date: Sun, 24 Jan 2021 22:00:00 -0800
|
||||
Subject: [PATCH] Portability improvements.
|
||||
|
||||
Avoid many bogus warnings across versions of gcc. Work around
|
||||
missing definitions on some systems. Fix some printf format types.
|
||||
---
|
||||
pigz.c | 77 ++++++++++++++++++++-----------------
|
||||
try.h | 6 +--
|
||||
zopfli/src/zopfli/cache.c | 2 +-
|
||||
zopfli/src/zopfli/deflate.c | 13 ++++---
|
||||
4 files changed, 53 insertions(+), 45 deletions(-)
|
||||
|
||||
diff --git a/pigz.c b/pigz.c
|
||||
index 7430e1e..6ec3a82 100644
|
||||
--- a/pigz.c
|
||||
+++ b/pigz.c
|
||||
@@ -333,7 +333,7 @@
|
||||
// Portability defines.
|
||||
#define _FILE_OFFSET_BITS 64 // Use large file functions
|
||||
#define _LARGE_FILES // Same thing for AIX
|
||||
-#define _POSIX_C_SOURCE 200809L // For MinGW
|
||||
+#define _XOPEN_SOURCE 700 // For POSIX 2008
|
||||
|
||||
// Included headers and what is expected from each.
|
||||
#include <stdio.h> // fflush(), fprintf(), fputs(), getchar(), putc(),
|
||||
@@ -874,10 +874,10 @@ local void log_dump(void) {
|
||||
;
|
||||
log_free();
|
||||
if (mem_track.num || mem_track.size)
|
||||
- complain("memory leak: %lu allocs of %lu bytes total",
|
||||
+ complain("memory leak: %zu allocs of %zu bytes total",
|
||||
mem_track.num, mem_track.size);
|
||||
if (mem_track.max)
|
||||
- fprintf(stderr, "%lu bytes of memory used in %lu allocs\n",
|
||||
+ fprintf(stderr, "%zu bytes of memory used in %zu allocs\n",
|
||||
mem_track.max, mem_track.tot);
|
||||
}
|
||||
|
||||
@@ -993,7 +993,7 @@ local size_t writen(int desc, void const *buf, size_t len) {
|
||||
size_t left = len;
|
||||
|
||||
while (left) {
|
||||
- size_t const max = SIZE_MAX >> 1; // max ssize_t
|
||||
+ size_t const max = SSIZE_MAX;
|
||||
ssize_t ret = write(desc, next, left > max ? max : left);
|
||||
if (ret < 1)
|
||||
throw(errno, "write error on %s (%s)", g.outf, strerror(errno));
|
||||
@@ -1668,26 +1668,32 @@ local void compress_thread(void *dummy) {
|
||||
size_t len; // remaining bytes to compress/check
|
||||
#if ZLIB_VERNUM >= 0x1260
|
||||
int bits; // deflate pending bits
|
||||
-#endif
|
||||
-#ifndef NOZOPFLI
|
||||
- struct space *temp = NULL; // temporary space for zopfli input
|
||||
#endif
|
||||
int ret; // zlib return code
|
||||
- z_stream strm; // deflate stream
|
||||
ball_t err; // error information from throw()
|
||||
|
||||
(void)dummy;
|
||||
|
||||
try {
|
||||
- // initialize the deflate stream for this thread
|
||||
- strm.zfree = ZFREE;
|
||||
- strm.zalloc = ZALLOC;
|
||||
- strm.opaque = OPAQUE;
|
||||
- ret = deflateInit2(&strm, 6, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY);
|
||||
- if (ret == Z_MEM_ERROR)
|
||||
- throw(ENOMEM, "not enough memory");
|
||||
- if (ret != Z_OK)
|
||||
- throw(EINVAL, "internal error");
|
||||
+ z_stream strm; // deflate stream
|
||||
+#ifndef NOZOPFLI
|
||||
+ struct space *temp = NULL;
|
||||
+ // get temporary space for zopfli input
|
||||
+ if (g.level > 9)
|
||||
+ temp = get_space(&out_pool);
|
||||
+ else
|
||||
+#endif
|
||||
+ {
|
||||
+ // initialize the deflate stream for this thread
|
||||
+ strm.zfree = ZFREE;
|
||||
+ strm.zalloc = ZALLOC;
|
||||
+ strm.opaque = OPAQUE;
|
||||
+ ret = deflateInit2(&strm, 6, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY);
|
||||
+ if (ret == Z_MEM_ERROR)
|
||||
+ throw(ENOMEM, "not enough memory");
|
||||
+ if (ret != Z_OK)
|
||||
+ throw(EINVAL, "internal error");
|
||||
+ }
|
||||
|
||||
// keep looking for work
|
||||
for (;;) {
|
||||
@@ -1714,11 +1720,8 @@ local void compress_thread(void *dummy) {
|
||||
(void)deflateParams(&strm, g.level, Z_DEFAULT_STRATEGY);
|
||||
#ifndef NOZOPFLI
|
||||
}
|
||||
- else {
|
||||
- if (temp == NULL)
|
||||
- temp = get_space(&out_pool);
|
||||
+ else
|
||||
temp->len = 0;
|
||||
- }
|
||||
#endif
|
||||
|
||||
// set dictionary if provided, release that input or dictionary
|
||||
@@ -1912,11 +1915,15 @@ local void compress_thread(void *dummy) {
|
||||
}
|
||||
|
||||
// found job with seq == -1 -- return to join
|
||||
+ release(compress_have);
|
||||
#ifndef NOZOPFLI
|
||||
- drop_space(temp);
|
||||
+ if (g.level > 9)
|
||||
+ drop_space(temp);
|
||||
+ else
|
||||
#endif
|
||||
- release(compress_have);
|
||||
- (void)deflateEnd(&strm);
|
||||
+ {
|
||||
+ (void)deflateEnd(&strm);
|
||||
+ }
|
||||
}
|
||||
catch (err) {
|
||||
THREADABORT(err);
|
||||
@@ -3078,7 +3085,7 @@ local void show_info(int method, unsigned long check, length_t len, int cont) {
|
||||
strncpy(tag, "<...>", max + 1);
|
||||
else if (g.hname == NULL) {
|
||||
n = strlen(g.inf) - compressed_suffix(g.inf);
|
||||
- strncpy(tag, g.inf, n > max + 1 ? max + 1 : n);
|
||||
+ memcpy(tag, g.inf, n > max + 1 ? max + 1 : n);
|
||||
if (strcmp(g.inf + n, ".tgz") == 0 && n < max + 1)
|
||||
strncpy(tag + n, ".tar", max + 1 - n);
|
||||
}
|
||||
@@ -3802,37 +3809,33 @@ local char *justname(char *path) {
|
||||
return p == NULL ? path : p + 1;
|
||||
}
|
||||
|
||||
-#pragma GCC diagnostic push
|
||||
-#pragma GCC diagnostic ignored "-Wunused-result"
|
||||
-
|
||||
// Copy file attributes, from -> to, as best we can. This is best effort, so no
|
||||
// errors are reported. The mode bits, including suid, sgid, and the sticky bit
|
||||
// are copied (if allowed), the owner's user id and group id are copied (again
|
||||
// if allowed), and the access and modify times are copied.
|
||||
-local void copymeta(char *from, char *to) {
|
||||
+local int copymeta(char *from, char *to) {
|
||||
struct stat st;
|
||||
struct timeval times[2];
|
||||
|
||||
// get all of from's Unix meta data, return if not a regular file
|
||||
if (stat(from, &st) != 0 || (st.st_mode & S_IFMT) != S_IFREG)
|
||||
- return;
|
||||
+ return -4;
|
||||
|
||||
// set to's mode bits, ignore errors
|
||||
- (void)chmod(to, st.st_mode & 07777);
|
||||
+ int ret = chmod(to, st.st_mode & 07777);
|
||||
|
||||
// copy owner's user and group, ignore errors
|
||||
- (void)chown(to, st.st_uid, st.st_gid);
|
||||
+ ret += chown(to, st.st_uid, st.st_gid);
|
||||
|
||||
// copy access and modify times, ignore errors
|
||||
times[0].tv_sec = st.st_atime;
|
||||
times[0].tv_usec = 0;
|
||||
times[1].tv_sec = st.st_mtime;
|
||||
times[1].tv_usec = 0;
|
||||
- (void)utimes(to, times);
|
||||
+ ret += utimes(to, times);
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
-#pragma GCC diagnostic pop
|
||||
-
|
||||
// Set the access and modify times of fd to t.
|
||||
local void touch(char *path, time_t t) {
|
||||
struct timeval times[2];
|
||||
@@ -4430,6 +4433,7 @@ local int option(char *arg) {
|
||||
puts("Subject to the terms of the zlib license.");
|
||||
puts("No warranty is provided or implied.");
|
||||
exit(0);
|
||||
+ break; // avoid warning
|
||||
case 'M': g.headis |= 0xa; break;
|
||||
case 'N': g.headis = 0xf; break;
|
||||
#ifndef NOZOPFLI
|
||||
@@ -4443,13 +4447,16 @@ local int option(char *arg) {
|
||||
if (g.verbosity > 1)
|
||||
printf("zlib %s\n", zlibVersion());
|
||||
exit(0);
|
||||
+ break; // avoid warning
|
||||
case 'Y': g.sync = 1; break;
|
||||
case 'Z':
|
||||
throw(EINVAL, "invalid option: LZW output not supported: %s",
|
||||
bad);
|
||||
+ break; // avoid warning
|
||||
case 'a':
|
||||
throw(EINVAL, "invalid option: no ascii conversion: %s",
|
||||
bad);
|
||||
+ break; // avoid warning
|
||||
case 'b': get = 1; break;
|
||||
case 'c': g.pipeout = 1; break;
|
||||
case 'd': if (!g.decode) g.headis >>= 2; g.decode = 1; break;
|
||||
diff --git a/try.h b/try.h
|
||||
index 03289dd..3009f7d 100644
|
||||
--- a/try.h
|
||||
+++ b/try.h
|
||||
@@ -304,8 +304,8 @@ struct try_s_ {
|
||||
# define try_stack_ ((try_t_ *)pthread_getspecific(try_key_))
|
||||
# define try_stack_set_(next) \
|
||||
do { \
|
||||
- int try_ret_ = pthread_setspecific(try_key_, next); \
|
||||
- assert(try_ret_ == 0 && "try: pthread_setspecific() failed"); \
|
||||
+ assert(pthread_setspecific(try_key_, next) == 0 && \
|
||||
+ "try: pthread_setspecific() failed"); \
|
||||
} while (0)
|
||||
#else /* !PTHREAD_ONCE_INIT */
|
||||
extern try_t_ *try_stack_;
|
||||
@@ -320,7 +320,7 @@ struct try_s_ {
|
||||
#define TRY_TRY_ \
|
||||
do { \
|
||||
try_t_ try_this_; \
|
||||
- int try_pushed_ = 1; \
|
||||
+ volatile int try_pushed_ = 1; \
|
||||
try_this_.ball.code = 0; \
|
||||
try_this_.ball.free = 0; \
|
||||
try_this_.ball.why = NULL; \
|
||||
diff --git a/zopfli/src/zopfli/cache.c b/zopfli/src/zopfli/cache.c
|
||||
index f5559c3..e5934df 100644
|
||||
--- a/zopfli/src/zopfli/cache.c
|
||||
+++ b/zopfli/src/zopfli/cache.c
|
||||
@@ -33,7 +33,7 @@ void ZopfliInitCache(size_t blocksize, ZopfliLongestMatchCache* lmc) {
|
||||
lmc->sublen = (unsigned char*)malloc(ZOPFLI_CACHE_LENGTH * 3 * blocksize);
|
||||
if(lmc->sublen == NULL) {
|
||||
fprintf(stderr,
|
||||
- "Error: Out of memory. Tried allocating %lu bytes of memory.\n",
|
||||
+ "Error: Out of memory. Tried allocating %zu bytes of memory.\n",
|
||||
ZOPFLI_CACHE_LENGTH * 3 * blocksize);
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
diff --git a/zopfli/src/zopfli/deflate.c b/zopfli/src/zopfli/deflate.c
|
||||
index abe7360..f7b62e4 100644
|
||||
--- a/zopfli/src/zopfli/deflate.c
|
||||
+++ b/zopfli/src/zopfli/deflate.c
|
||||
@@ -431,22 +431,23 @@ Changes the population counts in a way that the consequent Huffman tree
|
||||
compression, especially its rle-part, will be more likely to compress this data
|
||||
more efficiently. length contains the size of the histogram.
|
||||
*/
|
||||
-void OptimizeHuffmanForRle(int length, size_t* counts) {
|
||||
- int i, k, stride;
|
||||
+void OptimizeHuffmanForRle(unsigned length, size_t* counts) {
|
||||
+ unsigned i;
|
||||
+ int k, stride;
|
||||
size_t symbol, sum, limit;
|
||||
int* good_for_rle;
|
||||
|
||||
/* 1) We don't want to touch the trailing zeros. We may break the
|
||||
rules of the format by adding more data in the distance codes. */
|
||||
- for (; length >= 0; --length) {
|
||||
- if (length == 0) {
|
||||
- return;
|
||||
- }
|
||||
+ for (; length > 0; --length) {
|
||||
if (counts[length - 1] != 0) {
|
||||
/* Now counts[0..length - 1] does not have trailing zeros. */
|
||||
break;
|
||||
}
|
||||
}
|
||||
+ if (length == 0) {
|
||||
+ return;
|
||||
+ }
|
||||
/* 2) Let's mark all population counts that already can be encoded
|
||||
with an rle code.*/
|
||||
good_for_rle = (int*)malloc(length * sizeof(int));
|
@ -0,0 +1,49 @@
|
||||
From f310c0868634a1dbacdcdcb2dbce9501a8a87868 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Adler <madler@alumni.caltech.edu>
|
||||
Date: Sun, 24 Jan 2021 21:39:26 -0800
|
||||
Subject: [PATCH] Fix usage of x2nmodp() when compiling for no threads.
|
||||
|
||||
---
|
||||
pigz.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/pigz.c b/pigz.c
|
||||
index e5a094a..7430e1e 100644
|
||||
--- a/pigz.c
|
||||
+++ b/pigz.c
|
||||
@@ -545,7 +545,9 @@ local struct {
|
||||
int procs; // maximum number of compression threads (>= 1)
|
||||
int setdict; // true to initialize dictionary in each thread
|
||||
size_t block; // uncompressed input size per thread (>= 32K)
|
||||
+#ifndef NOTHREAD
|
||||
crc_t shift; // pre-calculated CRC-32 shift for length block
|
||||
+#endif
|
||||
|
||||
// saved gzip/zip header data for decompression, testing, and listing
|
||||
time_t stamp; // time stamp from gzip header
|
||||
@@ -4286,13 +4288,13 @@ local void defaults(void) {
|
||||
// blocksplittingmax = 15
|
||||
ZopfliInitOptions(&g.zopts);
|
||||
#endif
|
||||
+ g.block = 131072UL; // 128K
|
||||
#ifdef NOTHREAD
|
||||
g.procs = 1;
|
||||
#else
|
||||
g.procs = nprocs(8);
|
||||
-#endif
|
||||
- g.block = 131072UL; // 128K
|
||||
g.shift = x2nmodp(g.block, 3);
|
||||
+#endif
|
||||
g.rsync = 0; // don't do rsync blocking
|
||||
g.setdict = 1; // initialize dictionary each thread
|
||||
g.verbosity = 1; // normal message level
|
||||
@@ -4480,7 +4482,9 @@ local int option(char *arg) {
|
||||
if (get == 1) {
|
||||
n = num(arg);
|
||||
g.block = n << 10; // chunk size
|
||||
+#ifndef NOTHREAD
|
||||
g.shift = x2nmodp(g.block, 3);
|
||||
+#endif
|
||||
if (g.block < DICT)
|
||||
throw(EINVAL, "block size too small (must be >= 32K)");
|
||||
if (n != g.block >> 10 ||
|
@ -0,0 +1,158 @@
|
||||
Name: pigz
|
||||
Version: 2.5
|
||||
Release: 4%{?dist}
|
||||
Summary: Parallel implementation of gzip
|
||||
License: zlib
|
||||
URL: https://www.zlib.net/pigz/
|
||||
Source0: https://www.zlib.net/%{name}/%{name}-%{version}.tar.gz
|
||||
|
||||
# [PATCH0] Portability improvements
|
||||
Patch0: c9de6c53dcf3eb1071c7999c8accc43ef2b3f458.patch
|
||||
# [PATCH1] Fix usage of x2nmodp() when compiling for no threads
|
||||
Patch1: f310c0868634a1dbacdcdcb2dbce9501a8a87868.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: make
|
||||
BuildRequires: ncompress
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
%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.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%make_build CFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS"
|
||||
|
||||
%install
|
||||
install -p -D pigz $RPM_BUILD_ROOT%{_bindir}/pigz
|
||||
pushd $RPM_BUILD_ROOT%{_bindir}; ln pigz unpigz; popd
|
||||
install -p -D pigz.1 -m 0644 $RPM_BUILD_ROOT%{_datadir}/man/man1/pigz.1
|
||||
|
||||
%check
|
||||
make tests CFLAGS="$RPM_OPT_FLAGS"
|
||||
|
||||
%files
|
||||
%doc pigz.pdf README
|
||||
%{_bindir}/pigz
|
||||
%{_bindir}/unpigz
|
||||
%{_datadir}/man/man1/pigz.*
|
||||
|
||||
%changelog
|
||||
* Wed Oct 06 2021 Prarit Bhargava <prarit@redhat.com> - 2.5-4
|
||||
- Fix annocheck erros [1956998]
|
||||
|
||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.5-3
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2.5-2
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Mon Feb 01 2021 Filipe Rosset <rosset.filipe@gmail.com> - 2.5-1
|
||||
- Update to 2.5 fixes rhbz#1919623
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Tue Jan 02 2018 Adel Gadllah <adel.gadllah@gmail.com> - 2.4-1
|
||||
- New upstream release
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Sat Dec 03 2016 Filipe Rosset <rosset.filipe@gmail.com> - 2.3.4-1
|
||||
- Rebuilt for new upstream release 2.3.4, fixes rhbz #1381067
|
||||
|
||||
* Sat Dec 03 2016 Filipe Rosset <rosset.filipe@gmail.com> - 2.3.3-5
|
||||
- Spec clean up
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 2.3.3-2
|
||||
- Rebuilt for Fedora 23 Change
|
||||
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
|
||||
|
||||
* Fri Jan 30 2015 Orion Poplawski <orion@cora.nwra.com> - 2.3.3-1
|
||||
- Update to 2.3.3, fixes CVE-2015-1191 (bug #1181045)
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Mon May 19 2014 Adel Gadllah <adel.gadllah@gmail.com> - 2.3.1-1
|
||||
- Update to 2.3.1
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.5-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Tue Jul 31 2012 Ville Skyttä <ville.skytta@iki.fi> - 2.2.5-1
|
||||
- Update to 2.2.5.
|
||||
- Hardlink binaries instead of shipping duplicates (#785834).
|
||||
- Build with $RPM_LD_FLAGS.
|
||||
- Run test suite during build.
|
||||
|
||||
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Wed Mar 14 2012 Adel Gadllah <adel.gadllah@gmail.com> - 2.2.4-1
|
||||
- New upstream release
|
||||
|
||||
* Wed Jan 18 2012 Adel Gadllah <adel.gadllah@gmail.com> - 2.2.3-1
|
||||
- New upstream release
|
||||
|
||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.6-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Mon Apr 26 2010 Adel Gadllah <adel.gadllah@gmail.com> - 2.1.6-1
|
||||
- New upstream release
|
||||
|
||||
* Sat Sep 26 2009 Adel Gadllah <adel.gadllah@gmail.com> - 2.1.5-3
|
||||
- Preserve timestamps
|
||||
|
||||
* Sat Sep 26 2009 Adel Gadllah <adel.gadllah@gmail.com> - 2.1.5-2
|
||||
- Fix license tag
|
||||
|
||||
* Fri Sep 25 2009 Adel Gadllah <adel.gadllah@gmail.com> - 2.1.5-1
|
||||
- Initial package
|
||||
|
Loading…
Reference in new issue