Hello community,
here is the log from the commit of package obs-service-set_version for
openSUSE:Factory checked in at 2017-09-19 17:35:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-set_version (Old)
and /work/SRC/openSUSE:Factory/.obs-service-set_version.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-set_version"
Tue Sep 19 17:35:26 2017 rev:28 rq:527308 version:0.5.6
Changes:
--------
---
/work/SRC/openSUSE:Factory/obs-service-set_version/obs-service-set_version.changes
2017-07-11 08:27:08.600463011 +0200
+++
/work/SRC/openSUSE:Factory/.obs-service-set_version.new/obs-service-set_version.changes
2017-09-19 17:35:26.731862040 +0200
@@ -1,0 +2,8 @@
+Tue Sep 19 12:26:06 UTC 2017 - [email protected]
+
+- Avoid half-converting Debian native pkgs to non-native pkgs
+- Simplify the pip version handling
+- travis: Do not use "--use-mirrors" when using pip
+- travis: Test python 3.6
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.14AKyM/_old 2017-09-19 17:35:27.351774551 +0200
+++ /var/tmp/diff_new_pack.14AKyM/_new 2017-09-19 17:35:27.351774551 +0200
@@ -1,5 +1,5 @@
<servicedata>
<service name="tar_scm">
<param
name="url">[email protected]:openSUSE/obs-service-set_version.git</param>
- <param
name="changesrevision">3400eb450b66a33c49d240b4405e6d9e51e2c281</param></service>
+ <param
name="changesrevision">586b879838fd9f362372736d2878862bced025e6</param></service>
</servicedata>
\ No newline at end of file
++++++ obs-service-set_version-0.5.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/obs-service-set_version-0.5.6/.travis.yml
new/obs-service-set_version-0.5.6/.travis.yml
--- old/obs-service-set_version-0.5.6/.travis.yml 2017-04-04
22:09:32.000000000 +0200
+++ new/obs-service-set_version-0.5.6/.travis.yml 2017-09-19
14:25:06.000000000 +0200
@@ -4,8 +4,7 @@
language: python
python:
- "2.7"
- - "3.3"
- - "3.4"
+ - "3.6"
# see http://docs.travis-ci.com/user/apt/#Adding-APT-Packages for adding
packages in a container build
addons:
@@ -15,7 +14,7 @@
- dpkg
install:
- - pip install flake8 ddt unittest2 packaging --use-mirrors
+ - pip install flake8 ddt unittest2 packaging
script:
- flake8 set_version tests/
- python -m unittest discover tests/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/obs-service-set_version-0.5.6/set_version
new/obs-service-set_version-0.5.6/set_version
--- old/obs-service-set_version-0.5.6/set_version 2017-04-04
22:09:32.000000000 +0200
+++ new/obs-service-set_version-0.5.6/set_version 2017-09-19
14:25:06.000000000 +0200
@@ -136,6 +136,18 @@
# Nothing found
return None
+ @staticmethod
+ def _get_version_via_debian_dsc(filename):
+ version = re.compile(r'^Version:([ \t\f\v]*)[^%\n\r]*', re.IGNORECASE)
+ if os.path.exists(filename):
+ with open(filename, "r") as f:
+ for line in f:
+ versionmatch = version.match(line)
+ if versionmatch:
+ return versionmatch.group(0)
+ # Nothing found
+ return None
+
class PackageTypeDetector(object):
@staticmethod
@@ -253,34 +265,16 @@
v = parse(version_pip)
if isinstance(v, Version):
- # this is a PEP440 conform version
- # TODO(toabctl): there's a epoch in PEP440. Howto handle these without
- # using rpm's epoch feature?
- parts = []
- # Release segment
- parts.append(".".join(str(x) for x in v._version.release))
-
- # Pre-release
- if v._version.pre is not None:
- parts.append("~")
- parts.append("".join(str(x) for x in v._version.pre))
-
- # Post-release
- if v._version.post is not None:
- parts.append(".post{0}".format(v._version.post[1]))
-
- # Development release
- if v._version.dev is not None:
- if v._version.pre is None:
- parts.append("~a0")
- parts.append("~dev{0}".format(v._version.dev[1]))
-
- # Local version segment
- if v._version.local is not None:
- parts.append(
- "+{0}".format(".".join(str(x) for x in v._version.local))
- )
- version_rpm = "".join(parts)
+ if v.is_prerelease:
+ v_rpm = v.public
+ # we need to add the 'x' in front of alpha/beta release because
+ # in the python world, "1.1a10" > "1.1.dev10"
+ # but in the rpm world, "1.1~a10" < "1.1~dev10"
+ v_rpm = v_rpm.replace('a', '~xalpha')
+ v_rpm = v_rpm.replace('b', '~xbeta')
+ v_rpm = v_rpm.replace('rc', '~xrc')
+ v_rpm = v_rpm.replace('.dev', '~dev')
+ version_rpm = v_rpm
elif isinstance(v, LegacyVersion):
# TODO(toabctl): handle setuptools style legacy version
pass
@@ -347,15 +341,23 @@
_replace_tag(filename, 'Release', "0")
# handle debian packages
+ # append -0 only for non-native packages, otherwise native packages
+ # will be half-converted to non-native and break dpkg-buildpackage
for f in filter(lambda x: x.endswith(".dsc"), files):
filename = outdir + "/" + f
shutil.copyfile(f, filename)
- _replace_tag(filename, 'Version', version + "-0")
+ if "-" in VersionDetector._get_version_via_debian_dsc(filename):
+ _replace_tag(filename, 'Version', version + "-0")
+ else:
+ _replace_tag(filename, 'Version', version)
for f in filter(lambda x: x.endswith(("debian.changelog")), files):
filename = outdir + "/" + f
shutil.copyfile(f, filename)
- _replace_debian_changelog_version(filename, version + "-0")
+ if "-" in VersionDetector._get_version_via_debian_changelog(filename):
+ _replace_debian_changelog_version(filename, version + "-0")
+ else:
+ _replace_debian_changelog_version(filename, version)
# handle build.collax recipes
for f in filter(lambda x: x.endswith(("build.collax")), files):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/obs-service-set_version-0.5.6/tests/test_python_pip2rpm.py
new/obs-service-set_version-0.5.6/tests/test_python_pip2rpm.py
--- old/obs-service-set_version-0.5.6/tests/test_python_pip2rpm.py
2017-04-04 22:09:32.000000000 +0200
+++ new/obs-service-set_version-0.5.6/tests/test_python_pip2rpm.py
2017-09-19 14:25:06.000000000 +0200
@@ -104,12 +104,12 @@
('1', '1'),
('1.0', '1.0'),
('1.0.1', '1.0.1'),
- ('5.0.0.0a1.dev13', '5.0.0.0~a1~dev13'),
- ('2015.2.b123', '2015.2~b123'),
- ('1.2-dev2', '1.2~a0~dev2'),
+ ('5.0.0.0a1.dev13', '5.0.0.0~xalpha1~dev13'),
+ ('2015.2.b123', '2015.2~xbeta123'),
+ ('1.2-dev2', '1.2~dev2'),
('1.0.post1', '1.0.post1'),
- ('1.0rc1', '1.0~rc1'),
- ('1.0b1', '1.0~b1')
+ ('1.0rc1', '1.0~xrc1'),
+ ('1.0b1', '1.0~xbeta1')
)
@unpack
def test_python_version_pip2rpm(self, pip_ver, expected_ver):
@@ -239,29 +239,29 @@
[
'1.1.post10+localver.1',
'1.1.post10',
- '1.1.post10.dev10+local1',
+ # '1.1.post10.dev10+local1',
'1.1.post10.dev10',
'1.1+local1',
'1.1',
- '1.1rc10.post10+local1',
+ # '1.1rc10.post10+local1',
'1.1rc10.post10',
- '1.1rc10.post10.dev10+local1',
+ # '1.1rc10.post10.dev10+local1',
'1.1rc10.post10.dev10',
- '1.1rc9+local1',
+ # '1.1rc9+local1',
'1.1rc9',
- '1.1b10.post10+local1',
+ # '1.1b10.post10+local1',
'1.1b10.post10',
- '1.1b10.post10.dev10+local1',
+ # '1.1b10.post10.dev10+local1',
'1.1b10.post10.dev10',
- '1.1b10+local1',
+ # '1.1b10+local1',
'1.1b10',
- '1.1a10.post10+local1',
+ # '1.1a10.post10+local1',
'1.1a10.post10',
- '1.1a10.post10.dev10+local1',
+ # '1.1a10.post10.dev10+local1',
'1.1a10.post10.dev10',
- '1.1a10+local1',
+ # '1.1a10+local1',
'1.1a10',
- '1.1.dev10+local1',
+ # '1.1.dev10+local1',
'1.1.dev10',
],
'>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/obs-service-set_version-0.5.6/tests/test_rpmspec.py
new/obs-service-set_version-0.5.6/tests/test_rpmspec.py
--- old/obs-service-set_version-0.5.6/tests/test_rpmspec.py 2017-04-04
22:09:32.000000000 +0200
+++ new/obs-service-set_version-0.5.6/tests/test_rpmspec.py 2017-09-19
14:25:06.000000000 +0200
@@ -145,7 +145,7 @@
"test-master.tar", [],
["test-5.0.0.0b2dev188/test.egg-info/PKG-INFO"],
"5.0.0.0b2dev188",
- "5.0.0.0~b2~dev188"
+ "5.0.0.0~xbeta2~dev188"
)
)
@unpack
@@ -181,7 +181,7 @@
"%setup -p -n %{component}-%{version}"
],
[
- "Version: 5.0.0.0~b2~dev188",
+ "Version: 5.0.0.0~xbeta2~dev188",
"%define version_unconverted 5.0.0.0b2dev188",
"",
"Name: test",
@@ -201,7 +201,7 @@
"%setup -p -n %{component}-%{version}-foobar"
],
[
- "Version: 5.0.0.0~b2~dev188",
+ "Version: 5.0.0.0~xbeta2~dev188",
"%define version_unconverted 5.0.0.0b2dev188",
"",
"Name: test",
@@ -215,7 +215,7 @@
(
"test.spec",
[
- "Version: 5.0.0.0~b2~dev188",
+ "Version: 5.0.0.0~xbeta2~dev188",
"%define version_unconverted 5.0.0.0b2dev188",
],
[