Bug 1573542 - packaged version (0.7.0) too old for syncthing 0.14.47
Summary: packaged version (0.7.0) too old for syncthing 0.14.47
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: golang-github-prometheus-client_golang
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Fridolín Pokorný
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1565870
TreeView+ depends on / blocked
 
Reported: 2018-05-01 16:06 UTC by Fabio Valentini
Modified: 2018-06-14 19:13 UTC (History)
3 users (show)

Fixed In Version: golang-github-prometheus-client_golang-0.9.0-0.1.20180526git180b8fd.fc27 golang-github-prometheus-client_golang-0.9.0-0.1.20180526git180b8fd.fc28
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-06-14 18:16:21 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Fabio Valentini 2018-05-01 16:06:32 UTC
Description of problem:

# github.com/syncthing/syncthing/cmd/strelaypoolsrv
_build/src/github.com/syncthing/syncthing/cmd/strelaypoolsrv/main.go:86:14: undefined: prometheus.Timer


Version-Release number of selected component (if applicable):
0.7.0-10.fc28



Looking at

  https://github.com/prometheus/client_golang/blame/master/prometheus/timer.go

I need a commit newer than

  https://github.com/prometheus/client_golang/commit/89ca0458cb153e446fc9021b3a3fe14f654ba3e7

(from Nov 16, 2016) for syncthing to compile successfully (which is newer than the last "stable" 0.8.0 tag from 17 Aug 2016, unfortunately).

Comment 1 Fabio Valentini 2018-05-01 16:07:46 UTC
If it is possible, it would be nice to have this updated package on fedora 27+ so I can update syncthing there, too.

Comment 2 Jan Chaloupka 2018-05-02 11:18:25 UTC
We do not have any regression tests so it's hard to say if the update is backward compatibility violator. I can only assume 89ca0458cb153e446fc9021b3a3fe14f654ba3e7 is at least tested in some scenarios by the github.com/syncthing/syncthing.

So would it be enough to update to https://github.com/prometheus/client_golang/commit/89ca0458cb153e446fc9021b3a3fe14f654ba3e7 ? Assuming `newer than` means also `newer or equal than`. Or do you need newer commit? If so, can you point me to one that is appropriate for you?

Comment 3 Fabio Valentini 2018-05-02 12:00:43 UTC
Commit 89ca0458cb153e446fc9021b3a3fe14f654ba3e7 (from Nov 16, 2016) was the last commit that changed the structs and functions in timer.go that are needed to update syncthing (so "newer or equal to" is AFAICT correct).

However, commit 180b8fdc22b4ea7750bcb43c925277654a1ea2f3 (from Dec 24 2017) is what syncthing vendors, which is about a year newer, so I'm not sure what is required.


I know that go packaging is a mess when it comes to API stability and so on ... According to a quick repo query, there are only 4 dependent packages, including syncthing:

etcd-0:3.2.16-2.fc29.src
golang-github-skynetservices-skydns-0:2.5.3-0.1.a.git8688008.fc24.src
golang-opencensus-0:0.8.0-2.fc29.src
syncthing-0:0.14.46-1.fc29.src

I could try to rebuild those packages against the newer (vendored) commit in a COPR repository to check for issues, if you want.

Comment 4 Fabio Valentini 2018-05-08 13:54:45 UTC
I've built all dependent packages in a COPR repository [0] against commit 180b8fdc22b4ea7750bcb43c925277654a1ea2f3 of "github.com/prometheus/client_golang". Those are the results:

etcd:
Rebuilt successfully, all tests passing.

golang-github-skynetservices-skydns:
Looks abandoned and has not been successfully built since f24 anyway, so I'm ignoring that package.

golang-opencensus:
Rebuilt successfully.

syncthing:
Built successfully, all tests passing.


So it looks like this commit is a safe target to update the package to.


[0]: https://copr.fedorainfracloud.org/coprs/decathorpe/golang-staging/monitor/

Comment 5 Fabio Valentini 2018-05-26 09:40:23 UTC
I've now submitted a pull request which updates the package to the desired commit and updates the spec to use the new macros:

https://src.fedoraproject.org/rpms/golang-github-prometheus-client_golang/pull-request/1

Comment 6 Fedora Update System 2018-06-05 15:03:30 UTC
golang-github-prometheus-client_golang-0.9.0-0.1.20180526git180b8fd.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-b5379f2710

Comment 7 Fedora Update System 2018-06-05 15:03:38 UTC
golang-github-prometheus-client_golang-0.9.0-0.1.20180526git180b8fd.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-4bb8d351a7

Comment 8 Fabio Valentini 2018-06-05 16:17:50 UTC
That was fast, thanks a lot for merging my pull request, and for already having done the updates and buildroot overrides!

syncthing is on its way to be an up-to-date package in fedora again :)

Comment 9 Fedora Update System 2018-06-06 13:45:14 UTC
golang-github-prometheus-client_golang-0.9.0-0.1.20180526git180b8fd.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-b5379f2710

Comment 10 Fedora Update System 2018-06-06 15:01:53 UTC
golang-github-prometheus-client_golang-0.9.0-0.1.20180526git180b8fd.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-4bb8d351a7

Comment 11 Fedora Update System 2018-06-14 18:16:21 UTC
golang-github-prometheus-client_golang-0.9.0-0.1.20180526git180b8fd.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2018-06-14 19:13:52 UTC
golang-github-prometheus-client_golang-0.9.0-0.1.20180526git180b8fd.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.