Bug 734740

Summary: rcs-5.8 is available
Product: [Fedora] Fedora Reporter: Upstream Release Monitoring <upstream-release-monitoring>
Component: rcsAssignee: Honza Horak <hhorak>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: c719711, hhorak
Target Milestone: ---Keywords: FutureFeature, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-09-08 10:41:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Upstream Release Monitoring 2011-08-31 10:49:51 UTC
Latest upstream release: 5.8
Current version in Fedora Rawhide: 5.7
URL: http://ftp.gnu.org/gnu/rcs/

Please consult the package updates policy before you issue an update to a stable branch: https://fedoraproject.org/wiki/Updates_Policy

More information about the service that created this bug can be found at:
https://fedoraproject.org/wiki/Upstream_release_monitoring

Comment 1 Account closed by user 2011-08-31 11:26:02 UTC
Changelog since fedora release(5.7 1995-06-16)

- 5.8 | 2011-08-30

  - License now GPLv3+ (see COPYING)

  - Change in terminology: from "path" to "file name" (or "file-name")

	However, if "path" intends "search path", we say so explicitly.

  - Changes to the RCS package

    - New documentation in Info format

	On "make install", rcs.info is installed in $(infodir), with
	title "GNU RCS <VERSION>" in dircategory "Version control".
	The doc source is texinfo (released under GNU FDL 1.3), so you
	can easily create output in HTML, PDF, etc.

    - Dropped configure option: --with-diffutils

	To specify non-GNU diffutils programs diff(1) and diff3(1), name
	them using variables on the configure command-line.  See README.

    - Configuration more strict in some ways, more lax in others.

	Before, part of the configuration was done at compile time.
	Now, all of it is done by the configure script.  Here are the
	set of conditions which will cause the configure script to fail
	(with a "could not find..." message):

	 - for --enable-mailer=PROG, ‘PROG’ not absolute;
	 - for diff(1), value of env var ‘DIFF’ not absolute;
	 - diff(1) not GNU diffutils compatible;
	 - for diff3(1), value of env var ‘DIFF3’ not absolute;
	 - for ed(1), value of env var ‘ED’ not absolute;
	 - no C99-capable compiler.

	Here, "absolute" means "specified as an absolute filename".
	On the flip side, configuration no longer checks for some
	situations such as ‘sigaction’ yes, but ‘SA_SIGINFO’ no.
	[Question for pretesters: Is this OK?]

	Most of the portability duties are now handled by gnulib.

    - New configure option: --enable-suid[=setreuid]

	This builds RCS with setuid support (the default).  Optional
	arg ‘setreuid’ means use setreuid(2) instead of seteuid(2).

    - New configure option: --disable-mmap

	This builds RCS without mmap(2), even if available.  See README.

    - New configure option: --enable-mailer=PROG

	The feature whereby ci(1) sends mail when breaking a lock is now
	disabled by default.  To enable, specify ‘--enable-mailer=PROG’
	to the configure script.  See README.

    - New configure option: --enable-compat2

	This preponderantly unlikely to be used option allows RCS
	commands to read RCS files written by RCS 2.  See README.

    - You can "make check" prior to "make install".

	Doing "make check" automatically prepends to the ‘PATH’ env var
	the value of ‘$(abs_top_builddir)/src’, so that the programs
	co, rcsdiff, and rcsmerge can find their peers (co and merge).

	Likewise, "make installcheck" prepends ‘$(DESTDIR)$(bindir)’.

	Previously, you had to "make install" first and then arrange
	for ‘$(DESTDIR)$(bindir)’ to be on ‘PATH’ "manually".

	See tests/README for more info on the test suite.

  - Bug fixes

    - Remove all edit info when removing all revisions.

	Previously, "rcs -o" (outdating) all revisions failed to
	leave the RCS file in a consistent state; edit info (i.e.,
	log message + diff(1) output) remained for the deleted revisions.

	For example, this sequence of commands:
	  echo foo > foo
	  ci -q -i -t-desc -mHELLO foo
	  rcs -q -o1.1: foo
	  grep '@H' foo,v
	used to display "@HELLO" to stdout.

	Now, all revisions are completely removed.

    - Code no longer uses mktemp(3).

	Using mktemp(3) is a security risk.  We use mkstemp(3) now.
	Likewise, rcsfreeze.sh now uses mktemp(1).

    - Misc manpage tweaks / fixes.

	Document ‘rlog -q’; fix small merge.1 omission; add branch
	labels in rcsfile.5; say "GNU RCS <VERSION>" in footer.

  - Other changes

    - All commands accept ‘--help’ and ‘--version’.

	The help output includes an email address for bug reports.
	For continuity, option ‘-V’ is now a synonym for ‘--version’.

	Relatedly, commands no longer display usage info if given
	a bad or malformed option.  You can use ‘--help’ for that.

    - A string of all digits is now valid for author, state.

	This means you can set the author or state to, for example,
	"000000" or "42".  Previously, these would have caused a
	"invalid identifier" or "invalid symbol" error.

    - Env var RCS_MEM_LIMIT controls stdio threshold.

	For speed, RCS uses memory-based routines for files up to
	256 kilobytes, and stream-based (stdio) routines otherwise.
	You can change this threshold value by setting the environment
	variable ‘RCS_MEM_LIMIT’ to a non-negative integer, measured in
	kilobytes.  An empty ‘RCS_MEM_LIMIT’ value is silently ignored.

    - RCS can now work with files larger than 2 gigabytes.

	RCS now uses large file offsets (#define _FILE_OFFSET_BITS 64).

    - Pass-through for RCS file ‘commitid SYMBOL’ now builtin.

	Due to GNU CVS (Concurrent Versions System) using a compatible
	file format as RCS for the RCS file, you can use RCS commands
	to view and manipulate its contents.  (Note, however, the next
	NEWS item.)

	This works well enough except for a small annoyance: CVS adds a
	per-revision field called the "commitid" with an opaque (to RCS)
	symbolic value.  Previously, RCS commands would emit a warning
	"unrecognized phrases" (unless given ‘-q’ on the command-line).

	RCS commands now automatically support pass-through handling of
	‘commitid SYMBOL’ (so ‘-q’ is no longer necessary).

    - RCS file top-level grammar frozen.

	The RCS file top-level grammar is now frozen; RCS no longer
	supports pass-through operation of unrecognized key/data pairs
	(called "newphrases" in the RCS 5.7 rcsfile(5) manpage).

	To avoid painting ourselves into a corner, the grammar now
	includes a new key ‘integrity’ with @-string value, whose
	sub-grammar is not yet specified.  (We intend to keep checksums
	and other compacted redundancies in this field, for manipulation
	by the commands in a future RCS 5.x release.)  For upward
	compatability, the commands in this release do not change this
	field, although they silently read and write it (pass-through),
	if present.

    - RCS file syntax-validated earlier, completely.

	Previously, RCS file syntax was validated lazily, and trailing
	garbage was not detected (see bugfix above).  Now, a top-level
	validation is done on each access.

    - Possible to specify an empty log message with ci -m, rcs -m.

	The commands "ci -m" and "rcs -m" no longer error on an
	empty log message.  Their non-interactive behavior is now
	consistent with the interactive invocation.

	was: ci -m file < /dev/null   # use stdin to avoid error
	now: ci -m file               # works fine, like so

	Note that these commands actually store as the log message
	the string: "*** empty log message ***".

    - Date option accepts some more date-only formats

	Date format ‘YYYY-DDD’ specifies a year and a day (1-366),
	while format ‘YYYY-wWW-D’ specifies a year, an ISO week number
	(0-53, 0 is a GNU RCS extension), and a day number (1-7, for
	Monday through Sunday).

    - Changes to rcsdiff

      - New handling for option: -U N

	This arranges to output N lines of unified-diff context.
	Relatedly, the list of possible options passed to the underlying
	diff(1) appears in both "rcsdiff --help" and in the manual.

      - Refined "same-revision don't call diff" optimization

	Normally, if the two revisions specified are the same, we avoid
	calling the underlying diff(1) on the theory that it will
	produce no output.  This does not hold generally for ‘-y’
	(--side-by-side) and ‘-D’ (--ifdef), such as when the revision
	specified is by different symbolic names, so for those options
	the optimization is disabled.

Comment 2 Honza Horak 2011-09-08 10:41:18 UTC
rcs-5.8 is now in Fedora Rawhide.