Re: [gentoo-dev] Re: Re: Re: Gratuitous useflaggery (doc and examples)

2006-03-05 Thread Mike Frysinger
On Saturday 04 March 2006 13:18, MIkey wrote:
> Ciaran McCreesh wrote:
> > On Sat, 04 Mar 2006 12:04:11 -0600 MIkey <[EMAIL PROTECTED]> wrote:
> > | At my job we aim to eventually rid ourselves completely of MS
> > | products on several thousand (local and remote) desktops and replace
> > | them with some sort of thin linux client running the citrix metaframe
> > | client.  They will be running in kiosk mode.  No user will have the
> > | ability to get to a window manager and browse around
> > | in /usr/share/doc.  They don't even know what the heck a man page is.
> >
> > Then you should use INSTALL_MASK, not a USE flag.
>
> Please excuse my ignorance, but where is INSTALL_MASK documented?

nowhere of consequence
-mike
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Re: Re: Re: Gratuitous useflaggery (doc and examples)

2006-03-05 Thread Ned Ludd
On Sun, 2006-03-05 at 14:16 +0100, Patrick Börjesson wrote:
[snip]

> It seems that INSTALL_MASK works only at merge time, so that if you
> build a package at one machine (with INSTALL_MASK set to f.ex.
> /usr/share/doc) and install it on the same machine, you get the expected
> behaviour. But the INSTALL_MASK:ed directories and their contents are
> still present in the binary package since they're not filtered out until
> the merge-step. So if you then want to merge this package on a different
> machine, and forget to set INSTALL_MASK you still get everything
> originally present under /usr/share/doc installed. 
> 
> One might argue that INSTALL_MASK should apply for
> binary-package-building also, but so is not the case at the moment. 


http://bugs.gentoo.org/show_bug.cgi?id=81025

-- 
Ned Ludd <[EMAIL PROTECTED]>
Gentoo Linux

-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Re: Re: Re: Gratuitous useflaggery (doc and examples)

2006-03-05 Thread Patrick Börjesson
On 2006-03-04 20:47, Ferris McCormick uttered these thoughts:
> On Sat, 4 Mar 2006, MIkey wrote:
> 
> > Ferris McCormick wrote:
> >
> >> I misinterpreted what you wrote.  I thought you meant "physically included
> >> in the package," not "installed from a binary package."  I just completely
> >> read what looks like a reasonable request and turned it into nonsense
> >> without thinking about it, I guess.
> >
> > I am not so sure you misinterpreted me, because when I specify -doc and
> > emerge -B a package, I don't want docs installed OR in the binary package
> > that is generated.  I want the behavior of USE flags to be consistent.  If
> > I set -ssl and generate a binary package for apache2, the packaged up
> > libraries should not link with ssl libraries.  The same should apply with
> > -doc.
> >
> 
> That happens now, I believe.  The following should all install the same 
> thing:
>   USE='-doc' emergeblah
>   USE='-doc' emerge -b blah
>   USE='-doc' emerge -B blah ; emerge -k blah
> USE='-doc' emerge blah; quickpkg blah; emerge -C blah; emerge -k blah 
> Assuming all dependencies are satisfied.
> (The binary package is built from the image which is going to be 
> installed and carries the USE flags with it. If the docs aren't there, 
> they're not there.  Or at least, the binary package carries the '-doc' 
> use flag along with it so the docs won't be installed.)

It seems that INSTALL_MASK works only at merge time, so that if you
build a package at one machine (with INSTALL_MASK set to f.ex.
/usr/share/doc) and install it on the same machine, you get the expected
behaviour. But the INSTALL_MASK:ed directories and their contents are
still present in the binary package since they're not filtered out until
the merge-step. So if you then want to merge this package on a different
machine, and forget to set INSTALL_MASK you still get everything
originally present under /usr/share/doc installed. 

One might argue that INSTALL_MASK should apply for
binary-package-building also, but so is not the case at the moment. 


Regards,
Patrick Börjesson

-- 
/  ()  The ASCII Ribbon Campaign - against HTML Email
\  /\   and proprietary formats.


pgpzfuJqAI1ms.pgp
Description: PGP signature


Re: [gentoo-dev] Re: Re: Re: Gratuitous useflaggery (doc and examples)

2006-03-04 Thread Thomas de Grenier de Latour
On Sat, 04 Mar 2006 23:04:22 +0100,
Simon Stelling <[EMAIL PROTECTED]> wrote:

> Thomas de Grenier de Latour wrote:
> >   post_src_install() { rm -rf ${D}usr/share/doc ; }
> > This way, files will be deleted for real, before getting merged or
> > added to your binary package.
> 
> No, that function never gets executed with binary packages.

I know, but what i understand from MIkey's email is that he wants to
create some smaller binary packages, without the doc files inside.
Hence the choice of post_src_install.

If it was to do it at pre/post_pkg_preinst time, then INSTALL_MASK
would have done the trick anyway, no need for a hook function.

--
TGL.
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Re: Re: Re: Gratuitous useflaggery (doc and examples)

2006-03-04 Thread Simon Stelling
Thomas de Grenier de Latour wrote:
>   post_src_install() { rm -rf ${D}usr/share/doc ; }
> This way, files will be deleted for real, before getting merged or
> added to your binary package.

No, that function never gets executed with binary packages. You probably meant
post_pkg_preinst.

-- 
Kind Regards,

Simon Stelling
Gentoo/AMD64 Member
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Re: Re: Re: Gratuitous useflaggery (doc and examples)

2006-03-04 Thread Thomas de Grenier de Latour
On Sat, 04 Mar 2006 12:18:22 -0600,
MIkey <[EMAIL PROTECTED]> wrote:

> Can it exclude things from being included in binary packages? 

AFAIK, no. But what you could use (with portage-2.1) is a hook 
function in /etc/portage/bashrc: 
  post_src_install() { rm -rf ${D}usr/share/doc ; }
This way, files will be deleted for real, before getting merged or
added to your binary package.

--
TGL.
-- 
gentoo-dev@gentoo.org mailing list



[gentoo-dev] Re: Re: Re: Gratuitous useflaggery (doc and examples)

2006-03-04 Thread Duncan
MIkey posted <[EMAIL PROTECTED]>, excerpted
below,  on Sat, 04 Mar 2006 12:18:22 -0600:

> Ciaran McCreesh wrote:
> 
>> On Sat, 04 Mar 2006 12:04:11 -0600 MIkey <[EMAIL PROTECTED]> wrote:
>> | At my job we aim to eventually rid ourselves completely of MS
>> | products on several thousand (local and remote) desktops and replace
>> | them with some sort of thin linux client running the citrix metaframe
>> | client.  They will be running in kiosk mode.  No user will have the
>> | ability to get to a window manager and browse around
>> | in /usr/share/doc.  They don't even know what the heck a man page is.
>> 
>> Then you should use INSTALL_MASK, not a USE flag.
> 
> Please excuse my ignorance, but what the heck is INSTALL_MASK and where is
> it documented?  Can it exclude things from being included in binary
> packages?

INSTALL_MASK is similar to the CONFIG_PROTECT and CONFIG_PROTECT_MASK
portage variables in that it takes a list of directories (or files,
wildcarding is acceptable), settable in make.conf.  portage will still
package those files in binary packages, but won't install anything that
matches INSTALL_MASK.  Thus, you can stick /usr/doc and /usr/share/doc in
it, and snag anything that would be installed to them.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman in
http://www.linuxdevcenter.com/pub/a/linux/2004/12/22/rms_interview.html


-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Re: Re: Re: Gratuitous useflaggery (doc and examples)

2006-03-04 Thread Ferris McCormick

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Sat, 4 Mar 2006, MIkey wrote:


Ferris McCormick wrote:


I misinterpreted what you wrote.  I thought you meant "physically included
in the package," not "installed from a binary package."  I just completely
read what looks like a reasonable request and turned it into nonsense
without thinking about it, I guess.


I am not so sure you misinterpreted me, because when I specify -doc and
emerge -B a package, I don't want docs installed OR in the binary package
that is generated.  I want the behavior of USE flags to be consistent.  If
I set -ssl and generate a binary package for apache2, the packaged up
libraries should not link with ssl libraries.  The same should apply with
-doc.



That happens now, I believe.  The following should all install the same 
thing:

USE='-doc' emergeblah
USE='-doc' emerge -b blah
USE='-doc' emerge -B blah ; emerge -k blah
   USE='-doc' emerge blah; quickpkg blah; emerge -C blah; emerge -k blah 
Assuming all dependencies are satisfied.
(The binary package is built from the image which is going to be 
installed and carries the USE flags with it. If the docs aren't there, 
they're not there.  Or at least, the binary package carries the '-doc' 
use flag along with it so the docs won't be installed.)


What won't install the same is this sequence:
USE='doc'  emerge -B  blah
USE='-doc' emerge -k  blah
'emerge -k' uses the USE flags the package was built with.

Example:  Back to ciaranm's original proposal.  If I
USE='-doc' emerge -B xorg-x11
I am never going to be able to decide I wanted USE='doc' after all and 
pull the docs from the binary package.  Documentation for xorg-x11 is in a 
separate source file, and with USE='-doc', that file is never even 
fetched.  So,

USE='doc' emerge -k xorg-x11
cannot install docs.  Concrete example (from a live system):
emerge -pkv rubygems
[binary   R   ] dev-ruby/rubygems-0.8.11  USE="-examples"
USE='examples' emerge -pkv rubygems
[binary   R   ] dev-ruby/rubygems-0.8.11  USE="-examples"

Or am I still missing something?


What I would really like is the same capability with info and man pages.
Currently the only way to exclude them is use the unsupported, undocumented
FEATURES="noman noinfo" hack, which if I am not mistaken does not remove
them from binary packages.

Try a du -ksh /usr/share/doc /usr/share/man /usr/share/info and you might
get an idea of why the feature might be desirable:

132M/usr/share/doc
5.7M/usr/share/info
56M /usr/share/man

Most of those are compressed, which means they take even _more_ space in a
binary package.  It adds up.



Regards,
Ferris
- --
Ferris McCormick (P44646, MI) <[EMAIL PROTECTED]>
Developer, Gentoo Linux (Devrel, Sparc)
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2.1 (GNU/Linux)

iD8DBQFECfz8Qa6M3+I///cRAnqrAKDj5ZhOlKKt5MWnqpEZlReUad8CnwCfQDbu
vAQJZ2Lzi8hnOqLMfL8Rc68=
=48Q+
-END PGP SIGNATURE-
--
gentoo-dev@gentoo.org mailing list



[gentoo-dev] Re: Re: Re: Gratuitous useflaggery (doc and examples)

2006-03-04 Thread MIkey
Ferris McCormick wrote:

> I misinterpreted what you wrote.  I thought you meant "physically included
> in the package," not "installed from a binary package."  I just completely
> read what looks like a reasonable request and turned it into nonsense
> without thinking about it, I guess.

I am not so sure you misinterpreted me, because when I specify -doc and
emerge -B a package, I don't want docs installed OR in the binary package
that is generated.  I want the behavior of USE flags to be consistent.  If
I set -ssl and generate a binary package for apache2, the packaged up
libraries should not link with ssl libraries.  The same should apply with
-doc.

What I would really like is the same capability with info and man pages. 
Currently the only way to exclude them is use the unsupported, undocumented
FEATURES="noman noinfo" hack, which if I am not mistaken does not remove
them from binary packages.

Try a du -ksh /usr/share/doc /usr/share/man /usr/share/info and you might
get an idea of why the feature might be desirable:

132M/usr/share/doc
5.7M/usr/share/info
56M /usr/share/man

Most of those are compressed, which means they take even _more_ space in a
binary package.  It adds up.

-- 
gentoo-dev@gentoo.org mailing list



[gentoo-dev] Re: Re: Re: Gratuitous useflaggery (doc and examples)

2006-03-04 Thread MIkey
Ciaran McCreesh wrote:

> On Sat, 04 Mar 2006 12:04:11 -0600 MIkey <[EMAIL PROTECTED]> wrote:
> | At my job we aim to eventually rid ourselves completely of MS
> | products on several thousand (local and remote) desktops and replace
> | them with some sort of thin linux client running the citrix metaframe
> | client.  They will be running in kiosk mode.  No user will have the
> | ability to get to a window manager and browse around
> | in /usr/share/doc.  They don't even know what the heck a man page is.
> 
> Then you should use INSTALL_MASK, not a USE flag.

Please excuse my ignorance, but what the heck is INSTALL_MASK and where is
it documented?  Can it exclude things from being included in binary
packages?

-- 
gentoo-dev@gentoo.org mailing list