summaryrefslogtreecommitdiff
path: root/net-misc/quagga
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-misc/quagga
reinit the tree, so we can have metadata
Diffstat (limited to 'net-misc/quagga')
-rw-r--r--net-misc/quagga/Manifest23
-rw-r--r--net-misc/quagga/files/quagga-0.99.22.4-ipctl-forwarding.patch22
-rw-r--r--net-misc/quagga/files/quagga-services.init.343
-rw-r--r--net-misc/quagga/files/quagga.pam26
-rw-r--r--net-misc/quagga/files/systemd/bgpd.service16
-rw-r--r--net-misc/quagga/files/systemd/isisd.service16
-rw-r--r--net-misc/quagga/files/systemd/nhrpd.service16
-rw-r--r--net-misc/quagga/files/systemd/ospf6d.service16
-rw-r--r--net-misc/quagga/files/systemd/ospfd.service16
-rw-r--r--net-misc/quagga/files/systemd/pimd.service17
-rw-r--r--net-misc/quagga/files/systemd/quagga.conf1
-rw-r--r--net-misc/quagga/files/systemd/ripd.service16
-rw-r--r--net-misc/quagga/files/systemd/ripngd.service16
-rw-r--r--net-misc/quagga/files/systemd/zebra.service16
-rw-r--r--net-misc/quagga/metadata.xml53
-rw-r--r--net-misc/quagga/quagga-1.1.1.ebuild133
-rw-r--r--net-misc/quagga/quagga-1.2.0-r2.ebuild136
-rw-r--r--net-misc/quagga/quagga-1.2.1.ebuild134
18 files changed, 716 insertions, 0 deletions
diff --git a/net-misc/quagga/Manifest b/net-misc/quagga/Manifest
new file mode 100644
index 000000000000..358257834ce2
--- /dev/null
+++ b/net-misc/quagga/Manifest
@@ -0,0 +1,23 @@
+AUX quagga-0.99.22.4-ipctl-forwarding.patch 731 SHA256 13944134f93a8b31ec0cad8444618afe9681f52de54b20be3be5ff4f7a647c83 SHA512 56bdeb8a1f350fea3ad8ed0cdba28964b00384878853e584746d8ce80c6f9ea5ca5adc4539e314f7fd82203c08d5f2ce6adeec61dac9a7a28282131d0d371447 WHIRLPOOL aacf456f7ccbf91ff9356606a475da00e486008bab35bd5c3f0bc3e742580079ab347f0be07d41816d7ecb438ea95cc4a128384898937b555b43c9b4531fdfe0
+AUX quagga-services.init.3 1072 SHA256 348b781bed87f50632391ea9efafca7e067f88c92ee7e21fe1c6b22869ba4a35 SHA512 03ce5cf77612ece73d3df85c6afa747dab479949299458b5c6f59dcf778b60314fd0a9c7987be289cc0b8363dcc6e337ab5309e0a86f716208ddfc5f12b8a4b3 WHIRLPOOL 8ef67c9a3b9a8fe32fa0df00e36733bf349cbd8818d12a009101775d94522bf83a9a2bc565702e1b144cc8ec1888d60bffc1edf42dc6a39ada6b1a3965d5ec61
+AUX quagga.pam 975 SHA256 aa68ac97d7a951324bc3c4124a1c70f6fa88a45da860f636ac01cbcbfa36db70 SHA512 92dc6c68146d46046c6f5ff410629a2a7170e81e9657b7a2aebe1d94c8fa267acdcac9d8d8596fb54dbbacc0566502e82d900ea33f8824c07fba497b7e0f1efe WHIRLPOOL defc345fe4ccbff1cf3b68bee46f589467d68b11f7511d1333f9cdf4dbef8c55c32e4b0d9eb2f2aa57df7bdb47baa75bada593f97059494534192d34c808733b
+AUX systemd/bgpd.service 347 SHA256 9912dc6178f332750bb373706745895664cea7a80c1715f444c3cbd3ba3e6e63 SHA512 dfefd7b758fd41ccaeb024c0ba4f08400086e05f44c1985cb387d0dfb0c0e19844879b49f84c350282e0d5d56dd1c65c8ac33f65e06543a20aacdfbba593606b WHIRLPOOL bdaf11a623d2f3d64da1402da70787eb4a17d03ad7f8e59d2b0266f8ae0a707e8dcb5412864f2d174210be1645287742c8398d527fd6414155e225efd831a4a4
+AUX systemd/isisd.service 352 SHA256 009ce3926808f7c2bb98c79ab46bdfcc6dfc5054d590db6a19326ee69c9a17d7 SHA512 28c054986c9171f960663056d3058c46c81270a0cb14c356d31deb1e77ef44e710535ec402773fc44191b449eae3367411ee6344386069fda9ac150c6c715713 WHIRLPOOL be36dc493f6aceb76ef61167b56f201f22447ade83158f36e9039ba7de8a0c22ffa4f680e37fab9cf3fe3e5356297a35661388f21a43de5662fbbf2d5065d971
+AUX systemd/nhrpd.service 344 SHA256 cbff1b0da3597479d3e4c444f8e4823989644c4f367e9fee6e8fbe99eebef069 SHA512 d289853f3dfca5f6de2a24935fbcd13018938e8d6614dd4eeb127b5085e6a772b0af2e8f15786c309d515b998fc7f49edd159d47e4fb7686029167775bca2635 WHIRLPOOL be9a1464a6a18c238604c1633d52aeebf84932b210c57099bb3dc2380cd00806d64942346ee7702866aa76c2eae309b285ad6d0a25b43af4c8f001178a20d677
+AUX systemd/ospf6d.service 364 SHA256 b4a4ff945d0340a729c937688ce7fe90587c2b3f1dc6170ad965c5ab9b0ba19f SHA512 379f72ec275329a715c0e4b044cbdeae8f51e06b3ed8eb1bf643163ab824a9539c6a1b0d6521cea6585eca58fbf8bd3fa153ef62936c14c06fad48395e7103ac WHIRLPOOL 7568da84e08ac39430a801d70ba3d068a760355bf844525e99f6aef4364c96a3e9bf14f37eb91406f95d743290e3922001f3479653c6748858fa471ce66f9629
+AUX systemd/ospfd.service 352 SHA256 98e7d99ca63b80143d53507e515b716c649ce497930916dd392d4ce478f35bfb SHA512 48fff984c5ac6e446fcf77307645258df881e194869aeff4d145233bb1306e422e7964f9043d244cd3bfcf9fe4cb2ebf117f562c564c847138ef32e070c50a85 WHIRLPOOL 5aec494c84bfa582f14b11c3bcd828a6d6759a556b74f915230804a400cbb1055a2fbb969ebf6f1db91850ab3da85f387b8697a22fb27e5fe068bcbb85b9e4f3
+AUX systemd/pimd.service 359 SHA256 c1a93da9b944258d77d14d92c8ad1ea52c9fb8fecc1bad4877bb92a28da2b32f SHA512 fc0d6dbf746c3fd95cf82be44415c456559596c03460c9975f957591b0d647cdf6968fe16091673114306f3dcdfce9fc401a053d8bf8f00b67b3957512b26640 WHIRLPOOL 2c39fe3517a84f275a2d4609840431263c4ca15665a0af19f5144b515072b05e7dbb78477a507701f0601bbfa24102b2523315582baaec769ee03ec3ddc92594
+AUX systemd/quagga.conf 33 SHA256 d1e6439001a6860419cecd97c36fa646fe4a9b81895cb2e2dd353cf024471953 SHA512 78effd7fe5ddd0187dc6e110ac2550001e24e803423ece7332e7dae0f83fde2d897aafe18665c64a15e2c1747b347d8eb9c99c8b95f16348deffca454a79ad8a WHIRLPOOL 94b97496109627f6f7d95ef605ba7e63bf6dc69b1e70559c252ec018563a66866e7b399c53cb7b1995e0a71fa5e446fd06b3015faf7092e446ace262cfe61fe6
+AUX systemd/ripd.service 347 SHA256 1bd58e78865a6ed7d68ef0e6545e220c44a6a66906d19bfe946b3f0365d60061 SHA512 4251609529c0fe7b8cee1191eae3d13ae1813d5d9544d2844df7e135f341f84cfd2192e6331bb2642da3637f7dd2ec29ffa93df918ecc1e071cfb45802ceabee WHIRLPOOL 0ff9a54ce7ba20faff30bcbfa7a11f4ef981a9fd557951286c6357a84a988e18e90ded89b9305216a9f1ca3c08b78ec04fafc18a25e06e58bf3d5e2add7a9b4d
+AUX systemd/ripngd.service 364 SHA256 387f38a6dd747e4ad60abcfc3f4b4fca415973b963bd8bd6a26635265edc9f56 SHA512 ccfd048152896ee7ebdc434554a080b8ba36444d4de1cd11b5d2408cddfeb2ea1312962460b9a761d1a2db31dd5e72cadddf1807f9783ac1c2a51fd52c85ad54 WHIRLPOOL f83c6ac4430662f312791204ead3566d8c4465b4fe77bc5e279c54c9b0b730f52eff43881162d0fa43cce8770e330d61fb8eb62253524342dc6edff0571ef300
+AUX systemd/zebra.service 354 SHA256 495eb109bc513784eff1028dbd8759cd583f37c7d07b083e4c3bb8a627e93713 SHA512 d02a801a421c143cefb63abc3448b162505fb9063130523f939f1e6ad33c4b39f113d00e6d0c4ea7f53616fffa1aa2333bf33660b5ccb4d7fd9d4f048c5a979a WHIRLPOOL 2e277d14608dd1b59c549b0046075bad22cf7fc531e7e9838de59aeb8349cd6048bf720622a51086a24a3c8c00c3076fde2de0e02573809f611677513879160f
+DIST ht-20040304-classless-bgp.patch 1581 SHA256 39993890f9e31d662ed0564c732fb22392a901beb45b64261ffeadd9edf27887 SHA512 3df102d8ab88aaee1f109a2310602d6f734f2268252e5e42df752df7db7abeac526e969289481c4abfe905dcd41c35dee65196c48ac320fe9d083305451476e8 WHIRLPOOL cef99d64d52ab8c28bd672fb93dfbd8d716a31c76a5403496a6d104a5ff39531d6085134124d41fe4ff7adf895fa001cbe77b6e42846d849d6c108c81583d04e
+DIST quagga-1.1.1.tar.gz 2871705 SHA256 b5a94e5bdad3062e04595a5692b8cc435f0a85102f75dfdca0a06d093b4ef63f SHA512 51eb64ada07b42c663705cedf56be5b8b54143a5543b472e3dc7c703a4ab0542f39cfbeed64d1c33ceee6a15ea8d25ef84616fa40b6bf9cc32023f7241c18c58 WHIRLPOOL 795aa54b7930c441cbbc40a67db75865ccecada523164c906dd4a1b385b51820bff061ca58265fc67d1a814c8162d8b6e6758a4aab47ba54dab58cf846cb28be
+DIST quagga-1.2.0.tar.gz 2948778 SHA256 1043644d37975d9f920b76c593368cbe36ca43e27eb57cff316ee80ccb31dce3 SHA512 0ad28b828c2e52ad486189bd68e21041fe7c4affada7e3f12ba83a95f3532e0b012ba6b4271f9d0de63d4f5b15e80c706977b3afa54b57a3a5ec02400227d5ae WHIRLPOOL b4c73c4f7c99c971d762fbde79d5c6776b11b36d8a9b58e9c7cb5d322818ef8b6d90ca5c3f4c55f9b3353ae65042a99b41d39049b0a2f254bbd8904e5136ecce
+DIST quagga-1.2.1.tar.gz 2922514 SHA256 aaddba5d4f41ed8e4c2f155f4584c993465d122c9096b5b52ada3fc75266fbcd SHA512 ab7693ccb0cfa0f9ed90cc2b626dcd27aa6cc52e626646a2a37914a01f4b38dd80bf8d0e35d8a6a113718e82024203dbc3704c017f7c5c07bcdc2fe0109e89eb WHIRLPOOL aeaa20e007a77a8bda469c847ae4de904c8987973e6ad4e358b59c5847226060417efdec8952aa79f8698b76f10da0c257034873365402215d05205e4a1fa866
+EBUILD quagga-1.1.1.ebuild 3614 SHA256 766537dfd7b437115515d8d68a4aefe998d56397cdab1e25e75ab16f4865306e SHA512 93b78444d67d4206ec008566a3953c7c4c05ab325f79b3c9d29029ec9ded97283c48e376dfc273496598e7e8a7c665f74e08970ad9ee78bcdf39b4e19f1f698a WHIRLPOOL 5cee2e8cc0933a1a2f2e6f5a1e418dc04b3704edb0f8609d2d18f6f9fa5abe94ccd9d82c721f7532bce9b47f9d28dd78231e9203133b050364fa5f7e9120f23f
+EBUILD quagga-1.2.0-r2.ebuild 3734 SHA256 081e46b44c55c3056c9603cfb0fa52be3c07ceda33868527324547acdd9ab9a6 SHA512 c6317db3cc11f0d6f941a0665c52fc1b1af7648dea08a5d44a0cad1f218c2b14d4ae19d8b7d8f71a8776a2ef1a0975f9335a32fd5197bff19aecb5312a12d60f WHIRLPOOL 2bc4719a1d7686d51f1970bb6b3e8706417ff9b3628195f707665e3272c915dedd3cf749316e58ec20829e37bfe80d6635c051a97a8f833e1e1edb4b418bd855
+EBUILD quagga-1.2.1.ebuild 3680 SHA256 194126381b995d7ce48692c0eef7a258bb8bbeecbc00aabc5052d88d2de78de3 SHA512 cafc54c31ecb152b8fb0c10db80786f1f93e7d86e3ee85098a64847b200ff28591962925938afcfcd833d143d09478b95ba1e5fa933b9696359b21881a69df40 WHIRLPOOL 9f5bba38ef9f4ffb17b0890546fa6a82c3ed66df633f81bf95c6e18c9aae6edfe06c782af148318fc929373428ef0d59605f6d4ac0b633258d67bd950a45b0ef
+MISC ChangeLog 8782 SHA256 c764e8c1eb658ac2f9ce886f027078aa751b19580620ca70f66a5ac287673a63 SHA512 0ffa94a2d7973fca52bc83148da4c9ede153d00d2a8cfd3f2206dc96e9c429b03aaa29c6831d7d5f46ef16529cd589e9443369b150f434136a8e9eb79aa28a66 WHIRLPOOL 7b936711b434dbd08f6f06310a33bbf01a5ca3fefe33fe7c1f81f2ef5122ebcee2c3653ad091c56fa30907943653f5823848f5dde9236faa52f7f1ebb2965ce3
+MISC ChangeLog-2015 28261 SHA256 e4bdcf9343224b679e2e98e00e508ecaf40d06645a838b0e3e22ba567027a4cb SHA512 907689f10f73cbd3b9b5efb8a690002ed6548daa283cc61211f75df8eb369762c869a4c3774c8a3c9ac8db7ba3297f705f02e3765fb5c250c7f3e0113ad094a9 WHIRLPOOL 5a1eb4bf5ae04311b58e67557bd966e0addbf25e11a7e3d25a428d18bc1940885f9e3f65d12fce85547ce1b9d06ada6a1d8099dea60a85046b4c3e698d0076f1
+MISC metadata.xml 2375 SHA256 9dcdd681815e6d9ec3b29fcbd97760971c17c7fa7f15c3b540a0cac1d0ff2eca SHA512 77ae3e9edac846d80a8b9bf2cc6c7582bffbf9b43cffc0649dfdd1f3dcf528ebf0c99ebd70c4fe27c524f98ba453798de7f320d50f7b76287623b8ac8265a6db WHIRLPOOL e3f3c299199353e880018c6233cf95e92c023ca0ad07da7f95a0422283127c5a4191587f5513356444bd69e1cde1a25f906c7826544b19fc745d06f996b72636
diff --git a/net-misc/quagga/files/quagga-0.99.22.4-ipctl-forwarding.patch b/net-misc/quagga/files/quagga-0.99.22.4-ipctl-forwarding.patch
new file mode 100644
index 000000000000..f6b726b591f7
--- /dev/null
+++ b/net-misc/quagga/files/quagga-0.99.22.4-ipctl-forwarding.patch
@@ -0,0 +1,22 @@
+Fix for missing definitions on some Hardened configurations
+Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=437292
+
+diff -Naur quagga-0.99.16.orig/zebra/ipforward_sysctl.c quagga-0.99.16/zebra/ipforward_sysctl.c
+--- quagga-0.99.16.orig/zebra/ipforward_sysctl.c 2010-03-11 12:11:32.000000000 -0500
++++ quagga-0.99.16/zebra/ipforward_sysctl.c 2010-03-11 12:11:39.000000000 -0500
+@@ -31,6 +31,15 @@
+
+ #define MIB_SIZ 4
+
++/* Fix for recent (2.6.14) kernel headers */
++#ifndef IPCTL_FORWARDING
++ #define IPCTL_FORWARDING NET_IPV4_FORWARD
++#endif
++
++#ifndef IP6CTL_FORWARDING
++ #define IP6CTL_FORWARDING NET_IPV6_FORWARDING
++#endif
++
+ extern struct zebra_privs_t zserv_privs;
+
+ /* IPv4 forwarding control MIB. */
diff --git a/net-misc/quagga/files/quagga-services.init.3 b/net-misc/quagga/files/quagga-services.init.3
new file mode 100644
index 000000000000..e613b26abb03
--- /dev/null
+++ b/net-misc/quagga/files/quagga-services.init.3
@@ -0,0 +1,43 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+: ${CFGFILE:=/etc/quagga/${SVCNAME}.conf}
+
+pidfile=/run/quagga/${SVCNAME}.pid
+
+command=/usr/sbin/${SVCNAME}
+command_args="-d -f ${CFGFILE} ${EXTRA_OPTS} --pid_file ${pidfile}"
+
+get_service_config() {
+ [ -e "$CFGFILE" ] || return
+
+ awk '$1 == "'$1'" { s=$2 } END { print s }' "$CFGFILE"
+}
+
+depend() {
+ config "$CFGFILE"
+
+ [ ${SVCNAME} = "zebra" ] && need net || need zebra
+
+ [ "$(get_service_config log)" = "syslog" ] && \
+ use logger
+}
+
+start_pre() {
+ if [ ! -e "${CFGFILE}" ] ; then
+ eerror "Before starting ${SVCNAME} you have to configure it, by creating"
+ eerror "a ${CFGFILE} file."
+ eerror ""
+ eerror "A sample file has been installed in `echo /usr/share/doc/quagga-*/samples/${SVCNAME}.conf.sample*`"
+ return 1
+ fi
+
+ checkpath -d -m 0750 -o quagga:quagga /run/quagga
+
+ if [ ${SVCNAME} = "zebra" ]; then
+ ebegin "Cleaning up stale zebra routes..."
+ ip route flush proto zebra
+ eend $?
+ fi
+}
diff --git a/net-misc/quagga/files/quagga.pam b/net-misc/quagga/files/quagga.pam
new file mode 100644
index 000000000000..9a91ad852fbd
--- /dev/null
+++ b/net-misc/quagga/files/quagga.pam
@@ -0,0 +1,26 @@
+#%PAM-1.0
+#
+
+##### if running quagga as root:
+# Only allow root (and possibly wheel) to use this because enable access
+# is unrestricted.
+auth sufficient pam_rootok.so
+
+# Uncomment the following line to implicitly trust users in the "wheel" group.
+#auth sufficient pam_wheel.so trust use_uid
+# Uncomment the following line to require a user to be in the "wheel" group.
+#auth required pam_wheel.so use_uid
+###########################################################
+
+# If using quagga privileges and with a seperate group for vty access, then
+# access can be controlled via the vty access group, and pam can simply
+# check for valid user/password, eg:
+#
+# only allow local users.
+#auth required pam_securetty.so
+#auth include system-auth
+#auth required pam_nologin.so
+#account include system-auth
+#password include system-auth
+#session include system-auth
+#session optional pam_console.so
diff --git a/net-misc/quagga/files/systemd/bgpd.service b/net-misc/quagga/files/systemd/bgpd.service
new file mode 100644
index 000000000000..f5db0b2510ec
--- /dev/null
+++ b/net-misc/quagga/files/systemd/bgpd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=BGP routing daemon
+Documentation=man:bgpd(8) man:zebra(8)
+BindsTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/bgpd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/bgpd.pid
+ExecStart=/usr/sbin/bgpd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/quagga/files/systemd/isisd.service b/net-misc/quagga/files/systemd/isisd.service
new file mode 100644
index 000000000000..10eb0a8fe1d8
--- /dev/null
+++ b/net-misc/quagga/files/systemd/isisd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=IS-IS routing daemon
+Documentation=man:isis(8) man:zebra(8)
+BindsTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/isisd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/isisd.pid
+ExecStart=/usr/sbin/isisd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/quagga/files/systemd/nhrpd.service b/net-misc/quagga/files/systemd/nhrpd.service
new file mode 100644
index 000000000000..1a93bae61b14
--- /dev/null
+++ b/net-misc/quagga/files/systemd/nhrpd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=NHRP daemon
+Documentation=man:nhrpd(8) man:zebra(8)
+BindsTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/nhrpd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/nhrpd.pid
+ExecStart=/usr/sbin/nhrpd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/quagga/files/systemd/ospf6d.service b/net-misc/quagga/files/systemd/ospf6d.service
new file mode 100644
index 000000000000..b6372d10d898
--- /dev/null
+++ b/net-misc/quagga/files/systemd/ospf6d.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=OSPF routing daemon for IPv6
+Documentation=man:ospfd(8) man:zebra(8)
+BindsTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ospf6d.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ospf6d.pid
+ExecStart=/usr/sbin/ospf6d -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/quagga/files/systemd/ospfd.service b/net-misc/quagga/files/systemd/ospfd.service
new file mode 100644
index 000000000000..310d219c0014
--- /dev/null
+++ b/net-misc/quagga/files/systemd/ospfd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=OSPF routing daemon
+Documentation=man:ospfd(8) man:zebra(8)
+BindsTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ospfd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ospfd.pid
+ExecStart=/usr/sbin/ospfd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/quagga/files/systemd/pimd.service b/net-misc/quagga/files/systemd/pimd.service
new file mode 100644
index 000000000000..d39f59696c51
--- /dev/null
+++ b/net-misc/quagga/files/systemd/pimd.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=PIM-SSM routing daemon
+Documentation=man:zebra(8)
+BindsTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/pimd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/pimd.pid
+ExecStart=/usr/sbin/pimd -d
+ExecReload=/bin/kill -HUP $MAINPID
+SuccessExitStatus=1
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/quagga/files/systemd/quagga.conf b/net-misc/quagga/files/systemd/quagga.conf
new file mode 100644
index 000000000000..296083753e0a
--- /dev/null
+++ b/net-misc/quagga/files/systemd/quagga.conf
@@ -0,0 +1 @@
+d /run/quagga 0750 quagga quagga
diff --git a/net-misc/quagga/files/systemd/ripd.service b/net-misc/quagga/files/systemd/ripd.service
new file mode 100644
index 000000000000..b2a74df47fb9
--- /dev/null
+++ b/net-misc/quagga/files/systemd/ripd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=RIP routing daemon
+Documentation=man:ripd(8) man:zebra(8)
+BindsTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ripd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ripd.pid
+ExecStart=/usr/sbin/ripd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/quagga/files/systemd/ripngd.service b/net-misc/quagga/files/systemd/ripngd.service
new file mode 100644
index 000000000000..75c60d8395b5
--- /dev/null
+++ b/net-misc/quagga/files/systemd/ripngd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=RIP routing daemon for IPv6
+Documentation=man:ripngd(8) man:zebra(8)
+BindsTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ripngd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ripngd.pid
+ExecStart=/usr/sbin/ripngd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/quagga/files/systemd/zebra.service b/net-misc/quagga/files/systemd/zebra.service
new file mode 100644
index 000000000000..d2374411b459
--- /dev/null
+++ b/net-misc/quagga/files/systemd/zebra.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=GNU Zebra routing manager
+Documentation=man:zebra(8)
+After=network.target
+ConditionPathExists=/etc/quagga/zebra.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/zebra.pid
+ExecStartPre=/bin/ip route flush proto zebra
+ExecStart=/usr/sbin/zebra -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/quagga/metadata.xml b/net-misc/quagga/metadata.xml
new file mode 100644
index 000000000000..ec2a74e8dc3d
--- /dev/null
+++ b/net-misc/quagga/metadata.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+ <longdescription>
+ Quagga is a modern fork of Zebra. Quagga is a routing software package that provides TCP/IP
+ based routing services with routing protocols support such as RIPv1, RIPv2, RIPng, OSPFv2,
+ OSPFv3, BGP-4, and BGP-4+. Quagga also supports special BGP Route Reflector and Route Server
+ behavior. In addition to traditional IPv4 routing protocols, Quagga also supports IPv6 routing
+ protocols. With SNMP daemon which supports SMUX protocol, Quagga provides routing protocol
+ MIBs. Furthermore Quagga supports OSPFAPI, a API interface to the OSPF LSDB. It supports
+ inspection as well as injection of normal and opaque OSPF LSAs. Applications like SRRD - The
+ Service Rounting Redundancy Daemon - can make use of OSPFAPI to inject opaque data into the OSPF
+ routing domain. SRRD, for example, implements a cluster server by using the OSPFAPI to flood
+ service state information into the routing domain
+ </longdescription>
+ <use>
+ <flag name="bgpclassless">
+ Apply unofficial patch to enable classless prefixes for BGP. Patch and information to be found
+ at http://hasso.linux.ee/doku.php/english:network:quagga
+ </flag>
+ <flag name="fpm">
+ Enable Forwarding Plane Manager support
+ </flag>
+ <flag name="multipath">
+ Enable multipath routes support for any number of routes
+ </flag>
+ <flag name="nhrpd">
+ Build Next Hop Resolution Protocol daemon
+ </flag>
+ <flag name="ospfapi">
+ Enable OSPFAPI support for client applications accessing the OSPF link state database
+ </flag>
+ <flag name="pam">
+ Add support for PAM (via <pkg>sys-libs/pam</pkg>) to the Quagga Virtual Terminal Interface
+ Shell (vtysh); if the readline USE flag is disabled, this flag is ignored
+ </flag>
+ <flag name="protobuf">
+ Enable support for <pkg>dev-libs/protobuf</pkg>
+ </flag>
+ <flag name="readline">
+ Enable support for <pkg>sys-libs/readline</pkg> to provide the Quagga Virtual Terminal
+ Interface Shell (vtysh)
+ </flag>
+ <flag name="tcp-zebra">
+ Enable TCP zserv interface on port 2600 for Zebra/protocol-daemon communication. Unix domain
+ sockets are chosen otherwise
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/net-misc/quagga/quagga-1.1.1.ebuild b/net-misc/quagga/quagga-1.1.1.ebuild
new file mode 100644
index 000000000000..0cf903443f32
--- /dev/null
+++ b/net-misc/quagga/quagga-1.1.1.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CLASSLESS_BGP_PATCH=ht-20040304-classless-bgp.patch
+
+inherit autotools eutils flag-o-matic multilib pam readme.gentoo-r1 systemd user
+
+DESCRIPTION="A free routing daemon replacing Zebra supporting RIP, OSPF and BGP"
+HOMEPAGE="http://quagga.net/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz
+ bgpclassless? ( http://hasso.linux.ee/stuff/patches/quagga/${CLASSLESS_BGP_PATCH} )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ppc ~s390 sparc x86"
+
+IUSE="bgpclassless caps doc elibc_glibc ipv6 multipath ospfapi pam protobuf +readline snmp tcp-zebra"
+
+COMMON_DEPEND="
+ caps? ( sys-libs/libcap )
+ protobuf? ( dev-libs/protobuf-c:0= )
+ readline? (
+ sys-libs/readline:0=
+ pam? ( sys-libs/pam )
+ )
+ snmp? ( net-analyzer/net-snmp )
+ !elibc_glibc? ( dev-libs/libpcre )"
+DEPEND="${COMMON_DEPEND}
+ sys-apps/gawk
+ sys-devel/libtool:2"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/iproute2"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.99.22.4-ipctl-forwarding.patch"
+)
+
+DISABLE_AUTOFORMATTING=1
+DOC_CONTENTS="Sample configuration files can be found in /usr/share/doc/${PF}/samples
+You have to create config files in /etc/quagga before
+starting one of the daemons.
+
+You can pass additional options to the daemon by setting the EXTRA_OPTS
+variable in their respective file in /etc/conf.d"
+
+pkg_setup() {
+ enewgroup quagga
+ enewuser quagga -1 -1 /var/empty quagga
+}
+
+src_prepare() {
+ # Classless prefixes for BGP
+ # http://hasso.linux.ee/doku.php/english:network:quagga
+ use bgpclassless && eapply -p0 "${DISTDIR}/${CLASSLESS_BGP_PATCH}"
+
+ eapply "${PATCHES[@]}"
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+
+ # do not build PDF docs
+ export ac_cv_prog_PDFLATEX=no
+ export ac_cv_prog_LATEXMK=no
+
+ econf \
+ --enable-exampledir=/usr/share/doc/${PF}/samples \
+ --enable-irdp \
+ --enable-isisd \
+ --enable-isis-topology \
+ --enable-pimd \
+ --enable-user=quagga \
+ --enable-group=quagga \
+ --enable-vty-group=quagga \
+ --with-cflags="${CFLAGS}" \
+ --with-pkg-extra-version="-gentoo" \
+ --sysconfdir=/etc/quagga \
+ --localstatedir=/run/quagga \
+ --disable-static \
+ $(use_enable caps capabilities) \
+ $(usex snmp '--enable-snmp' '' '' '') \
+ $(use_enable !elibc_glibc pcreposix) \
+ $(use_enable tcp-zebra) \
+ $(use_enable doc) \
+ $(usex multipath $(use_enable multipath) '' '=0' '') \
+ $(usex ospfapi '--enable-opaque-lsa --enable-ospf-te --enable-ospfclient' '' '' '') \
+ $(use_enable readline vtysh) \
+ $(use_with pam libpam) \
+ $(use_enable protobuf) \
+ $(use_enable ipv6 ripngd) \
+ $(use_enable ipv6 ospf6d) \
+ $(use_enable ipv6 rtadv)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+ readme.gentoo_create_doc
+
+ keepdir /etc/quagga
+ fowners root:quagga /etc/quagga
+ fperms 0770 /etc/quagga
+
+ # Path for PIDs before first reboot should be created here, bug #558194
+ dodir /run/quagga
+ fowners quagga:quagga /run/quagga
+ fperms 0770 /run/quagga
+
+ # Install systemd-related stuff, bug #553136
+ systemd_dotmpfilesd "${FILESDIR}/systemd/quagga.conf"
+ systemd_dounit "${FILESDIR}/systemd/zebra.service"
+
+ # install zebra as a file, symlink the rest
+ newinitd "${FILESDIR}"/quagga-services.init.3 zebra
+
+ for service in bgpd isisd ospfd pimd ripd $(use ipv6 && echo ospf6d ripngd); do
+ dosym zebra /etc/init.d/${service}
+ systemd_dounit "${FILESDIR}/systemd/${service}.service"
+ done
+
+ use readline && use pam && newpamd "${FILESDIR}/quagga.pam" quagga
+
+ insinto /etc/logrotate.d
+ newins redhat/quagga.logrotate quagga
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/net-misc/quagga/quagga-1.2.0-r2.ebuild b/net-misc/quagga/quagga-1.2.0-r2.ebuild
new file mode 100644
index 000000000000..6897c5f9eac8
--- /dev/null
+++ b/net-misc/quagga/quagga-1.2.0-r2.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CLASSLESS_BGP_PATCH=ht-20040304-classless-bgp.patch
+
+inherit autotools eutils flag-o-matic multilib pam readme.gentoo-r1 systemd user
+
+DESCRIPTION="A free routing daemon replacing Zebra supporting RIP, OSPF and BGP"
+HOMEPAGE="http://quagga.net/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz
+ bgpclassless? ( http://hasso.linux.ee/stuff/patches/quagga/${CLASSLESS_BGP_PATCH} )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~s390 ~sparc ~x86"
+
+IUSE="bgpclassless caps fpm doc elibc_glibc ipv6 multipath nhrpd ospfapi pam protobuf +readline snmp tcp-zebra"
+
+COMMON_DEPEND="
+ caps? ( sys-libs/libcap )
+ nhrpd? ( net-dns/c-ares:0= )
+ protobuf? ( dev-libs/protobuf-c:0= )
+ readline? (
+ sys-libs/readline:0=
+ pam? ( sys-libs/pam )
+ )
+ snmp? ( net-analyzer/net-snmp )
+ !elibc_glibc? ( dev-libs/libpcre )"
+DEPEND="${COMMON_DEPEND}
+ sys-apps/gawk
+ sys-devel/libtool:2"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/iproute2"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.99.22.4-ipctl-forwarding.patch"
+)
+
+DISABLE_AUTOFORMATTING=1
+DOC_CONTENTS="Sample configuration files can be found in /usr/share/doc/${PF}/samples
+You have to create config files in /etc/quagga before
+starting one of the daemons.
+
+You can pass additional options to the daemon by setting the EXTRA_OPTS
+variable in their respective file in /etc/conf.d"
+
+pkg_setup() {
+ enewgroup quagga
+ enewuser quagga -1 -1 /var/empty quagga
+}
+
+src_prepare() {
+ # Classless prefixes for BGP
+ # http://hasso.linux.ee/doku.php/english:network:quagga
+ use bgpclassless && eapply -p0 "${DISTDIR}/${CLASSLESS_BGP_PATCH}"
+
+ eapply "${PATCHES[@]}"
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+
+ # do not build PDF docs
+ export ac_cv_prog_PDFLATEX=no
+ export ac_cv_prog_LATEXMK=no
+
+ econf \
+ --enable-exampledir=/usr/share/doc/${PF}/samples \
+ --enable-irdp \
+ --enable-isisd \
+ --enable-isis-topology \
+ --enable-pimd \
+ --enable-user=quagga \
+ --enable-group=quagga \
+ --enable-vty-group=quagga \
+ --with-cflags="${CFLAGS}" \
+ --with-pkg-extra-version="-gentoo" \
+ --sysconfdir=/etc/quagga \
+ --localstatedir=/run/quagga \
+ --disable-static \
+ $(use_enable caps capabilities) \
+ $(usex snmp '--enable-snmp' '' '' '') \
+ $(use_enable !elibc_glibc pcreposix) \
+ $(use_enable fpm) \
+ $(use_enable tcp-zebra) \
+ $(use_enable doc) \
+ $(usex multipath $(use_enable multipath) '' '=0' '') \
+ $(usex ospfapi '--enable-opaque-lsa --enable-ospf-te --enable-ospfclient' '' '' '') \
+ $(use_enable readline vtysh) \
+ $(use_with pam libpam) \
+ $(use_enable nhrpd) \
+ $(use_enable protobuf) \
+ $(use_enable ipv6 ripngd) \
+ $(use_enable ipv6 ospf6d) \
+ $(use_enable ipv6 rtadv)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+ readme.gentoo_create_doc
+
+ keepdir /etc/quagga
+ fowners root:quagga /etc/quagga
+ fperms 0770 /etc/quagga
+
+ # Path for PIDs before first reboot should be created here, bug #558194
+ dodir /run/quagga
+ fowners quagga:quagga /run/quagga
+ fperms 0770 /run/quagga
+
+ # Install systemd-related stuff, bug #553136
+ systemd_dotmpfilesd "${FILESDIR}/systemd/quagga.conf"
+ systemd_dounit "${FILESDIR}/systemd/zebra.service"
+
+ # install zebra as a file, symlink the rest
+ newinitd "${FILESDIR}"/quagga-services.init.3 zebra
+
+ for service in bgpd isisd ospfd pimd ripd $(use ipv6 && echo ospf6d ripngd) $(use nhrpd && echo nhrpd); do
+ dosym zebra /etc/init.d/${service}
+ systemd_dounit "${FILESDIR}/systemd/${service}.service"
+ done
+
+ use readline && use pam && newpamd "${FILESDIR}/quagga.pam" quagga
+
+ insinto /etc/logrotate.d
+ newins redhat/quagga.logrotate quagga
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/net-misc/quagga/quagga-1.2.1.ebuild b/net-misc/quagga/quagga-1.2.1.ebuild
new file mode 100644
index 000000000000..3f1ebb529833
--- /dev/null
+++ b/net-misc/quagga/quagga-1.2.1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CLASSLESS_BGP_PATCH=ht-20040304-classless-bgp.patch
+
+inherit autotools eutils flag-o-matic multilib pam readme.gentoo-r1 systemd tmpfiles user
+
+DESCRIPTION="A free routing daemon replacing Zebra supporting RIP, OSPF and BGP"
+HOMEPAGE="http://quagga.net/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz
+ bgpclassless? ( http://hasso.linux.ee/stuff/patches/quagga/${CLASSLESS_BGP_PATCH} )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ~ppc ~s390 ~sparc x86"
+
+IUSE="bgpclassless caps fpm doc elibc_glibc ipv6 multipath nhrpd ospfapi pam protobuf +readline snmp tcp-zebra"
+
+COMMON_DEPEND="
+ caps? ( sys-libs/libcap )
+ nhrpd? ( net-dns/c-ares:0= )
+ protobuf? ( dev-libs/protobuf-c:0= )
+ readline? (
+ sys-libs/readline:0=
+ pam? ( sys-libs/pam )
+ )
+ snmp? ( net-analyzer/net-snmp )
+ !elibc_glibc? ( dev-libs/libpcre )"
+DEPEND="${COMMON_DEPEND}
+ sys-apps/gawk
+ sys-devel/libtool:2"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/iproute2"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.99.22.4-ipctl-forwarding.patch"
+)
+
+DISABLE_AUTOFORMATTING=1
+DOC_CONTENTS="Sample configuration files can be found in /usr/share/doc/${PF}/samples
+You have to create config files in /etc/quagga before
+starting one of the daemons.
+
+You can pass additional options to the daemon by setting the EXTRA_OPTS
+variable in their respective file in /etc/conf.d"
+
+pkg_setup() {
+ enewgroup quagga
+ enewuser quagga -1 -1 /var/empty quagga
+}
+
+src_prepare() {
+ # Classless prefixes for BGP
+ # http://hasso.linux.ee/doku.php/english:network:quagga
+ use bgpclassless && eapply -p0 "${DISTDIR}/${CLASSLESS_BGP_PATCH}"
+
+ eapply "${PATCHES[@]}"
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+
+ # do not build PDF docs
+ export ac_cv_prog_PDFLATEX=no
+ export ac_cv_prog_LATEXMK=no
+
+ econf \
+ --enable-exampledir=/usr/share/doc/${PF}/samples \
+ --enable-irdp \
+ --enable-isisd \
+ --enable-isis-topology \
+ --enable-pimd \
+ --enable-user=quagga \
+ --enable-group=quagga \
+ --enable-vty-group=quagga \
+ --with-cflags="${CFLAGS}" \
+ --with-pkg-extra-version="-gentoo" \
+ --sysconfdir=/etc/quagga \
+ --localstatedir=/run/quagga \
+ --disable-static \
+ $(use_enable caps capabilities) \
+ $(usex snmp '--enable-snmp' '' '' '') \
+ $(use_enable !elibc_glibc pcreposix) \
+ $(use_enable fpm) \
+ $(use_enable tcp-zebra) \
+ $(use_enable doc) \
+ $(usex multipath $(use_enable multipath) '' '=0' '') \
+ $(usex ospfapi '--enable-opaque-lsa --enable-ospf-te --enable-ospfclient' '' '' '') \
+ $(use_enable readline vtysh) \
+ $(use_with pam libpam) \
+ $(use_enable nhrpd) \
+ $(use_enable protobuf) \
+ $(use_enable ipv6 ripngd) \
+ $(use_enable ipv6 ospf6d) \
+ $(use_enable ipv6 rtadv)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+ readme.gentoo_create_doc
+
+ keepdir /etc/quagga
+ fowners root:quagga /etc/quagga
+ fperms 0770 /etc/quagga
+
+ # Install systemd-related stuff, bug #553136
+ dotmpfiles "${FILESDIR}/systemd/quagga.conf"
+ systemd_dounit "${FILESDIR}/systemd/zebra.service"
+
+ # install zebra as a file, symlink the rest
+ newinitd "${FILESDIR}"/quagga-services.init.3 zebra
+
+ for service in bgpd isisd ospfd pimd ripd $(use ipv6 && echo ospf6d ripngd) $(use nhrpd && echo nhrpd); do
+ dosym zebra /etc/init.d/${service}
+ systemd_dounit "${FILESDIR}/systemd/${service}.service"
+ done
+
+ use readline && use pam && newpamd "${FILESDIR}/quagga.pam" quagga
+
+ insinto /etc/logrotate.d
+ newins redhat/quagga.logrotate quagga
+}
+
+pkg_postinst() {
+ # Path for PIDs before first reboot should be created here, bug #558194
+ tmpfiles_process quagga.conf
+
+ readme.gentoo_print_elog
+}