mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-25 15:03:55 +01:00
create-mkdebian.sh, pkg.sh: Push milk-install-log.sh into pkg.sh
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
60662f12d0
commit
eb5980b45b
2 changed files with 93 additions and 1 deletions
|
|
@ -105,7 +105,7 @@ override_dh_auto_install:
|
||||||
mkdir -p \`dirname \$INSTALL_LOG\`
|
mkdir -p \`dirname \$INSTALL_LOG\`
|
||||||
> \$INSTALL_LOG
|
> \$INSTALL_LOG
|
||||||
\\\$(MAKE) ENV_PREFIX=\\\$(ENV_PREFIX) INSTALL_LOG=\\\$(INSTALL_LOG) install
|
\\\$(MAKE) ENV_PREFIX=\\\$(ENV_PREFIX) INSTALL_LOG=\\\$(INSTALL_LOG) install
|
||||||
/bin/bash milk-install-log.sh -p \\\$(ENV_PREFIX) -n \\\$(NAME) -t deb \$INSTALL_LOG \\\$(DEB_DIR)
|
/bin/bash pkg.sh milk-install-log -p \\\$(ENV_PREFIX) -n \\\$(NAME) -t deb \$INSTALL_LOG \\\$(DEB_DIR)
|
||||||
dh_installdirs
|
dh_installdirs
|
||||||
|
|
||||||
override_dh_shlibdeps:
|
override_dh_shlibdeps:
|
||||||
|
|
|
||||||
|
|
@ -652,6 +652,95 @@ cmd_log_install()
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmd_milk_install_log()
|
||||||
|
{
|
||||||
|
milk_install_log_usage()
|
||||||
|
{
|
||||||
|
echo "usage: $myname [-h] [-n pkg-name] [-t rpm|deb] [-p remove-prefix] install-log output-dir"
|
||||||
|
}
|
||||||
|
|
||||||
|
milk_install_log_spec_attr()
|
||||||
|
{
|
||||||
|
local attr=$1
|
||||||
|
shift
|
||||||
|
#echo "extracting attribute $attr from \"$@\"" >&2
|
||||||
|
echo "$*" | sed "s/.*attr(\([0-9]\+\),\([^,]\+\),\([^,)]\+\)).*/\\$attr/"
|
||||||
|
}
|
||||||
|
|
||||||
|
milk_install_log_init_postinst()
|
||||||
|
{
|
||||||
|
cat <<- EOT > $1
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
EOT
|
||||||
|
chmod 755 $1
|
||||||
|
}
|
||||||
|
|
||||||
|
local type name prefix in out
|
||||||
|
set -- `getopt ht:p:n: "$@"`
|
||||||
|
|
||||||
|
while [ "$1" != -- ]; do
|
||||||
|
case $1 in
|
||||||
|
-h)
|
||||||
|
usage 0;;
|
||||||
|
-t)
|
||||||
|
type="$2"; shift;;
|
||||||
|
-n)
|
||||||
|
name="$2"; shift;;
|
||||||
|
-p)
|
||||||
|
prefix="$2"; shift;;
|
||||||
|
*)
|
||||||
|
milk_install_log_usage 1;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
|
||||||
|
[ $# != 2 ] && milk_install_log_usage 1
|
||||||
|
|
||||||
|
in=$1
|
||||||
|
out=$2
|
||||||
|
|
||||||
|
local filter_devel='/include/.*.h$\|devel\|make\|lib.*\.a$\|lib.*\.so$\|.*\.exp$\|.*\.def$\|.*\.lib$'
|
||||||
|
|
||||||
|
# TODO: simplify this
|
||||||
|
case $type in
|
||||||
|
rpm)
|
||||||
|
cat $in | sed "s% $prefix% %//" | grep -ve $filter_devel > $out/files-$name-run
|
||||||
|
cat $in | sed "s% $prefix% %//" | grep -e $filter_devel > $out/files-$name-devel
|
||||||
|
;;
|
||||||
|
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
|
||||||
|
|
||||||
|
for p in run devel; do
|
||||||
|
postinst=$out/$name-$p.postinst
|
||||||
|
init_postinst $postinst
|
||||||
|
cat $out/$name-$p.dirs $out/$name-$p.install | grep . | while read file dir; do
|
||||||
|
#echo read file \"$file\" >&2
|
||||||
|
file=`echo /$file | sed 's/inst-root\///; s%^//*%/%'`
|
||||||
|
#echo file is now \"$file\" >&2
|
||||||
|
#echo grep \"$prefix/*$file$\" $in >&2
|
||||||
|
line=`grep $file$ $in`
|
||||||
|
perm=`milk_install_log_spec_attr 1 "$line"`
|
||||||
|
owner=`milk_install_log_spec_attr 2 "$line"`
|
||||||
|
group=`milk_install_log_spec_attr 3 "$line"`
|
||||||
|
echo "chown $owner:$group $file" >> $postinst
|
||||||
|
echo "chmod $perm $file" >> $postinst
|
||||||
|
done
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
milk_install_log_usage 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
# ---- here we go
|
# ---- here we go
|
||||||
umask 0022
|
umask 0022
|
||||||
trap goodbye SIGINT SIGKILL
|
trap goodbye SIGINT SIGKILL
|
||||||
|
|
@ -812,6 +901,9 @@ hash)
|
||||||
log-install)
|
log-install)
|
||||||
eval cmd_log_install "$@"
|
eval cmd_log_install "$@"
|
||||||
;;
|
;;
|
||||||
|
milk-install-log)
|
||||||
|
eval cmd_milk_install_log "$@"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
usage 1
|
usage 1
|
||||||
;;
|
;;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue