3510e7435d146006ebc5f9365b96b2fbe2227e7b
[openwrt/staging/stintel.git] / package / system / opkg / Makefile
1 # SPDX-License-Identifier: GPL-2.0-or-later
2 #
3 # Copyright (C) 2006-2021 OpenWrt.org
4 #
5
6 include $(TOPDIR)/rules.mk
7 include $(INCLUDE_DIR)/kernel.mk
8
9 PKG_NAME:=opkg
10 PKG_RELEASE:=2
11 PKG_FLAGS:=essential
12
13 PKG_SOURCE_PROTO:=git
14 PKG_SOURCE_URL=$(PROJECT_GIT)/project/opkg-lede.git
15 PKG_SOURCE_DATE:=2022-02-24
16 PKG_SOURCE_VERSION:=d038e5b6d155784575f62a66a8bb7e874173e92e
17 PKG_MIRROR_HASH:=e5ec4ae93f6529f7f0b9acc22a9a63c1b2f27d3b30b4a82041fcd58b9bc7cdf3
18
19 PKG_LICENSE:=GPL-2.0
20 PKG_LICENSE_FILES:=COPYING
21
22 PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
23
24 # Extend depends from version.mk
25 PKG_CONFIG_DEPENDS += \
26 CONFIG_SIGNATURE_CHECK \
27 CONFIG_TARGET_INIT_PATH
28
29 HOST_BUILD_DEPENDS:=libubox/host
30
31 PKG_BUILD_FLAGS:=gc-sections
32
33 include $(INCLUDE_DIR)/package.mk
34 include $(INCLUDE_DIR)/host-build.mk
35 include $(INCLUDE_DIR)/cmake.mk
36
37 define Package/opkg
38 SECTION:=base
39 CATEGORY:=Base system
40 TITLE:=opkg package manager
41 DEPENDS:=+uclient-fetch +libpthread +libubox
42 URL:=$(PKG_SOURCE_URL)
43 MENU:=1
44 endef
45
46 define Package/opkg/description
47 Lightweight package management system
48 opkg is the opkg Package Management System, for handling
49 installation and removal of packages on a system. It can
50 recursively follow dependencies and download all packages
51 necessary to install a particular package.
52
53 opkg knows how to install both .ipk and .deb packages.
54 endef
55
56 define Package/opkg/conffiles
57 /etc/opkg.conf
58 /etc/opkg/keys/
59 /etc/opkg/customfeeds.conf
60 endef
61
62 EXTRA_CFLAGS += $(TARGET_CPPFLAGS)
63
64 CMAKE_OPTIONS += \
65 -DBUILD_TESTS=OFF \
66 -DHOST_CPU=$(PKGARCH) \
67 -DPATH_SPEC="$(TARGET_INIT_PATH)" \
68 -DVERSION="$(PKG_SOURCE_VERSION) ($(PKG_SOURCE_DATE))"
69
70 CMAKE_HOST_OPTIONS += \
71 -DSTATIC_UBOX=ON \
72 -DBUILD_TESTS=OFF \
73 -DHOST_CPU=$(PKGARCH) \
74 -DLOCK_FILE=/tmp/opkg.lock \
75 -DVERSION="$(PKG_SOURCE_VERSION) ($(PKG_SOURCE_DATE))"
76
77 define Package/opkg/install
78 $(INSTALL_DIR) $(1)/usr/lib/opkg
79 $(INSTALL_DIR) $(1)/bin
80 $(INSTALL_DIR) $(1)/etc/opkg
81 $(INSTALL_DIR) $(1)/etc/uci-defaults
82 $(INSTALL_DATA) ./files/customfeeds.conf $(1)/etc/opkg/customfeeds.conf
83 $(INSTALL_DATA) ./files/opkg$(2).conf $(1)/etc/opkg.conf
84 $(INSTALL_BIN) ./files/20_migrate-feeds $(1)/etc/uci-defaults/
85 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/opkg-cl $(1)/bin/opkg
86 ifneq ($(CONFIG_SIGNATURE_CHECK),)
87 echo "option check_signature" >> $(1)/etc/opkg.conf
88 endif
89 $(INSTALL_DIR) $(1)/usr/sbin
90 $(INSTALL_BIN) ./files/opkg-key $(1)/usr/sbin/
91 endef
92
93 define Host/Install
94 $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/opkg-cl $(STAGING_DIR_HOST)/bin/opkg
95 endef
96
97 $(eval $(call BuildPackage,opkg))
98 $(eval $(call HostBuild))