[Buildroot] [RFC 00/11] common init infrastructure
arnout at mind.be
Sat Mar 21 20:41:22 UTC 2015
On 21/03/15 19:26, Alex Suykov wrote:
> This series is intended to clean up buildroot init system somewhat,
> removing the need for extensive sysv and systemd handling code
> in every package that installs init bits, and allowing alternative
> init systems to be implemented with reasonable amount of effort.
Wow, impressive. I hadn't imagined it would be possible to get this far.
I have a couple of overall remarks before I dive into the individual patches.
- Although we have a dependency on python, we don't currently use python for any
of the core functionality (i.e., just building). Personally I like python a lot,
but now you already have to know make and shell pretty well in order to touch
the buildroot core. Adding python to the mix is making the threshold even higher.
- The generation script looks a bit complicated, while on the other hand the
.run files are really terse. I'd prefer a bit more verbosity in the .run files,
especially if that can make the generation script a bit simpler.
- The changes for .users and .files are pretty much independent from this series
so they could be put in a separate series. And I'm anyway not convinced that
> Overview of the changes:
> * drop per-package sysv and systemd files, introduce common format
> used to generate files for both of them, use a script to do
> the conversion from common format to sysv or systemd.
> * remove sysv and systemd installation code from package .mk files,
> let pkg-generic handle it.
> * remove sysv-specific files from skeleton, and sysv-specific hacks
> from system/system.mk. Use a dedicated script to write inittab,
> handling global conditionals (root rw/ro, serial getty and so on)
> * remove user definitions from package .mk files, and mkdirs from
> per-package sysv initscript, use per-package .users and .files
> instead in a way similar to .hash files.
> Expected benefits:
> * (almost) all packages get both sysv and systemd files at the same
> time and without the need to support them separately.
> * init-related changes can be introduced without patching
> all 70+ individual packages that install startup files.
> * new init systems can be introduced with only minor effort,
> including lightweight ones with controlled (foreground) daemons.
> This series includes the infrastructure changes, and a couple of
> package patches to show how it looks like. Complete set of package
> patches uploaded here: https://github.com/arsv/br/
> This series is for reviewing, not for merging.
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
More information about the buildroot