Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-30 Thread Douglas Freed
On Wed, Sep 25, 2013 at 7:08 PM, Michał Górny mgo...@gentoo.org wrote:
 Dnia 2013-09-13, o godz. 19:16:06
 William Hubbs willi...@gentoo.org napisał(a):

 OpenRC currently has a public api, consisting of librc and libeinfo
 (rc.h and einfo.h are the headers); however, I do not know of any
 released software that uses these, so, if there is nothing, I am
 considering making this code private to OpenRC and getting rid of the
 API.

 I won't oppose since I don't use OpenRC anymore and therefore my
 opinion doesn't really matter here. However, I can't help but notice
 a particular trend since Roy left the project. I see that OpenRC is
 slowly regressing towards baselayout-1.

 First the oldnet thingie being made the default back. While I can
 understand why people wanted it so badly, this doesn't make this less
 of a carousel for Gentoo users. I mean, changing defaults with every
 maintainer change.

 Then, functions.sh split. While itself good, I don't get what's
 the benefit of converting the bash script from baselayout-1 while
 a better one was provided with OpenRC.

 Now removing the public API because you don't care. While it may have
 been unused indeed, it's simply crippling the thing, not making it more
 useful.

 I'd like to see some kind of plan behind all this. Because as far as I
 can see, it's just new maintainers slowly dropping all the new features
 they don't care about without any specific vision. No offense intended.

 If OpenRC really wants to compete with systemd, it should at least have
 some design plan, and you really should start working on providing
 useful features rather than reverting, crippling and rewriting for
 the sake of changing things.

 Just some material to think about.

 --
 Best regards,
 Michał Górny

I know I'm a bit late to this thread, but mgorny has a point.  While
it may not be immediately obvious, libeinfo is very useful, especially
if your project aims to integrate nicely into a Gentoo system, by
providing a standard set of printing functions with the formatting
taken care of, resulting in output that is very familiar to users and
is easy to scan with the eyes when looking for problems.  One
potential use-case would be reimplementing eselect in C.  Not that I'm
saying that this should happen, but anybody who attempts to do this
would certainly appreciate having this bit taken care of for them.  I
would be more than willing to assist with maintenance of the library,
even if split out into its own package, since it's small and rather
simplistic, so there's unlikely to be any issues.  I see no reason why
we should remove something that isn't broken and doesn't cause us any
maintenance burden.  If somebody does open a bug against OpenRC
because of an issue they're encountering while trying to use libeinfo,
I give full license to assign the bug to me, and I'll happily
investigate the issue.

-Doug



Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-30 Thread William Hubbs
I just saw this today, because the original msg went to another mailbox,
but the reply showed up here on -dev.

On Mon, Sep 30, 2013 at 08:39:06AM -0400, Douglas Freed wrote:
 On Wed, Sep 25, 2013 at 7:08 PM, Michał Górny mgo...@gentoo.org wrote:
  Dnia 2013-09-13, o godz. 19:16:06
  William Hubbs willi...@gentoo.org napisał(a):
 
  OpenRC currently has a public api, consisting of librc and libeinfo
  (rc.h and einfo.h are the headers); however, I do not know of any
  released software that uses these, so, if there is nothing, I am
  considering making this code private to OpenRC and getting rid of the
  API.
 
  I won't oppose since I don't use OpenRC anymore and therefore my
  opinion doesn't really matter here. However, I can't help but notice
  a particular trend since Roy left the project. I see that OpenRC is
  slowly regressing towards baselayout-1.

I'm not sure how you figure that, since you weren't on the project when
bl1 was being used, so I'll answer your concerns below.

  First the oldnet thingie being made the default back. While I can
  understand why people wanted it so badly, this doesn't make this less
  of a carousel for Gentoo users. I mean, changing defaults with every
  maintainer change.

Actually oldnet is a separate package you can get rid of now. It is the
default in Gentoo, not OpenRC. It is forced onto everyone's system by
default because of popular demand only. I would rather have released a
newsitem with OpenRC-0.12 telling people that they had to emerge netifrc
if they wanted it, but this proposal was met with strong resistance, up
to and including threats to revert the change to the OpenRC ebuilds if
we had taken that route.

  Then, functions.sh split. While itself good, I don't get what's
  the benefit of converting the bash script from baselayout-1 while
  a better one was provided with OpenRC.

The one in OpenRC is not a pure script. It is a wrapper around the rc
binary which is what actually provides the einfo/ewarn/eerror etc calls.

  Now removing the public API because you don't care. While it may have
  been unused indeed, it's simply crippling the thing, not making it more
  useful.

librc is still being used, so it isn't being removed. libeinfo has been
available for years, but no one took up using it. Since no one is using
it, I would rather not have the overhead of linking a shared library
that isn't being shared with anyone else.

  I'd like to see some kind of plan behind all this. Because as far as I
  can see, it's just new maintainers slowly dropping all the new features
  they don't care about without any specific vision. No offense intended.
 
  If OpenRC really wants to compete with systemd, it should at least have
  some design plan, and you really should start working on providing
  useful features rather than reverting, crippling and rewriting for
  the sake of changing things.

I don't really see OpenRC as trying to compete with systemd. OpenRC
isn't an init system on its own; it is just init scripts.

I think the only thing systemd has that OpenRC doesn't currently as far
as booting/shutting down a system is service supervision.

That is going to be a bigger project, because sysvinit doesn't have any
service supervision functionality at all, and we still run on top of
sysvinit by default.

runit or s6 have been suggested as possible init systems to use, but I
haven't really looked into either one much yet.

Then comes the issue of how they should be used -- should we get
base-system to consider replacing sysvinit, or should we try to use them
under sysvinit?

 I know I'm a bit late to this thread, but mgorny has a point.  While
 it may not be immediately obvious, libeinfo is very useful, especially
 if your project aims to integrate nicely into a Gentoo system, by
 providing a standard set of printing functions with the formatting
 taken care of, resulting in output that is very familiar to users and
 is easy to scan with the eyes when looking for problems.  One
 potential use-case would be reimplementing eselect in C.  Not that I'm
 saying that this should happen, but anybody who attempts to do this
 would certainly appreciate having this bit taken care of for them.  I
 would be more than willing to assist with maintenance of the library,
 even if split out into its own package, since it's small and rather
 simplistic, so there's unlikely to be any issues.  I see no reason why
 we should remove something that isn't broken and doesn't cause us any
 maintenance burden.  If somebody does open a bug against OpenRC
 because of an issue they're encountering while trying to use libeinfo,
 I give full license to assign the bug to me, and I'll happily
 investigate the issue.

As I said above, libeinfo was around in stable for years and no one took
up using it, so what you are talking about is a theoretical use case,
which really doesn't exist, and has no reason to exist. Why should
someone want to implement eselect in c?

There wasn't a burden as far as 

Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-25 Thread Michał Górny
Dnia 2013-09-13, o godz. 19:16:06
William Hubbs willi...@gentoo.org napisał(a):

 OpenRC currently has a public api, consisting of librc and libeinfo
 (rc.h and einfo.h are the headers); however, I do not know of any
 released software that uses these, so, if there is nothing, I am
 considering making this code private to OpenRC and getting rid of the
 API.

I won't oppose since I don't use OpenRC anymore and therefore my
opinion doesn't really matter here. However, I can't help but notice
a particular trend since Roy left the project. I see that OpenRC is
slowly regressing towards baselayout-1.

First the oldnet thingie being made the default back. While I can
understand why people wanted it so badly, this doesn't make this less
of a carousel for Gentoo users. I mean, changing defaults with every
maintainer change.

Then, functions.sh split. While itself good, I don't get what's
the benefit of converting the bash script from baselayout-1 while
a better one was provided with OpenRC.

Now removing the public API because you don't care. While it may have
been unused indeed, it's simply crippling the thing, not making it more
useful.

I'd like to see some kind of plan behind all this. Because as far as I
can see, it's just new maintainers slowly dropping all the new features
they don't care about without any specific vision. No offense intended.

If OpenRC really wants to compete with systemd, it should at least have
some design plan, and you really should start working on providing
useful features rather than reverting, crippling and rewriting for
the sake of changing things.

Just some material to think about.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-15 Thread Gilles Dartiguelongue
Le samedi 14 septembre 2013 à 18:07 -0500, William Hubbs a écrit :
 On Sat, Sep 14, 2013 at 10:59:57PM +0200, Pacho Ramos wrote:
  openrc-settings will need to be kept if we ever want to implement:
  https://bugs.gentoo.org/show_bug.cgi?id=480336
 
 There may be other reasons to keep the api, that's why I put out the
 question.
 
 However, I thought the gnome team had agreed that you were going to
 just mandate systemd for gnome 3.8 and newer since logind is unusable
 outside of systemd. In that case, can't we just close this bug as
 wontfix?
 

I'll repeat what I wrote on this list at least 4 times now. The gnome
team decided to move forward and use systemd as we have not enough man
power to develop our own alternative to logind.

If there ever was such alternative, we would most likely drop the
systemd requirement and I would, for sure, be the first to try it out
since I very much prefer openrc.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-14 Thread Gilles Dartiguelongue
Le samedi 14 septembre 2013 à 00:47 -0400, Alexandre Rostovtsev a
écrit :
 On Fri, 2013-09-13 at 22:48 -0500, William Hubbs wrote:
  On Fri, Sep 13, 2013 at 09:04:06PM -0400, Alexandre Rostovtsev wrote:
   app-admin/openrc-settingsd uses various functions (rc_sys(),
   rc_runlevel_get(), rc_service_exists(), rc_service_in_runlevel(),
   rc_service_resolve(), rc_service_mark() etc.) from rc.h
  
  Will this still be needed once gnome 3.8 is stable everywhere?
 
 It will not be needed for gnome. Possibly another desktop environment
 might have a use for it.

It will be needed if someone manages to implement a logind alternative
as well. If that ever happens.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-14 Thread William Hubbs
On Sat, Sep 14, 2013 at 12:47:04AM -0400, Alexandre Rostovtsev wrote:
 On Fri, 2013-09-13 at 22:48 -0500, William Hubbs wrote:
  On Fri, Sep 13, 2013 at 09:04:06PM -0400, Alexandre Rostovtsev wrote:
   app-admin/openrc-settingsd uses various functions (rc_sys(),
   rc_runlevel_get(), rc_service_exists(), rc_service_in_runlevel(),
   rc_service_resolve(), rc_service_mark() etc.) from rc.h
  
  Will this still be needed once gnome 3.8 is stable everywhere?
 
 It will not be needed for gnome. Possibly another desktop environment
 might have a use for it.

Running  grep -r 'app-admin/openrc-settingsd' .  in a current
gentoo-x86 tree shows the following output:

./app-admin/openrc-settingsd/openrc-settingsd-1.0.1.ebuild:# $Header: 
/var/cvsroot/gentoo-x86/app-admin/openrc-settingsd/openrc-settingsd-1.0.1.ebuild,v
 1.8 2013/02/02 22:20:11 ago Exp $
./app-admin/openrc-settingsd/ChangeLog:# ChangeLog for 
app-admin/openrc-settingsd
./app-admin/openrc-settingsd/ChangeLog:# $Header: 
/var/cvsroot/gentoo-x86/app-admin/openrc-settingsd/ChangeLog,v 1.10 2013/02/02 
22:20:11 ago Exp $
./app-admin/openrc-settingsd/CVS/Repository:gentoo-x86/app-admin/openrc-settingsd
./gnome-base/gnome-control-center/gnome-control-center-3.8.3.ebuild:|| ( ( 
app-admin/openrc-settingsd sys-auth/consolekit ) =sys-apps/systemd-31 )
./gnome-base/gnome-control-center/gnome-control-center-3.8.4.1-r1.ebuild:   
|| ( ( app-admin/openrc-settingsd sys-auth/consolekit ) =sys-apps/systemd-31 )
./gnome-base/gnome-control-center/gnome-control-center-3.8.4.1.ebuild:  || ( ( 
app-admin/openrc-settingsd sys-auth/consolekit ) =sys-apps/systemd-31 )
./gnome-base/gnome-control-center/gnome-control-center-3.6.3-r1.ebuild: 
app-admin/openrc-settingsd
./gnome-extra/cinnamon/cinnamon-1.8.8.1.ebuild: 
app-admin/openrc-settingsd
./gnome-extra/cinnamon/cinnamon-1.6.7-r2.ebuild:
app-admin/openrc-settingsd

It looks like this is gnome specific to me.

I would be concerned about another desktop environment linking to these
libraries because that seems to be the same type of vertical integration
gnome is doing with systemd.
linking to these libraries because that seems to be the same type of
vertical integration gnome is doing with systemd.

William



signature.asc
Description: Digital signature


Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-14 Thread Pacho Ramos
El sáb, 14-09-2013 a las 11:35 -0500, William Hubbs escribió:
 On Sat, Sep 14, 2013 at 12:47:04AM -0400, Alexandre Rostovtsev wrote:
  On Fri, 2013-09-13 at 22:48 -0500, William Hubbs wrote:
   On Fri, Sep 13, 2013 at 09:04:06PM -0400, Alexandre Rostovtsev wrote:
app-admin/openrc-settingsd uses various functions (rc_sys(),
rc_runlevel_get(), rc_service_exists(), rc_service_in_runlevel(),
rc_service_resolve(), rc_service_mark() etc.) from rc.h
   
   Will this still be needed once gnome 3.8 is stable everywhere?
  
  It will not be needed for gnome. Possibly another desktop environment
  might have a use for it.
 
 Running  grep -r 'app-admin/openrc-settingsd' .  in a current
 gentoo-x86 tree shows the following output:
 
 ./app-admin/openrc-settingsd/openrc-settingsd-1.0.1.ebuild:# $Header: 
 /var/cvsroot/gentoo-x86/app-admin/openrc-settingsd/openrc-settingsd-1.0.1.ebuild,v
  1.8 2013/02/02 22:20:11 ago Exp $
 ./app-admin/openrc-settingsd/ChangeLog:# ChangeLog for 
 app-admin/openrc-settingsd
 ./app-admin/openrc-settingsd/ChangeLog:# $Header: 
 /var/cvsroot/gentoo-x86/app-admin/openrc-settingsd/ChangeLog,v 1.10 
 2013/02/02 22:20:11 ago Exp $
 ./app-admin/openrc-settingsd/CVS/Repository:gentoo-x86/app-admin/openrc-settingsd
 ./gnome-base/gnome-control-center/gnome-control-center-3.8.3.ebuild:  || ( ( 
 app-admin/openrc-settingsd sys-auth/consolekit ) =sys-apps/systemd-31 )
 ./gnome-base/gnome-control-center/gnome-control-center-3.8.4.1-r1.ebuild: 
 || ( ( app-admin/openrc-settingsd sys-auth/consolekit ) =sys-apps/systemd-31 
 )
 ./gnome-base/gnome-control-center/gnome-control-center-3.8.4.1.ebuild:
 || ( ( app-admin/openrc-settingsd sys-auth/consolekit ) =sys-apps/systemd-31 
 )
 ./gnome-base/gnome-control-center/gnome-control-center-3.6.3-r1.ebuild:   
 app-admin/openrc-settingsd
 ./gnome-extra/cinnamon/cinnamon-1.8.8.1.ebuild:   
 app-admin/openrc-settingsd
 ./gnome-extra/cinnamon/cinnamon-1.6.7-r2.ebuild:  
 app-admin/openrc-settingsd
 
 It looks like this is gnome specific to me.
 
 I would be concerned about another desktop environment linking to these
 libraries because that seems to be the same type of vertical integration
 gnome is doing with systemd.
 linking to these libraries because that seems to be the same type of
 vertical integration gnome is doing with systemd.
 
 William
 

openrc-settings will need to be kept if we ever want to implement:
https://bugs.gentoo.org/show_bug.cgi?id=480336




Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-14 Thread William Hubbs
On Sat, Sep 14, 2013 at 10:59:57PM +0200, Pacho Ramos wrote:
 openrc-settings will need to be kept if we ever want to implement:
 https://bugs.gentoo.org/show_bug.cgi?id=480336

There may be other reasons to keep the api, that's why I put out the
question.

However, I thought the gnome team had agreed that you were going to
just mandate systemd for gnome 3.8 and newer since logind is unusable
outside of systemd. In that case, can't we just close this bug as
wontfix?


William



signature.asc
Description: Digital signature


Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-14 Thread Pacho Ramos
El sáb, 14-09-2013 a las 18:07 -0500, William Hubbs escribió:
 On Sat, Sep 14, 2013 at 10:59:57PM +0200, Pacho Ramos wrote:
  openrc-settings will need to be kept if we ever want to implement:
  https://bugs.gentoo.org/show_bug.cgi?id=480336
 
 There may be other reasons to keep the api, that's why I put out the
 question.
 
 However, I thought the gnome team had agreed that you were going to
 just mandate systemd for gnome 3.8 and newer since logind is unusable
 outside of systemd. In that case, can't we just close this bug as
 wontfix?
 
 
 William
 

The reasoning for that bug is explained in the bug itself and the mail
thread pointed there:
https://bugs.gentoo.org/show_bug.cgi?id=480336
http://www.gossamer-threads.com/lists/gentoo/dev/276077 (see the talk
with chithanh there)




Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-14 Thread Doug Goldstein
On Sat, Sep 14, 2013 at 11:35 AM, William Hubbs willi...@gentoo.org wrote:
 On Sat, Sep 14, 2013 at 12:47:04AM -0400, Alexandre Rostovtsev wrote:
 On Fri, 2013-09-13 at 22:48 -0500, William Hubbs wrote:
  On Fri, Sep 13, 2013 at 09:04:06PM -0400, Alexandre Rostovtsev wrote:
   app-admin/openrc-settingsd uses various functions (rc_sys(),
   rc_runlevel_get(), rc_service_exists(), rc_service_in_runlevel(),
   rc_service_resolve(), rc_service_mark() etc.) from rc.h
 
  Will this still be needed once gnome 3.8 is stable everywhere?

 It will not be needed for gnome. Possibly another desktop environment
 might have a use for it.

 Running  grep -r 'app-admin/openrc-settingsd' .  in a current
 gentoo-x86 tree shows the following output:

 ./app-admin/openrc-settingsd/openrc-settingsd-1.0.1.ebuild:# $Header: 
 /var/cvsroot/gentoo-x86/app-admin/openrc-settingsd/openrc-settingsd-1.0.1.ebuild,v
  1.8 2013/02/02 22:20:11 ago Exp $
 ./app-admin/openrc-settingsd/ChangeLog:# ChangeLog for 
 app-admin/openrc-settingsd
 ./app-admin/openrc-settingsd/ChangeLog:# $Header: 
 /var/cvsroot/gentoo-x86/app-admin/openrc-settingsd/ChangeLog,v 1.10 
 2013/02/02 22:20:11 ago Exp $
 ./app-admin/openrc-settingsd/CVS/Repository:gentoo-x86/app-admin/openrc-settingsd
 ./gnome-base/gnome-control-center/gnome-control-center-3.8.3.ebuild:|| ( 
 ( app-admin/openrc-settingsd sys-auth/consolekit ) =sys-apps/systemd-31 )
 ./gnome-base/gnome-control-center/gnome-control-center-3.8.4.1-r1.ebuild: 
   || ( ( app-admin/openrc-settingsd sys-auth/consolekit ) 
 =sys-apps/systemd-31 )
 ./gnome-base/gnome-control-center/gnome-control-center-3.8.4.1.ebuild:  || ( 
 ( app-admin/openrc-settingsd sys-auth/consolekit ) =sys-apps/systemd-31 )
 ./gnome-base/gnome-control-center/gnome-control-center-3.6.3-r1.ebuild:   
   app-admin/openrc-settingsd
 ./gnome-extra/cinnamon/cinnamon-1.8.8.1.ebuild: 
 app-admin/openrc-settingsd
 ./gnome-extra/cinnamon/cinnamon-1.6.7-r2.ebuild:
 app-admin/openrc-settingsd

 It looks like this is gnome specific to me.

 I would be concerned about another desktop environment linking to these
 libraries because that seems to be the same type of vertical integration
 gnome is doing with systemd.
 linking to these libraries because that seems to be the same type of
 vertical integration gnome is doing with systemd.

 William


Cinnamon is not requiring systemd, so removing openrc-settingd will
break that environment.

-- 
Doug Goldstein



[gentoo-dev] rfc: status of OpenRC's public API

2013-09-13 Thread William Hubbs
All,

OpenRC currently has a public api, consisting of librc and libeinfo
(rc.h and einfo.h are the headers); however, I do not know of any
released software that uses these, so, if there is nothing, I am
considering making this code private to OpenRC and getting rid of the
API.

I will reconsider if someone tells me there is actual software out
there which links to these libraries besides OpenRC, but if there isn't,
I am inclined to make all of that code private.

So, if you know of something that uses these libraries, speak up; I know
of nothing myself.

Thanks,

William


signature.asc
Description: Digital signature


Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-13 Thread Alexandre Rostovtsev
On Fri, 2013-09-13 at 19:16 -0500, William Hubbs wrote:
 All,
 
 OpenRC currently has a public api, consisting of librc and libeinfo
 (rc.h and einfo.h are the headers); however, I do not know of any
 released software that uses these, so, if there is nothing, I am
 considering making this code private to OpenRC and getting rid of the
 API.
 
 I will reconsider if someone tells me there is actual software out
 there which links to these libraries besides OpenRC, but if there isn't,
 I am inclined to make all of that code private.
 
 So, if you know of something that uses these libraries, speak up; I know
 of nothing myself.
 
 Thanks,
 
 William

app-admin/openrc-settingsd uses various functions (rc_sys(),
rc_runlevel_get(), rc_service_exists(), rc_service_in_runlevel(),
rc_service_resolve(), rc_service_mark() etc.) from rc.h




Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-13 Thread William Hubbs
On Fri, Sep 13, 2013 at 09:04:06PM -0400, Alexandre Rostovtsev wrote:
 On Fri, 2013-09-13 at 19:16 -0500, William Hubbs wrote:
  All,
  
  OpenRC currently has a public api, consisting of librc and libeinfo
  (rc.h and einfo.h are the headers); however, I do not know of any
  released software that uses these, so, if there is nothing, I am
  considering making this code private to OpenRC and getting rid of the
  API.
  
  I will reconsider if someone tells me there is actual software out
  there which links to these libraries besides OpenRC, but if there isn't,
  I am inclined to make all of that code private.
  
  So, if you know of something that uses these libraries, speak up; I know
  of nothing myself.
  
  Thanks,
  
  William
 
 app-admin/openrc-settingsd uses various functions (rc_sys(),
 rc_runlevel_get(), rc_service_exists(), rc_service_in_runlevel(),
 rc_service_resolve(), rc_service_mark() etc.) from rc.h

Will this still be needed once gnome 3.8 is stable everywhere?

Thanks,

William



signature.asc
Description: Digital signature


Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-13 Thread Alexandre Rostovtsev
On Fri, 2013-09-13 at 22:48 -0500, William Hubbs wrote:
 On Fri, Sep 13, 2013 at 09:04:06PM -0400, Alexandre Rostovtsev wrote:
  app-admin/openrc-settingsd uses various functions (rc_sys(),
  rc_runlevel_get(), rc_service_exists(), rc_service_in_runlevel(),
  rc_service_resolve(), rc_service_mark() etc.) from rc.h
 
 Will this still be needed once gnome 3.8 is stable everywhere?

It will not be needed for gnome. Possibly another desktop environment
might have a use for it.


signature.asc
Description: This is a digitally signed message part