On Wed, Mar 30, 2016 at 04:41:12AM -0000, Ryan Harper wrote:
> As far as I can see, the entire versioned code block here is wrong, and
> > you should *only* be restarting squid.
> The block (without my addition) is from debian itself.
Yes, and I believe it's wrong there also (unless their previous squid3
package, unlike ours, didn't stop itself in the prerm?)
> update-rc.d squid defaults 30 >/dev/null
OK, someone's living in 2005... The '30' sequence number is obsolete, and
also why is this not being driven by debhelper?
> However, this failed in our dist-upgrade from trusty scenario as the squid3
> service file no longer
> exists. Reading your analysis; it seems that /etc/init.d/squid3 should
> still be on disk;
> but it was not.
No. I said that in an upgrade from trusty, there *was no*
/etc/init.d/squid3 init script, only an /etc/init/squid3.conf upstart job.
And your maintainer script is removing /etc/init/squid3.conf on upgrade;
which is why the Debian logic fails.
> In the dist-upgrade from trusty case; I believe we can just use the squid
> restart.
Yes.
> In the upgrade from wily case, it's not clear to me why the
> /etc/init.d/squid3 service
> file would still be on disk when it wasn't when upgrading from trusty?
Because the wily version of the package *has* an /etc/init.d/squid3 file,
whereas the trusty package does not. And nothing in the xenial package is
handling the removal of this stale conffile.
So:
- fix the maintainer script to remove /etc/init.d/squid3 on upgrade
- drop all the versioned upgrade logic and just call invoke-rc.d squid
restart.
BTW, note that dpkg-maintscript-helper has to be called from several
different maintainer scripts with the same arguments, not just from the
preinst - the squid package already has several bugs because it's not doing
this correctly. This is a royal pain to get right by hand, and all
right-thinking maintainers would use debian/squid.maintscript as documented
in dh_installdeb, instead of hand-editing maintainer scripts and trying to
keep them all in sync. This *probably* will DTRT in the package, despite
the fact that squid3 is using the one-step-removed-from-obsolete debhelper
compat level 5.
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
<email address hidden> <email address hidden>
On Wed, Mar 30, 2016 at 04:41:12AM -0000, Ryan Harper wrote:
> As far as I can see, the entire versioned code block here is wrong, and
> > you should *only* be restarting squid.
> The block (without my addition) is from debian itself.
Yes, and I believe it's wrong there also (unless their previous squid3
package, unlike ours, didn't stop itself in the prerm?)
> update-rc.d squid defaults 30 >/dev/null
OK, someone's living in 2005... The '30' sequence number is obsolete, and
also why is this not being driven by debhelper?
> However, this failed in our dist-upgrade from trusty scenario as the squid3
> service file no longer
> exists. Reading your analysis; it seems that /etc/init.d/squid3 should
> still be on disk;
> but it was not.
No. I said that in an upgrade from trusty, there *was no* squid3. conf upstart job. squid3. conf on upgrade;
/etc/init.d/squid3 init script, only an /etc/init/
And your maintainer script is removing /etc/init/
which is why the Debian logic fails.
> In the dist-upgrade from trusty case; I believe we can just use the squid
> restart.
Yes.
> In the upgrade from wily case, it's not clear to me why the
> /etc/init.d/squid3 service
> file would still be on disk when it wasn't when upgrading from trusty?
Because the wily version of the package *has* an /etc/init.d/squid3 file,
whereas the trusty package does not. And nothing in the xenial package is
handling the removal of this stale conffile.
So:
- fix the maintainer script to remove /etc/init.d/squid3 on upgrade
- drop all the versioned upgrade logic and just call invoke-rc.d squid
restart.
BTW, note that dpkg-maintscrip t-helper has to be called from several squid.maintscri pt as documented removed- from-obsolete debhelper
different maintainer scripts with the same arguments, not just from the
preinst - the squid package already has several bugs because it's not doing
this correctly. This is a royal pain to get right by hand, and all
right-thinking maintainers would use debian/
in dh_installdeb, instead of hand-editing maintainer scripts and trying to
keep them all in sync. This *probably* will DTRT in the package, despite
the fact that squid3 is using the one-step-
compat level 5.
-- www.debian. org/
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://
<email address hidden> <email address hidden>