From 9340c7eaa9285555f5fb7a10443d27ce06868725 Mon Sep 17 00:00:00 2001 From: Anastasia Lyupa Date: Tue, 5 Jun 2018 11:43:12 +0300 Subject: [PATCH] Fix and enhance packaging and post scripts - Fix locale-archive path - Do not install locales from subfolders - Fix cp zonefile 'are the same file' error - Enhance find commands - Use %{_prefix}, %{_sbindir}, %{_datadir} everywhere Change-Id: I3dfee1c64adaf5699d7dd66cce2e615a78038f43 Signed-off-by: Anastasia Lyupa --- packaging/tizen-build-locale-archive | 18 +++++++++++------- packaging/tizen-locale.spec | 24 +++++++++++++----------- packaging/tzdata-update | 4 ++-- 3 files changed, 26 insertions(+), 20 deletions(-) diff --git a/packaging/tizen-build-locale-archive b/packaging/tizen-build-locale-archive index 5a06adc..61bac24 100755 --- a/packaging/tizen-build-locale-archive +++ b/packaging/tizen-build-locale-archive @@ -1,14 +1,20 @@ #!/bin/bash ALIAS_FILE="__DATADIR__/locale/locale.alias" -LOCAR_FILE="__PREFIX__/locale/locale-archive" +LOCAR_FILE="__PREFIX__/lib/locale/locale-archive" LOC_PATH="__PREFIX__/lib/locale/" +SBIN_DIR="__SBINDIR__" rm -f ${LOCAR_FILE} if [ ! -d ${LOC_PATH} ]; then echo "Cannot open directory \"${LOC_PATH}\"" - #exit 1 + exit 1 +fi + +if [ ! -f ${ALIAS_FILE} ]; then + echo "Cannot open alias file \"${ALIAS_FILE}\"" + exit 1 fi PRIMARY=${LC_ALL} @@ -25,12 +31,10 @@ if [ x"${PRIMARY}" != x"" ]; then fi if [ -d ${PRIMARY} ]; then - /usr/bin/localedef --alias-file=${ALIAS_FILE} --add-to-archive ${PRIMARY} + localedef --alias-file=${ALIAS_FILE} --add-to-archive ${PRIMARY} fi fi -find ${LOC_PATH} -type d | while read loc; do - /usr/bin/localedef --alias-file=${ALIAS_FILE} --add-to-archive ${loc} -done +find ${LOC_PATH} -mindepth 1 -maxdepth 1 -type d -exec localedef --alias-file=${ALIAS_FILE} --add-to-archive {} \; -exec /usr/sbin/tzdata-update +exec ${SBIN_DIR}/tzdata-update diff --git a/packaging/tizen-locale.spec b/packaging/tizen-locale.spec index 542b4f7..1177637 100644 --- a/packaging/tizen-locale.spec +++ b/packaging/tizen-locale.spec @@ -14,7 +14,7 @@ BuildRequires: tzdata >= 2003a Requires: findutils Requires: coreutils Requires: tzdata -#Requires: glibc-common +Requires: glibc-locale %description carring locale information for tizen platform @@ -26,6 +26,8 @@ carring locale information for tizen platform %{?asan:%gcc_unforce_options} sed -ie "s#__DATADIR__#%{_datadir}#" $RPM_SOURCE_DIR/tizen-build-locale-archive sed -ie "s#__PREFIX__#%{_prefix}#" $RPM_SOURCE_DIR/tizen-build-locale-archive +sed -ie "s#__SBINDIR__#%{_sbindir}#" $RPM_SOURCE_DIR/tizen-build-locale-archive +sed -ie "s#__DATADIR__#%{_datadir}#" $RPM_SOURCE_DIR/tzdata-update %install @@ -37,11 +39,11 @@ mkdir -p %{buildroot}%{_sbindir} install -m 0700 $RPM_SOURCE_DIR/tizen-build-locale-archive %{buildroot}%{_sbindir} install -m 0700 $RPM_SOURCE_DIR/tzdata-update %{buildroot}%{_sbindir} -mkdir -p %{buildroot}/usr/lib/locale +mkdir -p %{buildroot}%{_prefix}/lib/locale CHARSET=UTF-8 -LOCALE_DIR=%{buildroot}/usr/lib/locale +LOCALE_DIR=%{buildroot}%{_prefix}/lib/locale mkdir -p $LOCALE_DIR %if "%{?tizen_profile_name}" == "tv" @@ -58,20 +60,20 @@ do I18NPATH=localedata GCONV_PATH=iconvdata localedef --quiet -c -f $CHARSET -i ${LOCALE%%.*} $LOCALE_DIR/$LOCALE done -mkdir -p %{buildroot}/usr/share/i18n/ -make -f %{SOURCE10} IN=localedata/SUPPORTED OUT=%{buildroot}/usr/share/i18n/SUPPORTED +mkdir -p %{buildroot}%{_datadir}/i18n/ +make -f %{SOURCE10} IN=localedata/SUPPORTED OUT=%{buildroot}%{_datadir}/i18n/SUPPORTED -%post -p /usr/sbin/tizen-build-locale-archive +%post -p %{_sbindir}/tizen-build-locale-archive %triggerin -- tzdata -/usr/sbin/tzdata-update +%{_sbindir}/tzdata-update %postun %posttrans -ls /usr/lib/locale/ | /bin/grep _ | /usr/bin/xargs -I {} /bin/rm -rf /usr/lib/locale/{} -rm -rf /usr/lib/locale/C.UTF-8 -find /usr/share/locale/ -name libc.mo | /bin/grep -v en_GB | /usr/bin/xargs -I {} /bin/rm {} +find %{_prefix}/lib/locale/ -name "*_*" -delete +find %{_prefix}/lib/locale/ -name "C.UTF-8" -delete +find %{_datadir}/locale/ -not -path "*/en_GB/*" -name "libc.mo" -delete %clean rm -rf "$RPM_BUILD_ROOT" @@ -80,7 +82,7 @@ rm -rf "$RPM_BUILD_ROOT" %defattr(-,root,root) %license COPYING COPYING.LIB %{_prefix}/lib/locale/* -%attr(0644,root,root) %config %{_prefix}/share/i18n/SUPPORTED +%attr(0644,root,root) %config %{_datadir}/i18n/SUPPORTED %{_sbindir}/tizen-build-locale-archive %{_sbindir}/tzdata-update %manifest tizen-locale.manifest diff --git a/packaging/tzdata-update b/packaging/tzdata-update index 92776b1..e4c8cef 100755 --- a/packaging/tzdata-update +++ b/packaging/tzdata-update @@ -14,10 +14,10 @@ do continue fi zonename=$(echo $line | sed -e 's#^[[:space:]]*ZONE[[:space:]]*=[[:space:]]*"\?\([^[:space:]\n"]*\).*#\1#') - zonefile="/usr/share/zoneinfo/${zonename}" + zonefile="__DATADIR__/zoneinfo/${zonename}" break done < $CLOCK if [ -e /etc/localtime ]; then - cp ${zonefile} /etc/localtime + cp -b ${zonefile} /etc/localtime fi -- 2.34.1