diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
| commit | bfd9c39e4712ebdb442d4ca0673061faed1e70e1 (patch) | |
| tree | 0d7a74b4463ee387f9cf9368ceb1b757f694f72a /net-analyzer/symon | |
| parent | f716a9fe6455d39eef01e718aae68dae61c19704 (diff) | |
| download | baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.gz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.xz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.zip | |
Revert "Adding metadata"
This reverts commit f716a9fe6455d39eef01e718aae68dae61c19704.
Diffstat (limited to 'net-analyzer/symon')
| -rw-r--r-- | net-analyzer/symon/Manifest | 2 | ||||
| -rw-r--r-- | net-analyzer/symon/files/symon-2.89-condition-makefiles.patch | 39 | ||||
| -rw-r--r-- | net-analyzer/symon/files/symon-2.89-extern_c.patch | 441 | ||||
| -rw-r--r-- | net-analyzer/symon/files/symon-init.d | 32 | ||||
| -rw-r--r-- | net-analyzer/symon/files/symon.conf | 14 | ||||
| -rw-r--r-- | net-analyzer/symon/files/symux-init.d | 32 | ||||
| -rw-r--r-- | net-analyzer/symon/files/symux.conf | 35 | ||||
| -rw-r--r-- | net-analyzer/symon/metadata.xml | 15 | ||||
| -rw-r--r-- | net-analyzer/symon/symon-2.89.ebuild | 99 | ||||
| -rw-r--r-- | net-analyzer/symon/symon-2.90.ebuild | 98 |
10 files changed, 807 insertions, 0 deletions
diff --git a/net-analyzer/symon/Manifest b/net-analyzer/symon/Manifest new file mode 100644 index 000000000000..a1d54d83f8f7 --- /dev/null +++ b/net-analyzer/symon/Manifest @@ -0,0 +1,2 @@ +DIST symon-2.89.tar.gz 106210 BLAKE2B d87fececf6e1e6dc9c39c0474e2a3e5bb6bb47b9a256e377385302a011532d94b751572040594b62962d4b2c2ac2d5bbd90513a79ab82bd69aeb4f30e93609a1 SHA512 631870aafbd29610a0ddc936f86ab12c16c3b19454b6bd98b3f1a1179767be890f9ea828dddcb8d79278f2c10b67631184386d6deb8ffb5c090d7bdc558e5db7 +DIST symon-2.90.tar.gz 102807 BLAKE2B 9ae6042a3376154ed3548d81ddf2bd2fda611f3009d1f12f0dfec957226951c004fc6351933aa78a021bbaa3ffdf0cf4ce0739d861d9e64bf48906c6e4df3f16 SHA512 b6d3664660f119f9f62a3e9cd7fb7d72df7356adf8544a65cb467b9d18b18a5252e3b3cc57ee21f72e45b8dd4f57063a3c876ed736413c11a57575568857aefc diff --git a/net-analyzer/symon/files/symon-2.89-condition-makefiles.patch b/net-analyzer/symon/files/symon-2.89-condition-makefiles.patch new file mode 100644 index 000000000000..76ff4f517da7 --- /dev/null +++ b/net-analyzer/symon/files/symon-2.89-condition-makefiles.patch @@ -0,0 +1,39 @@ +Fold sed that injects LDFLAGS. Inject CFLAGS too. +Remove hardcoded CFLAGS. Remove strip that previously was sidestepped +by setting STRIP=true in ebuild +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -2,7 +2,6 @@ + + AR?= ar + CC?= cc +-CFLAGS+=-g -Wall -Wpedantic -Wextra -Wno-unused-parameter -Werror + INSTALL?=install + LORDER?=lorder + TSORT?=tsort +--- a/symon/Makefile ++++ b/symon/Makefile +@@ -21,9 +21,8 @@ + ${OBJS}: conf.h + + symon: ${OBJS} +- ${CC} -o $@ ${OBJS} ${LIBS} ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ${OBJS} ${LIBS} + .ifndef DEBUG +- ${STRIP} $@ + .endif + + clean: +--- a/symux/Makefile ++++ b/symux/Makefile +@@ -10,9 +10,8 @@ + all: symux symux.cat8 + + symux: ${OBJS} +- ${CC} -o $@ ${OBJS} ${LIBS} ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ${OBJS} ${LIBS} + .ifndef DEBUG +- ${STRIP} $@ + .endif + + clean: diff --git a/net-analyzer/symon/files/symon-2.89-extern_c.patch b/net-analyzer/symon/files/symon-2.89-extern_c.patch new file mode 100644 index 000000000000..088f8c53ec6c --- /dev/null +++ b/net-analyzer/symon/files/symon-2.89-extern_c.patch @@ -0,0 +1,441 @@ +Replace internal glib definition with correct C++ guard +https://bugs.gentoo.org/716080 +--- a/lib/data.c ++++ b/lib/data.c +@@ -54,14 +54,18 @@ + #include "net.h" + #include "xmalloc.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int bytelenvar(char); + int checklen(int, int, int); + struct stream *create_stream(int, char *); + char *formatstrvar(char); + char *rrdstrvar(char); + int strlenvar(char); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + /* Stream formats + * +--- a/lib/data.h ++++ b/lib/data.h +@@ -38,6 +38,8 @@ + #ifndef _SYMON_LIB_DATA_H + #define _SYMON_LIB_DATA_H + ++#include <sys/types.h> ++ + #include "platform.h" + + #include <stdarg.h> + +--- a/lib/error.c ++++ b/lib/error.c +@@ -27,8 +27,6 @@ + * POSSIBILITY OF SUCH DAMAGE. + * + */ +-#include <sys/cdefs.h> +- + #include <limits.h> + #include <stdarg.h> + #include <stdio.h> +@@ -38,9 +36,13 @@ + + #include "error.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void output_message(int, char *, va_list); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + int flag_daemon = 0; + int flag_debug = 0; +--- a/lib/error.h ++++ b/lib/error.h +@@ -31,17 +31,19 @@ + #ifndef _SYMON_LIB_ERROR_H + #define _SYMON_LIB_ERROR_H + +-#include <sys/cdefs.h> +- + extern char *__progname; + extern int flag_debug; + extern int flag_daemon; + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void fatal(char *,...); + void warning(char *,...); + void info(char *,...); + void debug(char *,...); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* _SYMON_LIB_ERROR_H */ +--- a/lib/lex.h ++++ b/lib/lex.h +@@ -36,8 +36,6 @@ + #ifndef _SYMON_LIB_LEX_H + #define _SYMON_LIB_LEX_H + +-#include <sys/cdefs.h> +- + #include <stdio.h> + + /* Tokens known to lex */ +@@ -100,7 +98,9 @@ + type; /* type of token in buffer */ + }; + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + char *parse_opcode(int); + int lex_nexttoken(struct lex *); + int parse_token(const char *); +@@ -110,7 +110,9 @@ + void parse_error(struct lex *, const char *); + void reset_lex(struct lex *); + void rewind_lex(struct lex *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + /* EXPECT(l,x) = next token in l must be opcode x or error. */ + #define EXPECT(l, x) do { \ +--- a/lib/net.h ++++ b/lib/net.h +@@ -40,7 +40,9 @@ + extern char res_service[]; + extern struct sockaddr_storage res_addr; + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int cmpsock_addr(struct sockaddr *, struct sockaddr *); + int get_numeric_name(struct sockaddr_storage *); + int getaddr(char *, char *, int, int); +@@ -50,6 +52,8 @@ + void get_sockaddr(struct sockaddr_storage *, int, int, int, char*, char *); + void get_mux_sockaddr(struct mux *, int); + int get_source_sockaddr(struct source *, int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* _SYMON_LIB_NET_H */ +--- a/lib/xmalloc.h ++++ b/lib/xmalloc.h +@@ -18,10 +18,14 @@ + #include <sys/types.h> + + /* Like malloc and friends, but these call fatal if something breaks */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void *xmalloc(size_t); + void *xrealloc(void *, size_t); + void xfree(void *); + char *xstrdup(const char *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + #endif /* _SYMON_LIB_XMALLOC_H */ +--- a/symon/readconf.c ++++ b/symon/readconf.c +@@ -40,11 +40,15 @@ + #include "symon.h" + #include "xmalloc.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int read_host_port(struct muxlist *, struct mux *, struct lex *); + int read_symon_args(struct mux *, struct lex *); + int read_monitor(struct muxlist *, struct lex *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + const char *default_symux_port = SYMUX_PORT; + +--- a/symon/readconf.h ++++ b/symon/readconf.h +@@ -33,7 +33,11 @@ + + #include "data.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int read_config_file(struct muxlist *, char *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + #endif /* _SYMON_READCONF_H */ +--- a/symon/symon.c ++++ b/symon/symon.c +@@ -53,13 +53,17 @@ + #include "symonnet.h" + #include "xmalloc.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void alarmhandler(int); + void exithandler(int); + void huphandler(int); + void init_streams(struct muxlist *mul); + void drop_privileges(int unsecure); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + int flag_unsecure = 0; + int flag_hup = 0; +--- a/symon/symon.h ++++ b/symon/symon.h +@@ -59,7 +59,9 @@ + extern time_t now; + + /* prototypes */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + /* sm_cpu.c */ + extern void init_cpu(struct stream *); + extern void gets_cpu(void); +@@ -136,6 +138,8 @@ + void gets_flukso(void); + int get_flukso(char *, int, struct stream *); + +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* _SYMON_SYMON_H */ +--- a/symon/symonnet.h ++++ b/symon/symonnet.h +@@ -34,11 +34,15 @@ + #include "data.h" + + /* prototypes */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void connect2mux(struct mux *); + void send_packet(struct mux *); + void prepare_packet(struct mux *, time_t t); + void stream_in_packet(struct stream *, struct mux *); + void finish_packet(struct mux *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + #endif /* _SYMON_SYMONNET_H */ +--- a/symux/readconf.c ++++ b/symux/readconf.c +@@ -28,8 +28,8 @@ + * + */ + +-#include <sys/stat.h> ++#include <sys/stat.h> + + #include <string.h> + #include <fcntl.h> + #include <unistd.h> +@@ -42,12 +42,15 @@ + #include "readconf.h" + #include "xmalloc.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int read_mux(struct muxlist * mul, struct lex *); + int read_source(struct sourcelist * sol, struct lex *, int); + int insert_filename(char *, int, int, char *); +-__END_DECLS +- ++#ifdef __cplusplus ++} ++#endif + const char *default_symux_port = SYMUX_PORT; + + int +--- a/symux/readconf.h ++++ b/symux/readconf.h +@@ -34,8 +34,12 @@ + + #include "data.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int read_config_file(struct muxlist *, const char *, int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* _SYMUX_READCONF_H */ +--- a/symux/share.c ++++ b/symux/share.c +@@ -76,7 +76,9 @@ + * + */ + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void check_master(void); + void check_sem(void); + void client_doneread(void); +@@ -86,7 +88,9 @@ + void exitmaster(void); + void master_resetsem(int); + void reap_clients(void); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + int realclients; /* number of clients active */ + int newclients; +--- a/symux/share.h ++++ b/symux/share.h +@@ -47,7 +47,9 @@ + }; + + /* prototypes */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int master_forbidread(void); + void master_permitread(void); + long shared_getlen(int); +@@ -56,6 +58,8 @@ + void initshare(int); + void shared_setlen(int, long); + pid_t spawn_client(int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* _SYMUX_SHARE_H */ +--- a/symux/symux.c ++++ b/symux/symux.c +@@ -56,11 +56,15 @@ + + #include "platform.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + void exithandler(int); + void huphandler(int); + void signalhandler(int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + int flag_hup = 0; + int flag_testconf = 0; +--- a/symux/symuxnet.c ++++ b/symux/symuxnet.c +@@ -46,9 +46,13 @@ + #include "xmalloc.h" + #include "share.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int check_crc_packet(struct symonpacket *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + /* Obtain sockets for incoming symon traffic */ + int +--- a/symux/symuxnet.h ++++ b/symux/symuxnet.h +@@ -34,11 +34,15 @@ + #include "data.h" + + /* prototypes */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + int get_client_socket(struct mux *); + int get_symon_sockets(struct mux *); + int accept_connection(int); + int recv_symon_packet(struct mux *, int, struct source **); + void wait_for_traffic(struct mux *, struct source **); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + #endif /* _SYMUX_SYMUXNET_H */ +--- a/lib/data.h ++++ b/lib/data.h +@@ -358,7 +360,9 @@ + }; + + /* prototypes */ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + char *type2str(const int); + int bytelen_sourcelist(struct sourcelist *); + int bytelen_streamlist(struct streamlist *); +@@ -393,5 +397,7 @@ + void init_crc32(void); + void init_symon_packet(struct mux *); + void init_symux_packet(struct mux *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + #endif /* _SYMON_LIB_DATA_H */ diff --git a/net-analyzer/symon/files/symon-init.d b/net-analyzer/symon/files/symon-init.d new file mode 100644 index 000000000000..3d48b793e597 --- /dev/null +++ b/net-analyzer/symon/files/symon-init.d @@ -0,0 +1,32 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the 2-clause BSD license + +extra_started_commands="reload" + +depend() { + after bootmisc + need localmount net + use logger +} + +reload() { + ebegin "Reloading symon" + start-stop-daemon \ + --pidfile /run/symon.pid \ + --exec /usr/sbin/symon \ + --signal HUP + eend $? +} + +start() { + ebegin "Starting symon" + start-stop-daemon --start --exec /usr/sbin/symon -- -u + eend $? +} + +stop() { + ebegin "Stopping symon" + start-stop-daemon --stop --pidfile /run/symon.pid + eend $? +} diff --git a/net-analyzer/symon/files/symon.conf b/net-analyzer/symon/files/symon.conf new file mode 100644 index 000000000000..920662185e58 --- /dev/null +++ b/net-analyzer/symon/files/symon.conf @@ -0,0 +1,14 @@ +# +# Demo configuration for symon. See symon(8) for BNF. +# + +monitor { cpu(0), mem, + if(lo), +# cpuiow(0), +# sensor(fan0), sensor(in0), sensor(temp0), +# if(eth0), if(eth1), if(eth2), +# df(sda), +# smart(sda), +# io(hda), io(hdb), io(hdc), io(hdd) + io(sda) +} stream to 127.0.0.1 2100 diff --git a/net-analyzer/symon/files/symux-init.d b/net-analyzer/symon/files/symux-init.d new file mode 100644 index 000000000000..452d4581b807 --- /dev/null +++ b/net-analyzer/symon/files/symux-init.d @@ -0,0 +1,32 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the 2-clause BSD license + +extra_started_commands="reload" + +depend() { + after bootmisc + need localmount net + use logger +} + +reload() { + ebegin "Reloading symux" + start-stop-daemon \ + --pidfile /run/symux.pid \ + --exec /usr/sbin/symux \ + --signal HUP + eend $? +} + +start() { + ebegin "Starting symux" + start-stop-daemon --start --exec /usr/sbin/symux + eend $? +} + +stop() { + ebegin "Stopping symux" + start-stop-daemon --stop --pidfile /run/symux.pid + eend $? +} diff --git a/net-analyzer/symon/files/symux.conf b/net-analyzer/symon/files/symux.conf new file mode 100644 index 000000000000..fa0ed50631d7 --- /dev/null +++ b/net-analyzer/symon/files/symux.conf @@ -0,0 +1,35 @@ +# +# Demo symux configuration. See symux(8) for BNF. +# + +mux 127.0.0.1 2100 + +source 127.0.0.1 { + accept { cpu(0), mem, + if(lo), +# cpuiow(0), +# sensor(fan0), sensor(in0), sensor(temp0), +# if(eth0), if(eth1), if(eth2), +# df(sda), +# smart(sda), +# io(hda), io(hdb), io(hdc), io(hdd) + io(sda) + } + datadir "/var/lib/symon/rrds/localhost" +} + +# an example showing the write directive +# +# source 10.0.0.2 { +# accept { cpu(0), mem, if(eth0), if(eth1), +# if(lo), if(eth2), io(sda) +# } +# +# write cpu(0) in "/var/lib/symon/rrds/<host>/cpu0.rrd" +# write mem in "/var/lib/symon/rrds/<host>/mem.rrd" +# write if(eth0) in "/var/lib/symon/rrds/<host>/if_eth0.rrd" +# write if(eth1) in "/var/lib/symon/rrds/<host>/if_eth1.rrd" +# write if(lo) in "/var/lib/symon/rrds/<host>/if_lo.rrd" +# write if(eth2) in "/var/lib/symon/rrds/<host>/if_eth2.rrd" +# write io(sda) in "/var/lib/symon/rrds/<host>/io_sda.rrd" +# } diff --git a/net-analyzer/symon/metadata.xml b/net-analyzer/symon/metadata.xml new file mode 100644 index 000000000000..324d9ed6fee9 --- /dev/null +++ b/net-analyzer/symon/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>netmon@gentoo.org</email> + <name>Gentoo network monitoring and analysis project</name> + </maintainer> + <use> + <flag name="perl">Enables a generic perl symux client</flag> + <flag name="symon">Enables the system monitor. Offers no functionality + but monitoring and forwarding of measured data</flag> + <flag name="symux">Enables the multiplexer which stores incoming symon + streams on disk in RRD (<pkg>net-analyzer/rrdtool</pkg>) files</flag> + </use> +</pkgmetadata> diff --git a/net-analyzer/symon/symon-2.89.ebuild b/net-analyzer/symon/symon-2.89.ebuild new file mode 100644 index 000000000000..ae76643393c0 --- /dev/null +++ b/net-analyzer/symon/symon-2.89.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo perl-module toolchain-funcs + +DESCRIPTION="Performance and information monitoring tool" +HOMEPAGE="https://wpd.home.xs4all.nl/symon/" +SRC_URI="https://wpd.home.xs4all.nl/symon/philes/${P}.tar.gz" +S="${WORKDIR}"/${PN} + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" +IUSE="perl +symon symux" +REQUIRED_USE="|| ( perl symon symux )" +# there are no tests, trying to run them fails because pmakefile +RESTRICT="test" + +BDEPEND="dev-build/pmake" +RDEPEND=" + perl? ( dev-lang/perl ) + symux? ( net-analyzer/rrdtool ) +" +DEPEND="${RDEPEND}" + +# Deletes the directory passed as an argument from the internal pmake +# variable SUBDIR. +zap_subdir() { + sed -i "/^SUBDIR/s|$1||" Makefile || die +} + +PATCHES=( + "${FILESDIR}/${P}-condition-makefiles.patch" + "${FILESDIR}/${P}-extern_c.patch" +) + +src_configure() { + # Do some sed magic in accordance with the USE flags. + use perl && ! use symon && ! use symux && zap_subdir lib + ! use perl && zap_subdir client + ! use symux && zap_subdir symux + ! use symon && zap_subdir symon +} + +src_compile() { + edo pmake CC="$(tc-getCC)" CFLAGS+="${CFLAGS}" LDFLAGS+="${LDFLAGS}" +} + +src_install() { + if use symon; then + insinto /etc + doins "${FILESDIR}"/symon.conf + + newinitd "${FILESDIR}"/symon-init.d symon + + dodoc CHANGELOG HACKERS TODO + + doman symon/symon.8 + dosbin symon/symon + fi + + if use perl; then + dobin client/getsymonitem.pl + + perl_set_version + insinto ${VENDOR_LIB} + doins client/SymuxClient.pm + fi + + if use symux; then + insinto /etc + doins "${FILESDIR}"/symux.conf + + newinitd "${FILESDIR}"/symux-init.d symux + + doman symux/symux.8 + dosbin symux/symux + + insinto /usr/share/symon + doins symux/c_smrrds.sh + fperms a+x /usr/share/symon/c_smrrds.sh + + dodir /var/lib/symon/rrds/localhost + keepdir /var/lib/symon/rrds/localhost + fi +} + +pkg_postinst() { + if use symux; then + elog "The RRDs files can be obtained by running" + elog "/usr/share/symon/c_smrrds.sh all." + elog "For information about migrating RRDs from a previous" + elog "symux version read the LEGACY FORMATS section of symux(8)." + elog "To view the rrdtool pictures of the stored data, emerge" + elog "net-analyzer/syweb." + fi +} diff --git a/net-analyzer/symon/symon-2.90.ebuild b/net-analyzer/symon/symon-2.90.ebuild new file mode 100644 index 000000000000..371ba28573fb --- /dev/null +++ b/net-analyzer/symon/symon-2.90.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo perl-module toolchain-funcs + +DESCRIPTION="Performance and information monitoring tool" +HOMEPAGE="https://wpd.home.xs4all.nl/symon/" +SRC_URI="https://wpd.home.xs4all.nl/symon/philes/${P}.tar.gz" +S="${WORKDIR}"/${PN} + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" +IUSE="perl +symon symux" +REQUIRED_USE="|| ( perl symon symux )" +# there are no tests, trying to run them fails because pmakefile +RESTRICT="test" + +BDEPEND="dev-build/pmake" +RDEPEND=" + perl? ( dev-lang/perl ) + symux? ( net-analyzer/rrdtool ) +" +DEPEND="${RDEPEND}" + +# Deletes the directory passed as an argument from the internal pmake +# variable SUBDIR. +zap_subdir() { + sed -i "/^SUBDIR/s|$1||" Makefile || die +} + +PATCHES=( + "${FILESDIR}/${PN}-2.89-condition-makefiles.patch" +) + +src_configure() { + # Do some sed magic in accordance with the USE flags. + use perl && ! use symon && ! use symux && zap_subdir lib + ! use perl && zap_subdir client + ! use symux && zap_subdir symux + ! use symon && zap_subdir symon +} + +src_compile() { + edo pmake CC="$(tc-getCC)" CFLAGS+="${CFLAGS}" LDFLAGS+="${LDFLAGS}" +} + +src_install() { + if use symon; then + insinto /etc + doins "${FILESDIR}"/symon.conf + + newinitd "${FILESDIR}"/symon-init.d symon + + dodoc CHANGELOG HACKERS TODO + + doman symon/symon.8 + dosbin symon/symon + fi + + if use perl; then + dobin client/getsymonitem.pl + + perl_set_version + insinto ${VENDOR_LIB} + doins client/SymuxClient.pm + fi + + if use symux; then + insinto /etc + doins "${FILESDIR}"/symux.conf + + newinitd "${FILESDIR}"/symux-init.d symux + + doman symux/symux.8 + dosbin symux/symux + + insinto /usr/share/symon + doins symux/c_smrrds.sh + fperms a+x /usr/share/symon/c_smrrds.sh + + dodir /var/lib/symon/rrds/localhost + keepdir /var/lib/symon/rrds/localhost + fi +} + +pkg_postinst() { + if use symux; then + elog "The RRDs files can be obtained by running" + elog "/usr/share/symon/c_smrrds.sh all." + elog "For information about migrating RRDs from a previous" + elog "symux version read the LEGACY FORMATS section of symux(8)." + elog "To view the rrdtool pictures of the stored data, emerge" + elog "net-analyzer/syweb." + fi +} |
