summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorM0Rf302015-06-17 15:59:53 +0200
committerM0Rf302015-06-17 15:59:53 +0200
commit6089af56ed3936e34e35dec86e9792966feafb26 (patch)
tree70fcfba43ed87a0c45027714a570c3549fed6961
downloadaur-6089af56ed3936e34e35dec86e9792966feafb26.tar.gz
Initial import
-rw-r--r--.SRCINFO45
-rw-r--r--Makefile79
-rw-r--r--PKGBUILD58
-rw-r--r--namecoin.conf11
-rw-r--r--namecoin.install96
-rw-r--r--namecoin.logrotate11
-rw-r--r--namecoin.service16
7 files changed, 316 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..c49a1c602dd8
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,45 @@
+pkgbase = namecoin-core
+ pkgdesc = Namecoin Core headless P2P node
+ pkgver = 0.3.80
+ pkgrel = 1
+ url = http://namecoin.info/
+ install = namecoin.install
+ arch = i686
+ arch = x86_64
+ license = MIT
+ makedepends = autoconf
+ makedepends = automake
+ makedepends = binutils
+ makedepends = expect
+ makedepends = gcc
+ makedepends = libtool
+ makedepends = make
+ makedepends = pkg-config
+ makedepends = yasm
+ depends = boost
+ depends = boost-libs
+ depends = miniupnpc
+ depends = openssl
+ provides = namecoin-cli
+ provides = namecoin-daemon
+ provides = namecoin-tx
+ conflicts = namecoin-cli
+ conflicts = namecoind
+ conflicts = namecoin-daemon
+ conflicts = namecoin-qt
+ conflicts = namecoin-tx
+ backup = etc/namecoin/namecoin.conf
+ backup = etc/logrotate.d/namecoin
+ source = https://github.com/namecoin/namecoin/archive/nc0.3.80.tar.gz
+ source = namecoin.conf
+ source = namecoin.logrotate
+ source = namecoin.service
+ source = Makefile
+ md5sums = 7302f83d8390184139277255a6c1d484
+ md5sums = 020bfdfe192bd21b84964c1e90ae4450
+ md5sums = 2ca92d94c329bf54b8df70f22c27ba98
+ md5sums = 1186c6c80cb488e0809a4977ec92399b
+ md5sums = 701197b708dbb6b5d7568f77ae46f3bb
+
+pkgname = namecoin-core
+
diff --git a/Makefile b/Makefile
new file mode 100644
index 000000000000..38558902c7a0
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,79 @@
+CXX=g++
+
+DEFS=-D_MT -DNOPCH -DFOURWAYSSE2 -DUSE_SSL
+
+# Link boost statically
+DEFS += -DBOOST_ALL_DYN_LINK
+
+INCLUDEPATHS=-I/usr/include
+
+LIBPATHS=-L/usr/lib
+
+LIBS=-lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono -ldb_cxx -lssl -lcrypto
+
+namecoin: USE_UPNP:=1
+ ifdef USE_UPNP
+ LIBS += -l miniupnpc
+ DEFS += -DUSE_UPNP=$(USE_UPNP)
+ endif
+
+ # Linux-specific
+ LIBS+= -lgthread-2.0 -lz -ldl -lpthread
+
+
+namecoind: USE_UPNP:=0
+ ifdef USE_UPNP
+ LIBS += -lminiupnpc
+ DEFS += -DUSE_UPNP=$(USE_UPNP)
+ endif
+ # Linux-specific
+ LIBS+= -lgthread-2.0 -lz -ldl -lpthread
+
+
+CXXFLAGS=-O2 -Wno-invalid-offsetof -Wformat $(DEFS) $(INCLUDEPATHS)
+HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h script.h allocators.h db.h walletdb.h crypter.h net.h irc.h keystore.h main.h wallet.h bitcoinrpc.h uibase.h ui.h noui.h init.h auxpow.h
+
+OBJS= obj/auxpow.o \
+ obj/util.o \
+ obj/key.o \
+ obj/script.o \
+ obj/db.o \
+ obj/walletdb.o \
+ obj/crypter.o \
+ obj/net.o \
+ obj/irc.o \
+ obj/keystore.o \
+ obj/main.o \
+ obj/wallet.o \
+ obj/bitcoinrpc.o \
+ obj/init.o \
+ cryptopp/obj/sha.o \
+ cryptopp/obj/cpu.o
+
+all: namecoind
+
+
+obj/%.o: %.cpp $(HEADERS)
+ $(CXX) -c $(CXXFLAGS) -DGUI -o $@ $<
+
+cryptopp/obj/%.o: cryptopp/%.cpp
+ $(CXX) -c $(CXXFLAGS) -O3 -o $@ $<
+
+obj/nogui/%.o: %.cpp $(HEADERS)
+ $(CXX) -c $(CXXFLAGS) -o $@ $<
+
+obj/test/%.o: test/%.cpp $(HEADERS)
+ $(CXX) -c $(CFLAGS) -o $@ $<
+
+obj/nogui/namecoin.o: namecoin.h
+
+namecoind: $(OBJS:obj/%=obj/nogui/%) obj/nogui/namecoin.o
+ $(CXX) $(CXXFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
+
+clean:
+ -rm -f namecoin namecoind
+ -rm -f obj/*.o
+ -rm -f obj/nogui/*.o
+ -rm -f obj/test/*.o
+ -rm -f cryptopp/obj/*.o
+ -rm -f headers.h.gch
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b8869e3864b0
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,58 @@
+# Maintainer: M0Rf30
+
+pkgname=namecoin-core
+pkgver=0.3.80
+pkgrel=1
+pkgdesc="Namecoin Core headless P2P node"
+arch=('i686' 'x86_64')
+url="http://namecoin.info/"
+depends=('boost' 'boost-libs' 'miniupnpc' 'openssl')
+makedepends=('autoconf' 'automake' 'binutils' 'expect' 'gcc' 'libtool' 'make' 'pkg-config' 'yasm')
+license=('MIT')
+source=(https://github.com/namecoin/namecoin/archive/nc${pkgver}.tar.gz
+ namecoin.conf
+ namecoin.logrotate
+ namecoin.service
+ Makefile)
+backup=('etc/namecoin/namecoin.conf'
+ 'etc/logrotate.d/namecoin')
+provides=('namecoin-cli' 'namecoin-daemon' 'namecoin-tx')
+conflicts=('namecoin-cli' 'namecoind' 'namecoin-daemon' 'namecoin-qt' 'namecoin-tx')
+install=namecoin.install
+
+build() {
+ cd "$srcdir/${pkgname%-core}-nc$pkgver"
+
+ msg 'Building...'
+ cd src
+ cp $srcdir/Makefile .
+ make namecoind
+}
+
+package() {
+ cd "$srcdir/${pkgname%-core}-nc$pkgver"
+
+ msg 'Installing license...'
+ install -Dm 644 COPYING "$pkgdir/usr/share/licenses/${pkgname%-core}/COPYING"
+
+ msg 'Installing namecoin...'
+ install -Dm 775 src/namecoind "$pkgdir/usr/bin/namecoind"
+
+ msg 'Installing namecoin.conf...'
+ install -Dm 600 "$srcdir/namecoin.conf" "$pkgdir/etc/namecoin/namecoin.conf"
+
+ msg 'Installing namecoin.service...'
+ install -Dm 644 "$srcdir/namecoin.service" "$pkgdir/usr/lib/systemd/system/namecoin.service"
+
+ msg 'Installing namecoin.logrotate...'
+ install -Dm 644 "$srcdir/namecoin.logrotate" "$pkgdir/etc/logrotate.d/namecoin"
+
+ msg 'Cleaning up pkgdir...'
+ find "$pkgdir" -type f -name .gitignore -exec rm -r '{}' +
+}
+
+md5sums=('7302f83d8390184139277255a6c1d484'
+ '020bfdfe192bd21b84964c1e90ae4450'
+ '2ca92d94c329bf54b8df70f22c27ba98'
+ '1186c6c80cb488e0809a4977ec92399b'
+ '701197b708dbb6b5d7568f77ae46f3bb')
diff --git a/namecoin.conf b/namecoin.conf
new file mode 100644
index 000000000000..1982242f7bdd
--- /dev/null
+++ b/namecoin.conf
@@ -0,0 +1,11 @@
+rpcconnect=127.0.0.1
+rpcport=8336
+rpcuser=namecoin
+rpcpassword=secret
+rpcssl=1
+rpcallowip=127.0.0.1
+rpcsslcertificatechainfile=/etc/namecoin/server.cert
+rpcsslprivatekeyfile=/etc/namecoin/server.pem
+rpcsslciphers=TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH
+txindex=1
+server=1
diff --git a/namecoin.install b/namecoin.install
new file mode 100644
index 000000000000..359fb7d0bd23
--- /dev/null
+++ b/namecoin.install
@@ -0,0 +1,96 @@
+post_install() {
+ _mkuser
+ _mkssl
+ chown -R namecoin:namecoin /etc/namecoin /srv/namecoin
+ printf "$namecoin\n"
+}
+
+post_upgrade() {
+ _mkuser
+ chown -R namecoin:namecoin /etc/namecoin /srv/namecoin
+ printf "$namecoin\n"
+}
+
+post_remove() {
+ _rmuser
+ rm -rf /srv/namecoin
+}
+
+_mkuser() {
+ getent passwd namecoin &>/dev/null || {
+ echo -n "Creating namecoin user... "
+ grep -E "^namecoin:" /etc/group >/dev/null || groupadd namecoin
+ useradd -m -d /etc/namecoin -g namecoin -s /usr/bin/nologin namecoin 2>/dev/null
+ echo "done"
+ }
+}
+
+_rmuser() {
+ echo -n "Removing namecoin user... "
+ userdel -rf namecoin 2>/dev/null
+ echo "done"
+}
+
+_mkssl() {
+ echo -n "Enabling SSL..."
+ mkdir -p /{etc,srv}/namecoin
+ openssl genrsa -out /etc/namecoin/server.pem 2048
+ expect <<EOF | perl -ne 'print if /-----BEGIN\sCERTIFICATE-----/../-----END\sCERTIFICATE-----/' > /etc/namecoin/server.cert
+ spawn openssl req -new -x509 -nodes -sha1 -days 3650 -key /etc/namecoin/server.pem
+ expect "Country*" {
+ send "\r"
+ }
+ expect "State*" {
+ send "\r"
+ }
+ expect "Locality*" {
+ send "\r"
+ }
+ expect "Organization*" {
+ send "\r"
+ }
+ expect "Organizational*" {
+ send "\r"
+ }
+ expect "Common*" {
+ send "\r"
+ }
+ expect "Email*" {
+ send "\r"
+ }
+ expect eof
+EOF
+ echo "done"
+}
+
+read -d '' namecoin <<'EOF'
+########################################################################
+########################################################################
+## ##
+## Namecoin Core ##
+## ____________ ##
+## ##
+## To start namecoin-core: ##
+## ##
+## # systemctl start namecoin ##
+## ##
+## To communicate with namecoin-core as a normal user: ##
+## ##
+## $ mkdir -p ~/.namecoin ##
+## $ cat > ~/.namecoin/namecoin.conf <<'EOF' ##
+## rpcconnect=127.0.0.1 ##
+## rpcport=8336 ##
+## rpcuser=namecoin ##
+## rpcpassword=secret ##
+## rpcssl=1 ##
+## EOF ##
+## ##
+## $ namecoind getmininginfo ##
+## ##
+## Config: /etc/namecoin/namecoin.conf ##
+## Blockchain: /srv/namecoin ##
+## Documentation: /usr/share/doc/namecoin ##
+## ##
+########################################################################
+########################################################################
+EOF
diff --git a/namecoin.logrotate b/namecoin.logrotate
new file mode 100644
index 000000000000..86c1c281d5b7
--- /dev/null
+++ b/namecoin.logrotate
@@ -0,0 +1,11 @@
+/srv/namecoin/debug.log
+{
+ rotate 5
+ copytruncate
+ daily
+ missingok
+ notifempty
+ compress
+ delaycompress
+ sharedscripts
+}
diff --git a/namecoin.service b/namecoin.service
new file mode 100644
index 000000000000..19596cbdc526
--- /dev/null
+++ b/namecoin.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Namecoin Daemon
+After=network.target
+
+[Service]
+User=namecoin
+Group=namecoin
+ExecStart=/usr/bin/namecoind -daemon=0 \
+ -conf=/etc/namecoin/namecoin.conf \
+ -datadir=/srv/namecoin \
+ -pid=/run/namecoind.pid
+ExecReload=/usr/bin/kill -HUP $MAINPID
+ExecStop=/usr/bin/namecoind stop
+
+[Install]
+WantedBy=multi-user.target