commit ebc6ea09f503c161e773db4dd51b7be7689bdb3a
Author: Elan Ruusamäe <[email protected]>
Date:   Tue Nov 7 09:23:46 2017 +0200

    use find lang to package locales

 clean-vendor.sh |  1 +
 find-lang.sh    | 34 ++++++++++++++++++++++++++++++++++
 gitlab-ce.spec  |  9 +++++++--
 3 files changed, 42 insertions(+), 2 deletions(-)
---
diff --git a/gitlab-ce.spec b/gitlab-ce.spec
index bc5068f..ddcf1c4 100644
--- a/gitlab-ce.spec
+++ b/gitlab-ce.spec
@@ -21,7 +21,7 @@
 Summary:       A Web interface to create projects and repositories, manage 
access and do code reviews
 Name:          gitlab-ce
 Version:       10.1.1
-Release:       0.104
+Release:       0.105
 License:       MIT
 Group:         Applications/WWW
 # md5 deliberately omitted until this package is useful
@@ -40,6 +40,7 @@ Source11:     gitlab-ctl.sh
 Source12:      clean-vendor.sh
 Source13:      nginx.conf
 Source14:      gitconfig
+Source15:      find-lang.sh
 Patch1:                pld.patch
 URL:           https://www.gitlab.com/gitlab-ce/
 BuildRequires: cmake
@@ -72,6 +73,8 @@ Suggests:     redis-server
 Obsoletes:     gitlab <= 8.1.4
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define        find_lang       sh %{SOURCE15} %{buildroot}
+
 %define        _noautoreqfiles redcloth_scan.jar primitives.jar
 
 %define uname    git
@@ -191,6 +194,8 @@ cp -a$l . $RPM_BUILD_ROOT%{appdir}
 # cleanup unneccessary cruft (gem build files, etc)
 sh -x %{SOURCE12} $RPM_BUILD_ROOT%{appdir}
 
+%find_lang %{name}.lang
+
 # rpm cruft from repackaging
 rm -f $RPM_BUILD_ROOT%{appdir}/debug*.list
 
@@ -298,7 +303,7 @@ fi
 %triggerun -- apache < 2.2.0, apache-base
 %webapp_unregister httpd %{_webapp}
 
-%files
+%files -f %{name}.lang
 %defattr(644,root,root,755)
 %doc LICENSE
 %config(noreplace) %verify(not md5 mtime size) 
%{_sysconfdir}/gitlab/database.yml
diff --git a/clean-vendor.sh b/clean-vendor.sh
index f1cd3d1..092d40b 100755
--- a/clean-vendor.sh
+++ b/clean-vendor.sh
@@ -115,6 +115,7 @@ clean_log() {
 clean_locale() {
        cd $root
 
+       rm locale/gitlab.pot
        rm locale/*/gitlab.po.time_stamp
 }
 
diff --git a/find-lang.sh b/find-lang.sh
new file mode 100755
index 0000000..824d1d3
--- /dev/null
+++ b/find-lang.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+PROG=${0##*/}
+if [ $# = 2 ]; then
+       # for using same syntax as rpm own find-lang
+       RPM_BUILD_ROOT=$1
+       shift
+fi
+dir=$RPM_BUILD_ROOT/usr/lib/gitlab/locale
+langfile=$1
+tmp=$(mktemp) || exit 1
+rc=0
+
+find $dir -name '*.po' > $tmp
+
+echo '%defattr(644,root,root,755)' > $langfile
+while read file; do
+       lang=${file##*/}
+       lang=${lang%.po}
+       case "$lang" in
+       *-*)
+               echo >&2 "ERROR: Need mapping for $lang!"
+               rc=1
+       ;;
+       esac
+       echo "%lang($lang) ${file#$RPM_BUILD_ROOT}" >> $langfile
+done < $tmp
+
+if [ "$(grep -Ev '(^%defattr|^$)' $langfile | wc -l)" -le 0 ]; then
+       echo >&2 "$PROG: Error: international files not found!"
+       rc=1
+fi
+
+rm -f $tmp
+exit $rc
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gitlab-ce.git/commitdiff/c4fb95eb8b3c5bf51c349d62f48521ccaff20788

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to