1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-09-22 02:06:18 +02:00
Commit Graph

371 Commits

Author SHA1 Message Date
4bcb78e322 osc build --vm-type=qemu support for cross architecture builds 2019-11-28 10:07:36 +01:00
b78a0b3896 osc shell/chroot/wipe is now handled via build script (working for chroot and KVM only atm) 2019-11-28 10:07:11 +01:00
lethliel
d59141e3fe fix build with alternative prj and multibuild
building with alternative project (pac='_repository')
and multibuild did not work correctly, because the buildflavor
was not submitted to the src server.

With commit 2390823d649a3b0b6bf3b7bd07713c4426932bed in open-build-service
it is now possible to submit the build flavor like this: _repository:<flavor>

The obs commit also enables osc buildinfo --alternative-prject -M <flavor>
to show the correct buildinfo for the flavor.
2019-10-23 11:46:38 +02:00
lethliel
2aa6e998d2 fix and unify building of local package cache
* all filename functions now return bytes-like objects
* the caller does the decoding
* the caller in build.py passes encoded arguments
2019-07-26 13:38:45 +02:00
72b96b7d39 fix typo in last commit fixing simpleimage support 2019-06-27 16:34:41 +02:00
024759bee0 fix local build using simpleimage 2019-06-27 16:14:17 +02:00
Bernhard M. Wiedemann
13a174bdcc Fix encode method call
This broke with
--define="%_buildhost foo"
2019-05-25 13:36:10 +02:00
lethliel
6c001fa64c [python3] build with python3 (mostly bytestring)
* return of get_buildinfo is bytestring with python3
* other variables contain bytestrings as well now
2019-04-07 10:42:00 -05:00
lethliel
93d15fc83b reworked meter.py based on discussion
* new function create_text_meter with fallback selection
* NoPBTextMeter.start() will print the basename (if not stated otherise with
  basename = None)
* The callers that should use an alternare TextMeter class now call create_text_meter()
* The callers that should not use and alternate TextMeter (because of different handling,
  like build.py) call create_text_meter(use_pb_fallback=False)
* the warning 'Please install the progressbar module' is now only shown once

improvements
2019-01-16 11:39:40 +01:00
Marcus Huewe
e608200414 Remove yet another superfluous try-except from meter import
Follow-up fix for commit be94132298
("Remove superfluous try-except from meter import").
2019-01-14 00:41:09 +01:00
Marcus Huewe
bec52a7917 Merge branch 'python3_prep' of https://github.com/lethliel/osc
Get rid of the urlgrabber dependency. The current implementation of the
progress bar is quite "noisy" if the line length exceeds the size of
the terminal window, but that's something we could fix later. (The
superfluous error message will be fixed in a subsequent commit.)
2018-11-01 19:55:07 +01:00
lethliel
65b053abb3 replace urlgrabber to enable python3 compatibility
- new module grabber.py
  * OscMirrorGroup to keep urlgrabber.mirrorgroup behavior
  * OscFileGrabber moved here

- meter.py
  * reworked to use progressbar module instead of progressbar
    of urlgrabber and simplified the module.

- babysitter.py
  * removed URLGrabErrorr

- build.py
  * removed adding of url_local to urllist. (not needed anymore)
  * removed URLGrabError

- commandline.py
  * switched from urlgrabber.urlgrab to OscFileGrabber().urlgrab

- core.py
  * reworked progressbar behavior

- fetch.py
  * removed join_url (not needed anymore)
  * moved OscFileGrabber to grabber.py
  * removed failureReport (not needed anymore)
2018-10-19 09:31:37 +02:00
153032bc11 fix local multibuild flavor support when package does not exist ('_repository' case) 2018-08-22 11:20:40 +02:00
2566d6aa73 add podman build support 2018-08-14 13:02:16 +02:00
Sean Kelly
b42e6f5e04 Support larger uids and gids 2018-06-25 16:55:47 -04:00
0c3edd3fa0 always run build using --statistics. I could have made this
yet another option, but
* only very old build scripts don't know it, we should just require a recent one
* build script is ignoring it for chroot case

so why bother with another option?
2018-04-27 15:01:09 +02:00
Marcus Huewe
0b241a9586 Consider "recommends" and "supplements" in build.create_deps
Fixes: #363 ("osc build -p ../rpms/tw doesnt send recommends to
the server which makes client side build behave differently to server
side build").
2017-12-26 23:28:14 +01:00
marco
6bc2d3f939 use XDG_CONFIG_HOME/osc/oscrc as default config
write oscrc to the default location for user-specific configuration.
If XDG_CONFIG_HOME is not set use ~/.config/osc/oscrc which is basically the same.

If there is already a ~/.oscrc use this one (for compat reasons). Existing user
installations should not get affected by this commit.

The order is the following:

Given config with -c
config defined in OSC_CONFIG
existing ~/.oscrc
default XDG_CONFIG_HOME/osc/oscrc
2017-11-08 11:17:11 +01:00
Neal Gompa
ef9b308d50 Add pacsuffix hint using BinaryType from build config 2017-09-26 07:57:59 -04:00
Tim Hardeck
a8cc111851 Set build files for fissile 2017-08-01 15:01:53 +02:00
Michael Schroeder
e6d492ee38 Support 'fissile' build type 2017-07-21 10:58:52 +02:00
Michael Schroeder
9ed700e930 Fix --set-container-derived-from option passing
We now use dir:// as with the repos. Also pass the option with
the "--option=value" form.
2017-07-03 13:34:35 +02:00
Marco Strigl
fcef29131c pass --buildflavor to build script 2017-05-31 07:00:46 +02:00
Michael Schroeder
2b7cef3b33 Prepare for md5sum checking of containers
We do not want to use an old container if a new version is built
on the server. They don't have a rebuild count or something like
that (yet).
2017-05-17 11:20:03 +02:00
Michael Schroeder
7dae421d77 Support derived images for kiwi docker builds
Kiwi currently rejects the --set-container-derived-from option,
but this will hopefully change.
2017-05-16 14:02:37 +02:00
Michael Schroeder
8bffeb70e5 Support docker builds 2017-05-16 11:14:52 +02:00
Bernhard M. Wiedemann
f4771ce67a allow to pass any option to the build command
so that we do not have to patch osc for every parameter added to build
e.g. "--vm-custom-opt" in my case

similar in nature to gcc'c -Wl, option
2017-04-19 15:33:08 +02:00
3ab3ff0b1c list appimage build results 2017-03-15 10:32:11 +01:00
3e2bb0ec1d add support for highly experimental native appimage.yml support 2017-03-14 19:02:01 +01:00
670bd90e29 fix local build of kiwi images using obsrepositories:// (affects newer python3-kiwi) 2017-03-08 13:01:08 +01:00
1cb3f9eed5 Add '--vm-memory' option to osc build 2016-11-29 09:07:20 +01:00
Matias Hilden
82dbd10af2 Ignore build descr directory in build-root substitution for local packages
If build-root contains %(package) substitution, --local-package builds
would substitute absolute path there. This is different than the rule used
in osc chroot (uses relative path), causing the chroot to fail by default.

This commit removes the directory part from both build-root substitutions.
2016-11-14 13:48:06 +02:00
Andreas Schwab
0c00108521 get_prefer_pkgs: don't ignore debuginfo packages 2016-08-17 09:44:36 +02:00
f2faa82ac7 fix local package caching for snapcraft 2016-07-01 11:15:12 +02:00
d623cb8552 add support for snapcraft builds 2016-06-30 08:06:29 +02:00
Michael Schroeder
95b6087c5b Use the preinstall filename if the hdrmd5 is not available 2016-06-09 16:40:39 +02:00
Michael Schroeder
55da852a90 Add support for preinstall iamges
Adapted from a submission from Ericsson by Esa Kulmala, thanks a lot!
2016-06-09 16:24:30 +02:00
Bernhard M. Wiedemann
bbefe024e5 add vm-user option
this needs latest obs-build to work
2016-02-18 11:31:59 +01:00
25118ceccc - support --vm-telnet option for KVM builds
latest build package is required.
2015-11-25 14:20:55 +01:00
Marcus Huewe
070daecaf5 - build.Buildinfo: improved error formatting
Use the same formatting for an "unresolvable" error as in "osc results -v"
2015-09-23 18:29:51 +02:00
4342d9a6e1 Correction of grammatical errors
"exists" is a Python keyword, and wrong outside the 3rd person
singular in English.
2015-09-16 10:17:15 +02:00
5d6882e0e1 Collax support 2015-09-10 11:35:27 +02:00
Daniel Gollub
beb46cc012 Support prefer-pkg for live-build 2015-08-12 16:29:22 +02:00
Marcus Huewe
84ba8c6e17 - fixed fullfilename calculation in the Pac class
Now, the fullfilename is calculated using the canonname of a
bdep instead of using the bdep's binary attribute (the canonname
and binary attribute can differ (e.g. ConsoleKit-64bit-0.4.6-3.2.ppc.rpm
vs. ::import::ppc64::ConsoleKit-64bit-0.4.6-3.2.ppc.rpm))
2015-06-16 17:37:40 +02:00
Marcus Huewe
e4919568eb - do_build: added --trust-all-projects option
--trust-all-projects can be used to disable the trusted project check
2015-05-05 23:39:58 +02:00
Marcus Huewe
a800f8f3fc Merge branch 'master' of https://github.com/andreas-schwab/osc 2015-04-27 10:49:48 +02:00
6de9cb4e03 - add support for buildtime source service mode 2015-04-24 09:47:48 +02:00
Andreas Schwab
dc8ab2ee30 Pass disk/swap/logfile options to obs-build also for VM type emulator 2015-04-17 11:10:54 +02:00
e610cb569a Merge pull request #138 from k0da/threads
Pass threads option to obs-build
2015-04-08 10:30:14 +02:00
Dinar Valeev
e12f1b43c4 Pass threads option to obs-build
Currently --jobs sets only -smp flag for VM, in some cases we want
to pass threads as well. So the command line would like -smp 4,threads=4

Signed-off-by: Dinar Valeev <dvaleev@suse.com>
2015-03-10 11:58:08 +01:00
Dinar Valeev
5cc8a05d46 ppc64le can build ppc64 in KVM
Little Endian host can do build in Big Endian VM

Signed-off-by: Dinar Valeev <dvaleev@suse.com>
2015-01-14 14:57:28 +01:00
Marcus Huewe
8c8618ac91 - fixed corner case in __del__ method
For a detailed explanation see
d093c2b43b
2015-01-03 13:06:12 +01:00
Michael Schroeder
7ca0b2d04e send conflicts/obsoletes for local packages as well
Also sends the missing "I" entry, so the backend has no longer
to guess the version from the self-provides.
2014-12-09 13:12:34 +01:00
Denis Pynkin
d17b497867 Added configuration options for kernel and initrd selection during KVM build
Some distributions have no initrd images compatible with KVM builds and
sometimes we need to use not system kernel version.

New options in configuration file:
- build-kernel -- kernel used for VM builds
- build-initrd -- initrd image used for VM builds
2014-11-20 19:09:53 +03: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
Michael Schroeder
6ccf64fc2f fix buildenv data name, it needs to be "buildenv"
The repo server is kind of picky...
2014-11-07 13:52:06 +01:00
Michael Schroeder
d5b795a02b osc build: add support for _buildenv upload 2014-11-07 13:41:34 +01:00
Denis Pynkin
e0d96a49b3 Initialize variable 's_built' during image build.
Fixed images local build failure because of
uninitialized variable 's_built'.
2014-09-09 16:07:35 +03:00
Marcus Huewe
b07a4d0b37 Merge branch 'w291' of https://github.com/berendt/osc
Conflicts:
	osc/build.py

Resolved merge conflict.
2014-08-14 17:24:28 +02:00
Christian Berendt
1751bdc47f Resolve PEP8 issue E231
* E231 missing whitespace after ':'
2014-08-13 17:30:12 +02:00
Christian Berendt
d35983d5b8 Resolve PEP8 issue W291
* W291 trailing whitespace
2014-08-12 15:01:16 +02:00
Jan Blunck
475d2a298d Add support for livebuild buildtype
This commit allows for 'osc build' to do local builds of type livebuild.
Debian livebuild is the native Debian live image building system.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
2014-07-08 21:18:01 +02:00
Jan Blunck
b2ad3ebabc Make get_built_files() take the buildtype instead of the pactype
It is possible that two different build types use the same package type.
Therefore we need to make get_built_files() work on the build type.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
2014-07-04 16:42:53 +02:00
Marcus Huewe
7efd6db501 - added support for a per apiurl "build-root" option
Resolution order:
OSC_BUILD_ROOT env var > apiurl build-root option > general build-root option
2014-06-04 15:33:30 +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
Michael Schroeder
5a65b06927 support installonly/noinstall tags for mock buildengine 2014-04-30 16:26:03 +02:00
Marcus Huewe
d6e6c0538e - get "osc build --prefer-pkgs ..." working with Arch 2014-04-03 17:41:41 +02:00
2c6415264d - fix "osc build $repo aarch64" call without specifing a spec file. aarch64 is not recognized as architecture due to wild parameter guessing 2014-02-03 17:33:49 +01:00
Dinar Valeev
359d5c5a84 ppc64le can be built on ppc64
In case vm-type is KVM, we can build Little Endian packages on Big
Endian host.

Signed-off-by: Dinar Valeev <dvaleev@suse.com>
2013-12-03 08:25:13 +01:00
Dinar Valeev
82a5350a11 Add ppc64le architecture
This commit adds PowerPC64 Little Endian architecture support

Signed-off-by: Dinar Valeev <dvaleev@suse.com>
2013-11-06 09:11:05 +01:00
Sascha Peilicke
5ef2d4035c Merge pull request #37 from k0da/master
Add ppc64p7 architecture
2013-10-18 02:31:30 -07:00
bdc772ef10 - sync appliance building using obsrepositories with bs_worker code 2013-08-14 18:30:43 +02:00
Ionuț Arțăriși
2dac43aecf rephrase trust prompt
'always' is a key word in that sentence and it should be the first word;
it also sounds like better English this way
2013-07-25 17:19:04 +02:00
0437ab9be0 - support for kiwi appliance builds using obsrepositories:/ directive 2013-07-04 16:41:59 +02:00
1d7cb3d1db - add armv6hl definition 2013-07-04 11:04:31 +02:00
Dinar Valeev
51b549db3a Add ppc64p7 build definitions 2013-06-07 13:28:57 +02:00
Marcus Huewe
4736763c22 - reverted commit 9acda37d5f
Now "get_built_files" always returns a tuple which consists of two strings.
So no cast is needed anymore.
2013-06-03 16:32:39 +02:00
Danny Al-Gaaf
3ac21eb1e3 build.py: add missing spaces
Add missing spaces around operators and spaces after comma.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:47:16 +02:00
Danny Al-Gaaf
2f197c698b build.py: remove unnecessary semicolon
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:28:59 +02:00
Danny Al-Gaaf
7e3a901596 build.py: fix bad indentation
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:19:44 +02:00
Danny Al-Gaaf
9acda37d5f build.py: add cast to be able to use str.splitlines()
Cast some variables  to str() to be able to use str.splitlines().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-26 20:25:44 +02:00
Marcus Huewe
a8def0f433 - build: fixed typo (patch by darix)
typo was introduced in commit d3648be24b
2013-04-22 16:26:31 +02:00
e1291fdcc6 - fix the general architecture detection for incomplete "osc build" lines 2013-04-16 15:42:37 +02:00
Michal Vyskocil
419367fca3 python3 compatibility: urllib
fixes all renames in urllib, urllib2, urlparse modules in python3
2013-04-16 10:51:42 +02:00
Michal Vyskocil
5cc72902e0 python3 compatibility: raw_input
raw_input has been removed and equals to input in py3. Unfortunatelly no
__future__ statement exists for that. Ensure all modules uses
osc.core.raw_input except osc.cmdln, where there is NameError way
implemented.
2013-04-16 10:51:41 +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
f814fe4af4 python3 compatibility: idioms
more idiomatic code - changes

  * type(foo) == bar to isinstance(foo, bar)
  * changes the uneeded .sort calls by sorted()
2013-04-16 10:51:18 +02:00
Michal Vyskocil
2ad4a8c873 python3 compatibility: has_key
don't use method removed from python3
2013-04-16 10:51:17 +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
1299b73efa fix with/without definitions, --with should not define %_without and vice versa 2013-03-20 15:38:25 +01:00
d082c75958 - drop the support for deprecated cbinstall and cbpreinstall directives 2013-03-19 08:17:13 +01:00
948687c4cf - do not crash on manual configured buildroot 2013-03-18 17:41:57 +01:00
Marcus Huewe
93df866787 - added new function core.run_external which can be used to execute an external program
Basically it's just a wrapper around subprocess.call which raises an ExtRuntimeError
exception if subprocess.call raised an OSError with errno set to ENOENT (unfortunately
the OSError's filename attribute is set to None therefore we cannot print a meaningful
error message (that's why an ExtRuntimeError is raised)).
Replaced all occurrences of subprocess.call with a corresponding run_external call.
2013-03-08 00:56:57 +01:00
d26b3df32f - handle architecture parsing also right when an emulator is used. Just warn in that case,
because we can check for sure if an emulator is configured.
2013-02-11 15:35:15 +01:00
143af44479 - support --target argument for "osc build" 2013-02-06 17:12:52 +01:00
8097a9550d - fix local build with emulator support.
- fix package signing check (skip always for use inside of secure VMs)
2013-02-03 19:08:38 +01:00
f1c55334b3 - add aarch64 build definitions 2013-02-03 13:25:32 +01:00