1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-12-30 19:56:14 +01:00
Commit Graph

110 Commits

Author SHA1 Message Date
Marcus Huewe
fa4f24f06b - RpmQuery.rpmvercmp: support tilde ('~') 2015-07-03 14:22:00 +02:00
Daniel Gollub
64838ffd51 Support native Debian packages in pkg-prefer
fixes #158
2015-07-02 15:08:39 +02:00
Marcus Huewe
a80b286ac9 - fixed #147
Introduced new PackageQueryResult class and adapted existing
modules accordingly.
2015-06-23 17:52:37 +02:00
Michael Schroeder
7acaba2d8a add obsoletes, conflicts, evr query methods 2014-12-09 13:04:55 +01:00
Michael Schroeder
f47c39521d Verify hdrmd5 of packages if specified in the buildinfo
Needed for buildenv builds that want specific packages.
2014-11-17 12:40:54 +01:00
Christian Berendt
1751bdc47f Resolve PEP8 issue E231
* E231 missing whitespace after ':'
2014-08-13 17:30:12 +02:00
Dinar Valeev
ee15c4cb11 Add ppc64le to Debian arch map
Signed-off-by: Dinar Valeev <dvaleev@suse.com>
2014-06-25 15:05:17 +02:00
Michael Schroeder
42c357336e take epoch into account when calculating the filename
ArchLinux has the epoch in the canonname, Debian discusses doing
this as well.
2014-05-13 13:29:41 +02:00
Marcus Huewe
d6e6c0538e - get "osc build --prefer-pkgs ..." working with Arch 2014-04-03 17:41:41 +02:00
Danny Al-Gaaf
b55d4d6b99 util/archquery.py: remove unnecessary semicolon
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:30:08 +02:00
Marcus Huewe
5a8baf9b88 - util.ar: do not import StringIO from the cStringIO module
The class ArFile inherits from StringIO but StringIO from cStringIO
is just a function (this got broken by commit 87d354e1a0).
2013-04-22 09:24:48 +02:00
Michal Vyskocil
7f2031558c python3 compatibility: print function
The most visible change in python3 - removal of print statement and all
the crufty
   print >> sys.stderr, foo,

The from __future__ import print_function makes it available in python
2.6
2013-04-16 10:51:41 +02:00
Michal Vyskocil
87d354e1a0 python3 compatibility: import proper modules
Some modules (httplib, StringIO, ...) were renamed in python3. This
patch try to import the proper symbols from python3 and then fallback to
python2 in a case ImportError will appear.

There is one exception, python 2.7 got the io module with StringIO, but
it allow unicode arguments only. Therefor the old module is poked before
new one.
2013-04-16 10:51:18 +02:00
Michal Vyskocil
c612e8d47e python3 compatibility: use relative imports
Use relative imports when using module's own modules - this makes a
clear distinction between already developed copy and installed package.
2013-04-16 10:51:18 +02:00
Michal Vyskocil
3a93ac6d10 python3 compatibility: except
changes 'except FooError, fe' to 'except FooError as fe'

available in python 2.6
2013-04-16 10:51:17 +02:00
Michal Vyskocil
d3648be24b python3 compatibility: dict
this patch
 1.) removes the iteritems/itervalues, which were dropped in py3
     items/values are used instead
 2.) add an extra list() in a cases the list-based access is needed
     (included appending, indexing and so)
 3.) changes a sorting idiom in few places
     instead of
     foo = dict.keys()
     foo.sort()
     for i in foo:

     there is a recommended

     for i in sorted(dict.keys()):
 4.) in one occassion it removes a if dict.has_key() by simpler
   dict.get(key, default)
2013-04-16 10:51:17 +02:00
Michael Schroeder
8df38af7e3 support archlinux builds 2012-04-03 16:00:06 +02:00
Stephan Kulow
b1502a5715 support buildinfos with binary present - and don't die with XML 2012-02-22 13:28:19 +01:00
Marcus Huewe
5cb8468f3b - don't fail if terminal encoding doesn't support unicode (fixes #660445)
- added util.safewriter.SafeWriter class
2011-02-11 02:45:13 +01:00
Marcus Huewe
619ebdae8d - util/debquery.py: workaround for python2.4's tarfile module 2010-12-04 12:11:34 +01:00
Marcus Huewe
1f51445859 - add "fname" attribute to util.PackageError class 2010-10-21 21:46:41 +02:00
Marcus Huewe
b3e538be90 - now product builds should work with "--cpio-bulk-download"
- util/rpmquery:
  * added new methods "is_src", "is_nosrc" to check if the package is
    a src rpm or nosrc rpm
  * fixed "canonname": this never worked for src- or nosrc rpms
- minor code restructuring

Note:
in order to fetch the cpio archives osc uses "getbinarylist". The
drawback is that "getbinarylist" doesn't generate an ".errors" file
if we're requesting a non-existent filename.
2010-09-06 14:13:35 +02:00
Ludwig Nussel
7024449cd8 catch cpio errors
TODO: detect if returned file is XML with error code
2010-05-06 14:27:52 +02:00
Marcus Huewe
af273d0bdb - fixed #590611 ("'osc build' uses incorrect filename for debian debs") 2010-03-24 13:20:09 +01:00
Pavol Rusnak
8d551e0a69 fix whitespace 2010-02-28 02:30:13 +01:00
Pavol Rusnak
90c4358da2 treat pylint warnings 2010-02-27 20:11:15 +01:00
Marcus Huewe
fa66ca5f5d - rpmq is always "defined"/not None 2010-02-05 15:22:05 +01:00
Marcus Huewe
8d1c1804bf - fix + beautify 2010-02-05 15:14:48 +01:00
c18adb7edf do not crash on reading rpms (missuse of filname as file object) 2010-02-05 10:31:26 +01:00
Luke Imhoff
96210b6dac Allow --prefer-pkgs to parse repodata
Any directory passed to --prefer-pkgs will be searched for a repodata
directory.  If the directory does not contain a repodata directory, then
each ancestor directory is checked.  This allows for the user error of
specifying an individual architecture directory (e.g. x86_64) instead of the
parent repository directory that contains the repodata:

repository/
  x86_64/
    *.rpm
  repodata/
    *.xml.gz

The use case for this feature is it allows snapshots of the OBS repositories
to be offloaded to an network-attached filesystem.  repodata directories are
used as the xml.gz files are faster to read than the 100s of rpms in a given
snapshot.  These snapshots are used to track older rpm sets that may be
deployed for testing.
2010-01-18 09:12:10 -06:00
Marcus Huewe
a7abbb37cd - fixed typo in regex 2010-01-15 20:34:54 +01:00
Marcus Huewe
de84575ab0 - don't read all rpm/deb tags/fields by default 2010-01-14 19:51:09 +01:00
Marcus Hüwe
c57343cfc4 - sigh... python24 fix 2009-11-06 22:28:04 +00:00
Marcus Hüwe
6471a1aabf - fixed implicit release for deb packages 2009-11-06 22:24:23 +00:00
Marcus Hüwe
4dc6e956c1 - yet another fix for python24... 2009-11-06 21:38:29 +00:00
Marcus Hüwe
9a8579cc35 - fix for python24 2009-11-06 19:24:36 +00:00
Pavol Rusnak
661d927d38 code cleanup 2009-10-20 14:30:15 +00:00
79cada9493 do not die after downloading -debuginfo packages
(can maybe solved in a nicer way)
2009-10-07 15:35:45 +00:00
Marcus Hüwe
eab1349dff - util/debquery.py: implemented dpkg's version comparison algorithm
- util/packagequery.py: added epoch() method
2009-09-29 12:32:26 +00:00
Marcus Hüwe
5083dfd6d0 - it's lib/rpmvercmp.c instead of rpmio/rpmvercmp.c... 2009-09-21 16:51:38 +00:00
Marcus Hüwe
8c14808dd1 - util/rpmquery.py: implemented RPM's version comparison algorithm as described in rpmio/rpmvercmp.c
- util/packagequery.py: added vercmp(pkgq) method
- util/debquery.py: currently vercmp(degq) is only a dummy method. The real implementation will follow soon.
2009-09-21 16:47:54 +00:00
Marcus Hüwe
cc6d7413fb - fix for older python versions 2009-09-20 17:19:33 +00:00
Marcus Hüwe
62be2245e7 - util/rpmquery.py, util/debquery.py: added "filename_suffix" attribute
- fetch.py: also rewrite the filename for debian packages (this is only useful for older obs instances)
2009-09-13 17:25:48 +00:00
Marcus Hüwe
4bb893a114 - added the following new modules:
* util/packagequery.py: it's used to query a RPM or DEB package. It also contains a
    base class for all package types (PackageQuery())
  * util/debquery.py: query a DEB package (name, version, release, provides, requires etc.)
- adapted util/rpmquery.py to use PackageQuery() as a base class
- minor changes in util/ar.py
2009-09-12 19:02:58 +00:00
Marcus Hüwe
d016b3d4f0 - class CpioWrite(): use a valid file mode (default: regular file with permissions 0644)
- removed debug output
2009-09-09 21:25:55 +00:00
Marcus Hüwe
2300afea7e - merged cpio.py and util/cpio.py:
* renamed classes to CpioRead and CpioWrite
2009-09-09 16:02:02 +00:00
Marcus Hüwe
cb16432cd9 - get rid of rpm-python:
* so far it was only used for querying rpms which can be done with the rpmquery module
- core.py:
  * removed data_from_rpm() and tag_to_rpmpy() methods
- util/rpmquery.py:
  * added staticmethod "query()"
- commandline.py, fetch.py:
  * use rpmquery module instead of rpm-python/data_from_rpm()
2009-09-09 15:28:21 +00:00
Marcus Hüwe
221fe84d1a - added rpmquery module:
* this module can be used to retrieve data from the rpmheader
  * Note: for now the signature header is completely ignored
2009-09-09 14:39:53 +00:00
Marko Jung
a02ce1389a - fixed exception handling 2009-06-04 15:20:22 +00:00
Pavol Rusnak
e97c1de936 add more checks when working with mmap.mmap 2009-05-22 14:43:39 +00:00
Pavol Rusnak
0fa507a782 mmap.mmap works differently under windows 2009-05-20 16:42:17 +00:00
Michal Cihar
885c72af77 Fix syntax errors with Python 2.4 (bnc#500968). 2009-05-05 14:07:00 +00:00
Marcus Hüwe
9d97bcb56d - minor fix 2009-03-19 18:25:59 +00:00
Marcus Hüwe
6bf55c5415 - forgot the usual license stuff... 2009-03-19 13:58:04 +00:00
Marcus Hüwe
ab3403380f - added cpio archive reader. Supported formats:
* ascii SVR4 no CRC also called "new_ascii"
- no directory/PIPE/blk etc. support atm. Some of it might be implemented later in case I'm bored:)
- format implementation is based on src/copyin.c and src/util.c (see cpio sources)
- it is needed to investigate #477690 ("osc fetching binaries really slow")
2009-03-19 13:52:00 +00:00
Marcus Hüwe
5d27d74ee4 - added __str__() method to the ArFile class
- when rereading a file setup the 'datastructs' again
2009-03-09 11:17:44 +00:00
Marcus Hüwe
2da0f1b737 - added docstring 2009-03-05 02:06:26 +00:00
Marcus Hüwe
141845c324 - added __iter__() method to iterate over an Ar object 2009-03-05 02:00:56 +00:00
Marcus Hüwe
3330cd012c - added licensing information 2009-03-04 22:56:24 +00:00
Marcus Hüwe
3b08741a80 - added ar module: this can be used to read ar archives. This will be used later to extract files from a debian package which uses this format. Currently we only support the GNU format (note: maybe something is still missing but it's sufficient for our needs) 2009-03-04 22:15:11 +00:00