From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- net-misc/quagga/Manifest | 23 ++++ .../files/quagga-0.99.22.4-ipctl-forwarding.patch | 22 ++++ net-misc/quagga/files/quagga-services.init.3 | 43 +++++++ net-misc/quagga/files/quagga.pam | 26 ++++ net-misc/quagga/files/systemd/bgpd.service | 16 +++ net-misc/quagga/files/systemd/isisd.service | 16 +++ net-misc/quagga/files/systemd/nhrpd.service | 16 +++ net-misc/quagga/files/systemd/ospf6d.service | 16 +++ net-misc/quagga/files/systemd/ospfd.service | 16 +++ net-misc/quagga/files/systemd/pimd.service | 17 +++ net-misc/quagga/files/systemd/quagga.conf | 1 + net-misc/quagga/files/systemd/ripd.service | 16 +++ net-misc/quagga/files/systemd/ripngd.service | 16 +++ net-misc/quagga/files/systemd/zebra.service | 16 +++ net-misc/quagga/metadata.xml | 53 ++++++++ net-misc/quagga/quagga-1.1.1.ebuild | 133 ++++++++++++++++++++ net-misc/quagga/quagga-1.2.0-r2.ebuild | 136 +++++++++++++++++++++ net-misc/quagga/quagga-1.2.1.ebuild | 134 ++++++++++++++++++++ 18 files changed, 716 insertions(+) create mode 100644 net-misc/quagga/Manifest create mode 100644 net-misc/quagga/files/quagga-0.99.22.4-ipctl-forwarding.patch create mode 100644 net-misc/quagga/files/quagga-services.init.3 create mode 100644 net-misc/quagga/files/quagga.pam create mode 100644 net-misc/quagga/files/systemd/bgpd.service create mode 100644 net-misc/quagga/files/systemd/isisd.service create mode 100644 net-misc/quagga/files/systemd/nhrpd.service create mode 100644 net-misc/quagga/files/systemd/ospf6d.service create mode 100644 net-misc/quagga/files/systemd/ospfd.service create mode 100644 net-misc/quagga/files/systemd/pimd.service create mode 100644 net-misc/quagga/files/systemd/quagga.conf create mode 100644 net-misc/quagga/files/systemd/ripd.service create mode 100644 net-misc/quagga/files/systemd/ripngd.service create mode 100644 net-misc/quagga/files/systemd/zebra.service create mode 100644 net-misc/quagga/metadata.xml create mode 100644 net-misc/quagga/quagga-1.1.1.ebuild create mode 100644 net-misc/quagga/quagga-1.2.0-r2.ebuild create mode 100644 net-misc/quagga/quagga-1.2.1.ebuild (limited to 'net-misc/quagga') 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 @@ + + + + + pinkbyte@gentoo.org + Sergey Popov + + + 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 + + + + 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 + + + Enable Forwarding Plane Manager support + + + Enable multipath routes support for any number of routes + + + Build Next Hop Resolution Protocol daemon + + + Enable OSPFAPI support for client applications accessing the OSPF link state database + + + Add support for PAM (via sys-libs/pam) to the Quagga Virtual Terminal Interface + Shell (vtysh); if the readline USE flag is disabled, this flag is ignored + + + Enable support for dev-libs/protobuf + + + Enable support for sys-libs/readline to provide the Quagga Virtual Terminal + Interface Shell (vtysh) + + + Enable TCP zserv interface on port 2600 for Zebra/protocol-daemon communication. Unix domain + sockets are chosen otherwise + + + 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 +} -- cgit v1.2.3