[opensuse-packaging] RFC: Cleanup of packages - checking doc files
I just filed feature #313152 - to have a smaller base system which is beneficial for appliances. Looking at a basic installation (default text server install), I noticed that we have in /usr/share/doc/packages besides the license (which we need to keep) also other files. An example is glib2, it installs to /usr/share/doc/packages/libglib-2_0-0: -rw-r--r-- 1 root root 1344 Aug 16 02:51 AUTHORS -rw-r--r-- 1 root root 1895792 Oct 14 15:51 ChangeLog -rw-r--r-- 1 root root 25292 Aug 16 02:51 COPYING -rw-r--r-- 1 root root 197710 Oct 14 15:30 NEWS -rw-r--r-- 1 root root 9906 Oct 14 15:51 README I suggest to move everything to the devel package (or a doc package if it exists). On IRC, Vincent and Sascha suggested to keep README, NEWS (and maybe AUTHORS) in the base package and move only ChangeLog to the devel package. Another idea was to compress these files. My personal opinion is that the vast majority of our users does not need any of these. Those developers that need it, will get it from the devel/doc packages. What do you think? Any other ideas on getting a smaller base system? Note: I don't want to make this a hard rule, more a recommendation. Andreas -- Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg) GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126 -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi, Am 19.01.2012 11:50, schrieb Andreas Jaeger:
I just filed feature #313152 - to have a smaller base system which is beneficial for appliances.
Looking at a basic installation (default text server install), I noticed that we have in /usr/share/doc/packages besides the license (which we need to keep) also other files.
An example is glib2, it installs to /usr/share/doc/packages/libglib-2_0-0:
-rw-r--r-- 1 root root 1344 Aug 16 02:51 AUTHORS -rw-r--r-- 1 root root 1895792 Oct 14 15:51 ChangeLog -rw-r--r-- 1 root root 25292 Aug 16 02:51 COPYING -rw-r--r-- 1 root root 197710 Oct 14 15:30 NEWS -rw-r--r-- 1 root root 9906 Oct 14 15:51 README
I suggest to move everything to the devel package (or a doc package if it exists).
On IRC, Vincent and Sascha suggested to keep README, NEWS (and maybe AUTHORS) in the base package and move only ChangeLog to the devel package. Another idea was to compress these files.
My personal opinion is that the vast majority of our users does not need any of these. Those developers that need it, will get it from the devel/doc packages.
What do you think? Any other ideas on getting a smaller base system?
Note: I don't want to make this a hard rule, more a recommendation.
About your proposal I'd think it makes sense to address packages which have a reasonable amount of docs in size. Means: make sure the maintainer knows there is a lot of docs and let him decide what to do about it. In general I basically agree with Vincent and Sascha that it makes sense to keep files which might be of interest for users (not developers). NEWS, AUTHORS and depending on the package README (if it doesn't contain what would be in INSTALL). So I personally think this needs to be addressed on a case by case base. What would be nice is a list of "offenders" sorted by some priority set by size and likeliness to be used on an appliance just to make sure to get the important ones fixed first. But another thing I was thinking about years ago (I guess I even filed it in bugzilla before I left SUSE but not sure right now): RPM knows --excludedocs. Was that considered to be added as an option to zypp. This sounds like a valid usecase for appliances if someone wants a system as small as possible but accept to lose man pages as well. Wolfgang -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 01/19/2012 12:07 PM, Wolfgang Rosenauer wrote:
But another thing I was thinking about years ago (I guess I even filed it in bugzilla before I left SUSE but not sure right now): RPM knows --excludedocs. Was that considered to be added as an option to zypp. This sounds like a valid usecase for appliances if someone wants a system as small as possible but accept to lose man pages as well.
It's there but maybe default option should be set to yes ## ## Options for package installation: excludedocs ## ## Don't install any files which are marked as documentation. ## ## Valid values: boolean ## Default value: no ## rpm.install.excludedocs = no Togan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Thu, 19 Jan 2012 11:50, Andreas Jaeger <aj@...> wrote:
I just filed feature #313152 - to have a smaller base system which is beneficial for appliances. <snip> I suggest to move everything to the devel package (or a doc package if it exists).
On IRC, Vincent and Sascha suggested to keep README, NEWS (and maybe AUTHORS) in the base package and move only ChangeLog to the devel package. Another idea was to compress these files.
+1 for compression if not move to *-devel, gzip + less is needed for base-system. Suggestion: compress above 4k file-size at least. All LICENCE could be compressed with no loss regarding legal. - Yamaban. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Thursday 19 January 2012, Yamaban wrote:
On Thu, 19 Jan 2012 11:50, Andreas Jaeger <aj@...> wrote:
I just filed feature #313152 - to have a smaller base system which is beneficial for appliances.
<snip>
I suggest to move everything to the devel package (or a doc package if it exists).
On IRC, Vincent and Sascha suggested to keep README, NEWS (and maybe AUTHORS) in the base package and move only ChangeLog to the devel package. Another idea was to compress these files.
+1 for compression if not move to *-devel, gzip + less is needed for base-system.
Suggestion: compress above 4k file-size at least. All LICENCE could be compressed with no loss regarding legal.
I really don't like that. 1. I like to grep -r /usr/share/doc/packages easily 2. There are no much LICENCE files >4k. You wouldn't safe any reasonable space. Coulnd't the user better do it with btrs per-directory-compression itself? cu, Rudi -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Thu, Jan 19, 2012 at 12:40 PM, Ruediger Meier <sweet_f_a@gmx.de> wrote:
Suggestion: compress above 4k file-size at least. All LICENCE could be compressed with no loss regarding legal.
I really don't like that. 1. I like to grep -r /usr/share/doc/packages easily 2. There are no much LICENCE files >4k. You wouldn't safe any reasonable space.
zgrep -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Thursday 19 January 2012, Claudio Freire wrote:
On Thu, Jan 19, 2012 at 12:40 PM, Ruediger Meier <sweet_f_a@gmx.de> wrote:
Suggestion: compress above 4k file-size at least. All LICENCE could be compressed with no loss regarding legal.
I really don't like that. 1. I like to grep -r /usr/share/doc/packages easily 2. There are no much LICENCE files >4k. You wouldn't safe any reasonable space.
zgrep
I mean grepping _easily_. When using xyzgrep you need to have more knowledge about what kind of files you want to grep that. That's even more bad if the user expects all these files uncompressed since decades. All this to safe maybe 50M on a large 12G Installation? $ find /usr/share/doc/packages/ -type f -a -iname "change*" | xargs du -s -B1 |sumit.sh 68792832 $ rpm -qa --qf="%{SIZE}\n" |sumit.sh 12544513401 cu, Rudi -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Thu, Jan 19, 2012 at 2:30 PM, Ruediger Meier <sweet_f_a@gmx.de> wrote:
I mean grepping _easily_. When using xyzgrep you need to have more knowledge about what kind of files you want to grep that. That's even more bad if the user expects all these files uncompressed since decades.
Nope. zgrep detects ungzipped files and greps as usual. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Thursday, January 19, 2012 11:30:37 AM Ruediger Meier wrote:
All this to safe maybe 50M on a large 12G Installation?
It is about shrinking base system, not a normal installation. -- Regards, Rajko -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Thu, Jan 19, 2012 at 11:50 AM, Andreas Jaeger <aj@suse.com> wrote:
I just filed feature #313152 - to have a smaller base system which is beneficial for appliances.
Looking at a basic installation (default text server install), I noticed that we have in /usr/share/doc/packages besides the license (which we need to keep) also other files.
An example is glib2, it installs to /usr/share/doc/packages/libglib-2_0-0:
-rw-r--r-- 1 root root 1344 Aug 16 02:51 AUTHORS -rw-r--r-- 1 root root 1895792 Oct 14 15:51 ChangeLog -rw-r--r-- 1 root root 25292 Aug 16 02:51 COPYING -rw-r--r-- 1 root root 197710 Oct 14 15:30 NEWS -rw-r--r-- 1 root root 9906 Oct 14 15:51 README
I suggest to move everything to the devel package (or a doc package if it exists).
On IRC, Vincent and Sascha suggested to keep README, NEWS (and maybe AUTHORS) in the base package and move only ChangeLog to the devel package. Another idea was to compress these files.
My personal opinion is that the vast majority of our users does not need any of these. Those developers that need it, will get it from the devel/doc packages.
What do you think? Any other ideas on getting a smaller base system?
Note: I don't want to make this a hard rule, more a recommendation.
Andreas
What about increasing the badness of the "package-with-huge-docs" rpmlint warning in order to make the build fail if this isn't done. It can be overridden with an rpmlintrc file if absolutely necessary. It might be worth doing the same with "devel-file-in-non-devel-package", since headers can also eat a fair amount of space. -Todd -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
* Andreas Jaeger (aj@suse.com) [20120119 11:51]:
My personal opinion is that the vast majority of our users does not need any of these. Those developers that need it, will get it from the devel/doc packages.
At least for coreutils this isn't true as NEWS contains the concise list of changes in the release which are used (in shorted form) for coreutils.changes. Philipp -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Thu, 19 Jan 2012, Andreas Jaeger wrote:
I just filed feature #313152 - to have a smaller base system which is beneficial for appliances.
Looking at a basic installation (default text server install), I noticed that we have in /usr/share/doc/packages besides the license (which we need to keep) also other files.
An example is glib2, it installs to /usr/share/doc/packages/libglib-2_0-0:
-rw-r--r-- 1 root root 1344 Aug 16 02:51 AUTHORS -rw-r--r-- 1 root root 1895792 Oct 14 15:51 ChangeLog -rw-r--r-- 1 root root 25292 Aug 16 02:51 COPYING -rw-r--r-- 1 root root 197710 Oct 14 15:30 NEWS -rw-r--r-- 1 root root 9906 Oct 14 15:51 README
I suggest to move everything to the devel package (or a doc package if it exists).
On IRC, Vincent and Sascha suggested to keep README, NEWS (and maybe AUTHORS) in the base package and move only ChangeLog to the devel package. Another idea was to compress these files.
My personal opinion is that the vast majority of our users does not need any of these. Those developers that need it, will get it from the devel/doc packages.
What do you think? Any other ideas on getting a smaller base system?
Don't install anything besides COPYING in a non-doc package. Richard. -- Richard Guenther <rguenther@suse.de> SUSE / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer
On 19/01/12 07:50, Andreas Jaeger wrote:
What do you think? Any other ideas on getting a smaller base system?
- Change the default compression algorithm of man pages to XZ/LZMA -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi, On Thu, 19 Jan 2012, Cristian Rodríguez wrote:
On 19/01/12 07:50, Andreas Jaeger wrote:
What do you think? Any other ideas on getting a smaller base system?
- Change the default compression algorithm of man pages to XZ/LZMA
A system with man pages installed is no base system. Ciao, Michael.
On Thursday 19 January 2012, Cristian Rodríguez wrote:
On 19/01/12 07:50, Andreas Jaeger wrote:
What do you think? Any other ideas on getting a smaller base system?
- Change the default compression algorithm of man pages to XZ/LZMA
In practice this safes (almost) nothing, even tested: $ rpm -qa |wc -l 2218 $ find /usr/share/man/ -type f |wc -l 12110 $ du -s /tmp/man_gz/ 65831 /tmp/man_gz/ $ du -s /tmp/man_xz/ 63890 /tmp/man_xz/ cu, Rudi -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Thursday 19 January 2012, Philipp Thomas wrote:
* Ruediger Meier (sweet_f_a@gmx.de) [20120119 16:03]:
In practice this safes (almost) nothing, even tested:
Using which options for xz?
-6, but doesn't really matter for such small files. Most of them consume the same space even uncompressed. cu, Rudi -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Thursday 19 January 2012, Andreas Jaeger wrote:
On IRC, Vincent and Sascha suggested to keep README, NEWS (and maybe AUTHORS) in the base package and move only ChangeLog to the devel package. Another idea was to compress these files.
My personal opinion is that the vast majority of our users does not need any of these. Those developers that need it, will get it from the devel/doc packages.
But on a usual system it's not even worth to safe a few _MEGA_bytes. Should we also drop support for rpm -q --changelog ... to safe ~1M on joe public's system with 1T HD?
What do you think? Any other ideas on getting a smaller base system?
Isn't rpm --excludepath doing the right thing optionally to be used to get a small base systems?
Note: I don't want to make this a hard rule, more a recommendation.
I don't think these standard files above are the worst space consumers in /usr/share/doc/packages. I guess you could safe more space by cleaning up some of the big boys manually first. For example here is a lot trash to drop /usr/share/doc/packages/zsh/ cu, Rudi -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 01/19/2012 05:48 PM, Ruediger Meier wrote:
On Thursday 19 January 2012, Andreas Jaeger wrote:
On IRC, Vincent and Sascha suggested to keep README, NEWS (and maybe AUTHORS) in the base package and move only ChangeLog to the devel package. Another idea was to compress these files.
My personal opinion is that the vast majority of our users does not need any of these. Those developers that need it, will get it from the devel/doc packages.
But on a usual system it's not even worth to safe a few _MEGA_bytes. Should we also drop support for rpm -q --changelog ... to safe ~1M on joe public's system with 1T HD?
What do you think? Any other ideas on getting a smaller base system?
Isn't rpm --excludepath doing the right thing optionally to be used to get a small base systems?
Note: I don't want to make this a hard rule, more a recommendation.
I don't think these standard files above are the worst space consumers in /usr/share/doc/packages. I guess you could safe more space by cleaning up some of the big boys manually first.
For example here is a lot trash to drop /usr/share/doc/packages/zsh/
zsh is not part of the base system I tested. But for the files of zsh, there's really a lot that can be put elsewhere - they're part of the idea "everything besides licenses" Andreas -- Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg) GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126 -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Am 19.01.2012 11:50, schrieb Andreas Jaeger:
I just filed feature #313152 - to have a smaller base system which is beneficial for appliances.
Looking at a basic installation (default text server install), I noticed that we have in /usr/share/doc/packages besides the license (which we need to keep) also other files.
An example is glib2, it installs to /usr/share/doc/packages/libglib-2_0-0:
-rw-r--r-- 1 root root 1344 Aug 16 02:51 AUTHORS -rw-r--r-- 1 root root 1895792 Oct 14 15:51 ChangeLog -rw-r--r-- 1 root root 25292 Aug 16 02:51 COPYING -rw-r--r-- 1 root root 197710 Oct 14 15:30 NEWS -rw-r--r-- 1 root root 9906 Oct 14 15:51 README
I suggest to move everything to the devel package (or a doc package if it exists).
On IRC, Vincent and Sascha suggested to keep README, NEWS (and maybe AUTHORS) in the base package and move only ChangeLog to the devel package. Another idea was to compress these files.
My personal opinion is that the vast majority of our users does not need any of these. Those developers that need it, will get it from the devel/doc packages.
What do you think? Any other ideas on getting a smaller base system?
Note: I don't want to make this a hard rule, more a recommendation.
Andreas A fine rule of thumb but not a good idea for an automatism. I don't want to split like 100 library rpms into library.rpm and library-devel.rpm just because there is some text which arguably goes to /usr/share/doc. It would tempt packagers to simply hide docs somewhere near the test cases to safe the pain.
-- Ralf Lang Linux Consultant / Developer Tel.: +49-170-6381563 Mail: lang@b1-systems.de B1 Systems GmbH Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537 -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi, Le jeudi 19 janvier 2012, à 11:50 +0100, Andreas Jaeger a écrit :
I just filed feature #313152 - to have a smaller base system which is beneficial for appliances.
Looking at a basic installation (default text server install), I noticed that we have in /usr/share/doc/packages besides the license (which we need to keep) also other files.
An example is glib2, it installs to /usr/share/doc/packages/libglib-2_0-0:
-rw-r--r-- 1 root root 1344 Aug 16 02:51 AUTHORS -rw-r--r-- 1 root root 1895792 Oct 14 15:51 ChangeLog -rw-r--r-- 1 root root 25292 Aug 16 02:51 COPYING -rw-r--r-- 1 root root 197710 Oct 14 15:30 NEWS -rw-r--r-- 1 root root 9906 Oct 14 15:51 README
I suggest to move everything to the devel package (or a doc package if it exists).
On IRC, Vincent and Sascha suggested to keep README, NEWS (and maybe AUTHORS) in the base package and move only ChangeLog to the devel package. Another idea was to compress these files.
My personal opinion is that the vast majority of our users does not need any of these. Those developers that need it, will get it from the devel/doc packages.
What do you think? Any other ideas on getting a smaller base system?
Just some data, based on my computer (hardly a base system): $ du -s /usr/share/doc/packages/ 285M /usr/share/doc/packages/ $ for file in AUTHORS ChangeLog COPYING README; do echo -n "$file: "; du -c /usr/share/doc/packages/*/${file}* | tail -n 1; done AUTHORS: 1,6M total ChangeLog: 89M total COPYING: 14M total README: 6,8M total $ du -c /usr/share/doc/packages/*/{AUTHORS,ChangeLog,COPYING,README}* | tail -n 1 111M total I'm sure we could get some more interesting bits by gettings some figures for PDF files, HTML files, etc. Also, if I compress all ChangeLog files, they're now 22MB. Coming back to the original goal: how big is the base system at the moment? And can we have similar stats for doc files on such a base system? I'm asking since I think we should aim for some specific size (and not "do some stuff to reduce the size"). Cheers, Vincent -- Les gens heureux ne sont pas pressés. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (14)
-
Andreas Jaeger
-
Claudio Freire
-
Cristian Rodríguez
-
Michael Matz
-
Philipp Thomas
-
Rajko M.
-
Ralf Lang
-
Richard Guenther
-
Ruediger Meier
-
todd rme
-
Togan Muftuoglu
-
Vincent Untz
-
Wolfgang Rosenauer
-
Yamaban