From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Petazzoni Date: Mon, 9 Dec 2013 20:58:05 +0100 Subject: [Buildroot] [PATCH 4/4] systemd: uclibc now has posix_fallocate() In-Reply-To: References: <1386547663-2678-1-git-send-email-shawn@churchofgit.com> <1386547663-2678-4-git-send-email-shawn@churchofgit.com> Message-ID: <20131209205805.0b034205@skate> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Thomas, Shawn, On Mon, 9 Dec 2013 09:27:48 +0100, Thomas De Schampheleire wrote: > This clearly requires a toolchain with a sufficiently recent uClibc. > I'm not familiar with our strategy here, so I'm adding ThomasP to this > thread... My current strategy is to finish reviewing the eudev/systemd patches from Eric, and get them merged. They upgrade systemd, and make it depend on glibc, since it uses many glibc-isms. If people are unhappy with systemd being only available on uclibc systems, then they should either: 1/ Improve uClibc so that it provides the necessary glibc-isms, and make sure that the uClibc project is sufficiently alive to provide releases at a decent frequency (which it has failed to do for the last few years). I personally consider the uClibc project as mostly dead, and the best thing I'm wishing for this project is that a fork is made, with a more active and reactive community. 2/ Convince systemd upstream to not use the problematic glibc-isms, but I wish them good luck, knowing how upstream considers any system that isn't Linux/glibc. 3/ Realize that when you use systemd, you are already using heavy and fat dependencies (think D-Bus and Glib), and that therefore you can just as well afford the size of glibc. In the mean time, if people want to fix systemd 44, then uClibc compatibility patches should not be *removed* but instead *improved*. For example, this posix_fallocate() patch should be replaced by a test in configure.ac, that tests whether the C library does or does not provide posix_fallocate(), and acts accordingly. That's the good way of fixing the problem, because it would support both uClibc toolchains that use official uClibc releases (and therefore don't provide posix_fallocate()) and uClibc toolchains generated by Buildroot (that provide posix_fallocate()). Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com