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
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
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
[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