summaryrefslogtreecommitdiff
path: root/net-misc/dibbler
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /net-misc/dibbler
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'net-misc/dibbler')
-rw-r--r--net-misc/dibbler/Manifest1
-rw-r--r--net-misc/dibbler/dibbler-1.0.1-r4.ebuild68
-rw-r--r--net-misc/dibbler/files/dibbler-1.0.1-clang-16-musl-fix.patch74
-rw-r--r--net-misc/dibbler/files/dibbler-1.0.1-fno-common.patch25
-rw-r--r--net-misc/dibbler/files/dibbler-1.0.1-gnu-ism.patch83
-rw-r--r--net-misc/dibbler/files/dibbler-client19
-rw-r--r--net-misc/dibbler/files/dibbler-client.service8
-rw-r--r--net-misc/dibbler/files/dibbler-relay19
-rw-r--r--net-misc/dibbler/files/dibbler-server19
-rw-r--r--net-misc/dibbler/metadata.xml12
10 files changed, 328 insertions, 0 deletions
diff --git a/net-misc/dibbler/Manifest b/net-misc/dibbler/Manifest
new file mode 100644
index 000000000000..392712d90873
--- /dev/null
+++ b/net-misc/dibbler/Manifest
@@ -0,0 +1 @@
+DIST dibbler-1.0.1.tar.gz 4375118 BLAKE2B 1418a20ecf96f0793b25165d2790bb12aec0dc9ffbdf248f996f736e375f466a5853f698bc3da753dae57db4493a662cc8962e5d1fb6d9dd7c0c9d893128773e SHA512 2369d4a3ca50a1c60bd5a47bf4168d4c113e2fdcb1ae4d937a3bf226c057142f2e81f6c46bf4e1dfa9ca0d2e92f7f857572a4bfb0d0dd721c35efe762e6c3ea0
diff --git a/net-misc/dibbler/dibbler-1.0.1-r4.ebuild b/net-misc/dibbler/dibbler-1.0.1-r4.ebuild
new file mode 100644
index 000000000000..84707e2e900e
--- /dev/null
+++ b/net-misc/dibbler/dibbler-1.0.1-r4.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit flag-o-matic readme.gentoo-r1 systemd
+
+DESCRIPTION="Portable DHCPv6 implementation (server, client and relay)"
+HOMEPAGE="http://klub.com.pl/dhcpv6/"
+SRC_URI="http://klub.com.pl/dhcpv6/dibbler/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~hppa ~mips x86"
+IUSE="doc resolvconf"
+
+RDEPEND="resolvconf? ( virtual/resolvconf )"
+DEPEND="${RDEPEND}
+ doc? ( dev-texlive/texlive-latexextra )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fno-common.patch
+ "${FILESDIR}"/${P}-gnu-ism.patch
+ "${FILESDIR}"/${P}-clang-16-musl-fix.patch
+)
+
+DOC_CONTENTS="Make sure that you modify client.conf, server.conf and/or relay.conf
+to suit your needs. They are stored in /etc/dibbler"
+
+src_configure() {
+ # ODR violations, bug #861611
+ filter-lto
+
+ # Uses removed 'register' keyword
+ append-cxxflags -std=c++14
+
+ econf \
+ --cache-file="${S}"/config.cache \
+ $(use_enable resolvconf)
+}
+
+src_compile() {
+ default
+ # devel documentation is broken and users should consult the online version
+ # http://klub.com.pl/dhcpv6/doxygen/
+ use doc && emake -C doc/ user
+}
+
+src_install() {
+ default
+ readme.gentoo_create_doc
+
+ dosbin dibbler-{client,relay,server}
+ doman doc/man/*.8
+
+ insinto /etc/dibbler
+ doins doc/examples/*.conf
+ keepdir /var/lib/dibbler
+
+ dodoc AUTHORS CHANGELOG RELNOTES TODO
+ use doc && dodoc doc/dibbler-user.pdf
+
+ doinitd "${FILESDIR}"/dibbler-{client,relay,server}
+ systemd_dounit "${FILESDIR}"/dibbler-client.service
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/net-misc/dibbler/files/dibbler-1.0.1-clang-16-musl-fix.patch b/net-misc/dibbler/files/dibbler-1.0.1-clang-16-musl-fix.patch
new file mode 100644
index 000000000000..99fdc342b229
--- /dev/null
+++ b/net-misc/dibbler/files/dibbler-1.0.1-clang-16-musl-fix.patch
@@ -0,0 +1,74 @@
+From: Brahmajit Das <brahmajit.xyz@gmail.com>
+Date: Wed, 31 May 2023 06:27:08 +0000
+Subject: [PATCH] Fix build with clang 16
+
+Especially on musl libc.
+
+On musl libc with clang-16, the function pthread_kill can't be found, as its
+only available if the FTM is enabled. Hence defining _GNU_SOURCE makes thie
+function available.
+
+Other than that this patch also renames the variable lock, to fix the following
+error: ./Port-linux/dibbler-client.cpp:48:27: error: reference to 'lock' is
+ambiguous. I'm exactly not sure what the errors are, but I'm guessing it's
+related to CPP namespaces. Not sure either why its not reproducable under glibc
+llvm.
+
+Bug: https://bugs.gentoo.org/897944
+Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
+--- a/Port-linux/dibbler-client.cpp
++++ b/Port-linux/dibbler-client.cpp
+@@ -26,7 +26,7 @@ using namespace std;
+
+ #define IF_RECONNECTED_DETECTED -1
+
+-extern pthread_mutex_t lock;
++extern pthread_mutex_t plock;
+
+ TDHCPClient* ptr = 0;
+
+@@ -44,8 +44,8 @@ void signal_handler(int n) {
+ #ifdef MOD_CLNT_CONFIRM
+ void signal_handler_of_linkstate_change(int n) {
+ Log(Notice) << "Network switch off event detected. initiating CONFIRM." << LogEnd;
+- pthread_mutex_lock(&lock);
+- pthread_mutex_unlock(&lock);
++ pthread_mutex_lock(&plock);
++ pthread_mutex_unlock(&plock);
+ }
+ #endif
+
+--- a/Port-linux/lowlevel-linux-link-state.c
++++ b/Port-linux/lowlevel-linux-link-state.c
+@@ -10,6 +10,7 @@
+ #ifdef MOD_CLNT_CONFIRM
+
+ #define __USE_UNIX98
++#define _GNU_SOURCE
+
+ #include <stdio.h>
+ #include <signal.h>
+@@ -34,7 +35,7 @@ volatile int * notifier = 0;
+ int isDone = 0;
+ pthread_t parent_id;
+ pthread_t ntid;
+-pthread_mutex_t lock;
++pthread_mutex_t plock;
+
+ struct state {
+ int id;
+@@ -86,9 +87,9 @@ void link_state_changed(int ifindex)
+ {
+ if (changed_links->cnt<16)
+ changed_links->ifindex[changed_links->cnt++] = ifindex;
+- pthread_mutex_lock(&lock);
++ pthread_mutex_lock(&plock);
+ *notifier = 1; /* notify that change has occured */
+- pthread_mutex_unlock(&lock);
++ pthread_mutex_unlock(&plock);
+ pthread_kill(parent_id,SIGUSR1);
+ } else
+ {
+--
+2.40.1
+
diff --git a/net-misc/dibbler/files/dibbler-1.0.1-fno-common.patch b/net-misc/dibbler/files/dibbler-1.0.1-fno-common.patch
new file mode 100644
index 000000000000..d08b6bbd212f
--- /dev/null
+++ b/net-misc/dibbler/files/dibbler-1.0.1-fno-common.patch
@@ -0,0 +1,25 @@
+--- a/Port-linux/interface.c
++++ b/Port-linux/interface.c
+@@ -43,6 +43,9 @@
+ #include <linux/sockios.h>
+ #include <linux/if_ether.h>
+
++int interface_auto_up;
++int interface_do_message;
++
+ void daemon_log(int loglevel, const char *fmt,...)
+ {
+ char buf[255];
+--- a/Port-linux/interface.h
++++ b/Port-linux/interface.h
+@@ -23,8 +23,8 @@
+ extern "C" {
+ #endif
+
+-int interface_auto_up;
+-int interface_do_message;
++extern int interface_auto_up;
++extern int interface_do_message;
+
+ typedef enum { IFSTATUS_UP, IFSTATUS_DOWN, IFSTATUS_ERR } interface_status_t;
+
diff --git a/net-misc/dibbler/files/dibbler-1.0.1-gnu-ism.patch b/net-misc/dibbler/files/dibbler-1.0.1-gnu-ism.patch
new file mode 100644
index 000000000000..aedc3e81cbba
--- /dev/null
+++ b/net-misc/dibbler/files/dibbler-1.0.1-gnu-ism.patch
@@ -0,0 +1,83 @@
+From f8352ac6dfc61a99b1162e0fd28d30b1e9340fde Mon Sep 17 00:00:00 2001
+From: Robert Gerus <arachnist@i.am-a.cat>
+Date: Thu, 11 Jun 2015 21:34:39 +0200
+Subject: [PATCH] Compatybility patch for musl
+
+Minor header/include/typedef changes to fix compatybility with musl libc.
+Doesn't break compatybility with glibc, as far as I can tell.
+---
+ Misc/Portable.h.in | 4 ++++
+ Port-linux/ethtool-local.h | 6 +++---
+ Port-linux/lowlevel-linux-link-state.c | 4 +++-
+ Port-linux/utils.h | 5 +++++
+ 4 files changed, 15 insertions(+), 4 deletions(-)
+
+diff --git a/Misc/Portable.h.in b/Misc/Portable.h.in
+index 1a96293..2d94d0d 100644
+--- a/Misc/Portable.h.in
++++ b/Misc/Portable.h.in
+@@ -29,6 +29,10 @@
+ #include <arpa/inet.h>
+ #endif
+
++#if defined(LINUX)
++# include <sys/select.h>
++#endif
++
+ #include <stdint.h>
+ #include <unistd.h>
+
+diff --git a/Port-linux/ethtool-local.h b/Port-linux/ethtool-local.h
+index 2940090..555f06b 100644
+--- a/Port-linux/ethtool-local.h
++++ b/Port-linux/ethtool-local.h
+@@ -22,9 +22,9 @@
+ */
+
+ typedef unsigned long long u64;
+-typedef __uint32_t u32;
+-typedef __uint16_t u16;
+-typedef __uint8_t u8;
++typedef uint32_t u32;
++typedef uint16_t u16;
++typedef uint8_t u8;
+
+ #include "ethtool-kernel.h"
+
+diff --git a/Port-linux/lowlevel-linux-link-state.c b/Port-linux/lowlevel-linux-link-state.c
+index 7ca9f6b..76293ea 100644
+--- a/Port-linux/lowlevel-linux-link-state.c
++++ b/Port-linux/lowlevel-linux-link-state.c
+@@ -18,7 +18,9 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+-#include <bits/sigthread.h>
++#if defined(__GLIBC__)
++# include <bits/sigthread.h>
++#endif
+ #include "Portable.h"
+ #include "interface.h"
+
+diff --git a/Port-linux/utils.h b/Port-linux/utils.h
+index e40d95f..579dffb 100644
+--- a/Port-linux/utils.h
++++ b/Port-linux/utils.h
+@@ -1,9 +1,14 @@
+ #ifndef __UTILS_H__
+ #define __UTILS_H__ 1
+
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE 1
++#endif
++
+ #include <asm/types.h>
+ //#include <resolv.h>
+ #include <linux/types.h>
++#include <sys/types.h>
+
+ #include "libnetlink.h"
+ #include "ll_map.h"
+--
+2.4.3
+
diff --git a/net-misc/dibbler/files/dibbler-client b/net-misc/dibbler/files/dibbler-client
new file mode 100644
index 000000000000..ec381be75f9f
--- /dev/null
+++ b/net-misc/dibbler/files/dibbler-client
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting DHCPv6 client: dibbler-client"
+ /usr/sbin/dibbler-client start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping DHCPv6 client: dibbler-client"
+ /usr/sbin/dibbler-client stop
+ eend $?
+}
diff --git a/net-misc/dibbler/files/dibbler-client.service b/net-misc/dibbler/files/dibbler-client.service
new file mode 100644
index 000000000000..bdac26318fc0
--- /dev/null
+++ b/net-misc/dibbler/files/dibbler-client.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Dibbler IPv6 DHCPv6 Client
+
+[Service]
+ExecStart=/usr/sbin/dibbler-client run
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/dibbler/files/dibbler-relay b/net-misc/dibbler/files/dibbler-relay
new file mode 100644
index 000000000000..1adf16f9fab2
--- /dev/null
+++ b/net-misc/dibbler/files/dibbler-relay
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting DHCPv6 relay: dibbler-relay"
+ /usr/sbin/dibbler-relay start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping DHCPv6 relay: dibbler-relay"
+ /usr/sbin/dibbler-relay stop
+ eend $?
+}
diff --git a/net-misc/dibbler/files/dibbler-server b/net-misc/dibbler/files/dibbler-server
new file mode 100644
index 000000000000..95f2845ae325
--- /dev/null
+++ b/net-misc/dibbler/files/dibbler-server
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting DHCPv6 server: dibbler-server"
+ /usr/sbin/dibbler-server start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping DHCPv6 server: dibbler-server"
+ /usr/sbin/dibbler-server stop
+ eend $?
+}
diff --git a/net-misc/dibbler/metadata.xml b/net-misc/dibbler/metadata.xml
new file mode 100644
index 000000000000..3bffd0598c5b
--- /dev/null
+++ b/net-misc/dibbler/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <use>
+ <flag name="resolvconf">Use resolvconf to handle /etc/resolv.conf updates</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>