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:
wt
2025-01-15 12:03:06 +03:00
+45 -10
View File
@@ -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 $@
}
#------------------------------------------------------------------------