summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpsyc://loupsycedyglgamf.onion/~lynX <ircs://psyced.org/youbroketheinternet>1984-04-04 00:44:27 +0000
committerpsyc://loupsycedyglgamf.onion/~lynX <ircs://psyced.org/youbroketheinternet>1984-04-04 00:44:27 +0000
commit049ab14cb32bdc0cdfd57282d31ee475b0ab8680 (patch)
treeb103c3215fb321366ac24a30b9a156d89db9e8f1
parentf51a55778cddb465258aa264c722f29111330bab (diff)
install gnunet with proper working GNS
-rw-r--r--net-misc/gnunet/files/nsswitch.conf25
-rw-r--r--net-misc/gnunet/gnunet-0.10.2_rc3.ebuild226
-rw-r--r--net-misc/gnunet/gnunet-0.10.2_rc4.ebuild (renamed from net-misc/gnunet/gnunet-0.10.2_rc2.ebuild)25
-rw-r--r--net-misc/gnunet/gnunet-9999.ebuild25
4 files changed, 55 insertions, 246 deletions
diff --git a/net-misc/gnunet/files/nsswitch.conf b/net-misc/gnunet/files/nsswitch.conf
new file mode 100644
index 0000000..20f598d
--- /dev/null
+++ b/net-misc/gnunet/files/nsswitch.conf
@@ -0,0 +1,25 @@
+# /etc/nsswitch.conf:
+# Modified to support GNUnet's GNS (.gnu, .zkey etc)
+# Compare with /usr/portage/sys-libs/glibc/files/nsswitch.conf
+
+passwd: compat
+shadow: compat
+group: compat
+
+# passwd: db files nis
+# shadow: db files nis
+# group: db files nis
+
+hosts: files gns [NOTFOUND=return] dns
+networks: files dns
+
+services: db files
+protocols: db files
+rpc: db files
+ethers: db files
+netmasks: files
+netgroup: files
+bootparams: files
+
+automount: files
+aliases: files
diff --git a/net-misc/gnunet/gnunet-0.10.2_rc3.ebuild b/net-misc/gnunet/gnunet-0.10.2_rc3.ebuild
deleted file mode 100644
index 282fab7..0000000
--- a/net-misc/gnunet/gnunet-0.10.2_rc3.ebuild
+++ /dev/null
@@ -1,226 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# Written by, in historic order: vminko, vonlynX, ng0.
-# https://gnunet.org/gentoo-build is outdated, please ignore.
-#
-# taken from https://338909.bugs.gentoo.org/attachment.cgi?id=381924
-# referenced at https://bugs.gentoo.org/show_bug.cgi?id=338909
-# merged with 9999 variant from emery overlay
-# refined 2015-07 by carlo von lynX of youbroketheinternet.org
-# tweaks since 2015-07 by ng0 and lynX
-
-EAPI=6
-
-DESCRIPTION="Cryptographic GNU Mesh/Underlay Network Routing Layer"
-HOMEPAGE="https://gnunet.org/"
-LICENSE="GPL-3"
-KEYWORDS="~"
-# KEYWORDS="~amd64 ~x86"
-SLOT="0"
-
-PYTHON_COMPAT=( python2_7 )
-WANT_AUTOCONF="2.5"
-WANT_AUTOMAKE="1.11"
-# WANT_LIBTOOL="2.2"
-AUTOTOOLS_AUTORECONF=1
-
-# if you're a gnunet developer, you can put a symlink to your local git here:
-EGIT_REPO_URI="/usr/local/src/${PN}
- https://gnunet.org/git/${PN}
- https://github.com/gnunet/${PN}
- git://git.gnunet.org/${PN}"
-
-case ${PV} in
-"9999")
- inherit autotools git-r3 user python-any-r1 flag-o-matic
- # using latest git. caution:
- # this methode is prone to man-in-the-middle attacks
- ;;
-"0.10.2_rc3")
- inherit autotools git-r3 user python-any-r1 flag-o-matic
- EGIT_COMMIT="c87a389a4f842c20383d8619120b188e104cf64a"
- ;;
-"0.10.2_rc2")
- inherit autotools git-r3 user python-any-r1 flag-o-matic
- EGIT_COMMIT="922318150433906dafd11adb5185a6ff664573db"
- ;;
-"0.10.1")
- inherit autotools user python-any-r1 flag-o-matic
- SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
- S="${WORKDIR}/${PN}"
- # tests of gnunet <= 0.10.1 are using python 2.7, gnunet HEAD uses python 3.
- ;;
-esac
-#S="${WORKDIR}/${PF}/${PN}"
-
-AUTOTOOLS_IN_SOURCE_BUILD=1
-
-# XXX: There is a false warning about root or sudo required for GNS NSS library
-# installation, claiming that it will not be installed if it is missing from the
-# build environment. With current HEAD (Aug 28 2016) it seems that sudo is no
-# longer needed, neither is root. This warning must be fixed in gnunet.
-IUSE="debug +httpd +sqlite postgres mysql nls +nss +X +gnutls dane +bluetooth \
- ssl libressl experimental extra pulseaudio gstreamer qr tex test \
- +gnurl +curl curl_ssl_gnutls"
-
-# !!! TODO: Sort run depend, required use, build time use.
-REQUIRED_USE="|| ( mysql postgres sqlite )
- ?? ( pulseaudio gstreamer )
- experimental? ( || ( extra ) )
- extra? ( || ( experimental ) )"
-
-# XXX: We do not know if libressl is functional here, at least it does build,
-# so buildtime is safe, runtime should be too. If you find bugs, get in contact
-# with me.
-## Helpful notes: https://gnunet.org/bugs/view.php?id=4618#bugnotes
-RDEPEND="
- mysql? ( >=virtual/mysql-5.1 )
- postgres? ( >=dev-db/postgresql-8.3:= )
- sqlite? ( >=dev-db/sqlite-3.0 )
- >=media-libs/libextractor-0.6.1
- >=dev-libs/libgcrypt-1.6
- >=dev-libs/libunistring-0.9.3
- curl? (
- gnurl? ( >=net-misc/gnurl-7.50.1 )
- !gnurl? ( >=net-misc/curl-7.50.1[curl_ssl_gnutls] )
- )
- gnutls? ( net-libs/gnutls )
- dane? ( net-libs/gnutls[dane] )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- net-dns/libidn
- sys-libs/zlib
- httpd? ( >=net-libs/libmicrohttpd-0.9.42[messages] )
- nls? ( >=sys-devel/gettext-0.18.1 )
- nss? ( dev-libs/nss )
- dev-libs/gmp:0=
- X? (
- x11-libs/libXt
- x11-libs/libXext
- x11-libs/libX11
- x11-libs/libXrandr
- )
- dev-libs/jansson
- >=sci-mathematics/glpk-4.43
- extra? (
- qr? ( >=media-gfx/zbar-0.10[python] )
- tex? ( >=app-text/texlive-2012 )
- )
- gstreamer? (
- media-libs/gstreamer:1.0
- dev-libs/glib:2
- )
- pulseaudio? ( >=media-sound/pulseaudio-2.0 )
- >=media-libs/opus-1.0.1
- >=media-libs/libogg-1.3.0
- bluetooth? ( net-wireless/bluez )
- test? ( ${PYTHON_DEPS} )"
-
-DEPEND="${RDEPEND}
- sys-devel/automake:1.14"
-
-# TODO: We should run tests on Gentoo, currently this fails.
-
-# XXX: parallel building fails, run one job only.
-MAKEOPTS="-j1"
-
-pkg_setup() {
- export GNUNET_HOME="${GNUNET_HOME:=/var/lib/gnunet}"
- # this does not work, someone fix this.
- export GNUNET_PREFIX="${EPREFIX}/usr/lib"
- enewgroup gnunetdns
- enewgroup gnunet
- enewuser gnunet -1 /bin/sh "${GNUNET_HOME}" gnunet
- if [[ $(egethome gnunet) != ${GNUNET_HOME} ]]; then
- ewarn "For homedir different from"
- ewarn "/var/lib/gnunet set GNUNET_HOME in your make.conf"
- ewarn "and re-emerge."
- esethome gnunet "${GNUNET_HOME}"
- fi
-}
-
-# Here we add and run what bootstrap would do.
-src_prepare() {
- if [[ "${PV}" == "0.10.1_pre01021" ]]; then
- rm -rf libltdl || die
- eautoreconf
- ./contrib/pogen.sh || die
- default
- eapply_user
- elif [[ "${PV}" == "9999" ]]; then
- rm -rf libltdl || die
- eautoreconf
- ./contrib/pogen.sh || die
- default
- eapply_user
- else
- default
- eapply_user
- fi
-}
-
-src_configure() {
- ./bootstrap
- econf \
- $(use_enable experimental ) \
- $(use_with httpd microhttpd ) \
- $(use_with mysql ) \
- $(use_with postgres ) \
- $(use_with sqlite ) \
- $(use_with X x ) \
- $(use_with gnutls ) \
- --with-extractor
-}
-# $(use_with sudo )
-
-
-src_install() {
- emake DESTDIR="${D}" install
- newinitd "${FILESDIR}/${PN}.initd" gnunet
- insinto /etc/gnunet
- doins "${FILESDIR}/gnunet.conf"
- keepdir /var/{lib,log}/gnunet
- fowners gnunet:gnunet /var/lib/gnunet /var/log/gnunet
-}
-
-pkg_postinst() {
- # We should update the gtk icon cache for the icons.
- # @TODO: provide average working example config to copy for user.
- # @TOO: point out that exact time is needed currently.
- elog "To configure"
- elog " 1) Add desired user(s) to the 'gnunet' group"
- elog " 2) Edit the system-wide config file '/etc/gnunet/gnunet.conf'"
- elog " preferably using 'gnunet-setup -c /etc/gnunet/gnunet.conf'"
- elog " ('gnunet-setup' is part of the gnunet-gtk package)"
- elog " 3) You may want to choose other bootstrap nodes than the ones"
- elog " provided in /usr/share/gnunet/hellos or remove them if you"
- elog " want to run GNUnet another way."
- elog " 4) Certain services will require '/dev/net/tun' to exist,"
- elog " which you must enable in your kernel."
- elog " "
- elog "Optionally, emerge gnunet-gtk to get a GUI for file-sharing and"
- elog "configuration. This is particularly recommended"
- elog "if your network setup is non-trivial, as gnunet-setup can be"
- elog "used to test in the GUI if your network configuration is working."
- elog "gnunet-setup should be run as the \"gnunet\" user under X. As it"
- elog "does very little with the network, running it as \"root\" is likely"
- elog "also harmless. You can also run it as a normal user, but then"
- elog "you have to copy \"~/.gnunet/gnunet.conf\" over to the \"gnunet\" user's"
- elog "home directory in the end."
- elog " "
- elog "Once you have configured your peer, run (as the 'gnunet' user)"
- elog "\"gnunet-arm -s\" to start the peer. You can then run the various"
- elog "GNUnet-tools as your \"normal\" user (who should only be in the group 'gnunet')."
- elog " "
- elog "Please emerge a network time protocol daemon or use other means to keep accurate"
- elog "time on your device, otherwise you might experience problems."
-}
-
-pkg_postrm() {
- elog " "
- elog "You have to manually remove the previously created gnunet user"
- elog "and the gnunet + gnunetdns groups."
- elog " "
-}
diff --git a/net-misc/gnunet/gnunet-0.10.2_rc2.ebuild b/net-misc/gnunet/gnunet-0.10.2_rc4.ebuild
index 282fab7..d705cf1 100644
--- a/net-misc/gnunet/gnunet-0.10.2_rc2.ebuild
+++ b/net-misc/gnunet/gnunet-0.10.2_rc4.ebuild
@@ -34,16 +34,12 @@ case ${PV} in
"9999")
inherit autotools git-r3 user python-any-r1 flag-o-matic
# using latest git. caution:
- # this methode is prone to man-in-the-middle attacks
+ # this method is prone to man-in-the-middle attacks
;;
-"0.10.2_rc3")
+"0.10.2_rc4")
inherit autotools git-r3 user python-any-r1 flag-o-matic
- EGIT_COMMIT="c87a389a4f842c20383d8619120b188e104cf64a"
+ EGIT_COMMIT="6bcc73a1cbb1d4a609884762eab1b6de761ad1d9"
;;
-"0.10.2_rc2")
- inherit autotools git-r3 user python-any-r1 flag-o-matic
- EGIT_COMMIT="922318150433906dafd11adb5185a6ff664573db"
- ;;
"0.10.1")
inherit autotools user python-any-r1 flag-o-matic
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
@@ -94,7 +90,10 @@ RDEPEND="
sys-libs/zlib
httpd? ( >=net-libs/libmicrohttpd-0.9.42[messages] )
nls? ( >=sys-devel/gettext-0.18.1 )
- nss? ( dev-libs/nss )
+ nss? (
+ dev-libs/nss
+ sys-libs/glibc
+ )
dev-libs/gmp:0=
X? (
x11-libs/libXt
@@ -167,7 +166,7 @@ src_configure() {
$(use_enable experimental ) \
$(use_with httpd microhttpd ) \
$(use_with mysql ) \
- $(use_with postgres ) \
+ $(use_with postgres postgresql ) \
$(use_with sqlite ) \
$(use_with X x ) \
$(use_with gnutls ) \
@@ -177,8 +176,13 @@ src_configure() {
src_install() {
+ into /
+ use nss && dolib.so src/gns/nss/.libs/libnss_gns*.so*
emake DESTDIR="${D}" install
+ rm -rf ${D}/usr/lib/gnunet/nss
newinitd "${FILESDIR}/${PN}.initd" gnunet
+ insinto /etc
+ use nss && doins "${FILESDIR}/nsswitch.conf"
insinto /etc/gnunet
doins "${FILESDIR}/gnunet.conf"
keepdir /var/{lib,log}/gnunet
@@ -188,7 +192,8 @@ src_install() {
pkg_postinst() {
# We should update the gtk icon cache for the icons.
# @TODO: provide average working example config to copy for user.
- # @TOO: point out that exact time is needed currently.
+ # @TODO: point out that exact time is needed currently.
+ elog " "
elog "To configure"
elog " 1) Add desired user(s) to the 'gnunet' group"
elog " 2) Edit the system-wide config file '/etc/gnunet/gnunet.conf'"
diff --git a/net-misc/gnunet/gnunet-9999.ebuild b/net-misc/gnunet/gnunet-9999.ebuild
index 282fab7..d705cf1 100644
--- a/net-misc/gnunet/gnunet-9999.ebuild
+++ b/net-misc/gnunet/gnunet-9999.ebuild
@@ -34,16 +34,12 @@ case ${PV} in
"9999")
inherit autotools git-r3 user python-any-r1 flag-o-matic
# using latest git. caution:
- # this methode is prone to man-in-the-middle attacks
+ # this method is prone to man-in-the-middle attacks
;;
-"0.10.2_rc3")
+"0.10.2_rc4")
inherit autotools git-r3 user python-any-r1 flag-o-matic
- EGIT_COMMIT="c87a389a4f842c20383d8619120b188e104cf64a"
+ EGIT_COMMIT="6bcc73a1cbb1d4a609884762eab1b6de761ad1d9"
;;
-"0.10.2_rc2")
- inherit autotools git-r3 user python-any-r1 flag-o-matic
- EGIT_COMMIT="922318150433906dafd11adb5185a6ff664573db"
- ;;
"0.10.1")
inherit autotools user python-any-r1 flag-o-matic
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
@@ -94,7 +90,10 @@ RDEPEND="
sys-libs/zlib
httpd? ( >=net-libs/libmicrohttpd-0.9.42[messages] )
nls? ( >=sys-devel/gettext-0.18.1 )
- nss? ( dev-libs/nss )
+ nss? (
+ dev-libs/nss
+ sys-libs/glibc
+ )
dev-libs/gmp:0=
X? (
x11-libs/libXt
@@ -167,7 +166,7 @@ src_configure() {
$(use_enable experimental ) \
$(use_with httpd microhttpd ) \
$(use_with mysql ) \
- $(use_with postgres ) \
+ $(use_with postgres postgresql ) \
$(use_with sqlite ) \
$(use_with X x ) \
$(use_with gnutls ) \
@@ -177,8 +176,13 @@ src_configure() {
src_install() {
+ into /
+ use nss && dolib.so src/gns/nss/.libs/libnss_gns*.so*
emake DESTDIR="${D}" install
+ rm -rf ${D}/usr/lib/gnunet/nss
newinitd "${FILESDIR}/${PN}.initd" gnunet
+ insinto /etc
+ use nss && doins "${FILESDIR}/nsswitch.conf"
insinto /etc/gnunet
doins "${FILESDIR}/gnunet.conf"
keepdir /var/{lib,log}/gnunet
@@ -188,7 +192,8 @@ src_install() {
pkg_postinst() {
# We should update the gtk icon cache for the icons.
# @TODO: provide average working example config to copy for user.
- # @TOO: point out that exact time is needed currently.
+ # @TODO: point out that exact time is needed currently.
+ elog " "
elog "To configure"
elog " 1) Add desired user(s) to the 'gnunet' group"
elog " 2) Edit the system-wide config file '/etc/gnunet/gnunet.conf'"