Fedora and EPEL provide osc in their respective repositories. However OSC is built with a custom SPEC file. The goal of these changes is bring the packaging of OSC closer in both build systems.
If these changes are accepted, I plan to also submit the changes to Fedora.
* Modified SPEC file to be more compatible with KOJI and COPR.
** Modified SPEC file to use python3 for CentOS/RHEL 7
** Modified SPEC file use fedora/rhel version macros.
** Changed perl to sed in %install section of SPEC file.
Removes PERL as an unofficial build dependence. EPEL-9 build roots in MOCK may not include PERL
OBS-URL: https://build.opensuse.org/request/show/956576
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=356
* do not crash when running "osc search --binary --verbose foo"
* don't run source services when building outside of an OSC package working copy
* fix XDG_CONFIG_HOME
* offer a force ("f") choice in metafile.edit's error handling code path
* fix XPath used in search requests
* add support for creating a workflow token via "osc token"
* handle missing os.sysconf more gracefully
* detachbranch: remove _link when link target got removed
* improve error message in case of an URLError
* fix downloading from mirrors
* avoid sending entire projects on "osc mr"
* fix hdmrd5 check of local cached files
* improve logic for conffile mode handling
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=354
* fix password deletion via "osc config -d <apiurl> pass"
* support changing the password store via "osc config <apiurl>
--select-password-store")
* support slash syntax in osc browse ("osc browse prj/pkg" is equivalent to
"osc browse prj pkg")
* fix the commit of a frozen package wc
* fix local product builds using obsrepositories:/ directives
* print a meaningful message when trying to a commit a non-existent package
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=353
* add showlinked command to show all references of packages linking to a given one
* add build --shell-after-build flag. It can also be set via .oscrc.
* add build --stage flag. Useful for example for fixing file lists and just
running the install section to see the result of it (use --stage=i=).
Check the help for more details.
* allow to run build script as non-root, by setting su-wrapper empty
=> osc is not guessing anymore if user builds are wanted
* add support for cross arch local build using a sysroot
* support slash notation in "osc creq -a <action type> args"
* add "--force" option to the "osc add" command (can be used to override
the exclude_glob config option)
* support the commit of arbitrary sized files
* add support for sccache
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=350
* support --lastsucceeded/--last-succeeded in "osc buildlog", "osc
remotebuildlog" + friends (perform the corresponding operation on
the build log of the last successful build)
* fix pypi deployment via Travis CI
* several fixes in request related code paths (no double html_escape
of a request's description etc.)
* support local builds in a systemd-nspawn container
* fix potential TypeErrors+UnicodeEncodeErrors in the util.cpio and
util.ar modules
* support local flatpak builds (requires a recent build version)
* "osc init <prj>" works for a non-existent (server-side) project <prj>
* .old dir support for source services so that some services have access
to the results of a previous service run
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=345
* maintainer search: lookup via package name by default and binary as fallback
* fix crash on console resize when downloading files during build
* add proper repourls to osc reporuls
* new command osc releaserequest: This command is used to transfer sources and
binaries without rebuilding them.
It requires defined release targets set to trigger="manual".
* some improvements on output of help and error messages
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=342
* fix code for python3.8 and python3.9
* remove dead code
* fix tests
* don't use chardet to guess encoding. utf-8 or latin-1 is now assumed
This will speed up decoding (bsc#1173926)
* escape sequences are interpreted correctly on -m
osc sr -m "1st line\n2nd line"
results in
1st line
2nd line
* add status filter to osc results
* add --brief to osc prjresults
Gives:
build openSUSE_Leap_15.1 x86_64 succeeded
build openSUSE_Leap_15.0 x86_64 succeeded
build openSUSE_Leap_15.0 armv7l unresolvable
build openSUSE_Factory_ARM armv7l succeeded
build openSUSE_Factory_ARM aarch64 succeeded
* osc prjresults -s <status>: status can now be the long text like "succeeded", "failed"
* improve error message if osc service <servicename> is not run in working directory
* web links are now also printed for osc mr when print_web_links=1 is set
- Spec:
* re-enable test suite
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=338
* improve speed and usability of osc bash completion
* switch packagequery.py to return only bytes
* improved some error messages
* osc add: support git@ (private github) or git:// URLs correctly
* split dependson and whatdependson commands
* support for osc build --shell-cmd
* Fix kiwi build with --prefer-pkgs
* add pkg-ccache support for osc build
* fix security issue (bsc#1122675, CVE-2019-3681) do not allow '/' in filename
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=335
* MR creation honors orev now (bsc#1160446)
* allow "osc r --vertical" for projects
* several typo fixes
* cleanup old functions and remove python2.6 compat code
* support zstd arch linux files in local build
* fix deleterequest for repositories
* append --norootforbuild as default to build command
* fix decoding in interactive request mode
* use signdummy for product builds
* print release project when creating MR
* improve SSLError message for TLSv1 validation
* osc maintained --version prints the version of each maintained package
* print web url links after creating requests (New general bool option 'print_web_links' must be set in oscrc)
* fix checkout_no_colon on project level
* handle empty release number of rpm packages in build.py
* handle bytes vs. str error when parsing meta
* custom exception if importing m2crypto fails
* fix missing oscerr import in util.helper
* several fixes for keyring handling
* fix arch zst magic in util.packagequery
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=324
- fix cpio fetch error handling
- support local build using RedHat rpm-md modules
- fix local build outside of the working copy of a package.
(fixes boo#1136584)
- Use the distro module for linux platform detection for
python3.8 compatibility
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=313
* Added --lastsucceeded option for logfile display (requires OBS 2.11)
* osc shell/chroot/wipe is now handled via build script (working for chroot and KVM only atm)
* osc build/shell features:
- --vm-type=qemu support for cross architecture builds
- additional debug packages are read from build config now
(extra-pkgs definition is therefore by default empty now)
- --vm-disk-size= switch supported (has only an effect on clean builds)
- repository, architecture and vm_type from last build is automatically
reused if not specified otherwise.
- support building for kiwi products using obsrepositories:/
* fix decoding for osc aggregatepac
- added Conflicts: build < 20191205. The new osc shell/chroot features might
not work with older build scripts
- removed version dpendency for Recommends: build. Does not work anyway.
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=307
* Don't enforce password reuse (boo#1156501)
* Config option check_for_requests_on_action is now
activated by default.
Use check_for_request_on_action = 0 in oscrc to
disable it
* osc vc --file=foo bar.changes now writes the content
from foo into bar.changes instead of creating a new file
(boo#1155953)
* fix output for missing pubkey when using http_debug=1 on
osc build
* fix crash of osc linkpac when there is already a _link
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=305
- 0.166.0 (boo#1154972)
* New password handling backend. Supported password stores:
- Plaintext password
- Obfuscated password
- python-keyring (kwallet, secret store)
- gnome-keyring
- no store at all (ask for the password every time
* Refactor initial setup of osc (to select password store)
* fix decoding on osc lbl (boo#1137477)
* fix breakage of submitting complete branches back as an
submit request that contain packages without a change.
* fix error with plugins and osc -h
* various decoding improvements
* Transfer the name of the input file to vc instead of the content
(obs-build/vc will do the rest and open the file).
* support appimage builds
* new command browse. (opens a browser opening the project or package)
* new option --incoming for osc rq and osc review to only show only
incoming reqeusts for a project.
- new Recommends for xdg-utils. osc-browse uses xdg-open to open
the url to the project/package in an internet browser
OBS-URL: https://build.opensuse.org/request/show/743489
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=301
* switch to difflib.diff_bytes and sys.stdout.buffer.write for diffing.
This will fix all decoding issues with osc diff, osc ci and osc rq -d
* fix osc ls -lb handling empty size and mtime
* removed decoding on osc api command.
* fixed broken TLS certificate handling (boo#1142518, CVE-2019-3685)
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=296
* support different token operations (runservice, release and rebuild) (requires OBS 2.10)
* fix osc token decode error
* offline build mode is now really offline and does not try to download the buildconfig
* osc build -define now works with python3
* some spelling fixes
* properly parse the error message on osc meta -e
* osc maintainer -s now works with python3
* simplified and fixed osc meta -e
* osc lbl now works with non utf8 encoding (boo#1129889)
* add simpleimage as local build type
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=293
* fix oscssl "urldefrag is not defined error"
* osc release command now python3 compatible
* add more decode logic in get_commitlog
* osc add <dir> in compressed mode now works with python3
* osc getbinaries now prints the output instead of
using the quiet mode as a default
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=286
- 0.165.0
* full python3 compatibility (bsc#1125243)
fixes bsc#1131512, bsc#1129889, bsc#1129757
* removed following patches (now upstream):
001_helper.patch
002_man_page_building.patch
003_setup.patch
004_babysitter.patch
005_oscssl.patch
006_build.patch
007_core.patch
008_commandline.patch
009_fetch.patch
010_fix-decoding_in_canonname.patch
011_repodata.patch
012_packagequery.patch
- spec file modifications:
* noarch only on non-SUSE distros and newer SUSE Versions > 11
* disable testsuite on older SUSE Versions (unittest module too old)
- moved Recommends for diffstat to suse specific section.
- added Buildrequires and Requires for python-chardet
* needed for determining the encoding of objects (Requires)
* needed also for testing in %check section (BuildRequires)
- activate tests for osc
- add Buildrequires and Recommends for diffstat
osc prdiff --diffstat needs it
The testsuite needs it (Therefore the BuildRequires
OBS-URL: https://build.opensuse.org/request/show/695702
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=281
- deleterequest for entire projects needs the --all option as additional protection
- rewrite packagequery to support python3
- rewrite oscerr module to support python3
- rewrite archqeury and debquery to support python3
- Export vc env vars when running a source service
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=279
- 0.164.0
- add support for approved requests (requires OBS 2.10)
- fix various multibuild problems
- improved and fixed various help texts
- check constraints without local checkout
- check out deleted sources (osc co -D)
- replace urlgrabber module with own module
- use progressbar module instead of urlgrabber to draw
progress bars
- show buildinfo for alternative projects (--alternative-project)
- run release job immediately (osc release --no-delay)
- build results on project level can now be watched (osc prjresults --watch)
- removed python-urlgrabber requieres. (Not used with 0.164.0)
- added recommends for python[2]-progressbar
OBS-URL: https://build.opensuse.org/request/show/664116
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=275