Comment 4 for bug 276945

Revision history for this message
James Westby (james-w) wrote : Re: [Bug 276945] Re: [intrepid] menu buttons don't work on main page

On Sat, 2008-10-04 at 03:16 +0000, Charlie_Smotherman (porthose) wrote:
> On Fri, 2008-10-03 at 17:41 +0000, James Westby wrote:
> > Hi Charlie,
> >
> > Thanks for working on this. I have a few questions about your patch.
> >
> > - #Stop and purge debconf.
> > - db_stop || true
> > - db_purge || true
> > -
> >
> > why don't we want to do that any more?
> For reasons that elude me (need to do further research as to why), this
> bit of code causes ampache.postrm to hang and not complete when it is
> present. When removed ampache.postrm completes and purges ampache
> properly.

I'm just guessing, but perhaps the purge should be before the stop?

> >
> > + if [ -d /usr/share/ampache ]; then
> > + rm -rf /usr/share/ampache
> > + rm -f /etc/apache2/conf.d/ampache
> > + fi
> >
> > is /etc/apache2/conf.d/ampache a conffile?
> Yes it is the conf file to create a apache2 alias, it is not ampache's
> main configuration file. However there is symlink
> from /etc/ampache/ampache.conf to /etc/apache2/conf.d/ampache. When
> testing the package I noticed that after
> purging, /etc/apache2/conf.d/ampache remained, which I believe is a
> violation of debian policy, so I added the code to remove it.

By "conffile" I meant "conffile" in the Debian policy sense, not
as in "configuration file". A conffile is a file in which user's
modifications are supposed to be preserved. However, I now understand
that this is during purge, so the distinction is not important.

> >
> > + mkdir /usr/share/ampache/www/modules/prototype
> > + if [ ! -h /usr/share/ampache/www/modules/prototype ]; then
> > + ln -s /usr/share/javascript/prototype/prototype.js /usr/share/ampache/www/modules/prototype/
> > + fi
> >
> > why doesn't this work if the link is in the package? I think you tried to explain
> > this along with the patch, but I didn't get it I'm afraid.
> >
> Ok let's see if I can explain this a little better. Originally
> prototyp.js was actually part of the .orig.tar.gz, but with the new
> version of lintian it complained of prototype.js being part of
> the .orig.tar.gz as being a "Convenience copy of code" which is a
> violation of section 4.13 of the debian policy. So to correct this I
> added -Xprototype.js to dh_install to remove prototype.js from the .deb.
> I then made the package depend on libjs-prototype.js and used
> debian/links to create the symlink. Prototype.js resides
> in /usr/share/ampache/www/modules/prototype/prototype.js, the problem is
> that dh_install -Xprototype.js would remove the prototype *directory*
> along with the file prototype.js thus the symlink being created
> improperly, thus not allowing the package to perform correctly. With
> Intrepid release rapidly approaching I decided it was easier, and
> quicker to move all this to ampache.postinst.

Thanks for the clarification. Does adding
/usr/share/ampache/www/modules/prototype/ to debian/dirs help in
having the directory in the deb at all?

Adding a couple of commands to debian/rules to get the .deb to contain
the correct link would be preferable to using postinst if you can't get
dh_* to do what you want.

Thanks,

James