* [gentoo-dev] splitting one source package into many binaries
@ 2005-06-16 16:50 Rafael Espíndola
2005-06-16 17:01 ` Caleb Tennis
` (4 more replies)
0 siblings, 5 replies; 18+ messages in thread
From: Rafael Espíndola @ 2005-06-16 16:50 UTC (permalink / raw
To: gentoo-dev
I am using Gentoo to build some small systems. While things like the
minimal useflag is a joy, the monolithic nature of most gentoo
packages is a headache.
Kde has been spit and libstdc++ can be installed without gcc but there
are many other packages that don't have this feature. For example,
installing qt also installs qt designer.
Has someone worked on changing ebuild so that it could create many
binary packages from one source? Something similar to debian's
dpkg-buildpackage. For example, it would be wonderful to be able to do
ebuild qt-something.ebuild split-package
and have in /usr/portage/packages a package for qt-designer and a
package for the rest of the library.
Is this a bad idea or simply not the Gentoo way?
Thanks for any comments
--
Rafael Ávila de Espíndola
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] splitting one source package into many binaries
2005-06-16 16:50 [gentoo-dev] splitting one source package into many binaries Rafael Espíndola
@ 2005-06-16 17:01 ` Caleb Tennis
2005-06-16 22:35 ` Rafael Ávila de Espíndola
2005-06-16 17:05 ` Patrick Lauer
` (3 subsequent siblings)
4 siblings, 1 reply; 18+ messages in thread
From: Caleb Tennis @ 2005-06-16 17:01 UTC (permalink / raw
To: gentoo-dev
On Thursday 16 June 2005 11:50 am, Rafael Espíndola wrote:
> Is this a bad idea or simply not the Gentoo way?
The idea isn't bad, but the implementation is more work to maintain than it's
probably worth.
You can, of course, always roll your own ebuild variation and keep it in your
portage overlay directory. Or, alternatively, you can just "rm
-f /usr/qt/3/bin/designer".
Caleb
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] splitting one source package into many binaries
2005-06-16 16:50 [gentoo-dev] splitting one source package into many binaries Rafael Espíndola
2005-06-16 17:01 ` Caleb Tennis
@ 2005-06-16 17:05 ` Patrick Lauer
2005-06-16 22:51 ` Rafael Ávila de Espíndola
2005-06-16 17:20 ` [gentoo-dev] " Mike Frysinger
` (2 subsequent siblings)
4 siblings, 1 reply; 18+ messages in thread
From: Patrick Lauer @ 2005-06-16 17:05 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1556 bytes --]
On Thu, 2005-06-16 at 13:50 -0300, Rafael Espíndola wrote:
> I am using Gentoo to build some small systems. While things like the
> minimal useflag is a joy, the monolithic nature of most gentoo
> packages is a headache.
It depends on your point of view.
Having to install 142 -devel packages just to be able to compile $foo is
quite frustrating - I prefer the Gentoo way.
> Kde has been spit and libstdc++ can be installed without gcc but there
> are many other packages that don't have this feature. For example,
> installing qt also installs qt designer.
I don't know if there is a demand for this, but if you really need to
shrink stuff, create your own ebuild overlay with "fixed" ebuilds ...
> Has someone worked on changing ebuild so that it could create many
> binary packages from one source? Something similar to debian's
> dpkg-buildpackage. For example, it would be wonderful to be able to do
>
> ebuild qt-something.ebuild split-package
I haven't heard of anyone trying this, and as far as I can remember it has usually been shot down as a bad idea.
> and have in /usr/portage/packages a package for qt-designer and a
> package for the rest of the library.
>
> Is this a bad idea or simply not the Gentoo way?
Well ... it gets you all kinds of problems because if you split packages
(e.g. X --> X + X-headers) and you want to compile something you'll pull
in the second package anyway. So for most packages I think it's not
really useful.
wkr,
Patrick
--
Stand still, and let the rest of the universe move
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] splitting one source package into many binaries
2005-06-16 16:50 [gentoo-dev] splitting one source package into many binaries Rafael Espíndola
2005-06-16 17:01 ` Caleb Tennis
2005-06-16 17:05 ` Patrick Lauer
@ 2005-06-16 17:20 ` Mike Frysinger
2005-06-16 17:40 ` Brian Jackson
2005-06-17 10:56 ` [gentoo-dev] " Thomas de Grenier de Latour
4 siblings, 0 replies; 18+ messages in thread
From: Mike Frysinger @ 2005-06-16 17:20 UTC (permalink / raw
To: gentoo-dev
On Thursday 16 June 2005 12:50 pm, Rafael Espíndola wrote:
> libstdc++ can be installed without gcc
that's a bad example, we're debating what to do with the package seeing as how
many never wanted it in the first place
-mike
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] splitting one source package into many binaries
2005-06-16 16:50 [gentoo-dev] splitting one source package into many binaries Rafael Espíndola
` (2 preceding siblings ...)
2005-06-16 17:20 ` [gentoo-dev] " Mike Frysinger
@ 2005-06-16 17:40 ` Brian Jackson
2005-06-16 18:20 ` Yuri Vasilevski
2005-06-17 10:56 ` [gentoo-dev] " Thomas de Grenier de Latour
4 siblings, 1 reply; 18+ messages in thread
From: Brian Jackson @ 2005-06-16 17:40 UTC (permalink / raw
To: gentoo-dev
Rafael Espíndola wrote:
> I am using Gentoo to build some small systems. While things like the
> minimal useflag is a joy, the monolithic nature of most gentoo
> packages is a headache.
>
> Kde has been spit and libstdc++ can be installed without gcc but there
> are many other packages that don't have this feature. For example,
> installing qt also installs qt designer.
Use INSTALL_MASK to keep it from getting installed. Keep both pieces.
>
> Has someone worked on changing ebuild so that it could create many
> binary packages from one source? Something similar to debian's
> dpkg-buildpackage. For example, it would be wonderful to be able to do
>
> ebuild qt-something.ebuild split-package
>
> and have in /usr/portage/packages a package for qt-designer and a
> package for the rest of the library.
>
> Is this a bad idea or simply not the Gentoo way?
>
> Thanks for any comments
>
> --
> Rafael Ávila de Espíndola
>
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] splitting one source package into many binaries
2005-06-16 17:40 ` Brian Jackson
@ 2005-06-16 18:20 ` Yuri Vasilevski
2005-06-17 8:21 ` [gentoo-dev] " Duncan
0 siblings, 1 reply; 18+ messages in thread
From: Yuri Vasilevski @ 2005-06-16 18:20 UTC (permalink / raw
To: gentoo-dev
Hi,
On Thu, 16 Jun 2005 12:40:39 -0500
Brian Jackson <iggy@gentoo.org> wrote:
> Rafael Espíndola wrote:
> > I am using Gentoo to build some small systems. While things like the
> > minimal useflag is a joy, the monolithic nature of most gentoo
> > packages is a headache.
> >
> > Kde has been spit and libstdc++ can be installed without gcc but there
> > are many other packages that don't have this feature. For example,
> > installing qt also installs qt designer.
>
> Use INSTALL_MASK to keep it from getting installed. Keep both pieces.
I think that it's not the way to go because this will create
the exact problem that existed with installing an incomplete
kde before there where split ebuilds for it.
And this problem is that when you emerge a package it expects
it's dependencies to have the things it'll use form them. And
with INSTALL_MASK you brake this assumption in a way that there
is no easy way for an ebuild to verify that it's dependencies
have installed the things that the package needs.
So I think it may be good for some packages to be split in
several packages (but right now I can't think of any), but I
think it'll be much better introduce more granularity into
many ebuils with use flags. This is specially the case (in
my opinion) of packages that can have both client and server
functionality (the best example I can think of is net-fs/samba,
which I mostly use just to mount shares form other servers).
Just my 2 non convertible (i.e. non developers) cents.
Yuri.
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] splitting one source package into many binaries
2005-06-16 17:01 ` Caleb Tennis
@ 2005-06-16 22:35 ` Rafael Ávila de Espíndola
0 siblings, 0 replies; 18+ messages in thread
From: Rafael Ávila de Espíndola @ 2005-06-16 22:35 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 584 bytes --]
Em Thu 16 Jun 2005 14:01, Caleb Tennis escreveu:
> On Thursday 16 June 2005 11:50 am, Rafael Espíndola wrote:
> > Is this a bad idea or simply not the Gentoo way?
>
> The idea isn't bad, but the implementation is more work to maintain than
> it's probably worth.
>
> You can, of course, always roll your own ebuild variation and keep it in
> your portage overlay directory. Or, alternatively, you can just "rm
> -f /usr/qt/3/bin/designer".
I use the rm option currently. A overlay has the disadvantage that I would
miss updates to the portage tree.
> Caleb
Rafael
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] splitting one source package into many binaries
2005-06-16 17:05 ` Patrick Lauer
@ 2005-06-16 22:51 ` Rafael Ávila de Espíndola
2005-06-17 8:10 ` [gentoo-dev] " Duncan
0 siblings, 1 reply; 18+ messages in thread
From: Rafael Ávila de Espíndola @ 2005-06-16 22:51 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1283 bytes --]
Em Thu 16 Jun 2005 14:05, Patrick Lauer escreveu:
> It depends on your point of view.
> Having to install 142 -devel packages just to be able to compile $foo is
> quite frustrating - I prefer the Gentoo way.
I agree. I think that by default emerge <package> should install everything
from <package>. My idea is to teach ebuild how to split binary packages but
install all of then by default. For example, emerge gcc would install all
parts of gcc that are selected by the use flags (gcc proper, g++, libgcc,
etc). But now one could do "emerge -C g++".
> I don't know if there is a demand for this, but if you really need to
> shrink stuff, create your own ebuild overlay with "fixed" ebuilds ...
I do that right now. I was wondering if someone else would also be interested.
> Well ... it gets you all kinds of problems because if you split packages
> (e.g. X --> X + X-headers) and you want to compile something you'll pull
> in the second package anyway. So for most packages I think it's not
> really useful.
Qt is the package that made me think about the problem. Maybe some
client/server split in packages like ssh. X might also be a candidate, but I
think that in this case it is better to help xorg to do the split.
> wkr,
> Patrick
Rafael
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* [gentoo-dev] Re: splitting one source package into many binaries
2005-06-16 22:51 ` Rafael Ávila de Espíndola
@ 2005-06-17 8:10 ` Duncan
2005-06-21 5:47 ` Donnie Berkholz
0 siblings, 1 reply; 18+ messages in thread
From: Duncan @ 2005-06-17 8:10 UTC (permalink / raw
To: gentoo-dev
Rafael Ávila de Espíndola posted
<200506161952.16146.rafael.espindola@gmail.com>, excerpted below, on Thu,
16 Jun 2005 19:51:54 -0300:
> X might also be a candidate, but
> I think that in this case it is better to help xorg to do the split.
FWIW, xorg is already headed in that direction. Their next release is
intended to be dual-track, 6.9.0 in monolithic form as now, 7.0.0 will be
the same thing only modularized. There was a bit of a discussion on that
topic here a few weeks ago (in which I asked and Donnie covered a number
of questions on the Gentoo approach to it), after Donnie pointed to the
working roadmap document for the split. The 6.8.99 snapshot ebuilds
(hard masked for testing) are the CVS development snapshots of this in
portage, still unsplit, as it hasn't yet been split upstream, AFAIK.
--
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* [gentoo-dev] Re: splitting one source package into many binaries
2005-06-16 18:20 ` Yuri Vasilevski
@ 2005-06-17 8:21 ` Duncan
2005-06-17 10:03 ` Jon Portnoy
2005-06-17 13:56 ` Chris Gianelloni
0 siblings, 2 replies; 18+ messages in thread
From: Duncan @ 2005-06-17 8:21 UTC (permalink / raw
To: gentoo-dev
Yuri Vasilevski posted <20050616132044.2b689bd3@edune.lan>, excerpted
below, on Thu, 16 Jun 2005 13:20:44 -0500:
> So I think it may be good for some packages to be split in several
> packages (but right now I can't think of any), but I think it'll be much
> better introduce more granularity into many ebuils with use flags. This is
> specially the case (in my opinion) of packages that can have both client
> and server functionality (the best example I can think of is net-fs/samba,
> which I mostly use just to mount shares form other servers).
The client/server thing is a concern for me here, as well, for security
reasons. If I don't have an SSH server merged, it can't inadvertently
be turned on somehow. SSH is apparently a dependency for something I have
merged, and currently, it includes the SSH server. That worries me, as
it's a server component on a normally client system, and is thus a
potential security vuln. IMO, having it there when it's not used and the
human behind the machine has no intention of running it, is just /asking/
for security issues. It shouldn't be there in the first place.
Unfortunately, there's no USE flag to turn it off.
Similarly with a couple of the DHCP packages I was looking at a few weeks
ago. I normally run static IPs on a LAN behind a NAPT based router,
giving me a /bit/ more leeway in terms of security on my Linux box, but
decided to install some form of DHCP just in case. Several of those
packages have both clients and servers, with apparently no way to only
install the client, short of hacking the ebuild. IMO, that's not the way
it should be. Gentoo isn't supposed to work that way, and PARTICULARLY in
this sort of instance, where getting mixed up in your configuration may
mean you start the server instead of the client, is a security risk that
simply shouldn't have to be there in the first place.
I'm sure there are other instances...
IMO as a Gentoo user...
--
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Re: splitting one source package into many binaries
2005-06-17 8:21 ` [gentoo-dev] " Duncan
@ 2005-06-17 10:03 ` Jon Portnoy
2005-06-17 13:56 ` Chris Gianelloni
1 sibling, 0 replies; 18+ messages in thread
From: Jon Portnoy @ 2005-06-17 10:03 UTC (permalink / raw
To: gentoo-dev
On Fri, Jun 17, 2005 at 01:21:22AM -0700, Duncan wrote:
> reasons. If I don't have an SSH server merged, it can't inadvertently
> be turned on somehow. SSH is apparently a dependency for something I have
I'm all in favor of server vs. client flexibility but this
example is kinda bogus. Assuming you don't turn it on I'd have to say the only
way it'd get turned on is if your system is already compromised
--
Jon Portnoy
avenj/irc.freenode.net
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] splitting one source package into many binaries
2005-06-16 16:50 [gentoo-dev] splitting one source package into many binaries Rafael Espíndola
` (3 preceding siblings ...)
2005-06-16 17:40 ` Brian Jackson
@ 2005-06-17 10:56 ` Thomas de Grenier de Latour
2005-06-17 14:21 ` Brian Jackson
4 siblings, 1 reply; 18+ messages in thread
From: Thomas de Grenier de Latour @ 2005-06-17 10:56 UTC (permalink / raw
To: gentoo-dev
On Thu, 16 Jun 2005 13:50:47 -0300
Rafael Espíndola <rafael.espindola@gmail.com> wrote:
> Has someone worked on changing ebuild so that it could create
> many binary packages from one source?
A less intrusive solution (well, i think, although it would
still be an important change) would be to have some kind of
special flags dedicated to a new ebuild phase: pkg_filter. Lets
call them FILTER flags (i will often use the server/client
example in the above, but that's just an example sure).
The main differences with USE flags would be:
- only work at pkg_filter time, so the would not have any
influence on compile-time or the contents of binary packages
- accessible through a different bash test function ("filter"
instead of "use")
- not recorded in binary packages metadata, so its really the
target host's FILTER flags that are taken into account, and not
the building host's ones
- they would sound "negative" rather than "positive", there
purpose being to remove things
- they would be a bit simpler (probably no need to have some
defaults in profiles, no auto-triggering à la use.defaults, etc.)
Other than that, they would be similar (have some filter.desc
and filter.local.desc, have a package.filter config file in /etc/
portage, be recorded in /var/db/pkg, add some colored output to
`emerge -pv`, etc).
The pkg_filter() step would happen somewhere after src_install (or
binary package unpacking) and before the merge. Not sure whether
it should be before or after pkg_preinst (oh, and btw, if I
suggest not using pkg_preinst, that's because it really should
be sandboxed).
Based on this FILTER flags, pkg_filter would apply some kind of
ebuild-specific contents filtering, by deleting stuffs in the
the image directory. Example for openssh:
pkg_filter() {
if filter 'noserver' ; then
rm ${D}usr/bin/sshd
rm ${D}etc/init.d/sshd
rm ${D}etc/conf.d/sshd
...
fi
}
So, this proposal is really about putting in ebuilds the logic to
replace some of the INSTALL_MASK or overlayed ebuild hacks. I
don't think it's the right thing to put that completly on user's
responsability like it is now when it's such common needs like
installing a simple ssh or samba client for instance.
The idea comes from rereading an old thread about server/client
USE flags actually:
http://thread.gmane.org/gmane.linux.gentoo.devel/13501
Some of the point made there that i think it would solve are:
* splitting ebuilds into something-client and something-server is
not the right approach from several maintainers point-of-view
(more work on updates, lots of duplicate compile time, etc.)
=> FILTER flags would solve the duplicate compile workload at
least. It would still give more work to maintainers tho, to
write the pkg_filter() functions where needed, and to test the
package in several FILTER configuration. But I tend to think
that it's much less work than a split:
- you keep a single ebuild
- you don't have to change anything in src_*()
- it's not critical if you miss some files in pkg_filter;
having forgotten to delete the sshd manpage in the above example
won't break anything. Neither will missing a something.so.1.0
renaming to .so.1.1 when bumping a package. All one has to take
real care of is to delete only things that he is sure are used
only by the package part he want to filter out, but if in doubt,
the safer approach is the easiest one: not deleting the file.
* USE flags are not neither the right approach (for some no-more-
valid concerns, like their globalness at that time, but also for
some still valid ones like "i will have to recompile the whole
samba if i suddenly decide to add a client to my server")
=> with FILTER flags, as soon as you keep binary packages,
reinstalling samba without "noclient" doesn't imply
recompilation. Also, the same GRP packages will be good for both
people who want a samba server and those who want a samba client.
One last thing I've not talked about are dependencies. A very
valid point made against a "server" USE flag was that it sometimes
happen that a package can depend on foo/bar being installed with
+server. The issue still holds with FILTER flags sure. But i
think portage devs are working on solving that for USE flags
(would be something RDEPEND="foo/bar:flag"), and if that's true,
then it could easily be extended to FILTER flags too i think.
Something like RDEPEND="foo/bar:!noserver" (or maybe the opposite
way: don't accept any filter flag per default, and specify in dep
atoms the acceptable ones).
And again about dependencies, there the question whether RDEPENDs
could be trimed down when filtering parts of a package (in case
libfoobar is only used by a server daemon that won't be
installed for instance). Here, i don't really have an opinion
about whether it worths taking FILTER flag into account. Again,
to much RDEPEND is not critical. But it would be possible to deal
with that anyway: conditionnal RDEPENDs could be interpreted
with the USE flag (the one recorded from compile-time in case
of binary package) plus the target host FILTER flags, whereas
DEPENDs would only take USE flags into account.
And that's it. Sorry for the long email, writing it made me think
of a few more things than i had to say at the beginning.
--
TGL.
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Re: splitting one source package into many binaries
2005-06-17 8:21 ` [gentoo-dev] " Duncan
2005-06-17 10:03 ` Jon Portnoy
@ 2005-06-17 13:56 ` Chris Gianelloni
2005-06-18 12:17 ` [gentoo-dev] " Duncan
1 sibling, 1 reply; 18+ messages in thread
From: Chris Gianelloni @ 2005-06-17 13:56 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 2342 bytes --]
On Fri, 2005-06-17 at 01:21 -0700, Duncan wrote:
> The client/server thing is a concern for me here, as well, for security
> reasons. If I don't have an SSH server merged, it can't inadvertently
> be turned on somehow. SSH is apparently a dependency for something I have
> merged, and currently, it includes the SSH server. That worries me, as
> it's a server component on a normally client system, and is thus a
> potential security vuln. IMO, having it there when it's not used and the
> human behind the machine has no intention of running it, is just /asking/
> for security issues. It shouldn't be there in the first place.
> Unfortunately, there's no USE flag to turn it off.
There is zero security risk unless you, as root, start the server.
> Similarly with a couple of the DHCP packages I was looking at a few weeks
> ago. I normally run static IPs on a LAN behind a NAPT based router,
> giving me a /bit/ more leeway in terms of security on my Linux box, but
> decided to install some form of DHCP just in case. Several of those
> packages have both clients and servers, with apparently no way to only
> install the client, short of hacking the ebuild. IMO, that's not the way
> it should be. Gentoo isn't supposed to work that way, and PARTICULARLY in
> this sort of instance, where getting mixed up in your configuration may
> mean you start the server instead of the client, is a security risk that
> simply shouldn't have to be there in the first place.
I think you have the wrong assumption here on how Gentoo is "supposed to
work". Gentoo ships packages as close to how upstream packages them as
possible. If you have a problem with the daemon being shipped with the
client, then complain upstream. We have always provided the package as
determined by upstream. Splitting packages is a waste of developer time
and also makes things much more complex dependency-wise.
If you do not want the binary for the server installed, then edit the
ebuild yourself, remove the binary, or use INSTALL_MASK. It isn't like
we have not provided methods for you to do this yourself. You cannot
expect us to provide for every possible scenario and still get anything
accomplished.
--
Chris Gianelloni
Release Engineering - Strategic Lead/QA Manager
Games - Developer
Gentoo Linux
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] splitting one source package into many binaries
2005-06-17 10:56 ` [gentoo-dev] " Thomas de Grenier de Latour
@ 2005-06-17 14:21 ` Brian Jackson
0 siblings, 0 replies; 18+ messages in thread
From: Brian Jackson @ 2005-06-17 14:21 UTC (permalink / raw
To: gentoo-dev
Thomas de Grenier de Latour wrote:
> On Thu, 16 Jun 2005 13:50:47 -0300
> Rafael Espíndola <rafael.espindola@gmail.com> wrote:
>
>
>>Has someone worked on changing ebuild so that it could create
>>many binary packages from one source?
>
>
<snip>
>
>
> And that's it. Sorry for the long email, writing it made me think
> of a few more things than i had to say at the beginning.
>
GLEP it, write the code, get it approved. I really don't think there are as many
people as some of you seem to think that are struggling with this night and day.
--Iggy
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* [gentoo-dev] Re: Re: splitting one source package into many binaries
2005-06-17 13:56 ` Chris Gianelloni
@ 2005-06-18 12:17 ` Duncan
2005-06-20 15:39 ` Chris Gianelloni
0 siblings, 1 reply; 18+ messages in thread
From: Duncan @ 2005-06-18 12:17 UTC (permalink / raw
To: gentoo-dev
Chris Gianelloni posted <1119016612.13606.13.camel@cgianelloni.nuvox.net>,
excerpted below, on Fri, 17 Jun 2005 09:56:52 -0400:
> On Fri, 2005-06-17 at 01:21 -0700, Duncan wrote:
>> The client/server thing is a concern for me here, as well, for security
>> reasons. If I don't have an SSH server merged, it can't inadvertently
>> be turned on somehow. [] Unfortunately, there's no USE flag to turn it
>> off.
>
> There is zero security risk unless you, as root, start the server.
I get the point, but if it's not there to be started, it cannot be
started, thru some fat-fingering on the part of a confused admin trying to
launch the client, or any other way. If it's needed, that's one thing, but
if it's not needed, it shouldn't be there. USE flags (not split
packages, I'll absolutely agree there) are the Gentoo way to control that.
>> Similarly with a couple of the DHCP packages I was looking at a few
>> weeks ago. [] Several of those packages have both clients and servers,
>> with apparently no way to only install the client, short of hacking the
>> ebuild. IMO, that's not the way it should be. Gentoo isn't supposed
>> to work that way, and PARTICULARLY in this sort of instance, where
>> getting mixed up in your configuration may mean you start the server
>> instead of the client, is a security risk that simply shouldn't have to
>> be there in the first place.
>
> I think you have the wrong assumption here on how Gentoo is "supposed to
> work". Gentoo ships packages as close to how upstream packages them as
> possible. If you have a problem with the daemon being shipped with the
> client, then complain upstream. We have always provided the package as
> determined by upstream. Splitting packages is a waste of developer time
> and also makes things much more complex dependency-wise.
Gentoo Philosophy page: "The Gentoo philosophy is to allow this user to
do what he or she wants to do, without getting in the way."
Of course, there's a practical limit to that. However, a simple
"clientonly" USE flag on client/server combo packages such as ssh and
dhcp would appear to be entirely within the Gentoo spirit, and generally
would require no more work than is already done in support of all sorts of
other USE flags. Simply don't compile or install the server, if a separate
binary from the client, and don't include /etc/init.d server starter
scripts (like sshd) and the like, if the clientonly USE flag is set.
--
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Re: Re: splitting one source package into many binaries
2005-06-18 12:17 ` [gentoo-dev] " Duncan
@ 2005-06-20 15:39 ` Chris Gianelloni
2005-06-21 2:10 ` [gentoo-dev] " Duncan
0 siblings, 1 reply; 18+ messages in thread
From: Chris Gianelloni @ 2005-06-20 15:39 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 2833 bytes --]
On Sat, 2005-06-18 at 05:17 -0700, Duncan wrote:
> > There is zero security risk unless you, as root, start the server.
>
> I get the point, but if it's not there to be started, it cannot be
> started, thru some fat-fingering on the part of a confused admin trying to
> launch the client, or any other way. If it's needed, that's one thing, but
> if it's not needed, it shouldn't be there. USE flags (not split
> packages, I'll absolutely agree there) are the Gentoo way to control that.
http://bugs.gentoo.org/show_bug.cgi?id=12499
Personally, I am completely against it. It makes dependencies a
complete nightmare to work with and would add an immense amount of
complexity for the developers and also for users that aren't going to
need/use this system.
You have the tools to remove the binaries already. Use them.
> > I think you have the wrong assumption here on how Gentoo is "supposed to
> > work". Gentoo ships packages as close to how upstream packages them as
> > possible. If you have a problem with the daemon being shipped with the
> > client, then complain upstream. We have always provided the package as
> > determined by upstream. Splitting packages is a waste of developer time
> > and also makes things much more complex dependency-wise.
>
> Gentoo Philosophy page: "The Gentoo philosophy is to allow this user to
> do what he or she wants to do, without getting in the way."
...and you can. You can write your own ebuild or use INSTALL_MASK.
Allowing the user to do what he wants doesn't mean that *we* have to do
it for them.
> Of course, there's a practical limit to that. However, a simple
> "clientonly" USE flag on client/server combo packages such as ssh and
> dhcp would appear to be entirely within the Gentoo spirit, and generally
> would require no more work than is already done in support of all sorts of
> other USE flags. Simply don't compile or install the server, if a separate
> binary from the client, and don't include /etc/init.d server starter
> scripts (like sshd) and the like, if the clientonly USE flag is set.
See my comments about writing your own ebuild or using INSTALL_MASK.
It's always easy for someone to suggest how "easy" something may or may
not be when they aren't the one that has to do the work... ;]
We have provided methods for you to accomplish what you want. You do
not want to use them or do not find them adequate. I can understand
that. You need to understand, however, that we simply might not make
any changes because we feel what we have provided is adequate and don't
feel like taking on the extra work required to change the hundreds of
packages in portage that this would affect.
--
Chris Gianelloni
Release Engineering - Strategic Lead/QA Manager
Games - Developer
Gentoo Linux
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* [gentoo-dev] Re: Re: Re: splitting one source package into many binaries
2005-06-20 15:39 ` Chris Gianelloni
@ 2005-06-21 2:10 ` Duncan
0 siblings, 0 replies; 18+ messages in thread
From: Duncan @ 2005-06-21 2:10 UTC (permalink / raw
To: gentoo-dev
Chris Gianelloni posted <1119281987.13606.26.camel@cgianelloni.nuvox.net>,
excerpted below, on Mon, 20 Jun 2005 11:39:47 -0400:
> On Sat, 2005-06-18 at 05:17 -0700, Duncan wrote:
>>
>> I get the point, but if it's not there to be started, it cannot be
>> started, thru some fat-fingering on the part of a confused admin trying to
>> launch the client, or any other way. USE flags (not split
>> packages, I'll absolutely agree there) are the Gentoo way to control that.
>
> http://bugs.gentoo.org/show_bug.cgi?id=12499
>
> Personally, I am completely against it. It makes dependencies a
> complete nightmare to work with and would add an immense amount of
> complexity for the developers and also for users that aren't going to
> need/use this system.
>
> You have the tools to remove the binaries already. Use them.
I didn't realize it had been bugged to death. I guess others have said it
before, and everybody's likely very tired of the rehash, so despite my
opinions, I'll just shut up, now... =8^]
--
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Re: splitting one source package into many binaries
2005-06-17 8:10 ` [gentoo-dev] " Duncan
@ 2005-06-21 5:47 ` Donnie Berkholz
0 siblings, 0 replies; 18+ messages in thread
From: Donnie Berkholz @ 2005-06-21 5:47 UTC (permalink / raw
To: gentoo-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Duncan wrote:
> The 6.8.99 snapshot ebuilds
> (hard masked for testing) are the CVS development snapshots of this in
> portage, still unsplit, as it hasn't yet been split upstream, AFAIK.
The splitting is underway. Most of the protocol headers and libraries
are working, and the server itself is underway.
Thanks,
Donnie
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFCt6oBXVaO67S1rtsRAqkbAJ0aav6kr7nqW0OTmDQvUyy/h02sVQCg4zTD
LM7kUlyz4jOD4k4e5sMrZPI=
=PiTY
-----END PGP SIGNATURE-----
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2005-06-21 5:51 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-16 16:50 [gentoo-dev] splitting one source package into many binaries Rafael Espíndola
2005-06-16 17:01 ` Caleb Tennis
2005-06-16 22:35 ` Rafael Ávila de Espíndola
2005-06-16 17:05 ` Patrick Lauer
2005-06-16 22:51 ` Rafael Ávila de Espíndola
2005-06-17 8:10 ` [gentoo-dev] " Duncan
2005-06-21 5:47 ` Donnie Berkholz
2005-06-16 17:20 ` [gentoo-dev] " Mike Frysinger
2005-06-16 17:40 ` Brian Jackson
2005-06-16 18:20 ` Yuri Vasilevski
2005-06-17 8:21 ` [gentoo-dev] " Duncan
2005-06-17 10:03 ` Jon Portnoy
2005-06-17 13:56 ` Chris Gianelloni
2005-06-18 12:17 ` [gentoo-dev] " Duncan
2005-06-20 15:39 ` Chris Gianelloni
2005-06-21 2:10 ` [gentoo-dev] " Duncan
2005-06-17 10:56 ` [gentoo-dev] " Thomas de Grenier de Latour
2005-06-17 14:21 ` Brian Jackson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox