Hi ports@,
Below is a diff that updates sysutils/monit to 5.27.0. Tested on amd64.
Some notes:
1) I added a patch to make sure the -fcf-protection=full compiler option
is not used. If this option is used, the compiler emits
.note.gnu.property ELF section headers and as a result, the produced
binary does not run: some garbage is printed to the screen and the
output ends as follows if I try to run it:
/usr/local/bin/monit[2]:: not found
/usr/local/bin/monit[2]: L: not found
/usr/local/bin/monit[20]: syntax error: `(' unexpected
I don't know if just patching away the use of this compiler option is
the way to go or that something else would be better. Feedback on that
is appreciated.
jasper@ helped me figure out that the presence of the
.note.gnu.property section header was to blame, thanks for that.
2) I made the use of C99 explicit by appending -std=c99 to CFLAGS since
at least C99 is required now. Borrowed from some commits I've seen
from kmos@.
3) The tarball does not contain a README anymore so don't install it
in the post-install target.
Thanks,
Caspar Schutijser
Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/monit/Makefile,v
retrieving revision 1.64
diff -u -p -r1.64 Makefile
--- Makefile 14 Sep 2019 21:18:18 -0000 1.64
+++ Makefile 26 Jul 2020 11:05:17 -0000
@@ -2,7 +2,7 @@
COMMENT= monitoring and managing daemons utility
-DISTNAME= monit-5.26.0
+DISTNAME= monit-5.27.0
CATEGORIES= sysutils
@@ -19,6 +19,9 @@ MASTER_SITES= ${HOMEPAGE}/dist/
CONFIGURE_STYLE=gnu
+# Must specify C99 for base-gcc
+CFLAGS+= -std=c99
+
SUBST_VARS= LOCALSTATEDIR
pre-configure:
@@ -26,7 +29,6 @@ pre-configure:
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/{doc,examples}/monit
- ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/monit
${INSTALL_DATA} ${WRKSRC}/monitrc ${PREFIX}/share/examples/monit
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/sysutils/monit/distinfo,v
retrieving revision 1.42
diff -u -p -r1.42 distinfo
--- distinfo 14 Sep 2019 21:18:18 -0000 1.42
+++ distinfo 26 Jul 2020 11:05:17 -0000
@@ -1,2 +1,2 @@
-SHA256 (monit-5.26.0.tar.gz) = h/xFaKOvmivokEDvsWnjouR7Ji+Z541d3emd2J8C88I=
-SIZE (monit-5.26.0.tar.gz) = 1371327
+SHA256 (monit-5.27.0.tar.gz) = 2MDe72JPGTqVJQL+m6q/pm49jQV99XONpD+aN3kq/KQ=
+SIZE (monit-5.27.0.tar.gz) = 1455341
Index: patches/patch-Makefile_in
===================================================================
RCS file: /cvs/ports/sysutils/monit/patches/patch-Makefile_in,v
retrieving revision 1.4
diff -u -p -r1.4 patch-Makefile_in
--- patches/patch-Makefile_in 14 Sep 2019 21:18:18 -0000 1.4
+++ patches/patch-Makefile_in 26 Jul 2020 11:05:17 -0000
@@ -1,12 +1,12 @@
$OpenBSD: patch-Makefile_in,v 1.4 2019/09/14 21:18:18 sthen Exp $
-Using $< in a non-suffix rule context is a GNUmake idiom (Makefile:1279)
+Using $< in a non-suffix rule context is a GNUmake idiom.
Index: Makefile.in
--- Makefile.in.orig
+++ Makefile.in
-@@ -1297,7 +1297,7 @@ cleanall: clean distclean
- -rm -rf m4 config
+@@ -1326,7 +1326,7 @@ cleanall: clean distclean
+ -git clean -fxd
monit.1: doc/monit.pod
- $(POD2MAN) $(POD2MANFLAGS) $< > $@
@@ -14,3 +14,16 @@ Index: Makefile.in
-rm -f pod2*
# -------------
+@@ -1337,10 +1337,10 @@ src/y.tab.c src/y.tab.h: run-yacc
+
+ .INTERMEDIATE: run-yacc
+ run-yacc: src/p.y
+- $(YACC) $(YACCFLAGS) -o src/y.tab.c $<
++ $(YACC) $(YACCFLAGS) -o src/y.tab.c src/p.y
+
+ src/lex.yy.c: src/l.l
+- $(FLEX) $(FLEXFLAGS) -o$@ $<
++ $(FLEX) $(FLEXFLAGS) -o$@ src/l.l
+ @WITH_CODESIGN_TRUE@all-local: $(bin_PROGRAMS)
+ @WITH_CODESIGN_TRUE@ $(foreach file, $(bin_PROGRAMS), codesign -s
$(CODESIGN_IDENTITY) -v --deep --timestamp --options runtime $(file))
+
Index: patches/patch-configure
===================================================================
RCS file: patches/patch-configure
diff -N patches/patch-configure
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-configure 26 Jul 2020 11:05:17 -0000
@@ -0,0 +1,51 @@
+$OpenBSD$
+
+Patch away the detection/use of -fcf-protection=full. This compiler option
+results in .note.gnu.property ELF section headers being emitted and (at least)
+ld.lld(1) does not like this section header.
+
+Index: configure
+--- configure.orig
++++ configure
+@@ -4473,41 +4473,6 @@ else
+ :
+ fi
+
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler
accepts -fcf-protection=full" >&5
+-$as_echo_n "checking whether C compiler accepts -fcf-protection=full... "
>&6; }
+-if ${ax_cv_check_cflags___fcf_protection_full+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+-
+- ax_check_save_flags=$CFLAGS
+- CFLAGS="$CFLAGS -fcf-protection=full"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"; then :
+- ax_cv_check_cflags___fcf_protection_full=yes
+-else
+- ax_cv_check_cflags___fcf_protection_full=no
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+- CFLAGS=$ax_check_save_flags
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
$ax_cv_check_cflags___fcf_protection_full" >&5
+-$as_echo "$ax_cv_check_cflags___fcf_protection_full" >&6; }
+-if test "x$ax_cv_check_cflags___fcf_protection_full" = xyes; then :
+- CFLAGS="$CFLAGS -fcf-protection=full"
+-else
+- :
+-fi
+-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler
accepts -fstack-clash-protection" >&5
+ $as_echo_n "checking whether C compiler accepts -fstack-clash-protection... "
>&6; }
+ if ${ax_cv_check_cflags___fstack_clash_protection+:} false; then :
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/sysutils/monit/pkg/PLIST,v
retrieving revision 1.11
diff -u -p -r1.11 PLIST
--- pkg/PLIST 1 May 2019 19:21:57 -0000 1.11
+++ pkg/PLIST 26 Jul 2020 11:05:17 -0000
@@ -3,7 +3,6 @@
@bin bin/monit
@man man/man1/monit.1
share/doc/monit/
-share/doc/monit/README
share/examples/monit/
share/examples/monit/monitrc
@mode 0600