2025-06-12 05:01:32 -04:00
|
|
|
# Copyright (c) 2014-2025 Franco Fichtner <franco@opnsense.org>
|
2016-04-21 08:02:21 -04:00
|
|
|
#
|
|
|
|
|
# Redistribution and use in source and binary forms, with or without
|
|
|
|
|
# modification, are permitted provided that the following conditions
|
|
|
|
|
# are met:
|
|
|
|
|
#
|
|
|
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
|
|
|
# notice, this list of conditions and the following disclaimer.
|
|
|
|
|
#
|
|
|
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
|
|
|
# documentation and/or other materials provided with the distribution.
|
|
|
|
|
#
|
|
|
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
|
|
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
|
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
|
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
|
# SUCH DAMAGE.
|
|
|
|
|
|
2014-12-09 11:45:11 -05:00
|
|
|
all:
|
2015-05-19 02:30:42 -04:00
|
|
|
@cat ${.CURDIR}/README.md | ${PAGER}
|
2014-12-09 11:45:11 -05:00
|
|
|
|
2025-10-23 11:57:02 -04:00
|
|
|
.include "Mk/version.mk"
|
|
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
.include "Mk/defaults.mk"
|
2025-07-29 08:42:26 -04:00
|
|
|
.include "Mk/common.mk"
|
2025-08-01 02:56:01 -04:00
|
|
|
.include "Mk/git.mk"
|
2025-07-29 02:28:36 -04:00
|
|
|
.include "Mk/lint.mk"
|
2025-07-29 04:57:09 -04:00
|
|
|
.include "Mk/style.mk"
|
|
|
|
|
.include "Mk/sweep.mk"
|
2021-02-08 04:13:33 -05:00
|
|
|
|
2021-07-21 03:20:29 -04:00
|
|
|
.for REPLACEMENT in ABI PHP PYTHON
|
|
|
|
|
. if empty(CORE_${REPLACEMENT})
|
|
|
|
|
. warning Cannot build without CORE_${REPLACEMENT} set
|
|
|
|
|
. endif
|
2021-11-15 13:37:01 -05:00
|
|
|
CORE_MAKE+= CORE_${REPLACEMENT}=${CORE_${REPLACEMENT}}
|
2021-07-21 03:20:29 -04:00
|
|
|
.endfor
|
|
|
|
|
|
2021-02-07 09:00:44 -05:00
|
|
|
_CORE_NEXT= ${CORE_ABI:C/\./ /}
|
2021-08-17 02:51:23 -04:00
|
|
|
.if ${_CORE_NEXT:[2]} == 7 # community
|
2021-02-07 09:00:44 -05:00
|
|
|
CORE_NEXT!= expr ${_CORE_NEXT:[1]} + 1
|
|
|
|
|
CORE_NEXT:= ${CORE_NEXT}.1
|
2021-08-17 02:51:23 -04:00
|
|
|
.elif ${_CORE_NEXT:[2]} == 10 # business
|
2021-08-17 02:37:20 -04:00
|
|
|
CORE_NEXT!= expr ${_CORE_NEXT:[1]} + 1
|
|
|
|
|
CORE_NEXT:= ${CORE_NEXT}.4
|
2023-04-12 02:40:22 -04:00
|
|
|
CORE_SPACER= no
|
2021-08-17 02:51:23 -04:00
|
|
|
.elif ${_CORE_NEXT:[2]} == 1 # community
|
2021-02-07 09:00:44 -05:00
|
|
|
CORE_NEXT= ${_CORE_NEXT:[1]}
|
|
|
|
|
CORE_NEXT:= ${CORE_NEXT}.7
|
2021-08-17 02:51:23 -04:00
|
|
|
.elif ${_CORE_NEXT:[2]} == 4 # business
|
2021-08-17 02:37:20 -04:00
|
|
|
CORE_NEXT= ${_CORE_NEXT:[1]}
|
|
|
|
|
CORE_NEXT:= ${CORE_NEXT}.10
|
|
|
|
|
.else
|
2021-08-17 02:51:23 -04:00
|
|
|
.error Unsupported minor version for CORE_ABI=${CORE_ABI}
|
2021-02-07 09:00:44 -05:00
|
|
|
.endif
|
|
|
|
|
|
2021-07-21 02:46:59 -04:00
|
|
|
.if exists(${GIT}) && exists(${GITVERSION}) && exists(${.CURDIR}/.git)
|
2021-02-08 04:13:33 -05:00
|
|
|
. if ${CORE_TYPE:M[Dd][Ee][Vv]*}
|
2021-02-07 09:00:44 -05:00
|
|
|
_NEXTBETA!= ${GIT} tag -l ${CORE_NEXT}.b
|
2021-02-08 04:13:33 -05:00
|
|
|
. if !empty(_NEXTBETA)
|
2021-02-07 09:00:44 -05:00
|
|
|
_NEXTMATCH= --match=${CORE_NEXT}.b
|
2021-02-08 04:13:33 -05:00
|
|
|
. else
|
2022-02-02 01:55:48 -05:00
|
|
|
_NEXTALPHA!= ${GIT} tag -l ${CORE_NEXT}.a
|
|
|
|
|
. if !empty(_NEXTALPHA)
|
|
|
|
|
_NEXTMATCH= --match=${CORE_NEXT}.a
|
|
|
|
|
. else
|
2021-06-29 09:18:12 -04:00
|
|
|
_NEXTDEVEL!= ${GIT} tag -l ${CORE_ABI}\*
|
2022-02-02 01:55:48 -05:00
|
|
|
. if !empty(_NEXTDEVEL)
|
2021-06-29 09:18:12 -04:00
|
|
|
_NEXTMATCH= --match=${CORE_ABI}\*
|
2022-02-02 01:55:48 -05:00
|
|
|
. endif
|
2021-02-08 04:13:33 -05:00
|
|
|
. endif
|
|
|
|
|
. endif
|
2021-03-31 09:47:04 -04:00
|
|
|
. elif ${CORE_TYPE:M[Bb][Uu][Ss]*}
|
2021-04-01 08:27:17 -04:00
|
|
|
_NEXTMATCH= '' # XXX verbatim match for now
|
2021-02-08 04:13:33 -05:00
|
|
|
. else
|
|
|
|
|
_NEXTSTABLE!= ${GIT} tag -l ${CORE_ABI}\*
|
|
|
|
|
. if !empty(_NEXTSTABLE)
|
|
|
|
|
_NEXTMATCH= --match=${CORE_ABI}\*
|
|
|
|
|
. endif
|
2020-07-23 06:23:39 -04:00
|
|
|
. endif
|
2021-02-08 13:31:24 -05:00
|
|
|
. if empty(_NEXTMATCH)
|
|
|
|
|
. error Did not find appropriate tag for CORE_ABI=${CORE_ABI}
|
|
|
|
|
. endif
|
2021-02-07 13:36:49 -05:00
|
|
|
CORE_COMMIT!= ${GITVERSION} ${_NEXTMATCH}
|
2020-07-23 06:23:39 -04:00
|
|
|
.endif
|
|
|
|
|
|
2021-02-08 13:31:24 -05:00
|
|
|
CORE_COMMIT?= unknown 0 undefined
|
2018-12-17 02:14:23 -05:00
|
|
|
CORE_VERSION?= ${CORE_COMMIT:[1]}
|
|
|
|
|
CORE_REVISION?= ${CORE_COMMIT:[2]}
|
|
|
|
|
CORE_HASH?= ${CORE_COMMIT:[3]}
|
|
|
|
|
|
2021-04-09 02:56:46 -04:00
|
|
|
_CORE_SERIES= ${CORE_VERSION:S/./ /g}
|
|
|
|
|
CORE_SERIES?= ${_CORE_SERIES:[1]}.${_CORE_SERIES:[2]}
|
2023-04-12 02:40:22 -04:00
|
|
|
.if empty(CORE_SPACER)
|
|
|
|
|
CORE_SERIES_FW= ${CORE_SERIES:S/$/ /1}
|
|
|
|
|
.else
|
|
|
|
|
CORE_SERIES_FW= ${CORE_SERIES}
|
|
|
|
|
.endif
|
2021-04-09 02:56:46 -04:00
|
|
|
|
2018-12-17 02:14:23 -05:00
|
|
|
.if "${CORE_REVISION}" != "" && "${CORE_REVISION}" != "0"
|
2018-12-22 11:41:29 -05:00
|
|
|
CORE_PKGVERSION= ${CORE_VERSION}_${CORE_REVISION}
|
2018-12-17 02:14:23 -05:00
|
|
|
.else
|
2018-12-22 11:41:29 -05:00
|
|
|
CORE_PKGVERSION= ${CORE_VERSION}
|
2018-12-17 02:14:23 -05:00
|
|
|
.endif
|
2015-07-16 10:45:37 -04:00
|
|
|
|
2020-04-13 16:15:41 -04:00
|
|
|
CORE_PYTHON_DOT= ${CORE_PYTHON:C/./&./1}
|
|
|
|
|
|
2021-01-12 04:16:13 -05:00
|
|
|
CORE_COMMENT?= ${CORE_PRODUCT} ${CORE_TYPE} release
|
2018-09-23 11:40:27 -04:00
|
|
|
CORE_MAINTAINER?= project@opnsense.org
|
2015-07-17 01:42:06 -04:00
|
|
|
CORE_ORIGIN?= opnsense/${CORE_NAME}
|
2018-09-16 07:09:57 -04:00
|
|
|
CORE_PACKAGESITE?= https://pkg.opnsense.org
|
|
|
|
|
CORE_PRODUCT?= OPNsense
|
2023-02-07 03:06:05 -05:00
|
|
|
CORE_REPOSITORY?= ${CORE_ABI}/latest
|
2015-07-17 01:42:06 -04:00
|
|
|
CORE_WWW?= https://opnsense.org/
|
2025-06-12 05:01:32 -04:00
|
|
|
CORE_USER?= wwwonly
|
2025-06-25 07:21:03 -04:00
|
|
|
CORE_UID?= 789
|
2025-06-12 05:01:32 -04:00
|
|
|
CORE_GROUP?= ${CORE_USER}
|
2025-06-25 07:21:03 -04:00
|
|
|
CORE_GID?= ${CORE_UID}
|
2017-03-17 11:43:04 -04:00
|
|
|
|
2023-07-26 11:43:25 -04:00
|
|
|
CORE_DEPENDS_aarch64?= py${CORE_PYTHON}-duckdb \
|
2023-05-10 10:56:23 -04:00
|
|
|
py${CORE_PYTHON}-numpy \
|
|
|
|
|
py${CORE_PYTHON}-pandas \
|
2024-02-07 03:23:23 -05:00
|
|
|
suricata
|
2017-10-30 02:52:28 -04:00
|
|
|
|
2023-07-26 11:43:25 -04:00
|
|
|
CORE_DEPENDS_amd64?= beep \
|
|
|
|
|
${CORE_DEPENDS_aarch64}
|
2023-07-26 08:04:09 -04:00
|
|
|
|
2024-09-09 08:55:51 -04:00
|
|
|
CORE_DEPENDS?= ca_root_nss \
|
|
|
|
|
choparp \
|
2015-07-17 02:27:30 -04:00
|
|
|
cpustats \
|
2018-04-03 08:50:20 -04:00
|
|
|
dhcp6c \
|
2023-11-21 09:07:31 -05:00
|
|
|
dhcrelay \
|
2015-07-17 02:27:30 -04:00
|
|
|
dnsmasq \
|
2018-04-01 17:31:00 -04:00
|
|
|
dpinger \
|
2015-07-17 02:27:30 -04:00
|
|
|
filterlog \
|
2016-06-01 02:25:13 -04:00
|
|
|
flock \
|
2016-04-05 08:09:43 -04:00
|
|
|
flowd \
|
2017-10-17 00:56:25 -04:00
|
|
|
hostapd \
|
2025-11-06 07:01:52 -05:00
|
|
|
hostwatch \
|
2022-07-08 02:37:00 -04:00
|
|
|
ifinfo \
|
|
|
|
|
iftop \
|
2023-11-06 11:48:29 -05:00
|
|
|
kea \
|
2015-07-17 02:27:30 -04:00
|
|
|
lighttpd \
|
2018-03-21 17:00:20 -04:00
|
|
|
monit \
|
2015-07-17 02:27:30 -04:00
|
|
|
mpd5 \
|
|
|
|
|
ntp \
|
|
|
|
|
openssh-portable \
|
2020-04-11 05:04:08 -04:00
|
|
|
openvpn \
|
2021-04-13 03:34:29 -04:00
|
|
|
opnsense-installer \
|
2016-04-21 02:49:44 -04:00
|
|
|
opnsense-lang \
|
2020-07-28 04:33:42 -04:00
|
|
|
opnsense-update \
|
2016-09-16 03:46:22 -04:00
|
|
|
pam_opnsense \
|
2015-07-17 02:27:30 -04:00
|
|
|
pftop \
|
2016-11-24 12:18:56 -05:00
|
|
|
php${CORE_PHP}-ctype \
|
|
|
|
|
php${CORE_PHP}-curl \
|
|
|
|
|
php${CORE_PHP}-dom \
|
|
|
|
|
php${CORE_PHP}-filter \
|
|
|
|
|
php${CORE_PHP}-gettext \
|
|
|
|
|
php${CORE_PHP}-ldap \
|
2023-08-24 03:58:22 -04:00
|
|
|
php${CORE_PHP}-pcntl \
|
2016-11-24 12:18:56 -05:00
|
|
|
php${CORE_PHP}-pdo \
|
2023-06-18 11:19:45 -04:00
|
|
|
php${CORE_PHP}-pear-Crypt_CHAP \
|
2023-08-24 03:58:22 -04:00
|
|
|
php${CORE_PHP}-pecl-radius \
|
2022-06-28 06:38:54 -04:00
|
|
|
php${CORE_PHP}-phalcon \
|
2019-03-05 12:13:35 -05:00
|
|
|
php${CORE_PHP}-phpseclib \
|
2016-11-24 12:18:56 -05:00
|
|
|
php${CORE_PHP}-session \
|
|
|
|
|
php${CORE_PHP}-simplexml \
|
|
|
|
|
php${CORE_PHP}-sockets \
|
|
|
|
|
php${CORE_PHP}-sqlite3 \
|
|
|
|
|
php${CORE_PHP}-xml \
|
|
|
|
|
php${CORE_PHP}-zlib \
|
2019-09-24 03:39:06 -04:00
|
|
|
pkg \
|
2019-05-23 02:57:38 -04:00
|
|
|
py${CORE_PYTHON}-Jinja2 \
|
2022-03-10 13:50:49 -05:00
|
|
|
py${CORE_PYTHON}-dnspython \
|
2025-03-12 15:28:45 -04:00
|
|
|
py${CORE_PYTHON}-jq \
|
2024-09-26 03:39:02 -04:00
|
|
|
py${CORE_PYTHON}-ldap3 \
|
2019-05-23 02:57:38 -04:00
|
|
|
py${CORE_PYTHON}-requests \
|
|
|
|
|
py${CORE_PYTHON}-sqlite3 \
|
|
|
|
|
py${CORE_PYTHON}-ujson \
|
2022-07-05 05:11:53 -04:00
|
|
|
py${CORE_PYTHON}-vici \
|
2020-04-24 03:15:10 -04:00
|
|
|
radvd \
|
2018-06-13 13:15:37 -04:00
|
|
|
rrdtool \
|
2016-03-25 12:42:56 -04:00
|
|
|
samplicator \
|
2015-07-17 02:27:30 -04:00
|
|
|
strongswan \
|
|
|
|
|
sudo \
|
2020-11-13 04:56:36 -05:00
|
|
|
syslog-ng \
|
2015-08-20 10:01:49 -04:00
|
|
|
unbound \
|
2017-10-17 00:56:25 -04:00
|
|
|
wpa_supplicant \
|
2021-05-28 04:05:12 -04:00
|
|
|
zip \
|
2024-04-30 02:21:19 -04:00
|
|
|
${CORE_ADDITIONS} \
|
2021-05-28 04:05:12 -04:00
|
|
|
${CORE_DEPENDS_${CORE_ARCH}}
|
2015-07-16 12:04:22 -04:00
|
|
|
|
2024-08-27 04:31:16 -04:00
|
|
|
.for CONFLICT in ${CORE_CONFLICTS}
|
|
|
|
|
CORE_CONFLICTS+= ${CONFLICT}-devel
|
|
|
|
|
.endfor
|
|
|
|
|
|
2024-08-27 06:10:41 -04:00
|
|
|
# assume conflicts are just for plugins
|
|
|
|
|
CORE_CONFLICTS:= ${CORE_CONFLICTS:S/^/os-/g:O}
|
|
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
mount:
|
2016-05-24 01:47:38 -04:00
|
|
|
@if [ ! -f ${WRKDIR}/.mount_done ]; then \
|
2026-01-28 16:24:48 -05:00
|
|
|
echo -n ">>> Enabling core live mount..."; \
|
2025-07-18 02:29:02 -04:00
|
|
|
sed ${SED_REPLACE} ${.CURDIR}/src/${VERSIONFILE}.in > \
|
|
|
|
|
${.CURDIR}/src/${VERSIONFILE}; \
|
2016-09-24 08:00:28 -04:00
|
|
|
mount_unionfs ${.CURDIR}/src ${LOCALBASE}; \
|
2016-05-24 01:47:38 -04:00
|
|
|
touch ${WRKDIR}/.mount_done; \
|
|
|
|
|
echo "done"; \
|
|
|
|
|
service configd restart; \
|
|
|
|
|
fi
|
|
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
umount:
|
2016-05-24 01:47:38 -04:00
|
|
|
@if [ -f ${WRKDIR}/.mount_done ]; then \
|
2026-01-28 16:24:48 -05:00
|
|
|
echo -n ">>> Disabling core live mount..."; \
|
2016-05-24 01:47:38 -04:00
|
|
|
umount -f "<above>:${.CURDIR}/src"; \
|
|
|
|
|
rm ${WRKDIR}/.mount_done; \
|
|
|
|
|
echo "done"; \
|
|
|
|
|
service configd restart; \
|
|
|
|
|
fi
|
2016-05-24 00:52:15 -04:00
|
|
|
|
2025-07-18 02:29:02 -04:00
|
|
|
manifest-check:
|
|
|
|
|
# check if all annotations are in the version file
|
|
|
|
|
.for REPLACEMENT in ${REPLACEMENTS}
|
|
|
|
|
@grep -q '\"${REPLACEMENT}\": \"%%${REPLACEMENT}%%\"' ${.CURDIR}/src/${VERSIONFILE}.in || \
|
2026-01-28 16:24:48 -05:00
|
|
|
(echo ">>> Could not find ${REPLACEMENT} in version file" >&2; exit 1)
|
2025-07-18 02:29:02 -04:00
|
|
|
.endfor
|
|
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
manifest:
|
2015-07-17 01:42:06 -04:00
|
|
|
@echo "name: \"${CORE_NAME}\""
|
2018-12-22 11:41:29 -05:00
|
|
|
@echo "version: \"${CORE_PKGVERSION}\""
|
2015-07-17 01:42:06 -04:00
|
|
|
@echo "origin: \"${CORE_ORIGIN}\""
|
|
|
|
|
@echo "comment: \"${CORE_COMMENT}\""
|
|
|
|
|
@echo "desc: \"${CORE_HASH}\""
|
|
|
|
|
@echo "maintainer: \"${CORE_MAINTAINER}\""
|
|
|
|
|
@echo "www: \"${CORE_WWW}\""
|
2015-07-27 04:42:55 -04:00
|
|
|
@echo "message: \"${CORE_MESSAGE}\""
|
|
|
|
|
@echo "categories: [ \"sysutils\", \"www\" ]"
|
|
|
|
|
@echo "licenselogic: \"single\""
|
|
|
|
|
@echo "licenses: [ \"BSD2CLAUSE\" ]"
|
2016-09-24 08:00:28 -04:00
|
|
|
@echo "prefix: ${LOCALBASE}"
|
2016-07-30 18:01:05 -04:00
|
|
|
@echo "vital: true"
|
2015-07-17 01:42:06 -04:00
|
|
|
@echo "deps: {"
|
2017-10-30 02:52:28 -04:00
|
|
|
@for CORE_DEPEND in ${CORE_DEPENDS}; do \
|
2016-04-16 12:41:57 -04:00
|
|
|
if ! ${PKG} query ' %n: { version: "%v", origin: "%o" }' \
|
|
|
|
|
$${CORE_DEPEND}; then \
|
|
|
|
|
echo ">>> Missing dependency: $${CORE_DEPEND}" >&2; \
|
|
|
|
|
exit 1; \
|
|
|
|
|
fi; \
|
2015-07-17 02:27:30 -04:00
|
|
|
done
|
2015-07-17 01:42:06 -04:00
|
|
|
@echo "}"
|
2025-07-18 02:29:02 -04:00
|
|
|
@if [ -f ${WRKSRC}${LOCALBASE}/${VERSIONFILE} ]; then \
|
|
|
|
|
echo "annotations $$(cat ${WRKSRC}${LOCALBASE}/${VERSIONFILE})"; \
|
2023-04-26 02:52:43 -04:00
|
|
|
fi
|
2015-07-17 01:42:06 -04:00
|
|
|
|
2019-05-13 04:40:42 -04:00
|
|
|
.if ${.TARGETS:Mupgrade}
|
2022-06-08 05:15:59 -04:00
|
|
|
# lighter package format for quick completion
|
|
|
|
|
PKG_FORMAT?= -f tar
|
2019-05-13 04:40:42 -04:00
|
|
|
.endif
|
|
|
|
|
|
2016-07-10 05:36:43 -04:00
|
|
|
PKG_SCRIPTS= +PRE_INSTALL +POST_INSTALL \
|
|
|
|
|
+PRE_UPGRADE +POST_UPGRADE \
|
|
|
|
|
+PRE_DEINSTALL +POST_DEINSTALL
|
|
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
scripts:
|
2016-07-10 05:36:43 -04:00
|
|
|
.for PKG_SCRIPT in ${PKG_SCRIPTS}
|
2018-09-22 04:51:11 -04:00
|
|
|
@if [ -f ${.CURDIR}/${PKG_SCRIPT} ]; then \
|
2025-06-25 07:21:03 -04:00
|
|
|
sed ${SED_REPLACE} -- ${.CURDIR}/${PKG_SCRIPT} > \
|
|
|
|
|
${DESTDIR}/${PKG_SCRIPT}; \
|
2016-07-10 05:36:43 -04:00
|
|
|
fi
|
|
|
|
|
.endfor
|
2015-07-16 10:45:37 -04:00
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
install:
|
2021-11-15 13:37:01 -05:00
|
|
|
@${CORE_MAKE} -C ${.CURDIR}/contrib install DESTDIR=${DESTDIR}
|
|
|
|
|
@${CORE_MAKE} -C ${.CURDIR}/src install DESTDIR=${DESTDIR} ${MAKE_REPLACE}
|
2019-06-25 03:06:05 -04:00
|
|
|
.if exists(${LOCALBASE}/opnsense/www/index.php)
|
|
|
|
|
# try to update the current system if it looks like one
|
|
|
|
|
@touch ${LOCALBASE}/opnsense/www/index.php
|
2025-09-16 01:33:39 -04:00
|
|
|
@${PLUGINCTL} -cq cache_flush
|
2025-08-21 03:06:00 -04:00
|
|
|
.endif
|
2015-07-16 07:05:47 -04:00
|
|
|
|
2018-02-28 14:17:52 -05:00
|
|
|
collect:
|
|
|
|
|
@(cd ${.CURDIR}/src; find * -type f) | while read FILE; do \
|
|
|
|
|
if [ -f ${DESTDIR}${LOCALBASE}/$${FILE} ]; then \
|
|
|
|
|
tar -C ${DESTDIR}${LOCALBASE} -cpf - $${FILE} | \
|
|
|
|
|
tar -C ${.CURDIR}/src -xpf -; \
|
|
|
|
|
fi; \
|
|
|
|
|
done
|
|
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
bootstrap:
|
2021-11-15 13:37:01 -05:00
|
|
|
@${CORE_MAKE} -C ${.CURDIR}/src install-bootstrap DESTDIR=${DESTDIR} \
|
2018-09-16 07:09:57 -04:00
|
|
|
NO_SAMPLE=please ${MAKE_REPLACE}
|
2015-11-17 13:51:25 -05:00
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
plist:
|
2021-11-15 13:37:01 -05:00
|
|
|
@(${CORE_MAKE} -C ${.CURDIR}/contrib plist && \
|
|
|
|
|
${CORE_MAKE} -C ${.CURDIR}/src plist) | sort
|
2014-12-09 11:45:11 -05:00
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
plist-fix:
|
2021-11-15 13:37:01 -05:00
|
|
|
@${CORE_MAKE} DESTDIR=${DESTDIR} plist > ${.CURDIR}/plist
|
2016-09-24 08:09:18 -04:00
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
metadata:
|
2016-05-26 02:15:22 -04:00
|
|
|
@mkdir -p ${DESTDIR}
|
2021-11-15 13:37:01 -05:00
|
|
|
@${CORE_MAKE} DESTDIR=${DESTDIR} scripts
|
|
|
|
|
@${CORE_MAKE} DESTDIR=${DESTDIR} manifest > ${DESTDIR}/+MANIFEST
|
|
|
|
|
@${CORE_MAKE} DESTDIR=${DESTDIR} plist > ${DESTDIR}/plist
|
2016-05-26 02:05:04 -04:00
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
package-check:
|
2016-03-14 08:08:48 -04:00
|
|
|
@if [ -f ${WRKDIR}/.mount_done ]; then \
|
2016-04-17 03:01:45 -04:00
|
|
|
echo ">>> Cannot continue with live mount. Please run 'make umount'." >&2; \
|
|
|
|
|
exit 1; \
|
2016-03-14 08:08:48 -04:00
|
|
|
fi
|
2016-07-30 17:28:00 -04:00
|
|
|
|
2025-07-29 03:23:53 -04:00
|
|
|
package: lint-plist manifest-check package-check clean-wrksrc
|
2017-10-30 02:52:28 -04:00
|
|
|
.for CORE_DEPEND in ${CORE_DEPENDS}
|
2018-03-28 14:22:16 -04:00
|
|
|
@if ! ${PKG} info ${CORE_DEPEND} > /dev/null; then ${PKG} install -yfA ${CORE_DEPEND}; fi
|
2017-10-30 02:52:28 -04:00
|
|
|
.endfor
|
2018-12-22 11:41:29 -05:00
|
|
|
@echo -n ">>> Staging files for ${CORE_NAME}-${CORE_PKGVERSION}..."
|
2021-11-15 13:37:01 -05:00
|
|
|
@${CORE_MAKE} DESTDIR=${WRKSRC} install
|
2018-11-05 01:25:48 -05:00
|
|
|
@echo " done"
|
2020-04-15 13:19:16 -04:00
|
|
|
@echo ">>> Generated version info for ${CORE_NAME}-${CORE_PKGVERSION}:"
|
2025-07-18 02:29:02 -04:00
|
|
|
@cat ${WRKSRC}${LOCALBASE}/${VERSIONFILE}
|
2023-04-26 02:52:43 -04:00
|
|
|
@echo -n ">>> Generating metadata for ${CORE_NAME}-${CORE_PKGVERSION}..."
|
|
|
|
|
@${CORE_MAKE} DESTDIR=${WRKSRC} metadata
|
|
|
|
|
@echo " done"
|
2018-12-22 11:41:29 -05:00
|
|
|
@echo ">>> Packaging files for ${CORE_NAME}-${CORE_PKGVERSION}:"
|
2022-06-08 05:15:59 -04:00
|
|
|
@PORTSDIR=${.CURDIR} ${PKG} create ${PKG_FORMAT} -v -m ${WRKSRC} \
|
2019-05-13 04:40:42 -04:00
|
|
|
-r ${WRKSRC} -p ${WRKSRC}/plist -o ${PKGDIR}
|
2016-03-12 03:26:20 -05:00
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
upgrade-check:
|
2016-07-30 17:28:00 -04:00
|
|
|
@if ! ${PKG} info ${CORE_NAME} > /dev/null; then \
|
2026-01-27 05:10:16 -05:00
|
|
|
REAL_NAME=$$(pkg which -q /usr/local/opnsense/version/core); \
|
2026-01-28 16:24:48 -05:00
|
|
|
echo ">>> Upgrade cannot continue without installed package" >&2; \
|
|
|
|
|
echo ">>> To continue anyway set CORE_NAME=$${REAL_NAME%-*}" >&2; \
|
2016-07-30 17:28:00 -04:00
|
|
|
exit 1; \
|
|
|
|
|
fi
|
2022-04-05 01:45:22 -04:00
|
|
|
@if [ "$$(${VERSIONBIN} -vH)" = "${CORE_PKGVERSION} ${CORE_HASH}" ]; then \
|
2026-01-28 16:24:48 -05:00
|
|
|
echo ">>> Installed version already matches ${CORE_PKGVERSION} ${CORE_HASH}" >&2; \
|
|
|
|
|
echo ">>> To continue anyway set CORE_HASH=<something>" >&2; \
|
2021-12-21 06:07:37 -05:00
|
|
|
exit 1; \
|
|
|
|
|
fi
|
2016-07-30 17:28:00 -04:00
|
|
|
|
2021-02-03 14:03:50 -05:00
|
|
|
upgrade: upgrade-check clean-pkgdir package
|
2018-03-28 14:22:16 -04:00
|
|
|
@${PKG} delete -fy ${CORE_NAME} || true
|
2022-05-09 02:31:05 -04:00
|
|
|
@${PKG} add ${PKGDIR}/*.pkg
|
2026-01-15 02:47:48 -05:00
|
|
|
${.CURDIR}/src/etc/rc.restart_webgui
|
2016-03-11 05:50:25 -05:00
|
|
|
|
2025-07-29 04:57:09 -04:00
|
|
|
glint: sweep plist-fix lint
|
2024-12-19 11:30:49 -05:00
|
|
|
|
2025-07-29 08:42:26 -04:00
|
|
|
license:
|
2017-08-05 10:43:37 -04:00
|
|
|
@${.CURDIR}/Scripts/license > ${.CURDIR}/LICENSE
|
|
|
|
|
|
2020-02-18 10:44:52 -05:00
|
|
|
sync: license plist-fix
|
2020-02-13 02:14:01 -05:00
|
|
|
|
2022-03-25 02:44:49 -04:00
|
|
|
migrate:
|
2025-09-16 01:33:39 -04:00
|
|
|
@${PLUGINCTL} -m
|
2022-03-25 02:44:49 -04:00
|
|
|
|
2023-09-27 10:27:54 -04:00
|
|
|
validate:
|
2025-09-16 01:33:39 -04:00
|
|
|
@${PLUGINCTL} -v
|
2023-09-27 10:27:54 -04:00
|
|
|
|
2025-07-29 08:42:26 -04:00
|
|
|
test:
|
2025-12-05 04:04:08 -05:00
|
|
|
@cd ${TESTDIR} && phpunit || true; rm -rf ${TESTDIR}/.phpunit.result.cache
|
2025-01-09 02:08:28 -05:00
|
|
|
|
2025-07-29 15:12:25 -04:00
|
|
|
clean: clean-pkgdir clean-wrksrc clean-mfcdir checkout
|
2018-02-25 05:53:06 -05:00
|
|
|
|
|
|
|
|
.PHONY: license plist
|