diff --git a/make/defs.mk b/make/defs.mk index 1c1aa1f1..5de551a8 100644 --- a/make/defs.mk +++ b/make/defs.mk @@ -200,6 +200,10 @@ else endif endif +USE_COMPILER_OPTIMIZATION_OPTS = false +USE_COMPILER_DEBUG_OPTS = true +COMPILE_DEBUG_CODE = true + BUILD_CFLAGS += $(CFLAGS) BUILD_CPPFLAGS += $(CPPFLAGS) BUILD_LDFLAGS += $(LDFLAGS) @@ -497,7 +501,7 @@ INSTALLED_CGI += $(addprefix $(INSTALL_CGIDIR)/,$(EXE_CGI)) # -- HTML INSTALLATION_FILE_TYPES += HTML 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\(/\|$$\)%%') ifeq ($(HTML_SUBDIR),) INSTALL_HTMLDIR ?= $(PROJECT_HTMLDIR) @@ -707,25 +711,27 @@ ifeq ($(LOG_THREAD_NAMES), true) endif ifdef INSTALL_LINK - INSTALL = $(SUDO) $(LOG_INSTALL_SH) -WA - LINK_LIB = $(SUDO) $(LOG_INSTALL_SH) -LA + INSTALL = $(SUDO) $(LOG_INSTALL_SH) -WA $(LOG_INSTALL_EXTRA_OPTS) + LINK_LIB = $(SUDO) $(LOG_INSTALL_SH) -LA $(LOG_INSTALL_EXTRA_OPTS) else ifdef INSTALL_SYMLINK - INSTALL = $(SUDO) $(LOG_INSTALL_SH) -LA - LINK_LIB = $(SUDO) $(LOG_INSTALL_SH) -LA + INSTALL = $(SUDO) $(LOG_INSTALL_SH) -LA $(LOG_INSTALL_EXTRA_OPTS) + LINK_LIB = $(SUDO) $(LOG_INSTALL_SH) -LA $(LOG_INSTALL_EXTRA_OPTS) else ifdef INSTALL_LOG - INSTALL=$(LOG_INSTALL_SH) -p -l $(INSTALL_LOG) - LINK_LIB=$(LOG_INSTALL_SH) -L -l $(INSTALL_LOG) + INSTALL = $(LOG_INSTALL_SH) -p -l $(INSTALL_LOG) $(LOG_INSTALL_EXTRA_OPTS) + LINK_LIB = $(LOG_INSTALL_SH) -L -l $(INSTALL_LOG) $(LOG_INSTALL_EXTRA_OPTS) else ifndef INSTALL INSTALL = install endif ifndef LINK_LIB - LINK_LIB=$(LOG_INSTALL_SH) -L + LINK_LIB = $(LOG_INSTALL_SH) -L endif endif endif +INSTALL_FILE ?= $(INSTALL) +INSTALL_DIR ?= $(INSTALL) # ----- function definitions diff --git a/scripts/pkg.sh b/scripts/pkg.sh index 4c6917eb..2936f787 100644 --- a/scripts/pkg.sh +++ b/scripts/pkg.sh @@ -679,9 +679,10 @@ cmd_log_install() local c_opmode=opmode_install local c_absolute=0 local c_wrap=0 + local c_no_log_dirs=0 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() { @@ -744,6 +745,8 @@ cmd_log_install() c_wrap=1;; -A) c_absolute=1;; + -N) + c_no_log_dirs=1;; *) echo unknown option \"$1\". Exiting. >&2 exit 1;; @@ -753,7 +756,7 @@ cmd_log_install() 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 #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 if [ "$c_mode_dir" = true ]; then for file in $*; do + [ "$c_no_log_dirs" = 0 ] || continue echo "%dir %attr($c_mode,$c_owner,$c_group) $file" >> $c_logfile done else @@ -821,6 +825,7 @@ cmd_log_install() cfgfile=`cfgfile_macro "$installed_file"` else if [ -d "$file" ]; then + [ "$c_no_log_dirs" = 0 ] || continue dir="%dir " mode=0755 else @@ -829,7 +834,9 @@ cmd_log_install() mode=0644 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 done else @@ -848,7 +855,11 @@ cmd_log_install() mode=0644 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 } @@ -878,11 +889,17 @@ cmd_milk_install_log() chmod 755 $1 } + cat_log() + { + cat $in | $user_filter + } + 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 case $1 in -h) @@ -895,6 +912,8 @@ cmd_milk_install_log() prefix="$2"; shift;; -s) subpackages="$2"; shift;; + -F) + user_filter="$2"; shift;; *) echo -e "Unexpected argument >$1<\n" >&2 milk_install_log_usage 1;; @@ -908,8 +927,8 @@ cmd_milk_install_log() milk_install_log_usage 1 } - in=$1 - out=$2 + local in=$1 + local out=$2 local filter_devel="/include$\|/include/$name$" 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 case $type in rpm) - cat $in | 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 -ve $filter_devel > $in.$name-run + cat_log | sed "s% $prefix% %" | grep -e $filter_devel > $in.$name-devel # TODO: this is unimplemented for debian packages echo $subpackages | grep -q devel || cat $in.$name-devel >> $in.$name-run ;; 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 $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 $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 $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 $in | 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 $in | sed "/%config/ !d; s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -e $filter_devel > $out/conffiles.$name-devel + 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_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_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_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_log | 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.$name-run + cat_log | sed "/%config/ !d; s% $prefix% %; s%//*%/%g; s/.*) *//" | grep -e $filter_devel > $out/conffiles.$name-devel for p in run devel; do postinst=$out/$name-$p.postinst