diff --git a/joe-3.1-fix_isblanck_argument.patch b/joe-3.1-fix_isblanck_argument.patch index f265c0c..f182048 100644 --- a/joe-3.1-fix_isblanck_argument.patch +++ b/joe-3.1-fix_isblanck_argument.patch @@ -1,6 +1,8 @@ ---- b.c.orig 2008-11-02 21:59:06.000000000 +0100 -+++ b.c 2009-10-20 12:18:46.443802718 +0200 -@@ -601,9 +601,10 @@ int piseow(P *p) +Index: joe-4.0/joe/b.c +=================================================================== +--- joe-4.0.orig/joe/b.c ++++ joe-4.0/joe/b.c +@@ -626,9 +626,10 @@ int piseow(P *p) int pisblank(P *p) { P *q = pdup(p, USTR "pisblank"); @@ -12,7 +14,7 @@ pgetb(q); if (piseol(q)) { prm(q); -@@ -635,9 +636,10 @@ long pisindent(P *p) +@@ -660,9 +661,10 @@ long pisindent(P *p) { P *q = pdup(p, USTR "pisindent"); long col; diff --git a/joe-3.1-terminate_buffer.patch b/joe-3.1-terminate_buffer.patch index 18e3b47..49034fa 100644 --- a/joe-3.1-terminate_buffer.patch +++ b/joe-3.1-terminate_buffer.patch @@ -1,7 +1,7 @@ -Index: path.c +Index: joe-4.0/joe/path.c =================================================================== ---- path.c.orig 2008-11-02 21:33:23.000000000 +0100 -+++ path.c 2009-10-20 12:04:34.844305049 +0200 +--- joe-4.0.orig/joe/path.c ++++ joe-4.0/joe/path.c @@ -200,6 +200,8 @@ unsigned char *mktmp(unsigned char *wher where = (unsigned char *)getenv("TEMP"); if (!where) diff --git a/joe-3.3-warnings.patch b/joe-3.3-warnings.patch index 262b31a..52a1597 100644 --- a/joe-3.3-warnings.patch +++ b/joe-3.3-warnings.patch @@ -1,6 +1,8 @@ ---- bw.c -+++ bw.c -@@ -206,6 +206,7 @@ +Index: joe-4.0/joe/bw.c +=================================================================== +--- joe-4.0.orig/joe/bw.c ++++ joe-4.0/joe/bw.c +@@ -206,6 +206,7 @@ HIGHLIGHT_STATE get_highlight_state(BW * #ifdef junk P *tmp = 0; HIGHLIGHT_STATE state; diff --git a/joe-3.7-additional_key_mappings.patch b/joe-3.7-additional_key_mappings.patch index a694498..a15963d 100644 --- a/joe-3.7-additional_key_mappings.patch +++ b/joe-3.7-additional_key_mappings.patch @@ -1,8 +1,8 @@ -Index: rc/jmacsrc.in +Index: joe-4.0/rc/jmacsrc.in =================================================================== ---- rc/jmacsrc.in.orig 2008-11-02 20:13:54.000000000 +0100 -+++ rc/jmacsrc.in 2009-10-20 12:23:51.005295489 +0200 -@@ -868,6 +868,7 @@ home .kh Goto beginning of line +--- joe-4.0.orig/rc/jmacsrc.in ++++ joe-4.0/rc/jmacsrc.in +@@ -938,6 +938,7 @@ home .kh Goto beginning of line home ^A home ^[ [ H home ^[ [ 1 ~ @@ -10,7 +10,7 @@ Index: rc/jmacsrc.in bop ^[ p (uemacs) bop ^[ { bufed ^X b -@@ -896,6 +897,7 @@ eol .@7 +@@ -966,6 +967,7 @@ eol .@7 eol ^E eol ^[ [ F eol ^[ [ 4 ~ @@ -18,11 +18,11 @@ Index: rc/jmacsrc.in eop ^[ n (uemacs) eop ^[ } execmd ^[ x -Index: rc/joerc.in +Index: joe-4.0/rc/joerc.in =================================================================== ---- rc/joerc.in.orig 2008-11-02 04:29:43.000000000 +0100 -+++ rc/joerc.in 2009-10-20 12:23:51.039801181 +0200 -@@ -949,6 +949,9 @@ bof ^K u +--- joe-4.0.orig/rc/joerc.in ++++ joe-4.0/rc/joerc.in +@@ -1016,6 +1016,9 @@ bof ^K u bol ^# SP A home .kh home ^A @@ -32,7 +32,7 @@ Index: rc/joerc.in center ^K A Center line center ^K ^A center ^K a -@@ -973,6 +976,9 @@ eof ^K v +@@ -1040,6 +1043,9 @@ eof ^K v eol .kH Go to end of line eol .@7 eol ^E @@ -42,11 +42,11 @@ Index: rc/joerc.in exsave ^K X Save and exit exsave ^K ^X exsave ^K x -Index: rc/jpicorc.in +Index: joe-4.0/rc/jpicorc.in =================================================================== ---- rc/jpicorc.in.orig 2008-11-02 04:19:48.000000000 +0100 -+++ rc/jpicorc.in 2009-10-20 12:23:51.092404427 +0200 -@@ -766,6 +766,7 @@ home .kh Goto beginning of line +--- joe-4.0.orig/rc/jpicorc.in ++++ joe-4.0/rc/jpicorc.in +@@ -837,6 +837,7 @@ home .kh Goto beginning of line home ^A home ^[ [ H home ^[ [ 1 ~ @@ -54,7 +54,7 @@ Index: rc/jpicorc.in center ^[ ^C Center line center ^[ c delch .kD Delete character -@@ -794,6 +795,7 @@ eol .@7 +@@ -865,6 +866,7 @@ eol .@7 eol ^E eol ^[ [ F eol ^[ [ 4 ~ @@ -62,11 +62,11 @@ Index: rc/jpicorc.in execmd ^[ X Prompt for command to execute execmd ^[ ^X Prompt for command to execute execmd ^[ x Prompt for command to execute -Index: rc/jstarrc.in +Index: joe-4.0/rc/jstarrc.in =================================================================== ---- rc/jstarrc.in.orig 2008-11-02 04:20:19.000000000 +0100 -+++ rc/jstarrc.in 2009-10-20 12:23:51.131880999 +0200 -@@ -805,6 +805,7 @@ bof ^Q .kP +--- joe-4.0.orig/rc/jstarrc.in ++++ joe-4.0/rc/jstarrc.in +@@ -875,6 +875,7 @@ bof ^Q .kP home .kh Goto beginning of line home ^[ [ H home ^[ [ 1 ~ @@ -74,7 +74,7 @@ Index: rc/jstarrc.in home ^Q S home ^Q ^S home ^Q s -@@ -846,6 +847,7 @@ eol .kH Go to end of line +@@ -916,6 +917,7 @@ eol .kH Go to end of line eol .@7 eol ^[ [ F eol ^[ [ 4 ~ @@ -82,11 +82,11 @@ Index: rc/jstarrc.in eol ^Q D eol ^Q ^D eol ^Q d -Index: rc/rjoerc.in +Index: joe-4.0/rc/rjoerc.in =================================================================== ---- rc/rjoerc.in.orig 2008-11-02 04:20:28.000000000 +0100 -+++ rc/rjoerc.in 2009-10-20 12:23:51.176448836 +0200 -@@ -837,6 +837,7 @@ bol .kh Goto beginning of line +--- joe-4.0.orig/rc/rjoerc.in ++++ joe-4.0/rc/rjoerc.in +@@ -880,6 +880,7 @@ bol .kh Goto beginning of line bol ^A bol ^[ [ H bol ^[ [ 1 ~ @@ -94,7 +94,7 @@ Index: rc/rjoerc.in bol ^# SP A center ^K A Center line center ^K ^A -@@ -863,6 +864,7 @@ eol .kH Go to end of line +@@ -906,6 +907,7 @@ eol .kH Go to end of line eol ^E eol ^[ [ F eol ^[ [ 4 ~ diff --git a/joe-3.7-spec_association.patch b/joe-3.7-spec_association.patch index b1408de..e15c042 100644 --- a/joe-3.7-spec_association.patch +++ b/joe-3.7-spec_association.patch @@ -1,6 +1,8 @@ ---- rc/ftyperc -+++ rc/ftyperc -@@ -753,3 +753,9 @@ +Index: joe-4.0/rc/ftyperc +=================================================================== +--- joe-4.0.orig/rc/ftyperc ++++ joe-4.0/rc/ftyperc +@@ -935,6 +935,12 @@ *jpicorc.in -syntax joerc @@ -10,3 +12,6 @@ +*.spec.in +-syntax spec + + Markdown + *.md + -syntax md diff --git a/joe-3.7.tar.gz b/joe-3.7.tar.gz deleted file mode 100644 index 6d2f03e..0000000 --- a/joe-3.7.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cae456e1ad5a8c1d3c94920a3416c2347277739b260e3494d3bc0f2b9b73106f -size 696036 diff --git a/joe-4.0.tar.gz b/joe-4.0.tar.gz new file mode 100644 index 0000000..0849584 --- /dev/null +++ b/joe-4.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c556adff77fd97bf1b86198de6cb82e0b92cda18579c4fef6c83b608d2ed2915 +size 838783 diff --git a/joe-activate_po.patch.bz2 b/joe-activate_po.patch.bz2 deleted file mode 100644 index edf7aad..0000000 --- a/joe-activate_po.patch.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a894bc5b4ddc122fd5802444600a9eb4c43ff58b27a6ad5fe5dca9333fb5b1fd -size 37371 diff --git a/joe-codecleanup.patch b/joe-codecleanup.patch index 76b2564..961d202 100644 --- a/joe-codecleanup.patch +++ b/joe-codecleanup.patch @@ -1,40 +1,40 @@ -Index: b.c +Index: joe-4.0/joe/b.c =================================================================== ---- b.c.orig 2009-10-20 18:31:36.000000000 +0200 -+++ b.c 2009-10-20 18:35:09.643712608 +0200 -@@ -2194,13 +2194,13 @@ unsigned char *parsens(unsigned char *s, +--- joe-4.0.orig/joe/b.c ++++ joe-4.0/joe/b.c +@@ -2327,13 +2327,13 @@ unsigned char *parsens(unsigned char *s, - #if SIZEOF_LONG_LONG && SIZEOF_OFF_T == SIZEOF_LONG_LONG + #if HAVE_LONG_LONG if (n[x + 1] == 'x' || n[x + 1] == 'X') -- sscanf((char *)(n + x + 2), "%llx", skip); -+ sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)skip); +- sscanf((char *)(n + x + 2), "%llx", &skipr); ++ sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)skipr); else if (n[x + 1] == '0' && (n[x + 2] == 'x' || n[x + 2] == 'X')) -- sscanf((char *)(n + x + 3), "%llx", skip); -+ sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skip); +- sscanf((char *)(n + x + 3), "%llx", &skipr); ++ sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skipr); else if (n[x + 1] == '0') -- sscanf((char *)(n + x + 1), "%llo", skip); -+ sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skip); +- sscanf((char *)(n + x + 1), "%llo", &skipr); ++ sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skipr); else -- sscanf((char *)(n + x + 1), "%lld", skip); -+ sscanf((char *)(n + x + 1), "%lld", (long long int *)skip); +- sscanf((char *)(n + x + 1), "%llu", &skipr); ++ sscanf((char *)(n + x + 1), "%llu", (long long int *)skipr); #else if (n[x + 1] == 'x' || n[x + 1] == 'X') - sscanf((char *)(n + x + 2), "%lx", skip); -@@ -2219,13 +2219,13 @@ unsigned char *parsens(unsigned char *s, + sscanf((char *)(n + x + 2), "%lx", &skipr); +@@ -2353,13 +2353,13 @@ unsigned char *parsens(unsigned char *s, *amnt = *skip; - #if SIZEOF_LONG_LONG && SIZEOF_OFF_T == SIZEOF_LONG_LONG + #ifdef HAVE_LONG_LONG if (n[x + 1] == 'x' || n[x + 1] == 'X') -- sscanf((char *)(n + x + 2), "%llx", skip); -+ sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)skip); +- sscanf((char *)(n + x + 2), "%llx", &skipr); ++ sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)&skipr); else if (n[x + 1] == '0' && (n[x + 2] == 'x' || n[x + 2] == 'X')) -- sscanf((char *)(n + x + 3), "%llx", skip); -+ sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skip); +- sscanf((char *)(n + x + 3), "%llx", &skipr); ++ sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skipr); else if (n[x + 1] == '0') -- sscanf((char *)(n + x + 1), "%llo", skip); -+ sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skip); +- sscanf((char *)(n + x + 1), "%llo", &skipr); ++ sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skipr); else -- sscanf((char *)(n + x + 1), "%lld", skip); -+ sscanf((char *)(n + x + 1), "%lld", (long long int *)skip); +- sscanf((char *)(n + x + 1), "%llu", &skipr); ++ sscanf((char *)(n + x + 1), "%llu", (long long int *)skipr); #else if (n[x + 1] == 'x' || n[x + 1] == 'X') - sscanf((char *)(n + x + 2), "%lx", skip); + sscanf((char *)(n + x + 2), "%lx", &skipr); diff --git a/joe-fr_trans.patch b/joe-fr_trans.patch deleted file mode 100644 index 5251e3f..0000000 --- a/joe-fr_trans.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- po/fr.po -+++ po/fr.po -@@ -1714,27 +1714,3 @@ - #: w.c:822 - msgid "There is no message buffer" - msgstr "Il n'y a pas de message" -- --#~msgid "|error list files|eE" --#~msgstr "Erreur à l'écriture du fichier" -- --#~msgid "|don't wrap|nN" --#~msgstr "La recherche ne recommence pas au début du fichier" -- --#~msgid "|ignore lock, continue with edit|iI" --#~ msgstr "Pressez Entrée pour continuer avec %s " -- --#~ msgid "sS" --#~ msgstr "sS" -- --#~ msgid "qQ" --#~ msgstr "qQaA" -- --#~ msgid "iI" --#~ msgstr "iIeE" -- --#~ msgid "yY" --#~ msgstr "yYoO" -- --#~ msgid "nN" --#~ msgstr "nN" diff --git a/joe-sigiot.patch b/joe-sigiot.patch index ba50236..936cf19 100644 --- a/joe-sigiot.patch +++ b/joe-sigiot.patch @@ -1,20 +1,8 @@ -Index: uformat.c +Index: joe-4.0/joe/uformat.c =================================================================== ---- uformat.c.orig 2008-10-28 05:13:56.000000000 +0100 -+++ uformat.c 2009-10-26 18:13:08.726241696 +0100 -@@ -361,9 +361,10 @@ void wrapword(BW *bw, P *p, long int ind - if (!bw->o.autoindent) { - /* Don't indent second line of single-line paragraphs if autoindent is off */ - int x = zlen(indents); -+ int start = x; - while (x && (indents[x - 1] == ' ' || indents[x - 1] == '\t')) - indents[--x] = 0; -- if (x) { -+ if (x < start) { - indents[x++] = ' '; - indents[x] = 0; - } -@@ -430,7 +431,7 @@ void wrapword(BW *bw, P *p, long int ind +--- joe-4.0.orig/joe/uformat.c ++++ joe-4.0/joe/uformat.c +@@ -444,7 +444,7 @@ void wrapword(BW *bw, P *p, long int ind if (!pisbol(p) && piscol(p) > indent) { /* Move q to two (or one if 'french' is set) spaces after end of previous word */ @@ -23,7 +11,7 @@ Index: uformat.c while (!pisbol(q)) if (!joe_isblank(p->b->o.charmap, (c = prgetc(q)))) { pgetc(q); -@@ -564,10 +565,12 @@ int uformat(BW *bw) +@@ -578,10 +578,12 @@ int uformat(BW *bw) if (!bw->o.autoindent) { /* Don't indent second line of single-line paragraphs if autoindent is off */ int x = zlen(indents); diff --git a/joe.changes b/joe.changes index f7c9dd5..f7a1839 100644 --- a/joe.changes +++ b/joe.changes @@ -1,3 +1,47 @@ +------------------------------------------------------------------- +Wed Jun 17 08:12:37 UTC 2015 - thehejik@suse.com + +- Version update to 4.0: + - JOE now has pop-up shell windows with full terminal emulation + and shell commands that can control the editor. Hit F1 - F4 to bring up a shell window. + - See Pop-up shell feature for a full description. + - The status command (^K SPACE) can now be customized using the same syntax + as the status bar. Look for smsg and zmsg in joerc to see how to do this. + parserr (the error parser) will parse only the highlighted block if it's set. + Before it always parsed the entire buffer. + - Now there is a per-buffer concept of current directory. This was added to + make the pop-up shell windows work better, but it's useful in general. + - At file prompts you can begin a new anchored path without having to delete + the old one. It means that ~jhallen/foo//etc/passwd is translated to /etc/passwd. + - Prompt windows are now highighted to indicate which parts of the path are + being dropped. There is a syntax file for this: filename.jsf + - The error parser now ignores ANSI sequences (some versions of grep + color their results, now JOE can still parse it). + - Temporary messages are now dismissed by keyboard input only. Before, they + could also be dismissed by shell input. + - Tags search now supports multiple matches. ^K ; can be configured to + either provide a menu of the matches or to cycle through them. + - Tags search will now match on the member name part of member functions + ('fred' will match 'myclass::fred'). + - Tags search will prepend the path to the tags file file name in the tags + file. This is important when JOE finds the tags file via the TAGS + environment variable. + - Remove ` as quote character from incremental search. + - Clean up documentation, convert much of it to Markdown. +- Cleanup with spec-cleaner +- Drop languages as they don't work at all +- refreshed patches: + * joe-3.1-fix_isblanck_argument.patch + * joe-3.1-terminate_buffer.patch + * joe-3.3-warnings.patch + * joe-3.7-additional_key_mappings.patch + * joe-3.7-spec_association.patch + * joe-codecleanup.patch + * joe-sigiot.patch +- deleted patches: + * joe-activate_po.patch.bz2 + * joe-fr_trans.patch + ------------------------------------------------------------------- Tue Nov 26 13:18:15 UTC 2013 - jengelh@inai.de diff --git a/joe.spec b/joe.spec index 56de91a..6035bf0 100644 --- a/joe.spec +++ b/joe.spec @@ -1,7 +1,7 @@ # # spec file for package joe # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,86 +17,38 @@ Name: joe -BuildRequires: automake -BuildRequires: ncurses-devel -Version: 3.7 +Version: 4.0 Release: 0 Summary: A Text Editor License: GPL-2.0+ Group: Productivity/Editors/Other Url: http://sourceforge.net/projects/joe-editor - -Source0: http://downloads.sourceforge.net/joe-editor/%{name}-%{version}.tar.gz +Source0: http://sourceforge.net/projects/joe-editor/files/JOE%{20sources}/%{name}-%{version}/%{name}-%{version}.tar.gz Source2: de.po Patch0: joe-3.1-terminate_buffer.patch Patch2: joe-3.1-fix_isblanck_argument.patch Patch3: joe-3.3-warnings.patch -Patch5: joe-activate_po.patch.bz2 -Patch6: joe-fr_trans.patch Patch7: joe-3.7-additional_key_mappings.patch Patch8: joe-3.7-spec_association.patch Patch9: joe-codecleanup.patch Patch10: joe-sigiot.patch +BuildRequires: automake +BuildRequires: ncurses-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build %description -JOE (Joe's Own Editor) is a freeware ASCII editor for UNIX. Joe is -similar to most IBM PC text editors. The keyboard combinations are -similar to WordStar[tm] and Turbo C. Some of Joe's features include: - --full support of termcap and terminfo (useful for device-independent -descriptions to control screen output) -optimized screen refresh like -GNU Emacs (Joe can even be used at 2400 baud) -easy installation with -all features for UNIX integration with vi: a marked block of text can -be filtered through a UNIX command and wherever JOE accepts a filename -parameter, the following can also be substituted: - -!command\t\t:to redirect from or to another command - ->>filename\t\t:to append onto an existing file - -filename,start,size\t:to edit a part of a file or device - --\t\t\t:to use standard input/output - -When JOE has several files opened at the same time, each file is -displayed in its own window. Additionally, JOE allows for shell windows -from which the output of the executed commands are saved in a buffer, -automatic filename completion (via TAB), help windows, undo and redo, -and search and replace using regular expressions. - - - -Authors: --------- - Joseph H. Allen - Marek 'Marx' Grac +Joe is a powerful, easy to use, modeless text editor. It uses the same +WordStar keybindings used in Borland's development environment. %prep %setup -q -%patch0 -%patch2 -%patch3 -%patch5 -%patch6 -%patch7 -%patch8 -%patch9 -%patch10 -cp %{S:2} po -# Convert Russian docs and locale from KOI8-R to UTF-8. -for ru in man/ru/joe.1.in po/ru.po rc/jicerc.ru.in ; do - iconv -f KOI8-R -t UTF-8 -o "${ru}.tmp" "${ru}" && \ - mv -f "${ru}.tmp" "${ru}" -done -sed -i 's/charset=koi8-r/charset=UTF-8/' po/ru.po -# Convert Ukrainian locale from KOI8-U to UTF-8. -iconv -f KOI8-U -t UTF-8 po/uk.po | \ -sed 's/charset=koi8-u/charset=UTF-8/' > po/uk.po.tmp && \ -mv -f po/uk.po.tmp po/uk.po - -# new automake-1.13.1 removed old macro -sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac +%patch0 -p1 +%patch2 -p1 +%patch3 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 %build autoreconf -fi @@ -105,36 +57,30 @@ export CFLAGS="%{optflags} -W -Wno-unused" --prefix=%{_prefix} \ --mandir=%{_mandir} \ --sysconfdir=%{_sysconfdir} \ - --docdir=%{_defaultdocdir}/%name -cd po -make update-po + --docdir=%{_defaultdocdir}/%{name} + make %{?_smp_mflags} %install -make install DESTDIR="%buildroot" +make DESTDIR=%{buildroot} install %{?_smp_mflags} for i in jmacs jpico jstar rjoe; do ln -s joe.1.gz %{buildroot}%{_mandir}/man1/$i.1.gz done +rm -rf %{buildroot}/%{_datadir}/%{name}/lang %files %defattr(-,root,root) %doc %{_defaultdocdir}/%{name} -%doc %{_mandir}/man1/* -%doc %{_mandir}/*/man1/* +%{_mandir}/man1/* +%{_mandir}/*/man1/* %config %{_sysconfdir}/joe/* %dir %{_sysconfdir}/joe %dir %{_datadir}/%{name} -%dir %{_datadir}/%{name}/lang %dir %{_mandir}/ru %dir %{_mandir}/ru/man1 %{_bindir}/* %{_datadir}/%{name}/charmaps %dir %{_datadir}/%{name}/syntax %config(noreplace) %{_datadir}/%{name}/syntax/* -%lang(de) %{_datadir}/%{name}/lang/de.mo -%lang(en) %{_datadir}/%{name}/lang/en@*.mo -%lang(fr) %{_datadir}/%{name}/lang/fr.mo -%lang(ru) %{_datadir}/%{name}/lang/ru.mo -%lang(uk) %{_datadir}/%{name}/lang/uk.mo %changelog