autospec/tools/kde4-flist2rpmvars.in
2011-04-26 21:39:44 +02:00

138 lines
3.9 KiB
Bash

#!/bin/bash
# $0 -- translate the list of files generated by rpm in a list suitable for
# inclusion into a specfile (kde4 only)
# Copyright (C) 2008-2010 Davide Madrisan <davide.madrisan@gmail.com>
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License version 2 as published by the
# Free Software Foundation. There is NO warranty; not even for MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE.
#
# Report bugs to <davide.madrisan@gmail.com>
[ -z "$BASH" ] || [ ${BASH_VERSION:0:1} -lt 2 ] &&
echo $"this script requires bash version 2 or better" >&2 && exit 1
me=(${0##*/} "0.3.1")
[ -r @libdir@/libmsgmng.lib ] ||
{ echo "$me: "$"library not found"": @libdir@/libmsgmng.lib" 1>&2
exit 1; }
. @libdir@/libmsgmng.lib
# FIXME: add a po file for this script
#if [[ -z "$LANG" && -r /etc/sysconfig/i18n ]]; then
# . /etc/sysconfig/i18n
# export LANG
#fi
#TEXTDOMAIN="@package@"; export TEXTDOMAIN
# default values
let "nospaces = 1"
sed_extra_mask="s,^[ \t]*,,"
function version() {
echo "\
$me, "$"version"" ${me[1]}""
"$"Get the specfiles from a local repository.""
Copyright (C) 2008 Davide Madrisan <davide.madrisan@gmail.com>"
}
function copying() {
echo "\
"$"This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License version 2 as published by the
Free Software Foundation. There is NO warranty; not even for MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE."
}
function usage() {
# $1: optional exit code (default is '1')
version
echo "
"$"Usage":"
$me <file_with_filelist> [-s]
"$"where the above options mean":"
-s, --spaces "$"Do not remove extra-spaces""
"$"Operation modes":"
-h, --help "$"Print this help, then exit""
-v, --version "$"Print version number, then exit""
"$"Some examples":"
$me /tmp/kompare4_filelist
"$"Report bugs to <davide.madrisan@gmail.com>."""
exit ${1:-1}
}
[ $# -eq 0 ] && usage
TEMP=`LANG=C getopt \
-o shv \
--long nospaces,help,version \
-n "$me" -- "$@"`
[[ $? = 0 ]] || exit 1
eval set -- "$TEMP"
while :; do
case $1 in
-s|--nospaces)
let "nospaces = 0"
sed_extra_mask="";;
-h|--help)
usage 0 ;;
-v|--version)
version; echo; copying; exit 0;;
--) shift; break ;;
*) notify.error $"(bug)"" -- "$"\`getopt' error"
esac
shift
done
flist="$1"
[[ -r "$flist" ]] || notify.error $"file not found"": \`$flist'"
# see: /etc/rpm/macros.kde4
cat $flist | \
while read line; do
echo $line | sed "\
$sed_extra_mask
s,/etc/opt/kde,%{_kde4_sysconfdir},
s,/opt/kde/bin,%{_kde4_bindir},
s,/opt/kde/sbin,%{_kde4_sbindir},
\
s,/opt/kde/include,%{_kde4_includedir},
\
s,/opt/kde/lib/kde4/libexec,%{_kde4_libexecdir},
s,/opt/kde/lib/kde4/plugins,%{_kde4_pluginsdir},
s,/opt/kde/lib,%{_kde4_libdir},
\
s,/opt/kde/share/applications,%{_kde4_xdgappsdir},
s,/opt/kde/share/apps/kconf_update,%{_kde4_kconfupdatedir},
s,/opt/kde/share/apps,%{_kde4_datadir},
s,/opt/kde/share/autostart,%{_kde4_autostartdir},
s,/opt/kde/share/config.kcfg,%{_kde4_kcfgdir},
s,/opt/kde/share/config,%{_kde4_configdir},
s,/opt/kde/share/dbus-1/interfaces,%{_kde4_dbusinterfacesdir},
s,/opt/kde/share/dbus-1/services,%{_kde4_dbusservicesdir},
s,/opt/kde/share/desktop-directories,%{_kde4_xdgdirectorydir},
s,/opt/kde/share/doc/HTML,%{_kde4_htmldir},
s,/opt/kde/share/icons,%{_kde4_icondir},
s,/opt/kde/share/kde4/services,%{_kde4_servicesdir},
s,/opt/kde/share/kde4/servicetypes,%{_kde4_servicetypesdir},
s,/opt/kde/share/locale,%{_kde4_localedir},
s,/opt/kde/share/mime/packages,%{_kde4_xdgmimedir},
s,/opt/kde/share/mimelnk,%{_kde4_mimedir},
s,/opt/kde/share/sounds,%{_kde4_soundsdir},
s,/opt/kde/share/templates,%{_kde4_templatesdir},
s,/opt/kde/share/wallpapers,%{_kde4_wallpaperdir},
s,/opt/kde/share,%{_kde4_sharedir},
#s,/opt/kde,%{_kde4_prefix},
"
done | sort