[Buildroot] Bizarre things on the allyespackageconfig build
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Fri May 10 15:51:33 UTC 2013
Hello,
Following the allyespackageconfig, I did explore the generated
output/target filesystem, and noticed a number of bizarre things that
probably should be fixed:
* There is a usr/argus directory, which contains just an empty
'archive' directory. Doesn't seem to make much sense. Probably
something to fix in the argus package.
* There is a usr/arm-buildroot-linux-gnueabi directory, which contains
just a 'bin' subdirectory, which contains ar, as, ld, nm, etc.
$ ls usr/arm-buildroot-linux-gnueabi/bin/
ar as ld ld.bfd nm objcopy objdump ranlib strip
That's a strange installation location for binutils.
* There a usr/IDcheck.sh script. It comes from the LTP testsuite.
* There a bunch of libraries that don't have the executable bit set in
usr/lib. I don't think it's a big problem, but it makes them
different from the others. libacl.so.1.1.0, libnettle.so.4.6,
libhogweed.so.2.4, libattr.so.1.1.0, libesg.so,
libicudata.so.48.1.1, libbind9.so.50.0.9, libisccc.so.50.0.3,
libisccfg.so.50.0.6, libisc.so.57.1.0, liblwres.so.50.0.6,
libmatroska.so.5, libucsi.so.libdns.so.110.1.2,
lib_mp3_parser_arm11_elinux.so.3.1, lib_mp3_parser_arm9_elinux.so.1,
libdvbapi.so, libdvbcfg.so, libdvben50221.so, libdvbsec.so,
libproxychains4.so, nm-n.libdirect-1.6.so.0,
nm-n.libdirectfb-1.6.so.0, nm-n.libfusion-1.6.so.0.
* The gpsd-3.9 installs a libQgpsmm.prl file that isn't needed at
execution time. It should be removed from the target.
* The samba package installs a bunch of *.msg files (de.msg en.msg
fi.msg fr.msg it.msg ja.msg nl.msg pl.msg ru.msg tr.msg).
Note sure why those are in usr/lib directly.
* There a bunch of *.sh scripts that look suspicious (tclConfig.sh
xml2Conf.sh xsltConf.sh).
* The erlang installation in usr/lib/erlang/ looks strange. It has
bin/, lib/, usr/ directories and a few others,
usr/lib/erlang/usr/include contains some header files. Looks strange.
* The usr/lib/valgrind contains some huge binaries (2.5 MB) that are
statically linked. Does it make sense?
* There is a usr/lib64 directory, which contains the libiscsi library.
Seems like there's something wrong in the build procedure of this
library, it should get installed in usr/lib.
* For some reason, the "feh" package installs its stuff in usr/local
rather than usr/. So, its documentation gets kept, its manpage gets
kept, etc. The package should be fixed to install its stuff in usr/.
* ltp-testsuite installs runalltests.sh, runltp and runltplite.sh
directly in usr/. Not nice. And also a usr/runtest/ directory with a
bunch of files in there.
* Seems like the 'quota' package has some issues. It installs edquota,
quotacheck and rpc.quotad in usr/sbin, but without execution
permissions. It also installs a quotaoff -> quotaon symlink, but
there's no quotaon file.
* ltp-testsuite installs a usr/scenario_groups directory. And also
usr/testcases and usr/testscripts.
* The rt-tests package installs some source code in usr/src/backfire.
* Some packages seem to confuse /var with /usr/var: cups, netatalk,
squid, polkit-1, vtund, stunnel. Here's what I have in usr/var/ :
$ find usr/var/
usr/var/
usr/var/cache
usr/var/cache/squid
usr/var/cache/cups
usr/var/cache/cups/rss
usr/var/netatalk
usr/var/netatalk/CNID
usr/var/netatalk/CNID/README
usr/var/netatalk/README
usr/var/run
usr/var/run/squid
usr/var/run/cups
usr/var/run/cups/certs
usr/var/racoon
usr/var/logs
usr/var/log
usr/var/log/cups
usr/var/log/vtund
usr/var/lock
usr/var/lock/vtund
usr/var/lib
usr/var/lib/polkit-1
usr/var/lib/polkit-1/localauthority
usr/var/lib/polkit-1/localauthority/10-vendor.d
usr/var/lib/polkit-1/localauthority/30-site.d
usr/var/lib/polkit-1/localauthority/90-mandatory.d
usr/var/lib/polkit-1/localauthority/20-org.d
usr/var/lib/polkit-1/localauthority/50-local.d
usr/var/lib/stunnel
usr/var/spool
usr/var/spool/cups
usr/var/spool/cups/tmp
* Again ltp-testsuite installs a file named usr/Version, and a binary
called usr/ver_linux.
* usr/share represents 428 MB, which includes 121 MB of locales (I
didn't select the removal of locales in my configuration)
* qt installs its demos and examples in usr/share/qt/{demos,examples},
but it installs both the source code and binaries. It would probably
make sense to get rid of the source code of the examples.
* libatomic_ops installs some documentation in usr/share/libatomic_ops.
* There is a usr/share/imx-mm/ directory, with a lot of example code,
including the source code. Maybe not necessary.
* Squid installs the translation of its error messages directly in
usr/share/errors/<language>/, so it doesn't get purged as per the
locale settings. And also usr/share/errors/ is very generic...
* Sylpheed installs its manual and faq in usr/share/sylpheed.
* gutenprint installs its documentation in usr/share/gutenprint/doc/
* edje installs some examples with the source code in
usr/share/edje/examples.
* metacity installs a 'metacity.schemas' file at the root of the
filesystem.
If people are interested in fixing some of those issues, reply to this
e-mail saying which issue you're going to have a look at.
Thanks!
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the buildroot
mailing list