Re: [systemd-devel] [PATCH] add sprezzos as alias for debian in autoconf script

2012-12-30 Thread nick black
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

2012-12-30 Thread nick black
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

2012-12-29 Thread nick black
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

2012-12-29 Thread nick black
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

2012-12-28 Thread nick black
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