Re: [gentoo-dev] Temporary DevRel actions for CoC violations

2013-06-20 Thread Luca Barbato
On 06/20/2013 05:53 AM, Diego Elio Pettenò wrote:
 Does this mean the QA lead finally gets to suspend people who are
 patently not suited for developing a stable distribution without
 asking devrel? Because last time we got into the same judge, jury,
 and executioner argument, which I guess was just sent for the gallows
 (pun intended).

I'm not against that, but I prefer setting some fast track involving at
most 3 people and some procedure also for it.

E.g. : you can ask for 6h suspension on direct request and by contacting
a single devrel person to get an 1week suspension within 2 days.

 Mind, it's not like I disagree with at least one of the actions that
 you took recently, but given your surge approach I would like to
 point out that is not your task judging code quality, and yes that
 does make me uncomfortable, that you want to pick up the full power
 at once, and not collaborate with whom should have been involved in
 the process.

As said, this whole thing is just an interim solution till fast-path
procedures get deployed.

lu



Re: [gentoo-dev] Temporary DevRel actions for CoC violations

2013-06-19 Thread Luca Barbato
On 06/19/2013 09:15 PM, g...@malth.us wrote:
 Sorry to hear you have such a low opinion of the socialization of Gentoo
 developers.  Since I'm not one of them, I'll just put forth my 2c in on
 this, without fear of consequences.

Yet even users not behaving will get a friendly warning and might be
restricted in their access to our media.

 Am I the only one who feels that trolling, abuse, and so forth, are largely
 in the eye of the beholder, and that lively, impassioned, constructive
 debate may seem to many readers like hyperbole and ad hominem attack?

So better to try to think twice and write when you are sure you are as
clear as possible =)

 As long as I can remember, candid and even ostensibly hostile debate and
 argument have been a part of the Gentoo process (the same goes for a great
 many open-source projects).  Thus far, although not without some frustration
 and angst, Gentoo has weathered these storms, and somehow managed to make
 sound decisions based on technical and practical merit, after all is said
 and done.

Sure, but since we are getting more and more people burnt by the process
and nothing is gained or lost between:

You suck and this idea is not going to fly at all

and

I'm sure it will not work

 Have you considered the possibility, Markos, that, although not pretty to
 look at, such conflicts provide an important cathartic channel to relieve
 certain psychological pressures?  In environments where everyone is
 expected, on pain of discipline, to be civil all the time, my experience
 is that folks start to build up resentments which eventually explode
 forth, spectacularly, despite -- indeed, one might say, because of -- their
 best efforts to conform to those expectations.

You can be direct and yet not infringe the CoC.

 IIRC, Gentoo already has rules forbidding a laundry-list of antisocial
 behaviors like racism, sexism, threats of violence, and so forth, and some
 provisions in place to handle violators of that policy, does it not?

Yes and now is being enforced fully.

 Further -- and please take this as more of a rhetorical flourish than a
 genuine concern, but, I wonder, whose job it is to muzzle you, Markos, if
 you, yourself get out of line, and will they dare perform it?

The rest of devrel still does have full power, the quick action of the
devrel leader is just a in between once we got to agree on the
quick-action protocol. We have a lengthy procedure for major
infringement and it doesn't work for small infringements.

 Has a clear consensus emerged that existing rules are not strong enough?

Is not a matter of rules, but procedures to enforce the rules.

 Or perhaps, are a vocal minority just butt-hurt about some particular
 discussion that happened recently?  I'm asking fully in earnest, and I
 sincerely hope -- and genuinely presume -- I don't have to worry that I'll
 be muzzled for doing so, on the basis that I'm trolling or what-have-you.

No minorities had been considered, vocal or silent.

 Why should I even feel the need to say so?  Perhaps, that is my problem and
 sheer paranoia, but surely, you can appreciate how such an announcement can
 potentially have certain chilling effects, and that the merits of strict
 enforcement of such well-intended policies are not necessarily so clear as
 they might seem on first glance.

Having a gentler tone would just keep the technical field less prone to
be encrusted with pointless emotional hindrances. Everybody likes to
side between Good and Evil, here we should just have Working and Broken.

lu

PS: I'd advise to try to tone down another notch your vocabulary if you
are afraid of getting some penalty for foul language.



Re: [gentoo-dev] [RFC] SRC_URI behaviour

2013-06-16 Thread Luca Barbato
On 06/16/2013 02:24 AM, Zac Medico wrote:
 How about it we add a src_fetch phase, so that the VCS intricacies
 can be delegated to ebuilds/eclasses (like they are now, but without
 having to abuse src_unpack). If we include a way for src_fetch to
 communicate changes in VCS revisions to the package manager, then
 we'll be able to integrate functionality like smart-live-rebuild
 directly into the package manager (as discussed in bug 182028 [1]).

Sounds interesting.

Still please notice that the initial and misdelivered point about live
ebuild being NOT for everybody beside who develops software should be clear.

lu



Re: [gentoo-dev] [RFC] SRC_URI behaviour

2013-06-15 Thread Luca Barbato
On 06/15/2013 02:34 PM, Vadim A. Misbakh-Soloviov wrote:
 15.06.2013 18:50, Diego Elio Pettenò пишет:
 Over my dead CVS access.
 Any reasonable/argumented objection?

to put in different words:

We do not want to use untraceable/transient/ephemeral sources for main
ebuilds, live ebuilds are corner cases. Ruby related stuff had it worst
regarding mis-packaging and total reliance on git with horrid stories
they might tell you later over a large coffee.

 And, anyway, quoted part is optional behaviour that should just make
 ebuild-writing easy.
 Mandatory part is to be able to have restrict://foo.bar and downloadable
 things at the same time.

In fact the restrict part got some proposals and not a terse and stern
reject.

lu





Re: [gentoo-dev] [RFC] SRC_URI behaviour

2013-06-15 Thread Luca Barbato
On 06/15/2013 05:33 PM, Rich Freeman wrote:
 On Sat, Jun 15, 2013 at 11:24 AM, Brian Dolbec dol...@gentoo.org wrote:
 The other thing is that would put a mandatory system requirement on
 layman which many of the devs would be opposed to. But, there is an open
 bug calling for it to be merged with portage...
 
 Honestly, native support for overlays is something paludis gets right
 - the main tree is just another tree and you prioritize them.

Not sure it is a great idea in practice.

lu







Re: [gentoo-dev] Re: Re: eselect init

2013-06-03 Thread Luca Barbato
On 06/03/2013 02:37 AM, Walter Dnes wrote:
 On Mon, Jun 03, 2013 at 12:35:29AM +0200, Luca Barbato wrote
 
 - eselect init will be opt-in ***FOR THE TIME BEING***, people can
 be left on their own tools if the want it
 
   This statement should bring the same reaction as the posting that udev
 source was being rolled into the systemd tarball.  It implies that
 eselect init will eventually become mandatory.

Let me restate:

As long there isn't a strict necessity the whole machinery should not
impact the normal systems with the default init.

   Your situation is a special use-case, i.e. a developer who wants to
 switch between a production init system, and a test init system,
 possibly multiple times a day.  You're a developer, you know which files
 to change, put together your own scripts, and run them as necessary.
 Set up your own overlay and write your own eselect init ebuild.  No
 problem.  But why should this eventually be a part of mainstream Gentoo?

e4rat, bootchart and other addons might be more mainstream than
gdb-as-init indeed.

   BTW, I'm a bigger fan of busybox than most Gentoo users.  Remember the
 announcement of systemd/udev tarball integration, and supposed
 deprecation of a separate /usr?  I was the -disturber who started up
 the https://wiki.gentoo.org/wiki/Mdev wiki page on how to replace udev
 with mdev.  I also did a page on automounting at...
 https://wiki.gentoo.org/wiki/Mdev/Automount_USB/automount  Having said
 that, I don't see how busybox development justifies an additional layer
 of complexity for everybody's bootup.

It isn't every bootup =)

lu



Re: [gentoo-dev] Re: eselect init

2013-06-02 Thread Luca Barbato
On 06/01/2013 11:23 AM, Steven J. Long wrote:
 That's not an argument for using a symlink switcher or the
 equivalent across the board, by any means.

Your opinion.

 Firstly, we should be recommending people install Gentoo with enough 
 flexibility to configure and use their system how they choose. In the
 UEFI arena, why not simply recommend something like rEFIt instead of
 making everyone go through a load of development effort, to restrict
 us all to a crippled use-case?

Beside rEFIt being deprecated and rEFInd being in early stage of
development (thus working great on some platforms and not working at all
on some other) and with a good chunk of documentation to read before
being able of deploying it?

 NOTE: If you still wish to pursue a fixed config, then it's easy
 enough to build it with init=/sbin/einit since presumably you want
 that setup for your users.

Had been considered

 All I'm saying is: can we please stop trying to reinvent the kernel,
 which accepts a bootloader parameter from initramfs as well, and
 focus instead on the difficult part: making sure the system is in a
 fit state to switch in the first place.

...

 That's where the development effort is needed, if you are to provide
 a mechanism to switch. The symlink and hooks etc is a total dead-end,
 imo. It's simply reinventing the wheel using octagons instead of
 circles.

IMHO you hadn't read enough about it.

 There's nothing to stop systemd being the default init, should you
 want to put the install together like that. Because let's be honest:
 someone has to put this install together, irrespective of how
 incapable the end-user is of editing a file by themselves. And just
 because the user can do it simply, that's no reason to make our
 method to do it any more complex (I've never heard such a bizarre 
 argument.) Just edit the file via script.

I do not care about systemd.

 FOCUS on getting the system safe to switch. Not on reinventing
 init/main.c, badly.

You should read the whole thread before commenting like this that late.

lu



Re: [gentoo-dev] Re: Re: eselect init

2013-06-02 Thread Luca Barbato
On 06/02/2013 08:20 PM, Steven J. Long wrote:
 On Sun, Jun 02, 2013 at 11:15:37AM +0200, Luca Barbato wrote:
 On 06/01/2013 11:23 AM, Steven J. Long wrote:
 That's not an argument for using a symlink switcher or the
 equivalent across the board, by any means.

 Your opinion.
 
 That's not an argument for it either.

Had been explained in the thread, please read it.

 Firstly, we should be recommending people install Gentoo with enough 
 flexibility to configure and use their system how they choose. In the
 UEFI arena, why not simply recommend something like rEFIt instead of
 making everyone go through a load of development effort, to restrict
 us all to a crippled use-case?

 Beside rEFIt being deprecated and rEFInd being in early stage of
 development (thus working great on some platforms and not working at all
 on some other) and with a good chunk of documentation to read before
 being able of deploying it?
 
 The typical thing Gentoo users get told is this is a new thing, it will
 take some time to work out, bear with us as their production servers go
 tits-up around them. So in this case too, work with upstream to implement
 better solutions you, and the wider ecosystem, can all use.

I'm afraid you never used those nor you are in one of those situation in
which you have less options.

 And STILL the best interim solution till your EFI setup has a bootloader.

Again you should read the whole thread, please do, the whole eselect
init stuff should stay opt-in for the time being so all this discussion
is close to pointless.

Consider this email a friendly warning, please do not pollute the Gentoo
media with pointless email when you had been already politely told that
your concern had been addressed in the previous email in the thread.

 You're free to work on whatever you want. You just haven't made any
 case for why the rest of the ecosystem should be crippled to allow for a
 use-case that would be better served by an existing, far more robust
 solution.

Had it been the case we wouldn't had spent some weeks picking our brains
on it.

 Then it can be runit or whatever else takes your fancy. You are ignoring
 the point of that paragraph though: someone has to put the install together.
 
 Or it isn't a Gentoo install.

And you seem to miss the point that all you are telling had been
discussed, taken in consideration and in some part agreed with already...

 Wrt to the first, funnily enough the kernel developers have been here before,
 just like they had with ethN and wlanN. It's a basic requirement for 
 developing
 an OS that you be able to switch init and fallback to other options.

Again you didn't ready or you forgot. I said already I don't care about
systemd many times, yet you failed to remember that.
My specific use-case would require a trip to single mode and a second
reboot, the way I want to do spares that.

On an EFI-stub only system it would require at least a kernel rebuild or
a trip to the efi shell if available.

 Honestly, my goal is a saving of time so people can focus on making the
 eselect module work properly, and be of real value to an end-user who wants
 to switch init.

To not make this a waste of time here a summary of the whole thing:

- eselect init will be opt-in for the time being, people can be left on
their own tools if the want it
- the default init will stay sysvinit. Discussion ongoing if is better
to have it installed in a secondary fallback path is open (e.g. /bin/init).
- I still need to send patches to busybox and sysvinit upstream to add a
command line switch to locate the inittab.
- people wanting to switch init or enable/disable init addons using
eselect init might have to refer to /sbin/einit or such custom path
(assuming we fail to come to an agreement regarding /bin/init)

The wrapper in /sbin/init is mostly needed to get to the point of a
clean reboot.

The first time you boot on a new system it is executed picking the new
init and just that.

For addons such as bootchart2 and e4rat it would do slightly more.

Assuming upstream doesn't accept custom paths for the inittab, for my
specific usecase I might bake something that would remount r/w and pivot
the inittabs.

Anybody willing to do something more extreme could even consider having
/sbin/init as a symlink and have the boot-time configuration switch the
symlink, thus making the whole script run just a single boot per switch.

Not necessary but surely feasible.

lu



Re: [gentoo-dev] Re: Switchup-mode and boottime selector? Was: eselect init

2013-05-30 Thread Luca Barbato
On 05/29/2013 10:55 PM, William Hubbs wrote:
 On Wed, May 29, 2013 at 09:56:00PM +0200, Tom Wijsman wrote:
 There are a couple of other possible approaches...

 1) If the 2 systems can achieve peacefull co-existance (i.e. no
 identically-named files with different contents) then simply have 2
 boot entries in /etc/lilo.conf (or grub equivalant)...

 [SNIP to shorten mail]

 Users can already do this, this isn't a solution.

 We want to make this easier towards the user, therefore doing heavy
 discussion to exhaust all the alternatives and maybe someone's
 interested in implementing one of them that appears most feasible.
 
 Since users can already do this, why are we bothering with re-inventing
 the wheel? How does running an eselect init command make it easier for
 the user than telling them to edit their boot loader config file?

Because to me and many other EFI users is quite annoying having to
rebuild the kernel or do something ugly such as editing a binary file.

Because it isn't just editing a file or rebuilding the kernel but also
have a short trip in single mode to switch back and forth inittab.

Because addons such as bootchart2 or e4rat would be much simpler to use
through eselect init than doing the whole bootloader or kernel-rebuild
dance.

 Gentoo users are expected to build their kernel and write their boot
 loader config file initially, so why are we trying to dumb this down?

Because usually we aren't linux from scratch and we try to automate as
much as we could, leaving the options there to be selected =)

lu



[gentoo-dev] Re: inittab was: Re: Switchup-mode and boottime selector? Was: eselect init

2013-05-30 Thread Luca Barbato
On 05/30/2013 10:52 PM, William Hubbs wrote:
 On Thu, May 30, 2013 at 08:30:00AM +0200, Luca Barbato wrote:
 Because it isn't just editing a file or rebuilding the kernel but also
 have a short trip in single mode to switch back and forth inittab.
 
 inittab is only used by sysvinit and busybox init right?

By anything that claims to be init-compatible.

 If so, it is unfortunate that busybox init uses inittab and its inittab
 is not compatible with sysvinit.

Surely is.

 I'm tending to agree with mgorny that a better fix for this might be to
 have busybox use an alternate filename for its inittab, i.e. 
 first look for /etc/bb-inittab and use it, then if it can't find that,
 use /etc/inittab as a fallback.

sending patches should be easy.

 What do you think?

I stated the worst cases, I guess is time to draft stuff and see how it
does behave.

lu





Re: [gentoo-dev] Separate boot/root already [WAS: eselect init]

2013-05-28 Thread Luca Barbato
On 05/28/2013 01:45 AM, Walter Dnes wrote:
   Out of sheer curiosity... is bb-init based on busybox?  If so, a

it IS busybox =)

 separate partition would also prevent standard utilities from stomping
 all over their busybox symlink equivalants.  Add another entry to the
 grub/lilo menu, and boot from that.

You don't need symlinks, you have a startscript that runs busybox ash,
then it will use all its applets, init included.

This way about all the openrc shell scripts is executed by the same
interpreter and sed/grep and such are just function calls and not
slightly more pricy fork+exec.

Doing this way you get a quite fast boot and depending on your needs you
can leverage more busybox applets to replace even more programs (e.g.
dhcpcd).

That would be the theoretical fastest boot possible short of integrating
start-stop-daemon in busybox.

lu



Re: [gentoo-dev] eselect init

2013-05-27 Thread Luca Barbato

On 5/26/13 4:58 PM, Ian Stakenvicius wrote:

The way it's being proposed (and please correct me if i'm wrong), the
wrapper is a direct replacement binary (small C program) for all init
systems, and would based on some configuration file or whatnot
determine and exec the init system it's supposed to -- and make any
other necessary changes too, such as switching /etc/inittab)


The really minimal wrapper would be something like

#!/bin/sh

INIT=/bin/init

if [[ -e /etc/switch-init ]]; then
. /etc/switch-init
fi

exec ${INIT}

With switch-init doing stuff needed, including remounting the rootfs rw 
if there are stuff to be changed and if we want stick to symlinks it 
could replace itself by a symlink.


Yes, it would be that simple.

lu



Re: [gentoo-dev] eselect init

2013-05-27 Thread Luca Barbato

On 5/28/13 6:19 AM, Michał Górny wrote:

And you actually make the boot depend on:

1) valid /bin/sh


If it doesn't exist you have a few order of magnitude bigger problem.


2) valid /etc/switch-init which would not interfere with boot process.


I guess if you want to switch init system you need that =)


With switch-init being executed as a shell script, it can do anything.


Yes and that's the beauty of it.


And I wouldn't be surprised if you made it do various things you'd like
to be done.


I would be surprised if I'd make it do various things I won't like to be 
done, surely a possibility, albeit unlikely.



Not to mention what would happen if it gets corrupted into
binary mess and shell tries to execute that.


Having your rootfs corrupted is quite bad, even horrible if an ephemeral 
file gets corrupted through reboot.



There's no fallback that could handle shell failures, you know.


I guess your knowledge of shell needs to be expanded, beside that it is 
easier to write an example using shell pseudocode to explain how it 
could work.



That said, here a friendly suggestion: try to be less destructive in 
your comments and fix your mailer. Both can be annoying in the long run.


lu



Re: [gentoo-dev] eselect init

2013-05-26 Thread Luca Barbato

On 5/26/13 8:43 AM, Michał Górny wrote:

On Sat, 25 May 2013 11:54:48 +0200
Luca Barbato lu_z...@gentoo.org wrote:


- /sbin/init (or whatever linux currently calls by default with top
priority) should be either a symlink to the actual implementation or a
wrapper such as our gcc one. I like better the latter since it is
overall safer. The former might or might work since linux has some
fallback capabilities but hadn't been tested.


Increased complexity is never safer. And a wrapper means the additional
complexity gets there every boot. And considering how the discussion
goes, the wrapper will grow openrc-size in a few months...


Openrc is small, but the wrapper really needs to know which is which and 
worst case switch inittab.



Symlinks are simple. They're filesystem feature, they're handled
by kernel. The worst thing that could happen is symlink target
disappearing -- but then it's:

a) our responsibility to make sure to call eselect-init (if applies)
when uninstalling an init system,

b) something that would fail anyway if user did that by hand.

Linux fallback mechanism is *good enough*. You may think that fallback
to sysvinit is good but it's not. *If* I have my system set up to boot
X, at some point the config for Y will get seriously outdated.


Have you tested it? Do you know what is the reaction of do_exec on a 
dangling symlink?



I use systemd for a few months now, and last time I checked openrc
boots somehow. But considering the general complexity of it, I wouldn't
be much surprised if it failed in funny ways (like not being able to
handle automounts properly), caused cruft on the filesystem or even
caused *damage*.


openrc is *simpler* much *simpler* than systemd, stop with that.


And since you've been failing long at keeping init.d scripts simple
and reasonable, the damage potential is not something purely
theoretical.


wc -l is a good answer to your concern. Some scripts have to be 
simplified, that's a given (e.g. Fabio pointed the lvm one can be 
improved a lot) but it isn't the case for most of them.



Pointless and overcomplex. If an init system actually fails to work
when /sbin/init doesn't point to it, it is seriously broken by design.
And because of that breakage, we keep stuff like 'telinit' or 'reboot'
intact, and because of it systemd has 'pass-through' mode when linked
to /sbin/init.


Check your facts, systemd either understands a flavour of inittab or the 
other or none at all.



Which means the kernel fallback will be dangerously active
as I explained before. Just don't do it.


It is not dangerous beside for those that have an inittab with rm -fR /

lu



Re: [gentoo-dev] Going against co-maintainer's wishes (ref. bug 412697)

2013-05-26 Thread Luca Barbato

On 5/26/13 9:45 AM, Michał Górny wrote:

As in, say, lastrite GNOME and tell users to switch to other distro?
Or maybe everything using udev? Sounds much like the way to get
the 'one distro' dream some people have. But wasn't the intent opposite?


eudev was made on purpose to let people avoid systemd if they wanted, 
and it is why people involved on it got stalked and had that much fun.


lu



Re: [gentoo-dev] Reusing systemd unit file format / forking systemd

2013-05-26 Thread Luca Barbato

On 5/26/13 9:37 AM, Michał Górny wrote:

By the way, we should really keep the separation between systemd itself
and the unit files. I agree that systemd is not the best thing we could
have. But the unit file format is, er, good enough -- and has
the advantage of eventually taking a lot of work from our shoulders.


Unit files had been considered when I started exploring the idea, sadly 
Joost shown me their limitation wouldn't make people life exactly happy.



Although some of the ideas (esp. wrt targets) are near to crazy
and awfully hard to understand, that's what we have and trying to do
something else is eventually going to make people's lives harder.


Making better mousetraps usually works fine: as long you have generators 
that are good enough to get something working nobody would complain.



We should *really* work on supporting the unit files within OpenRC
(aside to init.d files). That's a way to at least:

a) reuse the work that has been done upstream already (when it was
done),

b) have common service names and startup behavior in all relevant
distros (which is really beneficial to the users).


Can be done notwithstanding the rest.


Considering the design of OpenRC itself, it wouldn't be *that hard*.


It is sort of simple.


Actually, a method similar to one used in oldnet would simply work.
That is, symlinking init.d files to a common 'systemd-wrapper'
executable which would parse the unit files.


A compiler is an option as well, as said unit - runscript should map fine.


On the completely different topic, I agree that systemd design is far
from the best and the way it's maintained is just bad. I was interested
in the past in creating an improved alternative using compatible file
format and libraries, while choosing a better design, improving
portability and keeping stuff less integrated.

But the fact is -- I doubt it will make sense, much like the eudev
project. And it will take much more work, and give much less
appreciation.


Having stand alone component would probably win you many friends and if 
the whole thing could work on something 
non-linux-latest-with-latest-glibc you'd have one less technical concern.



First of all, working on it will require a lot of work. Seeing how
large systemd become and how rapidly it is developing, establishing
a good alternative (even dropping such useless parts as the Journal)
will take at least twice that work.


You make clean blueprints, get enough people agreeing with them and 
implement simple workalike for what you care about.


For example logind seems to be the current fad.


The systemd haters will refuse the project because of its resemblance
to systemd. The systemd lovers will refuse it because of its
resemblance to systemd. And the OpenRC lovers will want to design it
to resemble OpenRC which is just pointless. Then the few remaining
people will find systemd 'good enough'.


systemd haters, as you name them, could be split in few groups:

- those that consider systemd a bad idea because it is a single item 
with many parts that would break horribly, if your idea is to make it 
less tightly coupled and with less parts many would consider helping.


- those that consider systemd a bad idea because of the force feeding 
theme started with udev incorporation and continued with logind and 
such, again if you are creating alternatives the people would help gladly.


- those that consider key part of systemd just wrong the limitation in 
the unit format or path activation as panacea, in that case you have to 
make clear the scope of your project, you might win few or lose some.



And even if there are a few people who will want to work on it,
and design a 'good systemd', they wouldn't get much appreciation.
Fedora definitely won't care for it. It would have to be really
definitely awesome for most Linux distros to even notice it.
And I doubt *BSD people would be interested in something external.


Make it bsd and they would consider helping.


It is possible that systemd upstream will steal a few patches or ideas
from it. Yet they will never apply any of the really important changes,
so the project will have to be maintained indefinitely. The only hope
for it would be to win over systemd users which I doubt will happen.


Or just make something useful, winning or losing is for the people using 
it. If it works and works fine people will use it.



So there's a lot of work, no fame or money in it, and most likely more
work being the only future. Anyone volunteering?


Probably would be better sit down, figure out exactly what you want and 
see who has interest:


E.g.

Init-project

- portable   - must work on non-linux and non-glibc more or less decently
- modular- loose coupling of functionality
- robust - the core functionality must not crash or remain 
inconsistent because of libdbus or such often occurring problems 
unrelated to

- compatible - should grok at least a good subset of systemd unit files.


On a side note I 

Re: [gentoo-dev] eselect init

2013-05-26 Thread Luca Barbato

On 5/26/13 12:57 PM, Michał Górny wrote:

On Sun, 26 May 2013 11:55:24 +0200
Luca Barbato lu_z...@gentoo.org wrote:


On 5/26/13 8:43 AM, Michał Górny wrote:

On Sat, 25 May 2013 11:54:48 +0200
Luca Barbato lu_z...@gentoo.org wrote:


- /sbin/init (or whatever linux currently calls by default with top
priority) should be either a symlink to the actual implementation or a
wrapper such as our gcc one. I like better the latter since it is
overall safer. The former might or might work since linux has some
fallback capabilities but hadn't been tested.


Increased complexity is never safer. And a wrapper means the additional
complexity gets there every boot. And considering how the discussion
goes, the wrapper will grow openrc-size in a few months...


Openrc is small, but the wrapper really needs to know which is which and
worst case switch inittab.


Switch inittab? Now you added really dangerous behavior to the wrapper
code. I can hardly even express this in words.


I need it for my purpose, bb-init syntax isn't the same as sysv.


You are telling me that a wrapper, a thing that gets executed *every*
boot needs to do some random magic to know which init system was in use
and which one is supposed to be in use, and then conditionally move
around configuration files necessary for it to run. This is just
*INSANE*.


I like to think it normal and the wrapper doesn't need to run every time 
but only when a switch had been requested. And only if you prefer doing 
the switch at boot time instead than at shutdown.



Did anyone notice already that moving stuff around actually requires
rootfs mounted R/W? Which means the wrapper needs to repeat a fair bit
of init/RC work.


Noticed and known issue, I merely stated which are the options on the 
plate, keep in mind that init addons people use and we distribute do 
even more evil stuff.



And what will happen if moving the files fail? What if half of
configuration belongs to old init, and half to new? And it all happens
automagically on boot, on an incomplete system without any console
started, without Internet connection established and without any
serious mean of help.


You can:

- consider rolling back
- drop to a shell

Nothing so terrible.


And did you? You keep repeating this and jumping straight to developing
work-arounds without even waiting for an answer. And I think William
has already spoken that the code supports it.


I read the code up to do_exec, given for me it would require have a 
roundtrip to the efi shell I was hoping those proposing that would do 
that basic homework =)



In any case, I've just tested it. Replaced /sbin/init with a dangling
symlink, rebooted with init=/sbin/init and the kernel ran /bin/sh
as a fallback.


That's all I wanted everybody knows, thanks for helping.


OpenRC relies on a few layers of various tools plus a lot of init
scripts written by different people. Those init scripts include tasks
such as parsing configuration files (well, more of grepping them)
and manipulating runtime files. The complexity of OpenRC is the sum
of all that.


I read it as as complex as the user wants.


To make this point cleaner to you: what if the fallback ran systemd
instead? As in, init gets broken somehow and kernel falls back to
starting systemd on your unprepared OpenRC system. Is this a behavior
you'd like?


I would expect any sane init would get me at least to their single mode.


What I'm telling is: if user uses A as init system (and wanted to switch
to B), last thing he'd expect is C being started. Configuration for
OpenRC may be long unmaintained, may start services which are not
supposed to be started anymore and so on.


The safest would be dropping to a shell in your scenario.

As I stated from start the switch on boot would work so the wrapper 
checks a switch had been requested, it knows the current init, that must 
work since worked the previous boot, the next init, that supposedly 
should work, does the pivoting, shuffling and such and the next boot it 
just hands over to the current init.


The wrapper could even install and uninstall itself.

Again, my object of interest is being able to use bb-init and runit.


We're not talking about percentages here. A *single* fragile script is
enough to cause trouble. Ten good ones won't revert it.


A single fragile script can be fixed I guess, which is the one you have 
in mind that is concerning?



What are you talking about now? I was just saying that *if* you
link /sbin/init to systemd, and you're running sysvinit, 'init foo'
will be passed through to telinit.

But now I see that I was wrong and it actually happened when
'systemctl' was symlinked to 'init'. Nevermind then.

In any case, keeping all the tools like 'telinit' should be *enough* to
keep the current init running and rebooting.


You are focused on systemd, I'm focused on bb-init among the rest, it 
uses a different syntax for the inittab, so if you want to switch from 
one or another you either prepare a least

Re: [gentoo-dev] Reusing systemd unit file format / forking systemd

2013-05-26 Thread Luca Barbato

On 5/26/13 1:31 PM, Robert David wrote:

Come on, it is 2013, wasting few inodes. I did not got these problems
in the old good times with my 386 with 4mb ram and few MB hdd.
Those with embedded system will mask many other files, not only
systemd units (so they save one inode more with my approach, when need
no initscript-wrapper).
Users of regular server/desktops/laptops, 10-20 inodes more? They would
rather won't use Gentoo with its portage tree or do not compile
kernel sources, etc.


The fact we are already the worst offenders won't make thinking about 
impacting a little less not that important.


System with the problem keep portage in a separate fs.

lu




Re: [gentoo-dev] Reusing systemd unit file format / forking systemd

2013-05-26 Thread Luca Barbato

On 5/26/13 1:15 PM, Michał Górny wrote:

I'd suspect this is mostly with the growing irritation of systemd
haters who spawn endless threads about how they hate anything with
'systemd' name in it. Plus the people who try hard to port the mistakes
of OpenRC init scripts to systemd services files.


Here we have a problem, the people that need more flexibility to 
actually get work done will see that the inflexibility of the unit 
format will bite them and bite them hard.


A simple example is something fairly easy for a runscript and quite 
annoying for an unit, multiple instances.


for openrc you can just symlink using a proper pattern and have the 
initscript figure the right configuration and which user/chroot use to 
drop the daemon.


for systemd you have to copy and edit since most fields are immutable 
(some are with special rules).


This is something you tend to use a lot for certain kind of services and 
is made really easy and uniform in openrc while lsb and freebsd tend to 
have per-script rules.



I have my limits, and I'd really prefer doing something useful rather
than setting up random things straight, fighting developers and making
sure everything keeps working in a semi-sane way.


Your dedication is commendable, I do appreciate your help in Gentoo a 
lot even if we can disagree on some decisions.


I know that discussing systemd can get quite annoying since it can 
easily drift from technical (e.g. my concern regarding dbus) political 
(systemd as Trojan horse for something else and other strategical 
concerns), or personal (some people consider Lennart a 
dangerous/poisonous person) and gets quite easy to mix things up and end 
up discounting technical concerns by telling that you said this or that 
just because you hate Lennart.


lu





Re: [gentoo-dev] eselect init

2013-05-26 Thread Luca Barbato

On 5/26/13 2:08 PM, Michał Górny wrote:

You could've asked me that when I was still using OpenRC. I don't
really want to grep the 40 scripts right now, and I don't think I have
the worse cases installed here.


Worth investigation, not by you, but those that loathe systemd should 
have a look and see if they could fix some.



For your needs probably just pivoting a symlink should work almost fine,
as long your stay sysvinit compatible, yet doing that as early init or
as post kill-all should work better even in your case.


Well, you're transforming a simple idea with potentially relatively
wide audience into a horror story with a single user.


Hopefully not =) I just stated what's the problem and the possible 
solutions. As said from start I want the whole thing to be an opt-in and 
to cause the least amount of disruption on current setups.


Patching sysvinit and bb-init to accept a -c filename would make the 
whole thing much simpler if we pick a wrapper solution for my most 
complex case.


lu



Re: [gentoo-dev] Reusing systemd unit file format / forking systemd

2013-05-26 Thread Luca Barbato

On 5/26/13 3:35 PM, Sergei Trofimovich wrote:

On Sun, 26 May 2013 13:59:34 +0200
Luca Barbato lu_z...@gentoo.org wrote:
You need to name a unit with @ suffix, like openvpn@.service:

 $ cat /etc/systemd/system/openvpn@.service
 [Service]
 Type=simple
 ExecStart=/usr/sbin/openvpn --user openvpn --group openvpn --cd 
/etc/openvpn --chroot /var/run/openvpn --config %I.conf

feel free to sprinkle %i (and others) for templating.


Feel free to check which fields accept %expansions and which do not, 
last time I heard some fields do not. If it had been fixed I'm glad.


lu



Re: [gentoo-dev] eselect init

2013-05-26 Thread Luca Barbato

On 5/26/13 1:58 PM, Tom Wijsman wrote:

On Sun, 26 May 2013 12:57:42 +0200
Michał Górny mgo...@gentoo.org wrote:


Switch inittab? Now you added really dangerous behavior to the wrapper
code. I can hardly even express this in words.


It doesn't need to be in the wrapper, inittab is something read at boot
only as far as I am aware and therefore eselect can do it.


Apparently it is read when you switch runlevel as well.

lu




Re: [gentoo-dev] eselect init

2013-05-26 Thread Luca Barbato

On 5/27/13 12:58 AM, William Hubbs wrote:

From what I just read, the difference is that busybox init ignores the
runlevels specified in sysvinit inittab.


Nope, it interprets the numbers in a different way.


If that's the only difference, do we really need to modify the inittab
at all?


Yes, I tested it first and got the whole system unworkable, one single 
mode later I baked something to get at least the minimal functionality, 
supporting our xdm script properly required some more effort I hadn't 
time to pour that day.


lu




Re: [gentoo-dev] eselect init

2013-05-26 Thread Luca Barbato

On 5/26/13 4:13 PM, Ian Stakenvicius wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 25/05/13 03:08 PM, Matthew Thode wrote:

On 05/25/13 05:25, Peter Stuge wrote:

Luca Barbato wrote:

- init gets effectively switched only at boot/reboot


Please not on reboot, because an unclean shutdown shouldn't leave
the system in limbo.

On boot could work, except that it does add more steps (= more
fragility) to the boot process, which I think everyone wants to
avoid.

I would actually expect the change to take effect immediately.


//Peter


the final action before / is remouted ro at shutdown would make
sense to me.  It's either that or first action at boot.



First action at boot, without an initramfs, is too late isn't it?


bootchart2 shows that is quite possible and working fine for it =)

The current mode to switch init manually for my use-case is to drop to 
single user, do your stuff, reboot or reload init if the init or the 
operating system supports it.


Drop to single user is quite the same as rebooting anyway.

lu



[gentoo-dev] eselect init

2013-05-25 Thread Luca Barbato
Hi, since the whole discussion got somehow sidetracked on where and if
to install for everybody the rc system specific files for everybody
(that should be an implementation detail for the specific dohelper
IMHO), I'm back to the other part of it: switching the actual init
implementation.

# WHY (not just edit your bootloader)

Since efi at least some people started to put in the kernel the bootargs
and we have at least few new options brewing for init, some are
small impact (bootchar, bb-init-openrc and runit-openrc) some are more
invasive (runit and systemd).

In those setup changing bootargs requires a kernel rebuild and some
effort, while the eselect approach stays completely transparent.

For some switch we might not have just to change the init binary bit
also to do some other changes (e.g. use a different format for inittab)

# KEYPOINTS

- /sbin/init (or whatever linux currently calls by default with top
priority) should be either a symlink to the actual implementation or a
wrapper such as our gcc one. I like better the latter since it is
overall safer. The former might or might work since linux has some
fallback capabilities but hadn't been tested.

- init gets effectively switched only at boot/reboot, eselect init must
keep track of the current active init and make sure the current init
configuration is used till the system reboots, if we use the wrapper
approach, it would pick up what's the new init at boot and that would be
enough for simple cases, hooks on reboot are still needed for more
complex ones.

- we could try to not have the changes to the current init systems
ebuild or reduce them to the bare minimum (e.g. not overwrite /sbin/init)

# FOCUS

My interest is mostly if not all on bb-init-openrc and slightly on
runit-openrc.

There are enough people involved in systemd and since I still consider
it a dangerously frail implementation of a bad idea is better if I do
not touch it at all.

My system with stock openrc gets from linux start to graphical login in
less than 6s and I'm not using Gnome so I do not have any reason to use
it beside comparing.

lu



Re: [gentoo-dev] eselect init

2013-05-25 Thread Luca Barbato
On 05/25/2013 01:29 PM, Sergei Trofimovich wrote:
 If you can't change options at boot time it's very simple to get
 unbootable system. Just curious, who does such systems and
 how root filesystem (+ it's mount options) is expected to be
 found there?

You write your bootargs in the kernel, if you really must you can go to
the efi shell and override by hand.

you can surely install an efi ui on top of your efi implementation but
that's unrelated. My current setup works decently the way I mentioned
and I guess more than a single person might use it.

 I'd go for init=/sbin/gentoo-init and make all the messy stuff there.
 Otherwise by breaking /sbin/init it would be hard to find proper
 name of, say, SYSVs /sbin/init. How would you call it?

/bin/init is my idea (second in the list in linux fallback), otherwise
we can just make the wrapper use a non-taken name and have people
willing to play with it just reroll their kernel/boot system.

lu






Re: [gentoo-dev] eselect init

2013-05-25 Thread Luca Barbato
On 05/25/2013 01:13 PM, Pacho Ramos wrote:
 El sáb, 25-05-2013 a las 11:54 +0200, Luca Barbato escribió:
 Hi, since the whole discussion got somehow sidetracked on where and if
 to install for everybody the rc system specific files for everybody
 (that should be an implementation detail for the specific dohelper
 IMHO), I'm back to the other part of it: switching the actual init
 implementation.

 # WHY (not just edit your bootloader)

 Since efi at least some people started to put in the kernel the bootargs
 and we have at least few new options brewing for init, some are
 small impact (bootchar, bb-init-openrc and runit-openrc) some are more
 invasive (runit and systemd).
 
 I use e4rat and, for that, I need to add 
 init=/sbin/e4rat-preload
 
 to my grub.conf, I guess this wouldn't change with this, no? :/

mostly you would be able to do

# eselect init addon e4rat

instead.

But the whole eselect init should be an opt-in till we are 100% sure it
covers the usual scenarios.

The basic idea is that you would have a wrapper (shellscript or binary)
that just reads from a known location what to run once and what to run
the following times, something along the lines of

if (switching)
do_switch
else
exec $real_init

With all the possible failovers.

lu



Re: [gentoo-dev] eselect init

2013-05-25 Thread Luca Barbato
On 05/25/2013 02:13 PM, hasufell wrote:
 Isn't eselect for cases where I might want to reconfigure something or
 add configuration values such as for bash-completion, do testing with
 java-vm or python implementations during development, switch opengl
 implementation depending on the graphics driver loaded and whatnot.
 
 I don't see any of this applying to init system, nor do I see a reason
 to randomly switch between those. It's rather something to configure
 during installation, so I'd rather expect proper documentation.

Beside switching completely init system (since there is this itch to try
new toys here), you also have addons such as benchmarks such bootchart,
fs layout mappers/optimizers such as ureadahead and e4rat.

Some are something you want to run on-off.

All this started because Fabio had enough people pestering him about
systemd and he wanted some simple way so people could try it and get
back once burnt or vice-versa.

I have my uses for it since beside using bb-init to shave some time
spent spawning ephemeral processes on complex runscript, there is also
the runit integration in openrc that would feel bad having it rotting in
a branch w/out making it available and it has the very same issues you
have with systemd.

So having an eselect applet for this kind of purposes makes sense.

lu



Re: [gentoo-dev] Usage of dev-utils/ninja in ebuilds

2013-05-25 Thread Luca Barbato

On 5/25/13 9:17 PM, Tom Wijsman wrote:

On Sat, 25 May 2013 14:48:30 -0400
Mike Gilbert flop...@gentoo.org wrote:


For those unaware, dev-util/ninja is a make-replacement created by one
of the Chromium guys at Google. Its focus is on making incremental
builds of large software faster.


I've no idea how this would work out, so I'm asking some questions from
different perspective to form a better idea; this may step aside your
discussion but on the other hand could help other unaware developers.

If I missed earlier ML discussions on this by not paying attention or
being too new, feel free to point me to those; no need to repeat. :)



Ninja is simpler than make and strives to be as essential as possible, 
for those that know exotic build system is a close relative to plan9 mk.


Ninja doesn't make any effort to make its build rules human readable, as 
said they have to be generated by something else, not sure how easy/hard 
would be debug the generated file.


Being what it is used by default by upstream, probably it makes sense 
using it for building chromium.


Using it on cmake shouldn't make much, if any, difference speed wise and 
would just make cmake build require yet another building block so I 
wouldn't use it if there aren't clear advantages in doing so (somebody 
could benchmark so we can see how it fares)


lu



Re: [gentoo-dev] Going against co-maintainer's wishes (ref. bug 412697)

2013-05-25 Thread Luca Barbato

On 5/25/13 6:48 PM, Michał Górny wrote:

On Sun, 26 May 2013 00:14:36 +0800
Ben de Groot yng...@gentoo.org wrote:


I'm taking this from https://bugs.gentoo.org/412697 to the dev mailing
list, since this discussion doesn't really belong on bugzilla.


Seems that *upstream* had to a bit of work in order to support the 
various bits of systemd (not just the simple unit apparently)


I can understand there is some hurry so somebody could gloat and even 
Gentoo/Sabayon supports systemd, yet I wouldn't *rush* things and I 
would consider getting something sorted out sanely for everybody.


I doubt I would be treated that nicely if I start spamming all the 
upstreams about supporting runit and demand they to maintain those init 
rules.


We can be kind with difficult upstreams but just up to a point.

That said, I'd rather have set something along the lines of:

- get the eselect init machinery in place

- decide seriously if we want to consider units (and init.d files) as 
manpages and threat them in the same way. This way nosystemd in the 
features would spare you some files as it does for manpages.


- repeat the same treatment for openrc and runit runscripts.

The alternative of having split packages seems a waste of inodes, 
probably in the end having the package manager keep track of this data 
would be better.


lu



Re: [gentoo-dev] Re: Making systemd more accessible to normal users

2013-05-22 Thread Luca Barbato
On 05/21/2013 09:03 AM, Alan McKinnon wrote:
 On 21/05/2013 05:03, Daniel Campbell wrote:
 That's missing the point. If you don't run systemd, having unit files is
 pointless. Thankfully there's INSTALL_MASK and whatnot, but that seems
 like a hack instead of something more robust. Why include systemd unit
 files (by default, with no systemd USE flag, thanks to the council...)
 on a system that's not using it? 154 files isn't negligible unless
 you're flippant with your system and don't care about bloat. Unused
 software sitting around *is* a waste of disk-space.

 Some people (like myself) came to Gentoo to avoid putting systemd on
 their systems and to make use of the great choice that Gentoo allows.
 This push to make systemd a first level citizen or whatever reeks of
 marketing. If there is desire among users for unit files, they can
 contact upstream or maintain their own set of unit files. It's not like
 they're hard to write.

 
 amused long-term user chipping in
 
 This is such a weak argument it's quite laughable.
 
 I don't like gnu info files. Neither me nor anyone I know can figure out
 how to drive info. So, let's rip all the info files out of every
 package; leaving the 3 users who do know info free to grab their copies
 from upstream. I mean it's not like it's hard or anything, and info
 files are easy to write.

check the FEATURES variable and be surprise =) (from man make.conf)

  nodoc  Do not install doc files (/usr/share/doc).

  noinfo Do not install info pages.

  noman  Do not install manpages.

Adding a nounits norunscript and such might work and had been proposed.

lu







Re: [gentoo-dev] Making systemd more accessible to normal users

2013-05-15 Thread Luca Barbato
On 05/15/2013 03:41 PM, Fabio Erculiani wrote:
 Are we realizing that in order to keep systemd out of our way, we're
 currently writing and maintaining drop-in replacements for the
 features that systemd is already providing in an actively maintained
 state? openrc-settingsd was the first thing that we as Gentoo
 developers (Pacho?) had to write in order to merge GNOME 3.6 into our
 tree.

 And now that GNOME 3.8 is out, the game starts over again: logind is a
 hard requirement, logind is part of systemd, starting logind (which
 replaces consolekit) is not that trivial as you may think (and is the
 thing I started to work on anyway).

 And if this wasn't enough, it means that if you want GNOME 3.8, you
 need to get logind, which may or not may get included in our udev
 ebuild and if it won't, it means that you will be forced to use
 systemd as device manager if you want GNOME 3.8, which is believe it
 or not, the thing that Ubuntu did.

 The problem will only increase in size as the clock moves.

And given that the end-plan according to the guys is to kill the
distributions shall we just close Gentoo now?

 And (and!) how does all this fit together with eudev? If the idea is
 to either put logind in udev (thus, not creating a separate logind
 ebuild), it means that eudev is already a dead end for GNOME users,
 unless the eudev team is going to provide logind as well.

Are there specifications regarding logind ? Is that so incredibly
terrible write and maintain 1k loc?

 I don't want to start a flamewar here, I was the one who called
 Lennart software lennartware, but science is science, and a reality
 check had to be done: at some near point in the future, our users will
 be forced to replace udev/eudev with systemd. Like it. Or not.


Science is science, systemd doesn't work with anything but linux, Gentoo
in theory should care about not-linux.

 While I successfully use both openrc and systemd, I _do_ think that
 (and expect to see) more and more users (and developers) will be
 switching to systemd.

Surely sysadmins will be delighted about that.

 Is there anything we can do? Besides being prepared, I don't think so.
 Do we control upstreams? No, sorry.

I'm upstream for some stuff, vlc was already really close to force-kill
pulseaudio because of some cute problems, the thing got otherwise fixed.

Upstream does what is most sensible for the users, usually.

Freebsd, openbsd and some other operating systems are still there, they
have their reasons and usually work better in those fields than other,
I'm sure some people would wish to kill them, not going to happen
anytime soon.

 So what do we want to do then? Isolate from the rest of the world?

The world is bigger than that and we were making bridges around, *why*
severing them because somebody else decided for you?

 (It's not a sarcastic question). I hope that everybody does their own
 reality check. 

Did mine, other experienced the hard way what I said many times.

Gnome doesn't seem a good reason to leave in the cold people that do not
even care about it.

lu



Re: [gentoo-dev] Making systemd more accessible to normal users

2013-05-15 Thread Luca Barbato
On 05/15/2013 05:03 PM, Luca Barbato wrote:
 On 05/15/2013 03:41 PM, Fabio Erculiani wrote:
 Are we realizing that in order to keep systemd out of our way, we're
 currently writing and maintaining drop-in replacements for the
 features that systemd is already providing in an actively maintained
 state? openrc-settingsd was the first thing that we as Gentoo
 developers (Pacho?) had to write in order to merge GNOME 3.6 into our
 tree.

To make it even clearer.

In order to support a good amount of users out there that do not care
about gnome and cannot use systemd we can see and bake alternatives that
are compatible enough.

Those that can't use systemd:

- those not using the latest glibc (and maybe uclibc)
- those not using a recent linux kernel
- not sure about cgroups-users, the lxc vs systemd problem should be
  solved I hope

That's what I'm aware of.

lu



Re: [gentoo-dev] Making systemd more accessible to normal users

2013-05-15 Thread Luca Barbato
On 05/15/2013 07:26 PM, Tom Wijsman wrote:
 On Wed, 15 May 2013 17:03:13 +0200
 Luca Barbato lu_z...@gentoo.org wrote:
 
 On 05/15/2013 03:41 PM, Fabio Erculiani wrote:
 ... GNOME ...

 And given that the end-plan according to the guys is to kill the
 distributions shall we just close Gentoo now?
 
 Let's not exaggerate things, there are a ton of other DEs out there;
 are all of them starting to depend on systemd specific features?

Luckily not, yet _that_'s what is in the roadmap apparently.

 Whether or not it is terrible, it is a time sink; is it worth doing it?

For any non-linux, less-than-3.x-linux, non-glibc system user probably.

 Indeed, the goal here is solely to make systemd more accessible; we
 shouldn't pursue it to be the main init system or force it upon users,
 unless there are indicators in the future that it became better (eg.
 supports BSD, ...) for everyone.

And that has my support, there is disagreement on what that entitles.

 Used GNOME for months, then with 3.6 - 3.8 it started to break on me;
 it didn't work on either OpenRC or systemd. While I was a happy user at
 first, recent events made me lose interest in it; I think a discussion
 regarding init systems and similar software shouldn't be focused on a
 single DE, so I too am not sure why focus is laid on GNOME here...

Since it is the DE forcing all those changes down distribution throats.

lu



Re: [gentoo-dev] Making systemd more accessible to normal users

2013-05-14 Thread Luca Barbato
On 05/10/2013 09:45 AM, Ralph Sennhauser wrote:
 [1] http://fedoraproject.org/wiki/Packaging:Systemd#Unit_Files

What if openrc/upstart/runit devs start harassing upstream in the same way?

Strategically is great, but isn't exactly something nice to do.

Probably people caring about alternatives should start bothering
upstreams likewise and we'll see how it goes.

I'm sure that *everybody* would be delighted to provide those 4-5
different initscripts because one distribution or the other wants others
do the work for them...

I'm saying again that trying to get a good intermediate representation
and have a generator (eselect based maybe) provide the init-specific
file would be much better.

In the end initscripts are usually distribution dependent since they are
an integration step.

lu



Re: [gentoo-dev] Making systemd more accessible to normal users

2013-05-05 Thread Luca Barbato
On 05/04/2013 03:12 PM, Fabio Erculiani wrote:
 I just forgot the tricky part.
 If future lvm versions are going to use udev more extensively (for eg:
 storing more critical metadata in it), the net result will be that
 mdev won't work anymore. This is why I wrote that lvm is working by
 miracle for now.
 mdev is not future proof wrt lvm support.

Sounds dangerously bad, I guess the response by the interested parties
(e.g. nas builders) will be moving lvm in bb or switch to dragonfly or
freebsd.

lu



Re: [gentoo-dev] Making systemd more accessible to normal users

2013-05-05 Thread Luca Barbato
On 05/04/2013 03:05 PM, Fabio Erculiani wrote:
 Long story short, we should:
 1) give up with cross compiler support in genkernel, which has been
 anyway in a broken state for ages. Nobody is using it anyway.
 2) make possible to optionally use udev in the initramfs (compiling
 just for it is a pita and the trend here [dracut and others do this]
 is to copy udevd from the system)
 3) default to udev?

Uhm... sounds quite unpleasant and I'm really wondering why having udev
as middle-man for storing userspace metadata. The netlink broadcast
should be available to everybody for acting upon, using/extending it for
such tasks isn't possible?

lu



Re: [gentoo-dev] Making systemd more accessible to normal users

2013-05-04 Thread Luca Barbato
On 05/01/2013 12:04 PM, Fabio Erculiani wrote:
 PLEASE DO NOT START A FLAME WAR AND READ ON FIRST.
 THIS IS NOT A POST AGAINST OPENRC.

Amen

 With the release of Sabayon 13.04 [1] and thanks to the efforts I put
 into the systemd-love overlay [2], systemd has become much more
 accessible and easy to migrate to/from openrc. Both are able to
 happily coexist and logind/consolekit detection is now done at
 runtime.
 It is sad to say that the territoriality in base-system (and
 toolchain) is not allowing any kind of progress [3] [4]. This is
 nothing new, by the way.
 
 There are several components that need patching in order to work as
 expected with systemd:
 - polkit needs a patch that enables runtime detection of logind/consolekit
 - pambase needs to drop USE=systemd and always enable the optional
 module pam_systemd.so
 - genkernel needs to migrate to *udev (or as I did, provide a --udev
 genkernel option), mdev is unable to properly activate LVM volumes and
 LVM is actually working by miracle with openrc. Alternatively, we
 should migrate to dracut.

[unrelated] Do you have more insights about this part? mdev MUST work,
lots of thin recovery options are based on busybox.

 - networkmanager need not to install/remove files depending on
 USE=systemd but rather detect systemd at runtime, which is a 3 lines
 script.

Sounds sensible.

 - openrc-settingsd needs to support eselect-settingsd, which makes
 possible to switch the settingsd implementation at runtime, between
 openrc and systemd. This also removes the silly conflict between
 openrc-settingsd and systemd friends.

Would make sense merge init and settingsd in a single eselect or at
least make so switching init would warn if the settingsd doesn't match?

 - genkernel should at least support plymouth (work in progress my side)

Looking forward to it.

 - other ~490 systemd units are missing at this time and writing them
 could also be a great GSoC project (don't look at me, I'm busy
 enough).

Hopefully we might have a gsoc student volunteering to make a
runscript/lsb-script/systemd-unit compiler and a small abstraction so we
write a single init.d script and generate what's needed.
Probably we might even support pure-runit that way with minimal effort.

 It looks like there is some consensus on the effort of making systemd
 more accessible, while there are problems with submitting bugs about
 new systemd units of the sort that maintainers just_dont_answer(tm).
 In this case, I am just giving 3 weeks grace period for maintainers to
 answer and then I usually go ahead adding units (I'm in systemd@ after
 all).

See above.

 The only remaining problem is about eselect-sysvinit, for this reason,
 I am probably going to create a new separate pkg called
 _sysvinit-next_, that contains all the fun stuff many developers were
 not allowed to commit (besides my needs, there is also the need of
 splitting sysvinit due to the issues reported in [4]). I am sure that
 a masked alternative sysvinit ebuild won't hurt anybody and will make
 Gentoo a bit more fun to use.

Exactly, which is the problem at hand? I'd like to be able to safely
switch back and forth sysvinit and bb-init as well.

 The final outcome will hopefully be:
 - easier to migrate from/to systemd, at runtime, with NO recompilation
 at all (just enable USE=systemd and switch the device manager from
 *udev to systemd -- unless somebody wants to drop the udev part from
 systemd, if at all possible)
 - we give the users the right to choose without driving them nuts with
 weird emerge-fu.
 - we make possible to support new init systems in future, and even
 specific init wrappers (bootchart anyone?)

Here! o/ Currently in my list are

- bootchart2 (as an add-on to the other init systems)
- bb-init (requires different custom inittab)
- runit (openrc can use it instead thanks to benda xu past GSoC)

 - we prepare the path towards a painless migration from consolekit
 (deprecated for long time now) to logind (we probably need to fork it
 off the systemd pkg -- upstream projects are _dropping_ consolekit
 support right now!)

Again it is something I consider an option for a GSoC project, we have
already some openrc variant for other systemd-originated daemons in our
git.

 - we put back some fun into Gentoo

That's always good.

 If you want to see a working implementation of my systemd-love
 efforts, just go download [1] and see things working yourself.

Thank you a lot for your positive attitude and the huge effort =)

lu




Re: [gentoo-dev] GCC 4.7 unmasking

2013-02-25 Thread Luca Barbato
On 25/02/13 22:32, Rich Freeman wrote:
 On Mon, Feb 25, 2013 at 4:18 PM, Tom Wijsman tom...@gentoo.org wrote:
 Though people that use -ffast-math / -fLTO / -fuse-linker-plugin should
 be on their own, thus I drop -ffast-math because it breaks my browser;
 but that doesn't mean that those ricer flags should stop stabilization.
 
 If we're talking about for general use in CFLAGs clearly -ffast-math
 isn't something that even could be supported if we wanted to.  The
 flag is just not intended for general use.

And if you stop here everything would be agreeable.

 That isn't the same as saying that we can just break it in cases where
 it actually is appropriate.  Calculating scroll bar movement is
 exactly the sort of thing that this flag was actually designed for -
 you don't care if it is off by 1/100th of a pixel.

Please check your facts. using -ffast-math could do anything from
nothing to cause severe security issues.

 But, the way to track that sort of a thing is to log those as bugs
 against appropriate use within individual apps and make them blockers.

No.

  I'd consider things like this valid bugs - but whether they hold
 things up should depend on real-world impact.  I'm not sure how bad
 the impact on chromium actually is.

Absolutely not. Some code is _designed_ to work w/out caring about ieee
corner cases and some is _designed_ to work leveraging them.

NOT bug.

To reinstate: if you use -ffast-math or other
known-to-alter-the-standard-behaviour or, even worst, experimental flags
you are on your own.

lu



Re: [gentoo-dev] GCC 4.7 unmasking

2013-02-25 Thread Luca Barbato
On 25/02/13 23:21, Rich Freeman wrote:
 My point was just that:
 1.  No, the fact that entire packages fail to build/operate using
 -ffast-math is not a valid bug.

From your email the message was the opposite, maybe a not got lost?

 2.  If individual packages DO carefully use -ffast-math and that
 breaks, it might be a valid bug, and may or may not be a blocker
 depending on real-world impact.  That doesn't mean users sticking it
 in their CFLAGS - it means the ebuild or upstream build system
 carefully applied the flag appropriately.

That means that if the upstream cflags do not work (anymore?) with
certain compilers we should notify them. Seems sensible to do.

lu




Re: Discussing defaults (Was: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in virtual/ffmpeg: ffmpeg-9.ebuild ChangeLog ffmpeg-0.10.2-r1.ebuild)

2013-02-12 Thread Luca Barbato
On 12/02/13 08:21, Ian Whyman wrote:
 Guys,
 
 Can we not just have a developer wide vote or something? This 
 instance clearly not going to resole itself.

It is a little bikeshed. Originally the virtual was ordered in a
way, then ordered in another and now we are discussing which one is
better for the user after we turned it around again.

There isn't ANYTHING that is impacting users beside those that they
might get the next versions of gst-libav just end up with a runtime
error if they use ffmpeg (if the upstream authors follow up with their
plan) or those users wanting to use mencoder might get some compile
errors if I forgot to update the compatibility patch after somebody
bumped w/out testing.

It really boils down to decide to be extra careful with mplayer and xbmc
or being extra careful with gst-libav and maybe vlc.



Sadly this whole discussion turned to discussing who is right or wrong,
who is the fork or not and who's an evil bastard oppressing the poor
Austrian genius or not.

I'm ok discussing technical merits and spend time fixing issues, not so
much discussing stuff I'd rather not discuss such as if I'm an evil
bastard for not working with somebody that joked about my death.


lu



Discussing defaults (Was: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in virtual/ffmpeg: ffmpeg-9.ebuild ChangeLog ffmpeg-0.10.2-r1.ebuild)

2013-02-11 Thread Luca Barbato
On 11/02/13 03:01, Alexis Ballier wrote:
 Sorry, I was away this week end...

Not a problem, I should be reachable anytime today.

 This is only because libav people do not care at all about what FFmpeg
 defines, while FFmpeg seems to care more about its consumers and users
 by trying to provide a compatible ABI and API.

The reasons about that could be multiple, the facts are those. If you
want you application to run in both you pick the Libav API.

 Moreover, this is not
 true at all when it comes to the parts where supporting both forks is
 painful: libavfilter and audio resampling. It is pretty clear that the
 audio resampling wheel was reinvented on the libav part, with a
 different library name and in 95% of its use cases going from ffmpeg's
 audio resampling to libav's is mainly a matter of 'sed s/swr/avr/'.

Not really, the resample library idea was brewing for long even
pre-fork, it got released first on FFmpeg because there is this bulimic
tendency to add more features in order to be compelling in FFmpeg.

I said already what happened when I started to develop the pulse capture
and the generic segmenter in my github as another example of stuff
developed by unrelated people and curiously landing before deemed ready
by the author in ffmpeg git. (prores could be considered yet another
funny example).

 Some parts of libavfilter also appeared later in libav, sometimes with
 a slightly different API, making it really awful to support both forks
 in applications.

libavfilter is deemed still not ready for general consumption in Libav
and just the set of calls that won't change (hopefully) in the future
are provided. Meanwhile we are trying to make the whole buffer
management less copy-happy and a little more rational.

(not sure if you tried to use libavfilter but it is a _bit_ hard to use
if compared to vlc filter layer and such)

 (I'm still looking forward a patch for xbmc and upstreamed patches for 
 mplayer btw)

I might spend a little time.

 it offers a more compact surface for attacks if you are
 really concerned about security and usually it is a little more
 compact
 
 If you mean that ffmpeg is libav + ffmpeg additions, then yes.
 However, if you are concerned by a more compact surface, then libav is
 not the right answer: you can very well disable selected codecs,
 (de)muxers, etc at build time. I even started to work on reflecting this
 into an ebuild some years ago before reaching the conclusion that it
 would be confusing for little to no gain. This can of course be done if
 there is some demand, but so far I have not seen any.

The ebuild supports extra parameters for that specific purpose.

 It is funny to see how libav ignores completely ffmpeg even for
 bugfixes, I stumbled over this recently and it sounded familiar:
 http://git.libav.org/?p=libav.git;a=commitdiff;h=89f11f498b9c15bc71494a11a7ec560f4adf630d
 vs
 http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=1af91978dbab35ba9fdede187577c00d643ae33b
 now, you can look at the dates, there's a one year lag in libav for
 reinventing the same bugfix. This is for a format almost nobody uses,
 but in any case I do not consider this attitude sane.

Nobody is perfect and not everybody has the time to track another
project tree every day.

 and a bit more tested over a wider range of architectures.
 
 If you are talking about fate, then I cannot comment. fate started
 before the split, so I assume the owners of said test machines took
 them within their respective fork.

That speaks a *bit* about the general support maybe?


 I fully agree there, but you should be careful with who you include in
 'our'. In the case of a default then it is clearly 'the users'. Now,
 considering there are a couple (very few) of packages that do not
 compile with libav, do you consider having it as default a good idea?

I have no opinion, I stayed out of the discussion and decision about
that before because I know I have a bias. I let other people decide.

 Those packages can very well be fixed, but if patches do not go
 upstream, this is not going to work in the long term. Also, the only
 reason why I have not pinned those packages to depend only on
 media-video/ffmpeg is because libav is not the default (not entirely
 true btw, see later), meaning those that use libav are those that are
 willing to help and know what they are doing. If people are to get
 libav by default and then hit compile failures to be told to use
 ffmpeg, then it is QA 101 that these packages should be depending on
 media-video/ffmpeg.

You can, if you really want, offset ffmpeg so it doesn't clash with Libav.


 ... and chrome, mplayer, xbmc use ffmpeg :=)

Chrome uses its own fork, reverting some changes form FFmpeg and picking
what they deem useful.

mplayer changes ffmpeg when they need something as they please

xbmc used the newimproved libavfilter API to access swscale, the
restricted api seems to work just fine.

  Probably true, but I still consider a quick fix disabling the
 

Re: Discussing defaults (Was: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in virtual/ffmpeg: ffmpeg-9.ebuild ChangeLog ffmpeg-0.10.2-r1.ebuild)

2013-02-11 Thread Luca Barbato
Your whole email is derailing a bit from discussing the code at hand and
it is going deep down on the people, I'd rather not get there since it
gets totally unrelated the question at hand.

On 11/02/13 14:49, Alexis Ballier wrote:
 All of this because ~10 people cannot work together, well, really, thank
 you :)

May I point you that ~10 people were the majority of what was FFmpeg,
thus 10 people were enough to demote democratically the so called Leader
and that guy got the name from Fabrice as his personal decision?

I'm perfectly happy to develop my code as long I'm not dragged in the
mud with outlandish statement or people annoying the hell of me because
they want to force me to merge because would be so better.

Well, you are talking to one of the two guys that spent about 3 months
behind the scenes trying to compose the situation before it ended with
the in theory normal demotion of a so-called Leader by democratic means.

Sadly or luckily the whole thing ended with us (the majority) having to
give up the name and picking a different one.

Hopefully that's the last time I have to touch this point here.

lu



Re: Discussing defaults (Was: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in virtual/ffmpeg: ffmpeg-9.ebuild ChangeLog ffmpeg-0.10.2-r1.ebuild)

2013-02-11 Thread Luca Barbato
On 11/02/13 22:33, Peter Stuge wrote:
 Luca Barbato wrote:
 May I point you that ~10 people were the majority of what was FFmpeg,
 thus 10 people were enough to demote democratically the so called Leader
 and that guy got the name from Fabrice as his personal decision?
 
 There was probably a reason for Fabrice to do that, and majority and
 democracy doesn't have much to do with it. It is more likely that 10
 people are right than that 3 are, but a group of 10 is still quite
 small. I wouldn't mind reading about the backstory. Do you know of
 some good links beyond the two that were posted already?

The reason behind Fabrice actions is probably the same behind me trying
for 3 months to not having to go the way it went. I got to change my
mind since I was involved, Fabrice hadn't been since ages and he is
doing something totally different nowadays.

 Users will never be satisfied. But I guess you agree that API
 compatibility will certainly avoid extra problems for users.

It is not related to users, is related to me being called as swine a
traitor and having death threats. *Slightly* less technical than
discussing API.

 I don't think open source neccessarily is democracy, and of course a
 disagreement about something fairly fundamental such as that can
 be more than enough to cause a fork.

The rules in Libav are quite well defined and decently enforced.

Again, if you have ~15 people and one is deemed misbehaving by more than
10, which is the fork?

lu





Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in virtual/ffmpeg: ffmpeg-9.ebuild ChangeLog ffmpeg-0.10.2-r1.ebuild

2013-02-09 Thread Luca Barbato
On 08/02/13 22:46, Alexis Ballier wrote:
 On Fri, 08 Feb 2013 22:41:04 +0100
 Maciej Mrozowski reave...@gmail.com wrote:
 
 On Thursday 07 of February 2013 06:52:44 Peter Stuge wrote:

 Tomáš Chvátal wrote:
 we as gentoo will provide both while preffered default will be
 what major distros use.

 What kind of careless mainstream attitude is that? Really?

 Quite the opposite, decision to use implementation A over B was taken
 with utmost care for user in mind.
 
 Not really. I was promised a discussion that hasn't happened yet.

I'm available for discussion anytime, I got a little busy in the past
days and I will busy the next 3 days, but I should be available today
evening or now.

I stated already what I think about the whole discussion in a blog post.

To summarize it my take is quite simple, Libav leads the way regarding
the main API, it offers a more compact surface for attacks if you are
really concerned about security and usually it is a little more compact
and a bit more tested over a wider range of architectures.

I'm not for removing ffmpeg overnight since there are features that
might be of use and I'm not so hypocrite to value diversity only when it
is in favor of my interests.

That said as long the two project are compatible having one or another
as default is just a matter of making our life easier.

I'm upstream for Libav and a good number of Libav developers are Gentoo
users, including Gentoo on special platforms (e.g. aarch64).

Few large projects such as VLC and Gstreamer switched to Libav as their
default.

Since Libav is the no-frills variant, notwithstanding the interesting
campaign of we have more security11ein! less stuff should break since
it is usually more tested and once we gather the samples triggering a
crash usually we do not stop preventing that single crash but the whole
class of possible defect (see my work on mov as an example).

I cannot and will not say that Libav is perfect or that no bugs are
introduced on our side and other outlandish statements, but within my
biased point of view I would expect a better experience for the user not
caring about which library to use.

If you want to discuss on #gentoo-media ping me within 30 min or in 2 hours.

I hope somebody not Libav nor FFmpeg committer could come up with a
pros-cons list.

lu



[gentoo-dev] Re: About dropping ppc-kernel herd

2013-01-20 Thread Luca Barbato
On 20/01/13 10:26, Pacho Ramos wrote:
 Looks like no package is included in it, I think we should drop that
 herd then
 
 Do you agree?
 

Agreed.



Re: [gentoo-dev] Chromium system ffmpeg

2013-01-20 Thread Luca Barbato
On 19/01/13 20:10, Paweł Hajdan, Jr. wrote:
 have a way to more simply exclude code that requires CODEC_ID_OPUS.

Exclude in chrome or in libavcodec?

The latter is a matter of adding --disable-decoder=opus and/or not
--enable-libopus in the configure.

lu



Re: [gentoo-dev] app-emulation/qemu-user mask

2013-01-20 Thread Luca Barbato
On 16/01/13 20:20, Luca Barbato wrote:
 Again please do not mix qemu system emulation with qemu userspace
 wrappers. They have different needs and requirements.

qemu-user-1.2.2 in portage.

I'll drop the mask as said before.

We can discuss on irc or here on what's the best strategy today anytime.

lu



Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in virtual/ffmpeg: ffmpeg-9.ebuild ChangeLog ffmpeg-0.10.2-r1.ebuild

2013-01-17 Thread Luca Barbato
On 17/01/13 15:07, Alexis Ballier wrote:
 On Thu, 17 Jan 2013 10:41:58 +0100
 Tomáš Chvátal tomas.chva...@gmail.com wrote:
 [...]
 So yes it works and should not pose any issues to user. I also
 announced it over blog to get people report more issues they find out
 so I can be really sure it works out. It turned out the mplayer1
 really needs to work under both, which I patched yesterday for stable
 libav and Luca today for masked libav to work.
 
 And this libav-9 patch actually breaks with all non-masked version of
 both libraries... I've just fixed this, but please stop this madness
 breaking everything in order to be as quick as possible to make your
 point...

I guess I overlooked something, thanks for fixing it.

lu




Re: [gentoo-dev] Chromium system ffmpeg

2013-01-16 Thread Luca Barbato
On 15/01/13 05:34, Paweł Hajdan, Jr. wrote:
 I'm trying to make Chromium be more compatible with more versions of
 ffmpeg:
 https://groups.google.com/a/chromium.org/d/topic/chromium-dev/fm5Oe_AC3Sc/discussion
 (although not stated there, that includes libav).
 
 Now the initial response there is not enthusiastic (which doesn't
 surprise me), but do you think there are some points useful for the
 discussion I'm not aware of?
 
 What are the main challenges of keeping up-to-date with latest ffmpeg
 API changes? How do other projects deal with that?

I guess it had been stated there, but is worth noting again that
chromium has a specific fork of ffmpeg and they merge and adapt/fix as
they need.

As Libav we try to see what they are doing and when possible either
import their fix or redo it in a more general way if it doesn't fit
normal consumption (see our review process policy for more details).

Their API usage is quite normal nowadays (after we convinced them to use
AVIO instead of the deprecate URLProtocol, for our and their respective
pleasure since it resulted in slashing a good chunk of cruft)

Feel free to nag me if something breaks with a system libav.

lu



Re: [gentoo-dev] Chromium system ffmpeg

2013-01-16 Thread Luca Barbato
On 16/01/13 12:54, Alexis Ballier wrote:
 On Tue, 15 Jan 2013 21:10:12 -0800
 Paweł Hajdan, Jr. phajdan...@gentoo.org wrote:
 
 On 1/15/13 4:55 AM, Alexis Ballier wrote:
 On Mon, 14 Jan 2013 20:34:42 -0800
 Paweł Hajdan, Jr. phajdan...@gentoo.org wrote:
 I'm trying to make Chromium be more compatible with more versions
 of ffmpeg:
 https://groups.google.com/a/chromium.org/d/topic/chromium-dev/fm5Oe_AC3Sc/discussion
 (although not stated there, that includes libav).

 I've done quite a lot of work for various packages among the past
 years on that side, so if you have specific questions, feel free to
 ask.

 Alright:

 1. What's the difference between libav and ffmpeg? Do the projects
 merge each other's changes? If not, in what direction do patches flow?
 
 ffmpeg merges daily from libav; for libav, better ask Luca or Diego I
 think, but I've seen they manually port some patches from ffmpeg from
 time to time.

Libav has defined review rules so patches get hand picked and discussed
as any other contributions, there isn't any kind of fast track.

If somebody wants something in ffmpeg, ffmpeg-chromium,
${personal_libav_fork} and such, can just pick the patch and send over
the mailing list.

 2. What are API compatibility policies for ffmpeg and libav?
 
 There's no policy AFAIK. For what I understood, libav doesn't care;

As said above our development policy is quite simple. Regarding API
changes they get discussed as for any other patch, new API can land on
the master, old api gets removed after a major release deprecating it.

 3. Same as above for making releases (i.e. how frequent they are, how
 much they change, and how much released libav and ffmpeg are in sync
 with each other in practice).

In general we aim to have a major release per season, depending on how
involving the update is we postpone till downstream catches up.

Point releases happen when enough bugfixes are piled up. Usually we keep
one or two major release in maintainance mode (releases and fixes) while
we develop the next one.

For the release 9 branch I'm trying to keep the fixes in sync so people
doesn't have to backport them in mass.
Release branches 0.8 and 0.7 are synced more seldom.

 4. What are typical incompatibilities (if possible), and usual ways to
 deal with them?

Use only the common subset, e.g. Do not use swresample and use avresample.

 5. Do you think it's possible / worth trying to convince upstream
 ffmpeg / libav to have a more stable API over time? Which one could
 be possibly more willing to listen and why?

Libav API is evolving but you have about 1/2 year or more to update.

 What when chromium upstream uses code more recent than latest ffmpeg
 release and it doesn't compile against latest release?

They will gladly tell you that the patches they use are available and
you should nag upstream.

Jokes aside, tell us and in a way or another you'll have something working.

 Now what about libav? At one time I could compile against latest
 masked ffmpeg in tree but couldn't compile against latest masked
 libav (or any other version of it I think). Ideally I would like to
 make it compilable against both. Does that sound like much more
 difficult?
 
 It depends what the problem is: it may be just some missing #includes,
 some CODEC_ID present in ffmpeg but not in libav in which case you'd
 have to #ifdef its usage out, or more complicated if you use an API
 from ffmpeg not in libav like some libavfilter stuff.

Usually Libav does not expose private API and depending on the release
timing you might find software not updated fully (see about about the
6-8 months of grace time)

 Yup. Just note there is just ~6 weeks before each stable release.
 That's not a very long time for most projects, and I think we won't
 get other packages into shape that quickly.

If then need arises I think we can snapshot, a monthly point release
might be coordinated if enough people need it.

 I could make a leightweight compatibility layer, don't underestimate

Better nag me till your problem isn't solved on our side, chromium is
huge and making changes on the media part of it is gorier than you'd expect.

lu



Re: [gentoo-dev] app-emulation/qemu-user mask

2013-01-16 Thread Luca Barbato
On 12/01/13 05:45, Doug Goldstein wrote:
 Just wanted to give everyone a heads up. app-emulation/qemu provides
 all the functionality of app-emulation/qemu-user without all the
 outstanding security bugs and issues the package has. For users using
 a cross chroot, I encourage you to look at QEMU_USER_TARGETS. I
 presently use an arm chroot with app-emulation/qemu. Should there
 truly be a missing feature, open a bug and I'll fix it. The only item
 I'm aware of that app-emulation/qemu does not have is the binfmt
 initscript. But I plan on adding that to the unstable version shortly.
 
 If there are no objections for 30 days, I'll send a treecleaner notice
 in 30 days and remove it 30 days after that (60 days from now).

And once I have enough time I will reinstate it... beside the fact
qemu-user does NOT have security issues...

Again please do not mix qemu system emulation with qemu userspace
wrappers. They have different needs and requirements.

lu





Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in virtual/ffmpeg: ffmpeg-9.ebuild ChangeLog ffmpeg-0.10.2-r1.ebuild

2013-01-16 Thread Luca Barbato
On 16/01/13 21:09, Alexis Ballier wrote:
 More seriously: Why ? Who decided this ?

I never pushed my weight over it before since as you are involved in
FFmpeg directly, I am involved in Libav directly.

Thus anything I say on this topic has a clear bias. Same goes for you.

Tomas is not related to libav beside one of his core project using it by
transition, so I would expect him to be less biased than us.

 Let's be realistic, both upstreams claim they're better than the other
 in one way or another, and let's think like serious downstreams, not
 like upstream playground.

VLC uses it since ffmpeg doesn't work with rtmp properly last time they
checked and other interesting situations.

gst-ffmpeg/gst-libav works only with libav as per upstream desire (thus
the rename)

ubuntu and debian just use Libav.

 As a downstream, I can see plenty of reasons against, but none in favor
 of this change:
 - There are still a couple of non-trivial packages that need to be
   fixed to work with libav while I don't know any that works with libav
   but not ffmpeg.

See above for the other way round.

 - All (but the one discovered in Nov. 2012) of the security issues
   fixed by libav 0.8.5, released on Jan. 13 2013 were fixed in May 2012
   (!!) for ffmpeg according to the website... 8 months before...

The security game is fun. Given the number of additional features the
surface impact is bigger in FFmpeg and currently all but one of the bugs
claimed as security issues originate from the same guy he claim to fix
them (sometimes the fix doesn't address the underlying issue but just
_that_ specific sample).

I'd rather avoid having another mud sliding contest.

I stopped caring about FFmpeg since somebody gave a sample of his humor
wishing my death.


Lu




Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in virtual/ffmpeg: ffmpeg-9.ebuild ChangeLog ffmpeg-0.10.2-r1.ebuild

2013-01-16 Thread Luca Barbato
On 16/01/13 22:31, Alexis Ballier wrote:
 interesting, did they report it? OTOH, they switched _after_ the 2.0.5
 release which happens to be the latest one. Since vlc is probably the
 ffmpeg/libav interface the most popular in the world (due to their
 windows and mac builds), I'd like to see an actual release with it and
 see if there is any regression before claiming they use libav.

Reported, dismissed as bug on their side IIRC.

 gst-ffmpeg/gst-libav works only with libav as per upstream desire
 (thus the rename)
 
 you mean use libav internally? because 'per upstream desire'
 gst-ffmpeg or gst-libav always only worked with the internal libs :)
 it also appears to build and work fine with ffmpeg-0.10

To be more clear, latest gst-libav release does not build with latest
ffmpeg release, same said for the gst-libav backport.

 Speaking about bias, the maintainer happens to be part of libav core
 developers and was even part of what is known as the 'ffmpeg coup' :)

Meanwhile I preferred let people pick their poison since it is easy to
switch from one to another, in retrospect would had been better if I
just removed ffmpeg from the tree from day 0.

 None of what you cited is a problem for a downstream distribution,
 except maybe vlc+rtmp which should be fixed regardless.

 xbmc and mplayer did not build last time I tried. xbmc will be a pain
 because it uses some libavfilter features not in libav.

mplayer2 works decently here. I didn't try to look at xbmc yet.

 I don't want to verify this and will trust you there, but I still
 don't consider 8 months to be a correct delay for handling a published
 vulnerability, whatever its origin may be.

Crashes are always bad, we fix a lot of them every day, we obviously
introduce few new since we aren't perfect, calling all of them security
problems is a tad extreme in my opinion.

The problem with the published vulnerabilities had been usually us
being prevented from accessing the example vectors, now the situation is
way better.

 I'm sure the fork didn't happen because
 some day some devs woke up angry because they didn't have had their
 coffee. However, I'm also sure the fork is a pain for downstream
 distros and a lot of upstreams.

The rationale is on libav.org/about.html, I spent about 3 months trying
to prevent it. I failed.

lu



Re: [gentoo-dev] Switching order of packages in virtual/pkgconfig

2013-01-02 Thread Luca Barbato
On 02/01/13 13:11, Samuli Suominen wrote:
 On 01/01/13 23:01, Jeff Horelick wrote:
 I would like to propose a switch of the order of DEPENDs in
 virtual/pkgconfig to make dev-util/pkgconf[pkg-config] the default
 choice for new installations.

 dev-util/pkgconf has less external dependencies, is lighter and is
 faster than dev-util/pkgconfig while being now 100% compatible

 This switch has already been made by Funtoo, Alpine Linux and FreeBSD
 with very little in the way of ill effects recently from any of those
 3 camps.

 There are no more pending bugs against pkgconf (and Diego did a
 tinderbox run with it a while back) in Gentoo.

 pkgconf also has a upstream that is more than happy to work with us
 specifically (or anyone for that matter) and I (a Gentoo developer) am
 one of the upstream developers.

 If this is approved, I will make the change in ~2 weeks. I'm not
 planning on making a news item because users should notice little
 difference.

 Thanks
 Jeff

 
 i'd say never. there is no benefit in switching. pkg-config is the
 default implementation from freedesktop.org.

And has its share of issues.

 pkg-config is now lighter and has less dependencies than before as the
 switch from bundled glib1 to glib2 allowed dropping of the popt library.

As if glib-2 is any lighter...

 and since pkgconf upstream doesn't properly follow pkg-config upstream
 git and do necessary changes, like for bug 445796 it would mean
 pkg-config related bugs would have to be reported to double upstream and
 thus, not be maintainable

Non sequitur at best. My interaction with both upstreams had been decent
though.

 last I checked prefix didn't have issues with the pkg-config bootstrap
 either. there is no circular deps either.

check glib deps iirc some non-glibc platforms have few problems with it.

lu



Re: [gentoo-dev] Moving our/portage stuff to var

2012-12-17 Thread Luca Barbato

On 12/17/12 11:30 AM, Michał Górny wrote:

On Mon, 17 Dec 2012 11:23:00 +0100
Diego Elio Pettenò flamee...@flameeyes.eu wrote:


On 17/12/2012 11:19, Tomáš Chvátal wrote:


I've always myself override these defaults in make.conf to point for
/var/portage/ (not /var/lib because I never bothered enough how to
make world and config files to be put elsewhere :P).


I would say let's work on that so that portage can keep them there.
Although I'm more for /var/cache/portage myself, as both distfiles and
tree can be re-generated.


+1 on /var/cache.


Agreed.

Bonus points if we consider suggesting to move it on a dedicated file 
system ^^;


lu



Re: [gentoo-dev] Re: eudev project announcement

2012-12-17 Thread Luca Barbato

On 12/17/12 11:40 AM, Olav Vitters wrote:

So systemd still works with a separate /usr and you're continuing to
spread misinformation. Demonstrating such behaviour while complaining
about the behaviour of upstream is IMO very ironic.


No it does not, try by yourself please ^^

(or just issue and ldd over the main binaries)

lu





Re: [gentoo-dev] Defaulting for debug information in profiles

2012-12-17 Thread Luca Barbato
On 12/17/2012 02:55 PM, Rich Freeman wrote:
 On Mon, Dec 17, 2012 at 8:43 AM, Kacper Kowalik xarthis...@gentoo.org wrote:
 All trouble can be saved by asking user to recompile package with
 relevant flags on bug report, resolving the bug as NEEDINFO. Instead of
 forcing everybody out there using Gentoo to have additional XGb for
 debug, patching troublesome packages like webkit-gtk etc. Bug without
 valid data is by definition... invalid?
 
 Tend to agree.  Plus, you can always compile -O0 in such a case and

Ages ago I wrote something about how wrong is using -O0 and expect to
reproduce issues. IIRC Diego blogged about it as well.

Please do not use -O0, it changes a _lot_ the codepats of programs and
glibc (and other libc) might or might not switch to compiler specific
implementation that might uncover problems.

I'd rather suggest the user to install valgrind and run the application
under it.

lu



Re: [gentoo-dev] Re: eudev project announcement

2012-12-17 Thread Luca Barbato

On 12/17/12 2:25 PM, Olav Vitters wrote:

On Mon, Dec 17, 2012 at 12:09:08PM +0100, Luca Barbato wrote:

On 12/17/12 11:40 AM, Olav Vitters wrote:

So systemd still works with a separate /usr and you're continuing to
spread misinformation. Demonstrating such behaviour while complaining
about the behaviour of upstream is IMO very ironic.


No it does not, try by yourself please ^^

(or just issue and ldd over the main binaries)


I quoted the relevant bits. There has been communication here about it
as well as elsewhere.

What was said here is that systemd did not support this. It does. Now we
can twist words that sometimes Gentoo does not mean Gentoo. That
systemd sometimes means as packaged by Gentoo and sometimes upstream.

Poor behaviour!


Please do use lld over the systemd binaries, if it reports it linking to 
a library in /usr then you have a problem if /usr is mounted.


One of my main annoyance about systemd is the fact it links to a large 
deal of libraries and that makes it more brittle.


As simple as that, really.

lu




Re: [gentoo-dev] Re: [gentoo-project] eudev project announcement

2012-12-15 Thread Luca Barbato
On 12/15/2012 01:48 PM, Rich Freeman wrote:
 On Fri, Dec 14, 2012 at 10:52 PM, Richard Yao r...@gentoo.org wrote:
 The systemd developers were in the middle of a transition to the LGPL
 from the GPL when we forked. We inherited the code in the middle of that
 transition and we see no reason to pursue a different course. Therefore,
 all future changes that we make to eudev will be available under the LGPL.
 
 Not sure what the driver is to use LGPL, but in general the Gentoo
 social contract requires that all contributions be made under GPLv2+
 or the CC BY-SAv2+. 


We will release our contributions to Gentoo as free software, metadata
or documentation, under the GNU General Public License version 2 (or
later, at our discretion) or the Creative Commons - Attribution / Share
Alike version 2 (or later, at our discretion). Any external
contributions to Gentoo (in the form of freely-distributable sources,
binaries, metadata or documentation) may be incorporated into Gentoo
provided that we are legally entitled to do so. However, Gentoo will
never depend upon a piece of software or metadata unless it conforms to
the GNU General Public License, the GNU Lesser General Public License,
the Creative Commons - Attribution/Share Alike or some other license
approved by the Open Source Initiative (OSI).


eudev is a Gentoo project is not Gentoo. Same could be said for OpenRC.

 Why not just use GPLv2+?  The LGPL is compatible, so this would not
 prevent us from merging udev changes.

udev and eudev provide:

- a daemon
- a set of core rules
- a library to let applications interact with udev (libudev)
- a generic language binding using glib-introspection (libgudev)

makes perfectly sense to have libraries using LGPL (or even more
permissive licenses).

I guess you misunderstood what is Gentoo and what is a Gentoo Project.

lu



Re: [gentoo-dev] Re: [gentoo-project] eudev project announcement

2012-12-15 Thread Luca Barbato
On 12/15/2012 05:20 PM, Rich Freeman wrote:
 On Sat, Dec 15, 2012 at 10:43 AM, Luca Barbato lu_z...@gentoo.org wrote:


 eudev is a Gentoo project is not Gentoo. Same could be said for OpenRC.

 
 OpenRC isn't a Gentoo project, at least, it wasn't in the past.
 
 The social contract defines Gentoo as a collection of free knowledge,
 which includes free software contributed by various developers to the
 Gentoo Project.  The social contract is meaningless if it doesn't
 apply to Gentoo projects.  Gentoo projects cover all the arch teams,
 portage, and all of our documentation.

That part of the social contract section is resembling really closely
Debian and shares the same clashing issue when Gentoo has to mix with
non-gpl realities such as FreeBSD. We are not going to relicense to GPL
all the software we touch, it would be at least rude.

 Projects are just how we organize the administration of Gentoo. They
 aren't something distinct from Gentoo.  When you work on a Gentoo
 project, you work on Gentoo.

Again, looks like there is a huge misunderstanding on what a project is,
the term is much often overloaded since you have Gentoo, the community
and the distribution and projects fostered by Gentoo.

 I guess you misunderstood what is Gentoo and what is a Gentoo Project.

 
 Enlighten us, what is Gentoo, if nothing in any Gentoo project is Gentoo?

See above =)

 What exactly do you think that section of the Social Contract actually
 covers?  Or is it a pretty document we stick on our website but ignore
 when it is somehow inconvenient?

The social contract is meant to assure that we will preserve and
maintain the freedoms we got as foundation the best we could. That
section is clumsy in stating it as is in Debian, agreed.

 As I said, I'm fine with making exceptions if it makes sense and
 furthers the overall mission of Gentoo.

There is no exception to be made.

 However, we shouldn't just ignore the social contract without any kind
 of consideration at all.

Again, the document doesn't really relate to any Gentoo project as
expressed as anything different from the distribution as whole.

 If the community doesn't like the social contract we could of course
 consider amending it as well.

Clarifying to avoid such misunderstandings it seems necessary.

 Gentoo isn't GitHub.  When people donate money to Gentoo they're not
 donating so that a club of elite coders can use the infrastructure to
 host just anything that suits their fancy.  The reason that we let any
 Gentoo developer just start a project is because it helps promote
 innovation and cuts through bureaucracy.  That doesn't mean that
 Gentoo holds no interest in the work that is done under its name.

Again, we have a number of projects under permissive licenses since we
DO want work with the BSD community or we rely on software originated by
them, relicensing any software to GPL would be rude and quite pointless.

I'm afraid you are ignoring the fact core libraries should not be GPL to
not hinder adoption. (check which software uses libudev or libgudev and
see how much of it won't work anymore had you relicensed those libraries
to GPL)

 If for whatever reason the fork diverges to a point where we aren't
 giving back in the form of patches to upstream then I'd argue that it
 would make sense to move back to the GPL (something trivially done with
 or without copyright assignment due to the nature of the LGPL).

I'd be happy to consider this once we reach this stage and you are among
the main contributors.

Currently I guess people would be happy to have their udev working as
should.

lu



Re: [gentoo-dev] new global USE flag: orc

2012-12-15 Thread Luca Barbato

On 12/16/12 5:28 AM, Alexandre Rostovtsev wrote:

Currently, the orc local USE flag is used by 11 packages, 9 of them
with identical descriptions. I think it's time to make it a global flag.

I would suggest the following description:
Use dev-lang/orc for just-in-time optimization of array operations



Sounds ok.




Re: [gentoo-dev] net-irc/xchat

2012-11-26 Thread Luca Barbato
On 11/26/2012 01:16 PM, Rich Freeman wrote:
 On Mon, Nov 26, 2012 at 5:33 AM, Mike Frysinger vap...@gentoo.org wrote:
 along those lines, a news entry is probably not even necessary.
 
 So, users will just suddenly have their binary change names, and will
 need to manually move config files and update logrotate.d files (if in
 use), and the only notice will be in an elog?  Oh, and that elog will
 appear for a program called hexchat which as far as the user is
 aware they don't even use.
 
 This really seems to be stretching the purpose of package moves, and I
 don't hear users generally complaining about the fact that we give
 them too much warning when we're about to break their systems.  We
 really should be using news more, and not less.

We can do what we do for mplayer2 and soon mpv.

If the program is largely the same adding compatibility symlinks seems
to me the simplest solution.

lu




Re: [gentoo-dev] Tightly-coupled core distro [was: Council meeting summary for 3 April 2012]

2012-11-18 Thread Luca Barbato
On 11/18/2012 04:34 PM, Vadim A. Misbakh-Soloviov wrote:
 To be honest, in my opinion, «killing of separate /usr» can reasonable
 be continued by moving all it's content to / (/usr/bin - /bin, /usr/lib
 - lib, and so on) in despite of all objections, as it was invented just
 because of disk space exhaustion.

And since we have lots of wonderful file systems, a neat and interesting
device mapper and a plethora of fun way to shot ourselves in the foot
not only you have a separate /usr but even fun separate /usr/bin from
/usr/share and other strange layout that some people prepared to solve
some of their problems.

The radical solution is to have a rich early boot able to do this kind
of setup, for the transition you might want to not have init and udev
non-workable because somebody decided that is useful using glib or some
other library residing in /usr/

lu



Re: [gentoo-dev] Tightly-coupled core distro [was: Council meeting summary for 3 April 2012]

2012-11-18 Thread Luca Barbato
On 11/18/2012 04:47 PM, Diego Elio Pettenò wrote:
 But yes, many more can't understand that... and neither do I.

Then would be nice if everybody shuts up, let people play with their
toys and if something useful happens evaluate the result.

According to the people that asked me to help the whole thing would had
been an experiment to see if would be possible to have a smaller and
cleaner udev.

I liked the idea since I like alternatives and I consider many choices
from upstream a tad narrow minded (beside the entertaining posts from
Linus about their bug management).

Nobody wanted hype there, just more people willing to chip in some time
and effort to get there.

lu



Re: [gentoo-dev] [RFC] Initial python-r1.eclass distutils-r1.eclass

2012-09-29 Thread Luca Barbato
On 09/29/2012 12:45 PM, Michał Górny wrote:
 On Sat, 29 Sep 2012 12:00:18 +0200
 Tomáš Chvátal tomas.chva...@gmail.com wrote:
 
 2012/9/29 Michał Górny mgo...@gentoo.org:
 Hello,

 Instead of the floating patches and p-d-ng modifications I sent
 earlier, here are the two complete (so far, well, initial :P) eclasses
 for review.

 They are designed as 'mostly' drop-in python-distutils-ng replacement.

 Hi,

 the eclasses look pretty, so good job,
 just one question tho, would it be possible to use more
 debug-something calls so the log file would be populated automatically
 with whats going on (same like eg git-2 eclass)?
 
 Try now :P.
 
Looks even nicer, great!

lu



Re: [gentoo-dev] media-video/vlc looking for a new maintainer

2012-09-23 Thread Luca Barbato
On 09/19/2012 04:00 PM, Ben de Groot wrote:
 Thanks for all you have done maintaining VLC all those years. It is
 undoubtedly one of the most popular and versatile video players out
 there. I really hope someone steps up to become its new dedicated
 maintainer.

Given I'm in contact with upstream I might cover the interim since a
release is impelling, I prefer shared maintainership though.

lu



Re: [gentoo-dev] A more natural (human-friendly) syntax for dependencies

2012-09-22 Thread Luca Barbato
On 09/22/2012 09:55 AM, Michał Górny wrote:
 Hello,
 
 The current dependency syntax:
 
   [VERSION-OP] PACKAGE-NAME [- PACKAGE-VERSION]
 
 suffers a few problems:

I like the current syntax.

lu




Re: [gentoo-dev] supporting static-libs

2012-09-22 Thread Luca Barbato
On 09/03/2012 10:54 PM, Maciej Mrozowski wrote:
 On Tuesday 28 of August 2012 02:15:40 hasufell wrote:
 Is there a reason not to support static-libs in an ebuild if the package
 supports it?

 It seems some developers don't care about this option. What's the gentoo
 policy on this? Isn't this actually a bug?
 
 A little remark.
 For CMake controlled buildsystem (as you're coming here from latest dev-
 games/simgear), there's no automatic way of building both static and shared 
 libs (simgear allows to choose just one).

Complain to cmake devs, hopefully they might come up with a solution.
(the alternative is provide a clean autotools-based build system and ask
upstream to please keep both. Usually works nice to cover all bases and
make all people happy ^^;

lu



Re: [gentoo-dev] RFC: method of checking for cross compilation from ebuild functions

2012-09-22 Thread Luca Barbato
On 09/21/2012 06:06 PM, Zac Medico wrote:
 On 09/20/2012 10:34 AM, Ambroz Bizjak wrote:
 The question now is, how should this method for checking
 --crosscompile be implemented? In particular, we have two options:

 - Environment variable. If so, how to call it? Possible names are
 CROSSCOMPILE, GENTOO_CROSSCOMPILE, PORTAGE_CROSSCOMPILE,
 ECROSSCOMPILE... For more generic names (CROSSCOMPILE) it needs to be
 taken into account that they may inadvertently affect packages.
 However environment vars have the benefit that it's easy to pass them
 through programs and scripts.

 - Internal function, similar to use. Probably is_crosscompile.
 This may look nicer and reduces the risk of collisions.
 
 Since it's just a boolean flag, we could have a special crosscompile
 USE flag for this, so that the use() function could be used like we
 currently use it for the test USE flag. The flag would be forced on or
 off based on your configuration, similar to the test flag [1], so
 there wouldn't be any danger of the flag being accidentally enabled or
 disabled. The flag could be bound to FEATURES=crosscompile, or some
 other package manager configuration variable. Note that if we add a
 --crosscompile option to emerge, then we'll also have to add it to the
 ebuid(1) command, so maybe it's better to forgo the commandline option
 and just toggle it with a configuration variable like
 FEATURES=crosscompile. Also, it's conceivable that you could drop the
 CROSS_HDEPEND variable, in favor of HDEPEND=crosscompile? ( foo )
 syntax (somewhat in alignment with Brian Harring's DEPENDENCIES proposal).
 
 [1] https://bugs.gentoo.org/show_bug.cgi?id=373209
 


I like the idea.

lu



Re: [gentoo-dev] supporting static-libs

2012-09-22 Thread Luca Barbato
On 09/22/2012 05:25 PM, hasufell wrote:

 add_library(foostatic STATIC foo.cpp foo.h)
 set_target_properties(foostatic PROPERTIES OUTPUT_NAME foo)
 add_library(foo SHARED foo.cpp foo.h)

Looks a bit kludgy but should work well as a macro, willing to contact
upstream and/or ask cmake devs to include it? Looks like you have a
simple solution for this problem =)

lu





Re: [gentoo-dev] A more natural (human-friendly) syntax for dependencies

2012-09-22 Thread Luca Barbato
On 09/22/2012 09:55 AM, Michał Górny wrote:
 Hello,
 
 The current dependency syntax:
 
   [VERSION-OP] PACKAGE-NAME [- PACKAGE-VERSION]
 
 suffers a few problems:

I like the current one your proposal seems quite a problem for a large
deal of usecases.

 1. It is not really human-friendly.
 
 People don't say things like:
 
   I need newer than monkey-1.2.
 
 They say instead:
 
   I need monkey, newer than version 1.2.

I need monkey-1.2 or newer sounds natural to me.

 2. With long package names and versions, it becomes hard-to-read.
 
 Consider the following:
 
   =dev-foo/bar-very-long-my-name-is-4-beta-17
 
 Where does the version number start? And yes, this is a valid package
 name to our rules.


 4. Adding, removing and changing versions is not friendly at all.
 
 Consider the following dep:
 
   =dev-foo/bar-bas-bat-11.2.4_alpha
 
 Now, you want to bump the dep to 11.3. You need to find the version
 number, and modify it. Depending on the configuration, ^w is going to
 eat the whole package name or just a single component.

Use a better editor.

 Then, you want to remove the whole version. You need to first remove
 the version number, making sure it doesn't eat a bit of package name
 as well. Then, you have to go back to the beginning of the string,
 and remove the operator.

   PACKAGE-NAME [[*WSP] VERSION-OP [*WSP] PACKAGE-VERSION]]

whitespace as separator for atoms looks a huge can of worms waiting to
be opened. how you'd pass that to emerge? How you make a list of atoms?

Please try not fix/break what is not broken.

lu




Re: [gentoo-dev] A more natural (human-friendly) syntax for dependencies

2012-09-22 Thread Luca Barbato
No.



Re: [gentoo-dev] A more natural (human-friendly) syntax for dependencies

2012-09-22 Thread Luca Barbato
Alex Alexander wi...@gentoo.org wrote:

On Sep 22, 2012 8:25 PM, Michał Górny mgo...@gentoo.org wrote:

 On Sat, 22 Sep 2012 20:11:48 +0300
 Alex Alexander wi...@gentoo.org wrote:

  On Sep 22, 2012 7:38 PM, Michał Górny mgo...@gentoo.org wrote:
  
   emerge 'foo = 1.1' 'bar  1.0'?
   emerge foo '=' 1.1 bar '' 1.0?
 
  How is the above easier to read than
 
  emerge =foo-1.1 bar-1.0

 Did you even test it? That would create '=foo-1.1' and then fail
trying
 to read 'bar-1.0'. It's rather:

   emerge '=foo-1.1' 'bar-1.0'

Yes, you are right, still much easier to read than your example tho.

Testing things is limited to very important stuff atm, I only have an
android phone and intermittent 3g available and ssh without a real kb
is a
pain :-)

  I think your example is working against you*.*
 
  The current syntax is much easier to read than the
  quote-and-whitespace-tracking horror of your example :-P

 It's no less quoting than in the current case. And it could be simply
 extended to supporting quoting-less syntax, e.g.:

   emerge foo -gt 1.1 bar -lt 1.0

I still find whitespace inappropriate for this kind of things. You are
trying to replace a single atom that instantly gives you all required
information with a format that does not clearly separate atoms, IMHO
anyway

+1





Re: [gentoo-dev] [PATCH] autotools-multilib: wrapper eclass for multilib builds.

2012-09-22 Thread Luca Barbato
Michał Górny mgo...@gentoo.org wrote:

It is a simple eclass using autotools out-of-source builds to build
packages for multiple ABIs when multilib is supported.

Use case: xorg packages, ask Matt.
---
gx86/eclass/autotools-multilib.eclass | 72
+++
 1 file changed, 72 insertions(+)
 create mode 100644 gx86/eclass/autotools-multilib.eclass

diff --git a/gx86/eclass/autotools-multilib.eclass
b/gx86/eclass/autotools-multilib.eclass
new file mode 100644
index 000..1a345a1
--- /dev/null
+++ b/gx86/eclass/autotools-multilib.eclass
@@ -0,0 +1,72 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# @ECLASS: autotools-multilib.eclass
+# @MAINTAINER:
+# Michał Górny mgo...@gentoo.org
+# @BLURB: autotools-utils wrapper for multilib builds
+# @DESCRIPTION:
+# The autotools-multilib.eclass is an autotools-utils.eclass(5)
wrapper
+# introducing support for building for more than one ABI (multilib).
+#
+# Inheriting this eclass sets IUSE=multilib and exports
autotools-utils
+# phase function wrappers which build the package for each supported
ABI
+# if the flag is enabled. Otherwise, it works like regular
+# autotools-utils.
+#
+# Note that the multilib support requires out-of-source builds to be
+# enabled. Thus, it is impossible to use AUTOTOOLS_IN_SOURCE_BUILD
with
+# it.
+
+case ${EAPI:-0} in
+  2|3|4) ;;
+  *) die EAPI=${EAPI} is not supported ;;
+esac
+
+if [[ ${AUTOTOOLS_IN_SOURCE_BUILD} ]]; then
+  die ${ECLASS}: multilib support requires out-of-source builds.
+fi
+
+inherit autotools-utils multilib
+
+EXPORT_FUNCTIONS src_configure src_compile src_test src_install
+
+IUSE=multilib
+
+# @FUNCTION: autotools-multilib_foreach_abi
+# @USAGE: argv...
+# @DESCRIPTION:
+# If multilib support is enabled, sets the toolchain up for each
+# supported ABI along with the ABI variable and correct
+# AUTOTOOLS_BUILD_DIR, and runs the given commands with them.
+#
+# If multilib support is disabled, it just runs the commands. No setup
+# is done.
+autotools-multilib_foreach_abi() {
+  if use multilib; then
+  local ABI
+  for ABI in $(get_all_abis); do
+  multilib_toolchain_setup ${ABI}
+  AUTOTOOLS_BUILD_DIR=${S%%/}-${ABI} ${@}
+  done
+  else
+  ${@}
+  fi
+}
+
+autotools-multilib_src_configure() {
+  autotools-multilib_foreach_abi autotools-utils_src_configure
+}
+
+autotools-multilib_src_compile() {
+  autotools-multilib_foreach_abi autotools-utils_src_compile
+}
+
+autotools-multilib_src_test() {
+  autotools-multilib_foreach_abi autotools-utils_src_test
+}
+
+autotools-multilib_src_install() {
+  autotools-multilib_foreach_abi autotools-utils_src_install
+}

How docs and nonbinaries get managed?



Re: [gentoo-dev] rfc: netplugd and ifplugd support in OpenRc

2012-09-11 Thread Luca Barbato

On 9/10/12 11:05 PM, William Hubbs wrote:

On Mon, Sep 10, 2012 at 04:26:10PM -0400, Olivier Crête wrote:

On Mon, 2012-09-10 at 09:48 -0500, William Hubbs wrote:

In researching this program, I have found that it and ifplugd, which is
the alternative, have been unmaintained for years. Also Debian has
declared netplugd to be obsolete in favor of ifplugd.

Does anyone have any thoughts about whether we should keep OpenRC
support for one or both of these?


The ifplugd author recommends you use NetworkManager for dynamic
networking scenarios.


NM seems bloated though unless you are using a desktop environment. It
wants to install 29 dependencies on my box.


NM and connman are quite a bit overkill indeed.

lu




Re: [gentoo-dev] app-emulation/qemu app-emulation/qemu-kvm folding into one package

2012-09-10 Thread Luca Barbato
On 09/10/2012 03:55 AM, Doug Goldstein wrote:
 Hey all,
 
 Just an announcement that app-emulation/qemu-kvm will be pkgmove'd to
 app-emulation/qemu at some point this week. The app-emulation/qemu
 ebuilds will effectively die and be replaced by the
 app-emulation/qemu-kvm ebuilds. I've brought this up before and there
 was a bunch of rabble about keep our pristine qemu ebuilds!!!. The
 fact of the matter is that the app-emulation/qemu just isn't getting
 the same maintenance care that app-emulation/qemu-kvm is. I've really
 only got the bandwidth to handle one at a time. Additionally this will
 bring us inline with a few other distros use of qemu as they're really
 building their binaries from qemu-kvm.

I mostly care for the qemu-user variant (and lately I had been otherwise
busy).

I like the idea of keeping a single ebuild for the system emulation though.

lu




Re: [gentoo-dev] Any official position from Gentoo about systemd, mdev and udev-static ?

2012-08-28 Thread Luca Barbato
On 08/28/2012 05:35 PM, Sylvain Alain wrote:
 Hi everyone, I don't want to start a flamewar on that subject, but I would
 like to know if there's any official position about the current situation.

udev might or might not eventually get forked to avoid systemd
borg-approach.

mdev works fine for a number of people and they are working on getting
better support for it even if some guys sometimes try to stomp over them
for silly reasons.

openrc during the summer got new features developed both for prefix
users and for general public hopefully will get merged soon.

The consensus is trying to support what makes sense of systemd and let
people use it if they really want but not force it upon people happy or
needing openrc.

Beside that you have drama since there are strong opinions on how broken
systemd is or how cool it is.

 I saw on the forum this thread :
 https://forums.gentoo.org/viewtopic-t-934678-highlight-.html and maybe it
 could be part of a solution to have OpenRC and udev together.
 
 So, is there any developments lately ?

Lots =)

lu



Re: [gentoo-dev] glibc-2.16 moving to ~arch

2012-08-19 Thread Luca Barbato

On 8/18/12 5:31 AM, Mike Frysinger wrote:

i'll probably land it later this weekend/monday.


Would be nice having a list of bugs open so people might have a look and 
see if there is something big left.


boost and gnutls seem big enough already to spend some time to get those 
fixed before unleashing the beast.


lu




Re: [gentoo-dev] Questions about SystemD and OpenRC

2012-08-14 Thread Luca Barbato
On 08/14/2012 09:14 PM, Peter Stuge wrote:
 But it means nothing for someone who wants to open a box, switch on
 the power, and go online to $socialmediasite or $emailprovider.

Sabayon does a decent job for them.

lu



Re: [gentoo-dev] Re: Questions about SystemD and OpenRC

2012-08-10 Thread Luca Barbato
On 08/10/2012 09:43 AM, Michał Górny wrote:
 vdr is a first example which comes to my mind. They workaround program
 configuration limitations and the init.d scripts become a complex
 extra-configuration parser + plugin loader. Well, another thing here is
 that upstream AFAIK is not willing to cooperate to fix their config
 parsing.
 
 'oldnet' is an another example. I'm not saying it should go; I'm saying
 it should be a stand-alone executable called from the init.d script.
 
 Last time I looked, squid init.d was performing post-inst in start().
 Many users may find that beneficial but that's not what init.d scripts
 should be doing.

This discussion is really derailing.

Currently most people using certain features from openrc feel quite
defensive and mildly uneasy with the current situation since systemd is
pretty much swallowing components we used to rely on and force radical
changes w/out providing explanations to people that do not care and that
are perfectly happy with what they have.

Now Canek seems to feel like that I'm willing to kill systemd and make
it impossible to use it in Gentoo.

That's not the case, I consider systemd a bad idea since it is only
geared to solve some specific issues and does that in a way that I
consider dangerous for the global usage patterns I'm aware of.

systemd ideas are interesting and for a dumb linux desktop the
implementation would be ok.

systemd doesn't work in many scenarios and when it gets pointed
apparently there is a disagreement on that because systemd is perfect
like it happens with it gets pointed that pulseaudio has shortcomings
(that come from its design) or avahi doesn't seem that stable.

I can live with a seldom broken audio subsystem and I can cope with the
fact pidgin-bonjour could randomly crash, I'm not happy to be forced to
move to something with the same attitude as my init system.

The whole point of the debate should be if easier to have systemd split
itself in usable components so people with certain focuses could
leverage it on linux and replace those on non-linux (apparently not a
chance) or have what we currently have and works decently and hopefully
be compatible (so have a compatible interface for user-daemons, a
compatible dbus interface for the desktop integrations and so on), not
which project we should help to kill the others.


lu




Re: [gentoo-dev] Questions about SystemD and OpenRC

2012-08-09 Thread Luca Barbato
On 08/07/2012 09:00 PM, Olivier Crête wrote:
 I expect that in the not so long term, systemd will become an essential
 user-space component of desktop Linux, just like crond, syslog, dbus,
 udev or glibc. Sharing that code just makes sense, that allows

As in completely optional and easily replaceable? That would be a nice
improvement over the current use it or die attitude.

 distributions to focus on their strength instead of having to maintain a
 nightmare of shell scripts. Sure you can do a Android and write your own
 crappier version, but that doesn't gain you anything.

Repeat after me: having your first process require anything more than
libc is stupid and dangerous.

Once that concept gets accepted then we could discuss about why
reinventing shellscript may not be that sound and other less glaring,
horrid and appalling design choices.

Most ideas behind systemd are interesting, their current implementation
is sometimes completely wrong and given the experience with pulseaudio
we all know that they won't change even if you provide code for it.

Obviously it is always fun seeing people first say accept it or fork
it, then do not keep your fork you are wasting time once somebody
starts forking and/or working for an alternative.


lu



Re: [gentoo-dev] Global Systemd USE Flag

2012-08-09 Thread Luca Barbato
On 08/08/2012 04:53 PM, Michał Górny wrote:
 Yes, and please remove all the occurrences of 'GNU' because I don't
 like it.

We have people working on a clang/freebsd gentoo, you might help them
and use that. It sort of works fine.

For a project Flameeyes replaced most of system using smaller
alternatives to most of the gnu runtime.

I'm helping getting musl as a first class libc in Gentoo, if uclibc
feels too GNU-ish for you.

As strange as it might feel for you we have people working on providing
alternatives that might be useful for specific purposes.

lu




Re: [gentoo-dev] Last rites: app-text/epdfview

2012-08-09 Thread Luca Barbato
On 08/07/2012 05:00 AM, hero...@gentoo.org wrote:
 Hi,
 
 Andreas K. Huettel dilfri...@gentoo.org writes:
 
 # Andreas K. Huettel dilfri...@gentoo.org (7 Aug 2012)
 # Many display bugs and compatibility problems, does not build with 
 cups-1.6. 
 # Upstream is dead. There's no real way to support this anymore. Masked for
 # removal in 30 days.
 app-text/epdfview  
 
 I remember when xpdf was removed, epdfview was recommended as a
 lightweight alternative. How about this time?

envision once hits portage, zathura with the proper plugin (remind me to
add the mupdf one)

I wonder why there isn't a gtk mupdf backed one yet.

lu



Re: [gentoo-dev] Opinion against /usr merge

2012-08-09 Thread Luca Barbato
On 07/18/2012 08:27 PM, Michał Górny wrote:
 I don't think we should give more support to building a system from
 a statically linked rescue suite tool.

For people wanting to shave some seconds from their boot openrc using
busybox is quite handy and should be used as default IMHO.

lu





Re: [gentoo-dev] Global Systemd USE Flag

2012-08-09 Thread Luca Barbato
On 08/09/2012 10:57 AM, Michał Górny wrote:
 No. I meant to have 'GNU' tools with 'GNU' stripped. Isn't that what
 the whole discussion is about? Changing names of tools just for
 someone's liking?

No, we are discussing about an upstream merging two unrelated projects
assuring users that nothing would change for them.

In a week they claimed that it was unsupported, then backpedaled, then
they changed its paths.

Forking udev hadn't been considered mostly just on that premise.

lu



Re: [gentoo-dev] Global Systemd USE Flag

2012-08-09 Thread Luca Barbato
On 08/09/2012 12:01 PM, Michał Górny wrote:
 On Thu, 09 Aug 2012 11:20:52 +0200
 Luca Barbato lu_z...@gentoo.org wrote:
 
 On 08/09/2012 10:57 AM, Michał Górny wrote:
 No. I meant to have 'GNU' tools with 'GNU' stripped. Isn't that what
 the whole discussion is about? Changing names of tools just for
 someone's liking?

 No, we are discussing about an upstream merging two unrelated projects
 assuring users that nothing would change for them.

 In a week they claimed that it was unsupported, then backpedaled, then
 they changed its paths.

 Forking udev hadn't been considered mostly just on that premise.
 
 So someone should just *finally* fork it, rather than talking about it
 all the time.

I had that[1] since ages, mostly because I was curious about how complex
udev is internally.

If enough people want to play this game welcome. I expect the same
people stomping on mdev complaining about the next little experiment.

https://github.com/lu-zero/udev

lu



Re: [gentoo-dev] pid 1 design

2012-08-09 Thread Luca Barbato
On 08/09/2012 04:02 PM, Peter Stuge wrote:
 Luca Barbato wrote:
 Repeat after me: having your first process require anything more
 than libc is stupid and dangerous.
 
 Why do you say?

Because libc supposedly should be stable, other libraries are a bit more
prone to radical changes and other annoyances. You wouldn't like to
reboot your system if you replace/update dbus or glib, do you?

 And why is libc different from other libraries, say libuuid or
 libext2fs? I mean: Why allow pid 1 to require libc, it could
 just be statically linked.

Actually statically linked initial process would be another reason why
you'd like to NOT use large libraries and in large number.

Obviously if you are thinking about desktop and not system in which
replacing kernels should be done w/out downtime (qnx and some linux
patches let you do that) it isn't a huge concern.

Yet I'm not used to have to reboot after issuing emerge -u world and
most of the times I don't have even to restart X...

lu



Re: [gentoo-dev] Questions about SystemD and OpenRC

2012-08-09 Thread Luca Barbato
On 08/09/2012 09:43 PM, Michał Górny wrote:
 On Thu, 09 Aug 2012 10:42:15 +0200
 Luca Barbato lu_z...@gentoo.org wrote:
 
 Repeat after me: having your first process require anything more than
 libc is stupid and dangerous.
 
 But you are aware that glibc is probably much, much worse than most of
 those 'stupid and dangerous' libraries, right?

Then we have a bigger problem, since everything in our system is based
on that.

 Once that concept gets accepted then we could discuss about why
 reinventing shellscript may not be that sound and other less glaring,
 horrid and appalling design choices.
 
 Yes, exactly. So why does openrc reinvent that horrible shellscript?

It is not re-invented, in fact we can use any compatible shell.

lu




Re: [gentoo-dev] UTF-8 locale by default

2012-08-02 Thread Luca Barbato
On 07/27/2012 07:24 PM, Mike Frysinger wrote:
 yes, and i'm waiting on the POSIX group to formalize C.UTF-8.  that's the 
 only 
 real option in my mind for making unicode the default.  any other 
 amalgamations of various locales is ugly as sin.

When they meet? I'd be fine with a pre-release =P

lu




Re: [gentoo-dev] Re: udev - mdev

2012-07-29 Thread Luca Barbato
On 07/14/2012 03:21 AM, Olivier Crête wrote:
 Seriously, mdev is a just a bad and now useless hack, it does nothing
 more than using devtmpfs. You do not need udev for a very simple system.
 If you system is a bit more complicated, than udev is what you want. It
 works fine on millions of shipping devices.
 
 And on any new embedded platform, one should seriously think about using
 systemd too. It is very lean, replaces most of the giant, unmaintainable
 shellscripts that you find in many devices with smaller compiled code,
 and was designed to be a good fit for embedded devices.

Last time I looked at systemd it was anything that lean.

Obviously you can say that if you already need dbus and glib and ...
${systemd_deplist} it doesn't count.

Likewise if you are already using busybox it comes with a quite rich shell.

Most depends on what you consider embedded.

lu

-- 

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero




Re: [gentoo-dev] Re: udev - mdev

2012-07-29 Thread Luca Barbato
On 07/14/2012 04:34 AM, Canek Peláez Valdés wrote:
 On Fri, Jul 13, 2012 at 9:32 PM, Canek Peláez Valdés can...@gmail.com wrote:
 [snip]
 A lot of that is optional. The only hard dependencies are:

 =sys-apps/kmod-5
 =sys-apps/util-linux-2.20
 dev-util/gperf
 =dev-util/intltool-0.40.0
 virtual/pkgconfig
 virtual/os-headers

 Everything else is optional. I repeat: the idea that udev is somewhat
 bloated or fat is really incorrect.

 Little correction: inherit autotools brings things like automake and
 libtool, but then again, almost *every* Gentoo installation has those.

build dependencies should not count. =)

The bare udev shouldn't be that huge, then you start look at the glib
integration and such and it might get a bit more than you'd like.

Forking udev and making sure it stays as lean as possible isn't that bad.

Making mdev a bit richer and enjoy the speed advantage of busybox over
stand alone shells could be another option.

Most of the perceived speed in non-shell init systems is due not having
to spawn as many processes. A full busybox wouldn't spawn many processes.

lu

-- 

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero




Re: [gentoo-dev] Fraunhofer FDK license

2012-07-28 Thread Luca Barbato
On 07/26/2012 12:45 PM, Andreas K. Huettel wrote:
 On Thu, 26 Jul 2012, Luca Barbato wrote:
 I'd add it, it is a gpl incompatible opensource license.

 No problem to add it. But IMHO the usage restriction in section 3
 makes it non-free:

 You may use this FDK AAC Codec software or modifications thereto only
 for purposes that are authorized by appropriate patent licenses.

 Ulrich
 
 Indeed, and this opens another can of worms since (as far as I can see) there 
 are no specific license clauses in the AAC patent license for applications 
 that may be distributed without cost. I.e., licensing fees still apply as 
 per 
 unit fee.

Tell me where I should categorize it =)

lu

PS: help in improving libav aac encoder by leveraging atouv would be
always welcome.

-- 

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero




[gentoo-dev] Fraunhofer FDK license

2012-07-26 Thread Luca Barbato
I'd add it, it is a gpl incompatible opensource license.

lu

-- 

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero

Software License for The Fraunhofer FDK AAC Codec Library for Android

© Copyright  1995 - 2012 Fraunhofer-Gesellschaft zur Förderung der angewandten 
Forschung e.V.
  All rights reserved.

1.INTRODUCTION
The Fraunhofer FDK AAC Codec Library for Android (FDK AAC Codec) is software 
that implements
the MPEG Advanced Audio Coding (AAC) encoding and decoding scheme for digital 
audio.
This FDK AAC Codec software is intended to be used on a wide variety of Android 
devices.

AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient 
general perceptual
audio codecs. AAC-ELD is considered the best-performing full-bandwidth 
communications codec by
independent studies and is widely deployed. AAC has been standardized by ISO 
and IEC as part
of the MPEG specifications.

Patent licenses for necessary patent claims for the FDK AAC Codec (including 
those of Fraunhofer)
may be obtained through Via Licensing (www.vialicensing.com) or through the 
respective patent owners
individually for the purpose of encoding or decoding bit streams in products 
that are compliant with
the ISO/IEC MPEG audio standards. Please note that most manufacturers of 
Android devices already license
these patent claims through Via Licensing or directly from the patent owners, 
and therefore FDK AAC Codec
software may already be covered under those patent licenses when it is used for 
those licensed purposes only.

Commercially-licensed AAC software libraries, including floating-point versions 
with enhanced sound quality,
are also available from Fraunhofer. Users are encouraged to check the 
Fraunhofer website for additional
applications information and documentation.

2.COPYRIGHT LICENSE

Redistribution and use in source and binary forms, with or without 
modification, are permitted without
payment of copyright license fees provided that you satisfy the following 
conditions:

You must retain the complete text of this software license in redistributions 
of the FDK AAC Codec or
your modifications thereto in source code form.

You must retain the complete text of this software license in the documentation 
and/or other materials
provided with redistributions of the FDK AAC Codec or your modifications 
thereto in binary form.
You must make available free of charge copies of the complete source code of 
the FDK AAC Codec and your
modifications thereto to recipients of copies in binary form.

The name of Fraunhofer may not be used to endorse or promote products derived 
from this library without
prior written permission.

You may not charge copyright license fees for anyone to use, copy or distribute 
the FDK AAC Codec
software or your modifications thereto.

Your modified versions of the FDK AAC Codec must carry prominent notices 
stating that you changed the software
and the date of any change. For modified versions of the FDK AAC Codec, the term
Fraunhofer FDK AAC Codec Library for Android must be replaced by the term
Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for 
Android.

3.NO PATENT LICENSE

NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without 
limitation the patents of Fraunhofer,
ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent 
non-infringement with
respect to this software.

You may use this FDK AAC Codec software or modifications thereto only for 
purposes that are authorized
by appropriate patent licenses.

4.DISCLAIMER

This FDK AAC Codec software is provided by Fraunhofer on behalf of the 
copyright holders and contributors
AS IS and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not 
limited to the implied warranties
of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE 
COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, 
exemplary, or consequential damages,
including but not limited to procurement of substitute goods or services; loss 
of use, data, or profits,
or business interruption, however caused and on any theory of liability, 
whether in contract, strict
liability, or tort (including negligence), arising in any way out of the use of 
this software, even if
advised of the possibility of such damage.

5.CONTACT INFORMATION

Fraunhofer Institute for Integrated Circuits IIS
Attention: Audio and Multimedia Departments - FDK AAC LL
Am Wolfsmantel 33
91058 Erlangen, Germany

www.iis.fraunhofer.de/amm
amm-i...@iis.fraunhofer.de



Re: [gentoo-dev] Re: GLEP draf for cross-compile support in multilib profiles

2012-07-04 Thread Luca Barbato
On 07/01/2012 01:41 PM, Thomas Sachau wrote:
 I guess, you are mixing cross-compile support in multilib profiles and
 cross-compile support with cross-toolchains, multilib-portage is for the
 first one, while crossdev is for the second one.
 
 My suggestion does not support e.g. compiling for ppc with an amd64
 profile, on amd64 it only can support x86 and x32. Since all of these
 binaries can run with an amd64 kernel and you build for at least one
 target, you always have a binary around, no need for an extra HOST
 dependency.

You can run an arm binary on amd64 (through binfmt+qemu-user static)

 I dont know, what exactly you mean with play properly with ld and
 cross-vs-host paths, so cannot respond to those.

multilib works because the runtime linker picked is the right one for
each ABI, thanks to qemu makes no difference if that ABI is native or not.

cross vs host paths is an annoying problem due the slightly different
behaviour between native and cross compiler toolchains, it tends to
ignore environment variables and other small differences making dropping
an native cross compiler in a qemu chroot, QUITE a creative activity.

lu

-- 

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero




[gentoo-dev] Re: GLEP draf for cross-compile support in multilib profiles

2012-06-30 Thread Luca Barbato
On 06/29/2012 04:30 PM, Thomas Sachau wrote:

It is interesting, still you need a way to define HOST dependencies
(stuff you need that has to be built on the host since you run it, e.g.
xcb python code generator), something to play properly with ld and
cross-vs-host paths for compilers (that part is _really_ annoying for
qemu-chroots)

lu

-- 

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero




Re: [gentoo-dev] spec draft for cross-compile support in future EAPI (EAPI-5)

2012-06-20 Thread Luca Barbato
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 06/19/2012 08:14 PM, Thomas Sachau wrote:

 and possibly split RDEPEND/DEPEND to have HDEPEND to list build
 dependencies that need to be run on host.
 
 What should the difference between DEPEND and HDEPEND be?

Not library but program that have to run. Think about generators.

lu




- -- 

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.18 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk/hfm8ACgkQ6Ex4woTpDjRrtgCfXm2/b3FlZldoKfbVoNA8DKOf
Sx4AoIAy1WEHulrBY3LsDxIyv6JUMjPV
=MCO8
-END PGP SIGNATURE-



Re: [gentoo-dev] My wishlist for EAPI 5

2012-06-20 Thread Luca Barbato
On 06/20/2012 10:25 PM, Richard Yao wrote:
 Here is my wishlist for EAPI 5:
 
 Multilib (and/or multiarch) support
 Automated epatch_user support
 Parallel make checks
 POSIX Shell compliance
 
 Here are some explanations:
 
 Multilib (and/or multiarch) support
   The current binaries cause a great deal of pain, particularly when a
 user does not want to upgrade something. I had this problem with WINE
 and glibc because I wanted to avoid the reverse memcpy() fiasco on my
 systems. This situation would have been avoided entirely if the package
 manager supported multilib.
 
 Automated epatch_user support
   Users should be able to test patches without modifying their ebuilds.
 This also saves developer time because we don't need to navigate the
 portage tree (or an overlay), make a change and test it. We could just
 dump the patch in the appropriate directory and build.
 
 Parallel make checks
   As it stands, `make check` is so slow that few people actually run it
 and QA suffers as a result. We have the ability to do parallel checks,
 but we need to explicitly put `emake check` into the ebuild and use
 autoconf 1.12 to get that. It would be best if this behavior were the
 default, not the exception.
 
 POSIX Shell compliance
   There has been a great deal of work done to give the user full control
 of what is on his system and there is more that we can do there. In
 particular, I think a lean Gentoo Linux system should be able to use
 busybox sh and nothing else. That requires POSIX shell compliance.
 OpenRC init scripts support this and the configure scripts support this.
 The few exceptions are bugs that are addressed by the Gentoo BSD developers.
   As such, I think we should make EAPI=5 use POSIX shell by default. If
 an ebuild requires bash, we can allow the ebuild to declare that (e.g.
 WANT_SH=bash), but that should be the exception and not the rule.

It is more likely to succeed either adding to busybox the missing bits
of bash we use or forking bash (so eventually it could be developed on a
source repo) and making it lean and fast for our specific purposes.

lu

-- 

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero




Re: [gentoo-dev] [RFC] Dynamic SLOTs

2012-06-19 Thread Luca Barbato
On 06/17/2012 05:39 PM, Michał Górny wrote:
 But Python doesn't have one. Bindings built using other
 languages don't have that either.

That seems something interesting to tackle with the python community.



lu

-- 

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero




Re: [gentoo-dev] spec draft for cross-compile support in future EAPI (EAPI-5)

2012-06-19 Thread Luca Barbato
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 06/16/2012 12:31 PM, Thomas Sachau wrote:
 Since i am not that sure about my ability to write formal specs, i am
 presenting my first draft for further review and suggestions for
 improvement.

Currently I'm experimenting with evil hack with qemu-static (hopefully
that would make my student life happier later).

What would be nice on a full multilib/multiabi system is to have

/lib/ld-linux-foo-arch.so.2 for each active architecture

/usr/$CTUPLE/ as destdir for each of them

PATH and ld.so.conf pointing to them accordingly.

and possibly split RDEPEND/DEPEND to have HDEPEND to list build
dependencies that need to be run on host.

lu

- -- 

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.18 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk/gvVYACgkQ6Ex4woTpDjQlaQCg1W/PZxOo/2EDktU0XR6/48nf
9RcAoOg40vFoSIX7gNpD82qdym54MB4m
=hEyq
-END PGP SIGNATURE-



<    1   2   3   4   5   6   7   >