* On the annoyance of multiple outputs @ 2016-06-20 10:27 Andreas Enge 2016-06-20 12:46 ` Ludovic Courtès 0 siblings, 1 reply; 3+ messages in thread From: Andreas Enge @ 2016-06-20 10:27 UTC (permalink / raw) To: guix-devel Hello, commit 6d49ca3bad613700b539c30272e164207455735b in core-updates has added a "bin" output to pcre. This broke the build of swig (corrected later by Ludovic), and it also broke at least the build of 4store. I suggest to revert the first commit. Notice that the bin output contains only the following: -r-xr-xr-x 2 root root 2465 1. Jan 1970 pcre-config -r-xr-xr-x 2 root root 101344 1. Jan 1970 pcregrep -r-xr-xr-x 2 root root 105016 1. Jan 1970 pcretest Apparently pcre-config is used routinely for checking if pcre is available. So the additional output saves little and causes a lot of hassle. I would like to take the opportunity to iterate my skepticism as to the splitting of packages into several outputs. This follows the slippery slope of the Debian style with a regular package and an additional "-dev" package, where by installing just one package (that is, the "out" output), one does not get all of its functionality. This is also surprising and wastes a lot of peoplepower (when seeing the build failure of swig, I did not even guess it could be related to an incomplete pcre package). So in fact, I suggest to unite all of the outputs of pcre into one; the "doc" output is also relatively small: 1792 /gnu/store/c6lrgvva6vzly6ni7f8al9qsdw88hjrf-pcre-8.38-doc 216 /gnu/store/10xwfx7yvbd1mbgm5c78nh1h3sf3l95y-pcre-8.38-bin 3628 /gnu/store/zwc6ck9j0wv80kz5snw5acwb39ws88m1-pcre-8.38 Granted, the doc output takes about a third of the complete package size, but it is still quite moderate absolutely. In my opinion, splitting into several outputs should be limited to cases where the difference is massive (qt-4 being a good example, where the "doc" output contains 277 MB). What do you think? Andreas ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: On the annoyance of multiple outputs 2016-06-20 10:27 On the annoyance of multiple outputs Andreas Enge @ 2016-06-20 12:46 ` Ludovic Courtès 2016-06-25 7:43 ` Andreas Enge 0 siblings, 1 reply; 3+ messages in thread From: Ludovic Courtès @ 2016-06-20 12:46 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1841 bytes --] Hello! Andreas Enge <andreas@enge.fr> skribis: > commit 6d49ca3bad613700b539c30272e164207455735b in core-updates has added a > "bin" output to pcre. This broke the build of swig (corrected later by > Ludovic), and it also broke at least the build of 4store. I suggest to revert > the first commit. I would suggest instead fixing the remaining issues, which is going to be way faster than rebuilding everything. > I would like to take the opportunity to iterate my skepticism as to the > splitting of packages into several outputs. This follows the slippery slope > of the Debian style with a regular package and an additional "-dev" package, > where by installing just one package (that is, the "out" output), one does > not get all of its functionality. This is also surprising and wastes a lot > of peoplepower (when seeing the build failure of swig, I did not even guess > it could be related to an incomplete pcre package). > > So in fact, I suggest to unite all of the outputs of pcre into one; the "doc" > output is also relatively small: > 1792 /gnu/store/c6lrgvva6vzly6ni7f8al9qsdw88hjrf-pcre-8.38-doc > 216 /gnu/store/10xwfx7yvbd1mbgm5c78nh1h3sf3l95y-pcre-8.38-bin > 3628 /gnu/store/zwc6ck9j0wv80kz5snw5acwb39ws88m1-pcre-8.38 > Granted, the doc output takes about a third of the complete package size, > but it is still quite moderate absolutely. > > In my opinion, splitting into several outputs should be limited to cases > where the difference is massive (qt-4 being a good example, where the "doc" > output contains 277 MB). > > What do you think? I think we definitely need to pay attention to big packages like Qt, but we also need to pay attention to packages that are smaller but have a lot of users. In the case of PCRE (900+ dependent packages), commit 6d49ca3bad613700b539c30272e164207455735b gives the rationale: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: Type: text/x-patch, Size: 622 bytes --] --- a/gnu/packages/pcre.scm +++ b/gnu/packages/pcre.scm @@ -45,8 +45,9 @@ "1pvra19ljkr5ky35y2iywjnsckrs9ch2anrf5b0dc91hw8v2vq5r")) (patches (list (search-patch "pcre-CVE-2016-3191.patch"))))) (build-system gnu-build-system) - (outputs '("out" - "doc")) ;1.8 MiB of HTML + (outputs '("out" ;library & headers + "bin" ;depends on Readline (adds 20MiB to the closure) + "doc")) ;1.8 MiB of HTML (inputs `(("bzip2" ,bzip2) ("readline" ,readline) ("zlib" ,zlib))) [-- Attachment #3: Type: text/plain, Size: 412 bytes --] The 20 MiB saved represent 25% of the closure size. To me, it’s definitely worth it. When I look at the output of ‘guix size evince’, for instance, I think we should split more, not less (935 MiB “just” for Evince!). Nevertheless, I agree that we should do this when there is a clear justification. In this case, I think there’s a clear justification. Thoughts? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: On the annoyance of multiple outputs 2016-06-20 12:46 ` Ludovic Courtès @ 2016-06-25 7:43 ` Andreas Enge 0 siblings, 0 replies; 3+ messages in thread From: Andreas Enge @ 2016-06-25 7:43 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel On Mon, Jun 20, 2016 at 02:46:26PM +0200, Ludovic Courtès wrote: > I would suggest instead fixing the remaining issues, which is going to > be way faster than rebuilding everything. Thanks for beating me to it, I was about to have a look :-) > - (outputs '("out" > - "doc")) ;1.8 MiB of HTML > + (outputs '("out" ;library & headers > + "bin" ;depends on Readline (adds 20MiB to the closure) > + "doc")) ;1.8 MiB of HTML > (inputs `(("bzip2" ,bzip2) > ("readline" ,readline) > ("zlib" ,zlib))) > The 20 MiB saved represent 25% of the closure size. To me, it’s > definitely worth it. This is of course a question of taste now; even on my computationally weak machines, I have enough disk space to not bother. My argument was to not look at the relative size, but the absolute savings; 20MB is nothing I would worry about. And moreover I suppose that readline is installed more or less every- where. So what would count is not the closure size of an individual package, but of a profile as a whole; and this is of course not an objective measure any more. > When I look at the output of ‘guix size evince’, for instance, I think > we should split more, not less (935 MiB “just” for Evince!). Skimming over the output, big chunks of this are gtk+, python and mesa, for instance. I suppose that someone wanting to install evince has all of them anyway. More surprising is the reference to gcc. When splitting a package, I would not consider the closure size, but only (except for special cases) the size of the package itself. Andreas ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-06-25 7:43 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-06-20 10:27 On the annoyance of multiple outputs Andreas Enge 2016-06-20 12:46 ` Ludovic Courtès 2016-06-25 7:43 ` Andreas Enge
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.