summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/build.mk6
-rw-r--r--mk/vars.mk18
-rw-r--r--package/base-files/Makefile9
-rw-r--r--package/base-files/files/base-files.conffiles1
-rw-r--r--package/opkg/Makefile4
-rw-r--r--target/config/Config.in.target8
6 files changed, 40 insertions, 6 deletions
diff --git a/mk/build.mk b/mk/build.mk
index 1cbc4df3d..18d347d01 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -191,6 +191,10 @@ ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
-cd ${PACKAGE_DIR} && \
${BASH} ${ADK_TOPDIR}/scripts/ipkg-make-index.sh . >Packages
endif
+ifeq ($(ADK_TARGET_PACKAGE_OPKG),y)
+ -cd ${PACKAGE_DIR} && \
+ ${BASH} ${ADK_TOPDIR}/scripts/ipkg-make-index.sh . >Packages
+endif
${STAGING_TARGET_DIR} ${STAGING_TARGET_DIR}/etc ${STAGING_HOST_DIR}:
@mkdir -p ${STAGING_TARGET_DIR}/{bin,etc,lib,usr/bin,usr/include,usr/lib/pkgconfig} \
@@ -201,10 +205,8 @@ ${STAGING_TARGET_DIR} ${STAGING_TARGET_DIR}/etc ${STAGING_HOST_DIR}:
done
${STAGING_TARGET_DIR}/etc/ipkg.conf: ${STAGING_TARGET_DIR}/etc
-ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
echo "dest root /" >${STAGING_TARGET_DIR}/etc/ipkg.conf
echo "option offline_root ${TARGET_DIR}" >>$(STAGING_TARGET_DIR)/etc/ipkg.conf
-endif
package/%: ${STAGING_TARGET_DIR}/etc/ipkg.conf ${ADK_TOPDIR}/package/Depends.mk
$(MAKE) -C package $(patsubst package/%,%,$@)
diff --git a/mk/vars.mk b/mk/vars.mk
index 1e69425ec..7fe962d94 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -279,7 +279,23 @@ PKG_INSTALL:= PATH='${HOST_PATH}' \
${BASH} ${SCRIPT_DIR}/ipkg \
-force-defaults -force-depends install
PKG_STATE_DIR:= $(TARGET_DIR)/usr/lib/ipkg
-else
+endif
+
+ifeq ($(ADK_TARGET_PACKAGE_OPKG),y)
+PKG_BUILD:= PATH='${HOST_PATH}' \
+ ${BASH} ${SCRIPT_DIR}/ipkg-build
+PKG_INSTALL:= PATH='${HOST_PATH}' \
+ IPKG_TMP=$(BUILD_DIR)/tmp \
+ IPKG_INSTROOT=$(TARGET_DIR) \
+ IPKG_CONF_DIR=$(STAGING_TARGET_DIR)/etc \
+ IPKG_OFFLINE_ROOT=$(TARGET_DIR) \
+ BIN_DIR=$(STAGING_HOST_DIR)/usr/bin \
+ ${BASH} ${SCRIPT_DIR}/ipkg \
+ -force-defaults -force-depends install
+PKG_STATE_DIR:= $(TARGET_DIR)/usr/lib/opkg
+endif
+
+ifeq ($(ADK_TARGET_PACKAGE_TXZ),y)
PKG_BUILD:= PATH='${HOST_PATH}' ${BASH} ${SCRIPT_DIR}/tarpkg build
PKG_INSTALL:= PKG_INSTROOT='$(TARGET_DIR)' \
PATH='${HOST_PATH}' ${BASH} ${SCRIPT_DIR}/tarpkg install
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index b447b643b..0e3c27b3e 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -35,6 +35,15 @@ ifeq (${ADK_TARGET_PACKAGE_IPKG},y)
$(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
mkdir -p $(IDIR_BASE_FILES)/usr/lib/ipkg/lists
endif
+ifeq (${ADK_TARGET_PACKAGE_OPKG},y)
+ $(CP) ./files/ipkg.conf $(IDIR_BASE_FILES)/etc/
+ $(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ mkdir -p $(IDIR_BASE_FILES)/usr/lib/opkg/lists
+endif
echo /bin/sh >${IDIR_BASE_FILES}/etc/shells
echo /bin/mksh >>${IDIR_BASE_FILES}/etc/shells
ifneq (${ADK_PACKAGE_ASH},)
diff --git a/package/base-files/files/base-files.conffiles b/package/base-files/files/base-files.conffiles
index 59ed2f02b..2ee449379 100644
--- a/package/base-files/files/base-files.conffiles
+++ b/package/base-files/files/base-files.conffiles
@@ -4,7 +4,6 @@
/etc/group
/etc/hosts
/etc/hostname
-/etc/ipkg.conf
/etc/modules
/etc/passwd
/etc/profile
diff --git a/package/opkg/Makefile b/package/opkg/Makefile
index c2d4ad0d2..6aea87f9d 100644
--- a/package/opkg/Makefile
+++ b/package/opkg/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= opkg
-PKG_VERSION:= 0.2.2
+PKG_VERSION:= 0.2.4
PKG_RELEASE:= 1
-PKG_HASH:= aa554ce7538544aac4f69e8274a0f9b8b433b8c3b1d00704bd393f713303a12b
+PKG_HASH:= 0f40c7e457d81edf9aedc07c778f4697111ab163a38ef95999faece015453086
PKG_DESCR:= embedded package manager
PKG_DEPENDS:= libcurl libpthread
PKG_BUILDDEP:= curl
diff --git a/target/config/Config.in.target b/target/config/Config.in.target
index 9cc227d9b..5d82bb6c0 100644
--- a/target/config/Config.in.target
+++ b/target/config/Config.in.target
@@ -264,6 +264,7 @@ config ADK_TARGET_ROOTFS
config ADK_PACKAGE_SUFFIX
string
default "ipk" if ADK_TARGET_PACKAGE_IPKG
+ default "ipk" if ADK_TARGET_PACKAGE_OPKG
default "tar.xz" if ADK_TARGET_PACKAGE_TXZ
help
@@ -285,6 +286,13 @@ config ADK_TARGET_PACKAGE_IPKG
select BUSYBOX_IPKG
help
Create ipkg packages and use ipkg package management on the target.
+
+config ADK_TARGET_PACKAGE_OPKG
+ boolean
+ prompt "opkg"
+ select ADK_PACKAGE_OPKG
+ help
+ Create opkg packages and use opkg package management on the target.
endchoice