diff options
author | M0Rf30 | 2015-06-17 15:59:53 +0200 |
---|---|---|
committer | M0Rf30 | 2015-06-17 15:59:53 +0200 |
commit | 6089af56ed3936e34e35dec86e9792966feafb26 (patch) | |
tree | 70fcfba43ed87a0c45027714a570c3549fed6961 | |
download | aur-6089af56ed3936e34e35dec86e9792966feafb26.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 45 | ||||
-rw-r--r-- | Makefile | 79 | ||||
-rw-r--r-- | PKGBUILD | 58 | ||||
-rw-r--r-- | namecoin.conf | 11 | ||||
-rw-r--r-- | namecoin.install | 96 | ||||
-rw-r--r-- | namecoin.logrotate | 11 | ||||
-rw-r--r-- | namecoin.service | 16 |
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 |