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.
|
with precompiled packages, kernel image and image building tools.
|
||||||
You can use it to generate custom images without compiling anything
|
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)/kernel.mk
|
||||||
include $(INCLUDE_DIR)/host.mk
|
include $(INCLUDE_DIR)/host.mk
|
||||||
include $(INCLUDE_DIR)/version.mk
|
include $(INCLUDE_DIR)/version.mk
|
||||||
|
include $(INCLUDE_DIR)/feeds.mk
|
||||||
|
|
||||||
override MAKEFLAGS=
|
override MAKEFLAGS=
|
||||||
|
|
||||||
|
@ -33,8 +34,38 @@ $(BIN_DIR)/$(IB_NAME).tar.bz2: clean
|
||||||
$(TMP_DIR)/.targetinfo \
|
$(TMP_DIR)/.targetinfo \
|
||||||
$(TMP_DIR)/.packageinfo \
|
$(TMP_DIR)/.packageinfo \
|
||||||
$(PKG_BUILD_DIR)/
|
$(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
|
$(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
|
$(CP) $(PACKAGE_DIR) $(PKG_BUILD_DIR)/packages
|
||||||
|
endif
|
||||||
|
|
||||||
$(CP) $(TOPDIR)/target/linux $(PKG_BUILD_DIR)/target/
|
$(CP) $(TOPDIR)/target/linux $(PKG_BUILD_DIR)/target/
|
||||||
if [ -d $(TOPDIR)/staging_dir/host/lib/grub ]; then \
|
if [ -d $(TOPDIR)/staging_dir/host/lib/grub ]; then \
|
||||||
$(CP) $(TOPDIR)/staging_dir/host/lib/grub/ $(PKG_BUILD_DIR)/staging_dir/host/lib; \
|
$(CP) $(TOPDIR)/staging_dir/host/lib/grub/ $(PKG_BUILD_DIR)/staging_dir/host/lib; \
|
||||||
|
|
|
@ -107,7 +107,7 @@ _call_image:
|
||||||
$(MAKE) package_index; \
|
$(MAKE) package_index; \
|
||||||
else \
|
else \
|
||||||
mkdir -p $(TARGET_DIR)/tmp; \
|
mkdir -p $(TARGET_DIR)/tmp; \
|
||||||
$(OPKG) update; \
|
$(OPKG) update || true; \
|
||||||
fi
|
fi
|
||||||
$(MAKE) package_install
|
$(MAKE) package_install
|
||||||
ifneq ($(USER_FILES),)
|
ifneq ($(USER_FILES),)
|
||||||
|
@ -123,7 +123,7 @@ package_index: FORCE
|
||||||
(cd $(PACKAGE_DIR); $(SCRIPT_DIR)/ipkg-make-index.sh . > Packages && \
|
(cd $(PACKAGE_DIR); $(SCRIPT_DIR)/ipkg-make-index.sh . > Packages && \
|
||||||
gzip -9c Packages > Packages.gz \
|
gzip -9c Packages > Packages.gz \
|
||||||
) >/dev/null 2>/dev/null
|
) >/dev/null 2>/dev/null
|
||||||
$(OPKG) update
|
$(OPKG) update || true
|
||||||
|
|
||||||
package_install: FORCE
|
package_install: FORCE
|
||||||
@echo
|
@echo
|
||||||
|
|
|
@ -2,5 +2,3 @@
|
||||||
# src/gz %n %U
|
# src/gz %n %U
|
||||||
# src custom file:///usr/src/openwrt/bin/%T/packages
|
# 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