summaryrefslogtreecommitdiff
path: root/sysutils/etcmanage
diff options
context:
space:
mode:
authorgdt <gdt>2014-10-09 12:49:21 +0000
committergdt <gdt>2014-10-09 12:49:21 +0000
commit20b10c575a246f827d42d77b2b2639d1ed43c58a (patch)
tree6753509fe503b7b358fea41b1eaa9e67ca93d32c /sysutils/etcmanage
parent82d36a40324f00443d86e081f6075be4114dcde2 (diff)
downloadpkgsrc-20b10c575a246f827d42d77b2b2639d1ed43c58a.tar.gz
Update to 0.9.1. Note that this is a fairly complete rototill from
the previous version. However, there are now tests (which pass), and I've been running this version since June. New in Version 0.9.1, released 2014-06-09 * When installing a new config file, create the config file's parent directories if they don't exist. If a directory is created, the permissions and ownership are copied from the corresponding directory in the upstream config file hierarchy. * Add a new --version (-V) option. * Add a new --help (-h) option. * etcmanage now exits with an error if an unsupported argument is specified. * 'etcmanage --remove' no longer warns if the given file was not already in the database. New in Version 0.9, released 2014-05-21 * Use Perl's Digest::MD5 module instead of the md5 utility for compatibility with other operating systems. * Add a new --destdir option. If specified, the filenames for all operations will be prefixed with the provided directory name. This makes it possible to use etcmanage on a chroot or DESTDIR environment. * Don't automatically update the hash stored in the database if a live config file is modified and upstream is changed to match. This matches the behavior when both the live file and upstream file have been deleted (the record isn't removed from the database) and it provides an important invariant: If the state of the live config file does not match the state of the database record, nothing is modified. * Fix handling of removed files during 'etcmanage --update': If a managed file is deleted, treat it as a manual modification---don't restore the upstream file. * Improve logging: - Log problems updating config files to standard error (STDERR) instead of standard output (STDOUT). - During 'etcmanage --update', log "UNMANAGED_EQ_UPSTREAM" when encoutering a new upstream file that is already installed with identical contents. - During 'etcmanage --update', log "UNMANAGED_NEQ_UPSTREAM" to STDERR when encoutering a new upstream file that is already installed but has different contents. - Log three distinct types of "MISSING" messages instead of one: * "MISSING" is logged when the hash of the upstream file matches the database entry * "MISSING;UPSTREAM_WITHDRAWN" is logged when the upstream file doesn't exist * "MISSING;UPSTREAM_DIFFERENT" is logged when the hash of the upstream file differs from the hash stored in the database - Use the term "MODIFIED" instead of "CONFLICT" and split it into three distinct types of "MODIFIED" messages instead of one: * "MODIFIED" is logged when the hash of the upstream file matches the database entry * "MODIFIED;UPSTREAM_WITHDRAWN" is logged when the upstream file doesn't exist * "MODIFIED;UPSTREAM_DIFFERENT" is logged when the hash of the upstream file differs from the hash stored in the database * During 'etcmanage --update <dir>', visit all files in '<dir>', not just '<dir>/etc'. This makes it possible to use etcmanage to manage files outside of '/etc', but is unfortunately not backwards-compatible: 'etcmanage --update' can no longer be pointed to a DESTDIR containing a complete NetBSD build (or else all operating system files---not just config files---will be managed by etcmanage). * During 'etcmanage --generate-manifest <dir>', visit all files in '<dir>', not just '<dir>/etc'. This makes it easier to use etcmanage to manage files outside of '/etc', but is unfortunately not backwards-compatible: 'etcmanage --generate-manifest' can no longer be pointed to a DESTDIR containing a complete NetBSD build (or else all operating system files---not just config files---will be included in the manifest). * Add support for systems that don't have an /etc/services file or don't consider the /etc/services file to be a configuration file. * Fix command line parsing. It is now possible to specify multiple commands at once (including repeating a command) and they will be executed in the specified order. * Add a '--db' option to specify the database filename. * Add a new '--manual' command to mark a file as manually managed. This differs from '--remove' in that a future '--update' will never automatically cause the file to become managed. It also results in different log messages being printed when a config file has been modified, and these log messages are printed to STDOUT instead of STDERR (because they are expected conditions). * Refuse to add abnormal pathnames to the database. A pathname is considered abnormal if it has any of the following properties: - contains whitespace - begins with '#' - is the empty string - is relative - contains '/../', '/./', or superfluous slashes Pathnames with the first three properties in the above list cannot be represented in a manifest. Relative pathnames do not make sense (what are they relative to?). Pathnames with '/../', '/./', or superfluous slashes can result in unintentional duplicate database entries that conflict with each other. * Various code cleanups. * Various build system improvements.
Diffstat (limited to 'sysutils/etcmanage')
-rw-r--r--sysutils/etcmanage/Makefile10
-rw-r--r--sysutils/etcmanage/PLIST3
-rw-r--r--sysutils/etcmanage/distinfo8
3 files changed, 13 insertions, 8 deletions
diff --git a/sysutils/etcmanage/Makefile b/sysutils/etcmanage/Makefile
index 3b6022f2f24..4ddec88f057 100644
--- a/sysutils/etcmanage/Makefile
+++ b/sysutils/etcmanage/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.13 2014/05/29 23:37:28 wiz Exp $
+# $NetBSD: Makefile,v 1.14 2014/10/09 12:49:21 gdt Exp $
#
-DISTNAME= etcmanage-0.8.2
-PKGREVISION= 3
+DISTNAME= etcmanage-0.9.1
CATEGORIES= sysutils
MASTER_SITES= http://www.ir.bbn.com/~gdt/etcmanage/
@@ -14,5 +13,10 @@ LICENSE= modified-bsd
USE_TOOLS+= perl:run
USE_PKGLOCALEDIR= yes
GNU_CONFIGURE= yes
+TEST_TARGET= check
+
+AUTO_MKDIRS= YES
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/etcmanage/PLIST b/sysutils/etcmanage/PLIST
index b9543b64301..7795a600010 100644
--- a/sysutils/etcmanage/PLIST
+++ b/sysutils/etcmanage/PLIST
@@ -1,4 +1,5 @@
-@comment $NetBSD: PLIST,v 1.2 2006/12/02 19:04:26 gdt Exp $
+@comment $NetBSD: PLIST,v 1.3 2014/10/09 12:49:21 gdt Exp $
bin/BUILD-NetBSD
bin/INSTALL-NetBSD
bin/etcmanage
+share/doc/etcmanage/README
diff --git a/sysutils/etcmanage/distinfo b/sysutils/etcmanage/distinfo
index f3ebb21e83b..d60b25e3a62 100644
--- a/sysutils/etcmanage/distinfo
+++ b/sysutils/etcmanage/distinfo
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.7 2012/04/18 16:39:49 gdt Exp $
+$NetBSD: distinfo,v 1.8 2014/10/09 12:49:21 gdt Exp $
-SHA1 (etcmanage-0.8.2.tar.gz) = 6868ce918eb6b665a27edf2264b8f010fc86ad8c
-RMD160 (etcmanage-0.8.2.tar.gz) = ef5678d765d68c81cb1c70719fff2f6cf158d799
-Size (etcmanage-0.8.2.tar.gz) = 65112 bytes
+SHA1 (etcmanage-0.9.1.tar.gz) = 334b596cc26fe6b1b812c2c369520fb921ccdb9e
+RMD160 (etcmanage-0.9.1.tar.gz) = 39947cdfac1b911822b0b887e29e607bd9d3fa7e
+Size (etcmanage-0.9.1.tar.gz) = 101632 bytes