diff options
Diffstat (limited to 'net-misc')
-rw-r--r-- | net-misc/ntpsec/Manifest | 2 | ||||
-rw-r--r-- | net-misc/ntpsec/ntpsec-1.2.2a.ebuild | 182 | ||||
-rw-r--r-- | net-misc/ntpsec/ntpsec-9999.ebuild | 41 |
3 files changed, 213 insertions, 12 deletions
diff --git a/net-misc/ntpsec/Manifest b/net-misc/ntpsec/Manifest index c72c154eed0a..38ee02fb9e65 100644 --- a/net-misc/ntpsec/Manifest +++ b/net-misc/ntpsec/Manifest @@ -1 +1,3 @@ DIST ntpsec-1.2.2.tar.gz 2710329 BLAKE2B 031412d0fc7ecb5aba73501e63f8d0c416b23fe69114dd32422b03b4827e1ac9c92a4dfeb2e7d074cf6fd410d00cf86632f241dffd22987e4c03b21d21d8693a SHA512 864afb72c4bd8bc439ee06d343893cf92b3893c26c972a7bd1ff2713f0ad1f50704b6d0c6f155e6373c9747efff3ea36097a590be0d53e1a7ea7f429ba409cd1 +DIST ntpsec-1.2.2a.tar.gz 2710790 BLAKE2B b069433598697ab1e8110dbd005316a295d14c1e180fe0af2d19494bdff941d01234f0b4e9f38a150e27e450e1bd1f4dcf4535f9ff51c253670d11c5cb67382d SHA512 7a2cc04bde49800a745c74933e565a4764a22be484faffc5ea933231b74507af737a691cd0bb3aa024e81c083be0718c8d7b30dd152b0b0d386ae72fda426db9 +DIST ntpsec-1.2.2a.tar.gz.asc 833 BLAKE2B ce21b020d2a8590b731fdd4c171041fadbd699d60b9e10b2dc548675eed2efc04b9d5ae75fa8f77cc9c8e55db0f609d1eee5c5f2f7c7d804e1b087eb9ea95e1d SHA512 c1b0c1c6b534b11ef172d5ab68ada47bbd9e3f0298400c684e8745447221db16e4f4de436f06b0f6ab374e437b0506853a3a3da2bbe17c148cdf7de62c769f28 diff --git a/net-misc/ntpsec/ntpsec-1.2.2a.ebuild b/net-misc/ntpsec/ntpsec-1.2.2a.ebuild new file mode 100644 index 000000000000..38002f1e3d1d --- /dev/null +++ b/net-misc/ntpsec/ntpsec-1.2.2a.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_REQ_USE='threads(+)' +DISTUTILS_USE_SETUPTOOLS=no + +inherit distutils-r1 flag-o-matic waf-utils systemd + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/NTPsec/ntpsec.git" +else + VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ntpsec.asc + inherit verify-sig + SRC_URI=" + https://ftp.ntpsec.org/pub/releases/${P}.tar.gz + verify-sig? ( https://ftp.ntpsec.org/pub/releases/${P}.tar.gz.asc ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ntpsec )" +fi + +DESCRIPTION="The NTP reference implementation, refactored" +HOMEPAGE="https://www.ntpsec.org/" + +LICENSE="HPND MIT BSD-2 BSD CC-BY-SA-4.0" +SLOT="0" + +NTPSEC_REFCLOCK=( + oncore trimble truetime gpsd jjy generic spectracom + shm pps hpgps zyfer arbiter nmea modem local +) + +IUSE_NTPSEC_REFCLOCK=${NTPSEC_REFCLOCK[@]/#/rclock_} + +IUSE="${IUSE_NTPSEC_REFCLOCK} debug doc early gdb heat libbsd nist ntpviz samba seccomp smear" #ionice +REQUIRED_USE="${PYTHON_REQUIRED_USE} nist? ( rclock_local )" + +# net-misc/pps-tools oncore,pps +DEPEND=" + ${PYTHON_DEPS} + dev-libs/openssl:= + dev-python/psutil[${PYTHON_USEDEP}] + sys-libs/libcap + libbsd? ( dev-libs/libbsd:0= ) + seccomp? ( sys-libs/libseccomp ) + rclock_oncore? ( net-misc/pps-tools ) + rclock_pps? ( net-misc/pps-tools ) +" +RDEPEND=" + ${DEPEND} + !net-misc/ntp + !net-misc/openntpd + acct-group/ntp + acct-user/ntp + ntpviz? ( + media-fonts/liberation-fonts + sci-visualization/gnuplot + ) +" +BDEPEND+=" + >=app-text/asciidoc-8.6.8 + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + sys-devel/bison +" + +PATCHES=( + "${FILESDIR}/${PN}-1.1.9-remove-asciidoctor-from-config.patch" + "${FILESDIR}/${PN}-1.2.2-logrotate.patch" +) + +WAF_BINARY="${S}/waf" + +src_prepare() { + default + + # Remove autostripping of binaries + sed -i -e '/Strip binaries/d' wscript || die + if ! use libbsd ; then + eapply "${FILESDIR}/${PN}-no-bsd.patch" + fi + # remove extra default pool servers + sed -i '/use-pool/s/^/#/' "${S}"/etc/ntp.d/default.conf || die + + python_copy_sources +} + +src_configure() { + filter-lto + + local string_127="" + local rclocks=""; + local CLOCKSTRING="" + + for refclock in ${NTPSEC_REFCLOCK[@]} ; do + if use rclock_${refclock} ; then + string_127+="$refclock," + fi + done + CLOCKSTRING="`echo ${string_127}|sed 's|,$||'`" + + myconf=( + --notests + --nopyc + --nopyo + --enable-pylib ext + --refclock="${CLOCKSTRING}" + #--build-epoch="$(date +%s)" + $(use doc || echo "--disable-doc") + $(use early && echo "--enable-early-droproot") + $(use gdb && echo "--enable-debug-gdb") + $(use samba && echo "--enable-mssntp") + $(use seccomp && echo "--enable-seccomp") + $(use smear && echo "--enable-leap-smear") + $(use debug && echo "--enable-debug") + ) + + distutils-r1_src_configure +} + +python_configure() { + waf-utils_src_configure "${myconf[@]}" +} + +python_compile() { + waf-utils_src_compile --notests +} + +python_test() { + waf-utils_src_compile check +} + +src_install() { + distutils-r1_src_install + + # Install heat generating scripts + use heat && dosbin "${S}"/contrib/ntpheat{,usb} + + # Install the openrc files + newinitd "${FILESDIR}"/ntpd.rc-r3 ntp + newconfd "${FILESDIR}"/ntpd.confd ntp + + # Install the systemd unit file + systemd_newunit "${FILESDIR}"/ntpd-r1.service ntpd.service + + # Prepare a directory for the ntp.drift file + mkdir -pv "${ED}"/var/lib/ntp + chown ntp:ntp "${ED}"/var/lib/ntp + chmod 770 "${ED}"/var/lib/ntp + keepdir /var/lib/ntp + + # Install a logrotate script + mkdir -pv "${ED}"/etc/logrotate.d + cp -v "${S}"/etc/logrotate-config.ntpd "${ED}"/etc/logrotate.d/ntpd + + # Install the configuration file and sample configuration + cp -v "${FILESDIR}"/ntp.conf "${ED}"/etc/ntp.conf + cp -Rv "${S}"/etc/ntp.d/ "${ED}"/etc/ + + # move doc files to /usr/share/doc/"${P}" + use doc && mv -v "${ED}"/usr/share/doc/"${PN}" "${ED}"/usr/share/doc/"${P}"/html +} + +python_install() { + waf-utils_src_install --notests + python_fix_shebang "${ED}" + python_optimize +} + +pkg_postinst() { + einfo "If you want to serve time on your local network, then" + einfo "you should disable all the ref_clocks unless you have" + einfo "one and can get stable time from it. Feel free to try" + einfo "it but PPS probably won't work unless you have a UART" + einfo "GPS that actually provides PPS messages." +} diff --git a/net-misc/ntpsec/ntpsec-9999.ebuild b/net-misc/ntpsec/ntpsec-9999.ebuild index f377b0352861..38002f1e3d1d 100644 --- a/net-misc/ntpsec/ntpsec-9999.ebuild +++ b/net-misc/ntpsec/ntpsec-9999.ebuild @@ -3,7 +3,8 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +DISTUTILS_EXT=1 +PYTHON_COMPAT=( python3_{10..11} ) PYTHON_REQ_USE='threads(+)' DISTUTILS_USE_SETUPTOOLS=no @@ -13,13 +14,23 @@ if [[ ${PV} == *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://gitlab.com/NTPsec/ntpsec.git" else - SRC_URI="ftp://ftp.ntpsec.org/pub/releases/${P}.tar.gz" + VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ntpsec.asc + inherit verify-sig + SRC_URI=" + https://ftp.ntpsec.org/pub/releases/${P}.tar.gz + verify-sig? ( https://ftp.ntpsec.org/pub/releases/${P}.tar.gz.asc ) + " KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ntpsec )" fi DESCRIPTION="The NTP reference implementation, refactored" HOMEPAGE="https://www.ntpsec.org/" +LICENSE="HPND MIT BSD-2 BSD CC-BY-SA-4.0" +SLOT="0" + NTPSEC_REFCLOCK=( oncore trimble truetime gpsd jjy generic spectracom shm pps hpgps zyfer arbiter nmea modem local @@ -27,30 +38,37 @@ NTPSEC_REFCLOCK=( IUSE_NTPSEC_REFCLOCK=${NTPSEC_REFCLOCK[@]/#/rclock_} -LICENSE="HPND MIT BSD-2 BSD CC-BY-SA-4.0" -SLOT="0" IUSE="${IUSE_NTPSEC_REFCLOCK} debug doc early gdb heat libbsd nist ntpviz samba seccomp smear" #ionice REQUIRED_USE="${PYTHON_REQUIRED_USE} nist? ( rclock_local )" # net-misc/pps-tools oncore,pps -DEPEND="${PYTHON_DEPS} +DEPEND=" + ${PYTHON_DEPS} dev-libs/openssl:= dev-python/psutil[${PYTHON_USEDEP}] sys-libs/libcap libbsd? ( dev-libs/libbsd:0= ) seccomp? ( sys-libs/libseccomp ) rclock_oncore? ( net-misc/pps-tools ) - rclock_pps? ( net-misc/pps-tools )" -RDEPEND="${DEPEND} + rclock_pps? ( net-misc/pps-tools ) +" +RDEPEND=" + ${DEPEND} !net-misc/ntp !net-misc/openntpd acct-group/ntp acct-user/ntp - ntpviz? ( sci-visualization/gnuplot media-fonts/liberation-fonts )" -BDEPEND=">=app-text/asciidoc-8.6.8 + ntpviz? ( + media-fonts/liberation-fonts + sci-visualization/gnuplot + ) +" +BDEPEND+=" + >=app-text/asciidoc-8.6.8 dev-libs/libxslt app-text/docbook-xsl-stylesheets - sys-devel/bison" + sys-devel/bison +" PATCHES=( "${FILESDIR}/${PN}-1.1.9-remove-asciidoctor-from-config.patch" @@ -74,7 +92,6 @@ src_prepare() { } src_configure() { - is-flagq -flto* && filter-flags -fuse-linker-plugin filter-lto local string_127="" @@ -138,7 +155,7 @@ src_install() { chmod 770 "${ED}"/var/lib/ntp keepdir /var/lib/ntp - # Install a log rotate script + # Install a logrotate script mkdir -pv "${ED}"/etc/logrotate.d cp -v "${S}"/etc/logrotate-config.ntpd "${ED}"/etc/logrotate.d/ntpd |