This commit is contained in:
emmett1
2018-04-23 17:50:22 +08:00
parent 3c5dba7335
commit 26344d95a8
8 changed files with 261 additions and 258 deletions

184
buildpkg
View File

@@ -4,52 +4,80 @@ export LC_ALL=C
. /usr/share/scratchpkg/functions || exit 1
source_check() {
url_stat=0
for sources in ${source[@]}; do
if [ $(echo $sources | grep -E "(ftp|http|https)://") ]; then
if [ $(echo $sources | grep -E "::(ftp|http|https)://") ]; then
uri=$(echo "$sources" | awk -F '::' '{print $2}')
else
uri="$sources"
fi
fi
echo -ne "Checking $uri ... "
wget --spider -q "$uri"
if [ $? = 0 ]; then
echo -e ${GREEN}OK${CRESET}
else
url_stat=$?
echo -e ${RED}FAILED${CRESET}
fi
done
return ${url_stat}
}
updatemdsum() {
if [ ! -z $source ]; then
for um in $(seq 0 $((${#source[@]} - 1))); do
if [ $(echo ${source[$um]} | grep -E "(ftp|http|https)://") ]; then
if [ $(echo ${source[$um]} | grep -E "::(ftp|http|https)://") ]; then
sourcename="$SOURCE_DIR/$(echo ${source[$um]} | awk -F '::' '{print $1}')"
else
sourcename="$SOURCE_DIR/$(echo ${source[$um]} | rev | cut -d / -f 1 | rev)"
fi
else
sourcename="${source[$um]}"
fi
needupdatechecksum="$needupdatechecksum $sourcename"
done
for file in ${needupdatechecksum[@]}; do
if [ ! -f $file ]; then
missingsource+=($file)
fi
done
if [ "${#missingsource[@]}" -gt 0 ]; then
msg "Missing source:"
for ms in ${missingsource[@]}; do
msg2 "$ms"
done
exitscript1
fi
md5sum $needupdatechecksum | awk '{ print $1 }' > .md5sum
[ -f .md5sum ] && msg "md5sum updated."
else
echo "" > .md5sum
if [ -z $source ]; then
msgwarn "source=() is empty, no need md5sum."
return 0
fi
for um in $(seq 0 $((${#source[@]} - 1))); do
if [ $(echo ${source[$um]} | grep -E "(ftp|http|https)://") ]; then
if [ $(echo ${source[$um]} | grep -E "::(ftp|http|https)://") ]; then
sourcename="$SOURCE_DIR/$(echo ${source[$um]} | awk -F '::' '{print $1}')"
else
sourcename="$SOURCE_DIR/$(echo ${source[$um]} | rev | cut -d / -f 1 | rev)"
fi
else
sourcename="${source[$um]}"
fi
needupdatechecksum="$needupdatechecksum $sourcename"
done
for file in ${needupdatechecksum[@]}; do
if [ ! -f $file ]; then
missingsource+=($file)
fi
done
if [ "${#missingsource[@]}" -gt 0 ]; then
msg "Missing source:"
for ms in ${missingsource[@]}; do
msg2 "$ms"
done
return 1
fi
echo -e "md5sum=($(md5sum $needupdatechecksum | awk '{ print $1 }'))"
}
checkmdsum() {
for i in $(cat .md5sum); do
mdsums+=($i)
done
if [ -z $md5sum ]; then
msgwarn "md5sum is empty, please provide it."
return 0
fi
if [ "${#source[@]}" != "${#mdsums[@]}" ]; then
if [ "${#source[@]}" != "${#md5sum[@]}" ]; then
msgerr "Total source and md5sums different."
exitscript1
return 1
fi
for s in $(seq 0 $((${#source[@]} - 1))); do
@@ -63,7 +91,7 @@ checkmdsum() {
sourcename="${source[$s]}"
fi
sum=$(md5sum "$sourcename" | awk '{ print $1 }')
if [ "$sum" != "${mdsums[$s]}" ] && [ "SKIP" != "${mdsums[$s]}" ]; then
if [ "$sum" != "${md5sum[$s]}" ] && [ "SKIP" != "${md5sum[$s]}" ]; then
errormdsum+=($sourcename)
fi
done
@@ -73,7 +101,7 @@ checkmdsum() {
for mismatch in ${errormdsum[@]}; do
msg2 "$mismatch"
done
exitscript1
return 1
fi
}
@@ -107,14 +135,14 @@ downloadsource(){
fi
fi
if [ -f $SOURCE_DIR/$tarballname ]; then
msg "Source file ${color_green}$tarballname${color_reset} found."
msg "Source file ${GREEN}$tarballname${CRESET} found."
else
checktool wget
if [ -f $SOURCE_DIR/$tarballname.partial ]; then
msg "Resuming ${color_green}$1${color_reset}."
msg "Resuming ${GREEN}$1${CRESET}."
$WGETRESUME $tarballurl && mv $SOURCE_DIR/$tarballname.partial $SOURCE_DIR/$tarballname || exitscript1
else
msg "Downloading ${color_green}$1${color_reset}."
msg "Downloading ${GREEN}$1${CRESET}."
$WGETCMD $tarballurl && mv $SOURCE_DIR/$tarballname.partial $SOURCE_DIR/$tarballname || exitscript1
fi
fi
@@ -143,7 +171,7 @@ preparesource() {
for i in ${noextract[@]}; do
if [ "$i" = "$tarballname" ]; then
NO_EXTRACT=yes
msg "Preparing ${color_green}$tarballname${color_reset}..." && cp $SOURCE_DIR/$tarballname $SRC || ERROR_PREPARE_SOURCE+=($tarballname)
msg "Preparing ${GREEN}$tarballname${CRESET}..." && cp $SOURCE_DIR/$tarballname $SRC || ERROR_PREPARE_SOURCE+=($tarballname)
break
fi
done
@@ -157,17 +185,17 @@ preparesource() {
MODE="Preparing" ;;
esac
msg2 "$MODE ${color_green}$tarballname${color_reset}..."
msg2 "$MODE ${GREEN}$tarballname${CRESET}..."
$COMMAND
if [ $? != 0 ]; then
msgerr "$MODE ${color_red}$tarballname${color_reset} failed."
msgerr "$MODE ${RED}$tarballname${CRESET} failed."
clearworkdir
exitscript1
fi
fi
else
msg2 "Preparing ${color_green}$sources${color_reset}..." && cp $sources $SRC || ERROR_PREPARE_SOURCE+=($sources)
msg2 "Preparing ${GREEN}$sources${CRESET}..." && cp $sources $SRC || ERROR_PREPARE_SOURCE+=($sources)
fi
done
fi
@@ -195,18 +223,18 @@ loadspkgbuild() {
buildpackage() {
msg "Start build ${color_green}$name-$version-$release${color_reset}."
msg "Start build ${GREEN}$name-$version-$release${CRESET}."
pushd $SRC
(exec &> >(tee -i $LOG_DIR/$name.log); echo "$name-$version"; echo $(date); set -e -x; build)
if [ $? != 0 ]; then
msgerr "Build ${color_red}$PKGNAME${color_reset} failed."
msgerr "Build ${RED}$PKGNAME${CRESET} failed."
clearworkdir
exitscript1
else
msg "Successfully build ${color_green}$name-$version-$release${color_reset}."
msg "Successfully build ${GREEN}$name-$version-$release${CRESET}."
fi
popd
@@ -262,7 +290,7 @@ packaging() {
[ -n "$makedepends" ] && for md in ${makedepends[@]}; do echo "makedepends = $md" >> .pkginfo; done
[ -n "$noextract" ] && echo "noextract = $noextract" >> .pkginfo
msg "Packaging ${color_green}$name-$version-$release${color_reset}..."
msg "Packaging ${GREEN}$name-$version-$release${CRESET}..."
for file in .pkginstall .pkgreadme; do
if [ -f $file ]; then
@@ -272,7 +300,7 @@ packaging() {
tar -c -J -p -f $PACKAGE_DIR/$PKGNAME * .pkginfo "${addtotar[@]}"
if [ $? != 0 ]; then
msgerr "Packaging ${color_red}$PKGNAME${color_reset} failed."
msgerr "Packaging ${RED}$PKGNAME${CRESET} failed."
if [ -f $PACKAGE_DIR/$PKGNAME ]; then
rm $PACKAGE_DIR/$PKGNAME
fi
@@ -280,12 +308,12 @@ packaging() {
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}. (${pkgsize})"
msg "Successfully create package ${GREEN}$PKGNAME${CRESET}. (${pkgsize})"
fi
case $PREINSTALL_STATUS in
OK) msg "preinstall : ${color_green}OK${color_reset}" ;;
KO) msg "preinstall : ${color_red}FAIL${color_reset}" ;;
OK) msg "preinstall : ${GREEN}OK${CRESET}" ;;
KO) msg "preinstall : ${RED}FAIL${CRESET}" ;;
esac
popd
@@ -300,11 +328,7 @@ buildpkg() {
getsource
if [ ! "$IGNORE_MDSUM" ]; then
if [ -f .md5sum ]; then
checkmdsum
else
updatemdsum
fi
checkmdsum || exitscript1
fi
preparesource
@@ -368,7 +392,7 @@ checkdeps() {
msg2 "$msd"
done
for msmkd in ${MSMKDEP[@]}; do
msg2 "$msmkd ${color_cyan}(make)${color_reset}"
msg2 "$msmkd ${CYAN}(make)${CRESET}"
done
exitscript1
fi
@@ -464,7 +488,7 @@ clearworkdir() {
interrupted() {
#echo ""
#msg "${color_yellow}Interrupted!${color_reset}"
#msg "${YELLOW}Interrupted!${CRESET}"
clearworkdir
exitscript1
}
@@ -492,11 +516,12 @@ Options:
-fr, --force-rebuild rebuild package
-im, --ignore-mdsum skip md5sum checking
-um, --update-mdsum update md5sum
-cm, --check-mdsum check md5sum for source file
-cm, --check-mdsum calculate and print md5sum for source file
-do, --download-only download only source file
-eo, --extract-only extract only source file
-kw, --keep-work keep working directory
-rd, --redownload re-download source file
-cs, --check-source check dead url for sources
-sd, --source-dir <path> override directory path for sources
-pd, --package-dir <path> override directory path for compiled package
-h, --help show this help message
@@ -536,6 +561,7 @@ parse_options() {
-eo | --extract-only) EXTRACT_ONLY=yes ;;
-kw | --keep-work) KEEP_WORK=yes ;;
-rd | --redownload) REDOWNLOAD_SOURCE=yes ;;
-cs | --check-source) SOURCE_CHECK=yes ;;
-h | --help) SHOWHELP=yes ;;
-sd | --source-dir) testinput "$2" && SOURCE_DIR="$2" || exit 1; shift ;;
-pd | --package-dir) testinput "$2" && PACKAGE_DIR="$2" || exit 1; shift ;;
@@ -561,18 +587,25 @@ main() {
exit 0
fi
#check_directory
# source spkgbuild
loadspkgbuild
# show help page
if [ "$SOURCE_CHECK" ]; then
source_check || exit $?
exit 0
fi
# check required directory
checkdirexist "$WORK_DIR" "$SOURCE_DIR" "$PACKAGE_DIR" "$LOG_DIR"
checkdirwrite "$WORK_DIR" "$SOURCE_DIR" "$PACKAGE_DIR" "$LOG_DIR"
checkdirread "$WORK_DIR" "$SOURCE_DIR" "$PACKAGE_DIR" "$LOG_DIR"
loadspkgbuild
checkdirread "$WORK_DIR" "$SOURCE_DIR" "$PACKAGE_DIR" "$LOG_DIR"
if [ "$INSTALL_PKG" ] || [ "$UPGRADE_PKG" ] || [ "$REINSTALL_PKG" ]; then
NO_ORPHAN_CHECK=yes
fi
### CHECK SPKGBUILD ###
# check the required field in spkgbuild
if [ -z "$name" ]; then
msgerr "'name' is empty!"
exit 1
@@ -592,37 +625,36 @@ main() {
PKGNAME="$name-$version-$release.spkg.txz"
### UPDATE CHECKSUM ###
# calculate & print md5sum
if [ "$UPDATE_MDSUM" ]; then
getsource
updatemdsum
exit 0
fi
### CHECK FOR LOCK FILE ###
# check for lock file
if [ -f /tmp/spkg.$name.lock ]; then
msgerr "Cant build same package simultaneously."
msgerr "remove ${color_yellow}/tmp/spkg.$name.lock${color_reset} if no build process for ${color_yellow}$name.${color_reset}"
msgerr "remove ${YELLOW}/tmp/spkg.$name.lock${CRESET} if no build process for ${YELLOW}$name.${CRESET}"
exit 1
fi
### DOWNLOAD ONLY ###
# download source only
if [ "$DOWNLOAD_ONLY" ]; then
getsource
exit 0
fi
### EXTRACT ONLY ###
# extract source only
if [ "$EXTRACT_ONLY" ]; then
getsource
preparesource
exit 0
fi
### BUILD ###
# build package
if [ -f $PACKAGE_DIR/$PKGNAME ] && [ ! "$FORCE_REBUILD" ]; then # if package txz exist and not force rebuild
if [ ! "$INSTALL_PKG" ] && [ ! "$REINSTALL_PKG" ] && [ ! "$UPGRADE_PKG" ]; then
msg "${color_green}$PKGNAME${color_reset} is up-to-date."
msg "${GREEN}$PKGNAME${CRESET} is up-to-date."
exitscript0
fi
else
@@ -640,7 +672,7 @@ main() {
fi
fi
### INSTALL PACKAGE ###
# install package
if [ "$INSTALL_PKG" ] || [ "$REINSTALL_PKG" ] || [ "$UPGRADE_PKG" ]; then
installpkg $PACKAGE_DIR/$PKGNAME ${OPTS[@]} || exitscript1
fi

View File

@@ -1,38 +1,38 @@
#!/bin/bash
### SET COLOUR CODE ###
color_red='\e[0;31m' #Red
color_green='\e[0;32m' #Green
color_yellow='\e[0;33m' #Yellow
color_blue='\e[0;34m' #Blue
color_purple='\e[0;35m' #Purple
color_cyan='\e[0;36m' #Cyan
color_gray='\e[0;37m' #Gray
color_bred='\e[1;31m' #Bold red
color_bgreen='\e[1;32m' #Bold green
color_byellow='\e[1;33m' #Bold yellow
color_bblue='\e[1;34m' #Bold blue
color_bpurple='\e[1;35m' #Bold purple
color_bcyan='\e[1;36m' #Bold cyan
color_bgray='\e[1;37m' #Bold gray
color_reset='\e[0m' #Reset color
RED='\e[0;31m' #Red
GREEN='\e[0;32m' #Green
YELLOW='\e[0;33m' #Yellow
BLUE='\e[0;34m' #Blue
PURPLE='\e[0;35m' #Purple
CYAN='\e[0;36m' #Cyan
GRAY='\e[0;37m' #Gray
BRED='\e[1;31m' #Bold red
BGREEN='\e[1;32m' #Bold green
BYELLOW='\e[1;33m' #Bold yellow
BBLUE='\e[1;34m' #Bold blue
BPURPLE='\e[1;35m' #Bold purple
BCYAN='\e[1;36m' #Bold cyan
BGRAY='\e[1;37m' #Bold gray
CRESET='\e[0m' #Reset color
nocolor() {
color_red=''
color_green=''
color_yellow=''
color_blue=''
color_purple=''
color_cyan=''
color_gray=''
color_bred=''
color_bgreen=''
color_byellow=''
color_bblue=''
color_bpurple=''
color_bcyan=''
color_bgray=''
color_reset=''
RED=''
GREEN=''
YELLOW=''
BLUE=''
PURPLE=''
CYAN=''
GRAY=''
BRED=''
BGREEN=''
BYELLOW=''
BBLUE=''
BPURPLE=''
BCYAN=''
BGRAY=''
CRESET=''
}

View File

@@ -6,7 +6,7 @@ source "$FUNCTIONS/options"
source "$FUNCTIONS/color"
source "$FUNCTIONS/message"
### SET SOME VALUE ###
# defaults value
CONF_FILE="/etc/scratchpkg.conf"
BUILD_SCRIPT="spkgbuild"
@@ -32,15 +32,18 @@ else
exit 1
fi
### SET BSDTAR FOR EXTRACT PROGRAM IF LIBARCHIVE IS INSTALLED ###
if [ "$(type -pa bsdtar)" ]; then
EXTPROG=bsdtar
# check for extract tool
if [ "$(type -p bsdtar)" ]; then
EXTPROG=$(type -p bsdtar)
elif [ "$(type -p tar)" ]; then
EXTPROG=$(type -p tar)
else
EXTPROG=tar
msgerr "libarchive or tar is needed. Aborted"
exit 1
fi
### FUNCTIONS LOAD BY SCRATCHPKG ###
# functions load by scratchpkg
pushd() {
command pushd "$@" >/dev/null
}
@@ -83,13 +86,14 @@ needroot() {
checktool() {
if ! type -pa $1 &>/dev/null; then
if ! type -p $1 &>/dev/null; then
msgerr "$1 not exist in your system!"
exit 1
fi
}
# function to print all installed packages
allinstalled() {
ls ${INDEX_DIR}/*/.pkginfo | rev | cut -d '/' -f2 | rev 2>/dev/null
@@ -98,13 +102,13 @@ allinstalled() {
getpkginfo() {
description=$(cat $BUILD_SCRIPT | grep ^'# description' | sed 's/\://' | cut -d ' ' -f 3-)
backup=$(cat $BUILD_SCRIPT | grep ^'# backup' | sed 's/\://' | cut -d ' ' -f 3-)
conflict=$(cat $BUILD_SCRIPT | grep ^'# conflict' | sed 's/\://' | cut -d ' ' -f 3-)
depends=$(cat $BUILD_SCRIPT | grep ^'# depends' | sed 's/\://' | cut -d ' ' -f 3-)
makedepends=$(cat $BUILD_SCRIPT | grep ^'# makedepends' | sed 's/\://' | cut -d ' ' -f 3-)
noextract=$(cat $BUILD_SCRIPT | grep ^'# noextract' | sed 's/\://' | cut -d ' ' -f 3-)
options=$(cat $BUILD_SCRIPT | grep ^'# options' | sed 's/\://' | cut -d ' ' -f 3-)
description=$(grep "^# description[[:blank:]]*:" $BUILD_SCRIPT | sed 's/^# description[[:blank:]]*:[[:blank:]]*//')
backup=$(grep "^# backup[[:blank:]]*:" $BUILD_SCRIPT | sed 's/^# backup[[:blank:]]*:[[:blank:]]*//')
conflict=$(grep "^# conflict[[:blank:]]*:" $BUILD_SCRIPT | sed 's/^# conflict[[:blank:]]*:[[:blank:]]*//')
depends=$(grep "^# depends[[:blank:]]*:" $BUILD_SCRIPT | sed 's/^# depends[[:blank:]]*:[[:blank:]]*//')
makedepends=$(grep "^# makedepends[[:blank:]]*:" $BUILD_SCRIPT | sed 's/^# makedepends[[:blank:]]*:[[:blank:]]*//')
noextract=$(grep "^# noextract[[:blank:]]*:" $BUILD_SCRIPT | sed 's/^# noextract[[:blank:]]*:[[:blank:]]*//')
options=$(grep "^# options[[:blank:]]*:" $BUILD_SCRIPT | sed 's/^# options[[:blank:]]*:[[:blank:]]*//')
. $BUILD_SCRIPT
@@ -150,7 +154,6 @@ installed_pkg_info() {
getinfopkg() {
#echo $(tar xf $2 .pkginfo -O | grep ^$1 | cut -d " " -f3)
cat /tmp/spkg.$2.pkginfo | grep ^$1 | cut -d " " -f3
}
@@ -170,7 +173,7 @@ vercomp() {
createtemplate() {
if [ -d $1 ]; then
msg "Error directory ${color_red}$1${color_reset} already exist"
msg "Error directory ${RED}$1${CRESET} already exist"
exit 1
else
mkdir $1
@@ -186,6 +189,7 @@ version=
release=1
options=()
source=()
md5sum=()
build() {
cd \$name-\$version
@@ -193,7 +197,7 @@ build() {
make
make DESTDIR=\$PKG install
}" > $1/$BUILD_SCRIPT
msg "Template port have created for ${color_green}$1${color_reset}."
msg "Template port have created for ${GREEN}$1${CRESET}."
fi
}
@@ -202,7 +206,7 @@ checkdirexist() {
for dir in "$@"; do
if [ ! -d $dir ]; then
msgwarn "Directory ${color_yellow}$dir${color_reset} not exist."
msgwarn "Directory ${YELLOW}$dir${CRESET} not exist."
DIR_ERROR=yes
fi
done
@@ -215,7 +219,7 @@ checkdirwrite() {
for dir in "$@"; do
if [ ! -w $dir ]; then
msgwarn "Directory ${color_yellow}$dir${color_reset} not writable."
msgwarn "Directory ${YELLOW}$dir${CRESET} not writable."
DIR_ERROR=yes
fi
done
@@ -228,7 +232,7 @@ checkdirread() {
for dir in "$@"; do
if [ ! -x $dir ] || [ ! -r $1 ]; then
msgwarn "Directory ${color_yellow}$dir${color_reset} not readable."
msgwarn "Directory ${YELLOW}$dir${CRESET} not readable."
DIR_ERROR=yes
fi
done

View File

@@ -1,23 +1,23 @@
#!/bin/bash
msg() {
echo -e "${color_green}==>${color_reset} $1"
echo -e "${GREEN}==>${CRESET} $1"
}
msginfo() {
echo -e "${color_cyan}==> INFO:${color_reset} $1"
echo -e "${CYAN}==> INFO:${CRESET} $1"
}
msgerr() {
echo -e "${color_red}==> ERROR:${color_reset} $1"
echo -e "${RED}==> ERROR:${CRESET} $1"
}
msgwarn() {
echo -e "${color_yellow}==> WARNING:${color_reset} $1"
echo -e "${YELLOW}==> WARNING:${CRESET} $1"
}
msg2() {
echo -e "${color_blue} ->${color_reset} $1"
echo -e "${BLUE} ->${CRESET} $1"
}
msg3() {

View File

@@ -21,7 +21,7 @@ installpkg() {
checkdeps
fi
msg "Installing ${color_green}$name-$version-$release${color_reset}..."
msg "Installing ${GREEN}$name-$version-$release${CRESET}..."
# noextract file into system
for noextr in ${NO_EXTRACT[@]}; do
@@ -65,21 +65,15 @@ installpkg() {
fi
#installing package into system
if [[ $(tar -tf "$PKGNAME") ]]; then
msg2 "Extracting package..."
if [ "$VERBOSE_INSTALL" ]; then
tar --keep-directory-symlink --no-overwrite-dir -p -x -v -f $PKGNAME -C $ROOT_DIR --exclude=.pkginfo --exclude=.pkginstall --exclude=.pkgreadme ${excludefile[@]}
else
tar --keep-directory-symlink --no-overwrite-dir -p -x -f $PKGNAME -C $ROOT_DIR --exclude=.pkginfo --exclude=.pkginstall --exclude=.pkgreadme ${excludefile[@]}
fi
msg2 "Extracting package..."
if [ "$VERBOSE_INSTALL" ]; then
tar --keep-directory-symlink --no-overwrite-dir -p -x -v -f $PKGNAME -C $ROOT_DIR --exclude=.pkginfo --exclude=.pkginstall --exclude=.pkgreadme ${excludefile[@]}
else
msgerr "Package is corrupted. Aborted!"
spkglock
exit 1
tar --keep-directory-symlink --no-overwrite-dir -p -x -f $PKGNAME -C $ROOT_DIR --exclude=.pkginfo --exclude=.pkginstall --exclude=.pkgreadme ${excludefile[@]}
fi
if [ $? != 0 ]; then
msgerr "Failed install ${color_red}$name-$version-$release${color_reset}."
msgerr "Failed install ${RED}$name-$version-$release${CRESET}."
while IFS=' ' read -r line; do
pushd $ROOT_DIR
rm_silent "$line" || rmdir_silent --ignore-fail-on-non-empty "$line"
@@ -106,29 +100,29 @@ installpkg() {
restoreconf
case $PREINSTALL_STATUS in
OK) msg "preinstall : ${color_green}OK${color_reset}" ;;
KO) msg "preinstall : ${color_red}FAIL${color_reset}" ;;
OK) msg "preinstall : ${GREEN}OK${CRESET}" ;;
KO) msg "preinstall : ${RED}FAIL${CRESET}" ;;
esac
case $PREUPGRADE_STATUS in
OK) msg "preupgrade : ${color_green}OK${color_reset}" ;;
KO) msg "preupgrade : ${color_red}FAIL${color_reset}" ;;
OK) msg "preupgrade : ${GREEN}OK${CRESET}" ;;
KO) msg "preupgrade : ${RED}FAIL${CRESET}" ;;
esac
case $POSTINSTALL_STATUS in
OK) msg "postinstall : ${color_green}OK${color_reset}" ;;
KO) msg "postinstall : ${color_red}FAIL${color_reset}" ;;
OK) msg "postinstall : ${GREEN}OK${CRESET}" ;;
KO) msg "postinstall : ${RED}FAIL${CRESET}" ;;
esac
case $POSTUPGRADE_STATUS in
OK) msg "postupgrade : ${color_green}OK${color_reset}" ;;
KO) msg "postupgrade : ${color_red}FAIL${color_reset}" ;;
OK) msg "postupgrade : ${GREEN}OK${CRESET}" ;;
KO) msg "postupgrade : ${RED}FAIL${CRESET}" ;;
esac
runhooks
if [ -f $INDEX_DIR/$name/.pkgreadme ]; then
msg "This package has ${color_green}readme${color_reset}"
msg "This package has ${GREEN}readme${CRESET}"
fi
# remove lock file
@@ -176,7 +170,7 @@ registerpkg() {
tar -t -f $PKGNAME --exclude=.pkginfo --exclude=.pkginstall --exclude=.pkgreadme ${excludefile[@]} > $INDEX_DIR/$name/.files
tar -x -f $PKGNAME -C $INDEX_DIR/$name .pkginstall .pkgreadme >/dev/null 2>&1
msg "Successfully install ${color_green}$name-$version-$release${color_reset}."
msg "Successfully install ${GREEN}$name-$version-$release${CRESET}."
}
@@ -206,7 +200,7 @@ checkpkgconflict() {
for pkg in ${conflict[@]}; do
if [ -d $INDEX_DIR/$pkg ]; then
msg "Conflict package!: ${color_yellow}$pkg${color_reset}"
msg "Conflict package!: ${YELLOW}$pkg${CRESET}"
PKG_CONFLICT=yes
fi
done
@@ -259,38 +253,12 @@ upcheckconflict() {
}
# get information from compressed package
#getname() {
#name=$(tar xf $PKGNAME .pkginfo -O | grep ^name | cut -d " " -f3)
#version=$(tar xf $PKGNAME .pkginfo -O | grep ^version | cut -d " " -f3)
#release=$(tar xf $PKGNAME .pkginfo -O | grep ^release | cut -d " " -f3)
#depends=$(tar xf $PKGNAME .pkginfo -O | grep ^depends | cut -d " " -f3-)
#makedepends=$(tar xf $PKGNAME .pkginfo -O | grep ^makedepends | cut -d " " -f3-)
#conflict=$(tar xf $PKGNAME .pkginfo -O | grep ^conflict | cut -d " " -f3-)
#packagename=$name-$version-$release
#}
# get information from package index
#getoldname() {
#iname=$(cat $INDEX_DIR/$name/.pkginfo | grep ^name | cut -d " " -f3)
#iversion=$(cat $INDEX_DIR/$name/.pkginfo | grep ^version | cut -d " " -f3)
#irelease=$(cat $INDEX_DIR/$name/.pkginfo | grep ^release | cut -d " " -f3)
#backup=$(cat $INDEX_DIR/$name/.pkginfo | grep ^backup | cut -d " " -f3-)
#ipackagename=$iname-$iversion-$irelease
#}
backupconf() {
pushd $ROOT_DIR
for bkp in ${backup[@]}; do
if [ -e $bkp ]; then
msg2 "Backup ${color_purple}$bkp${color_reset}"
msg2 "Backup ${PURPLE}$bkp${CRESET}"
rm -f $bkp.spkgtmp
cp $bkp $bkp.spkgtmp
FILEBACKUP+=($bkp)
@@ -317,7 +285,7 @@ restoreconf() {
checkoutdate() {
if [ "$version-$release" = "$iversion-$irelease" ]; then
msg "Package ${color_green}$name${color_reset} is up-to-date."
msg "Package ${GREEN}$name${CRESET} is up-to-date."
exit 0
fi
@@ -493,13 +461,13 @@ main() {
### CHECK EXISTANT OF PACKAGE FILE ###
if [ ! -f $PKGNAME ]; then
msgerr "Package ${color_red}$1${color_reset} not exist!"
msgerr "Package ${RED}$1${CRESET} not exist!"
exit 1
fi
### INTEGRITY OF PACKAGE ###
if ! tar -tf $PKGNAME &>/dev/null; then
msgerr "Package ${color_red}$1${color_reset} is corrupted!"
msgerr "Package ${RED}$1${CRESET} is corrupted!"
exit 1
fi
@@ -514,7 +482,7 @@ main() {
### CHECK FOR LOCK FILE ###
if [ -f /tmp/spkg.lock ]; then
msgerr "Cant install/remove package simultaneously."
msgerr "remove ${color_yellow}/tmp/spkg.lock${color_reset} if no install/remove package process running."
msgerr "remove ${YELLOW}/tmp/spkg.lock${CRESET} if no install/remove package process running."
exit 1
fi
@@ -539,14 +507,14 @@ main() {
iname=$(installed_pkg_info name $name)
iversion=$(installed_pkg_info version $name)
irelease=$(installed_pkg_info release $name)
msg "Package ${color_green}$iname-$iversion-$irelease${color_reset} already installed."
msg "Package ${GREEN}$iname-$iversion-$irelease${CRESET} already installed."
exit 0
fi
### IF UPGRADE OR REINSTALL PACKAGE ###
if [ "$UPGRADE_PKG" ] || [ "$REINSTALL_PKG" ]; then
if [ ! -d $INDEX_DIR/$name ]; then
msg "Package ${color_red}$name${color_reset} is not installed."
msg "Package ${RED}$name${CRESET} is not installed."
exit 1
fi
iname=$(installed_pkg_info name $name)
@@ -559,10 +527,10 @@ main() {
exit 0
fi
checkoutdate
msg "Upgrading package: ${color_yellow}$iname-$iversion-$irelease${color_reset} -> ${color_green}$name-$version-$release${color_reset}"
msg "Upgrading package: ${YELLOW}$iname-$iversion-$irelease${CRESET} -> ${GREEN}$name-$version-$release${CRESET}"
# REINSTALL PACKAGE
elif [ "$REINSTALL_PKG" ]; then
msg "Reinstall package ${color_green}$name${color_reset}."
msg "Reinstall package ${GREEN}$name${CRESET}."
fi
fi

View File

@@ -15,7 +15,7 @@ spkglock() {
removepkg() {
msg "Removing ${color_green}$ipackagename${color_reset}..."
msg "Removing ${GREEN}$ipackagename${CRESET}..."
### CHECK DEPENDENCY ###
if [ ! "$IGNORE_DEP" ]; then
@@ -70,21 +70,21 @@ removepkg() {
rm -R $INDEX_DIR/$1
if [ -d $INDEX_DIR/$1 ]; then
msgerr "Error occured while removing ${color_red}$ipackagename${color_reset}."
msgerr "Error occured while removing ${RED}$ipackagename${CRESET}."
spkglock
exit 1
else
msg "Successfully remove ${color_green}$ipackagename${color_reset}."
msg "Successfully remove ${GREEN}$ipackagename${CRESET}."
fi
case $PREREMOVE_STATUS in
OK) msg "preremove : ${color_green}OK${color_reset}" ;;
KO) msg "preremove : ${color_red}FAIL${color_reset}" ;;
OK) msg "preremove : ${GREEN}OK${CRESET}" ;;
KO) msg "preremove : ${RED}FAIL${CRESET}" ;;
esac
case $POSTREMOVE_STATUS in
OK) msg "postremove : ${color_green}OK${color_reset}" ;;
KO) msg "postremove : ${color_red}FAIL${color_reset}" ;;
OK) msg "postremove : ${GREEN}OK${CRESET}" ;;
KO) msg "postremove : ${RED}FAIL${CRESET}" ;;
esac
runremovehooks
@@ -140,7 +140,7 @@ checkdeps() {
done
if [ "${#ERRDEP[@]}" -gt 0 ]; then
msgwarn "Package ${color_yellow}$iname-$iversion-$irelease${color_reset} is needed for:"
msgwarn "Package ${YELLOW}$iname-$iversion-$irelease${CRESET} is needed for:"
for pkg in ${ERRDEP[@]}; do
msg2 "$pkg"
done
@@ -296,13 +296,13 @@ main() {
### CHECK FOR LOCK FILE ###
if [ -f /tmp/spkg.lock ]; then
msgerr "Cant install/remove package simultaneously."
msgerr "remove ${color_yellow}/tmp/spkg.lock${color_reset} if no install/remove package process running."
msgerr "remove ${YELLOW}/tmp/spkg.lock${CRESET} if no install/remove package process running."
exit 1
fi
for pkg in ${RMNAME[@]}; do
if [ ! -d $INDEX_DIR/$pkg ]; then
msg "Package ${color_red}$pkg${color_reset} not installed."
msg "Package ${RED}$pkg${CRESET} not installed."
else
getoldname $pkg ### GET NAME, VERSION, RELEASE FROM INSTALLED PACKAGE DATABASE ###
removepkg $pkg ### REMOVE PACKAGE ###

116
scratch
View File

@@ -11,42 +11,42 @@ showinfo() {
echo -e " | SCRATCHPKG CONFIG |"
echo -e " --+-------------------+--"
echo
echo -e "${color_purple}CFLAGS${color_reset} $CFLAGS"
echo -e "${color_purple}CXXFLAGS${color_reset} $CXXFLAGS"
echo -e "${color_purple}MAKEFLAGS${color_reset} $MAKEFLAGS"
echo -e "${PURPLE}CFLAGS${CRESET} $CFLAGS"
echo -e "${PURPLE}CXXFLAGS${CRESET} $CXXFLAGS"
echo -e "${PURPLE}MAKEFLAGS${CRESET} $MAKEFLAGS"
echo
echo -e "${color_purple}PORT_REPO${color_reset}"
echo -e "${PURPLE}PORT_REPO${CRESET}"
for repo in ${PORT_REPO[@]}; do
echo $repo
done
echo
echo -e "${color_purple}ROOT_DIR${color_reset} $ROOT_DIR"
echo -e "${color_purple}INDEX_DIR${color_reset} $INDEX_DIR"
echo -e "${PURPLE}ROOT_DIR${CRESET} $ROOT_DIR"
echo -e "${PURPLE}INDEX_DIR${CRESET} $INDEX_DIR"
echo
echo -e "${color_purple}PACKAGE_DIR${color_reset} $PACKAGE_DIR"
echo -e "${color_purple}SOURCE_DIR${color_reset} $SOURCE_DIR"
echo -e "${color_purple}WORK_DIR${color_reset} $WORK_DIR"
echo -e "${color_purple}LOG_DIR${color_reset} $LOG_DIR"
echo -e "${color_purple}HOOK_DIR${color_reset} $HOOK_DIR"
echo -e "${PURPLE}PACKAGE_DIR${CRESET} $PACKAGE_DIR"
echo -e "${PURPLE}SOURCE_DIR${CRESET} $SOURCE_DIR"
echo -e "${PURPLE}WORK_DIR${CRESET} $WORK_DIR"
echo -e "${PURPLE}LOG_DIR${CRESET} $LOG_DIR"
echo -e "${PURPLE}HOOK_DIR${CRESET} $HOOK_DIR"
echo
echo -e "${color_purple}NO_EXTRACT${color_reset} $NO_EXTRACT"
echo -e "${PURPLE}NO_EXTRACT${CRESET} $NO_EXTRACT"
echo
echo -e "${color_purple}OPTIONS${color_reset}"
echo -e "${PURPLE}OPTIONS${CRESET}"
for opt in ${OPTIONS[@]}; do
echo $opt
done
echo
echo -e "${color_purple}PURGE_FILES${color_reset}"
echo -e "${PURPLE}PURGE_FILES${CRESET}"
for pg in ${PURGE_FILES[@]}; do
echo $pg
done
echo
echo -e "${color_purple}DOC_DIRS${color_reset}"
echo -e "${PURPLE}DOC_DIRS${CRESET}"
for dc in ${DOC_DIRS[@]}; do
echo $dc
done
echo
echo -e "${color_purple}MAN_DIRS${color_reset}"
echo -e "${PURPLE}MAN_DIRS${CRESET}"
for md in ${MAN_DIRS[@]}; do
echo $md
done
@@ -60,7 +60,7 @@ listinstalled() {
iname=$(installed_pkg_info name $pkg)
iversion=$(installed_pkg_info version $pkg)
irelease=$(installed_pkg_info release $pkg)
echo -e "$iname ${color_green}$iversion${color_reset}-${color_blue}$irelease${color_reset}"
echo -e "$iname ${GREEN}$iversion${CRESET}-${BLUE}$irelease${CRESET}"
done
}
@@ -88,7 +88,7 @@ listorphan() {
iname=$(installed_pkg_info name $all)
iversion=$(installed_pkg_info version $all)
irelease=$(installed_pkg_info release $all)
echo -e "$iname ${color_green}$iversion${color_reset}-${color_blue}$irelease${color_reset}"
echo -e "$iname ${GREEN}$iversion${CRESET}-${BLUE}$irelease${CRESET}"
fi
done
@@ -99,9 +99,9 @@ searchpkg() {
for port in ${PORT_REPO[@]}; do
if [ -d $port ]; then
pushd $port
OUTPUT=$(grep -R "# description" | grep -i "$1" | grep "$BUILD_SCRIPT" | cut -d '/' -f1)
OUTPUT=$(grep -R description | grep "$BUILD_SCRIPT:# description[[:blank:]]*:" | sed "s/$BUILD_SCRIPT:# description[[:blank:]]*://" | grep -i "$1" | cut -d '/' -f1)
popd
if [ "$OUTPUT" ]; then
if [ -n "$OUTPUT" ]; then
found=yes
for out in ${OUTPUT[@]}; do
if [ -f $port/$out/$BUILD_SCRIPT ]; then
@@ -110,16 +110,16 @@ searchpkg() {
popd
if [ ! -z "$name" ] && [ ! -z "$version" ] && [ ! -z "$release" ]; then
portname=$(basename $port)
search_result="${color_blue}($portname)${color_reset} ${color_purple}$name${color_reset} ${color_cyan}$version-$release${color_reset}"
search_result="${BLUE}($portname)${CRESET} ${PURPLE}$name${CRESET} ${CYAN}$version-$release${CRESET}"
if [ -d $INDEX_DIR/$name ]; then
iversion=$(installed_pkg_info version $name)
irelease=$(installed_pkg_info release $name)
[ -f $INDEX_DIR/$name/.lock ] && ITSLOCK="[locked]"
if [ "$version-$release" = "$iversion-$irelease" ]; then
msg3 "$search_result ${color_green}[installed]${color_reset} ${color_blue}$ITSLOCK${color_reset}"
msg3 "$search_result ${GREEN}[installed]${CRESET} ${BLUE}$ITSLOCK${CRESET}"
msg4 "$description"
else
msg3 "$search_result ${color_yellow}[installed $iversion-$irelease]${color_reset} ${color_blue}$ITSLOCK${color_reset}"
msg3 "$search_result ${YELLOW}[installed $iversion-$irelease]${CRESET} ${BLUE}$ITSLOCK${CRESET}"
msg4 "$description"
fi
else
@@ -133,7 +133,7 @@ searchpkg() {
fi
fi
done
if [ "$found" != "yes" ]; then
if [ ! "$found" ]; then
msg "No matching package found."
fi
}
@@ -142,7 +142,7 @@ checkowner() {
for pkg in $(allinstalled); do
for output in $(cat $INDEX_DIR/$pkg/.files | grep $1); do
echo -e "${color_cyan}$pkg${color_reset} => ${color_purple}$output${color_reset}"
echo -e "${CYAN}$pkg${CRESET} => ${PURPLE}$output${CRESET}"
done
done
@@ -151,7 +151,7 @@ checkowner() {
showtree() {
if [ ! -f $INDEX_DIR/$1/.pkginfo ]; then
msg "Package ${color_red}$1${color_reset} not installed."
msg "Package ${RED}$1${CRESET} not installed."
else
while IFS=' ' read -r line; do
echo "$line"
@@ -166,14 +166,14 @@ checkintegrity() {
for pkg in $(allinstalled); do
while IFS=' ' read -r line; do
if [ ! -e "$line" ]; then
msg "${color_blue}$pkg${color_reset} is missing: ${color_purple}/$line${color_reset}"
msg "${BLUE}$pkg${CRESET} is missing: ${PURPLE}/$line${CRESET}"
MISSING_FILE=yes
fi
done < <(cat $INDEX_DIR/$pkg/.files)
done
popd
[ "$UID" != "0" ] && msg "${color_yellow}(check integrity is recommended run as root or using sudo)${color_reset}"
[ "$UID" != "0" ] && msg "${YELLOW}(check integrity is recommended run as root or using sudo)${CRESET}"
[ ! "$MISSING_FILE" ] && msg "Your system file is consistent with package tree."
}
@@ -181,12 +181,12 @@ checkintegrity() {
showpackageinfo() {
if [ ! -f $1 ]; then
msg "${color_red}$1${color_reset} not exist."
msg "${RED}$1${CRESET} not exist."
exit 1
else
if [ $(tar -tf "$1" | grep -x ".pkginfo") ]; then
getpkginfofrompkg $1
echo -e "${color_green}info:${color_reset}"
echo -e "${GREEN}info:${CRESET}"
[ "$name" ] && echo "name = $name"
[ "$version" ] && echo "version = $version"
[ "$release" ] && echo "release = $release"
@@ -197,18 +197,18 @@ showpackageinfo() {
[ "$makedepends" ] && for md in ${makedepends[@]}; do echo "makedepends = $md"; done
echo ""
if [ $(tar -tf "$1" | grep -x ".pkgreadme") ]; then
echo -e "${color_green}readme:${color_reset}"
echo -e "${GREEN}readme:${CRESET}"
tar -xf $1 .pkgreadme -O
echo ""
echo ""
fi
if [ $(tar -tf "$1" | grep -x ".pkginstall") ]; then
echo -e "${color_green}pkginstall files:${color_reset}"
echo -e "${GREEN}pkginstall files:${CRESET}"
tar -xf $1 .pkginstall -O
echo ""
fi
else
msg "${color_yellow}$1${color_reset} is not package created by scratchpkg."
msg "${YELLOW}$1${CRESET} is not package created by scratchpkg."
exit 1
fi
fi
@@ -222,27 +222,27 @@ showdepends() {
getpkginfo
popd
else
msgerr "Port ${color_red}$1${color_reset} not exist."
msgerr "Port ${RED}$1${CRESET} not exist."
exit 1
fi
for dep in ${depends[@]}; do
if [ -d $INDEX_DIR/$dep ]; then
msg2 "$dep ${color_green}[installed]${color_reset}"
msg2 "$dep ${GREEN}[installed]${CRESET}"
elif getportpath $dep >/dev/null; then
msg2 "$dep"
else
msg2 "$dep ${color_red}[port not exist]${color_reset}"
msg2 "$dep ${RED}[port not exist]${CRESET}"
fi
done
for mdep in ${makedepends[@]}; do
if [ -d $INDEX_DIR/$mdep ]; then
msg2 "$mdep ${color_cyan}(make)${color_reset} ${color_green}[installed]${color_reset}"
msg2 "$mdep ${CYAN}(make)${CRESET} ${GREEN}[installed]${CRESET}"
elif getportpath $mdep >/dev/null; then
msg2 "$mdep ${color_cyan}(make)${color_reset}"
msg2 "$mdep ${CYAN}(make)${CRESET}"
else
msg "$mdep ${color_cyan}(make)${color_reset} ${color_red}[port not exist]${color_reset}"
msg "$mdep ${CYAN}(make)${CRESET} ${RED}[port not exist]${CRESET}"
fi
done
}
@@ -255,8 +255,8 @@ checkupdate() {
iversion=$(installed_pkg_info version $pkg)
irelease=$(installed_pkg_info release $pkg)
[ -f "$INDEX_DIR/$pkg/.lock" ] && ITSLOCK="[locked]"
outdatemsg="$name ${color_red}$iversion-$irelease${color_reset} => ${color_green}$version-$release${color_reset} ${color_blue}$ITSLOCK${color_reset}"
newerinstmsg="$name ${color_red}$iversion-$irelease${color_reset} => ${color_green}$version-$release${color_reset} ${color_yellow}[newer installed]${color_reset} ${color_blue}$ITSLOCK${color_reset}"
outdatemsg="$name ${RED}$iversion-$irelease${CRESET} => ${GREEN}$version-$release${CRESET} ${BLUE}$ITSLOCK${CRESET}"
newerinstmsg="$name ${RED}$iversion-$irelease${CRESET} => ${GREEN}$version-$release${CRESET} ${YELLOW}[newer installed]${CRESET} ${BLUE}$ITSLOCK${CRESET}"
if [ "$version" != "$iversion" ]; then
vercomp $version $iversion
if [ $? = 2 ]; then
@@ -286,7 +286,7 @@ checkupdate() {
showdependent() {
if [ ! -d $INDEX_DIR/$1 ]; then
msg "Package ${color_red}$1${color_reset} not installed."
msg "Package ${RED}$1${CRESET} not installed."
exit 1
else
for all_installed in $(ls $INDEX_DIR); do
@@ -301,7 +301,7 @@ showdependent() {
for mdep in ${makedepend[@]}; do
if [ $mdep = $1 ]; then
DP=yes
msg2 "$all_installed ${color_cyan}(make)${color_reset}"
msg2 "$all_installed ${CYAN}(make)${CRESET}"
fi
done
done
@@ -321,7 +321,7 @@ showglobaldependent() {
if [ $dep = $1 ]; then
GDP=yes
if [ -d $INDEX_DIR/$all ]; then
msg2 "$all ${color_green}[installed]${color_reset}"
msg2 "$all ${GREEN}[installed]${CRESET}"
else
msg2 "$all"
fi
@@ -332,9 +332,9 @@ showglobaldependent() {
if [ $mdep = $1 ]; then
GDP=yes
if [ -d $INDEX_DIR/$all ]; then
msg2 "$all ${color_cyan}(make)${color_reset} ${color_green}[installed]${color_reset}"
msg2 "$all ${CYAN}(make)${CRESET} ${GREEN}[installed]${CRESET}"
else
msg2 "$all ${color_cyan}(make)${color_reset}"
msg2 "$all ${CYAN}(make)${CRESET}"
fi
fi
done
@@ -447,11 +447,11 @@ pkgcache() {
ALL_SOURCES_SIZE=0M
fi
msg "${color_cyan}Package cache ($ALL_PACKAGES_SIZE):${color_reset}"
msg "${CYAN}Package cache ($ALL_PACKAGES_SIZE):${CRESET}"
[ ${#ALL_PACKAGES[@]} -gt 0 ] && (echo ${ALL_PACKAGES[@]} | tr ' ' '\n') || echo "(none)"
echo ""
msg "${color_cyan}Source cache ($ALL_SOURCES_SIZE):${color_reset}"
msg "${CYAN}Source cache ($ALL_SOURCES_SIZE):${CRESET}"
[ ${#ALL_SOURCES[@]} -gt 0 ] && (echo ${ALL_SOURCES[@]} | tr ' ' '\n') || echo "(none)"
}
@@ -518,15 +518,15 @@ listports() {
for ports in $(ls $repo/*/$BUILD_SCRIPT | rev | cut -d '/' -f2 | rev 2>/dev/null); do
. "$repo/$ports/$BUILD_SCRIPT"
if [ -f "$PACKAGE_DIR/$name-$version-$release.spkg.txz" ]; then
echo -e "$name ${color_green}$version${color_reset}-${color_blue}$release${color_reset} ${color_purple}[*]${color_reset}"
echo -e "$name ${GREEN}$version${CRESET}-${BLUE}$release${CRESET} ${PURPLE}[*]${CRESET}"
else
echo -e "$name ${color_green}$version${color_reset}-${color_blue}$release${color_reset}"
echo -e "$name ${GREEN}$version${CRESET}-${BLUE}$release${CRESET}"
fi
done
fi
done
[ "$REPO_EXIST" ] || msgerr "Repository ${color_red}$1${color_reset} not exist."
[ "$REPO_EXIST" ] || msgerr "Repository ${RED}$1${CRESET} not exist."
}
@@ -611,10 +611,10 @@ missingdep() {
done
fi
if [ ${#msd[@]} -gt 0 ]; then
echo -e "${color_green}$pkg${color_reset} missing ${color_red}${msd[@]}${color_reset}"
echo -e "${GREEN}$pkg${CRESET} missing ${RED}${msd[@]}${CRESET}"
fi
if [ ${#msmd[@]} -gt 0 ]; then
echo -e "${color_green}$pkg${color_reset} missing ${color_red}${msmd[@]}${color_reset} ${color_blue}(make)${color_reset}"
echo -e "${GREEN}$pkg${CRESET} missing ${RED}${msmd[@]}${CRESET} ${BLUE}(make)${CRESET}"
fi
done
@@ -644,7 +644,7 @@ missingport() {
for dep in $depends; do
if ! getportpath $dep >/dev/null; then
ms+=($dep)
#echo -e "${color_green}$portname${color_reset} requires ${color_red}$dep${color_reset}"
#echo -e "${GREEN}$portname${CRESET} requires ${RED}$dep${CRESET}"
fi
done
fi
@@ -652,15 +652,15 @@ missingport() {
for mdep in $makedepends; do
if ! getportpath $mdep >/dev/null; then
mms+=($mdep)
#echo -e "${color_green}$portname${color_reset} requires ${color_red}$mdep${color_reset} ${color_blue}(make)${color_reset}"
#echo -e "${GREEN}$portname${CRESET} requires ${RED}$mdep${CRESET} ${BLUE}(make)${CRESET}"
fi
done
fi
if [ ${#ms[@]} -gt 0 ]; then
echo -e "${color_green}$portname${color_reset} requires ${color_red}${ms[@]}${color_reset}"
echo -e "${GREEN}$portname${CRESET} requires ${RED}${ms[@]}${CRESET}"
fi
if [ ${#mms[@]} -gt 0 ]; then
echo -e "${color_green}$portname${color_reset} requires ${color_red}${mms[@]}${color_reset} ${color_blue}(make)${color_reset}"
echo -e "${GREEN}$portname${CRESET} requires ${RED}${mms[@]}${CRESET} ${BLUE}(make)${CRESET}"
fi
done
done
@@ -684,7 +684,6 @@ Options:
-pd, --package-dir <path> override directory path for compiled package
-v, --verbose verbose process
-im, --ignore-mdsum skip md5sum check for sources
-um, --update-mdsum update md5sum file for port
-do, --download-only download sources only
-eo, --extract-only extract sources only
-kw, --keep-work keep working directory
@@ -752,7 +751,6 @@ parse_options() {
-fr | --force-rebuild) OPTS+=($1) ;;
-v | --verbose) OPTS+=($1) ;;
-im | --ignore-mdsum) OPTS+=($1) ;;
-um | --update-mdsum) OPTS+=($1) ;;
-do | --download-only) OPTS+=($1) ;;
-eo | --extract-only) OPTS+=($1) ;;
-kw | --keep-work) OPTS+=($1) ;;

View File

@@ -10,6 +10,7 @@ version=
release=1
options=()
source=()
md5sum=()
build() {
cd $name-$version