[rcs] Update to upstream 5.8 Dropped patches -security, -DESTDIR and -option that are not needed anymore R
Jan Horak
hhorak at fedoraproject.org
Thu Sep 8 10:16:34 UTC 2011
commit 8a6473b761597ba31ffbe35b37ceb3dbf2a832da
Author: Honza Horák <hhorak at redhat.com>
Date: Thu Sep 8 12:15:46 2011 +0200
Update to upstream 5.8
Dropped patches -security, -DESTDIR and -option that are not needed
anymore
Run tests in %check
.gitignore | 1 +
rcs-5.7-DESTDIR.patch | 44 ----------
rcs-5.7-build-tweaks.patch | 114 -------------------------
rcs-5.7-newsvnsyntax.patch | 37 --------
rcs-5.7-option.patch | 11 ---
rcs-5.7-sameuserlocks.patch | 124 ---------------------------
rcs-5.7-security.patch | 64 --------------
rcs-5.8-build-tweaks.patch | 15 +++
rcs-5.8-newsvnsyntax.patch | 42 +++++++++
rcs-5.8-sameuserlocks.patch | 198 +++++++++++++++++++++++++++++++++++++++++++
rcs.spec | 48 +++++------
sources | 2 +-
12 files changed, 279 insertions(+), 421 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 3f41df4..5450abc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
rcs-5.7.tar.gz
+/rcs-5.8.tar.gz
diff --git a/rcs-5.8-build-tweaks.patch b/rcs-5.8-build-tweaks.patch
new file mode 100644
index 0000000..130d452
--- /dev/null
+++ b/rcs-5.8-build-tweaks.patch
@@ -0,0 +1,15 @@
+diff -up rcs-5.8/man/Makefile.in.build-tweaks rcs-5.8/man/Makefile.in
+--- rcs-5.8/man/Makefile.in.build-tweaks 2011-08-28 13:14:24.000000000 +0200
++++ rcs-5.8/man/Makefile.in 2011-09-07 15:48:30.485492906 +0200
+@@ -876,9 +876,9 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ dist_man_MANS = ci.1 co.1 ident.1 merge.1 rcs.1 rcsclean.1 \
+- rcsdiff.1 rcsfile.5 rcsintro.1 rcsmerge.1 rlog.1
++ rcsdiff.1 rcsfile.5 rcsintro.1 rcsmerge.1 rlog.1 rcsfreeze.1
+
+-dist_noinst_MANS = rcsfreeze.1
++#dist_noinst_MANS =
+ BUILT_SOURCES = REL $(dist_noinst_MANS)
+ bits = b-base \
+ b-emptylogmessage \
diff --git a/rcs-5.8-newsvnsyntax.patch b/rcs-5.8-newsvnsyntax.patch
new file mode 100644
index 0000000..c63f884
--- /dev/null
+++ b/rcs-5.8-newsvnsyntax.patch
@@ -0,0 +1,42 @@
+diff -up rcs-5.8/src/ident.c.newsvnsyntax rcs-5.8/src/ident.c
+--- rcs-5.8/src/ident.c.newsvnsyntax 2011-01-07 13:27:18.000000000 +0100
++++ rcs-5.8/src/ident.c 2011-09-08 10:53:34.064837699 +0200
+@@ -41,14 +41,20 @@ match (register FILE *fp)
+ char line[BUFSIZ];
+ register int c;
+ register char *tp;
++ int COLON_C = 0;
++ int MAX_COLON = 1;
+
+ tp = line;
+- while ((c = getc (fp)) != VDELIM)
++ while ((c = getc (fp)) && (COLON_C < MAX_COLON))
+ {
+ if (c == EOF && feof (fp) | ferror (fp))
+ return c;
+ switch (ctab[c])
+ {
++ case COLON:
++ *tp++ = c;
++ COLON_C++;
++ break;
+ case LETTER:
+ case Letter:
+ *tp++ = c;
+@@ -62,7 +68,15 @@ match (register FILE *fp)
+ }
+ if (tp == line)
+ return c;
+- *tp++ = c;
++ if (c == ' ')
++ {
++ ungetc(c,fp);
++ }
++ else
++ {
++ *tp++ = c;
++ }
++
+ if ((c = getc (fp)) != ' ')
+ return c ? c : '\n';
+ *tp++ = c;
diff --git a/rcs-5.8-sameuserlocks.patch b/rcs-5.8-sameuserlocks.patch
new file mode 100644
index 0000000..d5696be
--- /dev/null
+++ b/rcs-5.8-sameuserlocks.patch
@@ -0,0 +1,198 @@
+diff -up rcs-5.8/man/co.1in.sameuserlocks rcs-5.8/man/co.1in
+--- rcs-5.8/man/co.1in.sameuserlocks 2011-01-07 13:27:18.000000000 +0100
++++ rcs-5.8/man/co.1in 2011-09-08 11:41:09.545810466 +0200
+@@ -318,6 +318,10 @@ Use this option with care; it can confus
+ retrieves the latest revision on the selected branch whose state is set to
+ .IR state .
+ .TP
++.BI \-S
++Turns on same user locks. When this is enabled the user cannot check out
++the same file twice.
++.TP
+ .B \-T
+ Preserve the modification time on the \*o
+ even if the \*o changes because a lock is added or removed.
+diff -up rcs-5.8/src/b-excwho.c.sameuserlocks rcs-5.8/src/b-excwho.c
+--- rcs-5.8/src/b-excwho.c.sameuserlocks 2011-01-07 13:27:18.000000000 +0100
++++ rcs-5.8/src/b-excwho.c 2011-09-08 11:41:09.546810466 +0200
+@@ -205,9 +205,9 @@ getcaller (void)
+ }
+
+ bool
+-caller_login_p (char const *login)
++caller_login_p (char const *login, int sameuserlocks)
+ {
+- return STR_SAME (getcaller (), login);
++ return STR_SAME (getcaller (), login) && !sameuserlocks;
+ }
+
+ struct link *
+@@ -255,7 +255,7 @@ lock_drop (struct link *box, struct link
+ }
+
+ int
+-addlock (struct delta *delta, bool verbose)
++addlock (struct delta *delta, bool verbose, int sameuserlocks)
+ /* Add a lock held by caller to ‘delta’ and return 1 if successful.
+ Print an error message if ‘verbose’ and return -1 if no lock is
+ added because ‘delta’ is locked by somebody other than caller.
+@@ -266,7 +266,7 @@ addlock (struct delta *delta, bool verbo
+
+ if (was)
+ {
+- if (caller_login_p (was->login))
++ if (caller_login_p (was->login, sameuserlocks))
+ return 0;
+ if (verbose)
+ RERR ("Revision %s is already locked by %s.", delta->num, was->login);
+diff -up rcs-5.8/src/b-excwho.h.sameuserlocks rcs-5.8/src/b-excwho.h
+--- rcs-5.8/src/b-excwho.h.sameuserlocks 2011-01-07 13:27:18.000000000 +0100
++++ rcs-5.8/src/b-excwho.h 2011-09-08 11:43:06.424809351 +0200
+@@ -27,11 +27,11 @@ extern void seteid (void);
+ extern void setrid (void);
+ extern char const *getusername (bool suspicious);
+ extern char const *getcaller (void);
+-extern bool caller_login_p (char const *login);
++extern bool caller_login_p (char const *login, int sameuserlocks);
+ extern struct link *lock_memq (struct link *ls, bool loginp, void const *x);
+ extern struct rcslock const *lock_on (struct delta const *delta);
+ extern void lock_drop (struct link *box, struct link *tp);
+-extern int addlock (struct delta *delta, bool verbose);
++extern int addlock (struct delta *delta, bool verbose, int sameuserlocks);
+
+ /* Idioms. */
+
+diff -up rcs-5.8/src/ci.c.sameuserlocks rcs-5.8/src/ci.c
+--- rcs-5.8/src/ci.c.sameuserlocks 2011-08-08 14:00:25.000000000 +0200
++++ rcs-5.8/src/ci.c 2011-09-08 11:41:09.585810465 +0200
+@@ -153,7 +153,7 @@ removelock (struct delta *delta)
+ return -1;
+ }
+ rl = tp->next->entry;
+- if (! caller_login_p (rl->login))
++ if (! caller_login_p (rl->login, false))
+ {
+ RERR ("revision %s locked by %s", num, rl->login);
+ return -1;
+@@ -260,7 +260,7 @@ addbranch (struct delta *branchpoint, st
+ newbranch.entry = &newdelta;
+ newdelta.ilk = NULL;
+ if (branchpoint->lockedby)
+- if (caller_login_p (branchpoint->lockedby))
++ if (caller_login_p (branchpoint->lockedby, false))
+ return removelock (branchpoint); /* This returns 1. */
+ return removedlock;
+ }
+@@ -1006,7 +1006,7 @@ main (int argc, char **argv)
+ continue;
+ }
+
+- if (lockflag && addlock (&newdelta, true) < 0)
++ if (lockflag && addlock (&newdelta, true, false) < 0)
+ continue;
+
+ if (keepflag && (pv = PREV (name)))
+diff -up rcs-5.8/src/co.c.sameuserlocks rcs-5.8/src/co.c
+--- rcs-5.8/src/co.c.sameuserlocks 2011-08-08 14:00:25.000000000 +0200
++++ rcs-5.8/src/co.c 2011-09-08 11:41:09.587810465 +0200
+@@ -135,7 +135,7 @@ rmlock (struct delta const *delta)
+ /* No lock on ‘delta’. */
+ return 0;
+ rl = tp->next->entry;
+- if (!caller_login_p (rl->login))
++ if (!caller_login_p (rl->login, false))
+ /* Found a lock on ‘delta’ by someone else. */
+ {
+ RERR ("revision %s locked by %s; use co -r or rcs -u",
+@@ -441,6 +441,7 @@ main (int argc, char **argv)
+ int changelock;
+ int expmode, r, workstatstat;
+ bool tostdout, Ttimeflag;
++ int sameuserlocks;
+ char finaldate[datesize];
+ #if OPEN_O_BINARY
+ int stdout_mode = 0;
+@@ -464,6 +465,7 @@ main (int argc, char **argv)
+ BE (pe) = X_DEFAULT;
+ tostdout = false;
+ Ttimeflag = false;
++ sameuserlocks = false;
+
+ argc = getRCSINIT (argc, argv, &newargv);
+ argv = newargv;
+@@ -543,6 +545,14 @@ main (int argc, char **argv)
+ }
+ break;
+
++ case 'S':
++ /*
++ * Enable strict locks (i.e. even the same user cannot
++ * re-check out a file with a lock that he owns.
++ */
++ sameuserlocks = true;
++ break;
++
+ case 'T':
+ if (*a)
+ goto unknown;
+@@ -699,7 +709,7 @@ main (int argc, char **argv)
+ /* Check reservations. */
+ changelock = lockflag < 0
+ ? rmlock (targetdelta)
+- : lockflag == 0 ? 0 : addlock (targetdelta, true);
++ : lockflag == 0 ? 0 : addlock (targetdelta, true, sameuserlocks);
+
+ if (changelock < 0
+ || (changelock && !checkaccesslist ())
+diff -up rcs-5.8/src/rcsclean.c.sameuserlocks rcs-5.8/src/rcsclean.c
+--- rcs-5.8/src/rcsclean.c.sameuserlocks 2011-08-08 14:00:25.000000000 +0200
++++ rcs-5.8/src/rcsclean.c 2011-09-08 11:41:09.588810465 +0200
+@@ -66,7 +66,7 @@ unlock (struct delta *delta)
+ struct link box, *tp;
+
+ if (delta && delta->lockedby
+- && caller_login_p (delta->lockedby)
++ && caller_login_p (delta->lockedby, false)
+ && (box.next = GROK (locks))
+ && (tp = lock_delta_memq (&box, delta)))
+ {
+diff -up rcs-5.8/src/rcs.c.sameuserlocks rcs-5.8/src/rcs.c
+--- rcs-5.8/src/rcs.c.sameuserlocks 2011-08-08 13:58:59.000000000 +0200
++++ rcs-5.8/src/rcs.c 2011-09-08 11:41:09.590810465 +0200
+@@ -495,7 +495,7 @@ breaklock (struct delta const *delta)
+ }
+ rl = tp->next->entry;
+ before = rl->login;
+- if (!caller_login_p (before)
++ if (!caller_login_p (before, false)
+ && !sendmail (num, before))
+ {
+ RERR ("revision %s still locked by %s", num, before);
+@@ -794,8 +794,8 @@ setlock (char const *rev, struct wlink *
+ RERR ("can't lock nonexisting revision %s", numrev.string);
+ else
+ {
+- if ((r = addlock (target, false)) < 0 && breaklock (target))
+- r = addlock (target, true);
++ if ((r = addlock (target, false, false)) < 0 && breaklock (target))
++ r = addlock (target, true, false);
+ if (0 <= r)
+ {
+ if (r)
+diff -up rcs-5.8/src/rcsedit.c.sameuserlocks rcs-5.8/src/rcsedit.c
+--- rcs-5.8/src/rcsedit.c.sameuserlocks 2011-08-08 14:00:25.000000000 +0200
++++ rcs-5.8/src/rcsedit.c 2011-09-08 11:41:09.591810465 +0200
+@@ -1086,11 +1086,11 @@ checkaccesslist (void)
+ {
+ struct link *ls = GROK (access);
+
+- if (!ls || stat_mine_p (&REPO (stat)) || caller_login_p ("root"))
++ if (!ls || stat_mine_p (&REPO (stat)) || caller_login_p ("root", false))
+ return true;
+
+ for (; ls; ls = ls->next)
+- if (caller_login_p (ls->entry))
++ if (caller_login_p (ls->entry, false))
+ return true;
+
+ RERR ("user %s not on the access list", getcaller ());
diff --git a/rcs.spec b/rcs.spec
index 9a72ac8..4dfe4ce 100644
--- a/rcs.spec
+++ b/rcs.spec
@@ -1,17 +1,14 @@
Summary: Revision Control System (RCS) file version management tools
Name: rcs
-Version: 5.7
-Release: 37%{?dist}
-License: GPLv2+
+Version: 5.8
+Release: 1%{?dist}
+License: GPLv3+
Group: Development/Tools
URL: http://www.gnu.org/software/rcs/
Source: ftp://ftp.gnu.org/gnu/rcs/%{name}-%{version}.tar.gz
-Patch0: rcs-5.7-build-tweaks.patch
-Patch1: rcs-5.7-security.patch
-Patch2: rcs-5.7-sameuserlocks.patch
-Patch3: rcs-5.7-option.patch
-Patch4: rcs-5.7-newsvnsyntax.patch
-Patch5: rcs-5.7-DESTDIR.patch
+Patch0: rcs-5.8-build-tweaks.patch
+Patch1: rcs-5.8-sameuserlocks.patch
+Patch2: rcs-5.8-newsvnsyntax.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: autoconf
BuildRequires: groff
@@ -32,43 +29,42 @@ different versions of files.
%prep
%setup -q
-%patch0 -p1 -b .debiantweaks
-%patch1 -p1 -b .security
-%patch2 -p1 -b .sameuserlocks
-%patch3 -p1 -b .option
-%patch4 -p1 -b .newsvnsyntax
-%patch5 -p1 -b .DESTDIR
+%patch0 -p1 -b .build-tweaks
+%patch1 -p1 -b .sameuserlocks
+%patch2 -p1 -b .newsvnsyntax
autoconf
%build
%configure --with-diffutils
make %{?_smp_mflags}
-for f in rcs rcs_func ; do
- groff -p -Tps -ms $f.ms | ps2pdf - $f.pdf
-done
%install
rm -rf ${RPM_BUILD_ROOT}
-make DESTDIR=${RPM_BUILD_ROOT} install
+%makeinstall
+
+install -m 755 src/rcsfreeze $RPM_BUILD_ROOT%{_bindir}
+
+rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
%check
-# hack: make path to "co" relative in order to test the built one; the real
-# executables were already installed out of the way in %%install
-sed -i -e 's|"%{_bindir}/co"|"co"|' src/conf.h ; make %{?_smp_mflags} -C src
-PATH="`pwd`/src:${PATH}" make installdebug
-# ...and hack it back for sources in -debuginfo
-sed -i -e 's|"co"|"%{_bindir}/co"|' src/conf.h
+make check
%clean
rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(-,root,root,-)
-%doc ChangeLog COPYING CREDITS NEWS rcs_func.pdf rcs.pdf README REFS
+%doc ChangeLog COPYING THANKS NEWS README
%{_bindir}/*
%{_mandir}/man[15]/*
+%{_infodir}/*
%changelog
+* Thu Sep 08 2011 Honza Horak <hhorak at redhat.com> - 5.8-1
+- Update to upstream 5.8
+ Dropped patches -security, -DESTDIR and -option that are not needed
+ anymore
+
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.7-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
diff --git a/sources b/sources
index 8ce09ce..05311b5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-4c8e896f2d2446fa593c6f1601a4fb75 rcs-5.7.tar.gz
+c0fa1f3528418cee83b7e6e06fc87957 rcs-5.8.tar.gz
More information about the scm-commits
mailing list