Rev 6559 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#!/bin/sh#set -xUSAGE="Usage: make_readonly archive pkgname pkgversion"case "$1" in-h*|--h*) echo "$USAGE"; exit 0 ;;esacif [ $# != 3 ]; thenecho "$USAGE" 1>&2exit 100fi# Log operationsLOGDIR=/home/releasem/logsLOGFILE=`date +release.%Y.%m.%d.log`mkdir -p $LOGDIRecho `date` " make_readonly $1 $2 $3" >> $LOGDIR/$LOGFILEcase "$1" indpkg_archive) ARCHIVE="/devl/dpkg_archive" ;;deploy_archive) ARCHIVE="/devl/deploy_archive" ;;releases) ARCHIVE="/devl/releases" ;;*) echo "$0: Invalid archive: $1" 1>&2exit 101;;esacif [ "`echo $2 | sed 's/[A-Za-z][-_A-Za-z0-9]*/x/'`" != "x" ]; thenecho "$0: Invalid package name: $2" 1>&2exit 102fiif [ "`echo $3 | sed 's/[A-Za-z0-9][-_.A-Za-z0-9]*/x/'`" != "x" ]; thenecho "$0: Invalid package version: $3" 1>&2exit 103fiPKGDIR="$ARCHIVE/$2/$3"if [ ! -d "$PKGDIR" ]; thenecho "$0: Not a directory: $PKGDIR" 1>&2exit 105fi## Package Post Install Process for known packages# These packages are generally build system related#if [ "$2" = "core_devl" -o "$2" = "buildtool" -o "$2" = "jats-installer" -o "$2" = "generate_release_notes" ] ; thenif [ -f "$PKGDIR/PostInstall.sh" ]; thenecho "PostInstall script found"( cd "$PKGDIR"; chmod +x PostInstall.sh; ./PostInstall.sh "$archive" "$2" "$3" )echo "PostInstall script execution complete"fifi## Fix owner and perms on files and directories# Do not do links# Remove write access# Set owner to root# Remove 'releasem' user placed to allow release note insertion##find "$PKGDIR" ! -type l -exec chmod a-w {} \; -exec chown root:ccperdev {} \;#setfacl -R -m group::r-x "$PKGDIR"#setfacl -R -x user:releasem "$PKGDIR"setfacl -R -x user:releasem "$PKGDIR"setfacl -R -m user::rX,group::rX,other::rX "$PKGDIR"