Browse Source

add basic support for opkg, update to latest stable

Waldemar Brodkorb 10 years ago
parent
commit
058eb9f410

+ 4 - 2
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/%,%,$@)

+ 17 - 1
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

+ 9 - 0
package/base-files/Makefile

@@ -34,6 +34,15 @@ ifeq (${ADK_TARGET_PACKAGE_IPKG},y)
 	$(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/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

+ 0 - 1
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

+ 2 - 2
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

+ 8 - 0
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