#!/tools/bin/bash NAME=$1 DESTDIR=/tmp/dafuq/$NAME/root INSTALLCMD="make install DESTDIR=$DESTDIR" if [ ! -z "$2" ]; then INSTALLCMD=$(echo "$2" | sed -e "s:%DESTDIR%:$DESTDIR:g") echo "[i] Custom installation command: $INSTALLCMD" fi rm -rf /tmp/dafuq/$NAME 2>/dev/null echo "[i] Packaging $NAME..." mkdir -p $DESTDIR echo "[i] Making..." /tools/bin/bash -c "$INSTALLCMD" echo "[i] Taking note of directories..." PKG_DIRS=$(find $DESTDIR -type d) PKG_DIRS_CREATE="" for dir in $PKG_DIRS; do dir_root=$(echo $dir | sed -e "s:$DESTDIR::g") if [ ! -e $dir_root ]; then PKG_DIRS_CREATE="$PKG_DIRS_CREATE $dir_root" fi done echo "[i] Taking note of files..." PKG_FILES=$(find $DESTDIR -type f -o -type l) echo "[i] Creating manifest..." PKG_MANIFEST="/tmp/dafuq/$NAME/manifest" echo "name: $NAME" >> $PKG_MANIFEST echo "installcmd: $INSTALLCMD" >> $PKG_MANIFEST echo "built: $(date)" >> $PKG_MANIFEST for dir in $PKG_DIRS_CREATE; do echo "dir: $dir" >> $PKG_MANIFEST done for f in $PKG_FILES; do echo "file: $(echo $f | sed -e "s:$DESTDIR::g") $(sha256sum $f | cut -d" " -f 1) $(stat -c "%a %U:%G" $f)" >> $PKG_MANIFEST done echo "[i] Compressing package..." tar cJf /usr/dafuq/packages/$NAME.tar.xz -C /tmp/dafuq/$NAME manifest root echo "[i] Cleaning up..." rm -rf /tmp/dafuq/$NAME 2>/dev/null echo "[i] Done."