public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
@ 2011-09-18 20:55 Michał Górny
  2011-09-18 21:19 ` [gentoo-dev] [PATCH autotools-utils] Deprecate automagic $(use_enable static-libs static) Michał Górny
  2011-09-18 22:16 ` [gentoo-dev] Please don't use IUSE=static-libs unless really necessary Nirbheek Chauhan
  0 siblings, 2 replies; 17+ messages in thread
From: Michał Górny @ 2011-09-18 20:55 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1389 bytes --]

Hello all,

Considering that the 'magical IUSE check' in autotools-utils (and a few
other eclasses) is considered broken, and taking Diego's word [1],
I'd like to ask you to reconsider your uses of IUSE=static-libs.

To be honest, I'd like to remove that magic soon which means that all
ebuilds needing to adjust static lib build will need to pass
'$(use_enable static-libs static)' themselves. While at it, it may be
better to just drop the flag if no other package relies on it and no
user has ever requested the static build of that package.

It is possible that some of you have added IUSE=static-libs along with
autotools-utils just to have .la files removed. The removal algorithm
has been improved much lately, and it no longer requires that USE flag
-- .la files will be removed as well if there's no corresponding static
lib.

For the packages where static linking is required, I'd like to kindly
ask you to always include IUSE='+static' in the package itself,
IUSE='+static-libs' in the dependencies and let users disable that if
they really don't need it. And if you're using autotools-utils.eclass,
please add necessary $(use_enable)s in the ebuild -- this is more
portable and will make the IUSE magic removal less painful.

Thanks in advance.

[1]:http://blog.flameeyes.eu/2011/08/29/useless-flag-static-libs

-- 
Best regards,
Michał Górny

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 316 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [gentoo-dev] [PATCH autotools-utils] Deprecate automagic $(use_enable static-libs static).
  2011-09-18 20:55 [gentoo-dev] Please don't use IUSE=static-libs unless really necessary Michał Górny
@ 2011-09-18 21:19 ` Michał Górny
  2011-09-18 22:16 ` [gentoo-dev] Please don't use IUSE=static-libs unless really necessary Nirbheek Chauhan
  1 sibling, 0 replies; 17+ messages in thread
From: Michał Górny @ 2011-09-18 21:19 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

---
 eclass/autotools-utils.eclass |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/eclass/autotools-utils.eclass b/eclass/autotools-utils.eclass
index 76ad6fc..489efd9 100644
--- a/eclass/autotools-utils.eclass
+++ b/eclass/autotools-utils.eclass
@@ -28,7 +28,7 @@
 # LICENSE="LGPL-2.1"
 # KEYWORDS=""
 # SLOT="0"
-# IUSE="debug doc examples qt4 static-libs tiff"
+# IUSE="debug doc examples qt4 tiff"
 #
 # CDEPEND="
 # 	media-libs/libpng:0
@@ -220,9 +220,6 @@ autotools-utils_src_prepare() {
 # directory and runs econf there. Configuration parameters defined
 # in myeconfargs are passed here to econf. Additionally following USE
 # flags are known:
-#
-# IUSE="static-libs" passes --enable-shared and either --disable-static/--enable-static
-# to econf respectively.
 autotools-utils_src_configure() {
 	debug-print-function ${FUNCNAME} "$@"
 
@@ -244,10 +241,21 @@ autotools-utils_src_configure() {
 
 	# Handle static-libs found in IUSE, disable them by default
 	if has static-libs ${IUSE//+}; then
-		econfargs+=(
-			--enable-shared
-			$(use_enable static-libs static)
-		)
+		local staticarg=$(use_enable static-libs static)
+		if ! has "${staticarg}" "${myeconfargs[@]}"; then
+			eqawarn 'Implicit $(use_enable static-libs static) for IUSE="static-libs"'
+			eqawarn 'is no longer supported. Please add the necessary args to myeconfargs'
+			eqawarn 'if requested or simply drop IUSE=static-libs if unnecessary.'
+			eqawarn
+			eqawarn 'For details, please see:'
+			eqawarn 'http://archives.gentoo.org/gentoo-dev/msg_f67ae0e7733869ef7cc35dd8542871d4.xml'
+			eqawarn 'The autotools-utils eclass will stop supporting this on Nov 1st.'
+
+			econfargs+=(
+				--enable-shared
+				$(use_enable static-libs static)
+			)
+		fi
 	fi
 
 	# Append user args
-- 
1.7.6.1




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
  2011-09-18 20:55 [gentoo-dev] Please don't use IUSE=static-libs unless really necessary Michał Górny
  2011-09-18 21:19 ` [gentoo-dev] [PATCH autotools-utils] Deprecate automagic $(use_enable static-libs static) Michał Górny
@ 2011-09-18 22:16 ` Nirbheek Chauhan
  2011-09-18 22:39   ` Mike Frysinger
  1 sibling, 1 reply; 17+ messages in thread
From: Nirbheek Chauhan @ 2011-09-18 22:16 UTC (permalink / raw
  To: gentoo-dev

On Mon, Sep 19, 2011 at 2:25 AM, Michał Górny <mgorny@gentoo.org> wrote:
[snip]
> '$(use_enable static-libs static)' themselves. While at it, it may be
> better to just drop the flag if no other package relies on it and no
> user has ever requested the static build of that package.
>

I don't see any harm with including IUSE="static-libs" for every
package that has working/usable static libraries[1]. Why wait for
users to request it on bugzilla when it's a near-zero-cost and
zero-maintenance to add it to ebuilds?

1. An example of something with unusable static libraries: anything
that links to libX11 (if I'm not wrong).

-- 
~Nirbheek Chauhan

Gentoo GNOME+Mozilla Team



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
  2011-09-18 22:16 ` [gentoo-dev] Please don't use IUSE=static-libs unless really necessary Nirbheek Chauhan
@ 2011-09-18 22:39   ` Mike Frysinger
  2011-09-19  7:10     ` Michał Górny
  0 siblings, 1 reply; 17+ messages in thread
From: Mike Frysinger @ 2011-09-18 22:39 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: Text/Plain, Size: 983 bytes --]

On Sunday, September 18, 2011 18:16:30 Nirbheek Chauhan wrote:
> On Mon, Sep 19, 2011 at 2:25 AM, Michał Górny wrote:
> > '$(use_enable static-libs static)' themselves. While at it, it may be
> > better to just drop the flag if no other package relies on it and no
> > user has ever requested the static build of that package.
> 
> I don't see any harm with including IUSE="static-libs" for every
> package that has working/usable static libraries[1]. Why wait for
> users to request it on bugzilla when it's a near-zero-cost and
> zero-maintenance to add it to ebuilds?

i missed this sentence from Michał's e-mail.  unconditionally not building 
static libraries is against policy.  if you install shared libs that get 
linked against, then you must provide static libraries unconditionally as well 
or support IUSE=static-libs.  maintainers do not get to choose "no one has 
asked for it and no one in the tree is using it thus my ebuild isnt going to".
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
  2011-09-18 22:39   ` Mike Frysinger
@ 2011-09-19  7:10     ` Michał Górny
  2011-09-19 14:43       ` Mike Frysinger
  2011-09-21 16:36       ` Thomas Kahle
  0 siblings, 2 replies; 17+ messages in thread
From: Michał Górny @ 2011-09-19  7:10 UTC (permalink / raw
  To: gentoo-dev; +Cc: vapier

[-- Attachment #1: Type: text/plain, Size: 1347 bytes --]

On Sun, 18 Sep 2011 18:39:32 -0400
Mike Frysinger <vapier@gentoo.org> wrote:

> On Sunday, September 18, 2011 18:16:30 Nirbheek Chauhan wrote:
> > On Mon, Sep 19, 2011 at 2:25 AM, Michał Górny wrote:
> > > '$(use_enable static-libs static)' themselves. While at it, it
> > > may be better to just drop the flag if no other package relies on
> > > it and no user has ever requested the static build of that
> > > package.
> > 
> > I don't see any harm with including IUSE="static-libs" for every
> > package that has working/usable static libraries[1]. Why wait for
> > users to request it on bugzilla when it's a near-zero-cost and
> > zero-maintenance to add it to ebuilds?
> 
> i missed this sentence from Michał's e-mail.  unconditionally not
> building static libraries is against policy.  if you install shared
> libs that get linked against, then you must provide static libraries
> unconditionally as well or support IUSE=static-libs.  maintainers do
> not get to choose "no one has asked for it and no one in the tree is
> using it thus my ebuild isnt going to". -mike

Where is that policy? AFAIK the policy was to 'follow upstream' which
usually means 'shared only'. I really don't see a reason to build
static libtorrent as upstream even doesn't support static linking.

-- 
Best regards,
Michał Górny

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 316 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
  2011-09-19  7:10     ` Michał Górny
@ 2011-09-19 14:43       ` Mike Frysinger
  2011-09-19 14:57         ` Michał Górny
  2011-09-21 16:36       ` Thomas Kahle
  1 sibling, 1 reply; 17+ messages in thread
From: Mike Frysinger @ 2011-09-19 14:43 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: Text/Plain, Size: 1676 bytes --]

On Monday, September 19, 2011 03:10:45 Michał Górny wrote:
> On Sun, 18 Sep 2011 18:39:32 -0400 Mike Frysinger wrote:
> > On Sunday, September 18, 2011 18:16:30 Nirbheek Chauhan wrote:
> > > On Mon, Sep 19, 2011 at 2:25 AM, Michał Górny wrote:
> > > > '$(use_enable static-libs static)' themselves. While at it, it
> > > > may be better to just drop the flag if no other package relies on
> > > > it and no user has ever requested the static build of that
> > > > package.
> > > 
> > > I don't see any harm with including IUSE="static-libs" for every
> > > package that has working/usable static libraries[1]. Why wait for
> > > users to request it on bugzilla when it's a near-zero-cost and
> > > zero-maintenance to add it to ebuilds?
> > 
> > i missed this sentence from Michał's e-mail.  unconditionally not
> > building static libraries is against policy.  if you install shared
> > libs that get linked against, then you must provide static libraries
> > unconditionally as well or support IUSE=static-libs.  maintainers do
> > not get to choose "no one has asked for it and no one in the tree is
> > using it thus my ebuild isnt going to".
> 
> Where is that policy?

this policy predates much of the documentation process and is missed by the 
developer handbook.  it is however mentioned explicitly in the devmanual.

> AFAIK the policy was to 'follow upstream' which
> usually means 'shared only'. I really don't see a reason to build
> static libtorrent as upstream even doesn't support static linking.

by that token, i'll go ahead and remove glibc's static libraries since 
upstream doesn't even support static linking
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
  2011-09-19 14:43       ` Mike Frysinger
@ 2011-09-19 14:57         ` Michał Górny
  2011-09-19 15:11           ` Mike Frysinger
  0 siblings, 1 reply; 17+ messages in thread
From: Michał Górny @ 2011-09-19 14:57 UTC (permalink / raw
  To: gentoo-dev; +Cc: vapier

[-- Attachment #1: Type: text/plain, Size: 2159 bytes --]

On Mon, 19 Sep 2011 10:43:04 -0400
Mike Frysinger <vapier@gentoo.org> wrote:

> On Monday, September 19, 2011 03:10:45 Michał Górny wrote:
> > On Sun, 18 Sep 2011 18:39:32 -0400 Mike Frysinger wrote:
> > > On Sunday, September 18, 2011 18:16:30 Nirbheek Chauhan wrote:
> > > > On Mon, Sep 19, 2011 at 2:25 AM, Michał Górny wrote:
> > > > > '$(use_enable static-libs static)' themselves. While at it, it
> > > > > may be better to just drop the flag if no other package
> > > > > relies on it and no user has ever requested the static build
> > > > > of that package.
> > > > 
> > > > I don't see any harm with including IUSE="static-libs" for every
> > > > package that has working/usable static libraries[1]. Why wait
> > > > for users to request it on bugzilla when it's a near-zero-cost
> > > > and zero-maintenance to add it to ebuilds?
> > > 
> > > i missed this sentence from Michał's e-mail.  unconditionally not
> > > building static libraries is against policy.  if you install
> > > shared libs that get linked against, then you must provide static
> > > libraries unconditionally as well or support IUSE=static-libs.
> > > maintainers do not get to choose "no one has asked for it and no
> > > one in the tree is using it thus my ebuild isnt going to".
> > 
> > Where is that policy?
> 
> this policy predates much of the documentation process and is missed
> by the developer handbook.  it is however mentioned explicitly in the
> devmanual.

So, it a policy which even QA doesn't recall. It seems worth changing
as there is really no reason to randomly install every possible static
library out there if system does support and use shared linking.

> > AFAIK the policy was to 'follow upstream' which
> > usually means 'shared only'. I really don't see a reason to build
> > static libtorrent as upstream even doesn't support static linking.
> 
> by that token, i'll go ahead and remove glibc's static libraries
> since upstream doesn't even support static linking

I'm probably ignorant so you'd have to elaborate more on that to make
me see a problem there.

-- 
Best regards,
Michał Górny

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 316 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
  2011-09-19 14:57         ` Michał Górny
@ 2011-09-19 15:11           ` Mike Frysinger
  2011-09-19 15:35             ` Michał Górny
  0 siblings, 1 reply; 17+ messages in thread
From: Mike Frysinger @ 2011-09-19 15:11 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: Text/Plain, Size: 2988 bytes --]

On Monday, September 19, 2011 10:57:30 Michał Górny wrote:
> On Mon, 19 Sep 2011 10:43:04 -0400 Mike Frysinger wrote:
> > On Monday, September 19, 2011 03:10:45 Michał Górny wrote:
> > > On Sun, 18 Sep 2011 18:39:32 -0400 Mike Frysinger wrote:
> > > > On Sunday, September 18, 2011 18:16:30 Nirbheek Chauhan wrote:
> > > > > On Mon, Sep 19, 2011 at 2:25 AM, Michał Górny wrote:
> > > > > > '$(use_enable static-libs static)' themselves. While at it, it
> > > > > > may be better to just drop the flag if no other package
> > > > > > relies on it and no user has ever requested the static build
> > > > > > of that package.
> > > > > 
> > > > > I don't see any harm with including IUSE="static-libs" for every
> > > > > package that has working/usable static libraries[1]. Why wait
> > > > > for users to request it on bugzilla when it's a near-zero-cost
> > > > > and zero-maintenance to add it to ebuilds?
> > > > 
> > > > i missed this sentence from Michał's e-mail.  unconditionally not
> > > > building static libraries is against policy.  if you install
> > > > shared libs that get linked against, then you must provide static
> > > > libraries unconditionally as well or support IUSE=static-libs.
> > > > maintainers do not get to choose "no one has asked for it and no
> > > > one in the tree is using it thus my ebuild isnt going to".
> > > 
> > > Where is that policy?
> > 
> > this policy predates much of the documentation process and is missed
> > by the developer handbook.  it is however mentioned explicitly in the
> > devmanual.
> 
> So, it a policy which even QA doesn't recall.

i cant speak for random developers who either (a) haven't been around (b) 
formed their own opinion (c) don't care (d) are forgetful or (e) some list of 
the above or other items.  it doesn't change the policy which long predates 
the existence of the QA team.

> It seems worth changing as there is really no reason to randomly install
> every possible static library out there if system does support and use
> shared linking.

just because you don't care about static linking doesn't matter.  many people 
do, many packages rely on it, and the overhead to support it is trivial.  if 
you dislike static libraries in your packages, then update them to respect 
USE=static-libs.

> > > AFAIK the policy was to 'follow upstream' which
> > > usually means 'shared only'. I really don't see a reason to build
> > > static libtorrent as upstream even doesn't support static linking.
> > 
> > by that token, i'll go ahead and remove glibc's static libraries
> > since upstream doesn't even support static linking
> 
> I'm probably ignorant so you'd have to elaborate more on that to make
> me see a problem there.

think about it a little bit.  your system is using static binaries right now, 
and considering you like to push systemd + initramfs so much, i would have 
thought you'd realize the implications more quickly.
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
  2011-09-19 15:11           ` Mike Frysinger
@ 2011-09-19 15:35             ` Michał Górny
  2011-09-19 16:05               ` Mike Frysinger
  0 siblings, 1 reply; 17+ messages in thread
From: Michał Górny @ 2011-09-19 15:35 UTC (permalink / raw
  To: gentoo-dev; +Cc: vapier

[-- Attachment #1: Type: text/plain, Size: 806 bytes --]

On Mon, 19 Sep 2011 11:11:31 -0400
Mike Frysinger <vapier@gentoo.org> wrote:

> > > by that token, i'll go ahead and remove glibc's static libraries
> > > since upstream doesn't even support static linking
> > 
> > I'm probably ignorant so you'd have to elaborate more on that to
> > make me see a problem there.
> 
> think about it a little bit.  your system is using static binaries
> right now, and considering you like to push systemd + initramfs so
> much, i would have thought you'd realize the implications more
> quickly. -mike

Hm, I seem to fail to notice other static binaries than busybox. And I
don't think I use any specific configuration which makes me need static
binaries; I'm following the _original_ *nix idea of keeping it simple.

-- 
Best regards,
Michał Górny

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 316 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
  2011-09-19 15:35             ` Michał Górny
@ 2011-09-19 16:05               ` Mike Frysinger
  2011-09-19 22:25                 ` [gentoo-dev] " Duncan
  2011-09-22  7:42                 ` [gentoo-dev] " Amadeusz Żołnowski
  0 siblings, 2 replies; 17+ messages in thread
From: Mike Frysinger @ 2011-09-19 16:05 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: Text/Plain, Size: 1215 bytes --]

On Monday, September 19, 2011 11:35:09 Michał Górny wrote:
> On Mon, 19 Sep 2011 11:11:31 -0400 Mike Frysinger wrote:
> > > > by that token, i'll go ahead and remove glibc's static libraries
> > > > since upstream doesn't even support static linking
> > > 
> > > I'm probably ignorant so you'd have to elaborate more on that to
> > > make me see a problem there.
> > 
> > think about it a little bit.  your system is using static binaries
> > right now, and considering you like to push systemd + initramfs so
> > much, i would have thought you'd realize the implications more
> > quickly.
> 
> Hm, I seem to fail to notice other static binaries than busybox. And I
> don't think I use any specific configuration which makes me need static
> binaries;

by default, tools that are needed to easily recover a system 
(busybox/cryptsetup/lvm/etc...) are IUSE=+static, and every binary that goes 
into initramfs is statically linked.

> I'm following the _original_ *nix idea of keeping it simple.

you're confusing the notion of tradeoffs.  the amount of tooling that shared 
libraries take to work at all let alone being stable is significantly higher 
than a single static binary.
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [gentoo-dev] Re: Please don't use IUSE=static-libs unless really necessary
  2011-09-19 16:05               ` Mike Frysinger
@ 2011-09-19 22:25                 ` Duncan
  2011-09-20  0:58                   ` Mike Frysinger
  2011-09-22  7:42                 ` [gentoo-dev] " Amadeusz Żołnowski
  1 sibling, 1 reply; 17+ messages in thread
From: Duncan @ 2011-09-19 22:25 UTC (permalink / raw
  To: gentoo-dev

Mike Frysinger posted on Mon, 19 Sep 2011 12:05:39 -0400 as excerpted:

> On Monday, September 19, 2011 11:35:09 Michał Górny wrote:
>> On Mon, 19 Sep 2011 11:11:31 -0400 Mike Frysinger wrote:
>> > > > by that token, i'll go ahead and remove glibc's static libraries
>> > > > since upstream doesn't even support static linking
>> > > 
>> > > I'm probably ignorant so you'd have to elaborate more on that to
>> > > make me see a problem there.
>> > 
>> > think about it a little bit.  your system is using static binaries
>> > right now, and considering you like to push systemd + initramfs so
>> > much, i would have thought you'd realize the implications more
>> > quickly.
>> 
>> Hm, I seem to fail to notice other static binaries than busybox. And I
>> don't think I use any specific configuration which makes me need static
>> binaries;
> 
> by default, tools that are needed to easily recover a system
> (busybox/cryptsetup/lvm/etc...) are IUSE=+static, and every binary that
> goes into initramfs is statically linked.

By default?  That's begging the question (logic sense) and consequently 
does not properly support your blanket "your system is using static 
binaries right now" statement.

That doesn't mean the statement is incorrect.  I may well be using static 
binaries of some sort, but I'm not aware of any (save for grub-static, 
since I run amd64/no-multilib), and I'd love to know more about which 
binaries they are, and whether static linking is really necessary for 
them.  Feel free to post a link as I've a feeling this is reasonably 
basic, but evidently I'm not the only one who would find such info 
educational and likely useful.

FWIW, no busybox here.  It wouldn't build when I installed back in 2004, 
so I package.provided it for later.  I tried it again a couple times but 
by then it was quite clear that it really was NOT needed, so eventually I 
decided I had better things to do than tilt at that windmill.  (I use a 
second root image, updated AND TESTED when the system appears to be 
working well, as my emergency recovery solution, thus don't need busybox.)

I run (partitioned) md/raid because I can feed appropriate assemble 
instructions on the kernel command line, no initr* needed.  I do NOT use 
lvm because it would require either an initr* for the root and root-
backup images or keeping them separate, needlessly increasing complexity 
now that md/raid handles partitions transparently, and triggering an 
answer I simply was not not comfortable with to the "Am I comfortable 
enough with my setup to be reasonably sure I can recover it without fat-
fingering and breaking it instead, under the far higher stresses of a 
recovery situation?" question.

USE="-static -static-libs", no package.use exceptions for them.

So what sort of static binaries am I running (other than the pre-packaged 
grub-static as already mentioned), and are they really necessarily so?

>> I'm following the _original_ *nix idea of keeping it simple.
> 
> you're confusing the notion of tradeoffs.  the amount of tooling that
> shared libraries take to work at all let alone being stable is
> significantly higher than a single static binary.

Point well taken.  There are indeed tradeoffs.

I'm choosing ease of administration and a second root image, partly in a 
deliberate attempt to avoid unnecessarily increasing my chance of fat-
fingering a recovery, over the rather more straightforward for the 
computer, but significantly more complex for the admin, static linking 
and limited recovery tools strategy.  I guess I trust that the computer 
side, once a backup is tested and found to work, is far more reliable 
than the human/admin side under stressful-for-humans recovery scenarios, 
so am deliberately choosing my tradeoffs.

-- 
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




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Re: Please don't use IUSE=static-libs unless really necessary
  2011-09-19 22:25                 ` [gentoo-dev] " Duncan
@ 2011-09-20  0:58                   ` Mike Frysinger
  2011-09-20  1:38                     ` Mike Frysinger
  2011-09-20  1:52                     ` Duncan
  0 siblings, 2 replies; 17+ messages in thread
From: Mike Frysinger @ 2011-09-20  0:58 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: Text/Plain, Size: 2549 bytes --]

On Monday, September 19, 2011 18:25:36 Duncan wrote:
> Mike Frysinger posted on Mon, 19 Sep 2011 12:05:39 -0400 as excerpted:
> > On Monday, September 19, 2011 11:35:09 Michał Górny wrote:
> >> On Mon, 19 Sep 2011 11:11:31 -0400 Mike Frysinger wrote:
> >> > > > by that token, i'll go ahead and remove glibc's static libraries
> >> > > > since upstream doesn't even support static linking
> >> > > 
> >> > > I'm probably ignorant so you'd have to elaborate more on that to
> >> > > make me see a problem there.
> >> > 
> >> > think about it a little bit.  your system is using static binaries
> >> > right now, and considering you like to push systemd + initramfs so
> >> > much, i would have thought you'd realize the implications more
> >> > quickly.
> >> 
> >> Hm, I seem to fail to notice other static binaries than busybox. And I
> >> don't think I use any specific configuration which makes me need static
> >> binaries;
> > 
> > by default, tools that are needed to easily recover a system
> > (busybox/cryptsetup/lvm/etc...) are IUSE=+static, and every binary that
> > goes into initramfs is statically linked.
> 
> By default?  That's begging the question (logic sense) and consequently
> does not properly support your blanket "your system is using static
> binaries right now" statement.

busybox always produces static binaries since it's the rescue shell.  the rest 
are just by default.  glibc itself installs static binaries (ldconfig much?).  
so i'm comfortable with my previous statement.

> So what sort of static binaries am I running (other than the pre-packaged
> grub-static as already mentioned), and are they really necessarily so?

it depends on the configuration.  yours would seem to not need it.  but there 
are many which include it.

> FWIW, no busybox here.  It wouldn't build when I installed back in 2004,
> so I package.provided it for later.  I tried it again a couple times but
> by then it was quite clear that it really was NOT needed, so eventually I
> decided I had better things to do than tilt at that windmill.  (I use a
> second root image, updated AND TESTED when the system appears to be
> working well, as my emergency recovery solution, thus don't need busybox.)

that's fine.  Gentoo has always included a static rescue shell as part of its 
system and i don't see a need to change that now.  but if you have something 
that works better for you, then all the more power to you.  that's the reason 
we have these knobs like package.provided.
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Re: Please don't use IUSE=static-libs unless really necessary
  2011-09-20  0:58                   ` Mike Frysinger
@ 2011-09-20  1:38                     ` Mike Frysinger
  2011-09-20  1:52                     ` Duncan
  1 sibling, 0 replies; 17+ messages in thread
From: Mike Frysinger @ 2011-09-20  1:38 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: Text/Plain, Size: 543 bytes --]

On Monday, September 19, 2011 20:58:41 Mike Frysinger wrote:
> On Monday, September 19, 2011 18:25:36 Duncan wrote:
> > By default?  That's begging the question (logic sense) and consequently
> > does not properly support your blanket "your system is using static
> > binaries right now" statement.
> 
> busybox always produces static binaries since it's the rescue shell.  the
> rest are just by default.  glibc itself installs static binaries (ldconfig
> much?). so i'm comfortable with my previous statement.

and prelink
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [gentoo-dev] Re: Please don't use IUSE=static-libs unless really necessary
  2011-09-20  0:58                   ` Mike Frysinger
  2011-09-20  1:38                     ` Mike Frysinger
@ 2011-09-20  1:52                     ` Duncan
  1 sibling, 0 replies; 17+ messages in thread
From: Duncan @ 2011-09-20  1:52 UTC (permalink / raw
  To: gentoo-dev

Mike Frysinger posted on Mon, 19 Sep 2011 20:58:41 -0400 as excerpted:

> glibc itself installs static binaries (ldconfig much?). so i'm
> comfortable with my previous statement.

Thanks.  That's actually the bit I was hoping to get confirmed as I've 
seen allusions to it before but don't understand it.

But I was hoping to be steered toward a bit more detail, or at least some 
useful suggestions on narrowing down the google search domain toward that 
end...

Hint, hint. =:^)

-- 
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




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
  2011-09-19  7:10     ` Michał Górny
  2011-09-19 14:43       ` Mike Frysinger
@ 2011-09-21 16:36       ` Thomas Kahle
  2011-09-21 17:13         ` Mike Frysinger
  1 sibling, 1 reply; 17+ messages in thread
From: Thomas Kahle @ 2011-09-21 16:36 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1597 bytes --]

On 09:10 Mon 19 Sep 2011, Michał Górny wrote:
> On Sun, 18 Sep 2011 18:39:32 -0400
> Mike Frysinger <vapier@gentoo.org> wrote:
> 
> > On Sunday, September 18, 2011 18:16:30 Nirbheek Chauhan wrote:
> > > On Mon, Sep 19, 2011 at 2:25 AM, Michał Górny wrote:
> > > > '$(use_enable static-libs static)' themselves. While at it, it
> > > > may be better to just drop the flag if no other package relies on
> > > > it and no user has ever requested the static build of that
> > > > package.
> > > 
> > > I don't see any harm with including IUSE="static-libs" for every
> > > package that has working/usable static libraries[1]. Why wait for
> > > users to request it on bugzilla when it's a near-zero-cost and
> > > zero-maintenance to add it to ebuilds?
> > 
> > i missed this sentence from Michał's e-mail.  unconditionally not
> > building static libraries is against policy.  if you install shared
> > libs that get linked against, then you must provide static libraries
> > unconditionally as well or support IUSE=static-libs.  maintainers do
> > not get to choose "no one has asked for it and no one in the tree is
> > using it thus my ebuild isnt going to". -mike
> 
> Where is that policy? AFAIK the policy was to 'follow upstream'

Really?  For scientific libraries this means 'static only'.

Cheers,
Thomas

> which
> usually means 'shared only'. I really don't see a reason to build
> static libtorrent as upstream even doesn't support static linking.
> 
> -- 
> Best regards,
> Michał Górny



-- 
Thomas Kahle
http://dev.gentoo.org/~tomka/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 316 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
  2011-09-21 16:36       ` Thomas Kahle
@ 2011-09-21 17:13         ` Mike Frysinger
  0 siblings, 0 replies; 17+ messages in thread
From: Mike Frysinger @ 2011-09-21 17:13 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: Text/Plain, Size: 1516 bytes --]

On Wednesday, September 21, 2011 12:36:57 Thomas Kahle wrote:
> On 09:10 Mon 19 Sep 2011, Michał Górny wrote:
> > On Sun, 18 Sep 2011 18:39:32 -0400 Mike Frysinger wrote:
> > > On Sunday, September 18, 2011 18:16:30 Nirbheek Chauhan wrote:
> > > > On Mon, Sep 19, 2011 at 2:25 AM, Michał Górny wrote:
> > > > > '$(use_enable static-libs static)' themselves. While at it, it
> > > > > may be better to just drop the flag if no other package relies on
> > > > > it and no user has ever requested the static build of that
> > > > > package.
> > > > 
> > > > I don't see any harm with including IUSE="static-libs" for every
> > > > package that has working/usable static libraries[1]. Why wait for
> > > > users to request it on bugzilla when it's a near-zero-cost and
> > > > zero-maintenance to add it to ebuilds?
> > > 
> > > i missed this sentence from Michał's e-mail.  unconditionally not
> > > building static libraries is against policy.  if you install shared
> > > libs that get linked against, then you must provide static libraries
> > > unconditionally as well or support IUSE=static-libs.  maintainers do
> > > not get to choose "no one has asked for it and no one in the tree is
> > > using it thus my ebuild isnt going to".
> > 
> > Where is that policy? AFAIK the policy was to 'follow upstream'
> 
> Really?  For scientific libraries this means 'static only'.

maybe i read too many memes nowadays, but this makes me want to:
	statically link ALL the libraries!
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [gentoo-dev] Please don't use IUSE=static-libs unless really necessary
  2011-09-19 16:05               ` Mike Frysinger
  2011-09-19 22:25                 ` [gentoo-dev] " Duncan
@ 2011-09-22  7:42                 ` Amadeusz Żołnowski
  1 sibling, 0 replies; 17+ messages in thread
From: Amadeusz Żołnowski @ 2011-09-22  7:42 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1212 bytes --]

Excerpts from Mike Frysinger's message of 2011-09-19 18:05:39 +0200:
> On Monday, September 19, 2011 11:35:09 Michał Górny wrote:
> > On Mon, 19 Sep 2011 11:11:31 -0400 Mike Frysinger wrote:
> > > > > by that token, i'll go ahead and remove glibc's static
> > > > > libraries since upstream doesn't even support static linking
> > > > 
> > > > I'm probably ignorant so you'd have to elaborate more on that to
> > > > make me see a problem there.
> > > 
> > > think about it a little bit.  your system is using static binaries
> > > right now, and considering you like to push systemd + initramfs so
> > > much, i would have thought you'd realize the implications more
> > > quickly.
> > 
> > Hm, I seem to fail to notice other static binaries than busybox. And
> > I don't think I use any specific configuration which makes me need
> > static binaries;
> 
> by default, tools that are needed to easily recover a system
> (busybox/cryptsetup/lvm/etc...) are IUSE=+static, and every binary
> that goes into initramfs is statically linked.

I'd like to notice that's not the case for dracut.


-- 
Amadeusz Żołnowski

PGP key fpr: C700 CEDE 0C18 212E 49DA  4653 F013 4531 E1DB FAB5

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2011-09-22  7:43 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-18 20:55 [gentoo-dev] Please don't use IUSE=static-libs unless really necessary Michał Górny
2011-09-18 21:19 ` [gentoo-dev] [PATCH autotools-utils] Deprecate automagic $(use_enable static-libs static) Michał Górny
2011-09-18 22:16 ` [gentoo-dev] Please don't use IUSE=static-libs unless really necessary Nirbheek Chauhan
2011-09-18 22:39   ` Mike Frysinger
2011-09-19  7:10     ` Michał Górny
2011-09-19 14:43       ` Mike Frysinger
2011-09-19 14:57         ` Michał Górny
2011-09-19 15:11           ` Mike Frysinger
2011-09-19 15:35             ` Michał Górny
2011-09-19 16:05               ` Mike Frysinger
2011-09-19 22:25                 ` [gentoo-dev] " Duncan
2011-09-20  0:58                   ` Mike Frysinger
2011-09-20  1:38                     ` Mike Frysinger
2011-09-20  1:52                     ` Duncan
2011-09-22  7:42                 ` [gentoo-dev] " Amadeusz Żołnowski
2011-09-21 16:36       ` Thomas Kahle
2011-09-21 17:13         ` Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox