Bug 1303543 - varnish-agent needs update after varnish-4.1.1 was pushed to rawhide
Summary: varnish-agent needs update after varnish-4.1.1 was pushed to rawhide
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: varnish-agent
Version: 24
Hardware: All
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Dridi Boukelmoune
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-02-01 09:20 UTC by Ingvar Hagelund
Modified: 2016-12-05 22:28 UTC (History)
2 users (show)

Fixed In Version: varnish-agent-4.1.1-1.fc25 varnish-agent-4.1.1-1.fc24
Clone Of:
Environment:
Last Closed: 2016-09-05 17:51:42 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ingvar Hagelund 2016-02-01 09:20:48 UTC
Description of problem:
varnish-agent needs update after varnish-4.1.1 was pushed to rawhide

Version-Release number of selected component (if applicable):
4.0.0

How reproducible:


Steps to Reproduce:
1. Iinstall varnish-4.1.1-libs-devel with deps from rawhide
2. Rebuild varnish-agent-4.0.0-0.4.RC2.fc22.src.rpm

Actual results:
Build fails as varnish-agent-4.0.0 is not compatible with varnish-4.1.1

Expected results:
Working build of varnish-agent

Additional info:
Update to git commit c07aae6630d85887333349d3a5cdb414aac376e5. I got Kristian to fix a build error on fedora, so it runs the whole test suite.

Working .src.rpm here: https://ingvar.fedorapeople.org/varnish/varnish-agent-4.1.0-0.1.20160201gitc07aae6.fc22.src.rpm

Comment 1 Ingvar Hagelund 2016-02-01 15:34:40 UTC
Got Kristian to add a couple of more fixes, please check out upstream git commit 28eacbb0ef5df7ea274bccbaca5a4a6ce5eda916

Working .src.rpm here: https://ingvar.fedorapeople.org/varnish/varnish-agent-4.1.0-0.4.20160201git28eacbb.fc22.src.rpm

Specfile: https://ingvar.fedorapeople.org/varnish/varnish-agent.spec

It includes som fixes that makes it compile on epel5,6,7.

To build on epel5, autogen.sh needs to be ran before creating the dist tarball, as el5's autoconf is too old for this project, see the comments in the specfile.

copr builds: https://copr.fedorainfracloud.org/coprs/ingvar/varnish41/

Ingvar

Comment 2 Dridi Boukelmoune 2016-02-04 16:49:14 UTC
Hi Ingvar,

Thank you for the update, I will merge the spec you derived from upstream's with our current spec (to remove things like buildrequires: gcc) and keep you updated.

I'm glad to learn that we have 4.1 in rawhide!

Dridi

Comment 3 Dridi Boukelmoune 2016-02-05 10:12:43 UTC
I have a spec ready for testing but for some reason I still see Varnish 4.1.0 in rawhide:

$ mock -r fedora-rawhide-x86_64 --dnf-cmd info varnish
[...]
Last metadata expiration check performed 0:00:18 ago on Fri Feb  5 11:00:52 2016.
Installed Packages
Name        : varnish
Arch        : x86_64
Epoch       : 0
Version     : 4.1.0
Release     : 1.fc24
[...]

$ mock -r fedora-rawhide-x86_64 --chroot 'rpm -q --provides varnish'
[...]
config(varnish) = 4.1.0-1.fc24
varnish = 4.1.0-1.fc24
varnish(x86-64) = 4.1.0-1.fc24
varnishabi-3.0
varnishabi-strict-3041728
Finish: chroot ['rpm -q --provides varnish']
Finish: run

Also I found a couple mistakes in your spec, like for instance in %preun:

%systemd_preun varnish.service

I suspect you/upstream meant to stop the agent instead.

I'll try again later.

Dridi

Comment 4 Ingvar Hagelund 2016-02-05 13:11:26 UTC
(In reply to Dridi Boukelmoune from comment #3)
> I have a spec ready for testing but for some reason I still see Varnish
> 4.1.0 in rawhide: (...)

It probably hasn't reached the mirrors yet. Use git.

$ mkdir /var/tmp/varnish-rawhide; cd /var/tmp/varnish-rawhide
$ fedpkg clone varnish

$ egrep '^Version|^Release' varnish/varnish.spec
Version: 4.1.1
Release: 3%{?v_rc}%{?dist}

$ grep -A4 '%changelog' varnish/varnish.spec
%changelog
* Thu Feb 04 2016 Ingvar Hagelund <ingvar> 4.1.1-3
- Added "-ffloat-store -fexcess-precision=standard" to CFLAGS on i386
  to work around a bug in gcc6, see
  https://github.com/dhobsd/Varnish-Cache/commit/9f1035d 

> Also I found a couple mistakes in your spec, like for instance in %preun:
> 
> %systemd_preun varnish.service
> 
> I suspect you/upstream meant to stop the agent instead.

Yes, that is a typo, thanks, I'll update the copr build.

What was the other mistake?

Ingvar

Comment 5 Dridi Boukelmoune 2016-02-05 14:03:09 UTC
> What was the other mistake?

I'm not sure it's a problem but systemd handling in general. I haven't looked into this for quite a while but those look odd to me:

> /bin/systemctl daemon-reload >/dev/null 2>&1 || :

I believe we should be using this instead:

> %systemd_post %{name}.service

In %preun the %systemd_preun is used inside the surrounding "shell if", but I think it should look more like this:

> %preun
> %if 0%{?fedora} || 0%{?rhel} >= 7
> %systemd_preun %{name}.service
> %else
> if [ $1 -lt 1 ]
> then
>     /sbin/service %{name} stop >/dev/null
>     /sbin/chkconfig --del %{name}
> fi
> %endif

Essentially because of the first issue I reported to you, you may notice I now use %{name} everywhere to avoid making typos myself.

I think we can also reliably BuildRequires: curl-devel, since post-el5 environments seem to provide it as well despite a different package name. That needs testing I haven't done yet because I want to update rawhide first.

Dridi

Comment 6 Dridi Boukelmoune 2016-02-09 13:55:43 UTC
Hi Ingvar,

I have updated the agent to 4.1.0 on rawhide, so please test it on rawhide and el. If it goes well I will request el branches for this package too.

Please have a look at the spec [1] file, I think it's a bit less complicated than upstream's and in any case a lot more compliant with Fedora's guidelines. If it looks good to you I will submit it upstream. But I think something's missing in %postun for non-systemd platforms...

On the varnish package there's one thing that bothers me with the new provides:

Requires:       varnish = %varnishver
Requires:       varnishabi-%vabi
Requires:       varnishabi-strict-%vabistrict

Wouldn't it be cleaner to do this instead for f24?

Requires:       varnish = %varnishver
Requires:       varnish(abi) = %vabi
Requires:       varnish(abi-strict) = %vabistrict

(and of course keep the current provides, for instance until the next major varnish release)

Thanks,
Dridi

[1] http://pkgs.fedoraproject.org/cgit/rpms/varnish-agent.git/plain/varnish-agent.spec?id=ebf377f

Comment 7 Dridi Boukelmoune 2016-02-09 16:28:24 UTC
Ingvar,

Clarifying my previous remark on ABI, this would allow actual non-strict ABI to work if upstream documents its ABI requirements:

Requires:       varnish(abi) >= 3.1
Requires:       varnish(abi) <  4

This is essentially useful for varnish modules, not really for companions like the varnish-agent. Probably also the point of the loose ABI, you can keep the same vmod binary as long as Varnish doesn't break its promise of stability.

Cheers,
Dridi

Comment 8 Jan Kurik 2016-02-24 14:23:06 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase

Comment 9 Ingvar Hagelund 2016-06-20 08:52:29 UTC
(In reply to Dridi Boukelmoune from comment #6)
> I have updated the agent to 4.1.0 on rawhide, so please test it on rawhide
> and el. If it goes well I will request el branches for this package too.
> 
> Please have a look at the spec [1] file, I think it's a bit less complicated
> than upstream's and in any case a lot more compliant with Fedora's
> guidelines. If it looks good to you I will submit it upstream. But I think
> something's missing in %postun for non-systemd platforms...
> 
> On the varnish package there's one thing that bothers me with the new
> provides:
> 
> Requires:       varnish = %varnishver
> Requires:       varnishabi-%vabi
> Requires:       varnishabi-strict-%vabistrict
> 
> Wouldn't it be cleaner to do this instead for f24?
> 
> Requires:       varnish = %varnishver
> Requires:       varnish(abi) = %vabi
> Requires:       varnish(abi-strict) = %vabistrict

Sure, this would be better. It would need some changes in the script that generates these variables, though. At the moment, this is done by redhat/find-provides, provided upstream, so I'd have to patch that, and make upstream change it as well.

> (and of course keep the current provides, for instance until the next major
> varnish release)

Yes, that would be necessary.

> Clarifying my previous remark on ABI, this would allow actual non-strict ABI 
> to work if upstream documents its ABI requirements:
> 
> Requires:       varnish(abi) >= 3.1
> Requires:       varnish(abi) <  4

Yes, cleaner, though this would also work:

Requires: varnishabi >= 3.1
Requires: varnishabi < 4
 
> This is essentially useful for varnish modules, not really for companions 
> like the varnish-agent. Probably also the point of the loose ABI, you can 
> keep the same vmod binary as long as Varnish doesn't break its promise of 
> stability.

Yep. I would need to know for each vmod how close they are bound to the strict abi, and if they would work with just the (non-strict) abi version. Is it some standard for this?

Perhaps we should discuss this on one of the upstream lists.

Ingvar

Comment 10 Fedora Update System 2016-08-31 21:48:56 UTC
varnish-agent-4.1.1-1.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-c28ffe0655

Comment 11 Fedora Update System 2016-08-31 21:49:02 UTC
varnish-agent-4.1.1-1.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-86999dec28

Comment 12 Fedora Update System 2016-09-01 19:52:10 UTC
varnish-agent-4.1.1-1.fc24 has been pushed to the Fedora 24 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-2016-c28ffe0655

Comment 13 Fedora Update System 2016-09-01 20:23:41 UTC
varnish-agent-4.1.1-1.fc25 has been pushed to the Fedora 25 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-2016-86999dec28

Comment 14 Fedora Update System 2016-09-05 17:51:40 UTC
varnish-agent-4.1.1-1.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 15 Fedora Update System 2016-09-10 01:48:19 UTC
varnish-agent-4.1.1-1.fc24 has been pushed to the Fedora 24 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.