[arch-dev-public] Split openssl package
Hi all, there is a new set of openssl packages in testing that are split into openssl, openssl-doc and openssl-perl. See https://bugs.archlinux.org/task/54887 As most users just need the library the perl dependency can be dropped. Summing up: Before: openssl: depends on Perl; size: 3.6 MiB (7.31 MiB) After: openssl: depends just on glibc; size: 1.78 MiB (5.49 MiB) openssl-perl: depends on Perl openssl-doc: size: 1.82 MiB We actually talked about this at ArchConf last year. Splitting the package was the easy part, but dropping the Perl dependency means that any package up the tree that depends on openssl needs to be checked if it actually needs Perl itself. Thanks to everybody who did the hard work here! PS: Do you think we should post a news item about this change? Most people won't need to worry about this, but those few who need the perl scripts need to install the separate package. Greetings, Pierre
On 11/21/20 4:52 AM, Pierre Schmitz wrote:
Hi all,
there is a new set of openssl packages in testing that are split into openssl, openssl-doc and openssl-perl. See https://bugs.archlinux.org/task/54887
As I mentioned there, I don't really see the need to make a split package just for 25kb of optional scripts that can just use optdepends. "I tendo o lean towards a separate package instead of using optdepends as it is more explicit and you do not end up with partly invalid package." Do you then propose Arch should switch policies and start using split packages everywhere instead of our usual optdepends? Not sure what to think here. This feels inconsistent.
As most users just need the library the perl dependency can be dropped. Summing up:
Before: openssl: depends on Perl; size: 3.6 MiB (7.31 MiB)
After: openssl: depends just on glibc; size: 1.78 MiB (5.49 MiB) openssl-perl: depends on Perl openssl-doc: size: 1.82 MiB
We actually talked about this at ArchConf last year. Splitting the package was the easy part, but dropping the Perl dependency means that any package up the tree that depends on openssl needs to be checked if it actually needs Perl itself. Thanks to everybody who did the hard work here!
PS: Do you think we should post a news item about this change? Most people won't need to worry about this, but those few who need the perl scripts need to install the separate package.
I don't see any need for a news post to tell people that a script no one uses comes in a different package. If you did want to message this to people, it doesn't require manual intervention so a post_upgrade message is perfectly suitable. -- Eli Schwartz Bug Wrangler and Trusted User
On Sun, Nov 22, 2020 at 2:57 AM Eli Schwartz via arch-dev-public <arch-dev-public@archlinux.org> wrote:
As I mentioned there, I don't really see the need to make a split package just for 25kb of optional scripts that can just use optdepends.
"I tendo o lean towards a separate package instead of using optdepends as it is more explicit and you do not end up with partly invalid package."
Do you then propose Arch should switch policies and start using split packages everywhere instead of our usual optdepends? Not sure what to think here. This feels inconsistent.
First of all, I think using split packages and optdependes are both reasonable solutions. Splitting a package can be used to either reduce sizes of individual packages or to reduce dependencies. The latter can be achieved by optdependes as well. My personal rule of thumb here would be: If a program cannot work without a given dependent it should not be optional. In contrast if you have software that e.g. is able to use several databases for storage but falls back to sqlite one could declare mysql, postgres etc. as optional as long as the program is usable without them. Either way, I would call both solutions to be correct. Greetings, Pierre
On 11/21/20 4:52 AM, Pierre Schmitz wrote:
Hi all,
there is a new set of openssl packages in testing that are split into openssl, openssl-doc and openssl-perl. See https://bugs.archlinux.org/task/54887
As most users just need the library the perl dependency can be dropped. Summing up:
Before: openssl: depends on Perl; size: 3.6 MiB (7.31 MiB)
After: openssl: depends just on glibc; size: 1.78 MiB (5.49 MiB) openssl-perl: depends on Perl openssl-doc: size: 1.82 MiB
I wasn't going to mention this, originally, because even though I don't *like* splitting openssl into openssl-doc to remove 1/4 of a 7mb package (we don't generally split out -doc packages unless the size is noticeable enough to actually impact users, which this isn't IMHO, and man 5 pacman.conf contains "NoExtract" for a reason), this is ultimately a maintainer judgment call. This was before I realized, in addition to moving a bunch of section 3 developer-oriented manpages, you also moved the section 1 manpages documenting the end-user command-line tool /usr/bin/openssl and the section 5 manpages documenting the end-user configuration file format. This is entirely wrong, and if you are going to split out the API docs in usr/share/man/man3 it MUST be *only* the API docs in the man3/ directory, not the entire set of manual pages.
We actually talked about this at ArchConf last year. Splitting the package was the easy part, but dropping the Perl dependency means that any package up the tree that depends on openssl needs to be checked if it actually needs Perl itself. Thanks to everybody who did the hard work here!
PS: Do you think we should post a news item about this change? Most people won't need to worry about this, but those few who need the perl scripts need to install the separate package.
Greetings,
Pierre
-- Eli Schwartz Bug Wrangler and Trusted User
participants (2)
-
Eli Schwartz
-
Pierre Schmitz