rpmdist.mk, pkg.sh: Integrated platform-map-file.sh into pkg.sh

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2015-05-31 14:40:55 +00:00
commit a351f07bc5
2 changed files with 107 additions and 3 deletions

View file

@ -66,12 +66,12 @@ abspath()
read_map()
{
sh $MOD_SCRIPT_DIR/platform-map-file.sh -m $MOD_SCRIPT_DIR -p `platform` $@ read | sed 's/-dev//'
cmd_version -m $MOD_SCRIPT_DIR -p `platform` $@ read | sed 's/-dev//'
}
write_map()
{
sh $MOD_SCRIPT_DIR/platform-map-file.sh -m $MOD_SCRIPT_DIR -p `platform` $1 write $2
cmd_version -m $MOD_SCRIPT_DIR -p `platform` $1 write $2
}
find_path()
@ -287,6 +287,107 @@ check_update_version()
)
}
cmd_version()
{
cmd_version_usage()
{
cat <<- EOT | sed 's/ |//'
|usage: $myname version filename cmd [args]
EOT
[ "$1" ] && exit $1
}
cmd_version_strip_dev_dummy()
{
cat
}
cmd_version_strip_dev_real()
{
sed 's/-dev//'
}
# -- here we go
local mod_script_dir=/opt/ytools/bin/get_os.sh
local strip_dev=cmd_version_strip_dev_dummy
local platform_patt="\(^debian-[0-9.]\+\|^suse-[0-9.]\+\)/\(i.86\|x86_64\): *"
local no_compat=
[ $# -lt 2 ] && cmd_version_usage 1
set -- `getopt 'hsnp:m:' "$@"`
while [ "$1" != -- ] ; do
case "$1" in
-n)
no_compat=true;;
-s)
strip_dev=cmd_version_strip_dev_real;;
-p)
platform="$2"; shift;;
-m)
mod_script_dir="$2"; shift;;
-h)
cmd_version_usage 0;;
*)
cmd_version_usage 1;;
esac
shift
done
shift
local file="$1"
shift
local cmd=$1
shift
local platform
[ "$platform" ] || platform=`bash $mod_script_dir/get_os.sh`/`arch`
case $cmd in
read)
local p=`echo $platform | sed 's%/%\\\/%g'`
local v=`sed "/$p:/ !d; s/$p: *//" $file`
[ "$v" ] && {
echo "$v" | $strip_dev
return
}
[ "$no_compat" = true ] && {
return
}
grep -q "$platform_patt" $file || {
cat $file | $strip_dev
return
}
local pp=`echo $platform_patt | sed 's%/%\\\/%g'`
sed "/$pp/ !d; s/$pp//; 2,$ d" $file | $strip_dev
;;
write)
local val=$1
local p=$platform
[ -f $file ] || {
echo "$p: $val" > $file
return
}
grep -q "$platform_patt" $file || {
echo "$p: $val" > $file
return
}
grep -q "^$p:" $file || {
echo "$p: $val" >> $file
return
}
p=`echo $p | sed 's%/%\\\/%g'`
val=`echo $val | sed 's%/%\\\/%g'`
sed "s/$p:.*/$p: $val/" $file > $file.tmp
mv $file.tmp $file
;;
*)
echo unknown command $cmd >&2
cmd_version_usage 1;;
esac
}
build_pkg()
{
set -e
@ -864,6 +965,9 @@ need-release)
update-version)
check_update_version || exit 0
;;
version)
eval cmd_version "$@"
;;
build)
check_cwd
rm -rf ./$DIST_SRC_DIR ./$DIST_PCKG_DIR