net-misc/ubridge: New package
authorGarri Djavadyan <g.djavadyan@gmail.com>
Sat, 23 Dec 2017 14:27:31 +0000 (19:27 +0500)
committerMichał Górny <mgorny@gentoo.org>
Wed, 21 Mar 2018 10:28:00 +0000 (11:28 +0100)
uBridge is a simple application to create user-land bridges between
various technologies. Currently bridging between UDP tunnels, Ethernet
and TAP interfaces is supported. Packet capture is also supported.

Closes: https://bugs.gentoo.org/642070
Closes: https://github.com/gentoo/gentoo/pull/6611
Package-Manager: Portage-2.3.24, Repoman-2.3.6

net-misc/ubridge/Manifest [new file with mode: 0644]
net-misc/ubridge/files/ubridge-0.9.14-respect-flags.patch [new file with mode: 0644]
net-misc/ubridge/metadata.xml [new file with mode: 0644]
net-misc/ubridge/ubridge-0.9.14.ebuild [new file with mode: 0644]

diff --git a/net-misc/ubridge/Manifest b/net-misc/ubridge/Manifest
new file mode 100644 (file)
index 0000000..9af6c7d
--- /dev/null
@@ -0,0 +1 @@
+DIST ubridge-0.9.14.tar.gz 63492 BLAKE2B 4c19bb79c264c9bec2ca39fea8b386817f6eb41d23b35f9fbd0a1407b45398ad5362bd76cbb81597438367a2af8d80308f13d3e8faa4e75c6173bbeb23da177d SHA512 7e92ca6ee8dd5815991c5d157278487cfad69710f0a63fc217d5d0e61678d272bf5a0d31b6afe25b1060df1ad13e229f1d573c03fecb1453167a9ff364283a5f
diff --git a/net-misc/ubridge/files/ubridge-0.9.14-respect-flags.patch b/net-misc/ubridge/files/ubridge-0.9.14-respect-flags.patch
new file mode 100644 (file)
index 0000000..ab64aa7
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/Makefile 2018-03-16 09:15:10.528245830 +0500
++++ b/Makefile 2018-03-21 08:52:45.984204240 +0500
+@@ -40,7 +40,7 @@
+ CC      ?=   gcc
+-CFLAGS  =   -O3 -Wall
++CFLAGS  +=   -Wall
+ BINDIR  =   /usr/local/bin
+@@ -76,7 +76,7 @@
+ ##############################
+ $(NAME)       : $(OBJ)
+-      $(CC) -o $(NAME) $(OBJ) $(LIBS)
++      $(CC) $(CFLAGS) $(LDFLAGS) -o $(NAME) $(OBJ) $(LIBS)
+ .PHONY: clean
diff --git a/net-misc/ubridge/metadata.xml b/net-misc/ubridge/metadata.xml
new file mode 100644 (file)
index 0000000..fe85611
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>g.djavadyan@gmail.com</email>
+               <name>Garri Djavadyan</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <longdescription>
+               uBridge is a simple application to create user-land bridges between
+               various technologies. Currently bridging between UDP tunnels, Ethernet
+               and TAP interfaces is supported. Packet capture is also supported.
+       </longdescription>
+</pkgmetadata>
diff --git a/net-misc/ubridge/ubridge-0.9.14.ebuild b/net-misc/ubridge/ubridge-0.9.14.ebuild
new file mode 100644 (file)
index 0000000..48fb218
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit fcaps toolchain-funcs user
+
+DESCRIPTION="Bridge for UDP tunnels, Ethernet, TAP and VMnet interfaces"
+HOMEPAGE="https://github.com/GNS3/ubridge"
+SRC_URI="https://github.com/GNS3/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+       net-libs/libpcap
+       dev-libs/iniparser:=
+"
+DEPEND="
+       ${RDEPEND}
+"
+
+PATCHES=( "${FILESDIR}"/${P}-respect-flags.patch )
+
+pkg_setup() {
+       enewgroup ubridge
+}
+
+src_configure() {
+       export SYSTEM_INIPARSER=1
+}
+
+src_compile() {
+       emake CC="$(tc-getCC)"
+}
+
+src_install() {
+       exeinto /usr/bin
+       exeopts -m 710 -g ubridge
+       doexe ubridge
+       dodoc README.rst
+}
+
+pkg_postinst() {
+       fcaps -g ubridge -m 4710 -M 0710 cap_net_raw,cap_net_admin \
+               "${EROOT}"/usr/bin/ubridge
+
+       ewarn "NOTE: To read packets from the network interfaces with ubridge as"
+       ewarn "normal user you have to add trusted users to the ubridge group."
+}