Maintaining Translation Related Packages
From openSUSE
Submitting YaST translations from SVN to openSUSE:Factory
=========================================================
Pre-requites:
- Install development packages such as yast2-devtools, gettext-tools, etc.
- You need access to the suse-i18n SVN at
https://forgesvn1.novell.com/svn/suse-i18n/trunk/yast.
- You need an OBS (openSUSE Build Service) account and the osc command line
tool, version 0.119 or better. Find it in the openSUSE:Tools repository
(e.g.,
http://download.opensuse.org/repositories/openSUSE://Tools/openSUSE_Factory).
Go to your YaST language directory in the suse-i18n SVN, for example,
https://forgesvn1.novell.com/svn/suse-i18n/trunk/yast/cs and run:
make -f Makefile.cvs
This is required only once or if there are changes in the package build framework.
Optional, for checking or updating your po files:
make checkpo
make -C po update-po
I'd prefer if you'd check in the po files after running "make update-po":
svn ci -m'merge po files' po/*.po
And now, the packaging step. The following command results in
yast2-trans-cs-2.18.1.tar.bz2 (in case you are working with the "cs" files)
and it contains all your translations (po files):
make dist
-=-=-=-=-=-=-=-=-=-=-=-=-=- cut here -=-=-=-=-=-=-=-=-=-=-=-=-=-
For the moment, leave the suse-i18n SVN alone. Switch to working on the
yast2-trans jumbo package in the openSUSE Build Service (OBS);
yast2-trans is the main package for all the yast2-trans-LL sub-packages.
If not already done, branch yast2-trans into your OBS home project
directory. This works the same way for other openSUSE packages:
osc branch openSUSE\:Factory yast2-trans
yast2-trans is a regular yast package. Thus it is maintained in
the YaST:Head repository and will be branched from there.
Now, you can check out yast2-trans from the just created branch. This
will be your working copy:
osc checkout home:$OBSUSER:branches:YaST:Head/yast2-trans
Replace $OBSUSER with your OBS user name; for me, it is "keichwa":
osc checkout home:keichwa:branches:YaST:Head/yast2-trans
Unfortunately, yast2-trans is rather large. It contains all the
language tar files... You must do it only once, later on "osc up" will
be sufficient.
Remember the yast2-trans-cs-2.18.1.tar.bz2 archive we created in the
suse-i18n SVN. You must copy it to yast2-trans now:
cd home:$OBSUSER:branches:YaST:Head/yast2-trans
cp .../yast2-trans-cs-2.18.1.tar.bz2 .
Update the changes file and commit your changes (the tar archive and the
changes files):
osc commit -m "Updated 'cs'."
Finally, send a submitreq to the Factory maintainer:
osc submitreq -m "Updated 'cs'."
Now the Factory maintainers receive a notification and will approve the
package for openSUSE Factory.
-=-=-=-=-=-=-=-=-=-=-=-=-=- cut here -=-=-=-=-=-=-=-=-=-=-=-=-=-
yast2-slide-show
================
Collect translations from the lcn directory from the suse-i18n
SVN:
make min=50 slideshow
which will result in slideshow-po.tar.gz containing all slide-show
translations that are at least 50% done.
Move the collected .po files to the yast SVN at
http://svn.opensuse.org/svn/yast/trunk/slide-show :
cd .../yast/trunk/slide-show/SuSELinux
tar xvf .../suse-i18n/trunk/lcn/slideshow-po.tar.gz
Update "langs" in Makefile.am.
Increase VERSION.
Edit *.changes.
make
make dist
y2tool tagversion
make package-local
which results in package/yast2-slide-show-*.tar.bz2
Replace $OBSUSER with your OBS user name; for me, it is "keichwa":
OBSUSER=keichwa
osc branch openSUSE\:Factory yast2-slide-show
osc checkout home:$OBSUSER:branches:YaST:Head/yast2-slide-show
cd home:$OBSUSER:branches:YaST:Head/yast2-slide-show
cp .../package/yast2-slide-show* .
Remove the previous version, the "addremove" and commit the files:
osc ar
osc ci -m'update translations'
If it builds properly (check the BS), send a submitreq:
osc sr -m'update translations' home:$OBSUSER:branches:YaST:Head yast2-slide-show openSUSE\:Factory
-=-=-=-=-=-=-=-=-=-=-=-=-=- cut here -=-=-=-=-=-=-=-=-=-=-=-=-=-
update-desktop-files Coming with the "desktop-translations" Package
===================================================================
First, branch and checkout this package:
osc branch openSUSE\:Factory desktop-translations
osc co home:keichwa:branches:openSUSE:Factory/desktop-translations
cd home:keichwa:branches:openSUSE:Factory/desktop-translations
Then package the translation files and update the .changes file:
export MY_LCN_CHECKOUT=/path/to/my/SVN/checkout
bash PREPARE_PACKAGE
edit *.changes
Finally submit it to the OBS and send a submitreq:
osc ci -m'update translations'
osc sr --nodevelproject home:keichwa:branches:openSUSE:Factory desktop-translations openSUSE:Factory
-=-=-=-=-=-=-=-=-=-=-=-=-=- cut here -=-=-=-=-=-=-=-=-=-=-=-=-=-
translation-update
==================
We use this package to ship on-line updates of software translation
after the release (post-GA). The files will be installed as
"overloads". It is important to ship empty language packages with
the next release to remove these overloads.
First collect the translation files from the lcn directory of
the suse-i18n SVN using the 50-tools/lcn-prep-translation-update.sh
helper script with the wanted languages as argument:
cd .../trunk/lcn
svn up
50-tools/lcn-prep-translation-update.sh $LL1 $LL2 $LLx
which results in translation-update.tar.bz2 .
Then check out translation-update from Factory and replace the
tar archive.
osc branch openSUSE\:Factory translation-update
osc co home:keichwa:branches:GNOME:Factory/translation-update
cd home:keichwa:branches:GNOME:Factory/translation-update
cp .../translation-update.tar.bz2 .
Edit *.changes and submit it:
osc ci -m'update translations'
osc sr home:keichwa:branches:GNOME:Factory translation-update openSUSE:Factory