Le 03/06/2012 00:12, Bruce Dubbs a écrit : > Bruce Dubbs wrote: >> Pierre, >> >> I'm having a problem with alfs generating the LFS Makefile. I added two >> new pages to my local book, popt and pkg-config, right after perl in >> Chapter 6. When I run jhalfs, the Makefile that is generated looks like: >> >> 098-popt: 097-perl >> @$(call echo_message, Building) >> # @export BASHBIN=$(SHELL)&& $(SHELL) progress_bar.sh $@ $$PPID& >> @echo "$(nl_)`date`$(nl_)">logs/$@ >> @$(PRT_DU_CR)>>logs/$@ >> @$(call touch_timestamp) >> @$(call remove_existing_dirs2,popt-1.16.tar.gz) >> @$(call unpack2,popt-1.16.tar.gz) >> @$(call get_pkg_root2) >> @source envars&& \ >> $(crCMDSDIR)/chapter06/$@>>logs/$@ 2>&1&& \ >> $(PRT_DU_CR)>>logs/$@ >> @$(call remove_build_dirs2,popt) >> @$(call log_new_files,popt) >> @$(call housekeeping) >> >> 099-pkgconfig: 098-popt >> @$(call echo_message, Building) >> # @export BASHBIN=$(SHELL)&& $(SHELL) progress_bar.sh $@ $$PPID& >> @echo "$(nl_)`date`$(nl_)">logs/$@ >> @$(PRT_DU_CR)>>logs/$@ >> @source envars&& \ >> $(crCMDSDIR)/chapter06/$@>>logs/$@ 2>&1&& \ >> $(PRT_DU_CR)>>logs/$@ >> @$(call housekeeping) >> >> >> popt builds fine, but there are missing commands for pkgconfig. I >> suspect something wrong with the LFS xml that jhalfs doesn't like. Can >> you give me a clue about what it might be looking for? >> >> I note that there lfs-commands/chapter06/099-pkgconfig exists and that >> seems OK. > I think I found my problem. The file name in /mnt/lfs/sources and in > packages.ent did not match. They differed by a hyphen. The Makefile > seems OK and I'm running a test now. > -- Bruce > Hi,
You have found the solution. There is not much that can be done to ease that: obviously, jhalfs needs the name of the tarball to unpack it. But that name is on the "All package" page, not on the page dedicated to the package building, and there is no direct way to relate the package being built to its tarball in the current book layout (this is a case where BLFS is easier to deal with, since the tarball name is on the package page). Jhalfs devs chose to use the dbhtml entry for this purpose. Actually that was not always possible: think of the linux tarball, which is used for the linux-headers page and for the kernel. So there is also a bash function in common/libs/func_wrt_Makefile, 'get_package_tarball_name', which accounts for the various cases (for example tcl, which has no dash before the version, linux-headers, and a few others). So when adding an entry, the easiest is to have the dbhtml entry match the tarball name, but you could also add a line in the case statement of the get_package_tarball_name function. Maybe it could be a good idea to warn about that in the editor guide... Regards, Pierre -- http://linuxfromscratch.org/mailman/listinfo/alfs-discuss FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page