Sophie

Sophie

distrib > Arklinux > devel > i586 > by-pkgid > 9e6e445b4efd873f0ea565fdb7c9f225 > files > 15

eglibc-2.14-2ark.src.rpm

#!/bin/sh

NAME="$1"
shift

cat <<EOF
%package locale-$NAME
Summary: Localization data for $NAME
Group: Internationalization/$NAME
Requires: %name-common = %version-%release
Provides: glibc-locale-$NAME = %version-%release
Obsoletes: glibc-locale-$NAME < %version-%release
Requires(post): %_bindir/localedef
Requires(postun): %_sbindir/rebuild-locale-archive
EOF

while echo $1 |grep -q '^REQ:'; do
	echo Requires: %name-locale-`echo $1 |cut -d: -f2-` = %version-%release
	shift
done

cat <<EOF
%description locale-$NAME
Localization data for $NAME

%postun locale-$NAME
if [ "$1" = "0" ]; then
	# There is no way to remove locale data from the locale-archive cache
	# without rebuilding the entire thing...
	%_sbindir/rebuild-locale-archive
fi

%post locale-$NAME
EOF

FILES=""

while [ "$#" -gt 0 ]; do
	# $1: Full locale name with charset, e.g. de_CH.UTF-8/UTF-8
	# L: country without extra charset, e.g. de_CH.UTF-8
	L="`echo $1 |sed -e 's,/.*,,'`"
	# N: language without charset, e.g. de_CH
	N="`echo $L |sed -e 's,\..*,,'`"
	# C: Charset, e.g. UTF-8
	C="`echo $1 |sed -e 's,.*/,,'`"
	# S: simplified locale, e.g. de
	S="`echo $N |sed -e 's,_.*,,'`"
	echo "%_bindir/localedef -i $N -f $C $L -A %_datadir/locale/locale.alias 2>/dev/null"
	echo $FILES |grep -q "%_datadir/i18n/locales/$N" || FILES="$FILES %_datadir/i18n/locales/$N"
# The following 2 are owned by the filesystem package to prevent dependencies
#	echo $FILES |grep -q "%_datadir/locale/$S" || FILES="$FILES %optional %_datadir/locale/$S"
#	echo $FILES |grep -q "%_datadir/locale/$N" || FILES="$FILES %optional %_datadir/locale/$N"
	shift
done

echo
echo "%files locale-$NAME"
for i in $FILES; do
	if [ "$i" = "%optional" ]; then
		echo -n "$i "
	else
		echo $i
	fi
done
echo