# override variables from rules.mk
PACKAGE_DIR:=$(TOPDIR)/packages
OPKG:= \
+ IPKG_NO_SCRIPT=1 \
IPKG_TMP="$(TOPDIR)/tmp/ipkgtmp" \
IPKG_INSTROOT="$(TARGET_DIR)" \
IPKG_CONF_DIR="$(TOPDIR)/tmp" \
endif
$(1)_NAME:=$(NAME)
$(1)_PACKAGES:=$(PACKAGES)
+ PROFILE_NAMES += $(1)
PROFILE_LIST += \
echo '$(1):'; [ -z '$(NAME)' ] || echo ' $(NAME)'; echo ' Packages: $(PACKAGES)';
endef
$(MAKE) package_index; \
else \
mkdir -p $(TARGET_DIR)/tmp; \
- $(OPKG) update; \
+ $(OPKG) update || true; \
fi
$(MAKE) package_install
ifneq ($(USER_FILES),)
(cd $(PACKAGE_DIR); $(SCRIPT_DIR)/ipkg-make-index.sh . > Packages && \
gzip -9c Packages > Packages.gz \
) >/dev/null 2>/dev/null
- $(OPKG) update
+ $(OPKG) update || true
package_install: FORCE
@echo
@echo Installing packages...
- $(OPKG) install $(PACKAGE_DIR)/libc_*.ipk
- $(OPKG) install $(PACKAGE_DIR)/kernel_*.ipk
+ $(OPKG) install $(firstword $(wildcard $(PACKAGE_DIR)/libc_*.ipk $(PACKAGE_DIR)/base/libc_*.ipk))
+ $(OPKG) install $(firstword $(wildcard $(PACKAGE_DIR)/kernel_*.ipk $(PACKAGE_DIR)/base/kernel_*.ipk))
$(OPKG) install $(BUILD_PACKAGES)
rm -f $(TARGET_DIR)/usr/lib/opkg/lists/*
copy_files: FORCE
@echo
@echo Copying extra files
- $(CP) $(USER_FILES)/* $(TARGET_DIR)/
+ @$(call file_copy,$(USER_FILES)/*,$(TARGET_DIR)/)
package_postinst: FORCE
@echo
@rm -f $(TARGET_DIR)/tmp/opkg.lock
@echo
@echo Activating init scripts
+ @mkdir -p $(TARGET_DIR)/etc/rc.d
@( \
cd $(TARGET_DIR); \
- for script in ./etc/init.d/*; do \
- grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \
- IPKG_INSTROOT=$(TARGET_DIR) $(which bash) ./etc/rc.common $$script enable; \
- done || true; \
+ for script in ./usr/lib/opkg/info/*.postinst; do \
+ IPKG_INSTROOT=$(TARGET_DIR) $$(which bash) $$script; \
+ done || true \
)
+ rm -f $(TARGET_DIR)/usr/lib/opkg/info/*.postinst
$(if $(CONFIG_CLEAN_IPKG),rm -rf $(TARGET_DIR)/usr/lib/opkg)
build_image: FORCE
(unset PROFILE FILES PACKAGES MAKEFLAGS; $(MAKE) -s _call_info)
image:
+ifneq ($(PROFILE),)
+ ifeq ($(filter $(PROFILE),$(PROFILE_NAMES)),)
+ @echo 'Profile "$(PROFILE)" does not exist!'
+ @echo 'Use "make info" to get a list of available profile names.'
+ @exit 1
+ endif
+endif
(unset PROFILE FILES PACKAGES MAKEFLAGS; \
$(MAKE) _call_image \
$(if $(PROFILE),USER_PROFILE="$(PROFILE)") \