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

2013-05-27 Thread Duncan
Ian Stakenvicius posted on Sun, 26 May 2013 10:58:24 -0400 as excerpted:

 On 26/05/13 07:40 AM, Luca Barbato wrote:
 On 5/26/13 12:57 PM, Michał Górny wrote:
 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.
 
 
 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)
 
 I don't know (outside of a script in the initramfs) how this would
 otherwise be handled to cover all cases.  I am curious though, if you
 see a way to do this otherwise, what the implementation would look like?

Here's an idea I've not seen proposed yet.

Make the wrapper function something like a cross between a simple 
bootloader and traditional single-user-mode.

Normal mode, like the bootloader for many users, would be a default 
choice with (configurable) either a timeout of a couple seconds, or (say 
shift) key-held-down detection, thus no boot delay as if the key isn't 
down at the moment of detection, boot proceeds using the existing config.

In the event of an init switchup, the user either sets an option before 
shutdown (much like the run-once defaults of grub, etc, set pre-
shutdown), or selects switchup mode with the appropriate boot-time 
trigger (using the above mentioned timeout or key-down sensing).

The special switchup mode would then operate much like single-user in 
terms of available functionality and the fact that it's a special mode 
used for system maintenance, but would (normally, with a drop-to-shell 
option as well) be rather more guided, presumably using a menu, again 
much like a bootloader, except that it's PID-1 instead of pre-kernel.

Critical point #1 is that much like single-user mode, switchup mode would 
NOT run normally, but would be specifically selected, with either a 
reboot or simply starting the new init system at switchup mode exit.

That gives switchup mode a lot more flexibility in terms of what's 
allowed, since it's no longer in the time-critical every-boot path, and 
because it's its own mode, it can mount / rw to make changes as 
necessary, with either a reboot to start the selected init-system or 
simply starting it normally, at switchup mode exit.  And if anything goes 
wrong, simply select switchup mode at the next boot once again, and 
either revert to previous, for fix it.

Critical point #2 is that the actual normal-mode wrapper would be very 
small both in terms of boot-time and code, thus both easy to debug, and 
not increasing boot time by much at all, particularly in key-down-
detection mode where there'd be no timeout delay to tick down.  A small 
binary that simply either runs the timout or detects key-down, before 
execing the normal init, is all that would run in a normal bootup.  The 
complex functionality would only be invoked if switchup mode is chosen, 
as entirely separate functionality execed place of the normal init it 
would have otherwise execed.

Meanwhile, switchup mode (again, a separate binary execed only if chosen 
from the tiny one designed to run inline at each boot) would have a menu 
with options to invoke scripts for each of the init-system choices 
offered, and a further fall-back to shell option.

Each init-system package would then depend (perhaps conditionally based 
on an init-switcher USE flag) on the init-switcher package, and would 
ship one gentoo specific file, the switcher script, thus putting each 
switcher script under the control of the gentoo maintainers for that init-
system package, who could set it up to be as simple or as complex as 
necessary for their init system.  Those who needed a rw root to switch 
out various files could arrange for their switcher script to handle that, 
while those who could do without, possibly handling things later with 
their own native init-service, could do without the rw root bit.  
Similarly, switchup mode exit-time behavior, presumably either simply 
triggering a reboot, or starting the selected init-system directly, would 
be entirely under the control of the individual init-system package 
maintainers, via the switch-script they maintain.

As a first bonus, even people who aren't interested in more than one init-
system might find setting the init-switcher USE flag useful, especially 
on EFI systems, since it would give them the advantages of switchup mode, 
namely a drop to shell option as yet 

Re: [gentoo-dev] Re: robo-stable bugs

2013-05-27 Thread Jeroen Roovers
On Thu, 23 May 2013 23:40:42 -0600
Ryan Hill dirtye...@gentoo.org wrote:

 Okay, so what are you using the STABLEREQ keyword for that you want
 to set it when the bug is filed but before archs are added?  If you
 want to see only stabilization bugs you can search in the Keywording
 and Stabilization component.  Can you suggest another way to search
 for stabilization bugs that don't yet have archs CC'd (which is
 something I find rather useful)?

We could split up [Keywording and Stabilization] into separate
components, [Keywording] and [Stabilization], but then

1) people would still forget to set it, at whatever stage, and
2) this wouldn't fit with [Security]/[Vulnerabilities].

It's important to be able to distinguish between STABLEREQ and
KEYWORDREQ. I think a KEYWORDREQ should normally be handled earlier than
any STABLEREQ /unless/ the STABLEREQ fixes a security bug, since
being late getting keywords back up to par with other architectures
tends to make an even bigger mess further on.

Alternatively, we could set CONFIRMED or IN_PROGRESS when a) the
Component is [Keywording and Stabilization] and b) arch teams are
CC'd, but then everyone would forget to set that half the time, too.


 jer



[gentoo-dev] New global USE flag: qt5

2013-05-27 Thread Michael Palimaka

Hi all,

Qt 5 has been available for some time, and we are making preparations to 
move it to the tree. As we will be supporting user choice where packages 
can be build against both Qt 4 and Qt 5, we will require a new global 
USE flag:


qt5 - Adds support for the Qt 5 application and UI framework

Please note that this flag will be immediately masked until Qt 5 
actually makes it to the tree, but is required to do the necessary pre-work.


Best regards,
Michael




[gentoo-dev] Re: New global USE flag: qt5

2013-05-27 Thread Nikos Chantziaras

On 27/05/13 18:06, Michael Palimaka wrote:

Hi all,

Qt 5 has been available for some time, and we are making preparations to
move it to the tree. As we will be supporting user choice where packages
can be build against both Qt 4 and Qt 5, we will require a new global
USE flag:

qt5 - Adds support for the Qt 5 application and UI framework

Please note that this flag will be immediately masked until Qt 5
actually makes it to the tree, but is required to do the necessary
pre-work.


I suppose there will be an eqmake5 that should be called instead of 
eqmake4 when that USE flag is set?





[gentoo-dev] PSA: python-r1.eclass, python-single-r1.eclass, and REQUIRED_USE

2013-05-27 Thread Jonathan Callen
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

A quick reminder for anyone using python-r1.eclass or
python-single-r1.eclass:

These eclasses provide a ${PYTHON_REQUIRED_USE} variable that should
be included in REQUIRED_USE under the same USE conditionals (if any)
that ${PYTHON_DEPS} is included in DEPEND/RDEPEND.

For example, if your ebuild has:

RDEPEND=
python? ( ${PYTHON_DEPS}


then you should also have:

REQUIRED_USE=
python? ( ${PYTHON_REQUIRED_USE} )


And if your ebuild just has:

RDEPEND=${PYTHON_DEPS}

then you should also have:

REQUIRED_USE=${PYTHON_REQUIRED_USE}

Failure to include these in REQUIRED_USE may cause the eclass to die
very late in the build process.

Thank you,

Jonathan Callen
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.19 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCgAGBQJRo309AAoJELHSF2kinlg4dVcP/2t3v1t8CId8jK/c4VG8HLWL
zTEvTI3d8wQILuHydI9VkOZllo3dPWhhUhg/1qJjwEXXnKQXiYNUiVzbtwdkGro/
OlkCrrpDstHgawHiovIZjgyEG9Y+Nz2Z5nKorZIAMFSFepaFsIkihVR3VkeHiG9Q
7XOOVaH8mqGuj7JWZNqikCmB11a6t08jVM68tzwtTZUuil1IRE2qjO5akMPczsvk
3ndoMsv5hQwUE4wmmTH4ffiz+wp/JUylK2Ypy6p/UWlMw+oq8IusyvQdKztF2rU4
SyjnEOHcPtbLXMA24NHSAUov5L3xVcSu4he5A+QnY0Ghn0dZ7Wbk72aRZQP+MOk+
e18tdPRaXE35ux8s0ogLeuD04lju6z5/esJbP8LF8H6loiKCURxVOfYEhUugIMIc
ihb6h4o4cflz2tYV6USOHxUQ6pA78X7ftXGJhOOR1sf1/2GZcg7ZQvD0WqjNLbAo
U52yQl3/bKMVpezYLhkLxgzmRAdwbBdBFdiav8dX+QNYabLPG/0y6mkqK0pc59sS
Lsse/dXCPrxfI6MVbsSQAaFt4s/YNrf9NLabdPHShRlWX8pRc16feQFb7FoTCmWe
BzwBwG63Mvw2OOS0GrXIfXdFs9klbezoZ8Ql8Zb3CIZPWaBPAOYfCqZDHkDDAyQL
UYQyPJdIntHmxKbtMQr9
=frSU
-END PGP SIGNATURE-



[gentoo-dev] Re: New global USE flag: qt5

2013-05-27 Thread Michael Palimaka

On 28/05/2013 01:34, Nikos Chantziaras wrote:

On 27/05/13 18:06, Michael Palimaka wrote:

Hi all,

Qt 5 has been available for some time, and we are making preparations to
move it to the tree. As we will be supporting user choice where packages
can be build against both Qt 4 and Qt 5, we will require a new global
USE flag:

qt5 - Adds support for the Qt 5 application and UI framework

Please note that this flag will be immediately masked until Qt 5
actually makes it to the tree, but is required to do the necessary
pre-work.


I suppose there will be an eqmake5 that should be called instead of
eqmake4 when that USE flag is set?





Yes, this will part of the future qt5 eclass for packages that require 
qmake.





Re: [gentoo-dev] PSA: python-r1.eclass, python-single-r1.eclass, and REQUIRED_USE

2013-05-27 Thread Mike Gilbert
On Mon, May 27, 2013 at 11:35 AM, Jonathan Callen a...@gentoo.org wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA512

 A quick reminder for anyone using python-r1.eclass or
 python-single-r1.eclass:

 These eclasses provide a ${PYTHON_REQUIRED_USE} variable that should
 be included in REQUIRED_USE under the same USE conditionals (if any)
 that ${PYTHON_DEPS} is included in DEPEND/RDEPEND.

Thanks for that. I probably should have announced it myself.



Re: [gentoo-dev] PSA: python-r1.eclass, python-single-r1.eclass, and REQUIRED_USE

2013-05-27 Thread Tomáš Chvátal
Is there actually list of current offenders?

It would be pretty nice to have bugs opened if someone forgot to set it.

Tom


[gentoo-dev] Re: [gentoo-dev-announce] PSA: python-r1.eclass, python-single-r1.eclass, and REQUIRED_USE

2013-05-27 Thread Pacho Ramos
El lun, 27-05-2013 a las 11:35 -0400, Jonathan Callen escribió:
 A quick reminder for anyone using python-r1.eclass or
 python-single-r1.eclass:
 
 These eclasses provide a ${PYTHON_REQUIRED_USE} variable that should
 be included in REQUIRED_USE under the same USE conditionals (if any)
 that ${PYTHON_DEPS} is included in DEPEND/RDEPEND.
 
 For example, if your ebuild has:
 
 RDEPEND=
 python? ( ${PYTHON_DEPS}
 
 
 then you should also have:
 
 REQUIRED_USE=
 python? ( ${PYTHON_REQUIRED_USE} )
 
 
 And if your ebuild just has:
 
 RDEPEND=${PYTHON_DEPS}
 
 then you should also have:
 
 REQUIRED_USE=${PYTHON_REQUIRED_USE}
 
 Failure to include these in REQUIRED_USE may cause the eclass to die
 very late in the build process.
 
 Thank you,
 
 Jonathan Callen

Couldn't a repoman check be added for warning when an ebuild using that
eclasses don't set REQUIRED_USE at all?




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

2013-05-27 Thread Alex Xu
Funny. This is starting to sound familiar... almost like some other
software that runs at boot, every boot. Hm, what was the name...

Oh, a *bootloader*! Something that *loads* different *boot* configurations!

But seriously. For people that can install a bootloader, is there really
any reconfiguration needed to reboot into a different init system?
Just add configuration items as needed for different init systems. We've
never automatically added bootloader options if sys-kernel/* is updated;
why start now?

For those who are on EFI with direct load of Linux, either install a
bootloader or use efibootmgr or similar to add entries into the native
boot selector (really another bootloader).



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-27 Thread Anthony G. Basile

Hi everyone,

I was about to add a use expand flag for monkeyd (a tiny web server) and 
there is a notice in base/make.default to discuss use expand flags on 
the list first.  There are about 9 plugins for monkeyd similar to apache 
which can be turned on/off by a configure switch. It makes sense to 
follow the same logic as apache here.  There are no dependencies on 
monkeyd and so no use-deps.  Seems very safe. Any objections?


--Tony

--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA




[gentoo-dev] Re: PSA: python-r1.eclass, python-single-r1.eclass, and REQUIRED_USE

2013-05-27 Thread Jonathan Callen
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

On 05/27/2013 01:24 PM, Tomáš Chvátal wrote:
 Is there actually list of current offenders?
 
 It would be pretty nice to have bugs opened if someone forgot to
 set it.
 
 Tom
 

While there may be some false positives in this list, below is a list
of the ebuilds that inherit python-r1 or python-single-r1 that do not
include anything referencing python_targets_* in REQUIRED_USE:

app-accessibility/accerciser-3.6.2-r1
app-accessibility/accerciser-3.8.0
app-accessibility/accerciser-3.8.2
app-accessibility/caribou-0.4.10
app-accessibility/caribou-0.4.7
app-accessibility/caribou-0.4.8
app-accessibility/orca-3.6.3-r1
app-accessibility/orca-3.8.1
app-accessibility/pocketsphinx-0.8
app-accessibility/speech-dispatcher-0.7.1-r2
app-accessibility/speech-dispatcher-0.8-r1
app-accessibility/speech-dispatcher-0.8-r2
app-accessibility/sphinxbase-0.8
app-accessibility/SphinxTrain-1.0.8
app-arch/rpm-4.11.0.1
app-benchmarks/bootchart2-0.14.5-r1
app-cdr/cdemu-2.0.0
app-cdr/gcdemu-2.0.0
app-editors/gedit-3.6.2-r1
app-editors/gedit-3.8.1
app-editors/gedit-3.8.2
app-editors/gedit-plugins-3.6.1-r1
app-editors/gedit-plugins-3.8.1
app-editors/gedit-plugins-3.8.2
app-editors/gvim-7.3.905
app-editors/gvim-7.3.931
app-editors/gvim-
app-editors/vim-7.3.905
app-editors/vim-7.3.931
app-editors/vim-
app-emulation/crossover-bin-12.1.2
app-emulation/crossover-bin-12.2.0
app-emulation/libvirt-glib-0.1.5
app-emulation/libvirt-glib-0.1.6
app-emulation/xen-4.2.0-r1
app-emulation/xen-4.2.0-r2
app-emulation/xen-4.2.1-r1
app-emulation/xen-4.2.1-r2
app-emulation/xen-4.2.1-r3
app-emulation/xen-4.2.2
app-emulation/xen-tools-4.2.0-r3
app-emulation/xen-tools-4.2.1
app-emulation/xen-tools-4.2.1-r1
app-emulation/xen-tools-4.2.1-r2
app-emulation/xen-tools-4.2.1-r3
app-emulation/xen-tools-4.2.2-r1
app-i18n/ibus-1.5.2
app-i18n/ibus-anthy-1.5.0
app-i18n/mozc-1.10.1390.102
app-misc/byobu-5.39
app-misc/byobu-5.41
app-misc/byobu-5.41-r1
app-misc/evemu-1.1.0
app-misc/golly-2.4-r1
app-misc/grc-1.4-r1
app-misc/metromap-0.1.4-r1
app-misc/terminal-colors-1.5
app-misc/workrave-1.10
app-office/gnucash-2.4.12
app-office/gnumeric-1.12.0-r1
app-office/gnumeric-1.12.1
app-office/gnumeric-1.12.2
app-office/libreoffice-3.6.6.2
app-office/libreoffice-3.6.
app-office/libreoffice-4.0.3.3
app-office/libreoffice-4.0.
app-office/libreoffice-4.1.
app-office/libreoffice--r2
app-office/planner-0.14.6_p20130520
app-office/scribus-1.4.2-r2
app-office/scribus-1.4.
app-pda/libimobiledevice-1.1.5
app-pda/libplist-1.10
app-shells/autojump-21.3.0-r1
app-shells/autojump-21.5.8
app-text/asciidoc-8.6.8-r1
app-text/asciidoc-
app-text/gnome-doc-utils-0.20.10-r1
app-text/gtranslator-2.91.6
app-text/pastebinit-1.3.1-r1
app-vim/splice-1.0.1
app-vim/vim-latex-1.8.23.20130116
dev-db/postgresql-server-8.4.17
dev-db/postgresql-server-9.0.13
dev-db/postgresql-server-9.1.9
dev-db/postgresql-server-9.2.4
dev-db/postgresql-server-
dev-java/antlr-2.7.7-r1
dev-java/antlr-2.7.7-r3
dev-java/antlr-2.7.7-r4
dev-java/antlr-2.7.7-r5
dev-lang/yasm-1.2.0-r1
dev-lang/yasm-
dev-libs/boost-1.52.0-r6
dev-libs/boost-1.53.0
dev-libs/botan-1.10.3-r1
dev-libs/btparser-0.24
dev-libs/cryptlib-3.4.0-r1
dev-libs/dee-1.0.14-r2
dev-libs/glib-2.36.1
dev-libs/glib-2.36.2
dev-libs/gobject-introspection-1.34.2-r1
dev-libs/gobject-introspection-1.36.0
dev-libs/libpeas-1.6.2-r1
dev-libs/libpeas-1.8.0
dev-libs/libpwquality-1.2.0-r2
dev-libs/libRocket-1.2.1
dev-libs/libRocket-1.2.1_p20130110
dev-libs/libRocket-1.2.1_p20130110-r1
dev-libs/libRocket-
dev-libs/libxml2-2.8.0-r4
dev-libs/libxml2-2.9.0-r1
dev-libs/libxml2-2.9.0-r2
dev-libs/libxslt-1.1.28-r1
dev-libs/newt-0.52.15
dev-python/compizconfig-python-0.8.4-r5
dev-python/docutils-glep-0.4-r1
dev-python/graph-tool-2.2.21
dev-python/graph-tool-2.2.22
dev-python/graph-tool-2.2.23
dev-python/graph-tool-
dev-python/gst-python-0.10.22-r1
dev-python/notify-python-0.1.1-r3
dev-python/psycopg-1.1.21-r1
dev-python/pyatspi-2.6.0-r1
dev-python/pyatspi-2.8.0
dev-python/pycairo-1.10.0-r4
dev-python/pygobject-2.28.6-r53
dev-python/pygobject-3.2.2-r1
dev-python/pygobject-3.4.2-r1
dev-python/pygobject-3.8.1
dev-python/pygobject-3.8.2
dev-python/pygoocanvas-0.14.1-r1
dev-python/pygtk-2.24.0-r3
dev-python/pygtksourceview-2.10.1-r1
dev-python/PyQt4-4.10
dev-python/PyQt4-4.10.1
dev-python/PyQt4-4.9.6-r2
dev-python/pyqwt-5.2.0-r1
dev-python/pyside-1.1.2-r1
dev-python/python-exec-0.2
dev-python/python-exec-0.3
dev-python/python-exec-0.3.1
dev-python/python-exec-
dev-python/python-poppler-0.12.1-r4
dev-python/qscintilla-python-2.7.1
dev-python/shiboken-1.1.2-r1
dev-python/sip-4.14.3
dev-python/sip-4.14.6
dev-python/subunit-0.0.10-r1
dev-python/telepathy-python-0.15.19-r1
dev-util/anjuta-3.6.2-r1
dev-util/anjuta-3.8.1
dev-util/anjuta-3.8.3
dev-util/catfish-0.6.3
dev-util/coccinelle-1.0.0_rc17
dev-util/devhelp-3.6.1-r1
dev-util/devhelp-3.8.1
dev-util/devhelp-3.8.2
dev-util/dwarves-1.10-r1
dev-util/fatrace-0.5

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

2013-05-27 Thread Walter Dnes
On Mon, May 27, 2013 at 10:36:41AM +, Duncan wrote

 Here's an idea I've not seen proposed yet.
 
 Make the wrapper function something like a cross between a simple 
 bootloader and traditional single-user-mode.
 
 Normal mode, like the bootloader for many users, would be a default 
 choice with (configurable) either a timeout of a couple seconds, or (say 
 shift) key-held-down detection, thus no boot delay as if the key isn't 
 down at the moment of detection, boot proceeds using the existing config.
 
 In the event of an init switchup, the user either sets an option before 
 shutdown (much like the run-once defaults of grub, etc, set pre-
 shutdown), or selects switchup mode with the appropriate boot-time 
 trigger (using the above mentioned timeout or key-down sensing).

  That is still adding unnecessary complexity to the systems, and an
additional possible point of failure.

 The special switchup mode would then operate much like single-user in 
 terms of available functionality and the fact that it's a special mode 
 used for system maintenance, but would (normally, with a drop-to-shell 
 option as well) be rather more guided, presumably using a menu, again 
 much like a bootloader, except that it's PID-1 instead of pre-kernel.

  What does this accomplish that could not be accomplished by...
* placing a switcher script in /sbin
* booting to single-user mode, and running the switcher script

 Critical point #1 is that much like single-user mode, switchup mode
 would NOT run normally, but would be specifically selected, with
 either a reboot or simply starting the new init system at switchup
 mode exit.

  It waddles like single-user mode
  It quacks  like single-user mode
  It flies   like single-user mode
  It *IS* single-user mode

  Why bother re-inventing the wheel.  Use single-user mode, already.

 Critical point #2 is that the actual normal-mode wrapper would be very 
 small both in terms of boot-time and code, thus both easy to debug, and 
 not increasing boot time by much at all, particularly in key-down-
 detection mode where there'd be no timeout delay to tick down.  A small 
 binary that simply either runs the timout or detects key-down, before 
 execing the normal init, is all that would run in a normal bootup.  The 
 complex functionality would only be invoked if switchup mode is chosen, 
 as entirely separate functionality execed place of the normal init it 
 would have otherwise execed.
 
 Meanwhile, switchup mode (again, a separate binary execed only if chosen 
 from the tiny one designed to run inline at each boot) would have a menu 
 with options to invoke scripts for each of the init-system choices 
 offered, and a further fall-back to shell option.
 
 Each init-system package would then depend (perhaps conditionally based 
 on an init-switcher USE flag) on the init-switcher package, and would 
 ship one gentoo specific file, the switcher script, thus putting each 
 switcher script under the control of the gentoo maintainers for that init-
 system package, who could set it up to be as simple or as complex as 
 necessary for their init system.  Those who needed a rw root to switch 
 out various files could arrange for their switcher script to handle that, 
 while those who could do without, possibly handling things later with 
 their own native init-service, could do without the rw root bit.  
 Similarly, switchup mode exit-time behavior, presumably either simply 
 triggering a reboot, or starting the selected init-system directly, would 
 be entirely under the control of the individual init-system package 
 maintainers, via the switch-script they maintain.

  I repeat, all this can be handled in single-user mode right now.

 As a first bonus, even people who aren't interested in more than one init-
 system might find setting the init-switcher USE flag useful, especially 
 on EFI systems, since it would give them the advantages of switchup mode, 
 namely a drop to shell option as yet another alternative to single user 
 mode,

  Oh boy... a second single-user mode.

 AND perhaps even MORE importantly, access to a more or less automated
 init-system restore option, triggered via selection of the same
 switcher script that would otherwise be run to switch between init-
 systems.  Again, the contents of that init-system-specific switcher-
 script would be entirely under the control of the gentoo maintainers
 for that package, so they could do whatever fancy working-condition
 checks and restores from backup that they wanted.

  What you're talking about is rescue-CD functionality.  I don't know if
it's possible, but it would be very nice as a standalone rescue CD
(actually USB stick nowadays).  If so, I would much rather prefer it on
as rescue CD/USB-stick than as a boot option.  If a system is really
screwed up, you can't even assume that it'll boot to single-mode from
the hard drive.

 As a second bonus, switchup mode would be extremely flexible and 
 extensible via 

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

2013-05-27 Thread Walter Dnes
On Mon, May 27, 2013 at 01:47:49AM +0200, Luca Barbato wrote

 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.

  People who want to try something different in distros, without
irrevocably switching over, normally have a separate partition.  This is
beginning to look like the simplest, least error-prone approach, even
if it is heavy-ganded.

  Out of sheer curiosity... is bb-init based on busybox?  If so, a
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.

-- 
Walter Dnes waltd...@waltdnes.org
I don't run desktop environments; I run useful applications



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 Michał Górny
On Tue, 28 May 2013 05:55:39 +0200
Luca Barbato lu_z...@gentoo.org wrote:

 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.

And you actually make the boot depend on:

1) valid /bin/sh,

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

With switch-init being executed as a shell script, it can do anything.
And I wouldn't be surprised if you made it do various things you'd like
to be done. Not to mention what would happen if it gets corrupted into
binary mess and shell tries to execute that.

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

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


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] New USE_EXPAND flag for www-servers/monkeyd

2013-05-27 Thread Tony Chainsaw Vroon
On Mon, 2013-05-27 at 16:38 -0400, Anthony G. Basile wrote:
 There are about 9 plugins for monkeyd similar to apache 
 which can be turned on/off by a configure switch. It makes sense to 
 follow the same logic as apache here.

Indeed it does. Particularly if it avoids a non-obvious USE-flag that
requires an explanation in metadata.xml, like the problem I had with
VOICEMAIL_STORAGE in net-misc/asterisk.
It took me 3 days to get a reply to that, so I'm replying even though
I'm agreeing with you. Then again, perhaps I just want to see something
else on this list then bickering...

Regards,
Tony V.