2 # Copyright (C) 2006-2015 OpenWrt.org
3 # Copyright (C) 2016 LEDE Project
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
9 include $(INCLUDE_DIR
)/kernel.mk
10 include $(INCLUDE_DIR
)/version.mk
11 include $(INCLUDE_DIR
)/feeds.mk
14 PKG_REV
:=9c97d5ecd795709c8584e972bfdf3aee3a5b846d
15 PKG_VERSION
:=$(PKG_REV
)
19 PKG_SOURCE_VERSION
:=$(PKG_REV
)
20 PKG_SOURCE_SUBDIR
:=opkg-
$(PKG_VERSION
)
21 PKG_SOURCE_URL
:=http
://git.yoctoproject.org
/git
/opkg
22 PKG_SOURCE
:=$(PKG_SOURCE_SUBDIR
).
tar.xz
23 PKG_MIRROR_MD5SUM
:=abba824695a7dd4acf2a6371c4e22142656b3d1f0fa93c04410116d2170ce1a9
24 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(BUILD_VARIANT
)/$(PKG_NAME
)-$(PKG_VERSION
)
26 PKG_REMOVE_FILES
= autogen.sh aclocal.m4
29 PKG_LICENSE_FILES
:=COPYING
31 PKG_MAINTAINER
:=Jo-Philipp Wich
<jo@mein.io
>
33 PKG_FLAGS
:= nonshared
34 PKG_CONFIG_DEPENDS
:= CONFIG_SIGNED_PACKAGES
37 HOST_BUILD_PARALLEL
:=1
40 include $(INCLUDE_DIR
)/package.mk
41 include $(INCLUDE_DIR
)/host-build.mk
43 define Package
/opkg
/Default
46 TITLE
:=opkg package manager
47 DEPENDS
:=+uclient-fetch
48 URL
:=http
://wiki.openmoko.org
/wiki
/Opkg
52 define Package
/opkg
/Default
/description
53 Lightweight package management system
54 opkg is the opkg Package Management System
, for handling
55 installation and removal of packages on a system. It can
56 recursively follow dependencies and download
all packages
57 necessary to
install a particular package.
59 opkg knows how to
install both .ipk and .deb packages.
62 define Package
/opkg
/config
63 config OPKG_SUPPORT_MD5
66 depends on PACKAGE_opkg
67 prompt
"Support reading old md5 hashes."
69 Old opkg used md5s
, new uses sha. This options enables understanding both while prefering sha.
73 $(call Package
/opkg
/Default
)
77 define Package
/opkg
/description
78 $(call Package
/opkg
/Default
/description
)
81 define Package
/opkg
/conffiles
84 /etc
/opkg
/customfeeds.conf
88 define Package
/opkg-smime
89 $(call Package
/opkg
/Default
)
90 TITLE
+= (with S
/MIME signature support
)
91 DEPENDS
+=+PACKAGE_opkg-smime
:libopenssl
95 define Package
/opkg-smime
/description
96 $(call Package
/opkg
/Default
/description
)
98 This package allows the Package index to be verified with S
/MIME.
101 define Package
/opkg-smime
/config
102 config OPKG_SMIME_SUPPORT_MD5
105 depends on PACKAGE_opkg-smime
106 prompt
"Support reading old md5 hashes."
108 Old opkg used md5s
, new uses sha. This options enables understanding both while prefering sha.
111 Package
/opkg-smime
/conffiles
= $(Package
/opkg
/conffiles
)
113 TARGET_CFLAGS
+= -ffunction-sections
-fdata-sections
114 EXTRA_CFLAGS
+= $(TARGET_CPPFLAGS
)
120 --with-opkgetcdir
=/etc \
121 --with-opkglockfile
=/var
/lock
/opkg.lock
123 ifeq ($(BUILD_VARIANT
),smime
)
124 CONFIGURE_ARGS
+= --enable-openssl
--disable-usign
125 ifeq ($(CONFIG_OPKG_SMIME_SUPPORT_MD5
),y
)
126 CONFIGURE_ARGS
+= --enable-md5
128 CONFIGURE_ARGS
+= --disable-md5
131 ifndef CONFIG_SIGNED_PACKAGES
132 CONFIGURE_ARGS
+= --disable-usign
134 ifeq ($(CONFIG_OPKG_SUPPORT_MD5
),y
)
135 CONFIGURE_ARGS
+= --enable-md5
137 CONFIGURE_ARGS
+= --disable-md5
143 DESTDIR
="$(PKG_INSTALL_DIR)" \
144 HOST_CPU
="$(PKGARCH)" \
145 LDFLAGS
="-Wl,--gc-sections" \
147 define Package
/opkg
/Default
/install
148 $(INSTALL_DIR
) $(1)/usr
/lib
/opkg
149 $(INSTALL_DIR
) $(1)/bin
150 $(INSTALL_DIR
) $(1)/etc
/opkg
151 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
152 $(INSTALL_DATA
) .
/files
/customfeeds.conf
$(1)/etc
/opkg
/customfeeds.conf
153 $(INSTALL_DATA
) .
/files
/opkg
$(2).conf
$(1)/etc
/opkg.conf
154 $(call FeedSourcesAppend
,$(1)/etc
/opkg
/distfeeds.conf
)
155 $(VERSION_SED
) $(1)/etc
/opkg
/distfeeds.conf
156 $(INSTALL_BIN
) .
/files
/20_migrate-feeds
$(1)/etc
/uci-defaults
/
157 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/opkg-cl
$(1)/bin
/opkg
160 define Package
/opkg
/install
161 $(call Package
/opkg
/Default
/install,$(1),)
162 ifneq ($(CONFIG_SIGNED_PACKAGES
),)
163 echo
"option check_signature 1" >> $(1)/etc
/opkg.conf
166 $(INSTALL_BIN
) .
/files
/opkg-key
$(1)/usr
/sbin
/
169 define Package
/opkg-smime
/install
170 $(call Package
/opkg
/Default
/install,$(1),-smime
)
171 $(INSTALL_DIR
) $(1)/etc
/ssl
/certs
172 $(if
$(CONFIG_OPKGSMIME_CERT
),$(INSTALL_DATA
) $(call qstrip
,$(CONFIG_OPKGSMIME_CERT
)) $(1)/etc
/ssl
/certs
/opkg.pem
,)
175 define Build
/InstallDev
176 mkdir
-p
$(1)/usr
/include
177 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libopkg
$(1)/usr
/include/
181 HOST_CONFIGURE_ARGS
+= \
185 --with-opkgetcdir
=/etc \
186 --with-opkglockfile
=/tmp
/opkg.lock
189 +$(MAKE
) $(HOST_JOBS
) -C
$(HOST_BUILD_DIR
) CC
="$(HOSTCC)" all
193 $(INSTALL_BIN
) $(HOST_BUILD_DIR
)/src
/opkg-cl
$(STAGING_DIR_HOST
)/bin
/opkg
196 $(eval
$(call BuildPackage
,opkg
))
197 $(eval
$(call BuildPackage
,opkg-smime
))
198 $(eval
$(call HostBuild
))