In that case, the packages to setup the build environment are
taken from the repositories defined in the kiwi file. Osc did
not take into account that the build config must match this
path. So it cannot just get the build config like with normal
builds, but must use a different path.
This led to build errors on some projects like CentOS 7 which
rely on 'Order' statements from the project config.
The OBS backend already had support for this: the 'path' parameter
can be used to overwrite the project path in the _buildconfig
query. We now use this to provide the correct path if we
detect this case. (The detection is currently a heuristic
because OBS does not provide us with a clear indicator.)
* util/helper.py
- new decode_it function. Takes obj and checks if
it is not a str. The it tries to guess the encoding
based on the module chardet
* all other modules:
- switched from var.decode('utf-8') to decode_it(var) if
possible
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?
- simplified TextMeter/pb usage
- fixed header in meter.py
- delted unused vars in function calls
- get rid of most MGErrors
- do not check for file:// in grabber.py
* renamed mirror.py to grabber.py
* moved OscFileGraber Class to grabber.py
* in OscMirrorGroup we now use a OscFileGrabber class
* moved progressbar handling in own module (meter.py)
* simplified MGError
* removed meter.py (not needed anymore. We now use
progressbar2
* removed last urlgrabber fragments
* use progressbar2 as a replacement for UrlGrabber.ProgressBar
* use streamfile in combination with progressbar to download files
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
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.
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))