[Clfs-support] CBLFS: after CLFS
appzer0
appzer0 at free.fr
Tue Aug 10 07:18:40 PDT 2010
Hi,
Apologises for my english first of all.
OK, I'm working on my CLFS multilib (32/64-bit) system for quite a while
now - and I must say it works pretty good!
I'm on it for about a year now (LFS -> CLFS Pure64 -> CLFS multilib -> a
home-scripted, mixing slackware design, CLFS, DIY, fully UTF-8 and
french-speakers-oriented distro with a realtime kernel, blah blah blah).
Packages are packed in cpio archives, each containing a xz'ed cpio
archive of files, the rest is meta-info (thanks to the developer who
worked hard on this piece of software, see
http://requiescant.tuxfamily.org/home/index.html).
Builds are done with fakeroot, not to spam host with errors of
manipulations or unfortunate builds. Only the packages that use 'mknod'
have to be run by root (there is 2 such packages).
The system has two Java environments, two Firefoxes, two Thunderbirds,
two Python packages repositories, etc. Everything is scripted to rebuild
(sorry for the french comments, though commands are still
understandable), see there:
http://git.tuxfamily.org/0linux/0linux.git?p=gitroot/0linux/0linux.git;a=tree
Precompiled packages (all x86_64 with 32-bit capabilities) can be found
here: http://download.tuxfamily.org/0linux/pub/0/paquets/
Some packages were a PITA to build, sometimes I had to take the precious
32-bit libs and place it in a safe place before compiling the 64-bit
ones to prevent autoconf systems and such to overwrite them.
So the system works (almost) like a charm. Still, some questions are
still in my mind.
The python packages (files in /usr/lib/python2.6/site-packages): My
/usr/lib{,64}/python2.6/site-packages are not the same:
appzer0 at buildbox:~$ LC_ALL=C ls -al /usr/lib/python2.6/site-packages/
total 1651
drwxr-xr-x 14 root root 1704 Aug 10 14:25 ./
drwxr-xr-x 25 root root 19360 Jul 2 20:28 ../
drwxr-xr-x 3 root root 640 Jul 2 20:28 PyQt4/
-rw-r--r-- 1 root root 119 Jun 21 21:09 README
-rw-r--r-- 1 root root 800 Jun 22 00:42 Wicd-1.7.0-py2.6.egg-info
-rwxr-xr-x 1 root root 1026 Jun 21 14:22 _dbus_bindings.la*
-rwxr-xr-x 1 root root 135644 Jun 21 14:22 _dbus_bindings.so*
-rwxr-xr-x 1 root root 1170 Jun 21 14:22 _dbus_glib_bindings.la*
-rwxr-xr-x 1 root root 6508 Jun 21 14:22 _dbus_glib_bindings.so*
-rw-r--r-- 1 root root 7000 Jun 21 00:34 _gamin.a
-rwxr-xr-x 1 root root 827 Jun 21 00:34 _gamin.la*
-rwxr-xr-x 1 root root 7672 Jun 21 00:34 _gamin.so*
drwxr-xr-x 2 root root 208 Jul 2 20:27 cairo/
drwxr-xr-x 3 root root 1632 Jul 2 20:22 dbus/
-rw-r--r-- 1 root root 33 Jun 21 14:22 dbus_bindings.py
-rw-r--r-- 1 root root 185 Jun 21 14:22 dbus_bindings.pyc
-rw-r--r-- 1 root root 185 Jun 21 14:22 dbus_bindings.pyo
drwxr-xr-x 7 root root 872 Aug 7 22:17 docutils/
-rw-r--r-- 1 root root 1681 Aug 7 22:17 docutils-0.8-py2.6.egg-info
-rw-r--r-- 1 root root 15061 Jun 21 05:07 drv_libxml2.py
drwxr-xr-x 3 root root 144 Aug 10 12:36 exo-0.3/
-rw-r--r-- 1 root root 6954 Jun 21 00:34 gamin.py
-rw-r--r-- 1 root root 9358 Jun 21 00:34 gamin.pyc
-rw-r--r-- 1 root root 9358 Jun 21 00:34 gamin.pyo
drwxr-xr-x 3 root root 184 Jul 2 20:23 git_remote_helpers/
-rw-r--r-- 1 root root 271 Jun 21 00:36
git_remote_helpers-0.1.0-py2.6.egg-info
drwxr-xr-x 7 root root 584 Jul 2 20:27 gtk-2.0/
-rw-r--r-- 1 root root 4330 Feb 25 21:29 libproxy.py
drwxr-xr-x 2 root root 1296 Jul 2 20:25 libsmbios_c/
-rw-r--r-- 1 root root 339776 Jun 21 05:07 libxml2.py
-rw-r--r-- 1 root root 365378 Jun 21 05:09 libxml2mod.a
-rwxr-xr-x 1 root root 1011 Jun 21 05:07 libxml2mod.la*
-rwxr-xr-x 1 root root 274340 Jun 21 05:09 libxml2mod.so*
-rw-r--r-- 1 root root 48277 Jun 21 05:11 libxslt.py
-rw-r--r-- 1 root root 73814 Jun 21 05:11 libxsltmod.a
-rwxr-xr-x 1 root root 1088 Jun 21 05:11 libxsltmod.la*
-rwxr-xr-x 1 root root 61972 Jun 21 05:11 libxsltmod.so*
drwxr-xr-x 15 root root 1224 Jul 2 20:27 numpy/
-rw-r--r-- 1 root root 1610 Jun 21 01:28 numpy-1.3.0-py2.6.egg-info
-rw-r--r-- 1 root root 2762 Aug 10 12:32 pyexo.py
-rw-r--r-- 1 root root 1639 Aug 10 12:32 pyexo.pyc
-rw-r--r-- 1 root root 1346 Aug 10 12:32 pyexo.pyo
-rw-r--r-- 1 root root 8 Jun 21 06:28 pygtk.pth
-rw-r--r-- 1 root root 2966 Jun 21 06:28 pygtk.py
-rw-r--r-- 1 root root 2074 Jun 21 06:28 pygtk.pyc
-rw-r--r-- 1 root root 1781 Jun 21 06:28 pygtk.pyo
-rw-r--r-- 1 root root 2687 Sep 29 2008 roman.py
-rw-r--r-- 1 root root 3532 Apr 30 22:01 roman.pyc
-rwxr-xr-x 1 root root 74244 Aug 10 14:24 sip.so*
-rw-r--r-- 1 root root 88597 Aug 10 14:24 sipconfig.py
-rw-r--r-- 1 root root 5264 Aug 10 14:24 sipdistutils.py
drwxr-xr-x 2 root root 992 Jul 3 20:52 wicd/
drwxr-xr-x 2 root root 584 Jul 2 20:29 xcbgen/
drwxr-xr-x 3 root root 168 Jul 2 20:23 xml2po/
---
appzer0 at buildbox:~$ LC_ALL=C ls -al /usr/lib64/python2.6/site-packages/
total 2034
drwxr-xr-x 8 root root 1128 Aug 10 14:25 ./
drwxr-xr-x 25 root root 19360 Jul 2 20:28 ../
drwxr-xr-x 3 root root 672 Jul 2 20:28 PyQt4/
-rw-r--r-- 1 root root 119 Jun 21 21:12 README
-rwxr-xr-x 1 root root 1019 Jun 21 14:22 _dbus_bindings.la*
-rwxr-xr-x 1 root root 172232 Jun 21 14:22 _dbus_bindings.so*
-rwxr-xr-x 1 root root 1171 Jun 21 14:22 _dbus_glib_bindings.la*
-rwxr-xr-x 1 root root 9064 Jun 21 14:22 _dbus_glib_bindings.so*
-rw-r--r-- 1 root root 10948 Jun 21 00:34 _gamin.a
-rwxr-xr-x 1 root root 831 Jun 21 00:34 _gamin.la*
-rwxr-xr-x 1 root root 9432 Jun 21 00:34 _gamin.so*
drwxr-xr-x 2 root root 208 Jul 2 20:27 cairo/
drwxr-xr-x 3 root root 72 May 4 02:57 dbus/
-rw-r--r-- 1 root root 15061 Jun 21 05:09 drv_libxml2.py
drwxr-xr-x 3 root root 144 Aug 10 12:36 exo-0.3/
-rw-r--r-- 1 root root 6954 Jun 21 00:34 gamin.py
-rw-r--r-- 1 root root 9410 Jun 21 00:34 gamin.pyc
-rw-r--r-- 1 root root 9410 Jun 21 00:34 gamin.pyo
drwxr-xr-x 7 root root 584 Jul 2 20:27 gtk-2.0/
-rw-r--r-- 1 root root 4330 Feb 25 21:29 libproxy.py
-rw-r--r-- 1 root root 339776 Jun 21 05:09 libxml2.py
-rw-r--r-- 1 root root 579058 Jun 21 05:09 libxml2mod.a
-rwxr-xr-x 1 root root 1015 Jun 21 05:09 libxml2mod.la*
-rwxr-xr-x 1 root root 370040 Jun 21 05:09 libxml2mod.so*
-rw-r--r-- 1 root root 48277 Jun 21 05:11 libxslt.py
-rw-r--r-- 1 root root 113666 Jun 21 05:11 libxsltmod.a
-rwxr-xr-x 1 root root 1104 Jun 21 05:11 libxsltmod.la*
-rwxr-xr-x 1 root root 78328 Jun 21 05:11 libxsltmod.so*
drwxr-xr-x 15 root root 1224 Jul 2 20:27 numpy/
-rw-r--r-- 1 root root 1610 Jun 21 01:29 numpy-1.3.0-py2.6.egg-info
-rw-r--r-- 1 root root 8 Jun 21 06:29 pygtk.pth
-rw-r--r-- 1 root root 2966 Jun 21 06:29 pygtk.py
-rw-r--r-- 1 root root 2082 Jun 21 06:29 pygtk.pyc
-rw-r--r-- 1 root root 1789 Jun 21 06:29 pygtk.pyo
-rwxr-xr-x 1 root root 103784 Aug 10 14:24 sip.so*
-rw-r--r-- 1 root root 88581 Aug 10 14:24 sipconfig.py
-rw-r--r-- 1 root root 5264 Aug 10 14:24 sipdistutils.py
---
Do I need to have the same contents in both dirs? I suppose so. So it's
gonna complicate the scripts over a bit more, I guess. Like, moving the
32-bit python packages in a safe place before 64-bit builds.
I would really appreciate directions on about how to specify
'site-packages' dirs to build systems or if I have to manually put the
files in the right places after the build.
Following CBLFS led me to frequently invoke the same parameters and
commands. For example, LDFLAGS="-L/usr/lib -L/lib" for 32-bit builds is
now systematic, so as it is for the 64-bit builds too (just look at the
'generique.recette' script on my GIT repo - "generique.recette" meaning
"generic.recipe").
It is a pity that we cannot find more discussions about CBLFS system
packaging and experience. Is there so few people managing to get this to
a good result?
2nd question: is there a way to know if some binaries have to be
wrapped, other than *-config binaries? How to know if a header need to
be wrapped as well? CBLFS tells us how to do that for many packages, but
not how to figure it out. Any directions or a method?
Sorry for that long-tailed post - I was thinking that this kind of
questions should be stated, especially on this mailing-list. I may have
other questions but it is enough for now :)
Thanks again fot this great method, CBLFS needs more contributors (even
if I could myself contribute a bit more often, I admit it).
appzer0
More information about the Clfs-support
mailing list