Content translation/Machine Translation/Apertium/Packaging
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. |
Wikimedia apt repository contains Apertium packages, which are used in Apertium service for ContentTranslation.
Repository
[edit]- Gerrit:
operations/debs/contenttranslation/PROJECTNAME
New package
[edit]0. If packaging a new package, request to SRE team to create project under operations/debs/contenttranslation/PROJECTNAME
.
1. Clone project:
git clone ssh://USERNAME@gerrit.wikimedia.org:29418/operations/debs/contenttranslation/PROJECTNAME.git
2. Import upstream source:
gbp import-orig --pristine-tar PATH/TO/UPSTREAM.orig.TARBALL
3. Once imported (and answering question by gbp import-orig), check if branches are OK.
git branch -a
4. Add git remote:
git remote add gerrit ssh://USERNAME@gerrit.wikimedia.org:29418/operations/debs/contenttranslation/PROJECTNAME.git
5. Push upstream and pristine-tar branches to Gerrit.
git push gerrit upstream
git push gerrit pristine-tar
6. Add debian/ folder you prepared.
git co -b Debian
cp -r /PATH/TO/debian .
We're not going into debian/ documentation right now!
7. Add debian/ to git repository.
git add debian/
8. Commit:
git commit --all
9. Now, push master branch except last commit (ie debian/ folder!)
git push gerrit HEAD~1:refs/heads/master
10. Push tags.
git push --tags
11. And, send debian/ for review to Gerrit.
git review
Jenkins CI for packages
[edit]Once package repository is created, add entries in integration/config.git
repository. Edit zuul/layout.yaml
and add entries at appropriate line.
Puppet change
[edit]To make sure package is available in production, edit modules/profile/manifests/apertium.pp
and ask for review.
Troubleshooting
[edit]1. Can't push upstream/pristine-tar or tags to Gerrit.
A. Make sure you've necessary permission for it in Gerrit.
2. Jenkins fails to build package.
A.
- Check if upstream and pristine-tar branches and tags are pushed.
- Check debian/changelog version scheme matches upstream tag.
- Check for any broken dependencies.