Bug 20836 - debian/control.in cleanup
Summary: debian/control.in cleanup
Status: NEW
Alias: None
Product: Koha
Classification: Unclassified
Component: Packaging (show other bugs)
Version: Main
Hardware: All All
: P5 - low enhancement (vote)
Assignee: Mirko Tietgen
QA Contact: Testopia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-30 14:54 UTC by Tomás Cohen Arazi
Modified: 2023-09-16 13:47 UTC (History)
2 users (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomás Cohen Arazi 2018-05-30 14:54:11 UTC
There seems to be some cleanup needed on the control.in file (at least for master).

I would expect koha-common to depend on koha-perldeps and koha-deps, but instead koha-common doesn't depend on it, and they diverted in the list of things Koha requires (memcached is added to koha-common but not koha-deps).

Maybe we just need to get rid of koha-deps altogether, just my two cents.

libwww-youtube-download-perl needs to be removed from suggests too, as it is present in the generated koha-perldeps.
Comment 1 Mirko Tietgen 2018-05-31 06:55:09 UTC
These packages are not supposed to be installed together with koha-common. On the contrary they are supposed to be installed if you do not want to install koha-common, but the dependencies. I think the use case were git installations, but since koha-gitify and kohadevbox are around I doubt they are used for that a lot.
(does kohadevbox use them?)
Comment 2 Tomás Cohen Arazi 2018-05-31 14:17:09 UTC
(In reply to Mirko Tietgen from comment #1)
> These packages are not supposed to be installed together with koha-common.
> On the contrary they are supposed to be installed if you do not want to
> install koha-common, but the dependencies. I think the use case were git
> installations, but since koha-gitify and kohadevbox are around I doubt they
> are used for that a lot.
> (does kohadevbox use them?)

I clearly don't understand this line in the koha-common section of debian/control:

Depends: ${misc:Depends}, ${koha:Depends},

as I don't understand how koha-common pulls all its deps, which are not in master's debian/control. That said, I think we should add libwww-youtube-download-perl to the dependencies (why is it a dependency for koha-perldeps and not for koha-common?) I can file a bug for that.
Comment 3 Mirko Tietgen 2018-05-31 23:26:14 UTC
(In reply to Tomás Cohen Arazi from comment #2)
> I clearly don't understand this line in the koha-common section of
> debian/control:
> 
> Depends: ${misc:Depends}, ${koha:Depends},

${misc:Depends} is used by debhelper, see below for ${koha:Depends}.


> as I don't understand how koha-common pulls all its deps, which are not in
> master's debian/control. 

koha-perldeps is the same as the perl part of build-depends. It is generated by debian/update-control. It includes all perl modules that are required, and the non-required ones that are available in the system you run the script. So libwww-youtube-download-perl appears or not, depending on the distribution you build in. A build in Jessie or Stretch has it, but a build in Wheezy doesn't.

${koha:Depends} is replaced by what debian/bd-to-depends generates. Which is everything from build-depends minus exceptions. The reason to do this is to have a shorter file. Which means libwww-youtube-download-perl is in there too, ever since the official packages were no longer built in Wheezy and nobody ever complained.

First I thought the Suggests section would magically override it, but it doesn't. Extracting the deb of koha-common 18.05.00-2 there is
Suggests: mysql-server | virtual-mysql-server, letsencrypt

That was a fun ride with a nice twist. :D


> That said, I think we should add
> libwww-youtube-download-perl to the dependencies (why is it a dependency for
> koha-perldeps and not for koha-common?) I can file a bug for that.

We made libwww-youtube-download-perl optional because it was not available for Wheezy, which we don't support anymore. It should be mandatory now.
We should remove the useless control.in entry in "Suggests" and set it to required in PerlDependencies.pm (does not make a difference for the packages though).
Comment 4 Mirko Tietgen 2018-05-31 23:35:31 UTC
Oh, and I think the right way to have 'Suggests' for Perl modules would be to put them in debian/list-deps %ignore and debian/control.in