NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

install/50615: etcupdate installs checksums in the wrong directory



>Number:         50615
>Category:       install
>Synopsis:       etcupdate installs checksums in the wrong directory
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    install-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jan 03 03:30:00 +0000 2016
>Originator:     Jim Bernard
>Release:        NetBSD 7.99.25
>Organization:
>Environment:
NetBSD 7.99.25 201512260025Z: amd64
Architecture: x86_64
Machine: amd64
>Description:
	"etcupdate -a" stores checksums in subdirectories of /var/etcupdate,
	specifically dev, etc, root, and var.  When it is used together with
	the "-d destdir" option, the checksums of unchanged files are written
	in subdirectories with those same names under /var/etcupdate/<destdir>,
	rather than /var/etcupdate.
>How-To-Repeat:
	etcupdate -a -l -d otherroot -s etcsrcdir

	or read the code in the first conditional block of the
	diff_and_merge_file() function.  It's obviously inconsistent with
	the intended meaning of the install_checksum() function (as documented
	with its definition) and with all other invocations of that function.

	Issuing the command leads to numerous error messages about missing
	directories, and many of the checksums then show up under
	/var/etcupdate/otherroot.
>Fix:
	This patch fixes the problem.  I checked the rest of the script
	and didn't find any other mistakes like this.

--- etcupdate-dist	2015-12-25 19:54:15.000000000 -0700
+++ etcupdate	2016-01-02 16:50:04.000000000 -0700
@@ -278,11 +278,11 @@
 	# $1 = target file (relative to ${DESTDIR})
 
 	if cmp -s "${TEMPROOT}${1}" "${DESTDIR}${1}"; then
 		verbose "===> ${1} (ok)"
 		rm -f "${TEMPROOT}${1}"
-		install_checksum "${DESTDIR}${1}"
+		install_checksum "${1}"
 		return
 	fi
 
 	if ${AUTOMATIC} && [ -f "${DESTDIR}/var/etcupdate/${1}" ]; then
 		SUM1="$(md5 "${1}")"



Home | Main Index | Thread Index | Old Index