mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
pkg.sh and defs.mk: Add pkg.sh install-log -N, fix links
pkg.sh install-log now supports a -N option, meaning no-log-directories. This installs directories, but doesn't log then in the install log, effectively excluding them from being packaged. This is necessary for directories provided by other packages. -N can be activated by adding LOG_INSTALL_EXTRA_OPTS += -N to a Makefile, see changes in defs.mk. pgk.sh install-log now also omits addition of %attr tags to symbolic links. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
cea7078fae
commit
e37e7f91c1
2 changed files with 50 additions and 25 deletions
22
make/defs.mk
22
make/defs.mk
|
|
@ -200,6 +200,10 @@ else
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
USE_COMPILER_OPTIMIZATION_OPTS = false
|
||||||
|
USE_COMPILER_DEBUG_OPTS = true
|
||||||
|
COMPILE_DEBUG_CODE = true
|
||||||
|
|
||||||
BUILD_CFLAGS += $(CFLAGS)
|
BUILD_CFLAGS += $(CFLAGS)
|
||||||
BUILD_CPPFLAGS += $(CPPFLAGS)
|
BUILD_CPPFLAGS += $(CPPFLAGS)
|
||||||
BUILD_LDFLAGS += $(LDFLAGS)
|
BUILD_LDFLAGS += $(LDFLAGS)
|
||||||
|
|
@ -497,7 +501,7 @@ INSTALLED_CGI += $(addprefix $(INSTALL_CGIDIR)/,$(EXE_CGI))
|
||||||
# -- HTML
|
# -- HTML
|
||||||
INSTALLATION_FILE_TYPES += HTML
|
INSTALLATION_FILE_TYPES += HTML
|
||||||
BUILD_HTMLDIR = $(TOPDIR)/htdocs
|
BUILD_HTMLDIR = $(TOPDIR)/htdocs
|
||||||
LOCAL_HTML += $(filter-out $(DONT_INSTALL),$(wildcard *.html *.css *.php *.js *.cgi) $(FONTS) $(IMAGES))
|
LOCAL_HTML += $(filter-out $(DONT_INSTALL),$(wildcard *.html *.css *.php *.js) $(FONTS) $(IMAGES))
|
||||||
HTML_SUBDIR ?= $(shell $(PWD) | $(SED) '/.*\/htdocs\(\/\|$$\)/!d; s%.*/htdocs\(/\|$$\)%%')
|
HTML_SUBDIR ?= $(shell $(PWD) | $(SED) '/.*\/htdocs\(\/\|$$\)/!d; s%.*/htdocs\(/\|$$\)%%')
|
||||||
ifeq ($(HTML_SUBDIR),)
|
ifeq ($(HTML_SUBDIR),)
|
||||||
INSTALL_HTMLDIR ?= $(PROJECT_HTMLDIR)
|
INSTALL_HTMLDIR ?= $(PROJECT_HTMLDIR)
|
||||||
|
|
@ -707,25 +711,27 @@ ifeq ($(LOG_THREAD_NAMES), true)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef INSTALL_LINK
|
ifdef INSTALL_LINK
|
||||||
INSTALL = $(SUDO) $(LOG_INSTALL_SH) -WA
|
INSTALL = $(SUDO) $(LOG_INSTALL_SH) -WA $(LOG_INSTALL_EXTRA_OPTS)
|
||||||
LINK_LIB = $(SUDO) $(LOG_INSTALL_SH) -LA
|
LINK_LIB = $(SUDO) $(LOG_INSTALL_SH) -LA $(LOG_INSTALL_EXTRA_OPTS)
|
||||||
else ifdef INSTALL_SYMLINK
|
else ifdef INSTALL_SYMLINK
|
||||||
INSTALL = $(SUDO) $(LOG_INSTALL_SH) -LA
|
INSTALL = $(SUDO) $(LOG_INSTALL_SH) -LA $(LOG_INSTALL_EXTRA_OPTS)
|
||||||
LINK_LIB = $(SUDO) $(LOG_INSTALL_SH) -LA
|
LINK_LIB = $(SUDO) $(LOG_INSTALL_SH) -LA $(LOG_INSTALL_EXTRA_OPTS)
|
||||||
else
|
else
|
||||||
ifdef INSTALL_LOG
|
ifdef INSTALL_LOG
|
||||||
INSTALL=$(LOG_INSTALL_SH) -p -l $(INSTALL_LOG)
|
INSTALL = $(LOG_INSTALL_SH) -p -l $(INSTALL_LOG) $(LOG_INSTALL_EXTRA_OPTS)
|
||||||
LINK_LIB=$(LOG_INSTALL_SH) -L -l $(INSTALL_LOG)
|
LINK_LIB = $(LOG_INSTALL_SH) -L -l $(INSTALL_LOG) $(LOG_INSTALL_EXTRA_OPTS)
|
||||||
else
|
else
|
||||||
ifndef INSTALL
|
ifndef INSTALL
|
||||||
INSTALL = install
|
INSTALL = install
|
||||||
endif
|
endif
|
||||||
ifndef LINK_LIB
|
ifndef LINK_LIB
|
||||||
LINK_LIB=$(LOG_INSTALL_SH) -L
|
LINK_LIB = $(LOG_INSTALL_SH) -L
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
INSTALL_FILE ?= $(INSTALL)
|
||||||
|
INSTALL_DIR ?= $(INSTALL)
|
||||||
|
|
||||||
# ----- function definitions
|
# ----- function definitions
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -679,9 +679,10 @@ cmd_log_install()
|
||||||
local c_opmode=opmode_install
|
local c_opmode=opmode_install
|
||||||
local c_absolute=0
|
local c_absolute=0
|
||||||
local c_wrap=0
|
local c_wrap=0
|
||||||
|
local c_no_log_dirs=0
|
||||||
local install_opts
|
local install_opts
|
||||||
|
|
||||||
set -- `getopt 'DLWi:a:f:l:bg:cdm:o:psS:vA' $*`
|
set -- `getopt 'DLWi:a:f:l:bg:cdm:o:psS:vA:N' $*`
|
||||||
|
|
||||||
cfgfile_macro()
|
cfgfile_macro()
|
||||||
{
|
{
|
||||||
|
|
@ -744,6 +745,8 @@ cmd_log_install()
|
||||||
c_wrap=1;;
|
c_wrap=1;;
|
||||||
-A)
|
-A)
|
||||||
c_absolute=1;;
|
c_absolute=1;;
|
||||||
|
-N)
|
||||||
|
c_no_log_dirs=1;;
|
||||||
*)
|
*)
|
||||||
echo unknown option \"$1\". Exiting. >&2
|
echo unknown option \"$1\". Exiting. >&2
|
||||||
exit 1;;
|
exit 1;;
|
||||||
|
|
@ -753,7 +756,7 @@ cmd_log_install()
|
||||||
|
|
||||||
shift
|
shift
|
||||||
|
|
||||||
local args="`echo " $args" | sed -e 's/ -l *[^ ]*//g; s/ -f *[^ ]*//g; s/\b-a\b//g;'`"
|
local args="`echo " $args" | sed -e 's/ -l *[^ ]*//g; s/ -f *[^ ]*//g; s/\b-a\b//g; s/ -N / /g'`"
|
||||||
|
|
||||||
if [ -z "$c_use_attr" ]; then
|
if [ -z "$c_use_attr" ]; then
|
||||||
#args="`echo " $args" | sed -e 's/ -g *[^ ]*//g; s/ -m *[^ ]*//g; s/ -o *[^ ]*//g;'`"
|
#args="`echo " $args" | sed -e 's/ -g *[^ ]*//g; s/ -m *[^ ]*//g; s/ -o *[^ ]*//g;'`"
|
||||||
|
|
@ -808,6 +811,7 @@ cmd_log_install()
|
||||||
local file mode installd_file cfgfile dir
|
local file mode installd_file cfgfile dir
|
||||||
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
|
||||||
echo "%dir %attr($c_mode,$c_owner,$c_group) $file" >> $c_logfile
|
echo "%dir %attr($c_mode,$c_owner,$c_group) $file" >> $c_logfile
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
|
|
@ -821,6 +825,7 @@ cmd_log_install()
|
||||||
cfgfile=`cfgfile_macro "$installed_file"`
|
cfgfile=`cfgfile_macro "$installed_file"`
|
||||||
else
|
else
|
||||||
if [ -d "$file" ]; then
|
if [ -d "$file" ]; then
|
||||||
|
[ "$c_no_log_dirs" = 0 ] || continue
|
||||||
dir="%dir "
|
dir="%dir "
|
||||||
mode=0755
|
mode=0755
|
||||||
else
|
else
|
||||||
|
|
@ -829,7 +834,9 @@ cmd_log_install()
|
||||||
mode=0644
|
mode=0644
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
echo "$dir%attr($mode,$c_owner,$c_group) $cfgfile$installed_file" |
|
local attr="%attr($mode,$c_owner,$c_group)"
|
||||||
|
[ -l $file ] && attr=""
|
||||||
|
echo "$dir$attr $cfgfile$installed_file" |
|
||||||
sed "s/^$c_ignore_prefix//" >> $c_logfile
|
sed "s/^$c_ignore_prefix//" >> $c_logfile
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
|
|
@ -848,7 +855,11 @@ cmd_log_install()
|
||||||
mode=0644
|
mode=0644
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
echo "$dir%attr($mode,$c_owner,$c_group) $cfgfile$c_target" | sed "s/^$c_ignore_prefix//" >> $c_logfile
|
local attr="%attr($mode,$c_owner,$c_group)"
|
||||||
|
[ -l $file ] && attr=""
|
||||||
|
if [ -z "$dir" -o "$c_no_log_dirs" != 0 ]; then
|
||||||
|
echo "$dir$attr $cfgfile$c_target" | sed "s/^$c_ignore_prefix//" >> $c_logfile
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
@ -878,11 +889,17 @@ cmd_milk_install_log()
|
||||||
chmod 755 $1
|
chmod 755 $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cat_log()
|
||||||
|
{
|
||||||
|
cat $in | $user_filter
|
||||||
|
}
|
||||||
|
|
||||||
local type name prefix in out subpackages
|
local type name prefix in out subpackages
|
||||||
|
|
||||||
subpackages="run devel"
|
local subpackages="run devel"
|
||||||
|
local user_filter=cat
|
||||||
|
|
||||||
eval set -- `getopt -- ht:p:n:s: "$@"`
|
eval set -- `getopt -- ht:p:n:s:F: "$@"`
|
||||||
while [ "$1" != -- ]; do
|
while [ "$1" != -- ]; do
|
||||||
case $1 in
|
case $1 in
|
||||||
-h)
|
-h)
|
||||||
|
|
@ -895,6 +912,8 @@ cmd_milk_install_log()
|
||||||
prefix="$2"; shift;;
|
prefix="$2"; shift;;
|
||||||
-s)
|
-s)
|
||||||
subpackages="$2"; shift;;
|
subpackages="$2"; shift;;
|
||||||
|
-F)
|
||||||
|
user_filter="$2"; shift;;
|
||||||
*)
|
*)
|
||||||
echo -e "Unexpected argument >$1<\n" >&2
|
echo -e "Unexpected argument >$1<\n" >&2
|
||||||
milk_install_log_usage 1;;
|
milk_install_log_usage 1;;
|
||||||
|
|
@ -908,8 +927,8 @@ cmd_milk_install_log()
|
||||||
milk_install_log_usage 1
|
milk_install_log_usage 1
|
||||||
}
|
}
|
||||||
|
|
||||||
in=$1
|
local in=$1
|
||||||
out=$2
|
local out=$2
|
||||||
|
|
||||||
local filter_devel="/include$\|/include/$name$"
|
local filter_devel="/include$\|/include/$name$"
|
||||||
filter_devel="$filter_devel\|/include/[^/]*.h$\|/include/$name/[^/]*.h$\|/include/[^/]*.hpp$\|/include/$name/[^/]*.hpp$"
|
filter_devel="$filter_devel\|/include/[^/]*.h$\|/include/$name/[^/]*.h$\|/include/[^/]*.hpp$\|/include/$name/[^/]*.hpp$"
|
||||||
|
|
@ -919,19 +938,19 @@ cmd_milk_install_log()
|
||||||
# TODO: simplify this
|
# TODO: simplify this
|
||||||
case $type in
|
case $type in
|
||||||
rpm)
|
rpm)
|
||||||
cat $in | sed "s% $prefix% %" | grep -ve $filter_devel > $in.$name-run
|
cat_log | sed "s% $prefix% %" | grep -ve $filter_devel > $in.$name-run
|
||||||
cat $in | sed "s% $prefix% %" | grep -e $filter_devel > $in.$name-devel
|
cat_log | sed "s% $prefix% %" | grep -e $filter_devel > $in.$name-devel
|
||||||
# TODO: this is unimplemented for debian packages
|
# TODO: this is unimplemented for debian packages
|
||||||
echo $subpackages | grep -q devel || cat $in.$name-devel >> $in.$name-run
|
echo $subpackages | grep -q devel || cat $in.$name-devel >> $in.$name-run
|
||||||
;;
|
;;
|
||||||
deb)
|
deb)
|
||||||
cat $in | grep -v "%dir" | sed "s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -ve $filter_devel | sed 's/\(.*\)\/\([^/]\+\) *$/inst-root\1\/\2 \1/' > $out/$name-run.install
|
cat_log | grep -v "%dir" | sed "s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -ve $filter_devel | sed 's/\(.*\)\/\([^/]\+\) *$/inst-root\1\/\2 \1/' > $out/$name-run.install
|
||||||
cat $in | grep -v "%dir" | sed "s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -e $filter_devel | sed 's/\(.*\)\/\([^/]\+\) *$/inst-root\1\/\2 \1/' > $out/$name-devel.install
|
cat_log | grep -v "%dir" | sed "s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -e $filter_devel | sed 's/\(.*\)\/\([^/]\+\) *$/inst-root\1\/\2 \1/' > $out/$name-devel.install
|
||||||
cat $in | grep "%dir" | sed "s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -ve $filter_devel | sed 's/\(.*\)\/\([^/]\+\) *$/\1\/\2/; s%^/%%' | sort -u > $out/$name-run.dirs
|
cat_log | grep "%dir" | sed "s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -ve $filter_devel | sed 's/\(.*\)\/\([^/]\+\) *$/\1\/\2/; s%^/%%' | sort -u > $out/$name-run.dirs
|
||||||
cat $in | grep "%dir" | sed "s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -e $filter_devel | sed 's/\(.*\)\/\([^/]\+\) *$/\1\/\2/; s%^/%%' | sort -u > $out/$name-devel.dirs
|
cat_log | grep "%dir" | sed "s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -e $filter_devel | sed 's/\(.*\)\/\([^/]\+\) *$/\1\/\2/; s%^/%%' | sort -u > $out/$name-devel.dirs
|
||||||
#cat $in | sed "/%config/ !d; s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -ve $filter_devel > $out/conffiles
|
#cat_log | sed "/%config/ !d; s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -ve $filter_devel > $out/conffiles
|
||||||
cat $in | sed "/%config/ !d; s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -ve $filter_devel > $out/conffiles.$name-run
|
cat_log | sed "/%config/ !d; s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -ve $filter_devel > $out/conffiles.$name-run
|
||||||
cat $in | sed "/%config/ !d; s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -e $filter_devel > $out/conffiles.$name-devel
|
cat_log | sed "/%config/ !d; s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -e $filter_devel > $out/conffiles.$name-devel
|
||||||
|
|
||||||
for p in run devel; do
|
for p in run devel; do
|
||||||
postinst=$out/$name-$p.postinst
|
postinst=$out/$name-$p.postinst
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue