Revision: 6814 http://gar.svn.sourceforge.net/gar/?rev=6814&view=rev Author: bdwalton Date: 2009-10-10 03:06:54 +0000 (Sat, 10 Oct 2009)
Log Message: ----------- cswpkglogger: initial commit of hooks to syslog package actions Added Paths: ----------- csw/mgar/pkg/cswpkglogger/ csw/mgar/pkg/cswpkglogger/branches/ csw/mgar/pkg/cswpkglogger/tags/ csw/mgar/pkg/cswpkglogger/trunk/ csw/mgar/pkg/cswpkglogger/trunk/Makefile csw/mgar/pkg/cswpkglogger/trunk/checksums csw/mgar/pkg/cswpkglogger/trunk/files/ csw/mgar/pkg/cswpkglogger/trunk/files/01-CSWcswpkglogger-postupgrade csw/mgar/pkg/cswpkglogger/trunk/files/01-CSWcswpkglogger-preupgrade Property changes on: csw/mgar/pkg/cswpkglogger/trunk ___________________________________________________________________ Added: svn:ignore + cookies download work Added: svn:externals + gar https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/gar/v2 Added: csw/mgar/pkg/cswpkglogger/trunk/Makefile =================================================================== --- csw/mgar/pkg/cswpkglogger/trunk/Makefile (rev 0) +++ csw/mgar/pkg/cswpkglogger/trunk/Makefile 2009-10-10 03:06:54 UTC (rev 6814) @@ -0,0 +1,34 @@ +GARNAME = cswpkglogger +GARVERSION = 1.0 +CATEGORIES = utils + +DESCRIPTION = Hook scripts to log package maintenance actions +define BLURB +This set of hook scripts will log package maintenance actions to syslog. +It is dependent on the use of a CSW package tool that is 'hook aware.' +endef + +MASTER_SITES = +DISTFILES = + +ARCHALL = 1 + +CONFIGURE_SCRIPTS = +BUILD_SCRIPTS = +TEST_SCRIPTS = +INSTALL_SCRIPTS = custom + +include gar/category.mk + +HOOKDIR=$(DESTDIR)/etc/opt/csw/pkg-hooks +POSTHOOKS = postinstall postupgrade postremove +PREHOOKS = preupgrade +HOOKS = $(PREHOOKS) $(POSTHOOKS) + +install-custom: + @echo Installing CSWcswpkglogger files... + @( ginstall -m 0755 -d $(HOOKDIR) $(addprefix $(HOOKDIR)/,$(addsuffix .d,$(HOOKS))); \ + ginstall -m 0755 $(FILEDIR)/01-CSWcswpkglogger-postupgrade $(HOOKDIR)/postupgrade.d/; \ + ln $(HOOKDIR)/postupgrade.d/01-CSWcswpkglogger-postupgrade $(HOOKDIR)/postinstall.d/01-CSWcswpkglogger-postinstall; \ + ln $(HOOKDIR)/postupgrade.d/01-CSWcswpkglogger-postupgrade $(HOOKDIR)/postremove.d/01-CSWcswpkglogger-postremove; \ + ginstall -m 0755 $(FILEDIR)/01-CSWcswpkglogger-preupgrade $(HOOKDIR)/preupgrade.d/;) Added: csw/mgar/pkg/cswpkglogger/trunk/files/01-CSWcswpkglogger-postupgrade =================================================================== --- csw/mgar/pkg/cswpkglogger/trunk/files/01-CSWcswpkglogger-postupgrade (rev 0) +++ csw/mgar/pkg/cswpkglogger/trunk/files/01-CSWcswpkglogger-postupgrade 2009-10-10 03:06:54 UTC (rev 6814) @@ -0,0 +1,62 @@ +#!/opt/csw/bin/bash + +script=$0 + +set -- ${1/-/ } +PKG=$1 +VER=$2 + +function logdie() { + logger -t "CSW Package Logger" "$1" + exit 0 +} + +function success() { + case ${script} in + *install) MSG="installed ${PKG} ${VER}";; + *upgrade) MSG="upgraded ${PKG} to ${VER} (from: $1)";; + *remove) MSG="removed ${PKG} ${VER}";; + esac + + logdie "${MSG}" +} + +function failure() { + case ${script} in + *install) MSG="Failed to install ${PKG} ${VER}";; + *upgrade) MSG="Failed to upgrade ${PKG} ${VER} (current: $1)";; + *remove) MSG="Failed to remove ${PKG} ${VER}";; + esac + + logdie "${MSG}" +} + +if [ -d /var/sadm/pkg/${PKG} ]; then + SYSTEMVER=$(pkgparam ${PKG} VERSION 2>/dev/null) + pf=/var/opt/csw/pkg-hooks/CSWpkglogger.upgrade.${PKG} + if [ -f ${pf} ]; then + PREVVER=$(cat ${pf} 2>/dev/null) + rm -f ${pf} + fi + + case ${script} in + *remove) + failure + ;; + *install|*upgrade) + case "${VER}" in + ${SYSTEMVER}) success ${PREVVER};; + *) failure ${SYSTEMVER};; + esac + ;; + esac +else + case ${script} in + *remove) + success + ;; + *install|*upgrade) + failure + ;; + esac +fi Property changes on: csw/mgar/pkg/cswpkglogger/trunk/files/01-CSWcswpkglogger-postupgrade ___________________________________________________________________ Added: svn:executable + * Added: csw/mgar/pkg/cswpkglogger/trunk/files/01-CSWcswpkglogger-preupgrade =================================================================== --- csw/mgar/pkg/cswpkglogger/trunk/files/01-CSWcswpkglogger-preupgrade (rev 0) +++ csw/mgar/pkg/cswpkglogger/trunk/files/01-CSWcswpkglogger-preupgrade 2009-10-10 03:06:54 UTC (rev 6814) @@ -0,0 +1,11 @@ +#!/opt/csw/bin/bash + +set -- ${1/-/ } + +PKG=$1 +VER=$2 + +SYSTEMVER=$(pkgparam ${PKG} VERSION) + +# store previous version so we can log smarter things if upgrade fails. +echo ${SYSTEMVER} > /var/opt/csw/pkg-hooks/CSWpkglogger.upgrade.${PKG} Property changes on: csw/mgar/pkg/cswpkglogger/trunk/files/01-CSWcswpkglogger-preupgrade ___________________________________________________________________ Added: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ devel mailing list devel@lists.opencsw.org https://lists.opencsw.org/mailman/listinfo/devel