opkg: use $(PROJECT_GIT), $(AUTORELEASE) and SPDX
[openwrt/staging/jow.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:=$(AUTORELEASE)
11 PKG_FLAGS:=essential
12
13 PKG_SOURCE_PROTO:=git
14 PKG_SOURCE_URL:=$(PROJECT_GIT)/project/opkg-lede.git
15 PKG_SOURCE_DATE:=2021-03-15
16 PKG_SOURCE_VERSION:=5936c4f9660248284e8a9b040ea3153d3ea888de
17 PKG_MIRROR_HASH:=b873c209baaf4f150c89646d58e4a0072f807d24b02c320ab8c7ae9180c13240
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 PKG_BUILD_PARALLEL:=1
30 HOST_BUILD_PARALLEL:=1
31 PKG_INSTALL:=1
32
33 HOST_BUILD_DEPENDS:=libubox/host
34
35 include $(INCLUDE_DIR)/package.mk
36 include $(INCLUDE_DIR)/host-build.mk
37 include $(INCLUDE_DIR)/cmake.mk
38
39 define Package/opkg
40 SECTION:=base
41 CATEGORY:=Base system
42 TITLE:=opkg package manager
43 DEPENDS:=+uclient-fetch +libpthread +libubox
44 URL:=$(PKG_SOURCE_URL)
45 MENU:=1
46 endef
47
48 define Package/opkg/description
49 Lightweight package management system
50 opkg is the opkg Package Management System, for handling
51 installation and removal of packages on a system. It can
52 recursively follow dependencies and download all packages
53 necessary to install a particular package.
54
55 opkg knows how to install both .ipk and .deb packages.
56 endef
57
58 define Package/opkg/conffiles
59 /etc/opkg.conf
60 /etc/opkg/keys/
61 /etc/opkg/customfeeds.conf
62 endef
63
64 TARGET_CFLAGS += -ffunction-sections -fdata-sections
65 EXTRA_CFLAGS += $(TARGET_CPPFLAGS)
66
67 CMAKE_OPTIONS += \
68 -DBUILD_TESTS=OFF \
69 -DHOST_CPU=$(PKGARCH) \
70 -DPATH_SPEC="$(TARGET_INIT_PATH)" \
71 -DVERSION="$(PKG_SOURCE_VERSION) ($(PKG_SOURCE_DATE))"
72
73 CMAKE_HOST_OPTIONS += \
74 -DSTATIC_UBOX=ON \
75 -DBUILD_TESTS=OFF \
76 -DHOST_CPU=$(PKGARCH) \
77 -DLOCK_FILE=/tmp/opkg.lock \
78 -DVERSION="$(PKG_SOURCE_VERSION) ($(PKG_SOURCE_DATE))"
79
80 define Package/opkg/install
81 $(INSTALL_DIR) $(1)/usr/lib/opkg
82 $(INSTALL_DIR) $(1)/bin
83 $(INSTALL_DIR) $(1)/etc/opkg
84 $(INSTALL_DIR) $(1)/etc/uci-defaults
85 $(INSTALL_DATA) ./files/customfeeds.conf $(1)/etc/opkg/customfeeds.conf
86 $(INSTALL_DATA) ./files/opkg$(2).conf $(1)/etc/opkg.conf
87 $(INSTALL_BIN) ./files/20_migrate-feeds $(1)/etc/uci-defaults/
88 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/opkg-cl $(1)/bin/opkg
89 ifneq ($(CONFIG_SIGNATURE_CHECK),)
90 echo "option check_signature" >> $(1)/etc/opkg.conf
91 endif
92 $(INSTALL_DIR) $(1)/usr/sbin
93 $(INSTALL_BIN) ./files/opkg-key $(1)/usr/sbin/
94 endef
95
96 define Host/Install
97 $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/opkg-cl $(STAGING_DIR_HOST)/bin/opkg
98 endef
99
100 $(eval $(call BuildPackage,opkg))
101 $(eval $(call HostBuild))