On 5/19/13 7:00 AM, Paul Barker wrote:
I'm generating a rootfs image which I intend to be usable
interactively so I've added IMAGE_FEATURES += "doc-pkgs" to my image
recipe. do_rootfs fails with the following clashes:
| * check_data_file_clashes: Package ncurses-doc wants to install
file
/home/pbarker/build/20130518_wych/build/tmp/work/qemuarm-wych-linux-gnueabi/wych-image-full/1.0-r0/rootfs/usr/share/man/man1/reset.1
| But that file is already provided by package * util-linux-doc
| * opkg_install_cmd: Cannot install package ncurses-doc.
| * check_data_file_clashes: Package coreutils-doc wants to install
file
/home/pbarker/build/20130518_wych/build/tmp/work/qemuarm-wych-linux-gnueabi/wych-image-full/1.0-r0/rootfs/usr/share/man/man1/kill.1
| But that file is already provided by package * util-linux-doc
| * opkg_install_cmd: Cannot install package coreutils-doc.
| * check_data_file_clashes: Package shadow-doc wants to install file
/home/pbarker/build/20130518_wych/build/tmp/work/qemuarm-wych-linux-gnueabi/wych-image-full/1.0-r0/rootfs/usr/share/man/man5/passwd.5
| But that file is already provided by package * man-pages
| * check_data_file_clashes: Package shadow-doc wants to install file
/home/pbarker/build/20130518_wych/build/tmp/work/qemuarm-wych-linux-gnueabi/wych-image-full/1.0-r0/rootfs/usr/share/man/man3/getspnam.3
| But that file is already provided by package * man-pages
| * opkg_install_cmd: Cannot install package shadow-doc.
I've explicitly said I want coreutils and man-pages, the rest is being
pulled in implicitly as dependencies of something. There's nothing in
qa.log or the bitbake output to suggest that installed files are
clashing so I'm not sure if this could have been reported earlier.
The best fix I can think of at the minute is to add a bbappend to my
layer which removes the clashing man pages from one of the packages in
each case, leaving the files just in the package I do want to take
precedence. If anyone has any better ideas let me know.
I know we have update-alternatives for executables but is there a way
to link this with the relevant man page? So for example when I select
kill from coreutils, kill.1 is provided by coreutils as well, when I
select kill from util-linux, kill.1 is provided by util-linux as well.
What we have advocated is the update-alternatives approach. When the levels are
set the same for the docs as the primary components (and renaming as well) then
it makes the system much easier to deal with.
I.e. if you have:
kill.busybox
kill.coreutils
kill.util-linux
I want to be able to try man on each of those names, as well as 'kill' and get
the right man page.
Also, with the RPM package manager, if the contents of the two files are the
same no conflict is generated. I don't know in this case if that is true or
not. But that could be an alternative approach for some of these packages --
ensure the files are the same and use RPM (or adapt ipk to compare file contents
before reporting a conflict.)
--Mark
--
Paul Barker
Email: [email protected]
http://www.paulbarker.me.uk
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core