Commit graph

102 commits

Author SHA1 Message Date
Adrian Schröter
b2bbe4efb4 workaround for python3 locale problems in factory 2017-10-30 16:57:46 +01:00
Adrian Schröter
360f08d45e add a hint to flake8 2017-10-13 09:18:11 +02:00
Adrian Schröter
fbdca66e7c satisfy flake8 2017-10-13 09:17:27 +02:00
Adrian Schröter
3cd89e9bfa skip also sha256sums check for Arch 2017-10-12 18:22:35 +02:00
Thomas Bechtold
29500853ab Merge pull request #45 from toabctl/simplify-pip-versions
Simplify the pip version handling
2017-09-19 14:25:06 +02:00
Thomas Bechtold
586b879838 travis: Test python 3.6
Remove python 3.3 and 3.4 testing.
2017-09-07 15:34:49 +02:00
Thomas Bechtold
e20530df8b travis: Do not use "--use-mirrors" when using pip
The option is no longer available.
2017-09-07 15:33:51 +02:00
Thomas Bechtold
9e7f62b324 Simplify the pip version handling
Reduce code for version handling. Also align with other tools like
renderspec and obs-service-python-requires. Both use this schema for
pip versions.
2017-09-07 15:33:47 +02:00
Frank Schreiner
42f2336511 Merge pull request #40 from bluca/debian_non_native
Avoid half-converting Debian native pkgs to non-native pkgs
2017-07-19 08:47:17 +02:00
Luca Boccassi
f8a5535417 Avoid half-converting Debian native pkgs to non-native pkgs
Newer versions of dpkg-buildpackages are more strict in checking that
the Debian package format is consistent.
Always appending a -0 to the version causes a native package, which
must not have a - in the version, to fail to build.
Append -0 conditionally on a simple check: if the original version
has a - character then it's non-native and it's safe to add -0.

In order to do this check a new version detection static method is
added, to parse the .dsc file for the Version tag.
2017-04-05 11:53:52 +01:00
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