Re: [lfs-dev] LFS SVN and Systemd Report

2012-05-31 Thread Dan Nicholson
On Thu, May 31, 2012 at 5:21 AM, Andrew Benton a...@benton.eu.com wrote:
 On Thu, 31 May 2012 00:58:08 +0100
 Ken Moffat zarniwh...@ntlworld.com wrote:

  Actually, for some of us they *are* scary.  I thought I was making
 some progress (persuaded autoreconf to complete without errors using
 the attached -A.patch), but then configure went into an infinite
 loop spewing out '=no' lines.  That's around the check to see if we
 only want udev.  But after the test for whether to build static
 libraries

 I also got the same result from trying to make Dan's patch work, just
 after checking whether to build the static libraries it started spewing
 out '=no' lines. If I redirected it to a file (to try and see the
 start) the file quickly grew to be enormous. To me, the problem with
 autofoo isn't that it's scary it's just that it's obscure and difficult
 to follow. I agree that the autofoo approach is the one most likely to
 be accepted upstream but Bruce's more direct approach seems to be
 paying dividends in the short term.

Here's an update. I forgot that [] are quotes in autoconf, so you
usually end up using test instead. I still didn't test it works all
the way, but I think configure should run.

Allow me to get on my soapbox here for a minute.

Nearly all the energy in LFS is used on building packages and all the
associated issues with bootstrapping systems. Ask yourself, what
percentage of the packages you're building use the autotools? 50%?
75%? 90%? The percentage is high regardless. IMO, if what you're
interested in is building packages, then learning the process the
build is created would be a great investment. I see so much time spent
here trying to work around build issues and basically guessing at how
the build works. I almost never see someone actually diagnose the
issue at the root when the autotools are involved.

The autotools are unusual, but they really aren't that complex. One of
my real oh moments when I was still building LFS was when I saw an
analysis Greg did of a configure bug and realized that it really
wasn't that complex at all. At Xorg a guy showed up and wanted to help
on build issues but had never seen the autotools before. Within a few
months he was squashing bugs all over the place and now he's basically
the expert there. It's a really handy skill set because of the
ubiquity of the autotools.

The documentation is very good:

http://www.gnu.org/software/autoconf/manual/
http://www.gnu.org/software/automake/manual/
http://www.gnu.org/software/libtool/manual/

Old, but will teach you the basics:

http://sources.redhat.com/autobook/

I will now return to lurking.

--
Dan


udev-only.patch
Description: Binary data
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: [lfs-dev] LFS SVN and Systemd Report

2012-05-31 Thread Dan Nicholson
On 5/31/12, Andrew Benton a...@benton.eu.com wrote:
 On Thu, 31 May 2012 14:05:19 +0100
 Dan Nicholson dbn.li...@gmail.com wrote:

 Here's an update. I forgot that [] are quotes in autoconf, so you
 usually end up using test instead. I still didn't test it works all
 the way, but I think configure should run.

 Withthis patch automake fails with:

 Makefile.am:1447: Cannot apply `+=' because `MANPAGES' is not defined in
 Makefile.am:1447: the following conditions:
 Makefile.am:1447:   UDEV_ONLY
 Makefile.am:1447: Either define `MANPAGES' in these conditions, or use
 Makefile.am:1447: `+=' in the same conditions as the definitions.
 Makefile.am:1511: Cannot apply `+=' because `bin_PROGRAMS' is not defined
 in
 Makefile.am:1511: the following conditions:
 Makefile.am:1511:   UDEV_ONLY
 Makefile.am:1511: Either define `bin_PROGRAMS' in these conditions, or use
 Makefile.am:1511: `+=' in the same conditions as the definitions.
 Makefile.am:2773: Cannot apply `+=' because `rootlibexec_PROGRAMS' is not
 defined in
 Makefile.am:2773: the following conditions:
 Makefile.am:2773:   ENABLE_LOGIND and UDEV_ONLY
 Makefile.am:2773: Either define `rootlibexec_PROGRAMS' in these conditions,
 or use
 Makefile.am:2773: `+=' in the same conditions as the definitions.

 I can fix that by making some changes to Makefile.am (see the attached
 diff) so that autoreconf now completes without error. However, when I
 try to run ./configure --enable-udev-only I get:

 checking for library containing clock_gettime... -lrt
 checking for library containing dlsym... -ldl
 checking for library containing cap_init... no
 configure: error: *** POSIX caps library not found

Congratulations, you're off and running with the autotools! A couple notes here:

1. I definitely did not get that patch to a working state. I only was
just trying to get it going in the right direction.

2. Bryan has sent a couple patches to the hotplug list to decouple
things a bit. One of them has to do with getting a capability include
out of a udev file. You probably want to have a look at those to not
duplicate work.

3. Here it seems that the capability system is being included unconditionally.

save_LIBS=$LIBS
LIBS=
AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps
library not found])])
AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps
headers not found])])
CAP_LIBS=$LIBS
LIBS=$save_LIBS
AC_SUBST(CAP_LIBS)

The 5th argument of AC_SEARCH_LIBS and 4th argument of
AC_CHECK_HEADERS are action-not-found. I.e., what to do if you
didn't find a libcap library providing cap_init or the
sys/capability.h header. You could wrap those AC_MSG_ERRORs in
$enable_udev_only, but I think you could probably wrap this whole
section in an if test $enable_udev_only = no block. You will need
Bryan's patches to untangle capabilities from the shared sources,
though.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: [lfs-dev] LFS SVN and Systemd Report

2012-05-30 Thread Dan Nicholson
On Mon, May 28, 2012 at 1:00 PM, Jeremy Huntwork
jhuntw...@lightcubesolutions.com wrote:
 On 5/28/12 2:52 PM, Bruce Dubbs wrote:
 The problem is that none of these libraries are used for udev.  On a
 recent blfs system, where the systemd dependent libraries are installed,
 I as able to build and looked at the executables and libraries.  AFAIK,
 the only ones are /bin/udevadm, /usr/lib/systemd/systemd-udevd,
 /lib/libudev.so.1.0.0 and /usr/lib/udev/*.

 Perhaps the best solution is to complain loudly to upstream and hope
 that enough do so that they build into the package the ability to build
 and install only the udev components as they said would be possible.

Have any of you guys considered actually making patches and sending
them upstream? The autotools are not that scary. Having been both
upstream and downstream, my guess is that those guys will accept
patches that allow a udev-only build, but they just don't have any
interest in doing that work themselves. I'm sure there are more than a
few people around who are interested in that scenario (they're already
showing up on the hotplug list) who would test and push for the
patches. If it's that critical to keep systemd out of LFS, then you'd
probably be best served by taking control of the situation. IMO.

Here's an untested patch to get you started.

--
Dan


udev-only.patch
Description: Binary data
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: pkg-config tests

2011-11-02 Thread Dan Nicholson
On Sun, Sep 4, 2011 at 12:59 PM, Bryan Kadzban
br...@kadzban.is-a-geek.net wrote:
 Bruce Dubbs wrote:
 Doing some debugging, I'm making some progress.  I made some debug
 printouts and in the first case got:

    required_pkgconfig_version 999.999

 but in the second

    required_pkgconfig_version a=b

 (which for some reason returns a positive number for
 compare_versions (0.26, a=b) but that's a nonsense comparison due to
 the invalid command line parsing.

 rpmvercmp() is screwy (in pkg.c).  It compares the two as numbers (since
 the first char of the first string is a digit), but ends up doing it
 piecewise: comparing 0 to  (since the first char of the second arg
 is not a digit).  This triggers a line preceded with a comment pointing
 at RH bugzilla, bug 50977 -- the code returns 1 if the first item was
 numeric, and -1 otherwise.

 But the real bug is below.

 I'm continuing to check.

 This looked interesting, so I started digging as well.  I think I found it.

 poptGetNextOption, after it invokes the callback for
 --define-variable=a=b (the operation of which sets the longArg local
 variable), does not reset longArg to NULL.  So on the next time through
 its loop (after invoking the --define-variable callback, before invoking
 the --atleast-pkgconfig-version callback), on line 389 of popt.c, sets
 con-os-nextArg to longArg (the old a=b string).  What it should do
 is set nextArg to nextCharArg (the next item on the command line).  This
 happens if longArg is NULL.

 Adding a longArg = NULL; as the first line of the while (!done) {
 loop makes the tests pass.  I don't *think* it breaks anything else, but
 I don't know for sure.

 Short patch attached.  It can probably be turned into a sed.

 diff -Naur pkg-config-0.26/popt/popt.c pkg-config-0.26-patched/popt/popt.c
 --- pkg-config-0.26/popt/popt.c 2011-05-15 02:06:06.0 -0700
 +++ pkg-config-0.26-patched/popt/popt.c 2011-09-04 12:44:26.0 -0700
 @@ -297,6 +297,8 @@
     int singleDash;

     while (!done) {
 +       longArg = NULL;
 +
        while (!con-os-nextCharArg  con-os-next == con-os-argc
                 con-os  con-optionStack)
            con-os--;


Nice! Someone reported this issue upstream, which is why I added the
test. I tried looking through current popt for a fix, but it's
diverged quite a bit. Can you make this a real patch with description?
Sooner or later popt will be removed completely and we'll just use
glib instead, but it hasn't happened yet. I think this is the patch
for that:

http://cgit.freedesktop.org/~dbn/pkg-config/commit/?h=glib2id=503670a7390f436bc173e68e9d97e1aadee5c679

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Stripping in Chapter 6

2011-10-27 Thread Dan Nicholson
On Tue, Oct 25, 2011 at 3:57 PM, Jeremy Huntwork
jhuntw...@lightcubesolutions.com wrote:
 There appears to be a somewhat bogus statement in section 6.63
 Stripping Again. It says there:
 If disk space is very tight, the --strip-all option can be used on
 the binaries in /{,usr/}{bin,sbin} to gain several more megabytes. Do
 not use this option on libraries—they will be destroyed.
 The statement that libs will be destroyed by --strip-all may be
 correct for chapter 5 libs due to the adjustments we've made (and will
 yet make) in chapter 6, the nature of the varying environments.
 However, by the end of chapter 6 I don't believe that statement is
 true any more.

Looks like you are indeed right about shared libraries. strip removes
the regular symbol table, but doesn't touch the dynamic symbol table.
Here's an example.

# Create some separate directories
mkdir full stripped

# Make a simple shared and static library
cat  dragon.c  EOF
#include stdio.h
void dragons(void)
{
printf(Here be dragons!\n);
}
EOF
gcc -c -o dragon.o -fPIC dragon.c
gcc -o full/libdragon.so -shared dragon.o
ar r full/libdragon.a dragon.o
ranlib full/libdragon.a

# Make stripped copies of the libraries
cp full/* stripped/
strip --strip-all stripped/*

# Look at the symbol tables of the shared libraries
# Notice that the .symtab section of the stripped library
# is gone, but the .dynsym sections are identical
readelf -s */libdragon.so

# Look at the symbol tables of the static libraries
# Notice that the stripped library has no symbols left
readelf -s */libdragon.a

# Make a test app
cat  test.c  EOF
extern void dragons(void);
int main(void)
{
dragons();
return 0;
}
EOF

# Build and run against stripped shared library
# Notice that it runs fine
gcc -o test test.c -Lstripped -ldragon
LD_LIBRARY_PATH=stripped ./test

# Now try again with the stripped static library
# Notice that it fails to build
gcc -o test test.c stripped/libdragon.a

So, it seems that --strip-all will only destroy your static libraries.
I couldn't find any way to strip the .dynsym section out of the
generated binaries. Then later I found this:

http://www.technovelty.org/linux/strip.html

Interesting stuff.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: links in Matt's emails

2011-08-18 Thread Dan Nicholson
On Thu, Aug 18, 2011 at 1:53 AM, akhiezer lf...@cruziero.com wrote:
 Matt,

 For a long time now, links in your posts often include the full-stop
 (aka 'period') in the linked text - see e.g. the links in your post:

 http://linuxfromscratch.org/pipermail/lfs-book/2011-August/026906.html

 When one clicks on the links, a 404 or similar error happens, cos the
 '.' is interpreted as part of the url; and it kindof 'requires' manual
 correction - which is a pain.

 Happens here in Firefox, Seamonkey, and mailx .

I think this is actually a trac bug or a mailman bug rather than on
Matt's end. You can see that mail is just a forward from the activity
in the ticket.

http://wiki.linuxfromscratch.org/lfs/ticket/2914

If you look at the links there, they are correctly ending before the
trailing punctuation. However, in the generated mail (at least in the
mailman archives), the punctuation has been included in the URL. One
of the admins would have to hunt that down.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: perl-5.14.1

2011-06-27 Thread Dan Nicholson
On Sun, Jun 26, 2011 at 2:35 PM, Bruce Dubbs bruce.du...@gmail.com wrote:
 Nathan Coulson wrote:

 silly question, but what was the reason for only installing part of
 perl?  I know we don't need it, but we rarely go out of our way to
 just install what we need in chapter 5's packages.

 Well, it's an interesting question.  Looking back, lfs was installing a
 partial Chapter 5 perl in May 2003, perhaps earlier.  I don't remember
 the details, but I suppose it was for efficiency reasons.

IIRC, this was a DIYism that we borrowed from Greg. Essentially, perl
with all the modules distributed in the tarball is much more than
what's necessary for bootstrapping. Furthermore, perl will by default
build all the modules for dynamic loading. By passing
-Dstatic_ext=..., you're building only the necessary extensions and
then linking them statically into the perl executable. It's less space
and build time, but it's also a little more robust since you can't get
into a situation where perl is looking in the wrong spot for these
modules.

So, it's really an optimization only. Just FYI, to keep that
optimization but just add AutoSplit, you can just add
cpan/AutoLoader/pm_to_blib to the make line.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: svn bootscripts

2011-05-30 Thread Dan Nicholson
On Mon, May 30, 2011 at 12:55 PM, Bruce Dubbs bruce.du...@gmail.com wrote:
 DJ Lucas wrote:
 On 05/30/2011 12:34 PM, Bruce Dubbs wrote:
 In the latest svn, the bootscripts are lfs-bootscripts-20110424.

 I get an error:  make[1]: /usr/lib/lsb/install_initd: Command not found

 This was identified a week ago by xinglp, but I don't see a fix.

     -- Bruce
 Either need to roll back the inadvertent commit to the bootscripts
 tarball job or move forward with the patch I sent in. Let me know if I
 should do this.

 I'd appreciate it if you could do a revert.  I took a look at the patch
 and it installs initd-tools as yet another package.  I looked at the
 source to initd-tools and I don't understand why we need a C program to
 do that.  It could be done in a shell script. That would require some
 effort to create, but would be much easier to maintain.

 Perhaps I can try writing the script after the middle of next month.  We
 have a big deadline coming up.  After that,  I think I've earned about a
 year of comp time.

Try writing as a shell script, Bruce. DJ did before and found that my
C version was much, much faster. Parsing the dependencies and building
a tree in an interpreted language with no data structures is a
nightmare. In C it's a linked list of structs. Just my opinion,
though.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Using the LSB Bootscripts

2011-05-11 Thread Dan Nicholson
On Tue, May 10, 2011 at 6:39 AM, Jeremy Huntwork
jhuntw...@lightcubesolutions.com wrote:
 On 5/10/11 8:25 AM, DJ Lucas wrote:
       * Most important, pull as much as possible of the items below from
 LightCube OS's files to ease merging and keep the diffs to a minimum so
 that they are easily shared across distributions.
       * Move ifup and ifdown scripts to /sbin.
       * Move network service scripts to /lib/services (there was one
 minor objection here, should that be /lib/network-services or
 /lib/network? I don't really have any preference here, /lib/services is
 fine by me).
       * Move network configuration files to /etc/network.
       * Move network (hostname value) and clock config into
 /etc/default/rc.site (default to UTC?)
       * Use /etc/default for rc configuration files (remaining items in
 /etc/sysconfig currently).

 All fine from my perspective. :)

       * Add initd-tools to book - This is required for the new scripts.
 Jeremy what is the status on this in LightCube OS? I remember a few
 months ago about you possibly taking over maintenance of them, adding a
 service binary/script and such? At last check, Dan did not have them in
 an RCS, which is not an issue for now, just curious about the future of
 the tools. The tarball and homepage are available in Dan's home
 directory on freedesktop.org if we need for the book. Dan?

 I never got around to adding these into a repository, but I could do so.
 I'd be happy to maintain them. I'll need to schedule some time to get
 the infrastructure together for them and then post links.

I nominate you as the new maintainer. :) Since I don't roll my own
anymore I don't actually use the programs, but DJ has used them and
they worked for me at one point. I put the repo on freedesktop.org in
git://anongit.freedesktop.org/~dbn/initd-tools. I updated the webpage
with the relevant info, but it'll take a little longer for cgit to
display the repo.

http://people.freedesktop.org/~dbn/initd-tools/

Let me know if I can help. This was my first major C project, so you
might find some ugly code in there.

Good luck!

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Menu configuration

2011-03-23 Thread Dan Nicholson
On Wed, Mar 23, 2011 at 10:00 AM, Lars Nielsen l...@mit-web.dk wrote:
 Hey,
 Maybe a little off-topic. :-s

 Can I use the c code from the menu/ folder in jhalfs in my own project
 to make a similar configuration menu?

 Are there some extra documantation to this ncurses based menu-system?

I'm pretty sure it was taken from busybox which in turn was taken from
linux's Kconfig system. You can certainly use it yourself if the
license is permissible (almost certainly GPL). The code is in the
linux tarball under scripts/kconfig, and there's docs in
Documentation/kbuild.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Thinking forward LFS-7.0

2011-03-16 Thread Dan Nicholson
On Wed, Mar 16, 2011 at 3:22 PM, Steve Jones s...@slohj.org wrote:
 On Mon, 14 Mar 2011, DJ Lucas wrote:

 On 03/14/2011 12:03 AM, Nathan Coulson wrote:
 
 
 On Sun, Mar 13, 2011 at 9:45 PM, DJ Lucas d...@linuxfromscratch.org
 mailto:d...@linuxfromscratch.org wrote:
 
     On 03/13/2011 11:39 PM, DJ Lucas wrote:
      * LSB Compliance - For LFS we are nearly there anyway.
     
      * Dynamic boot script - No more static list of links, this kind
     of ties
      into LSB Bootscripts, but there are other options.
     
     Again, these two go hand in hand for me. In the current
     lfs-bootscripts
     tarball, I've been working on and using exclusively the contrib/lsb-v3
     boot scripts for over 3 years now. They are an extension of something
     that Nathan Coulson and Alexander Patrakov had started on. These are
     completely lsb-v4 compliant as well and are IMO a huge improvement
     over
     the current boot scripts. I've been using Dan Nicholson's initd-tools
     package to provide the install_initd and remove_initd programs. Aside
     from the fact that there is no longer any need to maintain a list of
     symlinks for startup order, they add a lot of niceties, including
     boot-logging and conditional startup for trouble-shooting.
 
 
 
 ah, I miss the bootscript days.  I'll have to take a look, and
 find out what I have been missing out on
 

 Yes, please! Another set of eyes and additional brain power is
 always welcome! You should still have commit privs so feel free to
 help yourself. The current 'stable' boot scripts are the remnants
 after we ripped out the i18n additions. Though they are stable, they
 still contain a lot of cruft such as boot_mesg which is largely
 unneeded. I wound up doing a complete rewrite of rc and a single
 conditional source of the configuration files in lsb-v3. IOW, at the
 cost of possibly faster conditional logic, they only get sourced by
 the script if running outside of rc in the lsb-v3 directory. I
 honestly don't remember what the 'stty sane' issue was caused by,
 but I have never been able to reproduce it since and saw no reason
 to source the files in every single sub-shell. BTW, Dan's
 initd-tools has moved. He is currently hosting them in his home
 directory on freedesktop.org.

 Do you have the link to initd-tools.  I've searched all morning and
 can't find anything.  I'm thinking of trying the LSB scripts on my next
 build now that linux=2.6.38 is out.

http://people.freedesktop.org/~dbn/initd-tools/

I haven't migrated the git repo over there yet, but I also haven't
made any more commits since the last release. :)

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Thinking forward LFS-7.0

2011-03-15 Thread Dan Nicholson
On Mon, Mar 14, 2011 at 6:56 PM, Bruce Dubbs bruce.du...@gmail.com wrote:

 * LSB Compliance - For LFS we are nearly there anyway.

  So, since you have raised this, what do you think needs to be done
 that is a major change ?  More to the point, should we really care ?
 I don't have any interest in letting people run binaries.

 * Dynamic boot script - No more static list of links, this kind of ties
 into LSB Bootscripts, but there are other options.


  I don't know what you mean by this ? It's the first time I've heard
 the phrase dynamic boot script.  I hope this isn't anything to do
 with upstart or systemd, what I've seen of those fills me with a
 mixture of horror and disgust ;)

 I've looked at this and made some posts about it in 2009.  LSB is a
 'trailing' standard and many new capabilities (e.g. Qt4, KDE4, etc are
 not adequately addressed in LSB.  We already address parts of LSB in
 section iv.  We also mention building non-wide Ncurses libraries.

 I am not opposed to reworking the bootscripts to be more consistent with
 LSB and setting things up to build the boot order into the scripts
 instead of the Makefile.  Is this enough to relabel LFS to 7.0 instead
 of 6.x?  Perhaps, but I would lean towards no.

It's actually pretty simple and can really enlightening to think
through the dependencies of the scripts. I actually think that once
you start doing it, you'll wonder why you weren't doing it before.
Especially once you get into BLFS bootscripts, it can be a real pain
to get the order right for running the scripts. Right now the LFS
bootscript order is hardcoded in the Makefile, and the reasons for
that order have almost certainly been lost to time. Doesn't the
process of entering the script dependencies in the script and having a
program order them for you make sense?

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Thinking forward LFS-7.0

2011-03-14 Thread Dan Nicholson
On Mon, Mar 14, 2011 at 1:50 PM, Robert Xu rob...@gmail.com wrote:
 On Mon, Mar 14, 2011 at 16:45, Ken Moffat k...@linuxfromscratch.org wrote:
 On Sun, Mar 13, 2011 at 11:39:04PM -0500, DJ Lucas wrote:

 * Dynamic boot script - No more static list of links, this kind of ties
 into LSB Bootscripts, but there are other options.


  I don't know what you mean by this ? It's the first time I've heard
 the phrase dynamic boot script.  I hope this isn't anything to do
 with upstart or systemd, what I've seen of those fills me with a
 mixture of horror and disgust ;)


 The LSB bootscripts work similar to insserv on (newer) Debian and SuSE, right?

Yeah. Instead of hardcoding the symlink order as is done in the
bootscripts Makefile, dependencies are added to the header of the
script and a tool creates the links for you, ensuring that the
dependencies are satisfied.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Xorg plans (Was: Re: problem with groff 1.21)

2011-01-13 Thread Dan Nicholson
On Wed, Jan 12, 2011 at 6:12 PM, DJ Lucas d...@linuxfromscratch.org wrote:
 On 01/12/2011 05:45 PM, Ken Moffat wrote:
  I've no idea where BLFS is going in the move to 7.6 - my (old)
 radeons work well in everything except mesa-demos, but then I no
 longer build a lot of the old things (many of the 'apps' still
 listed in BLFS, also the old core fonts - I'm all TTF here).

 Moved to BLFS-Dev...

 BLFS hopefully will move to 7.6-1 this weekend (time permitting). I've
 tested on both x86 and x86_64 and it seems to be solid on my hardware.
 I've done both /opt/X11 and /usr installations on x86, but only /usr on
 x86_64 (the /opt/X11 prefix will require a lib64 - lib symlink). While
 I've done a complete U-turn on my intentions, I also plan to suggest
 that we do only system installations in the book for everything after
 this release, and move instructions to the wiki if we choose to support
 packages installed elsewhere (the maintenance burden of Trinity and
 Gnome using /opt is far too much to handle reliably (and later KDE4?)).
 I plan to add a warning box in the book for this release mentioning the
 $XORG_PREFIX/lib64 - lib symlink. Mesa Demos will be gone from the book
 and the Configuring Xorg will be one page. Old fonts will remain as they
 are still listed as part of the Xorg distribution.

I'm curious why you want to get rid of the demos. Surely everyone goes
to glxinfo and glxgears to see if 3D is working, right?

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Bootscript future

2010-08-24 Thread Dan Nicholson
On Mon, Aug 23, 2010 at 2:12 AM, Jeremy Huntwork
jhuntw...@lightcubesolutions.com wrote:
 On 8/11/10 12:40 AM, DJ Lucas wrote:
 Actually, for LSB compliance, the 'distribution supplied boot scripts'
 need not use /lib/lsb/init-functions at all.  All that is required is
 that the scripts provide the LSB header information, and can therefor be
 manipulated by {install,remove}_initd.  That said, I have been working
 on a replacement for the LFS bootscripts for some time, and have a fully
 compliant set in LFS/trunk/BOOK/bootscripts/contrib/lsb-v3/, with quite
 a few of the BLFS scripts completed as well in
 BLFS/bootscripts/contrib/lsb-v3/.

 Awesome work. I've been playing with them and they will definitely fit
 my needs. They're a huge improvement over the current LFS bootscripts.

 I did encounter a syntax error, however. The sendsignals script is
 missing ' ; then' after a leading if in two places. This sed fixes it:

 sed -i 's...@\]@ ; then@' init.d/sendsignals

 dynamic.  I think they are ready for prime time, everyone should really
 should give them a try on your next build.

 I'd be pretty happy if these went into LFS.

 As far as chkconfig, I'm personally not a fan, just because it
 duplicates the purpose of the LSB tools, but it does allow you to change
 started runlevels which the LSB tools do not (I'm pretty sure that would
 conflict with Dan's tools, so if we did that, we'd need to use what RH
 and others use for the install_initd and remove_initd tools (which
 require python IIRC).  IMO, it would be easier to just edit the runlevel
 header information in the script rather than using chkconfig.

 I can do without chkconfig. I do miss the ability to list what is
 enabled, and only mildly miss the ability to enable/disable specific
 run-levels for a given service.

 Having said that, assuming it doesn't break any LSB compliance, I'd be
 happy to add those features into Dan's tools. As it is, if I begin using
 them in earnest, I may just take over maintenance of them.

Feel free to! :) It was more of a scratch an itch project, but I
don't actually use them anymore so what I'm doing doesn't even count
as maintenance. There's definitely some ugly code in there from being
a C noob, so you could learn it just by scoping the code for
janitorial work.

http://git.dwcab.com/cgit/initd-tools.git/

Oh, man, some of those commits are pretty embarrassing. It should be
LSB compliant, though. That was the point all that time back.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: ntp init script

2010-08-24 Thread Dan Nicholson
On Mon, Aug 23, 2010 at 3:30 PM, Jeremy Huntwork
jhuntw...@lightcubesolutions.com wrote:
 On 8/23/10 6:10 PM, Bruce Dubbs wrote:
 What if the ntp server provided is down like in the 2nd entry above?

 Or (for who knows what reason) outgoing ICMP packets are blocked where
 you have no control?

 This problem is not easily solved.

 Understood and agreed. Again, I think that initial set of the date
 shouldn't be part of the bootscript.

It's definitely not necessary and slows down the boot even when the
network is immediately available. ntpd will slew the time back into
sync without forcing an inital sync and will respond to the network
becoming available if it's not initially there.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page


Re: ssl certs - not found by epiphany-2.30

2010-06-22 Thread Dan Nicholson
On Tue, Jun 22, 2010 at 8:44 AM, Ken Moffat zarniwhoo...@googlemail.com wrote:
 (yeah, I know the book is still using gnome-2.28).  In openssl we put
 the certs in
 /etc/ssl/ca-bundle.crt.  I haven't yet identified what else is using
 these, but epiphany is looking for
  /etc/pki/tls/certs/ca-bundle.crt and
 /etc/ssl/certs/ca-certificates.crt.  I can fix this by passing
 --with-ca-file=/etc/ssl/ca-bundle.crt but ti makes me wonder if we are
 putting them in the wrong place.

I don't think so. Fedora just happens to put them in
/etc/pki/tls/certs/ca-bundle.crt, but I believe Debian/Ubuntu does
something different. If you build wget, you'll see a different
default. I think you just have to make sure the packages use the certs
where you put them.

 Any pointers to investigating this ?  At the moment I'm unclear is
 it's us or the epiphany devs who are mistaken (or, perhaps, some
 distros use one name, and others use a different name).

I think the latter. :)

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Re: the issue of environment value $PS1 set under Ubuntu 10.04

2010-06-04 Thread Dan Nicholson
On Fri, Jun 4, 2010 at 1:40 AM, littlebat dashing.m...@gmail.com wrote:
 This issue was posted onto lfs-support mailing list yesterday (see: 
 http://linuxfromscratch.org/pipermail/lfs-support/2010-June/038814.html ), 
 unluckly I disabled the mail delivery of LFS mailing list some days ago, so I 
 can't continue discuss it on the lfs-support mailing list. And, I consider it 
 is a bug of LFS6.6 book, so I start a new thread on the lfs-dev list to 
 discuss it.

 I am using Ubuntu 10.04 as the LFS building host. When I set environment with 
 the instructions at: 4.4. Setting Up the Environment: 
 http://www.linuxfromscratch.org/lfs/view/6.6/chapter04/settingenvironment.html
  , I found the commands provided by LFS book can't set $PS1 value under 
 Ubuntu 10.04 host properly. The commands is below:

 code
 cat  ~/.bash_profile  EOF
 exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
 EOF
 /code

 The issue is Ubuntu has a system-wide .bashrc file for interactive bash(1) 
 shells, it is /etc/bash.bashrc. $PS1 has been set to 
 PS1='${debian_chroot:+($debian_chroot)}...@\h:\w\$ ' in this file. When the 
 command above invoke /bin/bash to start a new interactive bash shells, 
 /etc/bash.bashrc will invoked first, this $PS1 value will be seted. So, $PS1 
 keep as the format like l...@u1004b2-desktop:~$ , not the format excepted 
 by LFS6.6 book like lfs:~$ .

Looks like debian and ubuntu hosts have the SYS_BASHRC definition set,
which will source /etc/bash.bashrc before ~/.bashrc on non-interactive
logins. Seems like the easiest fix is to move the PS1 setting to
~lfs/.bashrc, but it probably doesn't affect anything to leave the
ubuntu settings.

On the other hand, the whole point of that setup is to get full
control over the shell environment, and now you have arbitrary things
being set from /etc/bash.bashrc. Probably the only true way to avoid
this is to build your own bash and run it. The other way is to run the
interactive shell with --posix and ENV set.

cat  ~/.bash_profile  EOF
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' ENV=$HOME/.bashrc
/bin/bash --posix
EOF

Of course, you lose all the nice bashisms, though.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: [spammer]

2010-04-15 Thread Dan Nicholson
On Thu, Apr 15, 2010 at 11:57 AM, Bruce Dubbs bruce.du...@gmail.com wrote:
 srinivas Eranti wrote:
 LinkedIn

 This user has been block from the list.

That might be a little hasty. When you sign up for LinkedIn, it tries
really hard to send invitations to everyone in your contacts. He may
have done this inadvertently without realizing everyone it was being
sent to.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Radeon DRM

2010-03-05 Thread Dan Nicholson
On Fri, Mar 5, 2010 at 3:24 AM, Andrew Benton b3n...@gmail.com wrote:
 On 05/03/10 09:38, Duncan Baynes wrote:
 Hello,

 Just built a 64bit lfs 6.6, everything went smoothly, excellent work as
 always!

 I've been playing around with the 2.6.33 kernel including the new radeon
 driver.

 The results are pretty awesome. I now have a high resolution console
 that is a pleasure to use.  I was thinking it might be a nice feature to
 add as an option... probably as a hint.

 The basic path is as follows:

 1) compile the 2.6.33 kernel with firmware support, initramfs and the
 radeon driver enabled
 2) create an initrd image for the kernel (there is a hint for this already)
 3) decompress initrd image, mount it and insert the firmware bin for
 your card

 You don't need to use and initrd, you can compile the firmware into the 
 kernel. If
 it's firmware that comes with the kernel use the option

 CONFIG_FIRMWARE_IN_KERNEL=y

 And if you want to use firmware that doesn't come with the kernel, copy it 
 into the
 firmware folder in the kernel source and use the option

 CONFIG_EXTRA_FIRMWARE=name-of-firmware

 My system hangs early in the boot process if I enable kernel mode setting. 
 From the
 kernel's help page

   This code support the following hardware : R1XX,R2XX,R3XX,R4XX,R5XX
   (radeon up to X1950). Works is underway to provide support for R6XX,
   R7XX and newer hardware (radeon from HD2XXX to HD4XXX).

 I live in hope

Does it hang, or do you just get a blank screen? If you're using
kernel modesetting (KMS), fbcon needs to be loaded to get the console
up. Most of the distros are just building it into the kernel so it
doesn't have to be modprobe'd. I think it's
CONFIG_FRAMEBUFFER_CONSOLE.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Backporting Nouveau to the 2.6.32.* kernel

2010-02-21 Thread Dan Nicholson
On Sun, Feb 21, 2010 at 2:49 PM, Andrew Benton b3n...@gmail.com wrote:
 On 21/02/10 20:57, Agathoklis D. Hatzimanikas wrote:
 I don't think this can be done for the current LFS release that will ship
 with 2.6.32. The Book already says that the latest available 2.6.32.x
 should be used. The backported patch, it might be applied to 2.6.32.8
 but probably it won't apply to the next minor releases of 2.6.32.

 I think this ticket should wait for the next LFS release that will
 update to 2.6.33 and then a BLFS ticket is justified.

 Generally speaking, I disagree to backport such huge stuff in the kernel,
 unless it's for a security issue. But the 2.6.32 is already a long term
 supported kernel, which means in my mind, no new features added but only
 bug fixes, so this job is already done by the kernel team.


 I agree. Although Nouveau is in 2.6.33 it's still in the staging area, it's 
 not in the
 kernel proper. I like Nouveau, I started using it on some of our computers a 
 couple of
 months ago. It allows me to use some Nvidia cards that wouldn't work with the 
 nv driver.
 Google earth works really well.
 If someone wants to use Nouveau they should just use a 2.6.33 kernel. It 
 shouldn't be
 too hard for someone who's done LFS

More importantly, fedora is able to backport nouveau and other drm
features because they have the drm maintainer, Dave Airlie, to make
things work. They also employ one of the nouveau developers, Ben
Skeggs, to make nouveau work. LFS has nobody like this and shouldn't
pretend to be able to support it. LFS should only include work like
this when upstream blesses it and puts it into stable releases. I know
the radeon developers weren't happy when distros started enabling the
experimental kms features and they got flooded with bug reports about
things breaking.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Linux Standards Base

2009-10-27 Thread Dan Nicholson
On Mon, Oct 26, 2009 at 10:16 PM, Bryan Kadzban
br...@kadzban.is-a-geek.net wrote:
 Bruce Dubbs wrote:

 Couldn't find install_initd

 See bootscripts/contrib/lsb-v3 in the book repository for this one.
 Personally, since I never use this interface (since symlinks don't
 confuse me :-P ), I don't want it, but...

 Note that I believe it also requires either symlinks, or moving all the
 bootscripts around -- /etc/init.d/, /etc/rc?.d/, etc. not all those same
 paths under /etc/rc.d/ where they stay out of the way of /etc tab
 completion.  That may not be a strict LSB requirement, but I think I
 remember DJ talking about it at one point when doing the lsb-v3 thing.

The point here is that a 3rd party package doesn't need to know how
your init implementation works. It supplies a script that says what
runlevels and dependencies are needed in the header. Then it can put
the script in /etc/init.d and call install_initd. That's it. Whether
you're using symlinks in rc.d or using something like upstart in
compat mode, the 3rd party doesn't need to know or care about it.

The major reason for the existence of the LSB is to support ISVs who
want to distribute software for linux. They want to have some base to
be able to say here's a package that will work on your system. If
you don't want or need to support that, the LSB is not for you.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Linux Standards Base

2009-10-26 Thread Dan Nicholson
On Mon, Oct 26, 2009 at 8:43 PM, Bruce Dubbs bruce.du...@gmail.com wrote:
 I've been looking at LSB and in running a couple of basic checks find that we
 have some missing libraries and programs in LFS/BLFS to get to compliance.  
 The
 discussion below is only a start.  There may be more needed after I get their
 more comprehensive test suite running.

 Although I've installed several programs on top of my base LFS test system, 
 the
 program check now gives me:

 Couldn't find at
 Couldn't find batch
 Couldn't find cpio
 Couldn't find crontab
 Couldn't find install_initd
 Couldn't find java
 Couldn't find lp
 Couldn't find lpr
 Couldn't find mailx
 Couldn't find pax
 Couldn't find remove_initd
 Couldn't find sendmail
 Couldn't find time
 Couldn't find xdg-desktop-icon
 Couldn't find xdg-desktop-menu
 Couldn't find xdg-email
 Couldn't find xdg-icon-resource
 Couldn't find xdg-mime
 Couldn't find xdg-open
 Couldn't find xdg-screensaver

 Of course, several of these are in BLFS, but many are not: xdg-utils, pax, 
 cpio,
 at, batch, and gnu time jump out as being needed.

 Some (install_initd and remove_initd) are not familiar to me at all.

I haven't touched it in a while, but that's exactly why I wrote this:

http://www.dwcab.com/projects/initd-tools/

DJ has built up LSB style init scripts for LFS.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Coreutils i18n patch prevents dash from building

2009-08-15 Thread Dan Nicholson
On Sat, Aug 15, 2009 at 7:53 AM, Matthew
Burgessmatt...@linuxfromscratch.org wrote:
 Hi,

 Following a thread on blfs-support[0], it looks like the i18n
 patch for Coreutils causes a problem during compilation of
 Dash in BLFS.  The attached builtins file produces the following
 output when we compile Coreutils with the i18n patch:

 $ LANG=en_GB.UTF-8
 $ sort -u -k 3,3 builtins
     0  .       -s      dotcmd

 $ LANG=en_GB
 $ sort -u -k 3,3 builtins
    21  local   -a      localcmd
    14  export  -as     exportcmd
     3  alias   -au     aliascmd
     7  chdir   cdcmd
    10  echo    echocmd
    18  hash    hashcmd
    22  printf  printfcmd
    23  pwd     pwdcmd
     0  .       -s      dotcmd
     2  [       testcmd
    33  type    typecmd
     4  bg      -u      bgcmd
    34  ulimit  ulimitcmd

 If the i18n patch isn't applied, then the LANG setting has no
 effect on sort's output, always outputting the correct data as per
 the en_GB listing above.

 So, what do we want to do?  Just remove the sort-related hunks of the
 i18n patch, drop the patch altogether, or try and fix this bug?  I
 can easily do either of the 1st 2, but trying to fix the bug is beyond
 my limited C abilities.

I thought the mk_builtins script (or whatever it's called) runs sort
with LC_COLLATE=C? Can you check (this came up before because I was
building with en_US.UTF-8 and the sorting was wrong)? The whole
operation is pretty simple. There are a set of shell builtins in a
text file, and the script sorts it and creates a binary tree in a .h
suitable to be built into dash.

At least, that was the problem before.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Coreutils i18n patch prevents dash from building

2009-08-15 Thread Dan Nicholson
On Sat, Aug 15, 2009 at 8:54 AM, Matthew
Burgessmatt...@linuxfromscratch.org wrote:
 On Sat, 15 Aug 2009 08:13:38 -0700, Dan Nicholson dbn.li...@gmail.com wrote:
 On Sat, Aug 15, 2009 at 7:53 AM, Matthew
 Burgessmatt...@linuxfromscratch.org wrote:
 Hi,

 Following a thread on blfs-support[0], it looks like the i18n
 patch for Coreutils causes a problem during compilation of
 Dash in BLFS.  The attached builtins file produces the following
 output when we compile Coreutils with the i18n patch:

 $ LANG=en_GB.UTF-8
 $ sort -u -k 3,3 builtins
     0  .       -s      dotcmd

 $ LANG=en_GB
 $ sort -u -k 3,3 builtins
    21  local   -a      localcmd
    14  export  -as     exportcmd
     3  alias   -au     aliascmd
     7  chdir   cdcmd
    10  echo    echocmd
    18  hash    hashcmd
    22  printf  printfcmd
    23  pwd     pwdcmd
     0  .       -s      dotcmd
     2  [       testcmd
    33  type    typecmd
     4  bg      -u      bgcmd
    34  ulimit  ulimitcmd

 If the i18n patch isn't applied, then the LANG setting has no
 effect on sort's output, always outputting the correct data as per
 the en_GB listing above.

 So, what do we want to do?  Just remove the sort-related hunks of the
 i18n patch, drop the patch altogether, or try and fix this bug?  I
 can easily do either of the 1st 2, but trying to fix the bug is beyond
 my limited C abilities.

 I thought the mk_builtins script (or whatever it's called) runs sort
 with LC_COLLATE=C? Can you check (this came up before because I was
 building with en_US.UTF-8 and the sorting was wrong)?

 Ah, it does, but only on an earlier invocation of sort!  So, I guess, for
 now, BLFS could have a patch to dash to add LC_COLLATE=C to the other
 call to sort in src/mkbuiltins.

Yeah, I'd send that upstream and cc Herbert Xu.

 Longer-term though, we certainly need to fix up our patch in LFS though.
 I'd expect it produce the same output in both en_GB and en_GB.UTF-8
 locales.

Are you sure that's correct, though? They will only definitely have
the same output if en_GB and en_GB.UTF-8 are the same locale. UTF-8
locales usually have different collating rules.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: 3 concurrent instances of udevd

2009-07-21 Thread Dan Nicholson
On Tue, Jul 21, 2009 at 3:27 PM, Matthew
Burgessmatt...@linuxfromscratch.org wrote:
 Hi,

 On a newly built LFS-6.5-RC1 (with file-5.03  Linux-2.6.30.2)
 I see 3 instances of `/sbin/udevd --daemon' running at the same time.

 Process 498, parent 1
 Process 543, parent 498
 Process 544, parent 498

 Is this what 'NEWS' in the tarball refers to as 'worker'
 processes, or are we not configuring/starting Udev-145 correctly?

I'm pretty sure those are the workers. They also played around with a
threaded version, but I think this one performed better.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: glibc-2.10.1 make check fails

2009-05-26 Thread Dan Nicholson
On Sun, May 24, 2009 at 10:51 PM, Bryan Kadzban
br...@kadzban.is-a-geek.net wrote:
 Bruce Dubbs wrote:
 --enable-kernel=VERSION compile for compatibility with kernel not older than
    VERSION

 Yes: abort any program at startup if the current kernel version is less
 than VERSION, and also remove any workarounds included in the glibc
 sources for kernels older than VERSION (if any).

 but I found 
 http://www.mail-archive.com/arch-dev-pub...@archlinux.org/msg08016.html

 which says:  The minimum kernel version required for glibc was bumped from
 2.6.16 to 2.6.18

 That's an Arch decision (made by their maintainer), not something that
 applies to glibc itself.  :-)  See:

 http://repos.archlinux.org/viewvc.cgi/glibc/repos/core-x86_64/PKGBUILD?r1=36985r2=39100

 for the actual change in their PKGBUILD script.  (The section labeled
 line 62.)

A more authoritative measure here would be to follow fedora since they
are the glibc maintainers. Unfortunately, there's no real rationale,
but their version is 2.6.18 made with this change:

http://cvs.fedoraproject.org/viewvc/rpms/glibc/devel/glibc.spec?view=diffr1=1.376r2=1.377

Probably would be best to investigate why that is before making a
change like that.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: glibc-2.10.1 make check fails

2009-05-26 Thread Dan Nicholson
On Tue, May 26, 2009 at 12:40 PM, Bruce Dubbs bruce.du...@gmail.com wrote:
 Dan Nicholson wrote:
 On Tue, May 26, 2009 at 9:32 AM, Bruce Dubbs bruce.du...@gmail.com wrote:

 Using 2.6.18 appears to potentially affect binaries built against kernels 
 older
 than that and run on a LFS-6.5 or later system. I don't see where that 
 would be
 an issue.

 I don't think it affects binaries. It only affects what kernel you're
 running. You can have an ancient binary, and so long as the binary
 format and interfaces are still supported on the system you're
 running, it should be fine.

 It sounds like you are agreeing with me.  An ancient binary will not run if 
 the
 support is not built into glibc.

But I think we're disagreeing on what the support is. A binary
compiled on LFS-6.0 will be ELF, which is the same. Likewise, glibc
and the kernel provide excellent backwards compatibility in interfaces
(regardless of what --enable-kernel setting was used for the LFS-6.0
glibc). So, there's a near 100% chance that an LFS-6.0 binary will run
on LFS-6.5, and the --enable-kernel setting has no bearing on that.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: zdiff problem

2009-05-17 Thread Dan Nicholson
On Sun, May 17, 2009 at 6:49 PM, Bruce Dubbs bruce.du...@gmail.com wrote:
 I'm trying to address ticket #2315 that says zdiff doesn't work.  I confirmed
 this by creating two files with a one line difference and compressing them:

 gzip file1
 gzip file2

 But 'zdiff file1.gz file2.gz' gives no output.  Older versions of the script
 work properly.

 The code in the script is really convoluted.   I found an error report in the
 gzip archives about this:

 http://lists.gnu.org/archive/html/bug-gzip/2008-02/msg2.html

 I note that there was never a reply to the message and that was over a year 
 ago.

The bug-gzip list unfortunately is pretty dead. I subscribed to it to
submit a patch for this specific problem, but I never got around to
submitting the patch or unsubscribing. :)

 The problem code looks like:

 gzip_status=$(
   exec 41
       (gzip -cdfq -- $1 4-; echo $? 4) 3- |
     ( (gzip -cdfq -- $2 4-; echo $? 4) 3- 5- /dev/null |
        eval $cmp /dev/fd/5 -) 50
 )

 When I look at /dev/fd, I only have 0 through 3 (and on RH and Ubuntu other
 systems too, but none use gzip-1.3.12).

/dev/fd/ is just a symlink to the current process file descriptors.
Typically you have 0, 1 and 2 for stdin, stdout and stderr. But a
process can open up any more it wants. In this case, fd 5 is opened by
the redirection.

 The fix appears to be changing the last line above to
    eval $cmp /dev/fd/5 - 3) 50
                               added

 We can fix this with this with the following:

    sed -i 's/5 -)/5 \3)/' zdiff

 but I don't understand what is really going one here.

 Should I make this change?  Comments?

I think that's right looking at the rest of the script (I agree it's a
pretty hairy script). I wish I could find the patch I made before, but
I can't seem to locate it now.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


The time has come

2009-04-25 Thread Dan Nicholson
Hi everyone,

I'm sure those of you that are actively involved in LFS have noticed
that my participation has been non-existent for quite some time now.
So, this should probably not shock anyone, but I think it's time that
I step away from my duties as an editor for LFS and BLFS.

I still enjoy reading about LFS and think that it's a really great
project (especially for education), but my interests have moved
elsewhere. As I've spent more time poking and prodding the software
over the years, I've become less interested in the packaging of the
software and more interested in the development of the software. Time
spent developing has been cutting into the packaging side more and
more to the point where the only packages I typically build from
source now are the ones I'm developing or need the development version
of.

In a sense, I've moved upstream a bit and spend time working on
various other projects that LFS consumes. Primarily, I've been working
on Xorg. So, if you follow the software that's used in LFS, this is
probably not the last you'll see of me. I'll probably stay subscribed
to the -dev lists and poke in from time to time, too.

I really appreciate everything that the LFS community has done for me
over the years. This was the project that introduced me to the world
of open source software. This was also the project were I contributed
to and the first I got commit access to. I've learned a ton about the
FOSS ecosystem through LFS.

There are a lot of people in the LFS world that have made an impact on
me over the years. I had a lot of fun working here because of the
people. One person I have to single out is Jeremy Huntwork. He
nurtured my early contributions, was the one to push for my commit
rights, and really made developing LFS a fun place for me to be. I
hope no one else takes that as a slight.

Anyway, thanks for the opportunity and all the experiences. Feel free
to remove my commit rights on the servers and my name from the books.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: coreutils instructions

2009-03-23 Thread Dan Nicholson
On Fri, Mar 20, 2009 at 4:44 PM, Bruce Dubbs bruce.du...@gmail.com wrote:
 Dan Nicholson wrote:
 On Fri, Mar 20, 2009 at 11:15 AM, Bruce Dubbs bruce.du...@gmail.com wrote:
 Dan Nicholson wrote:

 A while back I sanitized the bootscripts for POSIX sh compatibility, and
 I think DJ has been maintaining that goal. I think it's a nice (and
 obtainable) goal to target since having sh != bash can save on bloat.
 Save on bloat?  For what?  My copy of bash is 500K.  dash is about 80K.

 Right, bash is 4 times the size of dash. That adds up when you're forking the
 shell a hundred times or whatever during boot.

 Come on Dan.  You know better than that.  When you fork a program, the code
 segment is not duplicated, but only any necessary data.  For that, there would
 be no significant difference between bash and dash.

I don't honestly know how much memory is duplicated or not. Here's a
loop of shells that simply fork, do nothing and exit.

$ time { for n in {0..100}; do /bin/bash -c :; done; }

real0m0.431s
user0m0.227s
sys 0m0.191s
$ time { for n in {0..100}; do /bin/dash -c :; done; }

real0m0.159s
user0m0.048s
sys 0m0.120s

Clearly, it is taking more time for the bash shell. I know you are
going to say we're only talking about hundredths of seconds for each
run, so why should we care. But it's more than double relatively.

If you were looking at a system (not just a computer system) and you
found that one part took twice the resources and twice as long to
start up as another part offering similar functionality, why would you
dismiss it? Maybe the original part offers better features than the
replacement, but that doesn't mean the other facts can be ignored.

 The last time I tested, it shaved like 4 seconds off boot using dash instead
 of bash.

 http://linuxfromscratch.org/pipermail/lfs-support/2008-February/034192.html

 I use bash all the time and I wouldn't consider using a minimal posix shell
 for my login shell. For any non-trivial script, I use bash. However, for a
 generic shell script, I don't know why you couldn't make it posix compliant.
 That allows people to have flexibility without much loss. The bootscripts are
 pretty simple.

 As you mention, bootscripts are pretty simple and in no way are a stress test.
 Four seconds doesn't seem very significant to me.  It's not enough to notice
 unless you are doing a timing test.

4 seconds out of 18 total is something I consider very significant.
For you, maybe it's not, but you are free to keep /bin/bash as
/bin/sh. However, you agree that the bootscripts are simple, so why do
you need to use bash again?

Let's just forget about it. I think this is the second or third time
we've had this conversation and I think we just say the same things
back and forth.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: no libidn/ in glibc-2.9

2009-03-20 Thread Dan Nicholson
On Fri, Mar 20, 2009 at 5:51 AM, Matthew Burgess
matt...@linuxfromscratch.org wrote:
 On Fri, 20 Mar 2009 13:46:16 +0100 (MET), Alexander Kozlov 
 akoz...@nada.kth.se wrote:

 You are right, libidn is not mentioned in the book, my fault.
 There is libidn/ directory in the snapshot source tree which is
 absent in glibc-2.9 release. Is this something to worry about?

 No, I don't think so.  From the comment in the book source, most packages 
 require the
 libidn package from GNU (see BLFS for instructions), rather than Glibc's
 implementation.  So, the fact that Glibc's libidn directory is missing is 
 unlikely to
 affect anything, I think.

The point of having libidn in glibc is not to expose it to
applications. It's to add support for reading internationalized domain
names from nss (i.e., libnss_dns). Then all your normal C calls like
gethostbyname work with internationalized names.

However, I would guess that most applications that want to deal with
internationalized domain names don't expect to have that support from
the system's C libraries. Instead, they'd probably link against the
standalone version.

So, it probably doesn't hurt that bad, but it is a useful feature that
should probably be kept.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: coreutils instructions

2009-03-20 Thread Dan Nicholson
On Fri, Mar 20, 2009 at 8:38 AM, Matthew Burgess
matt...@linuxfromscratch.org wrote:

 Given that LFS only installs bash, does any of this matter? :)

A while back I sanitized the bootscripts for POSIX sh compatibility,
and I think DJ has been maintaining that goal. I think it's a nice
(and obtainable) goal to target since having sh != bash can save on
bloat.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: coreutils instructions

2009-03-20 Thread Dan Nicholson
On Fri, Mar 20, 2009 at 11:15 AM, Bruce Dubbs bruce.du...@gmail.com wrote:
 Dan Nicholson wrote:

 A while back I sanitized the bootscripts for POSIX sh compatibility,
 and I think DJ has been maintaining that goal. I think it's a nice
 (and obtainable) goal to target since having sh != bash can save on
 bloat.

 Save on bloat?  For what?  My copy of bash is 500K.  dash is about 80K.

Right, bash is 4 times the size of dash. That adds up when you're
forking the shell a hundred times or whatever during boot. The last
time I tested, it shaved like 4 seconds off boot using dash instead of
bash.

http://linuxfromscratch.org/pipermail/lfs-support/2008-February/034192.html

I use bash all the time and I wouldn't consider using a minimal posix
shell for my login shell. For any non-trivial script, I use bash.
However, for a generic shell script, I don't know why you couldn't
make it posix compliant. That allows people to have flexibility
without much loss. The bootscripts are pretty simple.

Of course, you can keep bash as /bin/sh if you like. Or make it zsh or
ksh or dash or posh...

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Adapting LFS SVN for multilib

2009-01-19 Thread Dan Nicholson
On Mon, Jan 19, 2009 at 12:29 AM, Jim Gifford c...@jg555.com wrote:
 Greg Schafer wrote:
 Jim Gifford wrote:


 Again Greg provide us more information about the ICA, it seems to be
 your own creation?


  1. Read this post from Dan Nicholson:
 http://article.gmane.org/gmane.linux.lfs.devel/8120

  2. Look at the comments in the gsbuild scripts from DIY

  3. Look at the jhalfs implementation (Note: I haven't)

  4. Ask Ryan to explain it to you

 Regards
 Greg

 Ok, so there is not technical background for these tests. For all we
 know they could provide bogus errors. I need some good technical facts,
 not hear say. I have searched and searched trying to find merit in this
 type of comparison, I can't find anything at all.

How is it hearsay? Plenty of people (Greg, myself, Jeremy, Manuel,
Matthew, etc.) here have used this analysis to identify issues in the
build. The current ordering of the packages in LFS was determined
almost entirely through use of ICA.

It's really not magical at all and has a very straightforward
technical implementation. The fact that Greg calls it ICA is really
just an implementation detail.

1. Repeatedly build your system and keep a copy of each build.

2. Use diff/cmp to compare each build. This will highlight if
bootstrapping has introduced any differences.

I can't really think of any simpler way to determine if the
bootstrapping technique has problems. The same thing happens during
the gcc bootstrap process, and I don't see that being called
meritless. The alternative is just to ignore any potential issues
until something becomes broken.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Adapting LFS SVN for multilib

2009-01-19 Thread Dan Nicholson
On Mon, Jan 19, 2009 at 12:13 PM, Jim Gifford c...@jg555.com wrote:
 Dan Nicholson wrote:
 How is it hearsay? Plenty of people (Greg, myself, Jeremy, Manuel,
 Matthew, etc.) here have used this analysis to identify issues in the
 build. The current ordering of the packages in LFS was determined
 almost entirely through use of ICA.


 Why aren't any of the big distro's doing this type of test. There
 distro's had to start from something simliar to what they have.

Except for probably Gentoo, none of the distros really care about
bootstrapping systems. I would imagine Gentoo does have some
regression test, but I've never looked. Most distros just build
packages against the current toolchain, though.

 I can't really think of any simpler way to determine if the
 bootstrapping technique has problems. The same thing happens during
 the gcc bootstrap process, and I don't see that being called
 meritless. The alternative is just to ignore any potential issues
 until something becomes broken.

 I do not disagree with you, but I want to get the facts. Greg is not
 impartial, so I have to through his results out. As far as the rest I
 trust their feedback, but in order to make it a good test. I have to get
 the results myself and validate them. If this is a method we are going
 to use to test the purity of a build, we need to have people that just
 check that instead of saying it passes. Publish the results good or bad.
 Give feedback to those who are designed this *LFS style systems.

 Maybe this is something we can fully document and put out to the Linux
 Community.

Sure. Again, though, there isn't really much of a community for
bootstrapping systems. I'm guessing that many of the people that care
about this are following this discussion. The gsbuild, jhalfs and
farce implementations are all using the same techniques, I believe.
So, there already is a bit of standardization. Try it for yourself,
though. Just read the two do_ica_prep and do_ica_work in gsbuild. I
think you'll see that it's pretty unambiguous and that you could
easily augment your build platform to do it.

http://cvs.diy-linux.org/index.cgi/gsbuild/common-sh.functions?rev=HEADcontent-type=text/vnd.viewcvs-markup

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: expat 2.0.1 patch

2009-01-14 Thread Dan Nicholson
On Wed, Jan 14, 2009 at 11:54 AM, Dan Moore moore...@suncup.net wrote:
 Installation of expat on BLFS 6.3/SVN doesn't include a expat.pc file for 
 pkgconfig.
 As a result, some downstream installs think that expat is missing from the 
 system.

 This patch (tested on expat-2.0.1) corrects this issue.
 (The basis for the patch was another one that I found,
 but it was incomplete and caused an error during make -- this one works).

 http://www.suncup.net/miscdocs/expat-2.0.1-pkgconfig.patch

FWIW, I sent a patch to the expat list that was applied. There just
hasn't been a release since then.

http://mail.libexpat.org/pipermail/expat-checkins/2007-September/001084.html

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page


Re: CLFS Bashing - Fork?? When??

2008-12-26 Thread Dan Nicholson
On Wed, Dec 24, 2008 at 12:36 PM, Jim Gifford c...@jg555.com wrote:

 We are not a fork, never have been.

How is it _not_ a fork? CLFS has different goals, a different
structure, runs on its own servers and contributes nothing (until 2
days ago) back to its supposed parent project, LFS. I see no other way
to describe CLFS than a fork.

Now, there's nothing wrong with being a fork. Tons of successful open
source projects were spawned from forks. You and Ryan had different
goals about what you wanted to do and weren't getting that back into
LFS. So you took up stake elsewhere and everyone moved on. The only
bad thing is the splintering of resources, but that was happening
anyway.

We can call CLFS whatever we want, but by typical open source project
standards, it is definitely a fork.

I don't intend that as bashing in any way and admire what you guys
have done. Really.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: CLFS antics

2008-12-24 Thread Dan Nicholson
On Wed, Dec 24, 2008 at 12:58 AM, Greg Schafer gscha...@zip.com.au wrote:

 If the LFS project had any kind of leadership with any kind of backbone,
 there'd be serious consequences for this kind of divisive behavior.

While I agree with your sentiments about Cross LFS creating a native
book, what could the LFS leaders really do? CLFS forked a long time
ago. Nobody can tell them what they can and can't do. That ship has
sailed.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Freeglut requires GL/gl*.h

2008-12-15 Thread Dan Nicholson
On Mon, Dec 15, 2008 at 1:21 PM, Matthew Burgess
matt...@linuxfromscratch.org wrote:
 Hi all.

 I'm running through an Xorg-7.4 build, but have hit a problem.  Firstly, 
 there's
 a slight inconsistency:

 The Xorg Apps page says that MesaGlut is recommended. But, visiting the 
 MesaGlut
 page suggests that FreeGlut is recommended, due to licensing issues with
 MesaGlut.

I'm pretty sure BLFS has it backwards. No one really works on either
of the GLUTs, but Mesa's has the troublesome license. I'm pretty sure
all the distros use FreeGLUT.

 Now, FreeGlut states that it is dependent on the entire 'X Window System', but
 that won't be completed for some 7 packages (plus deps), which includes the 
 apps,
 fonts, and drivers, all fairly substantially sized.

 Ignoring that advice completely (hey, it's my distro, I get to keep all the
 broken pieces!), I decided to compile it immediately after xbitmaps-1.0.1. 
 This
 results in:

 error: GL/gl.h: No such file or directory
 error: GL/glu.h: No such file or directory
 error: GL/glx.h: No such file or directory

FreeGLUT depends on the GL implementation, which is Mesa. So, you'd
have to install Mesa then FreeGLUT. FWIW, nothing else in the Xorg
stack uses GLUT, so you can definitely postpone FreeGLUT until later.
The GL headers come from Mesa.

 Does anyone have any info on what, exactly, Freeglut requires?  My initial
 googling suggests that Xorg Drivers will provide GL/gl*.h, but does that then
 mean I need to rebuild the whole lot again, or just the Xorg Apps?

GLUT is the GL Utility Toolkit. It's just convenience utilities on top
of GL which makes developing GL applications easier (apparently).
There are a couple free implementations available: Mesa's GLUT with
the troublesome license, or FreeGLUT, which was started to address
this license problem (I think).

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page


Re: xkeyboard-config and intltool

2008-12-02 Thread Dan Nicholson
On Tue, Dec 2, 2008 at 9:28 AM, Jeremy Huntwork
[EMAIL PROTECTED] wrote:
 Hi,

 I see on the xkeyboard-config page that intltool is listed as an
 optional dependency, but if I try building the current instructions as
 is without intltool, I get the following configure error:

 checking for intltool = 0.30... ./configure: line 3519:
 intltool-update: command not found
  found
 configure: error: Your intltool is too old.  You need intltool 0.30 or
 later.
 make[2]: *** [compile-stage2] Error 1


 Can anyone confirm or deny this?

Wow, the autoconf macros for newer intltool have been totally changed.
Now you actually need intltool to be installed. That's pretty
unfortunate:

http://bugzilla.gnome.org/show_bug.cgi?id=490620

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page


Re: xorg-server and pixman

2008-12-02 Thread Dan Nicholson
On Tue, Dec 2, 2008 at 11:35 AM, Jeremy Huntwork
[EMAIL PROTECTED] wrote:
 Hello,

 I know there has been a lot of discussion on Xorg lately, so sorry if
 this is bringing up a known issue, but xorg-server also appears to
 require pixman now. The instructions in BLFS svn break for me at
 xorg-server because pixman is missing.

 If I build and install pixman as per the instructions in the Xorg
 Libraries section, then xorg-server builds fine. Should be enough to
 just add the file name of the latest pixman file to the lib wget file.

Yeah, pixman is now required for both the xserver and cairo. I thought
DJ added it, but maybe I'm just guessing.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page


Re: Aiming for 7.0

2008-12-02 Thread Dan Nicholson
On Tue, Dec 2, 2008 at 9:10 AM, Matthew Burgess
[EMAIL PROTECTED] wrote:
 On Tue, 02 Dec 2008 05:07:25 -0500, Jeremy Huntwork [EMAIL PROTECTED] wrote:

 Anything else?

 Ticket #2284 - radical plan would be to just drop udev-config completely, 
 then any reported issues should be passed upstream and fixed there.  I really 
 don't see anything special about LFS that means it should have to customise 
 Udev beyond upstream's default config :-)

I think this would be nice. With recent udev, all the changes (except
for Bryan's documentation) could be easily contained in a small patch.
That would be doubly useful when you just want to know how does LFS'
udev differ from upstream.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: perl-5.10.0

2008-10-29 Thread Dan Nicholson
On Tue, Oct 28, 2008 at 8:32 PM, Bruce Dubbs [EMAIL PROTECTED] wrote:
 I'm puzzling over two tickets concerning perl:  2071 and 2227

 It looks like 2071 says that we need to add -Dvendorprefix=/usr to the
 configuration process, but configure.gnu doesn't support it.

 Dan mentions that he uses:

 sh ./Configure -des \
 -Dprefix=/usr \
 -Dsiteprefix=/usr \
 -Dvendorprefix=/usr \
 -Doptimize=${CFLAGS} \
 ${LDFLAGS:+-Dldflags=$LDFLAGS} \
 -Dscriptdir=/usr/bin \
 -Dman1dir=/usr/share/man/man1 \
 -Dman3dir=/usr/share/man/man3pm \
 -Dhtml1dir=/usr/share/doc/perl5/html1 \
 -Dhtml3dir=/usr/share/doc/perl5/html3 \
 -Dpager=/usr/bin/less -isR \
 -Dmyhostname=localhost \
 [EMAIL PROTECTED]

 Are there any comments about this?  Should I just drop in these instructions?

Yeah, configure.gnu only supports a limited set of options. If you
look at what configure.gnu does, it just translates --prefix
(autotools style) and a few others to -D Configure style and then runs
it with -d -e -s (-des getopt style).

So, first thing is, I'd suggest just running `./Configure -des' (looks
like perl-5.10.0 makes Configure executable) instead of using the poor
compat interface configure.gnu. Just my opinion, but Configure
supports the full range of perl build options, and I think we can
understand -Dprefix vs. --prefix. The other big advantage of using
Configure is that using configure.gnu triggered some sort of caching
that had caused issues with people rerunning the command. Not sure if
that's an issue anymore.

I wouldn't suggest hauling in all the options I listed above. Just
-Dvendorprefix=/usr is good enough for this ticket. But I'll just
quickly explain what the others do.

-Dsiteprefix=/usr: not necessary since it defaults to prefix, but I
just wanted to be clear since I'm also setting prefix and vendorprefix

-Doptimize: set the CFLAGS you want; not appropriate for vanilla LFS

-Dscriptdir=/usr/bin: this is where public executables go. I don't
know exactly what that means, but the default goes looking for
directories like /usr/share/scripts and /usr/share/bin. I just wanted
to make it consistent.

-Dman3dir=/usr/share/man/man3pm: I'd given man an extra 3pm section to
search so I could keep perl module documentation away from library
documenation

-Dhtml1dir/html3dir: These are normally unset, but they define
directories to put HTML documentation. I don't remember if they
actually do much.

-Dmyhostname/-Dperladmin: These default to `hostname` and
[EMAIL PROTECTED] Since the machine and user for the build aren't
relevant for me, I just set them to generic names.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: ICA/Farce

2008-10-27 Thread Dan Nicholson
On Sun, Oct 26, 2008 at 2:00 PM, Greg Schafer [EMAIL PROTECTED] wrote:

 I've never looked at jhalfs but I understand it implements my ICA
 algorithms. My own scripts have been getting exceptionally clean
 results lately now that the randomness in GCC builds has apparently gone
 as of GCC 4.3. I'll happily check any results you can post up.

I'm obviously out of the loop on building toolchains, but the most
recent ICA issues with gcc was that a checksum of the .o files was
built into the gcc binary. Since DIY uses LDFLAGS=-s, the .o files
are stripped as they're linked. The checksum for the .o files is then
always the same since the debug symbols are gone when the checksum is
taken. In LFS, the stripping is always done after the fact, but by
then the checksum has been built into the binary. But, that was a
couple releases ago.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: ICA/Farce

2008-10-27 Thread Dan Nicholson
On Mon, Oct 27, 2008 at 2:59 AM, TheOldFellow [EMAIL PROTECTED] wrote:

 What I meant to say was that I, for one, would be grateful for any
 additional documentation of the subject.

It's pretty straightforward, although I might butcher some of the terminology.

The main goal is to see if the bootstrapping introduces any
differences in the build. So, you want to compare the boostrapped
build to a build that has been done against a totally in-place system.
Actually, as Greg says, the best results come from using 3 builds -
then you can see whether any differences are repeatable. So, you have:

Build 1: Bootstrapped against /tools
Build 2: Built against in-place bootstrapped system
Build 3: Built against in-place system

After Build 3, there's no reason to keep building since it would just
be the same as the 2 - 3 build. Using 2 builds is useful if you know
what you're looking for, but 3 builds truly ensures that you don't get
false positives in the diffs.

The actual implementation mostly involves preparing to diff/cmp, and
is probably better explained by the comments in gsbuild. Look at the
bottom of the functions file for do_ica_prep() and do_ica_work().

http://cvs.diy-linux.org/index.cgi/gsbuild/common-sh.functions?rev=HEADcontent-type=text/vnd.viewcvs-markup

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: ICA/Farce

2008-10-27 Thread Dan Nicholson
On Mon, Oct 27, 2008 at 7:57 AM, Gilles Espinasse [EMAIL PROTECTED] wrote:

 Instead to gunzip all .gz files, would it not better to submit patches that 
 add
 -n when gzip run so the files in use will really be the same?
 I should say I have made some patches like that but have not reported because 
 it
 was against old version and not current version of packages.

I suppose you could.

 And how do you handle binary files that include a building timestamp string
 (like libc and perl)?
 Normally, those packages always differ because of the time string include.
 I have made hack patches removing timestamps on libc, perl and a few other
 packages.
 But I suspect my hack have no chance to be accepted upstream (maybe except the
 gzip -n changes).

 http://ipcop.cvs.sourceforge.net/viewvc/ipcop/ipcop/src/patches/glibc-2.3.3_notimestamp.patch?revision=1.1.2.1view=markuppathrev=IPCOP_v1_4_0

 http://ipcop.cvs.sourceforge.net/viewvc/ipcop/ipcop/src/patches/perl-5.8.5-notimestamp.patch?view=logpathrev=IPCOP_v1_4_0

Right. I was doing the same when I was doing ICA regularly. Something like

sed -i -e 's/__TIME__/now/' -e 's/__DATE__/today/'

But then you start introducing changes to programs just for your own
profiling. Usually, you just look at the textual diff and see if the
difference is just due to a date/timestamp. In farce, Ken had some
functions that would skip these stamps, but I don't recall how he
implemented that.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Xorg-7.4

2008-10-20 Thread Dan Nicholson
On Sat, Oct 18, 2008 at 12:03 PM, DJ Lucas [EMAIL PROTECTED] wrote:

 xf86-video-intel is probably a big problem.  It fails specifically
 because of changes in libdrm.  Hopefully 2.4.3 is out soon.  I haven't
 investigated the others because I do not even know what they are.

Ah, you're treading into new kernel memory manager (GEM) territory.
There are a bunch of new userspace APIs for the intel memory manager
to allow for some of the graphics operations to be done in the kernel
(amongst other things).

I would expect another intel driver to be released to accommodate the
API changes released just last week in libdrm-2.4.0. On the other
hand, unless you're using Eric Anholt's drm-intel-next kernel tree,
none of the kernel interfaces are actually there to make the new
libdrm release useful. These have been proposed for linux-2.6.28, but
I don't think they've been merged yet.

So, sticking with libdrm-2.3.1 for now is definitely the safe option.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page


Re: Xorg-7.4

2008-10-20 Thread Dan Nicholson
On Sun, Oct 19, 2008 at 4:38 PM, Nathan Coulson [EMAIL PROTECTED] wrote:

 oh, btw pre Xorg 7.4, there was the dri2 stuff.  That was removed
 before releasing Xorg 7.4.  Mesa 3d 7.1 used dri2, while Mesa 7.2 had
 that removed.

The dri2 stuff was dependent on the TTM memory manager, which is gone
in favor of GEM now, and that's why it got disabled in
xorg-server-1.5.x/mesa-7.2.x. It will be back soon as it solves a lot
of the DRI issues. I wouldn't expect to see it stabilized until
Xorg-7.5, though.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page


Re: Teminal issues in -dev

2008-10-16 Thread Dan Nicholson
On Thu, Oct 16, 2008 at 8:16 AM, Jeremy Huntwork
[EMAIL PROTECTED] wrote:

 The real issue is that the --bind mount of /dev is unmounted as are
 /proc and /sys. (BTW, this issue would also affect any attempt to use
 the grub installed in chroot, since that needs the devices corresponding
 to your HDs available.) So maybe the better option is to allow a user to
 specify if they don't want those filesystem's unmounted. Of course you'd
 have to include proper warnings at the end of the build or such...

What I was thinking is just to add a couple make targets for this case:

devices:
mount -v --bind /dev $(LFS)/dev
mount -vt devpts devpts $(LFS)/dev/pts
mount -vt tmpfs shm $(LFS)/dev/shm
mount -vt proc proc $(LFS)/proc
mount -vt sysfs sysfs $(LFS)/sys

teardown:
umount -v $(LFS)/dev/pts
umount -v $(LFS)/dev/shm
umount -v $(LFS)/proc
umount -v $(LFS)/sys

chroot: devices
chroot $(LFS) /tools/bin/env -i \
  HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
  PATH=/bin:/usr/bin:/sbin:/usr/sbin \
  /tools/bin/bash --login
$(MAKE) teardown

At the end of the build, a message could be output:

Done building packages. To continue preparing the system as
described in Chapter 7, run:
make chroot

Or whatever (I suck at UI). Those targets would probably need to be
made more robust (and handle gaining root privilege), but  you get the
idea.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: glibc-2.8-20080929 build fails in Chapter 5

2008-10-15 Thread Dan Nicholson
On Wed, Oct 15, 2008 at 11:58 AM, Robert Connolly
[EMAIL PROTECTED] wrote:

 --disable-libssp in GCC pass1 is best. Last time I looked at the test in
 gcc/configure, it checks /usr/include/features.h for the Glibc version. So
 you will probably need --disable-libssp in GCC pass2 too, because
 gcc/configure is going to check your host again, and you'll run into the same
 conflict in the chroot. --disable-libssp prevents libssp from being built,
 and removes -lssp from gcc specs, so -fstack-protector will only work if you
 have libssp built in to libc.

Alternatively, you can skip the check by setting the cache value:

gcc_cv_libc_provides_ssp=yes/no

http://gcc.gnu.org/viewcvs/branches/gcc-4_3-branch/gcc/configure.ac?view=markup

This shows that it will set the glibc header dir to /usr/include and
search for features.h there unless you use --with-sysroot.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Teminal issues in -dev

2008-10-15 Thread Dan Nicholson
On Wed, Oct 15, 2008 at 3:10 PM, Bruce Dubbs [EMAIL PROTECTED] wrote:
 After jhalfs completed, I followed the instructions to chroot and set the root
 passwd.  I used:

 /usr/sbin/chroot $LFS /usr/bin/env -i \
 HOME=/root TERM=linux PS1='\u:\w\$ ' \
 PATH=/bin:/usr/bin:/sbin:/usr/sbin   \
 /bin/bash --login

 It's been a while and I don't remember -- The login is in / and not /root.  IS
 that normal?

Yes. `/bin/bash --login' doesn't change the directory, and when it's
run, the current directory is / (in the chroot). A session manager
like login, ssh or a display manager specifically do this for you. Try
looking at the cwd symlink in /proc/$pid for your session leader
process.

 I can't use less or passwd.  less displays the file and immediately 
 terminates.
  passwd gives:

 # passwd
 Changing password for root
 Enter the new password (minimum of 5 characters)
 Please use a combination of upper and lower case letters and numbers.
 Bad password: too short.
 Warning: weak password (enter it again to use it anyway).
 Password changed.

You need devices, specifically /dev/tty for passwd (see getpass(3)).
jhalfs tears down the chroot when it's done, and the only way to get
it back is to do it manually like in the book. This has come up a
bunch of times in the past.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Chapter 6 Coreutils installation

2008-10-12 Thread Dan Nicholson
On Sun, Oct 12, 2008 at 9:34 AM, Randy McMurchy
[EMAIL PROTECTED] wrote:
 Robert Connolly wrote these words on 10/12/08 11:27 CST:

 There may not be a technical reason for installing Coreutils early, just that
 it's one of the most heavily used packages.

 I know there was much work put into rearranging the build order of
 the various packages so that as much as possible would be built in
 alphabetical order.

 I'm trying to figure out why the binaries in /tools/{,s}bin wouldn't
 work. I'm sure there's a good reason, I'd just like to know what it
 is. :-)

 Same with the Sed package, why couldn't /tools/bin/sed be adequate
 until Sed is built in Chapter 6?

Usually the reason is because the path to the tools gets built into
another script/program. In the dependencies appendix, it says that sed
must be built before e2fsprogs. I think it's mk_cmds that hardcodes
the location of sed, but that's just a guess.

I think coreutils must be built before bash because of something that
gets substituted into bashbug.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Chapter 6 Coreutils installation

2008-10-12 Thread Dan Nicholson
On Sun, Oct 12, 2008 at 9:56 AM, Randy McMurchy
[EMAIL PROTECTED] wrote:
 Dan Nicholson wrote these words on 10/12/08 11:46 CST:

 Usually the reason is because the path to the tools gets built into
 another script/program. In the dependencies appendix, it says that sed
 must be built before e2fsprogs. I think it's mk_cmds that hardcodes
 the location of sed, but that's just a guess.

 I think coreutils must be built before bash because of something that
 gets substituted into bashbug.

 I was out at the barn feeding the animals and I thought the same exact
 thing. That some *broken* packages have hard-coded paths to /usr. But
 it's been a long time since we alphabetized the installation and almost
 every package has been updated since.

 I wonder if that brokenness has been fixed. Worth a jhalfs try to see
 if we can move coreutils and sed into alphabetic order.

If it's an autotooled package, you can usually figure it out pretty
fast in the package. Looking at e2fsprogs, I see AC_PATH_PROG(SED,
sed, sed) in configure.in. So, it's going to subsitute for values of
@[EMAIL PROTECTED] grep points to:

./lib/ss/mk_cmds.sh.in:[EMAIL PROTECTED]@

So, you can probably knock that one out with:

sed -i 's,@SED@,/bin/sed,' lib/ss/mk_cmds.sh.in

Or just drop the /bin and let sed be found from PATH. Repeat for file,
libtool, and shadow.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Udev Rules

2008-10-12 Thread Dan Nicholson
On Sun, Oct 12, 2008 at 6:44 PM, Randy McMurchy
[EMAIL PROTECTED] wrote:
 DJ Lucas wrote:

 Sorry...already reopened as I didn't see Bruce's comment about closing
 it.  Closed it again.  Well anyway, Dan posted a link to the
 conversation upstream.

 http://thread.gmane.org/gmane.linux.hotplug.devel/12895

 Bottom line, it is still left to opinion for now.  However, I too am
 leaning towards /lib/udev/rules.d myself for both rule sets.  Taken from
 the README:

 Count me as sitting on the fence with no preference. If anything,
 I lean to going with what the maintainers prefer. If the rules are
 not meant to be edited, then I'm indifferent.

A lot of them are really not meant to be edited by systems
administrators even. Take the libusb rule: exposing it as
configuration only opens you up to breaking your system. And the nice
thing with this separation is that you can still use /etc/udev/rules.d
if you find something you want to tweak like group settings or
permissions or an extra symlink.

One of the big drivers of that change is that DeviceKit (the next
generation HAL) will just merge all it's rules in with udev. So
instead of having the whole FDI file setup like now, DeviceKit will
put all its rules (analogous to the hal-info tarball) into
/lib/udev/rules.d and piggyback off of udev. Right now, HAL recreates
a lot of what udev is already doing, so the developers are aiming for
a much tighter integration between the two systems.

 Count my vote to whatever the majority agrees upon. We can always
 open the ticket again. But discussion should occur here, and not
 in -book.

One thing brought up in the hotplug thread by Scott James Remnant (one
of the Ubuntu developers) is the question of why these
non-configurable defaults aren't just set in the kernel. I think
that's a very valid question, but for now we just sort of rely on udev
setting up a sane /dev that applications expect.

But I'm probably in the same camp where it's not that important to me.
If people feel strongly that they want to keep all the rules in
/etc/udev/rules.d, I don't really mind.

 Here's me, sitting on the fence, leaning towards Kay Seivers (sp?).

Sievers. :)

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: iana-etc with STRIP=yes

2008-10-07 Thread Dan Nicholson
On Tue, Oct 7, 2008 at 8:54 AM, Randy McMurchy
[EMAIL PROTECTED] wrote:
 Valter Douglas Lisbôa Jr. wrote:
 Not a major issue, but a recent thread shows using the make STRIP=yes on
 iana-etc to cut out comments and accelerate the port search on port
 resolution. In the new LSF does  anyone remember to put this on the book?

 Not sure about the accelerate the port search on port resolution.
 Here's a quote from Seth's (the maintainer) site:

 To throw out the useful comments in generated files (useful for embedded
 installations), use:

make STRIP=yes


 He doesn't mention anything about acceleration. He says it's
 useful for embedded systems. Do you have a URL of this thread?

Whenever you do a getservbyname(), the glibc resolver has to parse out
/etc/services. This happens when you use http, and the resolver has
to decide what port number to use. Likewise, when some program
specifies tcp, the glibc resolver has to parse /etc/protocols to
decide what protocol number that corresponds to. So, cutting out the
comments just makes the parsing faster. I saw a discussion of this a
while ago on a fedora list, but I can't find the link now.

You can test this yourself with getent and then try again with a
stripped down /etc/services (I didn't bother).

$ time { for ((n = 0; n  100; n++)); do getent services http
/dev/null; done; }

real0m0.098s
user0m0.033s
sys 0m0.065s

I happen to think the comments are more beneficial than any speedup,
but that's just my preference.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: iana-etc with STRIP=yes

2008-10-07 Thread Dan Nicholson
On Tue, Oct 7, 2008 at 9:28 AM, Gilles Espinasse [EMAIL PROTECTED] wrote:

 Worst case for the search is with a protocol that is not in the file.
 I don't know what happen when resolution fail. Any idea?

It returns an error and stops? I can't imagine what else it could do
if it didn't know about the service.

$ getent services barf
$ echo $?
2

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: iana-etc with STRIP=yes

2008-10-07 Thread Dan Nicholson
On Tue, Oct 7, 2008 at 9:40 AM, Jeremy Huntwork
[EMAIL PROTECTED] wrote:
 Dan Nicholson wrote:
 $ getent services barf
 $ echo $?
 2

 You mean you don't have the barf service on your system? I thought that
 was pretty standard... :)

barf is my standard make this program fail input. I've yet to come
across any conflicts with that assumption. :)

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: GMP and MPFR

2008-10-06 Thread Dan Nicholson
On Mon, Oct 6, 2008 at 8:55 AM, Jeremy Huntwork
[EMAIL PROTECTED] wrote:
 Philipp Christian Loewner wrote:
  From what I understand about it, building GMP and MPFR as separate
 packages is the preferred method, but the bootstrap build will fail
 to locate these programs in the /tools directory in the first stage.

 Hmmm. I read through that thread already, but I didn't see any reasoning
 for why the current approach. I don't know why installing them as
 separate packages is preferable. Some things to consider:

  * Only GCC needs them.

Just for the record, I know guile can use an external libgmp:

http://git.savannah.gnu.org/gitweb/?p=guile.git;a=blob;f=configure.in;h=e67e1d84;hb=HEAD#l820

Google shows that clamav and openswan use it, too. I don't know if
that's compelling enough, but I thought it should be known.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS 64bit - thoughts

2008-10-02 Thread Dan Nicholson
On Wed, Oct 1, 2008 at 7:44 PM, DJ Lucas [EMAIL PROTECTED] wrote:

  From what I've seen of it, I guess there is no concept of
 {,/usr}/{,s}bin64 or /usr/include64 like there is for the lib dirs (or
 the alternate).  I mean a total separation of the system, side by side
 would be ideal IMO.

I think a lot of people are confused about multiarch systems in this
sense. The purpose of multiarch is not to have multiple parallel
systems targeted for different architectures running natively on a
single machine. The purpose of multiarch is to allow execution of code
targeted for different architectures. It serves no purpose to have an
executable targetting both x86 and x86_64 on the same machine. The
idea being that when you run `grep', it doesn't matter if it's 64 bits
or not. Obviously, there are some programs that will behave
differently depending on the target architecture, like compilers and
other build tools. These are special cases, though.

On the other hand, to allow code for multiple architectures to be
executed, you do need parallel installation of libraries/start
files/linkers targeted to each architecture. This is why we have
/lib64 and not /bin64. In order for me to build and execute an xterm
for either x86 or x86_64, I'll need toolchain and library support from
libc through Xlib and friends in both */lib and */lib64. However, once
I've built xterm, I don't care what architecture it is as long as I
can execute it.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS 64bit - thoughts

2008-10-02 Thread Dan Nicholson
On Thu, Oct 2, 2008 at 8:47 AM, Ken Moffat [EMAIL PROTECTED] wrote:
 On Wed, Oct 01, 2008 at 09:44:51PM -0500, DJ Lucas wrote:
 I can't really add a lot here as I haven't tried it yet.  I think
 pure-64 is ideal, but from what little I've looked into it, that is just
 not possible.yet, not to mention that it breaks the LSB goal.

  Maybe not possible for your particular use case.  I've been using
 pure64 on one of my boxes for a long time. (No proprietary plugins -
 I've long since dropped realplayer, flash either works with gnash
 (usually, old flash) or it's no loss to me, and I don't need to access
 other proprietary formats.)  On ppc64 I do stick with multilib, because
 the box performs like a dog, and compiling 32-bit ppc is sometimes
 less difficult than 64-bit (a mac G5 has to have a 64-bit kernel).

Ken has it exactly right. Since you're making a custom system, it's
entirely up to you whether it's worth supporting multiple
architectures. The LSB, on the other hand, is trying to foster a
standard environment for people to target Linux applications to.
Multiarch makes that standard environment more flexible. Whether you
want your custom system to support this flexibility is entirely up to
you and will most likely be influenced by whether you find it
necessary to support 3rd party binaries that only target a specific
architecture.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


initd-tools-0.1.1

2008-08-31 Thread Dan Nicholson
Hi,

This is the initial announcement for the initd-tools project. It aims
to implement the install_initd and remove_initd programs described in
the LSB 3.2:

http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/initsrcinstrm.html

The implementation aims for a SysV initialization scheme using the
/etc/rc*.d directories. More information can be found on the webpage:

http://www.dwcab.com/projects/initd-tools/

This also serves as the release announcement for version 0.1.1.

http://www.dwcab.com/downloads/initd-tools/initd-tools-0.1.1.tar.gz
MD5: fc2d08377f40ebfa54c9bbbc175ec21c  initd-tools-0.1.1.tar.gz

It mostly seems to be working, but there is still a bug in the
Should-Stop code as well as many other bugs that probably have not
been uncovered in my limited testing. Please use with caution and
backup your /etc/init.d and /etc/rc*.d directories before using
install_initd and remove_initd.

Let me know if you have any interest or issues with the code. For now,
you can just email me about it at this address. If there's enough
interest, we can try to set up a mailing list and bug tracker.

Enjoy!

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: DJ's gcc-4.3.1 book

2008-08-31 Thread Dan Nicholson
On Sun, Aug 31, 2008 at 10:31 AM, TheOldFellow [EMAIL PROTECTED] wrote:
 Just a progress report.  Nothing much to say though, it seems solid as
 a rock.  I've been running Apache/PHP/MySQL/Joomla on it all week -
 zero-issues.

 Today I built Xorg7-almost7.4 using the very latest stuff that seems to
 work OK, including Mesa-7.1 and Xorg-Server-1.4.00.906, everything
 compiled and runs fine (except the bits I screwed up).  Fluxbox-1.0.0
 needs a patch to account for the GCC cleanup of where headers go.

Did you try the new mesa ./configure support?

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: cp foo{,.bak} not always supported

2008-06-03 Thread Dan Nicholson
On Mon, Jun 2, 2008 at 12:29 AM, Alexander E. Patrakov
[EMAIL PROTECTED] wrote:
 2008/6/1, Gilles Espinasse [EMAIL PROTECTED]:
 cp configure{,.bak}
 cp: missing destination file operand after `configure{,.bak}'
 Try `cp --help' for more information.

 This simply can't happen if the user follows the book to the letter.
 Look at 
 http://www.linuxfromscratch.org/lfs/view/development/chapter04/addinguser.html:

 useradd -s /bin/bash -g lfs -m -k /dev/null lfs

 See bash here? On the next page, /bin/bash is also explicitly called
 in ~/.bash_profile.

 So: the bug report is invalid.

+1

Guys, please remember the difference between running commands
interactively (using the _login_ shell, which we, and Ubuntu, set to
/bin/bash) and executing a shell script with the /bin/sh interpreter.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Moving 'setclock' to earlier in the boot sequence

2008-05-27 Thread Dan Nicholson
On Tue, May 27, 2008 at 12:10 PM, Nathan Coulson [EMAIL PROTECTED] wrote:
 On Sun, May 25, 2008 at 8:07 PM, Gerard Beekmans
 [EMAIL PROTECTED] wrote:
 Please see http://wiki.linuxfromscratch.org/lfs/ticket/2160

 The ticket is about a potential issue with bootscripts and from it came
 a suggestion to move the setclock call to earlier in the sequence. It
 would help to address the issue but also having the system clock set
 accurately earlier is good for other things.

 Is there any reason why we wouldn't want the system clock set properly
 using the 'setclock' script right after modules are loaded and udev is
 setup?

 If there are no technical objections this will become a new Trac ticket.

 Gerard

 Dependencies:
 -The setclock script depends on /etc/sysconfig/clock, and possibly the
 udev system being loaded.

I think setclock has to come after udev for /dev/rtc. From hwclock(8):

hwclock Uses many different ways to get and set Hardware Clock values.
The most normal way is to do I/O to the device special file /dev/rtc,
which is presumed to be driven by the rtc device driver. However, this
method is not always available.

 Problem:
 We wish to address the issue of cleanfs not doing it's job,
 preferrably by checking against the mounting date of /proc.

 Resolution Suggestion:
 -I was taking a closer look at this issue, and I think moving it
 before mountkernfs would be an ideal time.  I dont recall if setclock
 needed a devicenode or not, but I cant see any reason why we cant add
 a static devicenode for this.  This is where we mount /proc, and that
 is what cleanfs decides to check against.

 Impact:
 - possible creation of a static devicenode.

I think it's always the right thing to get the kernel file systems
mounted, modules loaded and devices created as soon as possible. I
don't believe the cleanfs issue is important enough to merit wedging
the setclock script in front of those steps. I'd personally rather
change cleanfs to operate in a different way that's independent of
those 3 services.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Moving 'setclock' to earlier in the boot sequence

2008-05-27 Thread Dan Nicholson
On Tue, May 27, 2008 at 1:04 PM, Gerard Beekmans
[EMAIL PROTECTED] wrote:
 I think it's always the right thing to get the kernel file systems
 mounted, modules loaded and devices created as soon as possible. I
 don't believe the cleanfs issue is important enough to merit wedging
 the setclock script in front of those steps. I'd personally rather
 change cleanfs to operate in a different way that's independent of
 those 3 services.


 Look at it this way as well. If you wanted to keep track of boot logs
 and whatnot with timestamps, they are pretty useless if the time is
 wrong. Of course there's the argument that you then will want to sync
 with an NTP server as well while you're at it.

 However, to at least set the CMOS clock to proper time (with timezone
 conversion if needed), is a step up to get the boot logging a bit more
 accurate.

But syslogd is started well after setclock. Furthermore, /var is not
guaranteed to be writable until after mountfs runs, which is after
setclock, too. So, logging should be fine now and with any of the
proposed changes. Unless you mean something else by boot logging.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: RPM vs DEB vs Slackware-like tgz

2008-05-22 Thread Dan Nicholson
On Wed, May 21, 2008 at 9:00 PM, Alexander E. Patrakov
[EMAIL PROTECTED] wrote:
 Gerard Beekmans wrote:
 So to summarize simply using the %configure macro won't run it like we'd
 want the configure script to be run.

Yeah. %configure would do a lot more than ./configure. Not that that's
a bad thing, but it creates a difference between the two scenarios and
could lead to one person having the package working correctly and one
not.

 Can't it be overridden or introduce our own %configure-like macro that
 does run things like the book does?

You can override all the macros or not use them at all.

 Why not just say somewhere on the PM page that we don't use the %configure and
 similar macros in our spec files (and call ./configure directly instead) 
 because
 we want 100% correspondence between commands in no-PM and RPM versions of LFS?

Right, that's why I was saying you'd probably want to minimize the
macro usage in general. However, from the perspective of someone using
RPM, I really want to use the macros.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: RPM vs DEB vs Slackware-like tgz

2008-05-22 Thread Dan Nicholson
On Wed, May 21, 2008 at 9:11 PM, Bruce Dubbs [EMAIL PROTECTED] wrote:
 Gerard Beekmans wrote:
 for any bog standard autotooled package:

 %configure

 Looks simple enough: it runs ./configure for you. However, there's a

 So to summarize simply using the %configure macro won't run it like we'd
 want the configure script to be run.

 Can't it be overridden or introduce our own %configure-like macro that
 does run things like the book does?

 I guess I don't understand.  Are we going to create a source RPM for every
 package and then install from that?  I didn't think that was our intention.

 This seems to be the knotty problem.  Just how are we going to *use* PM in 
 LFS?

If you're a non-PM person, you create a script from the commands in
the book. If you're a PM person, you create a spec file or rules file
or whatever else is the input format to your package manager. I don't
think we want to get in the business of distributing any of the PM
outputs. Just that we provide all the necessary inputs. For an RPM,
that's sources and a spec file. For something simple like tar-based,
it's just sources and a script.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: RPM vs DEB vs Slackware-like tgz

2008-05-19 Thread Dan Nicholson
On Sun, May 18, 2008 at 6:54 PM, Gerard Beekmans
[EMAIL PROTECTED] wrote:

 Dan, you have done a lot of work with RPM spec files for LFS. Is there
 anything you wish to add to what Alexander said back then and your own
 reply to it?

Alexander may have said this, but one thing to keep in mind is that
once you start writing RPM specs, you really want to start using the
macros that come with RPM (or that you write yourself). For example,
for any bog standard autotooled package:

%configure

Looks simple enough: it runs ./configure for you. However, there's a
lot of extra arguments passed such as setting --prefix to the default
compiled in %_prefix value (usually /usr) and passing --host and
--build to set the architecture you want. It also exports the CFLAGS
as configured in the macros.

This is great for consistency when you're doing everything in RPM. For
LFS, though, this could cause inconsistencies between the RPM and
non-RPM instructions. You can take the approach that macro usage will
be minimized, but then you lose some of the power of RPM.

All in all, though, I think it could work. There is a lot of power
that comes out of the box with RPM (e.g., it will glean requirements
for the binaries automatically). You'd need to be careful that the
PM'd versions of the packages don't stray from the regular commands
too much. But I don't think that thought is constrained to RPM. For
the case of RPM, I think you'd want to cripple it a bit until all
the issues are ironed out. But it should be pretty easy to do that in
the global configuration.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS Roadmap (Was: Re: As promised: LFS compilation summary)

2008-05-09 Thread Dan Nicholson
On Thu, May 8, 2008 at 6:52 PM, Jeremy Huntwork
[EMAIL PROTECTED] wrote:

 I think that the prevailing attitude here is rather anti GRUB2. Mostly
 because development on it seems to focus on items perceived as useless
 and bloat for a boot loader.

I haven't piped in on this at all, but I'd just like to say that I
really, really want to be pro-grub2. I periodically peruse the
grub-devel archives hoping to see that a 2.0 release is imminent. I
find it ridiculous that there's no currently supported grub. But,
anyway, I'm still x86 all the time, so grub-0.9.7 is good enough for
me. I'll be curious how this plays out, though.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Revisiting ideas

2008-04-30 Thread Dan Nicholson
On Tue, Apr 29, 2008 at 11:51 PM, Jeremy Huntwork
[EMAIL PROTECTED] wrote:
 Hello,

  So I finally got a free evening and the energy to sit down and get
  conceptual. This is the result:
  http://linuxfromscratch.org/~jhuntwork/php-test/

That's awesome! My only concern with the multiple paths is with
duplicating changes. Like, you found a typo in one of the commands and
you have to change it in 4 spots. But I'd take that tradeoff here for
the gain in coolness. :)

--
Dan

P.S. Sorry for not helping you with this.
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Revisiting ideas

2008-04-30 Thread Dan Nicholson
On Wed, Apr 30, 2008 at 2:13 AM, Alexander E. Patrakov
[EMAIL PROTECTED] wrote:
 Jeremy Huntwork wrote:
   Hello,
  
   So I finally got a free evening and the energy to sit down and get
   conceptual. This is the result:
   http://linuxfromscratch.org/~jhuntwork/php-test/
  
   Before replying about all that you see is wrong with it ;) keep the
   following in mind:
  
   This is a rough draft! A proof-of-concept only, designed to show
   possibilities and open up discussion/ideas. Think stick-figure.

  Glibc is not the best example for discussion. I requested such sample page 
 for
  bash, not for glibc, for a reason: bash needs a specific patch in the RPM 
 case,
  and I don't see the way to force such PM-specific instructions in the current
  framework.

  Although even for glibc, there is something to discuss:

There are definitely always going to be improvements made on the
package management side relative to the simple LFS commands. Let's not
let that derail the overall picture here. However...

   * making one big RPM package with both the shared library and its headers is
  technically incorrect (this is not so severe for glibc, but think about 
 gradual
  updates from libssl.so.0.9.8 to libssl.so.0.9.9, and that's impossible 
 without
  removing a lot of dependent packages if one doesn't package the conflicting
  headers in a separate RPM file);

   * the current framework doesn't allow for such split;

I agree that there are major advantages to splitting the libraries out
of the package, but why can't you just update the whole openssl
package to get the library update? In fact, the -devel split you're
talking about where the bare .so links and the headers are in a
separate package wouldn't affect a library update in any way. In most
cases, the .so.* links are part of the main package anyway (including
openssl).

   * editors that don't use a package manager have to be taught about this.

I think it would always be the case that some people aren't going to
care about the package management side. The editors that _do_ use a
package manager have to be responsible for keeping the pages
maintained. If an option to use dpkg was added, I probably wouldn't
spend any time looking at it, but I would expect that their would be
interested people who would tweak instructions in the way that most
benefits dpkg.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Revisiting ideas

2008-04-30 Thread Dan Nicholson
On Wed, Apr 30, 2008 at 6:35 AM, Alexander E. Patrakov
[EMAIL PROTECTED] wrote:
 Dan Nicholson wrote:
   I agree that there are major advantages to splitting the libraries out
   of the package, but why can't you just update the whole openssl
   package to get the library update? In fact, the -devel split you're
   talking about where the bare .so links and the headers are in a
   separate package wouldn't affect a library update in any way. In most
   cases, the .so.* links are part of the main package anyway (including
   openssl).

  Think about the way dependencies are expressed. The automatic dependnecy
  extractor says: package cryptofoo [that was built before openssl upgrade]
  depends on libssl.so.0.9.8 due to library dependencies. If you attempt to
  upgrade the whole openssl library to 0.9.9 (i.e. a binary incompatible
  release--that's important) without the split, the package manager will not be
  able to do this, because the new package does not provide libssl.so.0.9.8 and
  thus the cryptofoo package's dependencies are not satisfied with the new 
 openssl
  package. I.e., with such incompatible upgrades, it is convenient to have the
  following installed during the transitions: old openssl dynamic libraries
  without the .so symlinks, new openssl dynamic libraries with the .so 
 symlinks,
  new headers. You can't have all three at the same time without splitting the
  package (assuming that the package manager knows about file conflicts).

I certainly agree that it's best to handle situations like that, but
does RPM even support it? I.e., if I split off a libssl subpackage
that just has libssl.so.0.9.8, would RPM even allow me to install a
newer version of libssl in parallel without --force or something? I
don't know much here, but it seems that Fedora is getting along fine
without putting libraries in separate subpackages. On the other hand,
I notice that Debian/Ubuntu always splits the libraries into separate
packages.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS - DESTDIR Style (minor update)

2008-04-28 Thread Dan Nicholson
On Sun, Apr 27, 2008 at 9:06 PM, Alexander E. Patrakov
[EMAIL PROTECTED] wrote:
 Randy McMurchy wrote:
   Cc: to BLFS-Dev
  
   Alexander E. Patrakov wrote these words on 03/31/08 10:44 CST:
   Bruce Dubbs wrote:
   The implication of going to DESTDIR for LFS would imply doing the same
   for BLFS.  Some of the BLFS packages are not DESTDIR friendly.  I can't
   remember which ones off the top of my head, but I do recall some that
   ignore DESTDIR, at least partially.
   All perl modules. See
   http://linuxfromscratch.org/pipermail/lfs-dev/2007-December/060640.html
  
   This message is after-the-fact and not really relevant to the previous
   discussion. It is however, interesting.
  
   I just installed a Perl Module and not only was it native DESTDIR
   friendly and multilib friendly, it installed files depending on the
   native arch of the machine.

  I cannot confirm this. Both with perl-5.8.8 and 5.10.0, the package installs
  files into the DESTDIR, but it installs wrong files. See the URL above, I can
  add nothing to what is already said there. If you insist on your point, 
 please
  provide full command lines starting with perl Makefile.PL, and look into 
 the
  .packlist and perllocal.pod inside the DESTDIR.

This doesn't solve .packlist, but try:

make DESTDIR=/somewhere pure_vendor_install

That puts the module in vendor_lib and suppresses perllocal.pod. Or,
`perl Makefile.pl INSTALLDIRS=vendor' and `make ... pure_install'.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: asm/page.h

2008-04-22 Thread Dan Nicholson
On Tue, Apr 22, 2008 at 12:12 PM, Jeremy Huntwork
[EMAIL PROTECTED] wrote:
 On Tue, Apr 22, 2008 at 01:09:10PM -0600, Jeremy Huntwork wrote:
   I removed the line where it includes the header and Perl built
   successfully and all tests passed. This is also what Gentoo does:
   https://bugs.gentoo.org/show_bug.cgi?id=168312
  
   However, there's likely a better and more robust solution. I haven't dug
   any deeper yet.

  Actually, removing the line may just be good enough. PAGE_SIZE doesn't
  really seem to be used anywhere relevant:

  grep PAGE_SIZE . -R
  ./ext/IPC/SysV/SysV.xs:/* Required in BSDI to get PAGE_SIZE definition
  for SHMLBA.
  ./os2/os2.c:  PAGE_SIZE,
  ./os2/Changes:  MAX_WAIT, MIN_SLICE, MAX_SLICE, PAGE_SIZE,
  ./pod/perl571delta.pod:For getpagesize(), though you should prefer
  POSIX::sysconf(_SC_PAGE_SIZE))
  ./README.os2:   MAX_WAIT, MIN_SLICE, MAX_SLICE, PAGE_SIZE,
  ./perlio.c:#if defined(HAS_SYSCONF)  (defined(_SC_PAGESIZE) ||
  defined(_SC_PAGE_SIZE))
  ./perlio.c: page_size = sysconf(_SC_PAGE_SIZE);

Cool. I guess it's just an extraneous #include in SysV.xs. Here's
everything defined in my 2.6.22 asm/page.h (on x86):

#define PAGE_SHIFT  12
#define PAGE_SIZE   (1UL  PAGE_SHIFT)
#define PAGE_MASK   (~(PAGE_SIZE-1))

#define LARGE_PAGE_MASK (~(LARGE_PAGE_SIZE-1))
#define LARGE_PAGE_SIZE (1UL  PMD_SHIFT)

So, I suppose you could grep for some regex (PAGE_(SHIFT|SIZE|MASK))
of those macros to be safe.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: r8518 - in trunk/BOOK: . chapter01 prologue

2008-04-12 Thread Dan Nicholson
On Fri, Apr 11, 2008 at 11:49 PM, J. Greenlees
[EMAIL PROTECTED] wrote:
 Dan Nicholson wrote:

   bash - Not needed for actual building, but glibc's ldd and tzselect
   need either bash or ksh to work. The values will be substituted at
   configure time. I don't know what happens without them, and it's
   probably not that important in Ch. 5 if those utilities aren't there.
   However, we create the LFS user with /bin/bash as the login shell, and
   this can't be substituted as is because we set up the environment
   through the bash initialization files.
  

  Yet another minor issue with PCLinuxOS as a build environment, the
  environment set up following the book is not a login shell.
  [ only mentioning it as a f.w.i.w. ]

Sure it is. You switch to the lfs user with `su - lfs'. That creates a
login shell using the shell listed in the passwd database. If
PCLinuxOS' su doesn't follow that trend, I don't know if there's a lot
we can do about that.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: SVN-20080403 : 5.6.1. Installation of Glibc failure

2008-04-04 Thread Dan Nicholson
On Thu, Apr 3, 2008 at 8:15 PM, Alexander E. Patrakov
[EMAIL PROTECTED] wrote:
 Dan Nicholson wrote:
   You really need gawk, not mawk.

  Then please add gawk and bison in Chapter 5 before binutils, to accomodate
  Debian-based LiveCDs and PCLinuxOS, respectively.

The host requirements specify _Gawk_ 3.0. I really would prefer people
just check the host requirements instead of shoehorning temporary
packages at the beginning of the chapter. For an automated
environment, maybe, but it would just be clutter in the book.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: SVN-20080403 : 5.6.1. Installation of Glibc failure

2008-04-04 Thread Dan Nicholson
On Thu, Apr 3, 2008 at 11:51 PM, J. Greenlees [EMAIL PROTECTED] wrote:
 Alexander E. Patrakov wrote:
   Dan Nicholson wrote:
  
   You really need gawk, not mawk.
  
  
   Then please add gawk and bison in Chapter 5 before binutils, to accomodate
   Debian-based LiveCDs and PCLinuxOS, respectively.
  and here I was thinking that a note that bison is required to be
  installed if using PCLinuxOS as host would be sufficient. The distro
  does fine by adding their package.
  [ fewer changes to build process needed thn ]

If anything, it would be a note at the beginning of Ch. 5 to please
not skip the host system requirements page. I don't think we need to
special case things here.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: SVN-20080403 : 5.6.1. Installation of Glibc failure

2008-04-04 Thread Dan Nicholson
On Fri, Apr 4, 2008 at 7:28 AM, Alexander E. Patrakov
[EMAIL PROTECTED] wrote:

 Dan Nicholson wrote:
   On Thu, Apr 3, 2008 at 8:15 PM, Alexander E. Patrakov
   [EMAIL PROTECTED] wrote:
   Dan Nicholson wrote:
 You really need gawk, not mawk.
  
Then please add gawk and bison in Chapter 5 before binutils, to 
 accomodate
Debian-based LiveCDs and PCLinuxOS, respectively.
  
   The host requirements specify _Gawk_ 3.0. I really would prefer people
   just check the host requirements instead of shoehorning temporary
   packages at the beginning of the chapter. For an automated
   environment, maybe, but it would just be clutter in the book.

  For a regular distro, I would agree. For a third-party LiveCD, I disagree.

I still don't think instructions should be special for this situation.
If you chose a host that doesn't provide the necessary development
environment and doesn't provide the means to acquire the necessary
environment, then that probably wasn't the best choice. Instead, I'd
rather that the hostreqs page said If you're host doesn't contain the
necessary requirements and doesn't provide a means to acquire them,
see the instructions in Ch. 6 as a guide to building them.

Today it's bison and gawk. Maybe tomorrow it's make or flex. The
entire point of the Host System Requirements page is to establish a
baseline from where to start. I don't think it's wise to start adding
workarounds for that unless there's a really compelling reason. IMO,
these are compelling enough reasons.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Upstream patches

2008-04-03 Thread Dan Nicholson
On Wed, Apr 2, 2008 at 7:08 PM, DJ Lucas [EMAIL PROTECTED] wrote:
 Jeremy Huntwork wrote:
   Randy McMurchy wrote:
   Upstream is notorious for changing the patch content but not changing
   the name. And we don't see changes. This can only be a bad thing.
   There is nothing gained by changing the patch and calling it an LFS
   patch. This can only be a losing situation (upstream changes it, but
   we have no way of knowing it).
  
   As I mentioned in the Trac ticket, if they are in the habit of changing
   the patch without changing the name, and we link directly to them,
   essentially we open ourselves up to a situation where we link to an
   untested (by us) patch. At least if we make a snapshot of what they
   released, and we commit it after testing (as I did with this one) then
   we are working with a known patch.

  That is kind of a disturbing point about the way BLFS handles upstream
  patches.  I've CC'd blfs-dev too.

  If the replacement patch is created with a different -P option, our
  instructions are broken.  Also, what about the recent CRLF issues?
  These kinds of problems disappear if we host the patch in our own
  repository, excluding the unlikely event (or rather likely as history
  has proven) that an upstream patch is updated--which is just plain wrong
  anyway as they should have version numbers attached to them, or at very
  least, a date.  Additionally, our testing is against a known version of
  the source.  Another weak argument at best, but all other distributions
  maintain their own patch sets in their source packages.

To be fair, the BDB patches are individual with version numbers, i.e.
patch.4.5.20.1, patch.4.5.20.2, etc.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: SVN-20080403 : 5.6.1. Installation of Glibc failure

2008-04-03 Thread Dan Nicholson
On Thu, Apr 3, 2008 at 2:47 PM, Jeremy Huntwork
[EMAIL PROTECTED] wrote:

  'mawk: scripts/gen-sorted.awk: line 19: regular expression compile failed

 (bad class -- [], [^] or [)
  /[^
  mawk: scripts/gen-sorted.awk: line 19: syntax error at or near ]
  mawk: scripts/gen-sorted.awk: line 19: runaway regular expression /, ,'

  Interesting. What is the host system you're using?

I'm guessing it's Ubuntu. You really need gawk, not mawk. This came up
on libc-alpha a few months ago, but Drepper wouldn't budge on making
it more portable.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: SVN Linux Headers Installation

2008-03-31 Thread Dan Nicholson
On Wed, Mar 26, 2008 at 7:38 PM, Randy McMurchy [EMAIL PROTECTED] wrote:

  First of all, thanks to Dan for the cluebat about how gcc bootstraps
  by default now. I didn't know that. Perhaps it could be mentioned.

I was thinking that if you're reading the book for the first time,
then having a conversation about why you're not running make
bootstrap would be out of place. But there are probably enough old
timers reading the book that they have the context where not seeing
make bootstrap is odd. I could go either way.

  However, I've noted the following commands (they've probably always
  been there, just never bothered to noticed) in the Linux Headers
  installation (both Chapter 5 and 6):

  make mrproper
  make headers_check
  make INSTALL_HDR_PATH=dest headers_install

  Throughout the boot, every command is described in detail as to what
  it does. None of these 3 commands is even mentioned as to what it
  does (both Chapters 5 and 6).

  For instance, I've been following LFS for a long time, but this is
  the first time I've seen the INSTALL_HDR_PATH=dest in the book. I
  don't have a clue what it does, and still don't after doing it. Just
  have to blindly follow along, without any knowledge of what I just
  did. Granted it should be a given that the API headers are being
  installed, but folks should be given a chance to understand the
  commands.

Yeah, the kernel headers don't install as smoothly as other packages.
When you run make headers_install, it first removes
$(INSTALL_HDR_PATH)/include, not what you would want if
INSTALL_HDR_PATH=/usr and you have other headers there. That could
definitely use an explanation.

For make mrproper, that could probably offloaded with a pointer to
Ch. 8.3 where it's explained for the kernel. make headers_check is
the testsuite, but also encompasses headers_install. I think you can
drop it and go straight to headers_install, but I seem to remember
that it does some other important things, too. It's very possible that
it could just be treated as the optional testsuite command.

I opened ticket #2167 to track this.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: man_db.conf in /usr/etc

2008-03-30 Thread Dan Nicholson
On Sun, Mar 30, 2008 at 5:16 AM, Bryan Kadzban
[EMAIL PROTECTED] wrote:

   It looks like mandb is sticking the configuration file in the /usr
   folder.

  Without looking at man-db's configury, I'd assume that it would fix it
  if we simply set --sysconfdir=/etc?  If it's that simple, I'm all for it.

I looked yesterday, the fix is as simple as --sysconfdir=/etc. I just
forgot to respond. Basically, there's a --with-config-file option now
that defaults to ${sysconfdir}/man_db.conf.

Fixing it now...

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS-SVN: 6.45. Man-DB-2.5.1

2008-03-30 Thread Dan Nicholson
On Sat, Mar 29, 2008 at 4:17 AM, George [EMAIL PROTECTED] wrote:
 Hi

  Posting this to the dev list as it isn't really a breakage.

  After building man-db.2.5.1 folowing the SVN version of the LFS
  book, I notice that man_db.conf is being installed to /usr/etc
  instead of /etc.

  Checking against my only previous LFS build (6.2 stable) I find
  that man_db.conf is in /etc on that box.  (But, as I didn't keep
  notes on the LFS part of the install I can't say for sure if that
  was down to the build, or me adding a --sysconfdir=/etc and just
  not remembering...)

It looks like they made it configurable in the new release, so you
just need to pass --sysconfdir=/etc. Thanks.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Linux Foundation Collaboration Summit

2008-03-19 Thread Dan Nicholson
On Wed, Mar 19, 2008 at 11:52 AM, J. Greenlees
[EMAIL PROTECTED] wrote:

  With the LSB:
  Why would a BASE standrd not stop at the absolute minimum needed for a
  functioning system? The addition of package management [ for example ]
  to the LSB has made in no longer a BASE standard. If extras are going to
  be included, then call it a Linux DISTRO Standard, not a Base Standard.
  [ I for one ignore the LSB because it is not what it claims to be, a
  BASE for Linux.] LFS and DIY are much closer to being a base in the lack
  of extra software.

This isn't a proper channel for an LSB discussion, but the entire
purpose of the LSB is to allow third parties to create software
packages for standard Linux systems. Where LFS and DIY stop are far
too minimal for this purpose. For example, how would it be possible
for Google to package Picasa for Linux if all that was guaranteed was
what comes in LFS? If you aren't concerned with allowing 3rd party
packages, then there is no reason to pursue the LSB at all.

As for the use of RPM, you can see more recent articles and
discussions on the LSB lists on the topic of package management. It is
an extremely difficult topic to pursue given the myriad of packagers
on the various distros. I believe that the current approach is to try
to create a generic shim layer with backends for the specific package
managers including RPM, dpkg, etc.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Linux Foundation Collaboration Summit

2008-03-19 Thread Dan Nicholson
On Wed, Mar 19, 2008 at 12:23 PM, Robert Daniels
[EMAIL PROTECTED] wrote:
 On Wednesday 19 March 2008 13:52:56 J. Greenlees wrote:
  snip lots of stuff I agree with

 
   Anything that should be adopted by all distros must remain
   non-controversial to truly be acceptable by all, the more specific
   the LSB gets, the less respect many people will have for it. Specific
   in software over the true base system being the issue.
  
  The LSB, to my mind, is too extensive.  I share the concern over RPM.
  While RPM is not absolutely required by the LSB, it is quite clearly
  favored; this is a problem.

I don't think it's true that RPM is favored. I believe RPM was just a
fully implemented package manager used on more than a few systems at
the time the LSB was written. See more background here:

http://www.linux.com/feature/59502

  I don't have the understanding to say
  whether other items in the LSB Core spec are needed/useful, but they
  certainly look extensive.  The LSB Desktop spec is worse.  Unless I'm
  reading it wrong, it -requires- the presence of GTK, Qt3, AND Qt4.
  This is antithetical to construction of a lean system.  I understand
  the inclusion of selected fd.o specs and software, but this document
  simply goes to far.  I see little need to go much further than the
  POSIX specification and the FHS.

I think you're overlooking the purpose of the LSB. It has nothing to
do with being a lean system. It has to do with providing a standard
set of interfaces for 3rd parties to use. What if a company wants to
provide a proprietary GUI app for their hardware? What toolkit are
they allowed to use and have it work on Linux systems? If this doesn't
sound like the kind of scenario you're interested in, then it's not
worth trying to be LSB compliant. However, the need does exist, and
there are definitely big players who would benefit from the LSB. Think
about distributing your software that works with RHEL x, RHEL y, SuSE
z, ... vs. works with LSB 3.2.0.

In the context of *LFS, I don't think it really makes any sense to
pursue the LSB. I don't think anyone here has more than a curious
interest in supporting these scenarios.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Linux Foundation Collaboration Summit

2008-03-19 Thread Dan Nicholson
On Wed, Mar 19, 2008 at 1:35 PM, Robert Daniels
[EMAIL PROTECTED] wrote:
 On Wednesday 19 March 2008 15:53:12 Dan Nicholson wrote:
   This isn't a proper channel for an LSB discussion, but the entire
  I would think the LSB Meeting would be the appropriate forum, and Bruce
  did ask for input on topics to bring up. (and I don't mean this in the
  whiny, argumentative way it looks, I'm just not sure how else to say
  it.)

No problem. I think my previous reply might have been a bit
aggressive, so sorry for that.

   purpose of the LSB is to allow third parties to create software
   packages for standard Linux systems. Where LFS and DIY stop are far
   too minimal for this purpose. For example, how would it be possible
   for Google to package Picasa for Linux if all that was guaranteed was
   what comes in LFS? If you aren't concerned with allowing 3rd party
   packages, then there is no reason to pursue the LSB at all.
  
  Package it however they happen to package it now.  Just be sure the
  dependencies are documented.  Beyond that, it should be the
  responsibility of the distro to package these dependencies and install
  them according to FHS rules.

That's how things currently go, but it's a big mess. Let's say I've
developed my proprietary app on RHEL and now I want to sell it to some
company running Ubuntu. If I want it to be directly installable for
them, I have to port the packaging to dpkg and figure out what the
dependencies are named on Ubuntu at the least. What if I want to sell
it to another company where they use neither RPM nor dpkg? Now I've
got 3 packages to maintain. Or, you could write a script that handles
the details of the install. OK, except now the binaries are not
handled by the native package manager and you require the sysadmin to
be familiar with your unusual install method.

In both cases, you still need to confirm the package works on systems
X, Y and Z for each release or your customers get angry.

   As for the use of RPM, you can see more recent articles and
   discussions on the LSB lists on the topic of package management. It
   is an extremely difficult topic to pursue given the myriad of
   packagers on the various distros. I believe that the current approach
   is to try to create a generic shim layer with backends for the
   specific package managers including RPM, dpkg, etc.
  
  As in PackageKit? Not necessarily PackageKit itself, but the idea of it.
  This would not be so bad at all.

Yep, except PackageKit has a simpler job. It just abstracts the
details of the package to the user interface. All the details are just
handled in the backends. The packages themselves are still distributed
in their native formats. This LSB work would also require a new
package format and conversion into the native format before handing
off to the system's package manager.

  And now I see your reply to my previous mail.  I can understand why
  vendors would want a more comprehensive specification, but I still
  don't see what would be wrong with just documenting the dependencies of
  the binary package.

Because people really want it to be as easy as here's the Linux
package, install it and go just like you can do on Windows or Mac.
The important thing to remember is that not every Linux user is a
power user who is intimately familiar with topics like service
initialization, GUI toolkits, packaging, etc.

  Perhaps there is something of a user element too.  Maybe the LSB
  requires the extra software, which could be considered cruft, to
  protect users too dumb and/or lazy to read documentation to get
  dependency information, and to protect vendors from spurious support
  requests from said users.  If that's at least part of the reasoning, I
  think I might be beginning to understand.

If it's me or you, then I would say too dumb and/or lazy. If it's my
mom, then I say those are details she definitely shouldn't care about.
I certainly understand the notion of the informed person clicking the
I know what I'm doing checkbox, but I think the LSB is helping to
make Just Works attainable for mere mortals.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: UDev Problems

2008-03-11 Thread Dan Nicholson
On Tue, Mar 11, 2008 at 3:03 PM, Nathan Coulson [EMAIL PROTECTED] wrote:
 I was just looking at cd udev-config-20080217, and I noticed there
  were a few things that made nonroot users not work by default.

  /dev/zero and /dev/null were 660,  and until I reverted to the old lfs
  rules file, I could not run urxvt (I never figured out which device it
  wanted).

  also,  the mouse devices were in /dev instead of /dev/input.

  Linux 2.6.24.3 (.2 headers), udev 113, anything else is LFS
  Development as of the date of this email

Someone brought this up to me off list and I forgot to report it here.
Shouldn't the new rules only be used with newer udev so they work in
conjunction with udev's default rules? I.e., doesn't the book need to
be updated to udev-115+ or revert to the last udev-config release?

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Poll about package management

2008-03-05 Thread Dan Nicholson
On Tue, Mar 4, 2008 at 9:16 PM, Alexander E. Patrakov
[EMAIL PROTECTED] wrote:

  Still, please provide them. With only 8 editors who answered the poll,
  the correlation coefficients involving the I am an editor checkbox
  have an expected relative error of 35%, and you can bring this down to
  33% (just a joke - the error of estimating the error is of course
  larger than those 2%).

What package management requirements the book uses aren't really that
important to me, which is why I didn't answer. I'd much rather just
follow what the community wants. But, if you're interested in what I
consider important from a package manager, you can probably put an X
in every box. After messing around with my own package manager and
finding out all the limitations, I realized I really do want all those
features provided by the big guys, even at the sacrifice of some
automation.

I personally lean towards RPM because I'm most familiar with Fedora
and I conceptually like the idea of keeping all the information in a
single file, unlike dpkg where you have a splattering of files. But I
wouldn't be opposed to any package manager that people want to use, no
matter how simplistic. I'm always free to do what I want to do.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Package Management - technical comparisons

2008-03-05 Thread Dan Nicholson
On Wed, Mar 5, 2008 at 1:35 AM, Alexander E. Patrakov
[EMAIL PROTECTED] wrote:

  - It has a lot of legacy features that were oriented to the old
  versions of autoconf (see, for example, how the %makeinstall macro
  expands--BTW RedHat doesn't use this macro)

Nobody uses this anymore, but it can be useful in the case of a
Makefile with hardcoded directories.

http://gitweb.dwcab.com/?p=pound.git;a=blob;f=jpeg/jpeg.spec;hb=HEAD

  - The %configure macro interferes (ore, more correctly, duplicates or
  overlaps in functionality) with config.site files, but the
  autogenerated spec files are not expected to use this macro, so this
  is likely to be a non-issue. However, in this case, setting the
  default CFLAGS from RPM macros, as documented, will stop working.

I don't consider this a bad thing since your rpm macros essentially
deprecate config.site. echo '%_prefix /usr/local'  ~/.rpmmacros.
Also, you can easily write your own %configure replacement if you
prefer config.site:

cat  /etc/rpm/macros.lfs  EOF
%configure \
  export CFLAGS=${CFLAGS:-%optflags}; \
  export CXXFLAGS=${CXXFLAGS:-%optflags}; \
  export CONFIG_SITE=/path/to/config.site; \
  ./configure
EOF

I'm pretty sure that Mandriva and SUSE override the default
%configure. I'm personally considering overriding it so that I can
specify the shell to call configure with since a lot of them have
bashisms.

I don't want to hijack this thread into a merits of RPM thread, but
just wanted to comment on those two points.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Poll about package management

2008-03-05 Thread Dan Nicholson
On Wed, Mar 5, 2008 at 4:35 PM, Greg Schafer [EMAIL PROTECTED] wrote:

  You seem to be striving for perfection. When I want all the bells and
  whistles I run a mainstream distro. It is simply too labour intensive to
  have the lot on a self built system. I looked at the amount of effort
  Dan has apparently put into his RPM based system and weeped :-(

:)

I was telling Jeremy that when I started converting all my specs to
RPM, I figured it'd take a month or two just hammering through the
conversion. That started in October and has seemingly no end in sight.
But now that I've gotten this far, you can be damn sure that I'll at
least enjoy my one click[1] installs for a few months before I abandon
ship. Looking back, I probably should have just loaded up Fedora, but
I just can't do it. I like having things under my control a little too
much.

--
Dan

[1] http://packagekit.org/pk-screenshots.html
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS-SVN: 6.9. Glibc-2.7

2008-03-04 Thread Dan Nicholson
On Sat, Mar 1, 2008 at 1:33 PM, Jonathan Oksman
[EMAIL PROTECTED] wrote:

  I'm working through the current development LFS book and one section
  struck me as a bit odd.  In 6.9. Glibc-2.7:

   The ldd shell script contains Bash-specific syntax. Change its default 
 program interpreter to /bin/bash in case
   another /bin/sh is installed as described in the Shells chapter of the 
 BLFS book:
  
   sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in


  I'm building a 'by the book' lfs system right now, and looking at my
  toolchain's ldd (which did not have this substitution in chapter 5) it
  appears to be using bash by default.  Using dash as an example
  alternative sh, this raises a few questions to my mind:

The issue is that ldd is a bash script. When you run ./configure, the
BASH variable is set to /bin/sh (this is what happens when you call
bash as /bin/sh). This is substituted as the interpreter for ldd.
That's fine for now as /bin/sh points to bash. However, if you later
change /bin/sh to be !bash, things break. Instead of substituting
configure's interpretation of what the path to bash is, we just force
it to be /bin/bash. That will always work as /bin/bash is certainly
the bash shell.

I suppose this could be a problem in Ch. 5 since glibc will encode the
path to bash from the host system. But that's not a problem outside
the chroot. Inside the chroot, you'll have ldd replace early in the
glibc installation.

This has been fixed upstream to use a better search for the bash
interpreter that won't use the BASH variable, which is set by the
shell. I don't recall when this went in, but the sed might not be
needed anymore with glibc-2.7.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: RPM: proof of concept

2008-03-03 Thread Dan Nicholson
On Sun, Mar 2, 2008 at 7:07 AM, Alexander E. Patrakov
[EMAIL PROTECTED] wrote:
 Hello,

  I have digged up the archives of LeafOS lists and extracted RPM instructions 
 and
  spec files from them. Spec files up to and including Chapter 6 bash are 
 attached
  (slightly modified).

  Dan: sorry for ignoring your superior work.

I had used Alexander's specs as a jumping off point for creating an
RPM-based distro after I realized that I wanted far better package
management than what I was doing with a bash tool I'd written. Anyway,
everything is here:

http://pound.dwcab.com/repo/
http://gitweb.dwcab.com/?p=pound.git;a=summary

The bootstrapping method is basically exactly as Alexander has
described it. There are definitely bugs, but it seems to work mostly
well (if you're on an x86 and your hardware is exactly like mine :) I
hadn't actually been really running it, though, as I'd mostly been
repackaging from my old spec files.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Planning an overall direction for LFS

2008-02-29 Thread Dan Nicholson
On Fri, Feb 29, 2008 at 1:20 AM, Alan Lord [EMAIL PROTECTED] wrote:
 Bruce Dubbs wrote:
   Jeremy Huntwork wrote:
  snip /

  Merging the projects is a good idea, but I think, for the sake of
   customization and flexibility, it will still be good to break down LFS
   into 'modules' as Alan Lord suggested.
  
   I'm having a problem understanding this concept.  If one wants a web
   server, then you only need LFS and a few packages from BLFS.  If you
   want a workstation, then you need LFS and quite a few more packages from
   BLFS.  What's a module besides a list of packages for a particular
   application?  BLFS is set up to be able to jump around as necessary.  I
   must be missing something because I see a module as fundamentally LFS
   and a list of links in BLFS.

  Bruce, my modular idea was more about training modules rather than
  sets of packages...

  Here's the original suggestion I made:

  ---
  So perhaps the LFS project becomes some sort of course (and I use the
  term loosely). The modules of which, could be something like:

  * Learning the basics (Command Line, cmmi, security, toolchain, blah blah)

  * Scripting/Automating (A subject about how LFS gets built, the tools,
  the processes involved etc) [This is where PM would probably go too]

  * Basic Useful Applications (A sort of mini BLFS where we get
  networking, X and maybe Firefox/TB type apps installed)

  * Building your Distro (Completing the core build-out adding your chosen
  apps and utilities and configuring)

  * Making your Distro distributable (How to make a liveCD of your
  distro, how to make an installer script...)

I think it would be really cool if this is how it worked.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Planning an overall direction for LFS

2008-02-28 Thread Dan Nicholson
On Thu, Feb 28, 2008 at 5:23 PM, Jeremy Huntwork
[EMAIL PROTECTED] wrote:
snip

Nice job bringing it all together. I agree with everything you said
and think that it would be a huge win for everyone if the project
could be reinvented in this way. I'm especially a huge fan of the
modules idea: Focus on the part you want to focus on.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LiveCD or No LiveCD?

2008-02-25 Thread Dan Nicholson
On Mon, Feb 25, 2008 at 9:12 AM, Bruce Dubbs [EMAIL PROTECTED] wrote:

  Perfect is the enemy of good enough.

I'd agree with that. It's a fact: bugs will happen. Obviously it
stinks if someone tries boot and their hard drive isn't detected, but
the LiveCD does work for a lot of people. I don't see a real good
reason to kill it off unless there are no interested parties left. If
there are no active developers, all the more opportunity for new
people to get involved.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: 6.7.2. possible minor omission

2008-01-22 Thread Dan Nicholson
On Jan 22, 2008 11:29 AM, Matthew Burgess [EMAIL PROTECTED] wrote:
 On Tue, 22 Jan 2008 12:21:22 -0600, Clyde Forrester [EMAIL PROTECTED] wrote:
  I'm using the Live 6.3
  At 6.7.2. I noticed that the 'video' headers were included, but not
  mentioned.

 Thanks for the report, Clyde.  I notice that on my kernel, 2.6.23.14, only 
 sisfb.h gets installed there.  As such, I wonder whether the installation of 
 that header is actually a bug.  I know Dan and Bryan have some experience 
 with the kernel and its headers.  Maybe they can shed some light, or get hold 
 of an opinion from upstream?

That's probably a gross overstatement of my experience with the kernel
headers :)

I believe sisfb.h is proper public API. I don't know who uses it
(DirectFB shows up on Google code search), but that's been exported
from the kernel pretty much since David Woodhouse added the
headers_install stuff.

Additionally, it appears 2.6.24 will have two more headers in there,
uvesa.h and edid.h. So, I'd suspect the video/ headers are proper API
for Linux and don't conflict with anything else, like glibc.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Glibc-2.7: awk should be gawk, not mawk

2008-01-16 Thread Dan Nicholson
On Jan 15, 2008 11:30 PM, Petr Ovtchenkov [EMAIL PROTECTED] wrote:
 On Tuesday 15 January 2008 21:57, Dan Nicholson wrote:
 
  The glibc configure script uses the macro AC_PROG_AWK. This looks for
  gawk first in the path before falling back to mawk, nawk or awk. So,
  while it's not enforced, if you follow the LFS host requirements, it
  will work.

 Really?

 grep -r awk glibc-2.7 | grep -v gawk
 ...
 glibc-2.7/elf/Makefile:   | awk '($$7 ~ /^UND(|EF)$$/  $$1 != 0:  $$4 
 != REGISTER) { print; p=1 } END { exit p != 0 }'

I forgot about that. This is the one that breaks things. It's been
changed upstream to use $(AWK), I believe. So, it seems like we'll
either have to ensure that awk = gawk somehow or patch the Makefile to
use $(AWK). The second one seems easier:

http://sourceware.org/cgi-bin/cvsweb.cgi/libc/elf/Makefile.diff?r1=1.320r2=1.321cvsroot=glibc

Probably just `sed -i 's/awk/$(AWK)/' elf/Makefile'.

 ...
 glibc-2.7/nss/db-Makefile:AWK = awk
 ...
 glibc-2.7/manual/tsort.awk:#! /usr/bin/awk -f
 ...
 glibc-2.7/sysdeps/ia64/fpu/import_intel_libm:   awk -f import_file.awk 
 FUNC=$1 $2  $3
 glibc-2.7/sysdeps/ia64/fpu/import_intel_libm:   awk -f import_file.awk 
 LICENSE_ONLY=y $2  $3


 (for reference only: my problem begin when awk - mawk fail on regexp on 
 first line of
 listing above [in glibc-2.7/elf/Makefile]).

I don't know details about the others, but I'm pretty sure
elf/Makefile is the one that's causing the problems with non-POSIX
syntax.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Chap. 5.6 - glibc-2.7 compilation error

2008-01-16 Thread Dan Nicholson
On Jan 16, 2008 3:16 PM, Ken Moffat [EMAIL PROTECTED] wrote:
 On Wed, Jan 16, 2008 at 01:51:23PM -0600, Bruce Dubbs wrote:
  Circul wrote:
 
   Try to compile glibc-2.6.1 - no errors, all compiled fine.
  
   What's wrong ?
 
  Wrong list.  Try lfs-support.
 
-- Bruce
 
  I think he did, yesterday, but nobody has replied.  Probably
 because nobody else is trying to build the development book on
 i586 at the moment.

  There was a similar problem on clfs, and there is an open ticket
 there, but I don't know the answer.

On lfs-support, one guy said these patches from glibc CVS fixed the issue:

http://linuxfromscratch.org/pipermail/lfs-support/2008-January/033985.html
http://sourceware.org/ml/libc-alpha/2007-10/msg3.html
http://sourceware.org/ml/glibc-cvs/2007-q4/msg00428.html

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Glibc-2.7: awk should be gawk, not mawk

2008-01-15 Thread Dan Nicholson
On Jan 15, 2008 11:11 AM, Bruce Dubbs [EMAIL PROTECTED] wrote:
 Dan Nicholson wrote:

  As for using POSIX compatible awk, see this recent helpful thread:
 
  http://sourceware.org/ml/libc-alpha/2007-12/msg00020.html


 Ulrich Drepper really comes across as unreasonable, doesn't he?

Unless your name is Jakub Jelinek or Roland McGrath :)

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


  1   2   3   4   5   6   7   8   9   10   >