This commit is contained in:
emmett1
2017-08-12 13:45:55 +08:00
parent 73c3fea915
commit 22659709b8
4 changed files with 62 additions and 24 deletions

View File

@@ -110,7 +110,7 @@ preparesource() {
MODE="Preparing" ;;
esac
msg "$MODE ${color_green}$tarballname${color_reset}..."
msg2 "$MODE ${color_green}$tarballname${color_reset}..."
$COMMAND
if [ $? != 0 ]; then
@@ -120,7 +120,7 @@ preparesource() {
fi
fi
else
msg "Preparing ${color_green}$sources${color_reset}..." && cp $sources $SRC || ERROR_PREPARE_SOURCE=yes
msg2 "Preparing ${color_green}$sources${color_reset}..." && cp $sources $SRC || ERROR_PREPARE_SOURCE=yes
fi
done
@@ -241,9 +241,10 @@ packaging() {
rm $PACKAGE_DIR/$PKGNAME
fi
exitscript1
else
else
pkgsize="$(ls -lh $PACKAGE_DIR/$PKGNAME | awk '{print $5}')"
$EXTPROG -t -v -f $PACKAGE_DIR/$PKGNAME
msg "Successfully create package ${color_green}$PKGNAME${color_reset}."
msg "Successfully create package ${color_green}$PKGNAME${color_reset}. (${pkgsize})"
fi
case $PREINSTALL_STATUS in
@@ -295,10 +296,12 @@ buildpkg() {
getsource
if [ -f .md5sum ]; then
checkmdsum
else
updatemdsum
if [ ! "IGNORE_MDSUM" ]; then
if [ -f .md5sum ]; then
checkmdsum
else
updatemdsum
fi
fi
preparesource
@@ -327,19 +330,30 @@ checkdeps() {
for dep in ${depends[@]}; do
if [ ! -d $INDEX_DIR/$dep ]; then
msg "Missing dep: ${color_yellow}$dep${color_reset}"
MSDEP+=($dep)
#msg "Missing dep: ${color_yellow}$dep${color_reset}"
MISSING_DEP=yes
fi
done
for makedep in ${makedepends[@]}; do
if [ ! -d $INDEX_DIR/$makedep ]; then
msg "Missing dep: ${color_yellow}$makedep${color_reset} (make)"
MSMKDEP+=($makedep)
#msg "Missing dep: ${color_yellow}$makedep${color_reset} (make)"
MISSING_DEP=yes
fi
done
[ "$MISSING_DEP" ] && exitscript1
if [ "$MISSING_DEP" ]; then
msg "Missing dependencies:"
for msd in ${MSDEP[@]}; do
msg2 "$msd"
done
for msmkd in ${MSMKDEP[@]}; do
msg2 "$msmkd (make)"
done
exitscript1
fi
}
@@ -416,6 +430,9 @@ parse_options() {
-ic|--ignore-conflict)
IGNORE_CONFLICT=yes
;;
-im|--ignore-mdsum)
IGNORE_MDSUM=yes
;;
-r|--reinstall)
REINSTALL_PKG=yes
;;
@@ -452,10 +469,10 @@ parse_options() {
-rd|--redownload)
REDOWNLOAD_SOURCE=yes
;;
-uc|--update-checksum)
-um|--update-mdsum)
UPDATE_CHECKSUM=yes
;;
-cc|--check-checksum)
-cm|--check-mdsum)
CHECK_CHECKSUM=yes
;;
--no-color)

View File

@@ -11,13 +11,17 @@ spkglock() {
installpkg() {
msg "Installing ${color_green}$packagename${color_reset}..."
#ignore dependency check
if [ ! "$IGNORE_DEP" ]; then
msg2 "Checking package dependencies..."
checkdeps
fi
#ignore conflict
if [ ! "$IGNORE_CONFLICT" ]; then
msg2 "Checking package/file conflict..."
checkconflict
checkpkgconflict
fi
@@ -36,7 +40,7 @@ installpkg() {
fi
#installing package into system
msg "Installing ${color_green}$packagename${color_reset}..."
msg2 "Extracting package..."
if [ "$VERBOSE_INSTALL" ]; then
tar --keep-directory-symlink -x -v -p -f $PKGNAME -C $ROOT_DIR --exclude=.pkginfo --exclude=.pkginstall
else
@@ -104,12 +108,17 @@ checkdeps() {
for dep in ${depends[@]}; do
if [ ! -d $INDEX_DIR/$dep ]; then
msg "Missing dep: ${color_yellow}$dep${color_reset}"
MSGDEP+=($dep)
#msg "Missing dep: ${color_yellow}$dep${color_reset}"
MISSING_DEP=yes
fi
done
if [ "$MISSING_DEP" = "yes" ]; then
if [ "$MISSING_DEP" ]; then
msg "Missing dependencies:"
for msdp in ${MSGDEP[@]}; do
msg2 "$msdp"
done
exit 1
fi

View File

@@ -11,6 +11,14 @@ spkglock() {
removepkg() {
msg "Removing ${color_green}$ipackagename${color_reset}..."
### CHECK DEPENDENCY ###
if [ ! "$IGNORE_DEP" ]; then
msg2 "Checking dependencies..."
checkdeps $RMNAME
fi
# create lock file prevent simultaneous install/remove process running
spkglock
@@ -18,7 +26,7 @@ removepkg() {
oldversion="$iversion" oldrelease="$irelease" run_preremove $1
fi
msg "Removing ${color_green}$ipackagename${color_reset}..."
msg2 "Deleting files..."
while IFS=' ' read -r line; do
pushd $ROOT_DIR
if [ "$VERBOSE_REMOVE" = "yes" ]; then
@@ -115,13 +123,20 @@ checkdeps() {
depends=$(cat $INDEX_DIR/$installed/.pkginfo | grep ^depends | cut -d " " -f3-)
for dep in ${depends[@]}; do
if [ "$dep" = "$1" ]; then
msg "Package ${color_yellow}$iname-$iversion-$irelease${color_reset} is needed for ${color_green}$pkgname${color_reset}."
ERRDEP+=($pkgname)
#msg "Package ${color_yellow}$iname-$iversion-$irelease${color_reset} is needed for ${color_green}$pkgname${color_reset}."
DEPERROR=yes
fi
done
done
[ "$DEPERROR" ] && exit 1
if [ "$DEPERROR" ]; then
msg "Package ${color_yellow}$iname-$iversion-$irelease${color_reset} is needed for:"
for pkg in ${ERRDEP[@]}; do
msg2 "$pkg"
done
exit 1
fi
}
check_directory() {
@@ -210,11 +225,6 @@ main() {
### GET NAME, VERSION, RELEASE FROM INSTALLED PACKAGE DATABASE ###
getoldname $RMNAME
### CHECK DEPENDENCY ###
if [ ! "$IGNORE_DEP" ]; then
checkdeps $RMNAME
fi
### REMOVE PACKAGE ###
removepkg $RMNAME

View File

@@ -23,7 +23,9 @@ listinstalled() {
for installed in $(ls $INDEX_DIR); do
getinstalledname $installed
msg3 $installedname
installedpkg+=($installed)
done
msg "Total installed package: ${#installedpkg[@]}"
}
getinstalledname() {