IB: use online repositories
Change the IB packaging to only embed libc, kernel and kmod packages by default and generate repositories.conf to refer to the remote package repositories. Introduce a new config option CONFIG_IB_STANDALONE which restores the old behaviour of building self contained IB archives. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 45772
This commit is contained in:
parent
4d96170c32
commit
6c21bcaa65
4 changed files with 40 additions and 5 deletions
|
@ -7,4 +7,10 @@ config IB
|
|||
with precompiled packages, kernel image and image building tools.
|
||||
You can use it to generate custom images without compiling anything
|
||||
|
||||
|
||||
config IB_STANDALONE
|
||||
bool "Include package repositories"
|
||||
depends on IB
|
||||
help
|
||||
By default, the ImageBuilder will use the online package repositories
|
||||
to fetch additional .ipk archives. Enabling this option will cause
|
||||
the ImageBuilder to embed all built packages locally instead.
|
||||
|
|
|
@ -9,6 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/host.mk
|
||||
include $(INCLUDE_DIR)/version.mk
|
||||
include $(INCLUDE_DIR)/feeds.mk
|
||||
|
||||
override MAKEFLAGS=
|
||||
|
||||
|
@ -33,8 +34,38 @@ $(BIN_DIR)/$(IB_NAME).tar.bz2: clean
|
|||
$(TMP_DIR)/.targetinfo \
|
||||
$(TMP_DIR)/.packageinfo \
|
||||
$(PKG_BUILD_DIR)/
|
||||
|
||||
ifeq ($(CONFIG_IB_STANDALONE),)
|
||||
echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf
|
||||
ifeq ($(CONFIG_PER_FEED_REPO),)
|
||||
echo "src/gz %n %U" >> $(PKG_BUILD_DIR)/repositories.conf
|
||||
else
|
||||
for d in base $(FEEDS_ENABLED); do \
|
||||
echo "src/gz %n_$$d %U/$$d" >> $(PKG_BUILD_DIR)/repositories.conf; \
|
||||
done
|
||||
ifneq ($(CONFIG_PER_FEED_REPO_ADD_DISABLED),)
|
||||
for d in $(FEEDS_DISABLED); do \
|
||||
echo "$(if $(CONFIG_PER_FEED_REPO_ADD_COMMENTED),# )src/gz %n_$$d %U/$$d" >> $(PKG_BUILD_DIR)/repositories.conf; \
|
||||
done
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
echo '## This is the local package repository, do not remove!' >> $(PKG_BUILD_DIR)/repositories.conf
|
||||
echo 'src imagebuilder file:packages' >> $(PKG_BUILD_DIR)/repositories.conf
|
||||
|
||||
$(VERSION_SED) $(PKG_BUILD_DIR)/repositories.conf
|
||||
|
||||
ifeq ($(CONFIG_IB_STANDALONE),)
|
||||
(cd $(PACKAGE_DIR); $(FIND) -type f -name 'libc_*.ipk' -or -name 'kernel_*.ipk' -or -name 'kmod-*.ipk') | \
|
||||
while read path; do \
|
||||
mkdir -p "$(PKG_BUILD_DIR)/packages/$${path%/*}"; \
|
||||
cp "$(PACKAGE_DIR)/$$path" "$(PKG_BUILD_DIR)/packages/$$path"; \
|
||||
done
|
||||
else
|
||||
$(CP) $(PACKAGE_DIR) $(PKG_BUILD_DIR)/packages
|
||||
endif
|
||||
|
||||
$(CP) $(TOPDIR)/target/linux $(PKG_BUILD_DIR)/target/
|
||||
if [ -d $(TOPDIR)/staging_dir/host/lib/grub ]; then \
|
||||
$(CP) $(TOPDIR)/staging_dir/host/lib/grub/ $(PKG_BUILD_DIR)/staging_dir/host/lib; \
|
||||
|
|
|
@ -107,7 +107,7 @@ _call_image:
|
|||
$(MAKE) package_index; \
|
||||
else \
|
||||
mkdir -p $(TARGET_DIR)/tmp; \
|
||||
$(OPKG) update; \
|
||||
$(OPKG) update || true; \
|
||||
fi
|
||||
$(MAKE) package_install
|
||||
ifneq ($(USER_FILES),)
|
||||
|
@ -123,7 +123,7 @@ package_index: FORCE
|
|||
(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
|
||||
|
|
|
@ -2,5 +2,3 @@
|
|||
# src/gz %n %U
|
||||
# src custom file:///usr/src/openwrt/bin/%T/packages
|
||||
|
||||
## This is the local package repository, do not remove!
|
||||
src imagebuilder file:packages
|
||||
|
|
Loading…
Reference in a new issue