aboutsummaryrefslogtreecommitdiffstats
path: root/package/system/opkg/Makefile
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2017-02-16 17:36:47 +0100
committerJo-Philipp Wich <jo@mein.io>2017-02-19 19:08:46 +0100
commitb65dc04712dfb8cc7bb9036c7c73b0cead6dd7c9 (patch)
tree6ebef4cc7d786698b57488d1d3d929dd7c398560 /package/system/opkg/Makefile
parent84ceca514841dd6d4705dc27d2104ee0aa18b9e1 (diff)
downloadupstream-b65dc04712dfb8cc7bb9036c7c73b0cead6dd7c9.tar.gz
upstream-b65dc04712dfb8cc7bb9036c7c73b0cead6dd7c9.tar.bz2
upstream-b65dc04712dfb8cc7bb9036c7c73b0cead6dd7c9.zip
opkg: switch to own fork to improve memory usage
Switch to our own fork of opkg to significantly reduce the required amount of memory when updating lists or installing packages. Preliminary tests showed a usage drop of about 90% during these operations, from ~3.7MB with unmodified opkg to ~360KB with our custom fork. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'package/system/opkg/Makefile')
-rw-r--r--package/system/opkg/Makefile88
1 files changed, 24 insertions, 64 deletions
diff --git a/package/system/opkg/Makefile b/package/system/opkg/Makefile
index 39e6b4d058..5586eadcad 100644
--- a/package/system/opkg/Makefile
+++ b/package/system/opkg/Makefile
@@ -11,15 +11,13 @@ include $(INCLUDE_DIR)/version.mk
include $(INCLUDE_DIR)/feeds.mk
PKG_NAME:=opkg
-PKG_RELEASE:=17
+PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=http://git.yoctoproject.org/git/opkg
-PKG_SOURCE_DATE:=2011-04-08
-PKG_SOURCE_VERSION:=9c97d5ecd795709c8584e972bfdf3aee3a5b846d
-PKG_MIRROR_HASH:=55e05270f3eb2f3aff5d3791463ce3d13b8197ca7b301cd58e731a249552c48f
-PKG_FIXUP:=autoreconf
-PKG_REMOVE_FILES = autogen.sh aclocal.m4
+PKG_SOURCE_URL:=https://git.lede-project.org/project/opkg-lede.git
+PKG_SOURCE_DATE:=2017-02-18
+PKG_SOURCE_VERSION:=db3fc0ce879bfe784d32ffe5a70e057459039dd5
+PKG_MIRROR_HASH:=
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
@@ -33,15 +31,18 @@ PKG_BUILD_PARALLEL:=1
HOST_BUILD_PARALLEL:=1
PKG_INSTALL:=1
+HOST_BUILD_DEPENDS:=libubox/host
+
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/opkg
SECTION:=base
CATEGORY:=Base system
TITLE:=opkg package manager
- DEPENDS:=+uclient-fetch +libpthread
- URL:=http://wiki.openmoko.org/wiki/Opkg
+ DEPENDS:=+uclient-fetch +libpthread +libubox
+ URL:=https://git.lede-project.org/?p=project/opkg-lede.git
MENU:=1
endef
@@ -55,16 +56,6 @@ define Package/opkg/description
opkg knows how to install both .ipk and .deb packages.
endef
-define Package/opkg/config
-config OPKG_SUPPORT_MD5
- bool
- default n
- depends on PACKAGE_opkg
- prompt "Support reading old md5 hashes."
- help
- Old opkg used md5s, new uses sha. This options enables understanding both while prefering sha.
-endef
-
define Package/opkg/conffiles
/etc/opkg.conf
/etc/opkg/keys/
@@ -74,29 +65,19 @@ endef
TARGET_CFLAGS += -ffunction-sections -fdata-sections
EXTRA_CFLAGS += $(TARGET_CPPFLAGS)
-CONFIGURE_ARGS += \
- --disable-curl \
- --disable-gpg \
- --enable-sha256 \
- --with-opkgetcdir=/etc \
- --with-opkglockfile=/var/lock/opkg.lock
-
-ifndef CONFIG_SIGNED_PACKAGES
- CONFIGURE_ARGS += --disable-usign
-endif
-ifeq ($(CONFIG_OPKG_SUPPORT_MD5),y)
- CONFIGURE_ARGS += --enable-md5
-else
- CONFIGURE_ARGS += --disable-md5
-endif
-
-MAKE_FLAGS = \
- CC="$(TARGET_CC)" \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- HOST_CPU="$(PKGARCH)" \
- LDFLAGS="-Wl,--gc-sections" \
-
-define Package/opkg/Default/install
+CMAKE_OPTIONS += \
+ -DBUILD_TESTS=OFF \
+ -DHOST_CPU=$(PKGARCH) \
+ -DVERSION="$(PKG_SOURCE_VERSION) ($(PKG_SOURCE_DATE))"
+
+CMAKE_HOST_OPTIONS += \
+ -DSTATIC_UBOX=ON \
+ -DBUILD_TESTS=OFF \
+ -DHOST_CPU=$(PKGARCH) \
+ -DLOCK_FILE=/tmp/opkg.lock \
+ -DVERSION="$(PKG_SOURCE_VERSION) ($(PKG_SOURCE_DATE))"
+
+define Package/opkg/install
$(INSTALL_DIR) $(1)/usr/lib/opkg
$(INSTALL_DIR) $(1)/bin
$(INSTALL_DIR) $(1)/etc/opkg
@@ -107,34 +88,13 @@ define Package/opkg/Default/install
$(VERSION_SED) $(1)/etc/opkg/distfeeds.conf
$(INSTALL_BIN) ./files/20_migrate-feeds $(1)/etc/uci-defaults/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/opkg-cl $(1)/bin/opkg
-endef
-
-define Package/opkg/install
- $(call Package/opkg/Default/install,$(1),)
ifneq ($(CONFIG_SIGNED_PACKAGES),)
echo "option check_signature 1" >> $(1)/etc/opkg.conf
endif
- mkdir $(1)/usr/sbin
+ $(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) ./files/opkg-key $(1)/usr/sbin/
endef
-define Build/InstallDev
- mkdir -p $(1)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/include/libopkg $(1)/usr/include/
-endef
-
-
-HOST_CONFIGURE_ARGS+= \
- --disable-curl \
- --disable-gpg \
- --enable-sha256 \
- --with-opkgetcdir=/etc \
- --with-opkglockfile=/tmp/opkg.lock
-
-define Host/Compile
- +$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) CC="$(HOSTCC)" all
-endef
-
define Host/Install
$(INSTALL_BIN) $(HOST_BUILD_DIR)/src/opkg-cl $(STAGING_DIR_HOST)/bin/opkg
endef