Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
On Sat, Dec 29, 2012 at 03:30:08PM -0500, nick black wrote: - at some point, either debian or the derivative might lurch in a new direction. in either case, carefully-crafted, minimal new TARGET_-specific code (or however you choose to do it) can mirror the divergence. all scripts continue to work. At this point derevative should stop and think. Is this diversion really needed (hint: almost never is)? What advantages this diversion brings, if any? If it's a good idea, why upstream did not go this way? Systemd project is trying to _get rid_ of distro difference in such trivial matters as hostname file location. Configure options are needed to make adoption easier, but the holy grail would be removing those options. -- Tomasz .. oo o. oo o. .o .o o. o. oo o. .. Torcz.. .o .o .o .o oo oo .o .. .. oo oo o.o.o. .o .. o. o. o. o. o. o. oo .. .. o. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
On Sun, Dec 30, 2012 at 3:02 PM, Tomasz Torcz to...@pipebreaker.pl wrote: On Sat, Dec 29, 2012 at 03:30:08PM -0500, nick black wrote: - at some point, either debian or the derivative might lurch in a new direction. in either case, carefully-crafted, minimal new TARGET_-specific code (or however you choose to do it) can mirror the divergence. all scripts continue to work. At this point derevative should stop and think. Is this diversion really needed (hint: almost never is)? What advantages this diversion brings, if any? If it's a good idea, why upstream did not go this way? Systemd project is trying to _get rid_ of distro difference in such trivial matters as hostname file location. Configure options are needed to make adoption easier, but the holy grail would be removing those options. Removing all TARGET options is still the goal and will surely happen some day. We did the same thing for udev in the past, and will go the same road here. And sure, we should not add new TARGET options now. Projects should just adopt the new config files, regardless if they like or want to support systemd. The files are reasonable generic, and after a short transition period it will be better for everybody to use the same logic in the distributions. Like Debian's /etc/hostname, systemd decided on it as the canonical name and location, and systems which really want something else, should carry the burden of maintaining it themselves, and not rely on upstream projects to carry their baggage. Fedora removed quite a few legacy stuff already, and more is on their way out: https://bugzilla.redhat.com/show_bug.cgi?id=881785 I hope people understand, that it's a win for everybody in the long run, not to support almost entirely needless distro differences in upstream projects. With that in mind, the distributions with a TARGET in the systemd source tree, are the lazy ones, not the cool ones. :) Kay ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
On Sat, Dec 29, 2012 at 9:21 PM, Lennart Poettering lenn...@poettering.net wrote: On Fri, 28.12.12 23:34, nick black (nick.bl...@sprezzatech.com) wrote: This patch adds sprezzos as an alias for debian in the configuration script. It also adds a comment exhorting other Debian derivatives to do this when possible, in the hope of keeping identifier bloat localized to autoconf while providing maximal future-proofing and making the correct choice explicit to the largest number of users. In general we try to cut down on distro specific magic in the systemd build tree. We have been slowly working on unifying things across distros and already removed a couple of these checks. As long as we have the need for the TARGET_xxx stuff we'll keep it, but it's not supposed to be specific per distro, but rather have definitions for entire families of distros. For example, we removed TARGET_UBUNTU (which existed at a time), since TARGET_DEBIAN already covered that neatly. Sprezzos is in the same category as Ubuntu, right? If so, doesn't --with-distro=debian do enough for your needs? Do you need more? Ångström, I notice that the semantics of TARGET_ANGSTROM are currently equivalent to those of TARGET_DEBIAN. I thus recommend that you convert to an alias similarly, allowing removal of TARGET_ANGSTROM #ifdefs scattered throughout the systemd code proper. Well, is Ångström a Debian derivative? If so then we should replace it by TARGET_DEBIAN, indeed. We should probably rename the all the strings to $distro-legacy, to make it clear, that it is not a cool thing to add a new TARGET to the systemd source tree. Kay ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
On Sunday 2012-12-30 15:02, Tomasz Torcz wrote: On Sat, Dec 29, 2012 at 03:30:08PM -0500, nick black wrote: - at some point, either debian or the derivative might lurch in a new direction. in either case, carefully-crafted, minimal new TARGET_-specific code (or however you choose to do it) can mirror the divergence. all scripts continue to work. At this point derevative should stop and think. Is this diversion really needed (hint: almost never is)? What advantages this diversion brings, if any? Diversity, of course. If it's a good idea, why upstream did not go this way? Sometimes, upstream(s) are seen as uncooperative, or simply going a boring way - derivates like going where no upstream has gone before. There is not always just a single answer to a given problem. That is why there is not only sysvinit or just systemd. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
On Sun, Dec 30, 2012 at 4:09 PM, Jan Engelhardt jeng...@inai.de wrote: On Sunday 2012-12-30 15:02, Tomasz Torcz wrote: On Sat, Dec 29, 2012 at 03:30:08PM -0500, nick black wrote: - at some point, either debian or the derivative might lurch in a new direction. in either case, carefully-crafted, minimal new TARGET_-specific code (or however you choose to do it) can mirror the divergence. all scripts continue to work. At this point derevative should stop and think. Is this diversion really needed (hint: almost never is)? What advantages this diversion brings, if any? Diversity, of course. If it's a good idea, why upstream did not go this way? Sometimes, upstream(s) are seen as uncooperative, or simply going a boring way - The only really boring thing is alternatives like: /etc/HOSTNAME /etc/hostname /etc/sysconfig/network :: HOSTNAME= derivates like going where no upstream has gone before. There is not always just a single answer to a given problem. That is why there is not only sysvinit or just systemd. What you say here does not really apply in this context. Diversity to try something new or in a way that has the potential to develop a new way to solve a problem is a nice thing which we surely would want to support. But needless and trivial random legacy locations of the same config data, which just confuses everybody is not a goal at all for the systemd source tree/build sys support. Kay ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
On Sat, 29.12.12 15:30, nick black (nick.bl...@sprezzatech.com) wrote: I'm currently using --with-distro=debian, and it serves my purposes just fine. My analysis is thus: - a debian derivative, at the moment it derives, has behavior equivalent to debian, and is thus nothing more than an alias. this holds for any derivative relationship, of course. debian provides dpkg-vendor(1) to explore these relationships, but it's kinda incomplete and not portable in any case. Something like this also exists portably in /etc/os-release's ID_LIKE= switch. (We added that on request of the Debian folsk actually.) - at some point, either debian or the derivative might lurch in a new direction. in either case, carefully-crafted, minimal new TARGET_-specific code (or however you choose to do it) can mirror the divergence. all scripts continue to work. It is strictly our goal to get rid of the differences between the distros, rather than encouraging them. - in that case, tell people like myself to piss off until we're at least on distrowatch, and use --distro=debian. that's fine; it simply means that, should some divergence occur, any derivative-side automation will go out-of-sync until it's manually corrected. For any new distribution I'd really recommend just following either the schemes of another distro or just using something distro-agnostic. Note that --with-distro= only results in relatively minimal changes in what is built. i.e. it's all the really boring stuff, such as where the default hostname is stored and suchlike. There's really no point in having distros differ on that. Well, is Ångström a Debian derivative? If so then we should replace it by TARGET_DEBIAN, indeed. Purrge! Hmm, so here's one thing I a going to do right away: no longer show the --with-distro string in systemctl --version so that people don't notice anymore for what style of distro systemd is built. As next thing I will then try to figure out what compat kludges we actually can drop now and whether we can replace --with-distro= with maybe two or so --enable-debian-legacy and --enable-gentoo-legacy or so, in order to clarify that this is about legacy compatibility and the exception, not the rule. Lennart -- Lennart Poettering - Red Hat, Inc. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
On Sun, 30.12.12 11:46, Paul Wise (p...@debian.org) wrote: On Sun, Dec 30, 2012 at 4:21 AM, Lennart Poettering wrote: In general we try to cut down on distro specific magic in the systemd build tree. We have been slowly working on unifying things across distros and already removed a couple of these checks. As long as we have the need for the TARGET_xxx stuff we'll keep it, but it's not supposed to be specific per distro, but rather have definitions for entire families of distros. For example, we removed TARGET_UBUNTU (which existed at a time), since TARGET_DEBIAN already covered that neatly. It would be much better to get rid TARGET_* completely, split out what TARGET_* does into separate config options and push the configuration options into distro build systems. Totally agree! Lennart -- Lennart Poettering - Red Hat, Inc. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
On Sun, 30.12.12 16:09, Jan Engelhardt (jeng...@inai.de) wrote: - at some point, either debian or the derivative might lurch in a new direction. in either case, carefully-crafted, minimal new TARGET_-specific code (or however you choose to do it) can mirror the divergence. all scripts continue to work. At this point derevative should stop and think. Is this diversion really needed (hint: almost never is)? What advantages this diversion brings, if any? Diversity, of course. Well, I hope you are just playing devil's advocate here... If it's a good idea, why upstream did not go this way? Sometimes, upstream(s) are seen as uncooperative, or simply going a boring way - derivates like going where no upstream has gone before. There is not always just a single answer to a given problem. That is why there is not only sysvinit or just systemd. Well, I mean, I am all for people doing stuff people haven't done before, and playing around with new ways to do things, but really, the place where the hostname is configured is one really really boring setting and totally not where people should begin innovating, since it's just so totally boring... Lennart -- Lennart Poettering - Red Hat, Inc. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
Lennart Poettering left as an exercise for the reader: Totally agree! Well, I think everyone's in agreement on this. I will not personally have development time for this effort until late next week, but I'd be happy to take it on if nobody else plans to work on this in the near future. SprezzOS regards systemd as core technology of critical importance, and is interested in keeping it workable and maintainable. -- nick black http://www.sprezzatech.com -- unix and hpc consulting to make an apple pie from scratch, you need first invent a universe. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
Lennart Poettering left as an exercise for the reader: Hmm, so here's one thing I a going to do right away: no longer show the --with-distro string in systemctl --version so that people don't notice anymore for what style of distro systemd is built. As next thing I will then try to figure out what compat kludges we actually can drop now and whether we can replace --with-distro= with maybe two or so --enable-debian-legacy and --enable-gentoo-legacy or so, in order to clarify that this is about legacy compatibility and the exception, not the rule. Time to come clean: these kind of changes were pretty much the goal of my patchset. I think a good discussion has been had here, and the way forward is greatly clarified. Thanks to all participants! -- nick black http://www.sprezzatech.com -- unix and hpc consulting to make an apple pie from scratch, you need first invent a universe. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
On Sat, Dec 29, 2012 at 12:34 PM, nick black wrote: This patch adds sprezzos as an alias for debian in the configuration script. It also adds a comment exhorting other Debian derivatives to do this when possible, in the hope of keeping identifier bloat localized to autoconf while providing maximal future-proofing and making the correct choice explicit to the largest number of users. That is not going to scale to the hundreds of Debian/Ubuntu derivatives out there, let alone all of the distros that exist and TARGET_* is a bad idea anyway. A better way to do this is to replacing the TARGET_* defines with a set of configuration options that represent what is different about each distro, like HOSTNAME_PATH, HOSTNAME_METHOD_FILE, HOSTNAME_METHOD_*, ENABLE_FASTBOOT, MTA_NAME and so on. -- bye, pabs http://wiki.debian.org/PaulWise ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
Paul Wise left as an exercise for the reader: On Sat, Dec 29, 2012 at 12:34 PM, nick black wrote: This patch adds sprezzos as an alias for debian in the configuration script. It also adds a comment exhorting other Debian derivatives to do this when possible, in the hope of keeping identifier bloat localized to autoconf while providing maximal future-proofing and making the correct choice explicit to the largest number of users. That is not going to scale to the hundreds of Debian/Ubuntu derivatives out there, let alone all of the distros that exist and TARGET_* is a bad idea anyway. Completely agreed; I was attempting to make as incremental a patch as possible. -- nick black http://www.sprezzatech.com -- unix and hpc consulting to make an apple pie from scratch, you need first invent a universe. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
On Fri, 28.12.12 23:34, nick black (nick.bl...@sprezzatech.com) wrote: Hello there! Heya, This patch adds sprezzos as an alias for debian in the configuration script. It also adds a comment exhorting other Debian derivatives to do this when possible, in the hope of keeping identifier bloat localized to autoconf while providing maximal future-proofing and making the correct choice explicit to the largest number of users. In general we try to cut down on distro specific magic in the systemd build tree. We have been slowly working on unifying things across distros and already removed a couple of these checks. As long as we have the need for the TARGET_xxx stuff we'll keep it, but it's not supposed to be specific per distro, but rather have definitions for entire families of distros. For example, we removed TARGET_UBUNTU (which existed at a time), since TARGET_DEBIAN already covered that neatly. Sprezzos is in the same category as Ubuntu, right? If so, doesn't --with-distro=debian do enough for your needs? Do you need more? Ångström, I notice that the semantics of TARGET_ANGSTROM are currently equivalent to those of TARGET_DEBIAN. I thus recommend that you convert to an alias similarly, allowing removal of TARGET_ANGSTROM #ifdefs scattered throughout the systemd code proper. Well, is Ångström a Debian derivative? If so then we should replace it by TARGET_DEBIAN, indeed. Lennart -- Lennart Poettering - Red Hat, Inc. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
Lennart Poettering left as an exercise for the reader: On Fri, 28.12.12 23:34, nick black (nick.bl...@sprezzatech.com) wrote: Sprezzos is in the same category as Ubuntu, right? If so, doesn't --with-distro=debian do enough for your needs? Do you need more? I'm currently using --with-distro=debian, and it serves my purposes just fine. My analysis is thus: - a debian derivative, at the moment it derives, has behavior equivalent to debian, and is thus nothing more than an alias. this holds for any derivative relationship, of course. debian provides dpkg-vendor(1) to explore these relationships, but it's kinda incomplete and not portable in any case. - during this time, the systemd build process will be sucked into various automated processes (such as debian's autobuilder or sprezzos's autoupgrader). the automator at this point wants to choose the appropriate one, because... - at some point, either debian or the derivative might lurch in a new direction. in either case, carefully-crafted, minimal new TARGET_-specific code (or however you choose to do it) can mirror the divergence. all scripts continue to work. - this does lead to an explosion in aliases, but they're localized to configure.in, so who cares? well, maybe we do care. - in that case, tell people like myself to piss off until we're at least on distrowatch, and use --distro=debian. that's fine; it simply means that, should some divergence occur, any derivative-side automation will go out-of-sync until it's manually corrected. i think i'm just jealous of Ångström, though. the right thing to do, as pabs pointed out, is to junk all of this and make decisions based on discovered form, not name of form. that's a more serious overhaul, though. if my patch is not accepted, i'll not hold it against systemd :). Well, is Ångström a Debian derivative? If so then we should replace it by TARGET_DEBIAN, indeed. Purrge! -- nick black http://www.sprezzatech.com -- unix and hpc consulting to make an apple pie from scratch, you need first invent a universe. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
On Sun, Dec 30, 2012 at 4:21 AM, Lennart Poettering wrote: In general we try to cut down on distro specific magic in the systemd build tree. We have been slowly working on unifying things across distros and already removed a couple of these checks. As long as we have the need for the TARGET_xxx stuff we'll keep it, but it's not supposed to be specific per distro, but rather have definitions for entire families of distros. For example, we removed TARGET_UBUNTU (which existed at a time), since TARGET_DEBIAN already covered that neatly. It would be much better to get rid TARGET_* completely, split out what TARGET_* does into separate config options and push the configuration options into distro build systems. Well, is Ångström a Debian derivative? If so then we should replace it by TARGET_DEBIAN, indeed. Ångström is not a Debian derivative, it is related to the OpenEmbedded, OpenZaurus and OpenSimpad for low-resource devices like DSL modems and PDAs. -- bye, pabs http://wiki.debian.org/PaulWise ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script
Hello there! This patch adds sprezzos as an alias for debian in the configuration script. It also adds a comment exhorting other Debian derivatives to do this when possible, in the hope of keeping identifier bloat localized to autoconf while providing maximal future-proofing and making the correct choice explicit to the largest number of users. I went this route after first adding a TARGET_SPREZZOS autoconf #define, and realizing that this meant multiple files now had #if defined(TARGET_DEBIAN) || defined(TARGET_ANGSTROM) || defined(TARGET_SPREZZOS) which is getting pretty clearly ridiculous. Should there come a time when Debian needs radically unexpected changes here to conform with *new* behavior, it might behoove us to make sprezzos an alias of TARGET_DEBIAN_CLASSIC_DERIVATIVE or some other horror, allowing exlusive TARGET_DEBIAN-guarding of this hypothetical new code. Until that unhappy and unlikely day, this will work for Debian derivatives until they explicitly diverge from Debian, at which point changes elsewhere are rather more expected. Ångström, I notice that the semantics of TARGET_ANGSTROM are currently equivalent to those of TARGET_DEBIAN. I thus recommend that you convert to an alias similarly, allowing removal of TARGET_ANGSTROM #ifdefs scattered throughout the systemd code proper. Systemd maintainers, if you agree with this approach, please apply my patch. It can, of course, be applied independently of Ångström's takeup of this method. Pull from https://github.com/Sprezzatech/systemd/commit/43571179a9effdde3365c5bd72f66f7712b68f5e. Thanks, everyone. Hack on! diff --git a/configure.ac b/configure.ac index d0003bb..e0e9dca 100644 --- a/configure.ac +++ b/configure.ac @@ -640,7 +640,7 @@ AM_CONDITIONAL(ENABLE_MANPAGES, [test x$have_manpages = xyes]) # -- -AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, arch, gentoo, slackware, altlinux, mandriva, mageia, angstrom or other])) +AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, arch, gentoo, slackware, altlinux, mandriva, mageia, angstrom, sprezzos or other])) if test z$with_distro = z; then if test $cross_compiling = yes; then AC_MSG_WARN([Target distribution cannot be reliably detected when cross-compiling. You should specify it with --with-distro (see $0 --help for recognized distros)]) @@ -660,6 +660,9 @@ SYSTEM_SYSVRCND_PATH=/etc/rc.d M4_DEFINES= +# If you are Debian-derived, and the set of Debian-associated conditionals +# apply to you, make yourself an alias of debian here rather than introducing +# an entire new set of identifiers. case $with_distro in fedora) SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d @@ -671,7 +674,7 @@ case $with_distro in AC_DEFINE(TARGET_SUSE, [], [Target is openSUSE/SLE]) M4_DEFINES=-DTARGET_SUSE=1 ;; -debian) +sprezzos|debian) SYSTEM_SYSVRCND_PATH=/etc AC_DEFINE(TARGET_DEBIAN, [], [Target is Debian]) M4_DEFINES=-DTARGET_DEBIAN=1 -- nick black http://www.sprezzatech.com -- unix and hpc consulting to make an apple pie from scratch, you need first invent a universe. From 43571179a9effdde3365c5bd72f66f7712b68f5e Mon Sep 17 00:00:00 2001 From: nick black nick.bl...@sprezzatech.com Date: Fri, 28 Dec 2012 23:16:13 -0500 Subject: [PATCH] add sprezzos as an alias for debian in the autoconf script To: systemd-devel@lists.freedesktop.org Cc: debian-derivati...@lists.debian.org --- configure.ac | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index d0003bb..e0e9dca 100644 --- a/configure.ac +++ b/configure.ac @@ -640,7 +640,7 @@ AM_CONDITIONAL(ENABLE_MANPAGES, [test x$have_manpages = xyes]) # -- -AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, arch, gentoo, slackware, altlinux, mandriva, mageia, angstrom or other])) +AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, arch, gentoo, slackware, altlinux, mandriva, mageia, angstrom, sprezzos or other])) if test z$with_distro = z; then if test $cross_compiling = yes; then AC_MSG_WARN([Target distribution cannot be reliably detected when cross-compiling. You should specify it with --with-distro (see $0 --help for recognized distros)]) @@ -660,6 +660,9 @@ SYSTEM_SYSVRCND_PATH=/etc/rc.d M4_DEFINES= +# If you are Debian-derived, and the set of Debian-associated conditionals +# apply to you, make yourself an alias of debian here rather than introducing