add logging

This commit is contained in:
emmett1
2019-04-25 17:37:52 +08:00
parent b779c3a3a5
commit 46f182fcac
4 changed files with 22 additions and 12 deletions

View File

@@ -13,5 +13,5 @@ mkdir -pv ${DESTDIR}{${BINDIR},${CONFDIR},${HOOK_DIR},${PORT_DIR},${REVDEPD}}
install -m755 revdep pkgadd pkgdel pkgbuild pkgdeplist pkglibdepends scratch pkgbase ${DESTDIR}${BINDIR}
install -m644 scratchpkg.conf scratchpkg.repo ${DESTDIR}${CONFDIR}
install -m755 extra/* ${DESTDIR}${BINDIR}
install -dm777 ${DESTDIR}${CACHE_DIR}/{packages,sources}
install -dm777 ${DESTDIR}${CACHE_DIR}/{packages,sources,log}
install -m644 revdep.conf ${DESTDIR}${REVDEPCONF}

View File

@@ -236,8 +236,14 @@ run_build() {
runprebuildscript
(set -e -x; build)
#(exec &> >(tee -i $LOG_DIR/$name.log); echo "$name-$version"; echo $(date); set -e -x; build)
if [ "$LOGGING" = yes ]; then
(
set -e -x; build 2>&1 | tee $LOG_DIR/$name-$version-$release.log
exit $PIPESTATUS
)
else
(set -e -x; build)
fi
if [ $? != 0 ]; then
msgerr "Build '$name-$version-$release' failed."
@@ -519,6 +525,7 @@ parse_opts() {
-x | --extract) EXTRACT_ONLY=yes ;;
-w | --keep-work) KEEP_WORK=yes ;;
-s | --silent) INST_OPT=$1 ;;
-l | --log) LOGGING=yes ;;
-h | --help) SHOWHELP=yes ;;
--no-preinstall) NO_PREINSTALL=yes; OPTS+=($1) ;;
--no-postinstall) OPTS+=($1) ;;
@@ -575,6 +582,11 @@ main() {
fi
checkdir "$SOURCE_DIR" "$PACKAGE_DIR" "$WORK_DIR"
if [ -f $LOG_DIR/$name-$version-$release.log ] && [ ! -w $LOG_DIR/$name-$version-$release.log ]; then
msgerr "You dont have write permission for '$LOG_DIR/$name-$version-$release.log'!"
abort 1
fi
check_buildscript
set_options
@@ -651,6 +663,7 @@ PKGBUILD_BSCRIPT="spkgbuild"
SOURCE_DIR="/var/cache/scratchpkg/sources"
PACKAGE_DIR="/var/cache/scratchpkg/packages"
LOG_DIR="/var/cache/scratchpkg/log"
WORK_DIR="/tmp"
DOWNLOAD_PROG="wget"
COMPRESSION_MODE="xz"

14
scratch
View File

@@ -338,11 +338,7 @@ showdependent() {
checkowner() {
local arg
arg=$(echo $1 | sed 's:^/::')
for pkg in $(allinstalled); do
grep $arg $INDEX_DIR/$pkg/.files | while read line; do
echo -e "${CYAN}$pkg${CRESET} => ${PURPLE}$line${CRESET}"
done
done
grep -R $arg $INDEX_DIR/*/.files | sed "s:$INDEX_DIR/::" | sed "s:/.files::" | tr : " " | column -t
}
showtree() {
@@ -529,9 +525,9 @@ buildpkg() {
return 1
fi
while [ "$1" ]; do
if [[ "$1" =~ ^-(f|v|w|m|o|x)$ ]]; then
if [[ "$1" =~ ^-(f|v|w|m|o|x|l)$ ]]; then
OPTS+=($1)
elif [[ "$1" =~ ^--(no-prebuild|force-rebuild|skip-mdsum|download|extract|keep-work)$ ]]; then
elif [[ "$1" =~ ^--(no-prebuild|force-rebuild|skip-mdsum|download|extract|keep-work|log)$ ]]; then
OPTS+=($1)
elif [[ "$1" =~ ^--(pkgdir|srcdir)= ]]; then
OPTS+=($1)
@@ -565,7 +561,7 @@ installpkg() {
return 1
fi
while [ "$1" ]; do
if [[ "$1" =~ ^-(c|v|-verbose|-ignore-conflict)$ ]]; then
if [[ "$1" =~ ^-(c|v|l|-verbose|-ignore-conflict|-log)$ ]]; then
OPTS+=($1)
elif [[ "$1" =~ ^-(r|-reinstall)$ ]]; then
OPTS+=($1)
@@ -775,7 +771,7 @@ sysup() {
shift
done
echo "Checking for outdate packages..."
echo "Checking for outdated packages..."
PKGOUTDATE=$(outdatepkg)
if [ ! "$PKGOUTDATE" ]; then

View File

@@ -8,6 +8,7 @@ MAKEFLAGS="-j$(nproc)"
# SOURCE_DIR="/var/cache/scratchpkg/sources"
# PACKAGE_DIR="/var/cache/scratchpkg/packages"
# LOG_DIR="/var/cache/scratchpkg/log"
# WORK_DIR="/tmp"
# HOOK_DIR="/etc/hooks"
# DOWNLOAD_PROG="wget"