Skip to content

Commit

Permalink
Switch translation support to fedora.zanata.org
Browse files Browse the repository at this point in the history
This commit adjusts the Makefile targets to use zanata, and makebumpver
to check the zanata.xml for the correct branch.

(cherry picked from commit 16dacf4)

Resolves: rhbz#1205285
  • Loading branch information
bcl committed Mar 24, 2015
1 parent 233f9e2 commit d734030
Show file tree
Hide file tree
Showing 4 changed files with 157 additions and 18 deletions.
9 changes: 0 additions & 9 deletions .tx/config

This file was deleted.

10 changes: 5 additions & 5 deletions Makefile.am
Expand Up @@ -51,8 +51,8 @@ sed_verbose = $(sed_verbose_$(V))
sed_verbose_ = $(sed_verbose_$(AM_DEFAULT_VERBOSITY))
sed_verbose_0 = @echo " SED "$@;

TX_PULL_ARGS = -a --disable-overwrite
TX_PUSH_ARGS = -s
ZANATA_PULL_ARGS = --transdir $(srcdir)/po/
ZANATA_PUSH_ARGS = --srcdir $(srcdir)/po/ --push-type source --force

$(PACKAGE_NAME).spec: $(PACKAGE_NAME).spec.in
$(sed_verbose)sed -e 's/#VERSION#/$(PACKAGE_VERSION)/' < $< > $@
Expand All @@ -64,8 +64,8 @@ tag:
po-pull:
rm -f po/en@boldquot.gmo po/en@boldquot.po
rm -f po/en@quot.gmo po/en@quot.po
rpm -q transifex-client &>/dev/null || ( echo "need to run: yum install transifex-client"; exit 1 )
tx pull $(TX_PULL_ARGS)
rpm -q zanata-python-client &>/dev/null || ( echo "need to run: yum install zanata-python-client"; exit 1 )
zanata pull $(ZANATA_PULL_ARGS)

scratch: po-pull
$(MAKE) ARCHIVE_TAG=HEAD dist
Expand Down Expand Up @@ -107,7 +107,7 @@ bumpver: po-pull
fi ; \
scripts/makebumpver $${opts} || exit 1 ; \
$(MAKE) -C po $(PACKAGE_NAME).pot-update ; \
tx push $(TX_PUSH_ARGS)
zanata push $(ZANATA_PUSH_ARGS)

install-buildrequires:
yum install $$(grep BuildRequires: anaconda.spec.in | cut -d ' ' -f 2)
Expand Down
50 changes: 46 additions & 4 deletions scripts/makebumpver
Expand Up @@ -79,11 +79,16 @@ class MakeBumpVer:
self.spec = kwargs.get('spec')
self.skip_acks = kwargs.get('skip_acks', False)
self.skip_all = kwargs.get('skip_all', False)
self.zanata_config = kwargs.get('zanata_config')
self.skip_zanata = kwargs.get("skip_zanata", False)

if self.skip_all:
self.skip_acks = True
self.skip_zanata = True

# RHEL release number or None
self.git_branch = None

# RHEL release number or None (also fills in self.git_branch)
self.rhel = self._isRHEL()

def _gitConfig(self, field):
Expand All @@ -110,6 +115,9 @@ class MakeBumpVer:

fields = lines[0].split(' ')

if len(fields) == 2:
self.git_branch = fields[1]

if len(fields) == 2 and fields[1].startswith('rhel'):
branch_pattern=r"^rhel(\d+)-(.*)"
m = re.match(branch_pattern, fields[1])
Expand Down Expand Up @@ -432,7 +440,37 @@ class MakeBumpVer:
f.writelines(bottom)
f.close()

def check_zanata(self):
"""
Make sure that the zanata project-version matches the current git branch
This is to prevent accidentally pushing translations to the wrong branch,
eg. when branching for a new release and zanata.xml hasn't been updated
"""
if not self.git_branch:
log.error("No git branch, cannot check zanata config")
return False

version_re = re.compile("<project-version>(.*)</project-version>")
ret = False
with open(self.zanata_config, "r") as f:
for line in f:
m = version_re.match(line.strip())
if m and m.group(1) == self.git_branch:
ret = True
break
elif m:
log.error("zanata.xml branch (%s) does not match current branch: %s", m.group(1), self.git_branch)
break
else:
log.error("zanata.xml does not have a project-version")

return ret

def run(self):
if not self.skip_zanata and not self.check_zanata():
sys.exit(1)

newVersion = self._incrementVersion()
fixedIn = "%s-%s-%s" % (self.name, newVersion, self.release)
rpmlog = self._rpmLog(fixedIn)
Expand All @@ -452,6 +490,7 @@ def usage(cmd):
sys.stdout.write(" -s, --skip-acks Skip checking for rhel-X.X.X ack flag\n")
sys.stdout.write(" -S, --skip-all Skip all checks\n")
sys.stdout.write(" -d, --debug Turn on debug logging to stdout\n")
sys.stdout.write(" --skip-zanata Skip checking Zanata config for branch name\n")
sys.stdout.write("\nThe -i switch is intended for use with utility commits that we do not need to\n")
sys.stdout.write("reference in the spec file changelog. The -m switch is used to map a Fedora\n")
sys.stdout.write("BZ number to a RHEL BZ number for the spec file changelog. Use -m if you have\n")
Expand All @@ -463,16 +502,17 @@ def main(argv):
cwd = os.getcwd()
configure = os.path.realpath(cwd + '/configure.ac')
spec = os.path.realpath(cwd + '/anaconda.spec.in')
zanata_config = os.path.realpath(cwd + '/zanata.xml')
name, version, release, bugreport = None, None, None, None
ignore, bugmap = None, None
show_help, unknown, skip_acks, skip_all = False, False, False, False
show_help, unknown, skip_acks, skip_all, skip_zanata = False, False, False, False, False
opts, _args = [], []

try:
opts, _args = getopt.getopt(sys.argv[1:], 'n:v:r:b:i:m:sSd?',
['name=', 'version=', 'release=',
'bugreport=', 'ignore=', 'map=',
'debug', 'help'])
'debug', 'help', 'skip-zanata'])
except getopt.GetoptError:
show_help = True

Expand All @@ -495,6 +535,8 @@ def main(argv):
skip_all = True
elif o in ('-d', '--debug'):
log.setLevel(logging.DEBUG)
elif o in ('--skip-zanata'):

This comment has been minimized.

Copy link
@vpodzime

vpodzime Mar 24, 2015

This will work, but by accident, I think.

skip_zanata = True
elif o in ('-?', '--help'):
show_help = True
else:
Expand Down Expand Up @@ -531,7 +573,7 @@ def main(argv):
mbv = MakeBumpVer(name=name, version=version, release=release,
bugreport=bugreport, ignore=ignore, bugmap=bugmap,
configure=configure, spec=spec, skip_acks=skip_acks,
skip_all=skip_all)
skip_all=skip_all, zanata_config=zanata_config, skip_zanata=skip_zanata)
mbv.run()

if __name__ == "__main__":
Expand Down
106 changes: 106 additions & 0 deletions zanata.xml
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<config xmlns="http://zanata.org/namespace/config/">
<url>https://fedora.zanata.org/</url>
<project>anaconda</project>
<project-version>rhel7-branch</project-version>
<project-type>gettext</project-type>

<locales>
<locale>sq</locale>
<locale>ar</locale>
<locale>as</locale>
<locale>ast</locale>
<locale>bal</locale>
<locale>eu</locale>
<locale>bn</locale>
<locale>bn-IN</locale>
<locale>brx</locale>
<locale>bs</locale>
<locale>br</locale>
<locale>bg</locale>
<locale>ca</locale>
<locale>zh-CN</locale>
<locale>zh-HK</locale>
<locale>zh-TW</locale>
<locale>kw</locale>
<locale>kw-GB</locale>
<locale>cs</locale>
<locale>da</locale>
<locale>nl</locale>
<locale>en-GB</locale>
<locale>eo</locale>
<locale>et</locale>
<locale>fi</locale>
<locale>fr</locale>
<locale>gl</locale>
<locale>ka</locale>
<locale>de</locale>
<locale>el</locale>
<locale>gu</locale>
<locale>he</locale>
<locale>hi</locale>
<locale>hu</locale>
<locale>is</locale>
<locale>id</locale>
<locale>ia</locale>
<locale>it</locale>
<locale>ja</locale>
<locale>kn</locale>
<locale>kk</locale>
<locale>km</locale>
<locale>ky</locale>
<locale>ko</locale>
<locale>lt</locale>
<locale>nds</locale>
<locale>mk</locale>
<locale>mai</locale>
<locale>ms</locale>
<locale>ml</locale>
<locale>mr</locale>
<locale>mn</locale>
<locale>ne</locale>
<locale>nb</locale>
<locale>nn</locale>
<locale>or</locale>
<locale>pa</locale>
<locale>fa</locale>
<locale>pl</locale>
<locale>pt</locale>
<locale>pt-BR</locale>
<locale>ro</locale>
<locale>ru</locale>
<locale>sr</locale>
<locale>sr@latin</locale>
<locale>si</locale>
<locale>sk</locale>
<locale>sl</locale>
<locale>es</locale>
<locale>sv</locale>
<locale>tg</locale>
<locale>ta</locale>
<locale>te</locale>
<locale>bo</locale>
<locale>tr</locale>
<locale>uk</locale>
<locale>ur</locale>
<locale>wba</locale>
<locale>cy</locale>
<locale>lv</locale>
<locale>kw@uccor</locale>
<locale>kw@kkcor</locale>
<locale>af</locale>
<locale>am</locale>
<locale>be</locale>
<locale>hr</locale>
<locale>de-CH</locale>
<locale>th</locale>
<locale>vi</locale>
<locale>zu</locale>
<locale>ilo</locale>
<locale>nso</locale>
<locale>tw</locale>
<locale>yo</locale>
<locale>anp</locale>
</locales>

</config>

0 comments on commit d734030

Please sign in to comment.