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
Instead of storing the debian packaging as a tarball that's hard to version, generate and mange, store them separately. There is no net change, the files re exactly as they appeared in the tarball.
This will make future improvements to the likes of the rules/control files easier, and hopefully kept in sync with the rpm spec. (I hope to move the debian package to python3 at some point).
OBS-URL: https://build.opensuse.org/request/show/752964
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=317
- 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