--- rcs-5.7.orig/debian/rules +++ rcs-5.7/debian/rules @@ -0,0 +1,80 @@ +#!/usr/bin/make -f + +CFLAGS = -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +CFLAGS += -O0 +else +CFLAGS += -O2 +endif + +refresh-patches: + @dh_testdir + @echo 'refreshing debian/patches:' + @rm -rf '$(CURDIR)'/debian/patches + @mkdir -p '$(CURDIR)'/debian/patches + @cd '$(CURDIR)'/debian/patches && \ + git format-patch -N upstream..upstream+patches + @echo . + +PATCH_OPTS := -p1 -E --no-backup-if-mismatch + +patch: patch-stamp +patch-stamp: + dh_testdir + set -e; [ -f patch-stamp ] || \ + for f in `ls -1 debian/patches/*.patch || :`; do \ + patch $(PATCH_OPTS) <$$f >/dev/null; \ + done + touch $@ + +unpatch: + dh_testdir + set -e; [ ! -f patch-stamp ] || \ + for f in `ls -1r debian/patches/*.patch || :`; do \ + patch -R $(PATCH_OPTS) <$$f >/dev/null; \ + done + rm -f patch-stamp + +build-arch: build-arch-stamp +build-arch-stamp: patch + dh_testdir + ./configure --prefix=/usr --with-diffutils + $(MAKE) CFLAGS="$(CFLAGS)" + touch $@ + +clean: unpatch really-clean +really-clean: + dh_testdir + dh_testroot + [ ! -f Makefile ] || $(MAKE) -i distclean + dh_clean -XTAGS + +install-arch: build-arch + dh_testdir + dh_testroot + dh_prep + $(MAKE) prefix=$(CURDIR)/debian/rcs/usr install + +build-indep: +install-indep: build-indep +binary-indep: build-indep install-indep + +binary-arch: build-arch install-arch + dh_testdir + dh_testroot + dh_installdocs + dh_installchangelogs ChangeLog + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch + +.PHONY: build build-arch clean binary-arch binary-indep binary install --- rcs-5.7.orig/debian/rcs.docs +++ rcs-5.7/debian/rcs.docs @@ -0,0 +1 @@ +rcs.ps --- rcs-5.7.orig/debian/clean +++ rcs-5.7/debian/clean @@ -0,0 +1 @@ +rcs.ps --- rcs-5.7.orig/debian/control +++ rcs-5.7/debian/control @@ -0,0 +1,23 @@ +Source: rcs +Section: vcs +Priority: optional +Maintainer: Romain Francoise +Standards-Version: 3.8.1 +Build-Depends: debhelper (>= 7), groff, autoconf +Homepage: http://www.gnu.org/software/rcs/ +Vcs-Browser: http://git.debian.org/?p=users/rfrancoise/rcs.git +Vcs-Git: git://git.debian.org/git/users/rfrancoise/rcs.git + +Package: rcs +Architecture: any +Depends: ${shlibs:Depends} +Description: The GNU Revision Control System + The Revision Control System (RCS) manages multiple + revisions of files. RCS automates the storing, retrieval, + logging, identification, and merging of revisions. RCS is + useful for text that is revised frequently, for example + programs, documentation, graphics, papers, and form letters. + . + Note: this package contains certain general-purpose commands + (such as merge or ident) which may used by other programs + installed on your system. --- rcs-5.7.orig/debian/compat +++ rcs-5.7/debian/compat @@ -0,0 +1 @@ +7 --- rcs-5.7.orig/debian/copyright +++ rcs-5.7/debian/copyright @@ -0,0 +1,28 @@ +This is Debian GNU/Linux's prepackaged version of the FSF's Revision +Control System (RCS) utilities. These utilities allow you to keep +multiple revisions of one or more files in a very compact manner. RCS +is similar to, and in most respects better than, the non-free Source +Code Control System (SCCS). + +This package was assembled by Sven Rudolph +from the GNU sources available from prep.ai.mit.edu (and its numerous +mirrors) as /pub/gnu/rcs-5.7.tar.gz. It is currently maintained by +Romain Francoise . + +The upstream URL is: http://www.gnu.org/software/rcs/ + +Copyright (C) 1991,1992,1993 Free Software Foundation, Inc. + +RCS is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +RCS is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + --- rcs-5.7.orig/debian/changelog +++ rcs-5.7/debian/changelog @@ -0,0 +1,278 @@ +rcs (5.7-25) unstable; urgency=low + + * The "dogs that love the rain and chasing trains" release. + + * debian/control: + + Set section to 'vcs' to follow override. + + Set Standards-Version to 3.8.1. + * debian/rules: + + Use `dh_prep' instead of `dh_clean -k'. + + Don't number exported patches. + + * Drop Debian change added in rcs 5.7-13 (Nov 1999) which modifies the + first line of pic's output. As far as I can tell it's fine as-is, and + the change results in an extraneous line at the top of the page + (closes: #525291). + + -- Romain Francoise Tue, 16 Jun 2009 20:20:11 +0200 + +rcs (5.7-24) unstable; urgency=low + + * The "Pour all of your souls like magma into the caverns" release. + + * debian/compat: Switch to debhelper compatibility level 7. + * debian/rules: + + Don't delete *-stamp manually. + + Reverse clean/unpatch order. + * debian/clean: New file, clean up rcs.ps. + * debian/control: + + Build-depend on debhelper (>= 7). + + Set Standards-Version to 3.8.0, no changes needed. + + Mention merge program in long description (closes: #498736). + + -- Romain Francoise Sat, 13 Sep 2008 16:31:30 +0200 + +rcs (5.7-23) unstable; urgency=low + + * The "fourteen degrees below" release. + + * Repackage with debhelper and a patch system. + * debian/control: Build-depend on debhelper (>= 6). + * debian/rules: Rewrite using debhelper. + * debian/{compat,rcs.docs}: New files. + * debian/patches/: New directory, contains patches split off the previous + monolithic Debian diff. + + * Include patch by Justin Pryzby + fixing minor formatting errors in merge.1 (closes: #471243). + + -- Romain Francoise Sun, 23 Mar 2008 12:48:22 +0100 + +rcs (5.7-22) unstable; urgency=low + + * debian/control: Set Standards-Version to 3.7.3, no changes needed. + + -- Romain Francoise Sat, 26 Jan 2008 19:45:24 +0100 + +rcs (5.7-21) unstable; urgency=low + + * debian/control: Add Homepage, Vcs-Git and Vcs-Browser fields. + + -- Romain Francoise Sat, 03 Nov 2007 13:04:07 +0100 + +rcs (5.7-20) unstable; urgency=low + + * debian/control: Add support for DEB_BUILD_OPTIONS (closes: #437885). + + -- Romain Francoise Tue, 14 Aug 2007 21:24:54 +0200 + +rcs (5.7-19) unstable; urgency=low + + * debian/control: Bump Standards-Version to 3.7.2, no changes needed. + * debian/copyright: Mention the current upstream URL (closes: #436739). + * debian/rules: + + Don't ignore errors from 'make distclean'. + + Generate DEBIAN/md5sums. + * Apply patch from Brendan O'Dea adding support for + diff's '-U' option to rcsdiff (closes: #428445). + + -- Romain Francoise Sun, 12 Aug 2007 18:40:04 +0200 + +rcs (5.7-18) unstable; urgency=low + + * Apply patch from Mark D. Baushke adding support for the + new 'commitid' phrase used by newer version of CVS and CVSNT. Note + that this patch does not include support for *generating* the ids at + check in time; it only makes RCS recognize them (closes: #352527). + + -- Romain Francoise Tue, 14 Feb 2006 22:41:33 +0100 + +rcs (5.7-17) unstable; urgency=low + + * Apply patch from Aaron S. Hawley making the diff strategy of rcsdiff a + bit more subtle: previously rcsdiff considered any long option as a + case where diff(1) can produce output when the revisions are + identical, when in fact it is only the case if either the + --side-by-side or --ifdef options are used (closes: #334004). + + * Patch man/co.1 to not use 'asteriskmath', thanks to LI Daobing + (closes: #345507). + + * debian/control: Bump Standards-Version to 3.6.2.2, no changes needed. + * debian/changelog: Change formatting of entries from 1995 and 1996 to + avoid lintian warnings. + * debian/rules: `install' no longer strips .comment sections from + binaries (since version 5.93-1), so revert previous fix and strip these + sections manually. + + -- Romain Francoise Sun, 5 Feb 2006 16:34:21 +0100 + +rcs (5.7-16) unstable; urgency=low + + * Tenth anniversary release: RCS 5.7 was released on June 16th, 1995. + + * rcs.c: Check delta pointer in scanlogtext() before dereferencing it to + prevent a segmentation fault in some rare cases (discovered while + investigating #69193). + + * Ship docs in PostScript format (instead of DVI). Drop the ``Functions + of RCS'' paper since it's quite obsolete nowadays. + + * debian/rules: Delete substvars file in clean target. + * debian/changelog: Facelift previous entry. + + -- Romain Francoise Thu, 16 Jun 2005 08:14:01 +0200 + +rcs (5.7-15) unstable; urgency=low + + * Adopting this package with Mark's blessing. + * debian/control: + + Bump Standard-Version to 3.6.1.0. + + Update maintainer contact info. + * debian/copyright: Ditto. + * debian/rules: + + Adjust CFLAGS to include -g and remove useless -I directive. + + Remove LDFLAGS. + + * Patch upstream Makefile.in to use install -s (which has the nice + effect of also deleting .comment sections from the binaries). + + * Patch man/rlog.1 to document option -q which does nothing, it's + provided for consistency with other commands (closes: #69257). + + * Remove a few unneeded files from the Debian diff (.orig files, Emacs + lock files). + + -- Romain Francoise Wed, 11 May 2005 17:51:01 +0200 + +rcs (5.7-14) unstable; urgency=high + + * Fixes tmp file race (patch from OpenBSD) (Closes: #291542) + + -- Mark Baker Fri, 21 Jan 2005 18:16:20 +0000 + +rcs (5.7-13.3) unstable; urgency=high + + * NMU + * Add build-dep on autoconf. Closes: #246566. + * Fix up quoting in src/Makefile.in to make $SHELL not complain, as \" + is not interpolated inside single-quoted strings. + * Make ident accept numbers as well as letters in identifiers. + Closes: #157891 + * Remove emacs variables from the changelog as they are no longer + needed. + * Add -isp to the dpkg-gencontrol call in debian/rules to get Section + and Priority included. Closes: #190383. + + -- Tollef Fog Heen Thu, 29 Jul 2004 19:09:32 +0200 + +rcs (5.7-13.2) unstable; urgency=low + + * NMU + * can build now as root. Closes: #249106 + * priority dumped down to optional. Closes: #64438 + * fixed spelling error in debian/copyright, and location of the GPL. + + -- Andreas Barth Wed, 26 May 2004 22:21:05 +0200 + +rcs (5.7-13.1) unstable; urgency=low + + * NMU. + * Rebuild so that the .dsc file will have Build-Depends. + Closes: #187853, #176344. + * Remove /usr/doc symlink. + + -- Daniel Schepler Mon, 28 Jul 2003 16:28:32 -0700 + +rcs (5.7-13) unstable; urgency=low + + * debian/rules: install docs and manpages in /usr/share, as in FHS + * debian/control: standards version 3.1.0 + * debian/rules: format docs into dvi instead of leaving groff source. I + chose dvi as it is easier to view on screen than PS (Closes: 42277) + + -- Mark Baker Sun, 28 Nov 1999 18:31:21 +0000 + +rcs (5.7-12) unstable; urgency=low + + * man/Makefile: use sed filter to fix .lf requests on output of pic, + so zsoelim doesn't complain about them (#26150) + * debian/rules: clean target deletes rcsfile.5 so it is always rebuilt + using fix above + + -- Mark Baker Mon, 5 Jul 1999 23:24:17 +0100 + +rcs (5.7-11) unstable; urgency=low + + * Fixed temp file security hole in rcsfreeze script (#27845) + + -- Mark Baker Wed, 14 Oct 1998 22:43:47 +0100 + +rcs (5.7-10) unstable; urgency=low + + * Included rcsfreeze script (#26743) + + -- Mark Baker Wed, 16 Sep 1998 20:57:00 +0000 + +rcs (5.7-9) unstable; urgency=low + + * Fixed permissions + + -- Mark Baker Mon, 16 Feb 1998 00:07:52 +0000 + +rcs (5.7-8) unstable; urgency=low + + * Updated standards-version to 2.4.0.0 (no changes) + + -- Mark Baker Tue, 10 Feb 1998 10:54:36 +0000 + +rcs (5.7-7) unstable; urgency=low + + * Corrected maintainer field in debian/control + * Flushed configure cache and recompiled, to fix bug #11305/#11308) + + -- Mark Baker Thu, 17 Jul 1997 10:54:36 +0100 + +rcs (5.7-6) unstable; urgency=low + + * Renamed changelog.upstream to changelog, as per policy (fixes #9657) + + -- Mark Baker Sat, 12 Jul 1997 16:55:37 +0100 + +rcs (5.7-5) unstable; urgency=low + + * New maintainer + * Compiled with libc6 + * Use canonical path for sendmail (configure.in changed) + + -- Mark Baker Fri, 11 Jul 1997 21:24:48 +0100 + +rcs (5.7-4) unstable; urgency=low + + * Updated to Standards-Version 2.1.2.2. + + -- Sven Rudolph Sun, 26 Jan 1997 22:34:57 +0100 + +rcs (5.7-3) unstable; urgency=low + + * debian.rules: added multi-architecture support + + * debian.control: added Priority: and Section: + + * debian.control: corrected extended description (Bug#3619) + + -- Sven Rudolph Wed, 24 Jul 1996 23:48:20 +0100 + +rcs (5.7-2) unstable; urgency=low + + * rebuilt for elf + + -- Sven Rudolph Thu, 23 Nov 1995 23:27:13 +0100 + +rcs (5.7-1) unstable; urgency=low + + * created new Debian GNU/Linux package maintenance system files + * updated from rcs5.6.0.1 to rcs-5.7 + * received this package from Robert Sanders + + -- Sven Rudolph Tue, 5 Sep 1995 04:38:07 +0100 --- rcs-5.7.orig/debian/patches/0005-rcsdiff-option-parsing-updates.patch +++ rcs-5.7/debian/patches/0005-rcsdiff-option-parsing-updates.patch @@ -0,0 +1,32 @@ +From c75a7855a54a5990c0094be57c0d3b7a4bc99e16 Mon Sep 17 00:00:00 2001 +From: Romain Francoise +Date: Sun, 23 Mar 2008 00:52:42 +0100 +Subject: [PATCH] rcsdiff option parsing updates + +--- + src/rcsdiff.c | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/rcsdiff.c b/src/rcsdiff.c +index 26b29c2..3ac97e4 100644 +--- a/src/rcsdiff.c ++++ b/src/rcsdiff.c +@@ -212,9 +212,13 @@ mainProg(rcsdiffId, "rcsdiff", "$Id: rcsdiff.c,v 5.19 1995/06/16 06:19:24 eggert + } + goto option_handled; + case '-': case 'D': +- no_diff_means_no_output = false; ++ if (c == 'D' ++ || strcmp(*argv, "--side-by-side") == 0 ++ || strcmp(*argv, "--ifdef") == 0) { ++ no_diff_means_no_output = false; ++ } + /* fall into */ +- case 'C': case 'F': case 'I': case 'L': case 'W': ++ case 'C': case 'F': case 'I': case 'L': case 'U': case 'W': + #if DIFF_L + if (c == 'L' && ++file_labels == 2) + faterror("too many -L options"); +-- +1.6.3.2.306.g4f4fa + --- rcs-5.7.orig/debian/patches/0003-Add-support-for-the-commitid-phrase.patch +++ rcs-5.7/debian/patches/0003-Add-support-for-the-commitid-phrase.patch @@ -0,0 +1,159 @@ +From 13566af7a876e058a96f4ae3617541b3b1e5400d Mon Sep 17 00:00:00 2001 +From: Romain Francoise +Date: Sun, 23 Mar 2008 00:50:39 +0100 +Subject: [PATCH] Add support for the commitid phrase + +By Mark D. Baushke . + +Note that this patch does not include support for generating the ids at +check in time; it only makes RCS recognize them. +--- + man/rcsfile.5 | 13 +++++++++++++ + man/rcsfile.5in | 13 +++++++++++++ + src/rcsbase.h | 2 ++ + src/rcsgen.c | 3 +++ + src/rcssyn.c | 9 +++++++++ + src/rlog.c | 4 ++++ + 6 files changed, 44 insertions(+), 0 deletions(-) + +diff --git a/man/rcsfile.5 b/man/rcsfile.5 +index bc47f7d..1f2de7c 100644 +--- a/man/rcsfile.5 ++++ b/man/rcsfile.5 +@@ -69,6 +69,7 @@ nonterminal symbols are in + \f3state\fP {\f2id\fP}\f3;\fP + \f3branches\fP {\f2num\fP}*\f3;\fP + \f3next\fP {\f2num\fP}\f3;\fP ++ { \f3commitid\fP \f2id\fP\f3;\fP } + { \f2newphrase\fP }* + .LP + \f2desc\fP ::= \f3desc\fP \f2string\fP +@@ -128,6 +129,18 @@ and all the digits of years thereafter. + Dates use the Gregorian calendar; times use UTC. + .PP + The ++.I commitid ++is followed by an ++.I id ++token. This token is intended to be unique across ++multiple files and is used to help group files as ++being a part of the same logical commit. ++This token must uniquely identify the commit ++operation that was applied to a set of RCS files. ++In particular, it must be unique among all the ++commitids in this file. ++.PP ++The + .I newphrase + productions in the grammar are reserved for future extensions + to the format of \*r files. +diff --git a/man/rcsfile.5in b/man/rcsfile.5in +index 72930e1..d6118c7 100644 +--- a/man/rcsfile.5in ++++ b/man/rcsfile.5in +@@ -68,6 +68,7 @@ nonterminal symbols are in + \f3state\fP {\f2id\fP}\f3;\fP + \f3branches\fP {\f2num\fP}*\f3;\fP + \f3next\fP {\f2num\fP}\f3;\fP ++ { \f3commitid\fP \f2id\fP\f3;\fP } + { \f2newphrase\fP }* + .LP + \f2desc\fP ::= \f3desc\fP \f2string\fP +@@ -127,6 +128,18 @@ and all the digits of years thereafter. + Dates use the Gregorian calendar; times use UTC. + .PP + The ++.I commitid ++is followed by an ++.I id ++token. This token is intended to be unique across ++multiple files and is used to help group files as ++being a part of the same logical commit. ++This token must uniquely identify the commit ++operation that was applied to a set of RCS files. ++In particular, it must be unique among all the ++commitids in this file. ++.PP ++The + .I newphrase + productions in the grammar are reserved for future extensions + to the format of \*r files. +diff --git a/src/rcsbase.h b/src/rcsbase.h +index 147f7d7..23ed4fe 100644 +--- a/src/rcsbase.h ++++ b/src/rcsbase.h +@@ -358,6 +358,7 @@ struct hshentry { + char const * lockedby; /* who locks the revision */ + char const * state; /* state of revision (Exp by default) */ + char const * name; /* name (if any) by which retrieved */ ++ char const * commitid; /* text string to associate commits */ + struct cbuf log; /* log message requested at checkin */ + struct branchhead * branches; /* list of first revisions on branches*/ + struct cbuf ig; /* ignored phrases in admin part */ +@@ -662,6 +663,7 @@ extern int TotalDeltas; + extern char const *const expand_names[]; + extern char const + Kaccess[], Kauthor[], Kbranch[], Kcomment[], ++ Kcommitid[], + Kdate[], Kdesc[], Kexpand[], Khead[], Klocks[], Klog[], + Knext[], Kstate[], Kstrict[], Ksymbols[], Ktext[]; + void unexpected_EOF P((void)) exiting; +diff --git a/src/rcsgen.c b/src/rcsgen.c +index a87257e..7eb14f1 100644 +--- a/src/rcsgen.c ++++ b/src/rcsgen.c +@@ -547,6 +547,9 @@ putdelta(node, fout) + + aprintf(fout, ";\n%s\t%s;\n", Knext, node->next?node->next->num:""); + awrite(node->ig.string, node->ig.size, fout); ++ ++ if (node->commitid) ++ aprintf(fout, "%s\t%s;\n", Kcommitid, node->commitid); + } + + +diff --git a/src/rcssyn.c b/src/rcssyn.c +index f254bf7..d21d0d8 100644 +--- a/src/rcssyn.c ++++ b/src/rcssyn.c +@@ -171,6 +171,7 @@ char const + Kauthor[] = "author", + Kbranch[] = "branch", + Kcomment[] = "comment", ++ Kcommitid[] = "commitid", + Kdate[] = "date", + Kdesc[] = "desc", + Kexpand[] = "expand", +@@ -433,6 +434,14 @@ getdelta() + Delta->lockedby = 0; + Delta->log.string = 0; + Delta->selector = true; ++ ++ if (getkeyopt(Kcommitid)) { ++ Delta->commitid = NextString; ++ nextlex(); ++ getsemi(Kcommitid); ++ } else ++ Delta->commitid = NULL; ++ + Delta->ig = getphrases(Kdesc); + TotalDeltas++; + return (true); +diff --git a/src/rlog.c b/src/rlog.c +index 7fb9b4d..4ee79e7 100644 +--- a/src/rlog.c ++++ b/src/rlog.c +@@ -591,6 +591,10 @@ putadelta(node,editscript,trunk) + aprintf(out, insDelFormat, + editscript->insertlns, editscript->deletelns); + ++ if ( node->commitid ) ++ aprintf(out, "%s commitid: %s", (editscript) ? ";" : "", ++ node->commitid); ++ + newbranch = node->branches; + if ( newbranch ) { + bufautobegin(&branchnum); +-- +1.6.3.2.306.g4f4fa + --- rcs-5.7.orig/debian/patches/0008-Various-build-tweaks.patch +++ rcs-5.7/debian/patches/0008-Various-build-tweaks.patch @@ -0,0 +1,114 @@ +From 2a814cf24019073a05f64c306a39b3202efe40ab Mon Sep 17 00:00:00 2001 +From: Romain Francoise +Date: Sun, 23 Mar 2008 00:57:09 +0100 +Subject: [PATCH] Various build tweaks + +Including: +- allow building as root +- install rcsfreeze and its man page +- pass CFLAGS properly +- install man pages in /usr/share/man +- tweak default PATH when looking for sendmail +--- + configure.in | 2 +- + man/Makefile.in | 7 ++++--- + src/Makefile.in | 6 ++++-- + src/conf.sh | 11 ----------- + 4 files changed, 9 insertions(+), 17 deletions(-) + +diff --git a/configure.in b/configure.in +index b6dd5d2..3c6aed3 100644 +--- a/configure.in ++++ b/configure.in +@@ -243,7 +243,7 @@ rm -f conftest* + AC_PATH_PROG(ED, ed, ed) + + ac_save_path=$PATH +-PATH=/usr/lib:/usr/bin:/bin:/usr/sbin:/sbin:$PATH ++PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/lib:$PATH + AC_PATH_PROGS(SENDMAIL, sendmail mail mailx) + PATH=$ac_save_path + case $SENDMAIL in +diff --git a/man/Makefile.in b/man/Makefile.in +index 8ff25df..ffc8c7c 100644 +--- a/man/Makefile.in ++++ b/man/Makefile.in +@@ -34,8 +34,8 @@ INSTALL_DATA = @INSTALL_DATA@ + PIC = @PIC@ + + prefix = @prefix@ +-man1dir = $(prefix)/man/man1 +-man5dir = $(prefix)/man/man5 ++man1dir = $(prefix)/share/man/man1 ++man5dir = $(prefix)/share/man/man5 + man1ext = .1 + man5ext = .5 + +@@ -51,7 +51,8 @@ check dvi info TAGS :: + installdirs :: ../mkinstalldirs + -$(srcdir)/../mkinstalldirs $(man1dir) $(man5dir) + +-man1pages = ci co ident merge rcs rcsclean rcsdiff rcsintro rcsmerge rlog ++man1pages = ci co ident merge rcs rcsclean rcsdiff rcsintro rcsmerge rlog \ ++ rcsfreeze + + install :: installdirs + -for m in $(man1pages); do \ +diff --git a/src/Makefile.in b/src/Makefile.in +index c27af21..5bc2147 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -116,16 +116,18 @@ install :: all installdirs + for p in $(PROGRAMS); do \ + $(INSTALL_PROGRAM) $$p $(bindir)/$$p; \ + done ++ $(INSTALL_PROGRAM) rcsfreeze.sh $(bindir)/rcsfreeze + + uninstall :: + for p in $(PROGRAMS); do \ + $(REMOVE) $(bindir)/$$p; \ + done ++ $(REMOVE) $(bindir)/rcsfreeze + + # Install RCS and (if applicable) GNU diff before running these tests. + # To test RCS before installing it, see the file INSTALL.RCS. + RCSTEST = \ +- ALL_CFLAGS='$(ALL_CFLAGS)' CC='$(CC)' DIFF='$(DIFF)' \ ++ ALL_CFLAGS="$(ALL_CFLAGS)" CC='$(CC)' DIFF='$(DIFF)' \ + LDFLAGS='$(LDFLAGS)' LIBS='$(LIBS)' \ + PATH=$(bindir):$$PATH \ + sh $(srcdir)/rcstest +@@ -153,7 +155,7 @@ maintainer-clean :: distclean + #(Unix + conf.h : conf.sh Makefile + $(REMOVE) a.* +- ALL_CFLAGS='$(ALL_CFLAGS)' \ ++ ALL_CFLAGS="$(ALL_CFLAGS)" \ + CC='$(CC)' \ + COMPAT2='$(COMPAT2)' \ + DIFF3='$(DIFF3)' DIFF3_BIN='$(DIFF3_BIN)' \ +diff --git a/src/conf.sh b/src/conf.sh +index c9bf0b3..b28a504 100644 +--- a/src/conf.sh ++++ b/src/conf.sh +@@ -73,17 +73,6 @@ case `echo -n` in + ech='echo -n' dots='... ' + esac + +-$ech >&3 "$0: testing permissions $dots" +-rm -f a.d && +-date >a.d && +-chmod 0 a.d && +-{ test -w a.d || cp /dev/null a.d 2>/dev/null; } && { +- echo >&3 "$n$0: This command should not be run with superuser permissions." +- exit 1 +-} +-echo >&3 OK +-rm -f a.d || exit +- + $ech >&3 "$0: testing compiler for plausibility $dots" + echo 'main() { return 0; }' >a.c + rm -f a.exe a.out || exit +-- +1.6.3.2.306.g4f4fa + --- rcs-5.7.orig/debian/patches/0004-Security-fixes.patch +++ rcs-5.7/debian/patches/0004-Security-fixes.patch @@ -0,0 +1,85 @@ +From 8b4a5ad3c28026799548219fcc25bb1d0063ade8 Mon Sep 17 00:00:00 2001 +From: Romain Francoise +Date: Sun, 23 Mar 2008 00:52:03 +0100 +Subject: [PATCH] Security fixes + +From various contributors, see debian/changelog for detailed list. +--- + src/rcsedit.c | 7 ++++++- + src/rcsfnms.c | 7 ++++++- + src/rcsfreeze.sh | 3 +-- + 3 files changed, 13 insertions(+), 4 deletions(-) + +diff --git a/src/rcsedit.c b/src/rcsedit.c +index 6000a68..b99249a 100644 +--- a/src/rcsedit.c ++++ b/src/rcsedit.c +@@ -1503,6 +1503,9 @@ makedirtemp(isworkfile) + register size_t dl; + register struct buf *bn; + register char const *name = isworkfile ? workname : RCSname; ++# if has_mktemp ++ int fd; ++# endif + + dl = basefilename(name) - name; + bn = &dirtpname[newRCSdirtp_index + isworkfile]; +@@ -1521,10 +1524,12 @@ makedirtemp(isworkfile) + catchints(); + # if has_mktemp + VOID strcpy(tp, "XXXXXX"); +- if (!mktemp(np) || !*np) ++ fd = mkstemp(np); ++ if (fd < 0 || !*np) + faterror("can't make temporary pathname `%.*s_%cXXXXXX'", + (int)dl, name, '0'+isworkfile + ); ++ close(fd); + # else + /* + * Posix 1003.1-1990 has no reliable way +diff --git a/src/rcsfnms.c b/src/rcsfnms.c +index e3b4f71..5edb6b4 100644 +--- a/src/rcsfnms.c ++++ b/src/rcsfnms.c +@@ -285,6 +285,9 @@ maketemp(n) + { + char *p; + char const *t = tpnames[n]; ++# if has_mktemp ++ int fd; ++# endif + + if (t) + return t; +@@ -296,10 +299,12 @@ maketemp(n) + size_t tplen = dir_useful_len(tp); + p = testalloc(tplen + 10); + VOID sprintf(p, "%.*s%cT%cXXXXXX", (int)tplen, tp, SLASH, '0'+n); +- if (!mktemp(p) || !*p) ++ fd = mkstemp(p); ++ if (fd < 0 || !*p) + faterror("can't make temporary pathname `%.*s%cT%cXXXXXX'", + (int)tplen, tp, SLASH, '0'+n + ); ++ close(fd); + # else + static char tpnamebuf[TEMPNAMES][L_tmpnam]; + p = tpnamebuf[n]; +diff --git a/src/rcsfreeze.sh b/src/rcsfreeze.sh +index 96954f0..ea58c00 100644 +--- a/src/rcsfreeze.sh ++++ b/src/rcsfreeze.sh +@@ -59,8 +59,7 @@ rcsfreeze: give log message, summarizing changes (end with EOF or single '.')" \ + + # Stamp the logfile. Because we order the logfile the most recent + # first we will have to save everything right now in a temporary file. +-TMPLOG=/tmp/rcsfrz$$ +-trap 'rm -f $TMPLOG; exit 1' 1 2 13 15 ++TMPLOG=$(tempfile) + # Now ask for a log message, continously add to the log file + ( + echo "Version: $SYMREVNAME($SYMREV), Date: $DATE +-- +1.6.3.2.306.g4f4fa + --- rcs-5.7.orig/debian/patches/0007-Fix-crasher-bug-in-scanlogtext.patch +++ rcs-5.7/debian/patches/0007-Fix-crasher-bug-in-scanlogtext.patch @@ -0,0 +1,30 @@ +From d741c63ce2c9730850825192b675cd6cdb767029 Mon Sep 17 00:00:00 2001 +From: Romain Francoise +Date: Sun, 23 Mar 2008 00:54:51 +0100 +Subject: [PATCH] Fix crasher bug in scanlogtext() + +--- + src/rcs.c | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/rcs.c b/src/rcs.c +index 526667d..2b99ad1 100644 +--- a/src/rcs.c ++++ b/src/rcs.c +@@ -916,10 +916,11 @@ scanlogtext(delta,edit) + getkeystring(Klog); + if (nextdelta == cuttail) { + cb = savestring(&curlogbuf); +- if (!delta->log.string) ++ if (delta && !delta->log.string) + delta->log = cleanlogmsg(curlogbuf.string, cb.size); + nextlex(); +- delta->igtext = getphrases(Ktext); ++ if (delta) ++ delta->igtext = getphrases(Ktext); + } else { + if (nextdelta->log.string && nextdelta->selector) { + foutptr = 0; +-- +1.6.3.2.306.g4f4fa + --- rcs-5.7.orig/debian/patches/0002-Various-man-page-fixes.patch +++ rcs-5.7/debian/patches/0002-Various-man-page-fixes.patch @@ -0,0 +1,220 @@ +From 04ae787718fa7e034f49eb3b7fabb2677129df10 Mon Sep 17 00:00:00 2001 +From: Romain Francoise +Date: Sun, 23 Mar 2008 00:47:13 +0100 +Subject: [PATCH] Various man page fixes + +From various contributors, see debian/changelog for detailed list. +--- + man/co.1 | 12 ++++++------ + man/merge.1 | 8 ++++++-- + man/rcsfile.5 | 28 ++++++++++++++-------------- + man/rlog.1 | 4 ++++ + 4 files changed, 30 insertions(+), 22 deletions(-) + +diff --git a/man/co.1 b/man/co.1 +index 8d0a6e7..5951123 100644 +--- a/man/co.1 ++++ b/man/co.1 +@@ -597,7 +597,7 @@ line is + .RB \*(lq "//\ " \*(rq. + This is useful for languages with comments that go to the end of the line. + The convention for other languages is to use a +-.RB \*(lq " \(** " \(rq ++.RB \*(lq " * " \(rq + prefix inside a multiline comment. + For example, the initial log comment of a C program + conventionally is of the following form: +@@ -606,19 +606,19 @@ conventionally is of the following form: + .nf + .ft 3 + .ne 3 +-/\(** ++/* + .in +\w'/'u +-\(** $\&Log$ +-\(**/ ++* $\&Log$ ++*/ + .in + .ft + .fi + .RE + .LP + For backwards compatibility with older versions of \*r, if the log prefix is +-.B /\(** ++.B /* + or +-.B (\(** ++.B (* + surrounded by optional white space, inserted log lines contain a space + instead of + .B / +diff --git a/man/merge.1 b/man/merge.1 +index e4860d2..c6f6f9f 100644 +--- a/man/merge.1 ++++ b/man/merge.1 +@@ -114,8 +114,9 @@ Send results to standard output instead of overwriting + .TP + .BI \-q + Quiet; do not warn about conflicts. ++.TP + .BI \-V +-Print \*r's version number. ++Print version number. + .SH DIAGNOSTICS + Exit status is 0 for no conflicts, 1 for some conflicts, 2 for trouble. + .SH IDENTIFICATION +@@ -127,7 +128,10 @@ Copyright \(co 1982, 1988, 1989 Walter F. Tichy. + .br + Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert. + .SH SEE ALSO +-diff3(1), diff(1), rcsmerge(1), co(1). ++.BR diff3 (1), ++.BR diff (1), ++.BR rcsmerge (1), ++.BR co(1) . + .SH BUGS + It normally does not make sense to merge binary files as if they were text, but + .B merge +diff --git a/man/rcsfile.5 b/man/rcsfile.5 +index 5a1929f..bc47f7d 100644 +--- a/man/rcsfile.5 ++++ b/man/rcsfile.5 +@@ -230,7 +230,7 @@ The following diagram shows an example of an \*r file's organization. + .fi + .\} + .if \np \{\ +-.lf 232 ++.lf 245 + .PS 4.250i 3.812i + .\" -2.0625 -4.25 1.75 0 + .\" 0.000i 4.250i 3.812i 0.000i +@@ -239,7 +239,7 @@ The following diagram shows an example of an \*r file's organization. + .nr 0x 1 + \h'3.812i' + .sp -1 +-.lf 242 ++.lf 255 + \h'2.062i-(\w'Head'u/2u)'\v'0.125i-(0v/2u)+0v+0.22m'Head + .sp -1 + \h'2.062i'\v'0.250i'\D'l0.000i 0.500i' +@@ -256,7 +256,7 @@ The following diagram shows an example of an \*r file's organization. + .sp -1 + \h'1.688i'\v'0.750i'\D'l0.000i 0.500i' + .sp -1 +-.lf 244 ++.lf 257 + \h'2.062i-(\w'2.1'u/2u)'\v'1.000i-(0v/2u)+0v+0.22m'2.1 + .sp -1 + \h'2.062i'\v'1.250i'\D'l0.000i 0.500i' +@@ -265,7 +265,7 @@ The following diagram shows an example of an \*r file's organization. + .sp -1 + \h'2.062i'\v'1.750i'\D'l-0.025i -0.100i' + .sp -1 +-.lf 246 ++.lf 259 + \h'2.062i-(\w'1.3'u/2u)'\v'2.000i-(1v/2u)+0v+0.22m'1.3 + .sp -1 + \h'2.062i'\v'2.250i'\D'l-0.375i -0.500i' +@@ -280,7 +280,7 @@ The following diagram shows an example of an \*r file's organization. + .sp -1 + \h'1.375i'\v'1.500i'\D'l0.025i 0.100i' + .sp -1 +-.lf 249 ++.lf 262 + \h'1.375i-(\w'1.3.1.1'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.3.1.1 + .sp -1 + \h'1.375i'\v'1.000i'\D'l-0.375i 0.500i' +@@ -295,7 +295,7 @@ The following diagram shows an example of an \*r file's organization. + .sp -1 + \h'2.062i'\v'2.750i'\D'l-0.025i -0.100i' + .sp -1 +-.lf 252 ++.lf 265 + \h'2.062i-(\w'1.2'u/2u)'\v'3.000i-(1v/2u)+0v+0.22m'1.2 + .sp -1 + \h'2.062i'\v'3.250i'\D'l-0.375i -0.500i' +@@ -310,7 +310,7 @@ The following diagram shows an example of an \*r file's organization. + .sp -1 + \h'0.375i'\v'2.500i'\D'l0.025i 0.100i' + .sp -1 +-.lf 255 ++.lf 268 + \h'0.375i-(\w'1.2.1.1'u/2u)'\v'2.250i-(1v/2u)+1v+0.22m'1.2.1.1 + .sp -1 + \h'0.375i'\v'2.000i'\D'l-0.375i 0.500i' +@@ -325,7 +325,7 @@ The following diagram shows an example of an \*r file's organization. + .sp -1 + \h'0.375i'\v'1.500i'\D'l0.025i 0.100i' + .sp -1 +-.lf 257 ++.lf 270 + \h'0.375i-(\w'1.2.1.3'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.2.1.3 + .sp -1 + \h'0.375i'\v'1.000i'\D'l-0.375i 0.500i' +@@ -340,7 +340,7 @@ The following diagram shows an example of an \*r file's organization. + .sp -1 + \h'2.750i'\v'2.500i'\D'l0.025i 0.100i' + .sp -1 +-.lf 261 ++.lf 274 + \h'2.750i-(\w'1.2.2.1'u/2u)'\v'2.250i-(1v/2u)+1v+0.22m'1.2.2.1 + .sp -1 + \h'2.750i'\v'2.000i'\D'l-0.375i 0.500i' +@@ -355,7 +355,7 @@ The following diagram shows an example of an \*r file's organization. + .sp -1 + \h'3.438i'\v'1.250i'\D'l0.025i 0.100i' + .sp -1 +-.lf 264 ++.lf 277 + \h'3.438i-(\w'\s-21.2.2.1.1.1\s0'u/2u)'\v'1.000i-(1v/2u)+1v+0.22m'\s-21.2.2.1.1.1\s0 + .sp -1 + \h'3.438i'\v'0.750i'\D'l-0.375i 0.500i' +@@ -370,7 +370,7 @@ The following diagram shows an example of an \*r file's organization. + .sp -1 + \h'2.750i'\v'1.500i'\D'l0.025i 0.100i' + .sp -1 +-.lf 267 ++.lf 280 + \h'2.750i-(\w'1.2.2.2'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.2.2.2 + .sp -1 + \h'2.750i'\v'1.000i'\D'l-0.375i 0.500i' +@@ -385,7 +385,7 @@ The following diagram shows an example of an \*r file's organization. + .sp -1 + \h'2.062i'\v'3.750i'\D'l-0.025i -0.100i' + .sp -1 +-.lf 270 ++.lf 283 + \h'2.062i-(\w'1.1'u/2u)'\v'4.000i-(1v/2u)+0v+0.22m'1.1 + .sp -1 + \h'2.062i'\v'4.250i'\D'l-0.375i -0.500i' +@@ -398,9 +398,9 @@ The following diagram shows an example of an \*r file's organization. + .if \n(00 .fi + .br + .nr 0x 0 +-.lf 271 ++.lf 284 + .PE +-.lf 272 ++.lf 285 + .\} + .PP + .SH IDENTIFICATION +diff --git a/man/rlog.1 b/man/rlog.1 +index cc4b45c..68a75a6 100644 +--- a/man/rlog.1 ++++ b/man/rlog.1 +@@ -187,6 +187,10 @@ If + .I logins + is omitted, the user's login is assumed. + .TP ++.B \-q ++This option has no effect; ++it is provided for consistency with other commands. ++.TP + .B \-T + This option has no effect; + it is present for compatibility with other \*r commands. +-- +1.6.3.2.306.g4f4fa + --- rcs-5.7.orig/debian/patches/0006-Make-ident-accept-numbers-in-identifiers.patch +++ rcs-5.7/debian/patches/0006-Make-ident-accept-numbers-in-identifiers.patch @@ -0,0 +1,26 @@ +From 0e4ca382022f1be7d6e006743337d4ece48fa185 Mon Sep 17 00:00:00 2001 +From: Romain Francoise +Date: Sun, 23 Mar 2008 00:54:00 +0100 +Subject: [PATCH] Make ident accept numbers in identifiers + +Debian bug #157891. +--- + src/ident.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/ident.c b/src/ident.c +index 612544c..67954f3 100644 +--- a/src/ident.c ++++ b/src/ident.c +@@ -234,7 +234,7 @@ match(fp) /* group substring between two KDELIM's; then do pattern match */ + if (c == EOF && feof(fp) | ferror(fp)) + return c; + switch (ctab[c]) { +- case LETTER: case Letter: ++ case LETTER: case Letter: case DIGIT: + *tp++ = c; + if (tp < line+sizeof(line)-4) + break; +-- +1.6.3.2.306.g4f4fa + --- rcs-5.7.orig/debian/patches/0001-Build-PostScript-documentation.patch +++ rcs-5.7/debian/patches/0001-Build-PostScript-documentation.patch @@ -0,0 +1,34 @@ +From aee3457a5dc38b9d157266099ea7bfe402a8bafd Mon Sep 17 00:00:00 2001 +From: Romain Francoise +Date: Sun, 23 Mar 2008 00:44:22 +0100 +Subject: [PATCH] Build PostScript documentation + +This is the "RCS-A System for Version Control" paper by Walter F. Tichy. +--- + Makefile.in | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 7518f35..7dfad89 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -43,6 +43,7 @@ maintainer-clean :: + @echo "it deletes files that may require special tools to rebuild." + + $(standard_GNU_targets) installcheck installdebug :: ++ groff -t -p -Tps -ms rcs.ms >rcs.ps + cd man && $(MAKE) $@ + cd src && $(MAKE) $@ + +@@ -77,7 +78,7 @@ Makefile : Makefile.in config.status + + clean :: clean. + clean. :: +- rm -f confdefs* conftest* core core.* *.core ++ rm -f confdefs* conftest* core core.* *.core *.ps + + distclean maintainer-clean :: distclean. + distclean. :: clean. +-- +1.6.3.2.306.g4f4fa +