]> andersk Git - gssapi-openssh.git/blobdiff - openssh/buildpkg.sh.in
Merge from OPENSSH_3_8_1P1_GSSAPI_20040713 to OPENSSH_3_9P1_GSSAPI_20040818.
[gssapi-openssh.git] / openssh / buildpkg.sh.in
old mode 100755 (executable)
new mode 100644 (file)
similarity index 57%
rename from openssh/contrib/solaris/buildpkg.sh
rename to openssh/buildpkg.sh.in
index 29d0963..f243e90
@@ -9,7 +9,9 @@
 umask 022
 #
 # Options for building the package
-# You can create a config.local with your customized options
+# You can create a openssh-config.local with your customized options
+#
+REMOVE_FAKE_ROOT_WHEN_DONE=yes
 #
 # uncommenting TEST_DIR and using
 # configure --prefix=/var/tmp --with-privsep-path=/var/tmp/empty
@@ -19,6 +21,8 @@ umask 022
 # that support the -R option to pkgadd.
 #TEST_DIR=/var/tmp     # leave commented out for production build
 PKGNAME=OpenSSH
+# revisions within the same version (REV=a)
+#REV=
 SYSVINIT_NAME=opensshd
 MAKE=${MAKE:="make"}
 SSHDUID=67     # Default privsep uid
@@ -27,6 +31,26 @@ SSHDGID=67   # Default privsep gid
 #PERMIT_ROOT_LOGIN=no
 #X11_FORWARDING=yes
 #USR_LOCAL_IS_SYMLINK=yes
+# System V init run levels
+SYSVINITSTART=S98
+SYSVINITSTOPT=K30
+# We will source these if they exist
+POST_MAKE_INSTALL_FIXES=./pkg_post_make_install_fixes.sh
+POST_PROTOTYPE_EDITS=./pkg-post-prototype-edit.sh
+# We'll be one level deeper looking for these
+PKG_PREINSTALL_LOCAL=../pkg-preinstall.local
+PKG_POSTINSTALL_LOCAL=../pkg-postinstall.local
+PKG_PREREMOVE_LOCAL=../pkg-preremove.local
+PKG_POSTREMOVE_LOCAL=../pkg-postremove.local
+PKG_REQUEST_LOCAL=../pkg-request.local
+# end of sourced files
+#
+OPENSSHD=opensshd.init
+
+PATH_GROUPADD_PROG=@PATH_GROUPADD_PROG@
+PATH_USERADD_PROG=@PATH_USERADD_PROG@
+PATH_PASSWD_PROG=@PATH_PASSWD_PROG@
+#
 # list of system directories we do NOT want to change owner/group/perms
 # when installing our package
 SYSTEM_DIR="/etc       \
@@ -63,6 +87,10 @@ SYSTEM_DIR="/etc     \
 
 # We may need to build as root so we make sure PATH is set up
 # only set the path if it's not set already
+[ -d /opt/bin ]  &&  {
+       echo $PATH | grep ":/opt/bin"  > /dev/null 2>&1
+       [ $? -ne 0 ] && PATH=$PATH:/opt/bin
+}
 [ -d /usr/local/bin ]  &&  {
        echo $PATH | grep ":/usr/local/bin"  > /dev/null 2>&1
        [ $? -ne 0 ] && PATH=$PATH:/usr/local/bin
@@ -79,25 +107,14 @@ export PATH
        exit 1
 }
 
-# we will look for config.local to override the above options
-[ -s ./config.local ]  &&  . ./config.local
+# we will look for openssh-config.local to override the above options
+[ -s ./openssh-config.local ]  &&  . ./openssh-config.local
 
-## Start by faking root install
-echo "Faking root install..."
 START=`pwd`
-OPENSSHD_IN=`dirname $0`/opensshd.in
-FAKE_ROOT=$START/package
-[ -d $FAKE_ROOT ]  &&  rm -fr $FAKE_ROOT
-mkdir $FAKE_ROOT
-${MAKE} install-nokeys DESTDIR=$FAKE_ROOT
-if [ $? -gt 0 ]
-then
-       echo "Fake root install failed, stopping."
-       exit 1
-fi
+FAKE_ROOT=$START/pkg
 
 ## Fill in some details, like prefix and sysconfdir
-for confvar in prefix exec_prefix bindir sbindir libexecdir datadir mandir sysconfdir piddir
+for confvar in prefix exec_prefix bindir sbindir libexecdir datadir mandir sysconfdir piddir srcdir
 do
        eval $confvar=`grep "^$confvar=" Makefile | cut -d = -f 2`
 done
@@ -118,6 +135,10 @@ fi
 ## Extract common info requires for the 'info' part of the package.
 VERSION=`./ssh -V 2>&1 | sed -e 's/,.*//'`
 
+ARCH=`uname -m`
+DEF_MSG="\n"
+OS_VER=`uname -v`
+SCRIPT_SHELL=/sbin/sh
 UNAME_S=`uname -s`
 case ${UNAME_S} in
        SunOS)  UNAME_S=Solaris
@@ -125,18 +146,31 @@ case ${UNAME_S} in
                RCS_D=yes
                DEF_MSG="(default: n)"
                ;;
-       *)      ARCH=`uname -m`
-               DEF_MSG="\n" ;;
+       SCO_SV) UNAME_S=OpenServer
+               OS_VER=`uname -X | grep Release | sed -e 's/^Rel.*3.2v//'`
+               SCRIPT_SHELL=/bin/sh
+               RC1_D=no
+               DEF_MSG="(default: n)"
+               ;;
 esac
 
+case `basename $0` in
+       buildpkg.sh)
+## Start by faking root install
+echo "Faking root install..."
+[ -d $FAKE_ROOT ]  &&  rm -fr $FAKE_ROOT
+mkdir $FAKE_ROOT
+${MAKE} install-nokeys DESTDIR=$FAKE_ROOT
+if [ $? -gt 0 ]
+then
+       echo "Fake root install failed, stopping."
+       exit 1
+fi
+
 ## Setup our run level stuff while we are at it.
 mkdir -p $FAKE_ROOT${TEST_DIR}/etc/init.d
 
-## setup our initscript correctly
-sed -e "s#%%configDir%%#${sysconfdir}#g"       \
-    -e "s#%%openSSHDir%%#$prefix#g"            \
-    -e "s#%%pidDir%%#${piddir}#g"              \
-       ${OPENSSHD_IN}  > $FAKE_ROOT${TEST_DIR}/etc/init.d/${SYSVINIT_NAME}
+cp ${OPENSSHD} $FAKE_ROOT${TEST_DIR}/etc/init.d/${SYSVINIT_NAME}
 chmod 744 $FAKE_ROOT${TEST_DIR}/etc/init.d/${SYSVINIT_NAME}
 
 [ "${PERMIT_ROOT_LOGIN}" = no ]  &&  \
@@ -155,6 +189,9 @@ mv $FAKE_ROOT/${sysconfdir}/sshd_config $FAKE_ROOT/${sysconfdir}/sshd_config.def
 [ -f $FAKE_ROOT/${sysconfdir}/ssh_prng_cmds ]  &&  \
 mv $FAKE_ROOT/${sysconfdir}/ssh_prng_cmds $FAKE_ROOT/${sysconfdir}/ssh_prng_cmds.default
 
+# local tweeks here
+[ -s "${POST_MAKE_INSTALL_FIXES}" ]  &&  . ${POST_MAKE_INSTALL_FIXES}
+
 cd $FAKE_ROOT
 
 ## Ok, this is outright wrong, but it will work.  I'm tired of pkgmk
@@ -171,16 +208,40 @@ NAME="OpenSSH Portable for ${UNAME_S}"
 DESC="Secure Shell remote access utility; replaces telnet and rlogin/rsh."
 VENDOR="OpenSSH Portable Team - http://www.openssh.com/portable.html"
 ARCH=$ARCH
-VERSION=$VERSION
+VERSION=$VERSION$REV
 CATEGORY="Security,application"
 BASEDIR=/
 CLASSES="none"
+PSTAMP="${UNAME_S} ${OS_VER} ${ARCH} `date '+%d%b%Y %H:%M'`"
 _EOF
 
+## Build empty depend file that may get updated by $POST_PROTOTYPE_EDITS
+echo "Building depend file..."
+touch depend
+
+## Build space file
+echo "Building space file..."
+cat > space << _EOF
+# extra space required by start/stop links added by installf in postinstall
+$TEST_DIR/etc/rc0.d/${SYSVINITSTOPT}${SYSVINIT_NAME} 0 1
+$TEST_DIR/etc/rc2.d/${SYSVINITSTART}${SYSVINIT_NAME} 0 1
+_EOF
+[ "$RC1_D" = no ]  ||  \
+echo "$TEST_DIR/etc/rc1.d/${SYSVINITSTOPT}${SYSVINIT_NAME} 0 1" >> space
+[ "$RCS_D" = yes ]  &&  \
+echo "$TEST_DIR/etc/rcS.d/${SYSVINITSTOPT}${SYSVINIT_NAME} 0 1" >> space
+
 ## Build preinstall file
 echo "Building preinstall file..."
 cat > preinstall << _EOF
-#! /sbin/sh
+#! ${SCRIPT_SHELL}
+#
+_EOF
+
+# local preinstall changes here
+[ -s "${PKG_PREINSTALL_LOCAL}" ]  &&  . ${PKG_PREINSTALL_LOCAL}
+
+cat >> preinstall << _EOF
 #
 [ "\${PRE_INS_STOP}" = "yes" ]  &&  ${TEST_DIR}/etc/init.d/${SYSVINIT_NAME} stop
 exit 0
@@ -189,7 +250,7 @@ _EOF
 ## Build postinstall file
 echo "Building postinstall file..."
 cat > postinstall << _EOF
-#! /sbin/sh
+#! ${SCRIPT_SHELL}
 #
 [ -f \${PKG_INSTALL_ROOT}${sysconfdir}/ssh_config ]  ||  \\
        cp -p \${PKG_INSTALL_ROOT}${sysconfdir}/ssh_config.default \\
@@ -207,28 +268,36 @@ cat > postinstall << _EOF
 [ -n "${TEST_DIR}" ]  &&  {
        [ "$RCS_D" = yes ]  &&  mkdir -p ${TEST_DIR}/etc/rcS.d
        mkdir -p ${TEST_DIR}/etc/rc0.d
-       mkdir -p ${TEST_DIR}/etc/rc1.d
+       [ "$RC1_D" = no ]  ||  mkdir -p ${TEST_DIR}/etc/rc1.d
        mkdir -p ${TEST_DIR}/etc/rc2.d
 }
 
 if [ "\${USE_SYM_LINKS}" = yes ]
 then
        [ "$RCS_D" = yes ]  &&  \
-installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rcS.d/K30${SYSVINIT_NAME}=../init.d/${SYSVINIT_NAME} s
-       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc0.d/K30${SYSVINIT_NAME}=../init.d/${SYSVINIT_NAME} s
-       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc1.d/K30${SYSVINIT_NAME}=../init.d/${SYSVINIT_NAME} s
-       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc2.d/S98${SYSVINIT_NAME}=../init.d/${SYSVINIT_NAME} s
+installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rcS.d/${SYSVINITSTOPT}${SYSVINIT_NAME}=../init.d/${SYSVINIT_NAME} s
+       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc0.d/${SYSVINITSTOPT}${SYSVINIT_NAME}=../init.d/${SYSVINIT_NAME} s
+       [ "$RC1_D" = no ]  ||  \
+       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc1.d/${SYSVINITSTOPT}${SYSVINIT_NAME}=../init.d/${SYSVINIT_NAME} s
+       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc2.d/${SYSVINITSTART}${SYSVINIT_NAME}=../init.d/${SYSVINIT_NAME} s
 else
        [ "$RCS_D" = yes ]  &&  \
-installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rcS.d/K30${SYSVINIT_NAME}=$TEST_DIR/etc/init.d/${SYSVINIT_NAME} l
-       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc0.d/K30${SYSVINIT_NAME}=$TEST_DIR/etc/init.d/${SYSVINIT_NAME} l
-       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc1.d/K30${SYSVINIT_NAME}=$TEST_DIR/etc/init.d/${SYSVINIT_NAME} l
-       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc2.d/S98${SYSVINIT_NAME}=$TEST_DIR/etc/init.d/${SYSVINIT_NAME} l
+installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rcS.d/${SYSVINITSTOPT}${SYSVINIT_NAME}=$TEST_DIR/etc/init.d/${SYSVINIT_NAME} l
+       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc0.d/${SYSVINITSTOPT}${SYSVINIT_NAME}=$TEST_DIR/etc/init.d/${SYSVINIT_NAME} l
+       [ "$RC1_D" = no ]  ||  \
+       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc1.d/${SYSVINITSTOPT}${SYSVINIT_NAME}=$TEST_DIR/etc/init.d/${SYSVINIT_NAME} l
+       installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR/etc/rc2.d/${SYSVINITSTART}${SYSVINIT_NAME}=$TEST_DIR/etc/init.d/${SYSVINIT_NAME} l
 fi
 
 # If piddir doesn't exist we add it. (Ie. --with-pid-dir=/var/opt/ssh)
-[ -d $piddir ]  ||  installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR$piddir d 755 root sys
+[ -d $piddir ]  ||  installf ${PKGNAME} \${PKG_INSTALL_ROOT}$TEST_DIR$piddir d 0755 root sys
+
+_EOF
+
+# local postinstall changes here
+[ -s "${PKG_POSTINSTALL_LOCAL}" ]  &&  . ${PKG_POSTINSTALL_LOCAL}
 
+cat >> postinstall << _EOF
 installf -f ${PKGNAME}
 
 # Use chroot to handle PKG_INSTALL_ROOT
@@ -249,11 +318,27 @@ then
 else
        echo "UsePrivilegeSeparation enabled in config (or defaulting to on)."
 
-       # create group if required
-       if cut -f1 -d: \${PKG_INSTALL_ROOT}/etc/group | egrep '^'$SSH_PRIVSEP_USER'\$' >/dev/null
+       # user required?
+       if cut -f1 -d: \${PKG_INSTALL_ROOT}/etc/passwd | egrep '^'$SSH_PRIVSEP_USER'\$' >/dev/null
        then
-               echo "PrivSep group $SSH_PRIVSEP_USER already exists."
+               echo "PrivSep user $SSH_PRIVSEP_USER already exists."
+               SSH_PRIVSEP_GROUP=\`grep "^$SSH_PRIVSEP_USER:" \${PKG_INSTALL_ROOT}/etc/passwd | awk -F: '{print \$4}'\`
+               SSH_PRIVSEP_GROUP=\`grep ":\$SSH_PRIVSEP_GROUP:" \${PKG_INSTALL_ROOT}/etc/group | awk -F: '{print \$1}'\`
        else
+               DO_PASSWD=yes
+       fi
+       [ -z "\$SSH_PRIVSEP_GROUP" ]  &&  SSH_PRIVSEP_GROUP=$SSH_PRIVSEP_USER
+
+       # group required?
+       if cut -f1 -d: \${PKG_INSTALL_ROOT}/etc/group | egrep '^'\$SSH_PRIVSEP_GROUP'\$' >/dev/null
+       then
+               echo "PrivSep group \$SSH_PRIVSEP_GROUP already exists."
+       else
+               DO_GROUP=yes
+       fi
+
+       # create group if required
+       [ "\$DO_GROUP" = yes ]  &&  {
                # Use gid of 67 if possible
                if cut -f3 -d: \${PKG_INSTALL_ROOT}/etc/group | egrep '^'$SSHDGID'\$' >/dev/null
                then
@@ -261,15 +346,12 @@ else
                else
                        sshdgid="-g $SSHDGID"
                fi
-               echo "Creating PrivSep group $SSH_PRIVSEP_USER."
-               \$chroot /usr/sbin/groupadd \$sshdgid $SSH_PRIVSEP_USER
-       fi
+               echo "Creating PrivSep group \$SSH_PRIVSEP_GROUP."
+               \$chroot ${PATH_GROUPADD_PROG} \$sshdgid \$SSH_PRIVSEP_GROUP
+       }
 
        # Create user if required
-       if cut -f1 -d: \${PKG_INSTALL_ROOT}/etc/passwd | egrep '^'$SSH_PRIVSEP_USER'\$' >/dev/null
-       then
-               echo "PrivSep user $SSH_PRIVSEP_USER already exists."
-       else
+       [ "\$DO_PASSWD" = yes ]  &&  {
                # Use uid of 67 if possible
                if cut -f3 -d: \${PKG_INSTALL_ROOT}/etc/passwd | egrep '^'$SSHDGID'\$' >/dev/null
                then
@@ -278,9 +360,9 @@ else
                        sshduid="-u $SSHDUID"
                fi
                echo "Creating PrivSep user $SSH_PRIVSEP_USER."
-               \$chroot /usr/sbin/useradd -c 'SSHD PrivSep User' -s /bin/false -g $SSH_PRIVSEP_USER \$sshduid $SSH_PRIVSEP_USER
-               \$chroot /usr/bin/passwd -l $SSH_PRIVSEP_USER
-       fi
+               \$chroot ${PATH_USERADD_PROG} -c 'SSHD PrivSep User' -s /bin/false -g $SSH_PRIVSEP_USER \$sshduid $SSH_PRIVSEP_USER
+               \$chroot ${PATH_PASSWD_PROG} -l $SSH_PRIVSEP_USER
+       }
 fi
 
 [ "\${POST_INS_START}" = "yes" ]  &&  ${TEST_DIR}/etc/init.d/${SYSVINIT_NAME} start
@@ -290,9 +372,29 @@ _EOF
 ## Build preremove file
 echo "Building preremove file..."
 cat > preremove << _EOF
-#! /sbin/sh
+#! ${SCRIPT_SHELL}
 #
 ${TEST_DIR}/etc/init.d/${SYSVINIT_NAME} stop
+_EOF
+
+# local preremove changes here
+[ -s "${PKG_PREREMOVE_LOCAL}" ]  &&  . ${PKG_PREREMOVE_LOCAL}
+
+cat >> preremove << _EOF
+exit 0
+_EOF
+
+## Build postremove file
+echo "Building postremove file..."
+cat > postremove << _EOF
+#! ${SCRIPT_SHELL}
+#
+_EOF
+
+# local postremove changes here
+[ -s "${PKG_POSTREMOVE_LOCAL}" ]  &&  . ${PKG_POSTREMOVE_LOCAL}
+
+cat >> postremove << _EOF
 exit 0
 _EOF
 
@@ -300,6 +402,59 @@ _EOF
 echo "Building request file..."
 cat > request << _EOF
 trap 'exit 3' 15
+
+_EOF
+
+[ -x /usr/bin/ckyorn ]  ||  cat >> request << _EOF
+
+ckyorn() {
+# for some strange reason OpenServer has no ckyorn
+# We build a striped down version here
+
+DEFAULT=n
+PROMPT="Yes or No [yes,no,?,quit]"
+HELP_PROMPT="        Enter y or yes if your answer is yes; n or no if your answer is no."
+USAGE="usage: ckyorn [options]
+where options may include:
+        -d default
+        -h help
+        -p prompt
+"
+
+if [ \$# != 0 ]
+then
+       while getopts d:p:h: c
+       do
+               case \$c in
+                       h)      HELP_PROMPT="\$OPTARG" ;;
+                       d)      DEFAULT=\$OPTARG ;;
+                       p)      PROMPT=\$OPTARG ;;
+                       \\?)    echo "\$USAGE" 1>&2
+                               exit 1 ;;
+               esac
+       done
+       shift \`expr \$OPTIND - 1\`
+fi
+
+while true
+do
+       echo "\${PROMPT}\\c " 1>&2
+       read key
+       [ -z "\$key" ]  &&  key=\$DEFAULT
+       case \$key in
+               [n,N]|[n,N][o,O]|[y,Y]|[y,Y][e,E][s,S]) echo "\${key}\\c"
+                       exit 0 ;;
+               \\?)    echo \$HELP_PROMPT 1>&2 ;;
+               q|quit) echo "q\\c" 1>&2
+                       exit 3 ;;
+       esac
+done
+
+}
+
+_EOF
+
+cat >> request << _EOF
 USE_SYM_LINKS=no
 PRE_INS_STOP=no
 POST_INS_START=no
@@ -338,36 +493,38 @@ USE_SYM_LINKS='\$USE_SYM_LINKS'
 PRE_INS_STOP='\$PRE_INS_STOP'
 POST_INS_START='\$POST_INS_START'
 !
-exit 0
 
 _EOF
 
-## Build space file
-echo "Building space file..."
-cat > space << _EOF
-# extra space required by start/stop links added by installf in postinstall
-$TEST_DIR/etc/rc0.d/K30${SYSVINIT_NAME} 0 1
-$TEST_DIR/etc/rc1.d/K30${SYSVINIT_NAME} 0 1
-$TEST_DIR/etc/rc2.d/S98${SYSVINIT_NAME} 0 1
+# local request changes here
+[ -s "${PKG_REQUEST_LOCAL}" ]  &&  . ${PKG_REQUEST_LOCAL}
+
+cat >> request << _EOF
+exit 0
+
 _EOF
-[ "$RCS_D" = yes ]  &&  \
-echo "$TEST_DIR/etc/rcS.d/K30${SYSVINIT_NAME} 0 1" >> space
 
 ## Next Build our prototype
 echo "Building prototype file..."
 cat >mk-proto.awk << _EOF
-           BEGIN { print "i pkginfo"; print "i preinstall"; \\
-                   print "i postinstall"; print "i preremove"; \\
+           BEGIN { print "i pkginfo"; print "i depend"; \\
+                   print "i preinstall"; print "i postinstall"; \\
+                   print "i preremove"; print "i postremove"; \\
                    print "i request"; print "i space"; \\
                    split("$SYSTEM_DIR",sys_files); }
            {
             for (dir in sys_files) { if ( \$3 != sys_files[dir] )
-                    { \$5="root"; \$6="sys"; }
+                    { if ( \$1 == "s" )
+                       { \$5=""; \$6=""; }
+                    else
+                       { \$5="root"; \$6="sys"; }
+                    }
                else
                     { \$4="?"; \$5="?"; \$6="?"; break;}
            } }
            { print; }
 _EOF
+
 find . | egrep -v "prototype|pkginfo|mk-proto.awk" | sort | \
        pkgproto $PROTO_ARGS | nawk -f mk-proto.awk > prototype
 
@@ -378,9 +535,28 @@ find . | egrep -v "prototype|pkginfo|mk-proto.awk" | sort | \
 }
 
 ## Step back a directory and now build the package.
-echo "Building package.."
 cd ..
+# local prototype tweeks here
+[ -s "${POST_PROTOTYPE_EDITS}" ]  &&  . ${POST_PROTOTYPE_EDITS}
+
+echo "Building package.."
 pkgmk -d ${FAKE_ROOT} -f $FAKE_ROOT/prototype -o
-echo | pkgtrans -os ${FAKE_ROOT} ${START}/$PKGNAME-$UNAME_S-$ARCH-$VERSION.pkg
-rm -rf $FAKE_ROOT
+echo | pkgtrans -os ${FAKE_ROOT} ${START}/$PKGNAME-$VERSION$REV-$UNAME_S-$ARCH.pkg
+       ;;
+
+       justpkg.sh)
+rm -fr ${FAKE_ROOT}/${PKGNAME}
+grep -v "^PSTAMP=" $FAKE_ROOT/pkginfo > $$tmp
+mv $$tmp $FAKE_ROOT/pkginfo
+cat >> $FAKE_ROOT/pkginfo << _EOF
+PSTAMP="${UNAME_S} ${OS_VER} ${ARCH} `date '+%d%b%Y %H:%M'`"
+_EOF
+pkgmk -d ${FAKE_ROOT} -f $FAKE_ROOT/prototype -o
+echo | pkgtrans -os ${FAKE_ROOT} ${START}/$PKGNAME-$VERSION$REV-$UNAME_S-$ARCH.pkg
+       ;;
+
+esac
+
+[ "${REMOVE_FAKE_ROOT_WHEN_DONE}" = yes ]  &&  rm -rf $FAKE_ROOT
+exit 0
 
This page took 0.053686 seconds and 4 git commands to generate.