mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-20 21:37:39 +01:00
pkg.sh log-install: Fix handling of links
- Links are installed with file attributes - Sometimes links are wrongly logged as directories Fix that. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
39ffefb285
commit
ce08110e2b
1 changed files with 30 additions and 29 deletions
|
|
@ -808,38 +808,16 @@ cmd_log_install()
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
local file mode installd_file cfgfile dir
|
local file mode installd_file cfgfile dir attr
|
||||||
if [ "$c_mode_dir" = true ]; then
|
if [ "$c_mode_dir" = true ]; then
|
||||||
for file in $*; do
|
for file in $*; do
|
||||||
[ "$c_no_log_dirs" = 0 ] || continue
|
[ "$c_no_log_dirs" = 0 ] || continue
|
||||||
echo "%dir %attr($c_mode,$c_owner,$c_group) $file" >> $c_logfile
|
attr=" %attr($c_mode,$c_owner,$c_group)"
|
||||||
|
[ -L "$file" ] && attr=""
|
||||||
|
echo "%dir$attr $file" >> $c_logfile
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
if [ -d "$c_target" ]; then
|
if [ -f "$c_target" -o -L "$c_target" ]; then
|
||||||
for file in $c_source; do
|
|
||||||
installed_file="$c_target/`basename $file`"
|
|
||||||
cfgfile=""
|
|
||||||
local mode
|
|
||||||
if [ "$c_mode" ]; then
|
|
||||||
mode=$c_mode
|
|
||||||
cfgfile=`cfgfile_macro "$installed_file"`
|
|
||||||
else
|
|
||||||
if [ -d "$file" ]; then
|
|
||||||
[ "$c_no_log_dirs" = 0 ] || continue
|
|
||||||
dir="%dir "
|
|
||||||
mode=0755
|
|
||||||
else
|
|
||||||
cfgfile=`cfgfile_macro "$installed_file"`
|
|
||||||
dir=""
|
|
||||||
mode=0644
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
local attr="%attr($mode,$c_owner,$c_group)"
|
|
||||||
[ -l $file ] && attr=""
|
|
||||||
echo "$dir$attr $cfgfile$installed_file" |
|
|
||||||
sed "s/^$c_ignore_prefix//" >> $c_logfile
|
|
||||||
done
|
|
||||||
else
|
|
||||||
installed_file="$c_target"
|
installed_file="$c_target"
|
||||||
cfgfile=""
|
cfgfile=""
|
||||||
if [ "$c_mode" ]; then
|
if [ "$c_mode" ]; then
|
||||||
|
|
@ -855,11 +833,34 @@ cmd_log_install()
|
||||||
mode=0644
|
mode=0644
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
local attr="%attr($mode,$c_owner,$c_group)"
|
attr="%attr($mode,$c_owner,$c_group)"
|
||||||
[ -l $file ] && attr=""
|
[ -L "$c_target" ] && attr=""
|
||||||
if [ -z "$dir" -o "$c_no_log_dirs" != 0 ]; then
|
if [ -z "$dir" -o "$c_no_log_dirs" != 0 ]; then
|
||||||
echo "$dir$attr $cfgfile$c_target" | sed "s/^$c_ignore_prefix//" >> $c_logfile
|
echo "$dir$attr $cfgfile$c_target" | sed "s/^$c_ignore_prefix//" >> $c_logfile
|
||||||
fi
|
fi
|
||||||
|
elif [ -d "$c_target" ]; then
|
||||||
|
for file in $c_source; do
|
||||||
|
installed_file="$c_target/`basename $file`"
|
||||||
|
cfgfile=""
|
||||||
|
if [ "$c_mode" ]; then
|
||||||
|
mode=$c_mode
|
||||||
|
cfgfile=`cfgfile_macro "$installed_file"`
|
||||||
|
else
|
||||||
|
if [ -d "$file" ]; then
|
||||||
|
[ "$c_no_log_dirs" = 0 ] || continue
|
||||||
|
dir="%dir "
|
||||||
|
mode=0755
|
||||||
|
else
|
||||||
|
cfgfile=`cfgfile_macro "$installed_file"`
|
||||||
|
dir=""
|
||||||
|
mode=0644
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
attr="%attr($mode,$c_owner,$c_group)"
|
||||||
|
[ -L "$file" ] && attr=""
|
||||||
|
echo "$dir$attr $cfgfile$installed_file" |
|
||||||
|
sed "s/^$c_ignore_prefix//" >> $c_logfile
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue