net-p2p/opentracker: up and fix ebuild

- add acct-{user,group}
 - add flags descriptions
pull/13/head
Victor Kustov 1 year ago
parent d46f61092f
commit ee53eaa20c

@ -0,0 +1,8 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-group
ACCT_GROUP_ID=-1

@ -0,0 +1,13 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-user
ACCT_USER_ID=-1
ACCT_USER_GROUPS=( opentracker )
ACCT_USER_HOME="/var/lib/opentracker"
ACCT_USER_HOME_OWNER="opentracker:opentracker"
acct-user_add_deps

@ -0,0 +1,112 @@
diff --git a/Makefile b/Makefile
index 949e63e..a4beaf5 100644
--- a/Makefile
+++ b/Makefile
@@ -13,44 +13,43 @@ CC?=gcc
# LIBOWFAT_LIBRARY=$(PREFIX)/lib
# Debug flavour
-PREFIX?=..
-LIBOWFAT_HEADERS=$(PREFIX)/libowfat
+PREFIX?=/usr
+LIBOWFAT_HEADERS=$(PREFIX)/include/libowfat
LIBOWFAT_LIBRARY=$(PREFIX)/libowfat
BINDIR?=$(PREFIX)/bin
-STRIP?=strip
-
-#FEATURES+=-DWANT_V6
-
-#FEATURES+=-DWANT_ACCESSLIST_BLACK
-#FEATURES+=-DWANT_ACCESSLIST_WHITE
-
-#FEATURES+=-DWANT_SYNC_LIVE
-#FEATURES+=-DWANT_IP_FROM_QUERY_STRING
-#FEATURES+=-DWANT_COMPRESSION_GZIP
-#FEATURES+=-DWANT_COMPRESSION_GZIP_ALWAYS
-#FEATURES+=-DWANT_LOG_NETWORKS
-#FEATURES+=-DWANT_RESTRICT_STATS
-#FEATURES+=-DWANT_IP_FROM_PROXY
-#FEATURES+=-DWANT_FULLLOG_NETWORKS
-#FEATURES+=-DWANT_LOG_NUMWANT
-#FEATURES+=-DWANT_MODEST_FULLSCRAPES
-#FEATURES+=-DWANT_SPOT_WOODPECKER
-#FEATURES+=-DWANT_SYSLOGS
-#FEATURES+=-DWANT_DEV_RANDOM
-FEATURES+=-DWANT_FULLSCRAPE
+
+#BUILD_FEATURES+=-DWANT_V6
+
+#BUILD_FEATURES+=-DWANT_ACCESSLIST_BLACK
+#BUILD_FEATURES+=-DWANT_ACCESSLIST_WHITE
+
+#BUILD_FEATURES+=-DWANT_SYNC_LIVE
+#BUILD_FEATURES+=-DWANT_IP_FROM_QUERY_STRING
+#BUILD_FEATURES+=-DWANT_COMPRESSION_GZIP
+#BUILD_FEATURES+=-DWANT_COMPRESSION_GZIP_ALWAYS
+#BUILD_FEATURES+=-DWANT_LOG_NETWORKS
+#BUILD_FEATURES+=-DWANT_RESTRICT_STATS
+#BUILD_FEATURES+=-DWANT_IP_FROM_PROXY
+#BUILD_FEATURES+=-DWANT_FULLLOG_NETWORKS
+#BUILD_FEATURES+=-DWANT_LOG_NUMWANT
+#BUILD_FEATURES+=-DWANT_MODEST_FULLSCRAPES
+#BUILD_FEATURES+=-DWANT_SPOT_WOODPECKER
+#BUILD_FEATURES+=-DWANT_SYSLOGS
+#BUILD_FEATURES+=-DWANT_DEV_RANDOM
+BUILD_FEATURES+=-DWANT_FULLSCRAPE
# Is enabled on BSD systems by default in trackerlogic.h
# on Linux systems you will need -lbds
-#FEATURES+=-DWANT_ARC4RANDOM
+#BUILD_FEATURES+=-DWANT_ARC4RANDOM
-#FEATURES+=-D_DEBUG_HTTPERROR
+#BUILD_FEATURES+=-D_DEBUG_HTTPERROR
OPTS_debug=-D_DEBUG -g -ggdb # -pg -fprofile-arcs -ftest-coverage
-OPTS_production=-O3
+OPTS_production=
CFLAGS+=-I$(LIBOWFAT_HEADERS) -Wall -pipe -Wextra #-ansi -pedantic
-LDFLAGS+=-L$(LIBOWFAT_LIBRARY) -lowfat -pthread -lpthread -lz
+LDFLAGS+=-L$(LIBOWFAT_LIBRARY) -lowfat -lpthread -lz
#LDFLAGS+=-lbsd
BINARY =opentracker
@@ -59,31 +58,21 @@ SOURCES=opentracker.c trackerlogic.c scan_urlencoded_query.c ot_mutex.c ot_stats
SOURCES_proxy=proxy.c ot_vector.c ot_mutex.c
OBJECTS = $(SOURCES:%.c=%.o)
-OBJECTS_debug = $(SOURCES:%.c=%.debug.o)
OBJECTS_proxy = $(SOURCES_proxy:%.c=%.o)
-OBJECTS_proxy_debug = $(SOURCES_proxy:%.c=%.debug.o)
-.SUFFIXES: .debug.o .o .c
+.SUFFIXES: .o .c
-all: $(BINARY) $(BINARY).debug
+all: $(BINARY)
-CFLAGS_production = $(CFLAGS) $(OPTS_production) $(FEATURES)
-CFLAGS_debug = $(CFLAGS) $(OPTS_debug) $(FEATURES)
+CFLAGS_production = $(CFLAGS) $(OPTS_production) $(BUILD_FEATURES)
+#CFLAGS_production += $(OPTS_debug)
$(BINARY): $(OBJECTS) $(HEADERS)
$(CC) -o $@ $(OBJECTS) $(LDFLAGS)
- $(STRIP) $@
-$(BINARY).debug: $(OBJECTS_debug) $(HEADERS)
- $(CC) -o $@ $(OBJECTS_debug) $(LDFLAGS)
proxy: $(OBJECTS_proxy) $(HEADERS)
$(CC) -o $@ $(OBJECTS_proxy) $(CFLAGS_production) $(LDFLAGS)
-proxy.debug: $(OBJECTS_proxy_debug) $(HEADERS)
- $(CC) -o $@ $(OBJECTS_proxy_debug) $(LDFLAGS)
-
-.c.debug.o : $(HEADERS)
- $(CC) -c -o $@ $(CFLAGS_debug) $(<:.debug.o=.c)
-.c.o : $(HEADERS)
+.c.o :
$(CC) -c -o $@ $(CFLAGS_production) $<
clean:

@ -0,0 +1,32 @@
diff --git a/opentracker.conf.sample b/opentracker.conf.sample
index db45122..f847080 100644
--- a/opentracker.conf.sample
+++ b/opentracker.conf.sample
@@ -34,11 +34,11 @@
# II) If opentracker runs in a non-open mode, point it to files containing
# all torrent hashes that it will serve (shell option -w)
#
-# access.whitelist /path/to/whitelist
+# access.whitelist /var/lib/opentracker/access.whitelist
#
# or, if opentracker was compiled to allow blacklisting (shell option -b)
#
-# access.blacklist ./blacklist
+# access.blacklist /var/lib/opentracker/access.blacklist
#
# It is pointless and hence not possible to compile black AND white
# listing, so choose one of those options at compile time. File format
@@ -93,11 +93,11 @@
# list files must be put in that directory (shell option -d).
#
#
-# tracker.rootdir /usr/local/etc/opentracker
+# tracker.rootdir /var/lib/opentracker
#
# Tell opentracker which user to setuid to.
#
-# tracker.user nobody
+# tracker.user opentracker
#
# VI) opentracker can be told to answer to a "GET / HTTP"-request with a

@ -6,4 +6,26 @@
<name>Mir Calculate</name>
<description>Calculate Overlay</description>
</maintainer>
<use>
<flag name="blacklist">Make use of a torrents black-list</flag>
<flag name="gzip-always">Enforce gzip compressed full scrapes even if client did not request it</flag>
<flag name="ip-from-query">Accept source IP only from query (debugging purposes only)</flag>
<flag name="ip-from-proxy">Accept source IP from proxy</flag>
<flag name="fullscrapes-modest">Enable limiting fullscrapes to only every 5 minutes per IP</flag>
<flag name="live-sync">Allow synchronisation between several instances through multicast</flag>
<flag name="live-sync-unicast">Allow synchronisation between several instances through unicast</flag>
<flag name="log-networks-full">Add some subnet debugging features</flag>
<flag name="log-numwant">Log amount of numwants</flag>
<flag name="persistence">Allow saving torrents and peers information on disk</flag>
<flag name="spot-woodpeckers">Enable tracking of abusing peers</flag>
<flag name="restrict-stats">Restrict statistics to the tracker owner</flag>
<flag name="whitelist">Make use of a torrents white-list</flag>
</use>
<longdescription lang="en">Opentracker is a open and free bittorrent tracker.
It aims for minimal resource usage and is capable to serve multiple thousands of requests.</longdescription>
<upstream>
<doc>http://erdgeist.org/arts/software/opentracker/</doc>
<bugs-to>mailto:erdgeist@erdgeist.org</bugs-to>
<remote-id type="github">flygoast/opentracker</remote-id>
</upstream>
</pkgmetadata>

@ -1,65 +0,0 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-p2p/opentracker/opentracker-9999.ebuild,v 0.1 2009/03/24 11:13:02 droz_raph Exp $
EAPI=6
inherit git-r3
DESCRIPTION="An open and free bittorrent tracker"
HOMEPAGE="http://erdgeist.org/arts/software/opentracker/"
EGIT_REPO_URI="git://erdgeist.org/opentracker"
EGIT_COMMIT="9c7be324f5a4306dd81eab2f982f87e2c42ffdf1"
LICENSE="BEER-WARE"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="ipv6 blacklist +whitelist debug gzip restrict-stats live-sync log-network"
RDEPEND=""
DEPEND=">=dev-libs/libowfat-0.27"
src_compile() {
# fix use of FEATURES, so it's not mixed up with portage's FEATURES
sed -i \
-e "s|FEATURES|FEATURES_INTERNAL|g" \
-e "s|PREFIX?=..|PREFIX?=/usr|g" \
-e "s|LIBOWFAT_HEADERS=\$(PREFIX)/libowfat|LIBOWFAT_HEADERS=\$(PREFIX)/include/libowfat|g" \
-e "s|-pthread|-lpthread|g" \
-e "s|BINDIR?=\$(PREFIX)/bin|BINDIR?=\$(DESTDIR)\$(PREFIX)/bin|g" \
Makefile
use ipv6 && sed -i '/WANT_V6/s/^#*//' Makefile
use blacklist && use whitelist && die "USE blacklist and whitelist are exclusive"
use blacklist && sed -i '/DWANT_ACCESSLIST_BLACK/s/^#*//' Makefile
use whitelist && sed -i '/DWANT_ACCESSLIST_WHITE/s/^#*//' Makefile
use gzip && sed -i '/DWANT_COMPRESSION_GZIP/s/^#*//' Makefile
use restrict-stats && sed -i '/DWANT_RESTRICT_STATS/s/^#*//' Makefile
use live-sync && sed -i '/DWANT_SYNC_LIVE/s/^#*//' Makefile
use log-network && sed -i '/DWANT_LOG_NETWORKS/s/^#*//' Makefile
sed -i '/DWANT_IP_FROM_QUERY_STRING/s/^#*//' Makefile
if use debug; then
sed -i '/D_DEBUG_HTTPERROR/s/^#*//' Makefile
sed -i '$a\\tinstall -m 755 opentracker.debug $(BINDIR)' Makefile
! [[ "${FEATURES}" =~ nostrip ]] && \
ewarn "Please emerge with FEATURES=nostrip to get debug really effective" && \
sleep 2
fi
if use debug; then
emake all || die "emake failed"
else
emake opentracker || die "emake failed"
fi
}
src_install() {
mkdir -p ${D}usr/bin
emake install DESTDIR="${D}" || die "Install failed"
dodoc README README_v6
insinto /etc
newins opentracker.conf.sample opentracker.conf
cp "${FILESDIR}"/opentracker.init.d "${T}"/opentracker || die
doinitd "${T}"/opentracker
}

@ -0,0 +1,75 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=8
inherit git-r3
DESCRIPTION="An open and free bittorrent tracker"
HOMEPAGE="http://erdgeist.org/arts/software/opentracker/"
EGIT_REPO_URI="git://erdgeist.org/opentracker"
EGIT_COMMIT="110868ec4ebe60521d5a4ced63feca6a1cf0aa2a"
LICENSE="BEER-WARE"
SLOT="0"
#KEYWORDS="~amd64 ~x86"
IUSE="+blacklist debug gzip-always ip-from-query ip-from-proxy ipv6 fullscrapes-modest live-sync
live-sync-unicast log-networks-full log-numwant persistence restrict-stats spot-woodpeckers syslog whitelist"
REQUIRED_USE="^^ ( blacklist whitelist )
live-sync-unicast? ( live-sync )
persistence? ( !ipv6 )"
DEPEND="sys-libs/zlib"
RDEPEND="acct-user/opentracker
dev-libs/libowfat
${DEPEND}"
PATCHES="${FILESDIR}/${PN}-Makefile.patch ${FILESDIR}/${PN}-conf.patch"
src_prepare() {
default
local MYFEATURES="BUILD_FEATURES+=-DWANT_COMPRESSION_GZIP -DWANT_FULLSCRAPE"
use blacklist && MYFEATURES+=" -DWANT_ACCESSLIST_BLACK"
use gzip-always && MYFEATURES+=" -DWANT_COMPRESSION_GZIP_ALWAYS"
use ip-from-query && MYFEATURES+=" -DWANT_IP_FROM_QUERY_STRING"
use ip-from-proxy && MYFEATURES+=" -DWANT_IP_FROM_PROXY"
use ipv6 && MYFEATURES+=" -DWANT_V6"
use fullscrapes-modest && MYFEATURES+=" -DWANT_MODEST_FULLSCRAPES"
use live-sync && MYFEATURES+=" -DWANT_SYNC_LIVE"
use live-sync-unicast && MYFEATURES+=" -DSYNC_LIVE_UNICAST"
use log-networks-full && MYFEATURES+=" -DWANT_FULLLOG_NETWORKS"
use log-numwant && MYFEATURES+=" -DWANT_LOG_NUMWANT"
use persistence && MYFEATURES+=" -DWANT_PERSISTENCE"
use spot-woodpeckers && MYFEATURES+=" -DWANT_SPOT_WOODPECKER"
use syslog && MYFEATURES+=" -DWANT_SYSLOGS"
use restrict-stats && MYFEATURES+=" -DWANT_RESTRICT_STATS"
use whitelist && MYFEATURES+=" -DWANT_ACCESSLIST_WHITE"
if use debug; then
MYFEATURES+=" -D_DEBUG_HTTPERROR"
sed -i -e "/^#CFLAGS_production.*OPTS_debug/s/^#//" Makefile || die "sed DEBUG CFLAGS enable failed in Makefile"
fi
sed -i "/^BUILD_FEATURES/s/^.*/${MYFEATURES}/" Makefile || die "sed BUILD_FEATURES failed in Makefile"
}
src_install() {
dodoc README*
insinto /etc
newins opentracker.conf.sample opentracker.conf
cp "${FILESDIR}"/opentracker.init.d "${T}"/opentracker || die
doinitd "${T}"/opentracker
dodir /usr/bin
emake install DESTDIR="${D}"
if use debug && ! has nostrip ${FEATURES}; then
ewarn "
********************************************************************************
Please emerge with FEATURES=nostrip to get debug really effective
********************************************************************************
"
fi
}

@ -1,64 +0,0 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-p2p/opentracker/opentracker-9999.ebuild,v 0.1 2009/03/24 11:13:02 droz_raph Exp $
EAPI=6
inherit git-r3
DESCRIPTION="An open and free bittorrent tracker"
HOMEPAGE="http://erdgeist.org/arts/software/opentracker/"
EGIT_REPO_URI="git://erdgeist.org/opentracker"
LICENSE="BEER-WARE"
SLOT="0"
KEYWORDS=""
IUSE="ipv6 blacklist +whitelist debug gzip restrict-stats live-sync log-network"
RDEPEND=""
DEPEND=">=dev-libs/libowfat-0.27"
src_compile() {
# fix use of FEATURES, so it's not mixed up with portage's FEATURES
sed -i \
-e "s|FEATURES|FEATURES_INTERNAL|g" \
-e "s|PREFIX?=..|PREFIX?=/usr|g" \
-e "s|LIBOWFAT_HEADERS=\$(PREFIX)/libowfat|LIBOWFAT_HEADERS=\$(PREFIX)/include/libowfat|g" \
-e "s|-pthread|-lpthread|g" \
-e "s|BINDIR?=\$(PREFIX)/bin|BINDIR?=\$(DESTDIR)\$(PREFIX)/bin|g" \
Makefile
use ipv6 && sed -i '/WANT_V6/s/^#*//' Makefile
use blacklist && use whitelist && die "USE blacklist and whitelist are exclusive"
use blacklist && sed -i '/DWANT_ACCESSLIST_BLACK/s/^#*//' Makefile
use whitelist && sed -i '/DWANT_ACCESSLIST_WHITE/s/^#*//' Makefile
use gzip && sed -i '/DWANT_COMPRESSION_GZIP/s/^#*//' Makefile
use restrict-stats && sed -i '/DWANT_RESTRICT_STATS/s/^#*//' Makefile
use live-sync && sed -i '/DWANT_SYNC_LIVE/s/^#*//' Makefile
use log-network && sed -i '/DWANT_LOG_NETWORKS/s/^#*//' Makefile
sed -i '/DWANT_IP_FROM_QUERY_STRING/s/^#*//' Makefile
if use debug; then
sed -i '/D_DEBUG_HTTPERROR/s/^#*//' Makefile
sed -i '$a\\tinstall -m 755 opentracker.debug $(BINDIR)' Makefile
! [[ "${FEATURES}" =~ nostrip ]] && \
ewarn "Please emerge with FEATURES=nostrip to get debug really effective" && \
sleep 2
fi
if use debug; then
emake all || die "emake failed"
else
emake opentracker || die "emake failed"
fi
}
src_install() {
mkdir -p ${D}usr/bin
emake install DESTDIR="${D}" || die "Install failed"
dodoc README README_v6
insinto /etc
newins opentracker.conf.sample opentracker.conf
cp "${FILESDIR}"/opentracker.init.d "${T}"/opentracker || die
doinitd "${T}"/opentracker
}
Loading…
Cancel
Save