You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The checks of directory permissions of pkgmk are too strict.
what I've stumbled upon so far:
-uf -um -us only need read permission on source directory and write permission on port directory
-rs only needs write permission on port directory
-do needs write permission on source directory and read permission on port directory
regards, deepthought
P.S. The user building my own ports is not the one who owns the ports tree.
So I have to "pkgmk -uf", "pkgmk -um" and "pkgmk -us" as root and chown the files afterwards.
--- a/pkgmk.in 2017-03-01 20:04:24.792329517 +0100+++ b/pkgmk.in 2017-03-01 20:09:20.608612750 +0100@@ -103,9 +103,14 @@
error "File '$1' is not writable."
exit 1
fi
+ if [ ! -e $1 ]; then+ check_directory `dirname $1`+ fi
}
download_file() {
+ check_directory "$PKGMK_SOURCE_DIR"+
info "Downloading '$1'."
PKGMK_DOWNLOAD_PROG=${PKGMK_DOWNLOAD_PROG:-wget}
@@ -620,10 +625,13 @@
local FILE LOCAL_FILENAME
if [ -f $TARGET ]; then
+ check_directory "$PKGMK_PACKAGE_DIR"
info "Removing $TARGET"
rm -f $TARGET
fi
+ check_directory "$PKGMK_SOURCE_DIR"+
for FILE in ${source[@]}; do
LOCAL_FILENAME=`get_filename $FILE`
if [ -e $LOCAL_FILENAME ] && [ "$LOCAL_FILENAME" != "$FILE" ]; then
@@ -641,7 +649,6 @@
check_file "$PKGMK_FOOTPRINT"
make_footprint > $PKGMK_FOOTPRINT
- touch $TARGET
info "Footprint updated."
}
@@ -811,10 +818,6 @@
. $FILE
done
- check_directory "$PKGMK_SOURCE_DIR"- check_directory "$PKGMK_PACKAGE_DIR"- check_directory "`dirname $PKGMK_WORK_DIR`"-
check_pkgfile
case $PKGMK_COMPRESSION_MODE in
@@ -867,6 +870,8 @@
if [ "$PKGMK_EXTRACT_ONLY" = "yes" ]; then
download_source
+ check_directory "$PKGMK_PACKAGE_DIR"+ check_directory "`dirname $PKGMK_WORK_DIR`"
make_work_dir
info "Extracting sources of package '$name-$version'."
unpack_source
@@ -886,6 +891,8 @@
info "Package '$TARGET' is up to date."
else
download_source
+ check_directory "$PKGMK_PACKAGE_DIR"+ check_directory "`dirname $PKGMK_WORK_DIR`"
build_package
fi
The text was updated successfully, but these errors were encountered:
Reference: https://crux.nu/bugs/index.php?do=details&task_id=1382
The text was updated successfully, but these errors were encountered: