Bug 1570421

Summary: retire this deprecated package
Product: [Fedora] Fedora Reporter: Fabio Valentini <decathorpe>
Component: golang-bitbucket-kardianos-osextAssignee: FridolĂ­n PokornĂ˝ <fpokorny>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: admiller, decathorpe, fpokorny, jchaloup, quantum.analyst, tdawson, vbatts
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-12 08:18:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Fabio Valentini 2018-04-22 18:18:39 UTC
According to upstream comments made [here], this go package should not be used on go 1.8+ anymore, as the go standard library now provides this functionality. Additionally, tests have started to fail due to race conditions since go 1.8 (?) anyway.

This means that this package is officially deprecated (and possibly even dysfunctional) on all currently supported fedora releases (since f26+ has go 1.8+).

It looks like this package should be retired, and remaining uses ported to use the functionality that now lives in the standard library's [os] package.

(I've already filed an issue with syncthing, which is one of the library's users.)

[here]: https://github.com/kardianos/osext/issues/21
[os]: https://golang.org/pkg/os/#Executable

Comment 1 Fabio Valentini 2018-04-22 18:25:37 UTC
After doing a quick repoquery, it looks like syncthing is the last package to use this library anyway.

Comment 2 Jan Kurik 2018-08-14 10:05:43 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle.
Changing version to '29'.

Comment 3 Elliott Sales de Andrade 2019-07-12 08:18:55 UTC
This is retired in Rawhide, but note that it was replaced by github.com/kardianos/osext, which is still used by a few packages:

$ rg kardianos/osext
golang-github-bugsnag-panicwrap.spec
43:BuildRequires:  golang(github.com/kardianos/osext)

golang-github-coreos-log.spec
36:BuildRequires:  golang(github.com/kardianos/osext)
131:- Requires kardianos/osext and coreos/go-systemd

golang-github-bugsnag.spec
42:BuildRequires:  golang(github.com/kardianos/osext)

golang-k8s-kubernetes.spec
206:BuildRequires:  golang(github.com/kardianos/osext)

Comment 4 Fabio Valentini 2019-07-12 08:23:59 UTC
I am aware.

Still, the upstream developer told me that this package is to be considered deprecated, and calls to the functions provided by this package should be replaced by the appropriate calls to the functions introduced in the standard library with go version 1.8.

Maybe we should add "Provides: deprecated()" to the new package?

Comment 5 Elliott Sales de Andrade 2019-07-13 19:52:14 UTC
I pushed patches for golang-github-bugsnag and golang-github-bugsnag-panicwrap, wrote one for golang-k8s-kubernetes, and golang-github-coreos-log seems to be unused and deprecated itself. Not sure if it was part of some unbundling effort.

Comment 6 Fabio Valentini 2019-07-13 21:44:29 UTC
Awesome :) Thanks for working on this

For syncthing, the patch to drop osext usage in favour of "os" from the standard go library was accepted upstream.
Maybe other projects might also be interested to know that they're depending on a deprecated and essentially unmaintained package ;)

Comment 7 Elliott Sales de Andrade 2019-07-14 02:32:26 UTC
They're aware.