Emdebian needs to use busybox in place of quite a few packages (Emdebian is ditching "Essential:" along the way) and this bug caused quite a few problems. I've attached the interdiff that shows how to avoid this problem by using the existing busybox install script. applets/install.sh needs one tweak (commenting out three lines) so I've copied it to debian/ and made the changes there. busybox.links is a generated file that needs to be packaged for install.sh to operate. e.g. in Emdebian, I'm working with running: cp ./usr/share/busybox/busybox.links . cp ./usr/share/busybox/install.sh . ./install.sh . --symlinks rm busybox.links rm install.sh (run in the top level directory of what will become the chroot) There are other changes necessary to allow the Debian busybox package to cross-compile. The full patches are in Emdebian SVN: http://buildd.emdebian.org/svn/browser/current/target/trunk/b/busybox/trunk In particular: http://buildd.emdebian.org/svn/browser/current/target/trunk/b/busybox/trunk/emdebian-rules.patch +DEB_HOST_GNU_TYPE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) +CC=$(DEB_HOST_GNU_TYPE)-gcc +MAKE += -e +else +CC=gcc +endif + @rm -rf $(DIR) mkdir $(DIR) cp '$(CONFIG)' $(DIR)/.config - $(MAKE) O=$(CURDIR)/$(DIR) oldconfig - $(MAKE) -C $(CURDIR)/$(DIR) + CC=$(CC) $(MAKE) O=$(CURDIR)/$(DIR) oldconfig + CC=$(CC) $(MAKE) -C $(CURDIR)/$(DIR) cp $(DIR)/docs/BusyBox.1 $(DIR)/docs/busybox.1 touch $@ More testing needed but these changes are likely to be filed as a separate cross-build bug in due course. -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
pgp3AY7yGtxAj.pgp
Description: PGP signature