From 1615176a876c38ef301d59ff012d966a04a2d99c Mon Sep 17 00:00:00 2001 From: Jose V Beneyto Date: Fri, 19 Oct 2012 02:19:46 +0000 Subject: [PATCH] Improved makeRootfs script and added changes for next 2.8 --- makeRootfs.sh | 59 +++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/makeRootfs.sh b/makeRootfs.sh index fb1fb56..eb062e7 100755 --- a/makeRootfs.sh +++ b/makeRootfs.sh @@ -2,19 +2,13 @@ # msgUsage: show a usage message and exit msgUsage() { - echo "Usage: $(basename $0) [TMP_DIR] [PKG_DIR] [RELEASE_DIR] [RELEASE_NAME]" + echo "Usage: $(basename $0) " echo "Examples:" - echo " \$ $(basename $0) tmp ports/core-cross releases crux-arm-rootfs-2.7" - echo " \$ $(basename $0) tmp ports/core-cross releases crux-arm-rootfs-2.6" - echo " \$ $(basename $0) tmp ports/core-cross-noeabi releases crux-arm-rootfs-2.6-noeabi" + echo " \$ $(basename $0) /tmp/rootfs ports/core-cross . minirootfs-XX" + echo " \$ $(basename $0) /tmp/rootfs /pub/pkg releases crux-arm-rootfs-XX" exit 0 } -# msgWarn: show a warning message -msgWarn() { - echo "Warning, $@" 2>&1 -} - # msgError: show a error message and exit msgError() { echo "Error, $@" 2>&1 @@ -33,58 +27,57 @@ checkCommands() { # checkVars: checks for user given arguments # # params: -# $1 - TMP_DIR -# $2 - PKG_DIR +# $1 - TMPDIR +# $2 - PKGDIR # $3 - RELEASE_DIR # $4 - RELEASE_NAME checkVars() { [ $# -lt 1 ] && msgUsage - [ ! -z "$1" ] && TMP_DIR="$1" - [ "$TMP_DIR" = "/tmp" ] && msgError "you can't use /tmp as TMP_DIR" - [ ! -z "$2" ] && PKG_DIR="$2" + [ ! -z "$1" ] && TMPDIR="$1" + [ "$TMPDIR" = "/tmp" ] && msgError "you can't use /tmp as TMPDIR" + [ ! -z "$2" ] && PKGDIR="$2" [ ! -z "$3" ] && RELEASE_DIR="$3" [ ! -z "$4" ] && RELEASE_NAME="$4" # check for directories, if not create them - for dir in $TMP_DIR $RELEASE_DIR; do + for dir in $TMPDIR $RELEASE_DIR; do if [ ! -d "$dir" ]; then - msgWarn "creating directory '$dir'" && install -d $dir || exit 1 + install -d $dir || msgError "can't create directory $dir" fi done - TMP_DIR="$(cd $TMP_DIR; pwd)" - PKG_DIR="$(cd $PKG_DIR; pwd)" + TMPDIR="$(cd $TMPDIR; pwd)" + PKGDIR="$(cd $PKGDIR; pwd)" RELEASE_DIR="$(cd $RELEASE_DIR; pwd)" - [ -z "$PACKAGES" ] && PACKAGES="$(find $PKG_DIR -type f -name '*#*pkg.tar.gz')" + [ -z "$PACKAGES" ] && PACKAGES="$(find $PKGDIR -type f -name '*#*pkg.tar.*')" } # global variables PWD_DIR="$(pwd)" -TMP_DIR="$PWD_DIR/tmp" -PKG_DIR="$PWD_DIR/pkg" -RELEASE_DIR="$PWD_DIR/releases" -RELEASE_NAME="crux-arm-rootfs-2.7" -PACKAGES="" +TMPDIR="$PWD_DIR/tmp" +PKGDIR="$PWD_DIR/pkg" checkCommands checkVars $@ # create the database stuff for pkgutils -sudo install -d -m 0755 $TMP_DIR/var/lib/pkg -sudo touch $TMP_DIR/var/lib/pkg/db -sudo chmod 0444 $TMP_DIR/var/lib/pkg/db +sudo install -d -m 0755 $TMPDIR/var/lib/pkg +sudo touch $TMPDIR/var/lib/pkg/db +sudo chmod 0444 $TMPDIR/var/lib/pkg/db # install all packages pkgnum=0 +echo "Please wait for results..." for pkg in $PACKAGES; do - sudo pkgadd -r $TMP_DIR $pkg && echo "Installing $pkg" || exit 1 + sudo pkgadd -r $TMPDIR $pkg || msgError "failed to install $pkg" let pkgnum=$pkgnum+1 done # create the tarball and the md5sum -cd $TMP_DIR && sudo tar cvjf $RELEASE_DIR/$RELEASE_NAME.tar.bz2 * && cd .. -cd $RELEASE_DIR && md5sum $RELEASE_NAME.tar.bz2 > $RELEASE_NAME.tar.bz2.md5 && cd .. +cd $TMPDIR && sudo tar cJf $RELEASE_DIR/$RELEASE_NAME.tar.xz * && cd - +cd $RELEASE_DIR && md5sum $RELEASE_NAME.tar.xz > $RELEASE_NAME.tar.xz.md5 && cd - + +echo "- Installed $pkgnum packages" +echo "- Finished $RELEASE_DIR/$RELEASE_NAME.tar.xz" -echo "Installed packages: $pkgnum" -sudo rm -rf $TMP_DIR -echo "Release done: $RELEASE_DIR/$RELEASE_NAME.tar.bz2" +sudo rm -rf $TMPDIR # End of file -- 2.26.2