Everywhere: Merge V_1_1_29_40_POST_ACCEPTANCE

This commit is contained in:
Jan Lindemann 2011-02-20 14:15:22 +00:00 committed by Jan Lindemann
commit 2939f8e3a8
29 changed files with 743 additions and 125 deletions

108
scripts/create-mkspec.sh Normal file
View file

@ -0,0 +1,108 @@
#!/bin/sh
descr=$1
section()
{
local sec="$1"
cat "$descr" |
cut -d\# -f1 |
tr -s '\n' '\n' |
sed -n "/\[$sec\]/,/\[/ p" |
grep -v '\['
}
value()
{
local path=$1
local sec=`echo $1 | sed 's/\.[^.]\+$//'`
local key=`echo $1 | sed 's/.*\.//'`
# echo "path=>$path<"
# echo "sec=>$sec<"
# echo "key=>$key<"
if [ "$key" = "$path" ]; then
section $path
return 0
fi
section $sec | sed "
/^ *$key *=/ !d
s/^ *$key *= *//
s/ *$//
"
}
#t()
#{
# echo '--------------'
# echo $1: `value $1`
#}
#
#t global.group
#t summary
#t description
#exit 0
cat << EOT
echo "Name: \$NAME"
echo "Summary: `value summary`"
echo "Version: \$VERSION"
echo "Release: \$RELEASE"
echo "License: Jannet IT Services proprietary license"
echo "Group: System/Libraries"
[ -n "\$SOURCE" ] && echo "Source: \$SOURCE"
echo "Vendor: Jannet IT Services"
echo "URL: http://www.jannet.de"
echo "BuildRoot: /var/tmp/%{name}-buildroot"
echo ""
echo "%description"
echo "`value description`"
echo ""
# ---------------------------------------
echo "%package -n \$NAME-run"
echo "Summary: `value summary`"
echo "Group: `value global.group`"
echo "Requires: \$REQUIRES_RUN"
echo "%description -n \$NAME-run"
echo "Runtime package"
echo ""
# ---------------------------------------
echo "%package -n \$NAME-devel"
echo "Summary: `value summary`, development package"
echo "Group: `value global.group`"
echo "Requires: \$REQUIRES_DEVEL"
echo "%description -n \$NAME-devel"
echo "Development package"
echo ""
# ---------------------------------------
echo "%prep -n \$NAME-run"
echo ""
echo "%setup -q -n \$NAME-\$V"
echo ""
echo "%build"
echo 'pwd'
echo 'make config'
echo 'make'
echo ""
echo "%install"
echo 'rm -rf \$RPM_BUILD_ROOT'
echo "export ENV_PREFIX=\\\$RPM_BUILD_ROOT"
echo "export INSTALL_LOG=\$INSTALL_LOG"
echo "mkdir -p \`dirname \$INSTALL_LOG\`"
echo "> \$INSTALL_LOG"
echo "make install"
echo "cat \$INSTALL_LOG | sed \"s% \\\$RPM_BUILD_ROOT% %\" | "
echo " grep -ve '/include/.*.h\$\|devel\|/lib.*\.a\$\|make' | sort -u > \$INSTALL_LOG.\$NAME-run"
echo "cat \$INSTALL_LOG | sed \"s% \\\$RPM_BUILD_ROOT% %\" | "
echo " grep -e '/include/.*.h\$\|devel\|/lib.*\.a\$\|make' | sort -u > \$INSTALL_LOG.\$NAME-devel"
echo ""
echo "%post -n \$NAME-run"
echo ""
echo "%clean"
#echo 'rm -rf \$RPM_BUILD_ROOT'
echo "%files -n \$NAME-run -f \$INSTALL_LOG.\$NAME-run"
echo "%files -n \$NAME-devel -f \$INSTALL_LOG.\$NAME-devel"
echo '%defattr (-, root, root)'
EOT

View file

@ -71,6 +71,14 @@ check_ldconfig()
echo "done."
}
list_all_packages()
{
rpm -qa --queryformat '%{NAME}: %{VENDOR}\n' | \
grep -i '^[^ ]\+:.*\(jannet\|c-mexx\)' | \
sed 's/\(^[^ ]\+\) *:.*/\1/' |\
sort -u
}
cmd="$1"
shift
get_opts $*
@ -120,13 +128,9 @@ checklog)
;;
info)
if [ "$opt_verbose" = true ]; then
rpm -qai | grep -iB 7 "jannet.de\|c-mexx.com"
list_all_packages | xargs rpm -qi
else
rpm -qai | \
grep -iB 7 "jannet.de\|c-mexx.com" | \
sed '/Name/ !d; s/Name *: //; s/ *.*//' | \
xargs rpm -q | \
sort -u
list_all_packages | xargs rpm -q
fi
;;
cpp-glib)

View file

@ -1,25 +1,188 @@
export PATH=$PATH:/opt/ytools/bin
# -- private stuff not intended for use outside of this script
_ytools_check_config_present()
{
if [ -z "$ytools_config_files" ]; then
if [ "$1" = true ]; then
ytools_log "warning: $0 tries to access configuration witout having a config file"
fi
return 1;
fi
return 0;
}
_ytools_probe_default_config_paths()
{
[ "$ytools_config_files" ] && return 0
local f
for f in \
/etc/opt/$ytools_project/$ytools_basename.conf \
$HOME/.$ytools_project/$ytools_basename.conf \
$HOME/.$ytools_project/$rc \
$HOME/.$ytools_basename/$ytools_basename.conf \
$HOME/.$ytools_basename/$rc \
$HOME/.$rc \
; do
[ -r "$f" ] && ytools_config_file="$ytools_config_files $f"
done
}
_ytools_cat_section()
{
if [ "$2" ]; then
sed -n "/\[$2\]/,/[^ ]*\[/ p" $1 | sed '/[^ ]*\[/ d'
return
fi
sed -n '0,/[^ ]*\[/ p' | sed '/[^ ]*\[/ d; s/=.*/=/' $1
}
_ytools_format_config()
{
sed '/^$/d; s/$/;/'
}
_ytools_format_section()
{
_ytools_cat_section $* | _ytools_format_config
}
_ytools_source_section()
{
eval `_ytools_cat_section $* | _ytools_format_config`
}
# -- exported variables
[ -z "$ytools_basename" ] && ytools_basename=`basename $0 | sed 's/\.sh$//'`
[ -z "$ytools_project" ] && ytools_project="ytools"
[ -z "$ytools_rc" ] && ytools_rc="$ytools_basename"rc
[ -z "$ytools_config_files" ] && _ytools_probe_default_config_paths
[ -z "$ytools_loggers" ] && ytools_loggers="stdout"
# -- exported utilities
ytools_log_err()
{
echo "# $@" >&2
}
ytools_log_stdout()
{
echo "# $@"
}
ytools_log_stderr()
{
echo "# $@" >&2
}
ytools_log_syslog()
{
logger -t $ytools_basename "$*"
}
ytools_log()
{
echo $@
local logger
for logger in $ytools_loggers; do
eval ytools_log_$logger "$@"
done
}
ytools_log_err()
ytools_empty_config()
{
echo $@ >&2
local o_verbose=""
local o_section
set -- `getopt 'vs:' $*`
while [ "$1" != -- ]; do
case $1 in
-v)
o_verbose=true;;
-s)
o_section=$2; shift;;
*)
ytools_log_err unknown option $1
exit 1;;
esac
shift
done
shift
_ytools_check_config_present $o_verbose || return 1
[ ! -r "$1" ] && return
[ "$o_verbose" ] && ytools_log o resetting config "\"$1\""
if [ "$o_section" ]; then
[ "$o_verbose" ] && ytools_log o resetting section "[$o_section]" of config "\"$1\""
fi
eval `_ytools_format_section $1 $o_section | sed 's/=[^;]*;/=;/g'`
}
ytools_empty_configs()
{
local section
local c
local o_verbose=""
local o_section
local opts=""
set -- `getopt 'vs:' $*`
while [ "$1" != -- ]; do
case $1 in
-v)
o_verbose=true
opts="$opts -v"
;;
-s)
o_section="-s $2"; shift;;
*)
ytools_log_err unknown option $1
exit 1;;
esac
shift
done
shift
_ytools_check_config_present $o_verbose || return 1
for section in "" `ytools_config_sections`; do
for c in $ytools_config_files; do
ytools_empty_config -s "$section" section $opts $c
if [ -d $c.d ]; then
local dirconfs=`find $c.d -maxdepth 1 -type f`
local f
for f in $dirconfs; do
ytools_empty_config -s "$section" $opts $f
done
fi
done
done
return 0
}
ytools_source_config()
{
local o_verbose=""
local o_section
set -- `getopt 'v' $*`
set -- `getopt 'vs:' $*`
while [ "$1" != -- ]; do
case $1 in
-v)
o_verbose=true;;
o_verbose=true
;;
-s)
o_section=$2; shift;;
*)
ytools_log_err unknown option $1
exit 1;;
@ -28,25 +191,38 @@ ytools_source_config()
done
shift
[ ! -r "$1" ] && return
[ "$o_verbose" ] && ytools_log o reading config "<$1>"
. $1
_ytools_check_config_present $o_verbose || return 1
if [ "$o_verbose" = true ]; then
if [ "$o_section" ]; then
ytools_log o sourcing section "[$o_section]" from config file "\"$1\""
else
ytools_log o sourcing config "\"$1\""
fi
_ytools_cat_section $1 $o_section
fi
_ytools_source_section $1 $o_section
}
ytools_source_configs()
{
local c
local basename=${myname/.*/}
local rc="$basename"rc
local project=ytools
local source_opts=""
local o_verbose=""
set -- `getopt 'v' $*`
set -- `getopt 'vs:' $*`
while [ "$1" != -- ]; do
case $1 in
-v)
o_verbose=true;;
o_verbose=true
source_opts="$source_opts -v"
;;
-s)
source_opts="$source_opts -s $2"
shift;;
*)
ytools_log_err unknown option $1
exit 1;;
@ -55,27 +231,84 @@ ytools_source_configs()
done
shift
config_files="
/etc/opt/$project/$basename.conf
$HOME/.$project/$basename.conf
$HOME/.$project/$rc
$HOME/.$basename/$basename.conf
$HOME/.$basename/$rc
$HOME/.$rc
"
_ytools_check_config_present $o_verbose || return 1
for c in $config_files; do
ytools_source_config $c
for c in $ytools_config_files; do
ytools_source_config $source_opts $c
if [ -d $c.d ]; then
local dirconfs=`find $c.d -maxdepth 1 -type f`
local f
for f in $dirconfs; do
ytools_source_config $f
ytools_source_config $source_opts $f
done
fi
done
}
ytools_config_sections()
{
local o_verbose=""
local o_section
local o_file
local o_exact=false
OPTIND=1
while getopts ves:f: flag; do
case $flag in
v)
o_verbose=true;;
s)
o_section="$OPTARG";;
f)
o_file="$OPTARG";;
e)
o_exact=true;;
*)
ytools_log_err "unknown option -$flag"
exit 1;;
esac
done
shift $(($OPTIND - 1))
_ytools_check_config_present $o_verbose || return 1
[ "$o_file" ] || o_file="$ytools_config_files"
if [ "$o_exact" = false ]; then
if [ "$o_section" ]; then
sed "
/^[ ]*\[$o_section\.\(.*\)\]/ !d
s/^[ ]*\[$o_section\.\(.*\)\].*/\1/
" $o_file 2>/dev/null | sort -u
else
sed "
/^[ ]*\[\(.*\)\]/ !d
s/^[ ]*\[\(.*\)\].*/\1/
" $o_file 2>/dev/null | sort -u
fi
else
if [ "$o_section" ]; then
sed "
/^[ ]*\[$o_section\.\([^.]*\)\]/ !d
s/^[ ]*\[$o_section\.\([^.]*\)\].*/\1/
" $o_file 2>/dev/null | sort -u
else
sed "
/^[ ]*\[\([^.]*\)\]/ !d
s/^[ ]*\[\([^.]*\)\].*/\1/
" $o_file 2>/dev/null | sort -u
fi
fi
return
}
ytools_cat()
{
cat | sed 's/^[ ]*|//'

20
scripts/list-cvs-files.sh Normal file
View file

@ -0,0 +1,20 @@
#!/bin/sh
list_dirents()
{
local dirs=`sed '/^D\// !d; s%^D/%%; s%/.*%%' $1/CVS/Entries`
if [ -f $1/CVS/Entries.Log ]; then
dirs="$dirs `sed '/^A D\// !d; s%^A D/%%; s%/.*%%' $1/CVS/Entries.Log`"
fi
local files=`sed '/^\// !d; s%/%%; s%/.*%%; s%^%%' $1/CVS/Entries`
local d f
for f in $files; do
echo $1/$f
done
for d in $dirs; do
echo $1/$d
list_dirents $1/$d
done
}
list_dirents .