[cpdup] - Update to 1.17
Michel Alexandre Salim
salimma at fedoraproject.org
Tue Nov 2 18:37:57 UTC 2010
commit e6c4c16fefe36038841b810f737e7dc48d9d906e
Author: Michel Alexandre Salim <salimma at fedoraproject.org>
Date: Tue Nov 2 19:33:31 2010 +0100
- Update to 1.17
.gitignore | 2 +-
Makefile.linux | 4 +-
cpdup-1.14-typos.patch | 38 ----------------------------------
cpdup-1.17-glibc.patch | 53 ++++++++++++++++++++++++++++++++++++++++++++++++
cpdup-1.17-typos.patch | 20 ++++++++++++++++++
cpdup.spec | 29 +++++++++++++++++---------
sources | 2 +-
strlcpy.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++
8 files changed, 149 insertions(+), 52 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 1d2e2e1..e2d6fc0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-cpdup-1.14.tgz
+/cpdup-1.17.tgz
diff --git a/Makefile.linux b/Makefile.linux
index 8a62832..acc844b 100644
--- a/Makefile.linux
+++ b/Makefile.linux
@@ -4,9 +4,9 @@ BINDIR=${PREFIX}/bin
MANDIR=${PREFIX}/share/man
build:
- ${CC} ${CFLAGS} -D__cpdup_unused= -D_GNU_SOURCE -D__USE_FILE_OFFSET64 \
+ ${CC} ${CFLAGS} -D__sun -D_GNU_SOURCE -D__USE_FILE_OFFSET64 \
-DNOMD5 -c *.c
- ${CC} ${CFLAGS} -D__cpdup_unused= -D_GNU_SOURCE -D__USE_FILE_OFFSET64 \
+ ${CC} ${CFLAGS} -D__sun -D_GNU_SOURCE -D__USE_FILE_OFFSET64 \
-DNOMD5 *.o -o cpdup
install:
diff --git a/cpdup-1.17-glibc.patch b/cpdup-1.17-glibc.patch
new file mode 100644
index 0000000..7084ba2
--- /dev/null
+++ b/cpdup-1.17-glibc.patch
@@ -0,0 +1,53 @@
+--- cpdup/compat_sun.c.glibc 2010-07-19 21:11:48.000000000 +0200
++++ cpdup/compat_sun.c 2010-11-02 19:22:14.660562440 +0100
+@@ -5,38 +5,6 @@
+ #include "compat_sun.h"
+ #include <stdlib.h>
+
+-int
+-vasprintf(char **str, const char *format, va_list ap)
+-{
+- char *newstr;
+- char dummy[2];
+- int result;
+-
+- if ((result = vsnprintf(dummy, 2, format, ap)) < 0) {
+- *str = NULL;
+- return (result);
+- }
+- if ((*str = malloc(result + 1)) == NULL)
+- return (-1);
+- if ((result = vsnprintf(*str, result + 1, format, ap)) < 0) {
+- free(*str);
+- *str = NULL;
+- }
+- return (result);
+-}
+-
+-int
+-asprintf(char **str, const char *format, ...)
+-{
+- va_list ap;
+- int result;
+-
+- va_start(ap, format);
+- result = vasprintf(str, format, ap);
+- va_end(ap);
+- return (result);
+-}
+-
+ #ifndef NOMD5
+
+ #include <sys/types.h>
+--- cpdup/compat_sun.h.glibc 2010-07-05 20:02:07.000000000 +0200
++++ cpdup/compat_sun.h 2010-11-02 19:21:51.302922733 +0100
+@@ -4,8 +4,7 @@
+ #include <stdio.h>
+ #include <stdarg.h>
+
+-int vasprintf(char **str, const char *format, va_list ap);
+-int asprintf(char **str, const char *format, ...);
++size_t strlcpy(char *dst, const char *src, size_t size);
+
+ #ifndef NOMD5
+
diff --git a/cpdup-1.17-typos.patch b/cpdup-1.17-typos.patch
new file mode 100644
index 0000000..8abc0ec
--- /dev/null
+++ b/cpdup-1.17-typos.patch
@@ -0,0 +1,20 @@
+--- cpdup/cpdup.1.typos 2010-07-19 21:19:25.000000000 +0200
++++ cpdup/cpdup.1 2010-11-02 18:47:25.992778554 +0100
+@@ -40,7 +40,7 @@
+ The
+ .Nm
+ utility makes an exact mirror copy of the source in the destination, creating
+-and deleting files and directories as necessary. UTimes, hardlinks,
++and deleting files and directories as necessary. utimes, hardlinks,
+ softlinks, devices, permissions, and flags are mirrored. By default,
+ .Nm
+ asks for confirmation if any file or directory needs to be removed from
+@@ -118,7 +118,7 @@
+ .It Fl o
+ Do not remove any files, just overwrite/add.
+ .It Fl m
+-Generate and maintain a MD5 checkfile called
++Generate and maintain an MD5 checkfile called
+ .Pa \&.MD5.CHECKSUMS
+ in each directory on the source
+ and do an MD5 check on each file of the destination when the destination
diff --git a/cpdup.spec b/cpdup.spec
index 55c12ce..24ef705 100644
--- a/cpdup.spec
+++ b/cpdup.spec
@@ -1,5 +1,5 @@
Name: cpdup
-Version: 1.14
+Version: 1.17
Release: 1%{?dist}
Summary: Filesystem mirroring utility
@@ -7,10 +7,11 @@ Group: Applications/Archiving
License: BSD
URL: http://apollo.backplane.com/FreeSrc/
Source0: http://apollo.backplane.com/FreeSrc/cpdup-%{version}.tgz
-Source1: Makefile.linux
+Source1: strlcpy.c
+Source2: Makefile.linux
Patch0: cpdup-1.14-gcc44.patch
-Patch1: cpdup-1.11-unused.patch
-Patch2: cpdup-1.14-typos.patch
+Patch1: cpdup-1.17-typos.patch
+Patch2: cpdup-1.17-glibc.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#BuildRequires:
@@ -31,19 +32,24 @@ destination directory with a file.
%prep
%setup -q -n %{name}
+cp -p %{SOURCE1} .
%patch0 -p1 -b .gcc44
-%patch1 -p1 -b .unused
-%patch2 -p1 -b .typos
-rm md5.c
+%patch1 -p1 -b .typos
+%patch2 -p1 -b .glibc
+# we don't want this to get compiled
+mv md5.c{,.off}
+# make scripts non-executable for cleanliness
+chmod -x scripts/*
+
%build
-make %{?_smp_mflags} CFLAGS="${RPM_OPT_FLAGS}" -f %{SOURCE1}
+make %{?_smp_mflags} CFLAGS="${RPM_OPT_FLAGS}" -f %{SOURCE2}
%install
rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT -f %{SOURCE1}
+make install DESTDIR=$RPM_BUILD_ROOT -f %{SOURCE2}
%clean
@@ -52,13 +58,16 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
-%doc BACKUPS
+%doc BACKUPS PORTING scripts
%{_bindir}/*
%{_mandir}/man1/*
%changelog
+* Tue Nov 2 2010 Michel Salim <salimma at fedoraproject.org> - 1.17-1
+- Update to 1.17
+
* Sat Aug 22 2009 Michel Salim <salimma at fedoraproject.org> - 1.14-1
- Update to 1.14
diff --git a/sources b/sources
index f4f0fa0..0609dd8 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-872f41683dd0f6d32bff111e22ad50f7 cpdup-1.14.tgz
+ca28bc9426049efe8ad761831487a244 cpdup-1.17.tgz
diff --git a/strlcpy.c b/strlcpy.c
new file mode 100644
index 0000000..b5ada2d
--- /dev/null
+++ b/strlcpy.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 1998 Todd C. Miller <Todd.Miller at courtesan.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $
+ * $FreeBSD: src/lib/libc/string/strlcpy.c,v 1.10 2008/10/19 10:11:35 delphij Exp $
+ * $DragonFly: src/lib/libc/string/strlcpy.c,v 1.4 2005/09/18 16:32:34 asmodai Exp $
+ */
+
+#include <sys/types.h>
+#include <string.h>
+
+/*
+ * Copy src to string dst of size siz. At most siz-1 characters
+ * will be copied. Always NUL terminates (unless siz == 0).
+ * Returns strlen(src); if retval >= siz, truncation occurred.
+ */
+size_t
+strlcpy(char *dst, const char *src, size_t siz)
+{
+ char *d = dst;
+ const char *s = src;
+ size_t n = siz;
+
+ /* Copy as many bytes as will fit */
+ if (n != 0) {
+ while (--n != 0) {
+ if ((*d++ = *s++) == '\0')
+ break;
+ }
+ }
+
+ /* Not enough room in dst, add NUL and traverse rest of src */
+ if (n == 0) {
+ if (siz != 0)
+ *d = '\0'; /* NUL-terminate dst */
+ while (*s++)
+ ;
+ }
+
+ return(s - src - 1); /* count does not include NUL */
+}
More information about the scm-commits
mailing list