mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
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:
parent
eb5980b45b
commit
a351f07bc5
2 changed files with 107 additions and 3 deletions
108
scripts/pkg.sh
108
scripts/pkg.sh
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue