From a9623dcbb24918843d9454ae04b6b277d25fa2ab Mon Sep 17 00:00:00 2001 From: Stephen Arnold Date: Sun, 4 Aug 2019 21:58:15 -0700 Subject: net-misc/ntpsec: update ebuilds and use flags, fix for bug #685456 * (modified) patch supplied by James Browning only applies to 1.1.4 and up * remove obsolete configure option from 1.1.6 and up Package-Manager: Portage-2.3.67, Repoman-2.3.12 Signed-off-by: Steve Arnold --- net-misc/ntpsec/Manifest | 2 +- net-misc/ntpsec/files/ntpsec-no-bsd.patch | 35 +++++++ net-misc/ntpsec/metadata.xml | 3 +- net-misc/ntpsec/ntpsec-1.1.3.ebuild | 157 ----------------------------- net-misc/ntpsec/ntpsec-1.1.4.ebuild | 162 ++++++++++++++++++++++++++++++ net-misc/ntpsec/ntpsec-1.1.6.ebuild | 11 +- net-misc/ntpsec/ntpsec-9999.ebuild | 11 +- 7 files changed, 216 insertions(+), 165 deletions(-) create mode 100644 net-misc/ntpsec/files/ntpsec-no-bsd.patch delete mode 100644 net-misc/ntpsec/ntpsec-1.1.3.ebuild create mode 100644 net-misc/ntpsec/ntpsec-1.1.4.ebuild (limited to 'net-misc/ntpsec') diff --git a/net-misc/ntpsec/Manifest b/net-misc/ntpsec/Manifest index 3df5149733dd..4b1db6e9657b 100644 --- a/net-misc/ntpsec/Manifest +++ b/net-misc/ntpsec/Manifest @@ -1,2 +1,2 @@ -DIST ntpsec-1.1.3.tar.gz 2462330 BLAKE2B 903e569ad72939def9df31d7b51b2623b140754de67362213f39e39ad770d903d70c45a10a18e98ae35927792666ae27de40b41a5c0bfe6fd8cfa6a37102d4e8 SHA512 df60c5fa63d4c94529ba1e8b21c7d6b5d0c9fb810ed7546a621b072725a6ff03edbd2dcbc3baf19ac3b3a9b82d7aff3ddee4ab8c93559b7065ed06a211b538c4 +DIST ntpsec-1.1.4.tar.gz 2536268 BLAKE2B 320e7afee1b776e0327f8bf34bc0b8cd3a2c67fd9fd16564323ce825cb9e36d7d5fb48a38b734600286cbd039f41f296d9e488e25d2680f08412aa983101987b SHA512 1b74e7cb87e189137e1b66b52ce89498e0061a10abf017c36bfdecb4aefe9c3fb6e8fd7819a9f822fb946dca6ae20ee724b2aed35e03d73f8e3015d8818d02db DIST ntpsec-1.1.6.tar.gz 2600632 BLAKE2B 1ee3e266f9a0ff45fc8f001a2b5a1722c6acf75a2151ee3724812acef3409eccbb865b321a3a346c7ced1770aa24190281a94593b881b4bbb0a2b2e6df5629cc SHA512 f57fde6f329a858313968798d64df5e93d7eba43edf4752cd0eb45ff1a2237ce2731b4603ec997c493dea85edb42976f96eb1508beae087a8c2ae8a76c0a6941 diff --git a/net-misc/ntpsec/files/ntpsec-no-bsd.patch b/net-misc/ntpsec/files/ntpsec-no-bsd.patch new file mode 100644 index 000000000000..66dc9d34d2ef --- /dev/null +++ b/net-misc/ntpsec/files/ntpsec-no-bsd.patch @@ -0,0 +1,35 @@ +--- a/wscript 2019-05-25 07:41:24.783651700 -0700 ++++ b/wscript 2019-06-22 12:47:02.288170100 -0700 +@@ -305,12 +305,6 @@ + ctx.check_cc(lib="m", comment="Math library") + ctx.check_cc(lib="rt", mandatory=False, comment="realtime library") + ctx.check_cc(lib="pthread", mandatory=False, comment="threads library") +- ctx.check_cc(lib="execinfo", mandatory=False, +- comment="BSD backtrace library") +- ret = ctx.check_cc(lib="bsd", mandatory=False, +- comment="BSD compatibility library") +- if ret: +- ctx.env.LDFLAGS += ["-lbsd"] + + # -lssp and -lssp_nonshared may be needed by older gcc to + # support "-fstack-protector-all" +@@ -682,19 +676,6 @@ + prerequisites=ft[1], use=ft[2], + mandatory=ft[3]) + +- # check for BSD versions outside of libc +- if not ctx.get_define("HAVE_STRLCAT"): +- ret = probe_function(ctx, function='strlcat', +- prerequisites=['bsd/string.h']) +- if ret: +- ctx.define("HAVE_STRLCAT", 1, comment="Using bsd/strlcat") +- +- if not ctx.get_define("HAVE_STRLCPY"): +- ret = probe_function(ctx, function='strlcpy', +- prerequisites=['bsd/string.h']) +- if ret: +- ctx.define("HAVE_STRLCPY", 1, comment="Using bsd/strlcpy") +- + # Nobody uses the symbol, but this seems like a good sanity check. + ctx.check_cc(header_name="stdbool.h", mandatory=True, + comment="Sanity check.") diff --git a/net-misc/ntpsec/metadata.xml b/net-misc/ntpsec/metadata.xml index 018f5f40f71b..cba4511bd709 100644 --- a/net-misc/ntpsec/metadata.xml +++ b/net-misc/ntpsec/metadata.xml @@ -16,7 +16,8 @@ NTPsec project - a secure, hardened, and improved implementation of Network Time Drop root privileges early Enable debugging with gdb Install contrib heat generating scripts - Enable lockclock + Use libbsd instead of internal funcs + Set local clock deps Make visualizations of offsets, jiffies, etc. Oncore driver Trimble driver diff --git a/net-misc/ntpsec/ntpsec-1.1.3.ebuild b/net-misc/ntpsec/ntpsec-1.1.3.ebuild deleted file mode 100644 index 320a55e35a49..000000000000 --- a/net-misc/ntpsec/ntpsec-1.1.3.ebuild +++ /dev/null @@ -1,157 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 python3_{5,6} ) -PYTHON_REQ_USE='threads(+)' - -inherit flag-o-matic python-r1 waf-utils systemd user - -if [[ ${PV} == *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.com/NTPsec/ntpsec.git" - BDEPEND="" - KEYWORDS="amd64" -else - SRC_URI="ftp://ftp.ntpsec.org/pub/releases/${PN}-${PV}.tar.gz" - RESTRICT="mirror" - BDEPEND="" - KEYWORDS="amd64 ~arm ~arm64 ~x86" -fi - -DESCRIPTION="The NTP reference implementation, refactored" -HOMEPAGE="https://www.ntpsec.org/" - -NTPSEC_REFCLOCK=( - oncore trimble truetime gpsd jjy generic spectracom - shm pps hpgps zyfer arbiter nmea neoclock modem - local) - -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 libressl nist ntpviz samba seccomp smear tests" #ionice -REQUIRED_USE="${PYTHON_REQUIRED_USE} nist? ( rclock_local )" - -# net-misc/pps-tools oncore,pps -CDEPEND="${PYTHON_DEPS} - ${BDEPEND} - sys-libs/libcap - dev-python/psutil[${PYTHON_USEDEP}] - libressl? ( dev-libs/libressl:0= ) - !libressl? ( dev-libs/openssl:0= ) - seccomp? ( sys-libs/libseccomp ) -" -RDEPEND="${CDEPEND} - ntpviz? ( sci-visualization/gnuplot media-fonts/liberation-fonts ) - !net-misc/ntp - !net-misc/openntpd -" -DEPEND="${CDEPEND} - app-text/asciidoc - app-text/docbook-xsl-stylesheets - sys-devel/bison - rclock_oncore? ( net-misc/pps-tools ) - rclock_pps? ( net-misc/pps-tools ) -" - -WAF_BINARY="${S}/waf" - -pkg_setup() { - enewgroup ntp 123 - enewuser ntp 123 -1 /dev/null ntp -} - -src_prepare() { - default - # Remove autostripping of binaries - sed -i -e '/Strip binaries/d' wscript - python_copy_sources -} - -src_configure() { - is-flagq -flto* && filter-flags -flto* -fuse-linker-plugin - - 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|,$||'`" - - local myconf=( - --nopyc - --nopyo - --refclock="${CLOCKSTRING}" - $(use doc && echo "--enable-doc") - $(use early && echo "--enable-early-droproot") - $(use gdb && echo "--enable-debug-gdb") - $(use nist && echo "--enable-lockclock") - $(use samba && echo "--enable-mssntp") - $(use seccomp && echo "--enable-seccomp") - $(use smear && echo "--enable-leap-smear") - $(use tests && echo "--alltests") - $(use debug && echo "--enable-debug") - ) - - python_configure() { - waf-utils_src_configure "${myconf[@]}" - } - python_foreach_impl run_in_build_dir python_configure -} - -src_compile() { - unset MAKEOPTS - python_compile() { - waf-utils_src_compile - } - python_foreach_impl run_in_build_dir python_compile -} - -src_install() { - python_install() { - waf-utils_src_install - } - python_foreach_impl run_in_build_dir python_install - - # Install heat generating scripts - use heat && dosbin "${S}"/contrib/ntpheat{,usb} - - # Install the openrc files - newinitd "${FILESDIR}"/ntpd.rc-r2 ntp - newconfd "${FILESDIR}"/ntpd.confd ntp - - # Install the systemd unit file - systemd_newunit "${FILESDIR}"/ntpd.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 log rotate 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 -} - -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-1.1.4.ebuild b/net-misc/ntpsec/ntpsec-1.1.4.ebuild new file mode 100644 index 000000000000..eb5900a5e1e1 --- /dev/null +++ b/net-misc/ntpsec/ntpsec-1.1.4.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{5,6} ) +PYTHON_REQ_USE='threads(+)' + +inherit flag-o-matic python-r1 waf-utils systemd user + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/NTPsec/ntpsec.git" + BDEPEND="" + KEYWORDS="" +else + SRC_URI="ftp://ftp.ntpsec.org/pub/releases/${PN}-${PV}.tar.gz" + RESTRICT="mirror" + BDEPEND="" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" +fi + +DESCRIPTION="The NTP reference implementation, refactored" +HOMEPAGE="https://www.ntpsec.org/" + +NTPSEC_REFCLOCK=( + oncore trimble truetime gpsd jjy generic spectracom + shm pps hpgps zyfer arbiter nmea neoclock modem + local) + +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 libressl nist ntpviz samba seccomp smear tests" #ionice +REQUIRED_USE="${PYTHON_REQUIRED_USE} nist? ( rclock_local )" + +# net-misc/pps-tools oncore,pps +CDEPEND="${PYTHON_DEPS} + ${BDEPEND} + sys-libs/libcap + dev-python/psutil[${PYTHON_USEDEP}] + libbsd? ( dev-libs/libbsd:0= ) + libressl? ( dev-libs/libressl:0= ) + !libressl? ( dev-libs/openssl:0= ) + seccomp? ( sys-libs/libseccomp ) +" +RDEPEND="${CDEPEND} + ntpviz? ( sci-visualization/gnuplot media-fonts/liberation-fonts ) + !net-misc/ntp + !net-misc/openntpd +" +DEPEND="${CDEPEND} + app-text/asciidoc + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + sys-devel/bison + rclock_oncore? ( net-misc/pps-tools ) + rclock_pps? ( net-misc/pps-tools ) +" + +WAF_BINARY="${S}/waf" + +pkg_setup() { + enewgroup ntp 123 + enewuser ntp 123 -1 /dev/null ntp +} + +src_prepare() { + default + # Remove autostripping of binaries + sed -i -e '/Strip binaries/d' wscript + if ! use libbsd ; then + epatch "${FILESDIR}/${PN}-no-bsd.patch" + fi + python_copy_sources +} + +src_configure() { + is-flagq -flto* && filter-flags -flto* -fuse-linker-plugin + + 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|,$||'`" + + local myconf=( + --nopyc + --nopyo + --refclock="${CLOCKSTRING}" + $(use doc && echo "--enable-doc") + $(use early && echo "--enable-early-droproot") + $(use gdb && echo "--enable-debug-gdb") + $(use nist && echo "--enable-lockclock") + $(use samba && echo "--enable-mssntp") + $(use seccomp && echo "--enable-seccomp") + $(use smear && echo "--enable-leap-smear") + $(use tests && echo "--alltests") + $(use debug && echo "--enable-debug") + ) + + python_configure() { + waf-utils_src_configure "${myconf[@]}" + } + python_foreach_impl run_in_build_dir python_configure +} + +src_compile() { + unset MAKEOPTS + python_compile() { + waf-utils_src_compile + } + python_foreach_impl run_in_build_dir python_compile +} + +src_install() { + python_install() { + waf-utils_src_install + } + python_foreach_impl run_in_build_dir python_install + + # Install heat generating scripts + use heat && dosbin "${S}"/contrib/ntpheat{,usb} + + # Install the openrc files + newinitd "${FILESDIR}"/ntpd.rc-r2 ntp + newconfd "${FILESDIR}"/ntpd.confd ntp + + # Install the systemd unit file + systemd_newunit "${FILESDIR}"/ntpd.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 log rotate 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 +} + +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-1.1.6.ebuild b/net-misc/ntpsec/ntpsec-1.1.6.ebuild index d8f848a621db..cbf16e45b9f8 100644 --- a/net-misc/ntpsec/ntpsec-1.1.6.ebuild +++ b/net-misc/ntpsec/ntpsec-1.1.6.ebuild @@ -32,15 +32,17 @@ 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 nist ntpviz samba seccomp smear tests" #ionice +IUSE="${IUSE_NTPSEC_REFCLOCK} debug doc early gdb heat libbsd libressl nist ntpviz samba seccomp smear tests" #ionice REQUIRED_USE="${PYTHON_REQUIRED_USE} nist? ( rclock_local )" # net-misc/pps-tools oncore,pps CDEPEND="${PYTHON_DEPS} ${BDEPEND} sys-libs/libcap - dev-libs/openssl:0= dev-python/psutil[${PYTHON_USEDEP}] + libbsd? ( dev-libs/libbsd:0= ) + libressl? ( dev-libs/libressl:0= ) + !libressl? ( dev-libs/openssl:0= ) seccomp? ( sys-libs/libseccomp ) " RDEPEND="${CDEPEND} @@ -50,6 +52,7 @@ RDEPEND="${CDEPEND} " DEPEND="${CDEPEND} app-text/asciidoc + dev-libs/libxslt app-text/docbook-xsl-stylesheets sys-devel/bison rclock_oncore? ( net-misc/pps-tools ) @@ -67,6 +70,9 @@ src_prepare() { default # Remove autostripping of binaries sed -i -e '/Strip binaries/d' wscript + if ! use libbsd ; then + epatch "${FILESDIR}/${PN}-no-bsd.patch" + fi python_copy_sources } @@ -91,7 +97,6 @@ src_configure() { $(use doc && echo "--enable-doc") $(use early && echo "--enable-early-droproot") $(use gdb && echo "--enable-debug-gdb") - $(use nist && echo "--enable-lockclock") $(use samba && echo "--enable-mssntp") $(use seccomp && echo "--enable-seccomp") $(use smear && echo "--enable-leap-smear") diff --git a/net-misc/ntpsec/ntpsec-9999.ebuild b/net-misc/ntpsec/ntpsec-9999.ebuild index d8f848a621db..cbf16e45b9f8 100644 --- a/net-misc/ntpsec/ntpsec-9999.ebuild +++ b/net-misc/ntpsec/ntpsec-9999.ebuild @@ -32,15 +32,17 @@ 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 nist ntpviz samba seccomp smear tests" #ionice +IUSE="${IUSE_NTPSEC_REFCLOCK} debug doc early gdb heat libbsd libressl nist ntpviz samba seccomp smear tests" #ionice REQUIRED_USE="${PYTHON_REQUIRED_USE} nist? ( rclock_local )" # net-misc/pps-tools oncore,pps CDEPEND="${PYTHON_DEPS} ${BDEPEND} sys-libs/libcap - dev-libs/openssl:0= dev-python/psutil[${PYTHON_USEDEP}] + libbsd? ( dev-libs/libbsd:0= ) + libressl? ( dev-libs/libressl:0= ) + !libressl? ( dev-libs/openssl:0= ) seccomp? ( sys-libs/libseccomp ) " RDEPEND="${CDEPEND} @@ -50,6 +52,7 @@ RDEPEND="${CDEPEND} " DEPEND="${CDEPEND} app-text/asciidoc + dev-libs/libxslt app-text/docbook-xsl-stylesheets sys-devel/bison rclock_oncore? ( net-misc/pps-tools ) @@ -67,6 +70,9 @@ src_prepare() { default # Remove autostripping of binaries sed -i -e '/Strip binaries/d' wscript + if ! use libbsd ; then + epatch "${FILESDIR}/${PN}-no-bsd.patch" + fi python_copy_sources } @@ -91,7 +97,6 @@ src_configure() { $(use doc && echo "--enable-doc") $(use early && echo "--enable-early-droproot") $(use gdb && echo "--enable-debug-gdb") - $(use nist && echo "--enable-lockclock") $(use samba && echo "--enable-mssntp") $(use seccomp && echo "--enable-seccomp") $(use smear && echo "--enable-leap-smear") -- cgit v1.2.3-65-gdbad