Add build & build-install to iglu
This commit is contained in:
parent
73c1faf641
commit
5810de9b52
1 changed files with 49 additions and 2 deletions
51
iglu.sh
51
iglu.sh
|
@ -13,6 +13,12 @@ HELP="
|
||||||
-d list dependencies
|
-d list dependencies
|
||||||
-iu install update or install upgrade
|
-iu install update or install upgrade
|
||||||
-ui alias to \`-iu\`
|
-ui alias to \`-iu\`
|
||||||
|
-b build
|
||||||
|
-bi build and install the current package
|
||||||
|
|
||||||
|
These needs iglunix-dev (iglupkg) installed
|
||||||
|
-biu build and install update the current package
|
||||||
|
-bui alias to \`-iu\`
|
||||||
|
|
||||||
NOT IMPLEMENTED:
|
NOT IMPLEMENTED:
|
||||||
-o root"
|
-o root"
|
||||||
|
@ -66,7 +72,14 @@ dep_not_found() {
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
i= u= l= f= o= d= iu=
|
iglupkg_check() {
|
||||||
|
if ! command -v iglupkg > /dev/null 2>&1; then
|
||||||
|
echo "iglupkg from iglunix-dev needs to be installed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
b= bi= i= u= l= f= o= d= iu=
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -79,7 +92,11 @@ case "$1" in
|
||||||
-d) d=1;;
|
-d) d=1;;
|
||||||
-iu) iu=1;;
|
-iu) iu=1;;
|
||||||
-ui) iu=1;;
|
-ui) iu=1;;
|
||||||
|
-b) b=1;;
|
||||||
|
-bi) bi=1;;
|
||||||
|
-biu) biu=1;;
|
||||||
|
-bui) biu=1;;
|
||||||
|
|
||||||
-h) usage;;
|
-h) usage;;
|
||||||
--help) usage;;
|
--help) usage;;
|
||||||
|
|
||||||
|
@ -99,10 +116,12 @@ do
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$d" = "1" ]; then
|
if [ "$d" = "1" ]; then
|
||||||
|
#LIST DEPS
|
||||||
stat /usr/share/iglupkg/$1 > /dev/null 2> /dev/null || find_fail
|
stat /usr/share/iglupkg/$1 > /dev/null 2> /dev/null || find_fail
|
||||||
grep deps /usr/share/iglupkg/$1 | tr '=' '\n' | grep -v deps | tr ':' '\n'
|
grep deps /usr/share/iglupkg/$1 | tr '=' '\n' | grep -v deps | tr ':' '\n'
|
||||||
|
|
||||||
elif [ "$iu" = "1" ]; then
|
elif [ "$iu" = "1" ]; then
|
||||||
|
#INSTALL & UPDATE
|
||||||
# Setup names
|
# Setup names
|
||||||
bname_we=$(basename "$1")
|
bname_we=$(basename "$1")
|
||||||
bname=$(echo "$bname_we" | cut -f 1 -d '.')
|
bname=$(echo "$bname_we" | cut -f 1 -d '.')
|
||||||
|
@ -154,6 +173,7 @@ elif [ "$iu" = "1" ]; then
|
||||||
echo $NFILES
|
echo $NFILES
|
||||||
|
|
||||||
elif [ "$i" = "1" ]; then
|
elif [ "$i" = "1" ]; then
|
||||||
|
#INSTALL
|
||||||
bname_we=$(basename "$1")
|
bname_we=$(basename "$1")
|
||||||
bname=$(echo "$bname_we" | cut -f 1 -d '.')
|
bname=$(echo "$bname_we" | cut -f 1 -d '.')
|
||||||
stat /usr/share/iglupkg/$bname > /dev/null 2> /dev/null && already_exists
|
stat /usr/share/iglupkg/$bname > /dev/null 2> /dev/null && already_exists
|
||||||
|
@ -169,12 +189,17 @@ elif [ "$i" = "1" ]; then
|
||||||
tar -xf $1 -C /
|
tar -xf $1 -C /
|
||||||
rm -r /tmp/iglunix/$bname_we
|
rm -r /tmp/iglunix/$bname_we
|
||||||
elif [ "$f" = "1" ]; then
|
elif [ "$f" = "1" ]; then
|
||||||
|
#LIST INSTALLED FILES
|
||||||
stat /usr/share/iglupkg/$1 > /dev/null 2> /dev/null || find_fail
|
stat /usr/share/iglupkg/$1 > /dev/null 2> /dev/null || find_fail
|
||||||
sed -n '/\[fs\]/,$p' /usr/share/iglupkg/$1 | grep -v "\[fs\]"
|
sed -n '/\[fs\]/,$p' /usr/share/iglupkg/$1 | grep -v "\[fs\]"
|
||||||
|
|
||||||
elif [ "$l" = "1" ]; then
|
elif [ "$l" = "1" ]; then
|
||||||
|
#LICENSE
|
||||||
stat /usr/share/iglupkg/$1 > /dev/null 2> /dev/null || find_fail
|
stat /usr/share/iglupkg/$1 > /dev/null 2> /dev/null || find_fail
|
||||||
sed -n '/\[license\]/,/\[fs\]/{/\[license\]\|\[fs\]/!p}' /usr/share/iglupkg/$1
|
sed -n '/\[license\]/,/\[fs\]/{/\[license\]\|\[fs\]/!p}' /usr/share/iglupkg/$1
|
||||||
|
|
||||||
elif [ "$u" = "1" ]; then
|
elif [ "$u" = "1" ]; then
|
||||||
|
#UNINSTALL
|
||||||
stat /usr/share/iglupkg/$1 > /dev/null 2> /dev/null || find_fail
|
stat /usr/share/iglupkg/$1 > /dev/null 2> /dev/null || find_fail
|
||||||
FILES=$(sed -n '/\[fs\]/,$p' /usr/share/iglupkg/$1 | grep -v "\[fs\]" | awk '{print length, $0}' | sort -rn | cut -d " " -f2-)
|
FILES=$(sed -n '/\[fs\]/,$p' /usr/share/iglupkg/$1 | grep -v "\[fs\]" | awk '{print length, $0}' | sort -rn | cut -d " " -f2-)
|
||||||
|
|
||||||
|
@ -189,4 +214,26 @@ elif [ "$u" = "1" ]; then
|
||||||
*) echo "can't remove $file";;
|
*) echo "can't remove $file";;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
elif [ "$b" = "1" ]; then
|
||||||
|
#BUILD
|
||||||
|
iglupkg_check
|
||||||
|
iglupkg || exit 1
|
||||||
|
|
||||||
|
elif [ "$bi" = "1" ]; then
|
||||||
|
#BUILD INSTALL
|
||||||
|
iglupkg_check
|
||||||
|
iglupkg || exit 1
|
||||||
|
cd out/
|
||||||
|
for pkg in *.tar.xz; do
|
||||||
|
iglu -i "$pkg"
|
||||||
|
done
|
||||||
|
|
||||||
|
elif [ "$biu" = "1" ]; then
|
||||||
|
#BUILD INSTALL UPDATE
|
||||||
|
iglupkg_check
|
||||||
|
iglupkg || exit 1
|
||||||
|
cd out/
|
||||||
|
for pkg in *.tar.xz; do
|
||||||
|
iglu -iu "$pkg"
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue