Commit graph

92 commits

Author SHA1 Message Date
Frank Schreiner
3400eb450b
make flake8 happy again 2017-04-04 22:09:32 +02:00
Frank Schreiner
bf1d8d02ac
strip \n from version in obsinfo 2017-04-04 21:56:49 +02:00
Adrian Schröter
d2e983f302 Merge pull request #27 from jengelh/master
Add support for Collax build recipes
2017-03-02 09:46:00 +01:00
Adrian Schröter
a9da303a8e this is a pain without value... 2017-03-02 09:30:53 +01:00
Adrian Schröter
e4a7f25d0d Satisfy flake8 2017-03-02 09:10:16 +01:00
Adrian Schröter
a42c3ebe3b read version from .obsinfo file if available 2017-03-02 08:59:40 +01:00
Adrian Schröter
259e7f6b61 add a error message when not being able to detect the version 2017-02-28 15:11:38 +01:00
Adrian Schröter
22a86c7d70 satisfy flake8 2017-01-13 14:17:58 +01:00
Adrian Schröter
a9f6aef3ba support obscpio archives 2017-01-13 14:04:50 +01:00
Adrian Schröter
c928f99931 do not strip release number in debian, but setting it back
to 0 like we do for rpm. otherwise dpg tools will just fail with unknown
format
2016-04-26 17:50:57 +02:00
Dirk Mueller
9cb2d460ff Merge pull request #35 from aplanas/master
VersionDetector._autodetect: prioritize the directory name over the f…
2016-04-19 20:02:58 +02:00
Alberto Planas
fb01898ebc VersionDetector._autodetect: prioritize the directory name over the file name 2016-04-14 14:35:33 +02:00
Adrian Schröter
5dd3f3872b Merge pull request #33 from toabctl/fix-unconditional-add-define
Don't add unconverted_version unconditionally
2016-04-08 10:24:58 +02:00
Thomas Bechtold
3469568f58 Don't add unconverted_version unconditionally
If the unconverted_version and version are equal, don't
add unconverted_version define if not already there.
2016-04-07 17:52:30 +02:00
Dirk Mueller
e4ef614410 Merge pull request #28 from bmwiedemann/master
fix when switching from .dev to non-dev version
2015-12-07 11:37:59 +01:00
Bernhard M. Wiedemann
4e97022745 fix when switching from .dev to non-dev version
the setup call would still reference unconverted_version
which still had the old value
2015-12-04 11:49:02 +01:00
Jan Engelhardt
3c3eb59abd Add support for Collax build recipes 2015-11-17 17:13:56 +01:00
Dirk Mueller
188bea8045 Merge pull request #23 from toabctl/fix-empty-version-replacement
Fix empty version replacement
2015-10-24 18:50:24 +09:00
Thomas Bechtold
41970fb273 Fix empty version checks for debian/changelog
- dch doesn't allow a empty version
- when checking for old version in unittests, only check if a
  version is available. Doesn't work to check for an empty string
  or a whitespace.
2015-09-16 11:11:43 +02:00
Thomas Bechtold
4be0cf30e7 Fix replacement of empty tags
I.e. a .spec file with an empty version like "Version:"
wasn't replaced with the found version.
Also added a testcase for that.
2015-09-16 10:07:36 +02:00
Thomas Bechtold
3989015f0a Use old version from testing data instead of hardcoding
This is the preparation to add extra tests with empty version fields.
2015-09-16 09:19:05 +02:00
Adrian Schröter
a7f421ccd5 Merge pull request #22 from toabctl/fix-PKGBUILD
Fix pkgbuild
2015-09-03 09:21:29 +02:00
Thomas Bechtold
b6fb5456b8 Fix python3 compat
Use print_function from __future__ to be py2 and py3 compatible.
2015-08-30 11:19:34 +02:00
Thomas Bechtold
d75392f817 Set pkgver and pkgrel for PKGBUILD files (fixes #21)
With the python rewrite done in commit b5cadd8c1e,
the version for PKGBUILD files was no longer updated.
2015-08-30 11:11:08 +02:00
Thomas Bechtold
0fed9cbf45 Make testdata reusable
Remove tagname from data_test_from_commandline.json so this can
be reused for the PKGBUILD tests where the tag keyname is different
compared to RPM specfiles.
2015-08-30 10:50:41 +02:00
Thomas Bechtold
f3b14eaa8d Make flake8 happy 2015-08-30 10:32:13 +02:00
Adrian Schröter
e5b43d3e15 - make test suite happy 2015-08-19 11:22:56 +02:00
Adrian Schröter
5856842761 - fix it ... it only worked with "disabledrun" mode by luck
Let osc or bs_service copy back the generated files and enforce a --outdir parameter
2015-08-17 17:12:36 +02:00
Adrian Schröter
c8e7ae6db4 Merge pull request #20 from toabctl/pyfixes
Fix %setup handling for python spec files
2015-07-28 08:12:12 +02:00
Thomas Bechtold
3aaf0d3de1 Fix %setup handling for python spec files
If no "-n" was given during %setup,the wrong version was used for
tarball extraction.
2015-07-28 06:21:55 +02:00
Adrian Schröter
5dd6c56d59 Merge pull request #19 from toabctl/pypackaging-optional
Make python-packaging runtime dep optional
2015-07-27 16:55:24 +02:00
Thomas Bechtold
62b4bf6e1b Make python-packaging runtime dep optional
set_version should work even if python-packaging is not installed.
2015-07-27 13:44:08 +02:00
Adrian Schröter
7ee0a9a99c Merge pull request #18 from toabctl/pysemversion
Pysemversion
2015-07-24 08:26:41 +02:00
Thomas Bechtold
ef4ef2d910 Use python binary from virtualenv
This should make travis happy when running a python script via a
subprocess from a virtualenv.
2015-07-19 21:26:53 +02:00
Thomas Bechtold
6bbe0e6604 Skip some tests if zypper or dpkg are unavailable
For the PEP440 version conversion tests, zypper and/or dpkg are
needed. Skip the tests if the needed binaries are unavailable.
2015-07-19 21:14:03 +02:00
Thomas Bechtold
1aa86c9b94 Finally use version conversion for python packages
Use the functionality for converting PEP440 compatible python versions
to rpm compatible versions. Given the following example .spec:

%define component heat
Version:        5.0.0.0b2.dev261
%setup -q -n %{component}-%{version}

Will be transformed to something like:

%define component heat
%define version_unconverted 5.0.0.0b2.dev261
Version:        5.0.0.0~b2~dev261
%setup -q -n %{component}-%{version_unconverted}
2015-07-19 20:53:14 +02:00
Thomas Bechtold
1224e1d4e5 Add custom line support for _write_specfile func
To be able to define more specific .spec files in unittests, add the
possibility to add custom lines (i.e. '%define foo bar') to a test .spec
file.
2015-07-19 20:53:14 +02:00
Thomas Bechtold
f4b37ebc56 Add function to replace %{version} in %setup
This is the next needed addition to handle python package versions which
are PEP440 compatible. While using the converted (PEP440 compatible)
version in the 'Version' tag, for the '%setup' section, the unconverted
version needs to be used. The new function can be used to replace the
'%{version}' in the '%setup' section.
2015-07-19 20:53:14 +02:00
Thomas Bechtold
e1f1b409ac Fix problem with replacing tags in spec files
While replacing tags in .spec files, the whole content starting from the
selected tag was replaced. Now just replace the line containing the tag.
2015-07-19 20:53:14 +02:00
Thomas Bechtold
aa37a76361 Add function to add or replace a %define
This function will be used to set the tarball version in a .spec
file. This is needed for PEP440 compatible versions for python
packages. Imagine the detected python version by 'set_version' is
'5.0.0.0a1.dev13'. The converted version will be '5.0.0.0~a1~dev13' (so
5.0.0.0 > 5.0.0.0~a1~dev13 is valid).
In the .spec file, the 'Version' tag will be set to '5.0.0.0~a1~dev13'
but we still need the unconverted version '5.0.0.0a1.dev13' because this
is the version which will be use in the '%setup' section to enter the
correct directory during the setup step. So the setup section should
then look like '%setup -q -n %{component}-%{unconverted_version}'
2015-07-19 20:53:14 +02:00
Thomas Bechtold
9636bf5f79 Run python version converter tests with dpkg
In addition to the current tests running with zypper, also test that the
generated versions are compatible with dpkg.
Also improve the assertion output in case of a test failure.
2015-07-19 20:53:03 +02:00
Thomas Bechtold
380cc67d9e Add version converter for python packages
Python's PEP440 compatible versions can look like "1.1alpha" which means
in the pip world (pip is python's package manager), that "1.1 >
1.1alpha". Comparing the same version with rpm, the result is
"1.1alpha > 1.1". This commit adds code to convert PEP440 versions to
rpm versions without loosing the correct version compare semantics.
2015-07-19 20:52:12 +02:00
Thomas Bechtold
e17e863faf Add package type detection for python
Look for ".egg-info/PKG-INFO" in tarballs/zipfiles and if available,
assume the package is a python package.
2015-07-19 20:49:20 +02:00
Thomas Bechtold
b90707ff72 Allow files in test tarballs
Currently only test tarballs with empty directories can be created. This
commit also allows to add empty files to the test tarball. This is
needed for package type detection tests.
2015-07-19 20:49:20 +02:00
Thomas Bechtold
ce00d6c1e8 Restructure version detection code
To get a better overview about the code which does the version
detection, bundle the used functions in a new class called
VersionDetector.
2015-07-19 20:49:20 +02:00
Dirk Mueller
08a5a93c34 Merge pull request #17 from toabctl/pyrewrite
Pyrewrite
2015-07-13 09:06:50 +02:00
Thomas Bechtold
2e8f7d6599 Install devscripts in travis-ci test env
Needed to run the debian changelog tests.
2015-07-03 21:25:44 +02:00
Thomas Bechtold
b5cadd8c1e Rewrite set_version in python
For the following reasons:

- integration of https://github.com/openSUSE/\
   obs-service-set_version_pysemver simpler
- testsuite is in python
- try "import this" to get more reasons :)
2015-07-03 21:08:40 +02:00
Thomas Bechtold
5013040029 Reuse test data for debian changelog tests
Add more tests for debian.changelog based on the data and tests for rpmspec.
2015-07-03 20:24:19 +02:00
Thomas Bechtold
ae1c4aceb9 Remove python 2.6 compat import
We only care about python >= 2.7
2015-07-03 20:06:28 +02:00