Merge pull request 'added deps and fix delete and add and read query file' (#5) from deps into main
Reviewed-on: https://gitea.home.com:3000/TolaMironcenko/pm/pulls/5
This commit was merged in pull request #5.
This commit is contained in:
@@ -139,13 +139,42 @@ unpack() {
|
||||
packagename=$(echo $1 | sed -e "/.gz/s///")
|
||||
packagename=${packagename#*pkg/}
|
||||
printf "$YELLOW**$GREEN Installing ${packagename%.pkg*}\n$RESET"
|
||||
installed=$(/usr/bin/cat $packagesqueryfile | grep ${packagename%.pkg*})
|
||||
check $? "Read $packagesqueryfile"
|
||||
if [[ "$installed" != "" ]]; then
|
||||
if [ ! -f $packagesqueryfile ]; then
|
||||
printf "$BBLUE**$BWHITE Can't find $packagesqueryfile [$BRED ERROR $BWHITE]\n$RESET"
|
||||
fi
|
||||
installed=false
|
||||
for i in $(/usr/bin/cat $packagesqueryfile); do
|
||||
if [ "$i" = "${packagename%.pkg*}" ]; then
|
||||
export installed=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [[ "$installed" == "true" ]]; then
|
||||
printf "$YELLOW**$RESET Package already installed:$YELLOW reinstalling\n$RESET"
|
||||
fi
|
||||
tar -xvf $1 -C $rootdir/tmp &> /dev/null
|
||||
cd $rootdir/tmp/$packagename
|
||||
if [ -f deps ]; then
|
||||
printf "$YELLOW**$GREEN Checking deps\n$RESET"
|
||||
deps=$(/usr/bin/cat deps)
|
||||
for dep in $deps; do
|
||||
have=false
|
||||
for pack in $(/usr/bin/cat $packagesqueryfile); do
|
||||
if [ $pack = $dep ]; then
|
||||
have=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ "$have" = "false" ]; then
|
||||
pkgnow=$packagename
|
||||
add "" $dep
|
||||
unpack $cachedpkgdir/$pkgnow.gz
|
||||
return
|
||||
fi
|
||||
done
|
||||
mkdir $installedpackagesdir/$packagename &> /dev/null
|
||||
mv -v deps $installedpackagesdir/$packagename &> /dev/null
|
||||
fi
|
||||
mkdir $installedpackagesdir/$packagename &> /dev/null
|
||||
mv -v list $installedpackagesdir/$packagename &> /dev/null
|
||||
cp -r ./* $rootdir/
|
||||
@@ -156,7 +185,7 @@ unpack() {
|
||||
printf "$YELLOW**$GREEN post_install script ${packagename%.pkg*}\n$RESET"
|
||||
/usr/bin/sh -c $rootdir/tmp/$packagename/post_install &> /dev/null
|
||||
fi
|
||||
if [[ "$(/usr/bin/cat $packagesqueryfile | grep ${packagename%.pkg*})" == "" ]]; then
|
||||
if [[ "$installed" == "false" ]]; then
|
||||
echo ${packagename%.pkg*} >> $packagesqueryfile
|
||||
fi
|
||||
rm -rv $rootdir/tmp/$packagename &> /dev/null
|
||||
@@ -170,10 +199,8 @@ u() {
|
||||
#------------------ delete package function -----------------------------
|
||||
del() {
|
||||
printf "$YELLOW**$GREEN deleting\n$RESET"
|
||||
for i in $*; do
|
||||
if [[ "$i" == "del" ]]; then
|
||||
continue
|
||||
fi
|
||||
shift 1
|
||||
for i in $@; do
|
||||
printf "$YELLOW**$GREEN deleting $i\n$RESET"
|
||||
if [ ! -f $installedpackagesdir/$i.pkg/list ]; then
|
||||
printf "$BBLUE**$BWHITE package not installed ($i) [$BRED ERROR $BWHITE]\n$RESET"
|
||||
@@ -184,12 +211,20 @@ del() {
|
||||
done
|
||||
# rm -v $rootdir/$(/usr/bin/cat $installedpackagesdir/$i.pkg/list)
|
||||
rm -rv $installedpackagesdir/$i.pkg &> /dev/null
|
||||
sed -i "/$i/d" $packagesqueryfile
|
||||
packs=$(cat $packagesqueryfile)
|
||||
rm $packagesqueryfile
|
||||
for pack in $packs; do
|
||||
if [ "$pack" = "$i" ]; then
|
||||
continue
|
||||
fi
|
||||
echo $pack >> $packagesqueryfile
|
||||
done
|
||||
# sed -i "s/$i/d" $packagesqueryfile
|
||||
printf "$YELLOW**$GREEN delete $i successful\n$RESET"
|
||||
done
|
||||
}
|
||||
d() {
|
||||
del $*
|
||||
del $@
|
||||
}
|
||||
#------------------------------------------------------------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user