Gentoo Archives: gentoo-commits

From: "Anthony G. Basile (blueness)" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-p2p/datacoin-hp/files: datacoin.logrotate datacoin-hp-sys_leveldb.patch datacoin.service datacoin.confd datacoin.initd datacoin.conf
Date: Sat, 28 Dec 2013 16:15:44
Message-Id: 20131228161540.D7AE22004C@flycatcher.gentoo.org
1 blueness 13/12/28 16:15:40
2
3 Added: datacoin.logrotate datacoin-hp-sys_leveldb.patch
4 datacoin.service datacoin.confd datacoin.initd
5 datacoin.conf
6 Log:
7 Initial commit. Thanks likewhoa\!
8
9 (Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 0xF52D4BBA)
10
11 Revision Changes Path
12 1.1 net-p2p/datacoin-hp/files/datacoin.logrotate
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin.logrotate?rev=1.1&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin.logrotate?rev=1.1&content-type=text/plain
16
17 Index: datacoin.logrotate
18 ===================================================================
19 /var/lib/datacoin/.datacoin/debug.log {
20 weekly
21 sharedscripts
22 postrotate
23 killall -HUP datacoind
24 endscript
25 }
26
27
28
29 1.1 net-p2p/datacoin-hp/files/datacoin-hp-sys_leveldb.patch
30
31 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin-hp-sys_leveldb.patch?rev=1.1&view=markup
32 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin-hp-sys_leveldb.patch?rev=1.1&content-type=text/plain
33
34 Index: datacoin-hp-sys_leveldb.patch
35 ===================================================================
36 diff --git a/datacoin-qt.pro b/datacoin-qt.pro
37 index f531607..df0ecc4 100644
38 --- a/datacoin-qt.pro
39 +++ b/datacoin-qt.pro
40 @@ -4,7 +4,7 @@ macx:TARGET = "Datacoin-Qt"
41 VERSION = 0.8.3
42 INCLUDEPATH += src src/json src/qt
43 QT += network
44 -DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE
45 +DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE LEVELDB_WITHOUT_MEMENV
46 CONFIG += no_include_pwd
47 CONFIG += thread
48
49 @@ -104,25 +104,29 @@ contains(BITCOIN_NEED_QT_PLUGINS, 1) {
50 QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets
51 }
52
53 +contains(USE_SYSTEM_LEVELDB, 1) {
54 + LIBS += -lleveldb
55 +} else {
56 INCLUDEPATH += src/leveldb/include src/leveldb/helpers
57 -LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a
58 +LIBS += $$PWD/src/leveldb/libleveldb.a
59 !win32 {
60 # we use QMAKE_CXXFLAGS_RELEASE even without RELEASE=1 because we use RELEASE to indicate linking preferences not -O preferences
61 - genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a
62 + genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a
63 } else {
64 # make an educated guess about what the ranlib command is called
65 isEmpty(QMAKE_RANLIB) {
66 QMAKE_RANLIB = $$replace(QMAKE_STRIP, strip, ranlib)
67 }
68 LIBS += -lshlwapi
69 - genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a
70 + genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a
71 }
72 genleveldb.target = $$PWD/src/leveldb/libleveldb.a
73 genleveldb.depends = FORCE
74 PRE_TARGETDEPS += $$PWD/src/leveldb/libleveldb.a
75 QMAKE_EXTRA_TARGETS += genleveldb
76 +}
77 # Gross ugly hack that depends on qmake internals, unfortunately there is no other way to do it.
78 -QMAKE_CLEAN += $$PWD/src/leveldb/libleveldb.a; cd $$PWD/src/leveldb ; $(MAKE) clean
79 +QMAKE_CLEAN += $$PWD/src/leveldb/libleveldb.a; cd $$PWD/src/leveldb && $(MAKE) clean || true
80
81 # regenerate src/build.h
82 !win32|contains(USE_BUILD_INFO, 1) {
83 diff --git a/src/leveldb.cpp b/src/leveldb.cpp
84 index e66f851..2856d70 100644
85 --- a/src/leveldb.cpp
86 +++ b/src/leveldb.cpp
87 @@ -8,7 +8,9 @@
88 #include <leveldb/env.h>
89 #include <leveldb/cache.h>
90 #include <leveldb/filter_policy.h>
91 -#include <memenv/memenv.h>
92 +#ifndef LEVELDB_WITHOUT_MEMENV
93 +#include <memenv.h>
94 +#endif
95
96 #include <boost/filesystem.hpp>
97
98 @@ -43,8 +45,12 @@ CLevelDB::CLevelDB(const boost::filesystem::path &path, size_t nCacheSize, bool
99 options = GetOptions(nCacheSize);
100 options.create_if_missing = true;
101 if (fMemory) {
102 +#ifndef LEVELDB_WITHOUT_MEMENV
103 penv = leveldb::NewMemEnv(leveldb::Env::Default());
104 options.env = penv;
105 +#else
106 + throw std::runtime_error("CLevelDB(): compiled without memenv support");
107 +#endif
108 } else {
109 if (fWipe) {
110 printf("Wiping LevelDB in %s\n", path.string().c_str());
111 diff --git a/src/makefile.unix b/src/makefile.unix
112 index 359ac3d..ec1e075 100644
113 --- a/src/makefile.unix
114 +++ b/src/makefile.unix
115 @@ -120,8 +120,7 @@ xCXXFLAGS=-O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-para
116 # adds some defaults in front. Unfortunately, LDFLAGS=... $(LDFLAGS) does not work.
117 xLDFLAGS=$(LDHARDENING) $(LDFLAGS)
118
119 -OBJS= \
120 - leveldb/libleveldb.a \
121 +BASEOBJS := \
122 obj/alert.o \
123 obj/version.o \
124 obj/checkpoints.o \
125 @@ -130,7 +129,6 @@ OBJS= \
126 obj/crypter.o \
127 obj/key.o \
128 obj/db.o \
129 - obj/init.o \
130 obj/keystore.o \
131 obj/main.o \
132 obj/net.o \
133 @@ -150,25 +148,44 @@ OBJS= \
134 obj/hash.o \
135 obj/bloom.o \
136 obj/noui.o \
137 - obj/leveldb.o \
138 obj/txdb.o \
139 obj/prime.o \
140 obj/checkpointsync.o
141
142 +OBJS := \
143 + obj/leveldb.o \
144 + obj/init.o \
145 + $(BASEOBJS)
146 +
147 +TESTOBJS := \
148 + obj-test/leveldb.o \
149 + $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp)) \
150 + $(BASEOBJS)
151 +
152 all: datacoind
153
154 test check: test_primecoin FORCE
155 ./test_primecoin
156
157 +ifdef USE_SYSTEM_LEVELDB
158 + LIBS += -lleveldb
159 + TESTLIBS += -lmemenv
160 +else
161 #
162 # LevelDB support
163 #
164 MAKEOVERRIDES =
165 -LIBS += $(CURDIR)/leveldb/libleveldb.a $(CURDIR)/leveldb/libmemenv.a
166 +LIBS += $(CURDIR)/leveldb/libleveldb.a
167 +TESTLIBS += $(CURDIR)/leveldb/libmemenv.a
168 DEFS += $(addprefix -I,$(CURDIR)/leveldb/include)
169 DEFS += $(addprefix -I,$(CURDIR)/leveldb/helpers)
170 leveldb/libleveldb.a:
171 - @echo "Building LevelDB ..." && cd leveldb && $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(xCXXFLAGS)" libleveldb.a libmemenv.a && cd ..
172 + @echo "Building LevelDB ..." && cd leveldb && $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(xCXXFLAGS)" libleveldb.a && cd ..
173 +leveldb/libmemenv.a:
174 + @echo "Building LevelDB memenv ..." && cd leveldb && $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(xCXXFLAGS)" libmemenv.a && cd ..
175 +OBJS += leveldb/libleveldb.a
176 +TESTOBJS += leveldb/libmemenv.a
177 +endif
178
179 # auto-generated dependencies:
180 -include obj/*.P
181 @@ -179,24 +196,22 @@ obj/build.h: FORCE
182 version.cpp: obj/build.h
183 DEFS += -DHAVE_BUILD_INFO
184
185 -obj/%.o: %.cpp
186 - $(CXX) -c $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $<
187 +P_TO_D = \
188 @cp $(@:%.o=%.d) $(@:%.o=%.P); \
189 - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
190 + sed -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
191 -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
192 rm -f $(@:%.o=%.d)
193
194 -datacoind: $(OBJS:obj/%=obj/%)
195 - $(LINK) $(xCXXFLAGS) -o $@ $^ $(xLDFLAGS) $(LIBS)
196 +obj/%.o: %.cpp
197 + $(CXX) -c $(xCXXFLAGS) -DLEVELDB_WITHOUT_MEMENV -MMD -MF $(@:%.o=%.d) -o $@ $<
198 + $(P_TO_D)
199
200 -TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))
201 +datacoind: $(OBJS)
202 + $(LINK) $(xCXXFLAGS) -o $@ $^ $(xLDFLAGS) $(LIBS)
203
204 obj-test/%.o: test/%.cpp
205 - $(CXX) -c $(TESTDEFS) $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $<
206 - @cp $(@:%.o=%.d) $(@:%.o=%.P); \
207 - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
208 - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
209 - rm -f $(@:%.o=%.d)
210 + $(CXX) -c $(xCXXFLAGS) -DLEVELDB_WITHOUT_MEMENV -MMD -MF $(@:%.o=%.d) -o $@ $<
211 + $(P_TO_D)
212
213 test_primecoin: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
214 $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ $(TESTLIBS) $(xLDFLAGS) $(LIBS)
215
216
217
218 1.1 net-p2p/datacoin-hp/files/datacoin.service
219
220 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin.service?rev=1.1&view=markup
221 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin.service?rev=1.1&content-type=text/plain
222
223 Index: datacoin.service
224 ===================================================================
225 # It's not recommended to modify this file in-place, because it will be
226 # overwritten during package upgrades. If you want to customize, the
227 # best way is to create file
228 # "/etc/systemd/system/datacoind.service.d/*.conf"
229 # containing your changes
230
231 # For example, if you want to change some daemon and/or unit options,
232 # create a file named
233 # "/etc/systemd/system/datacoind.service.d/myopts.conf"
234 # containing:
235 # [Service]
236 # Environment="DATACOIN_OPTS=-debug -logtimestamps"
237 # Nice=10
238 # This will override the setting appearing below.
239
240 # Note that almost all daemon options could be specified in
241 # /etc/primecoin/datacoin.conf
242
243 [Unit]
244 Description=Datacoin Daemon
245 After=network.target
246
247 [Service]
248 User=datacoin
249 Environment=DATACOIN_OPTS=
250 ExecStart=/usr/bin/datacoind -daemon=0 $DATACOIN_OPTS
251 ExecReload=/bin/kill -HUP $MAINPID
252
253 [Install]
254 WantedBy=multi-user.target
255
256
257
258 1.1 net-p2p/datacoin-hp/files/datacoin.confd
259
260 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin.confd?rev=1.1&view=markup
261 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin.confd?rev=1.1&content-type=text/plain
262
263 Index: datacoin.confd
264 ===================================================================
265 # Config file for /etc/init.d/datacoind
266
267 # owner of datacoind process (don't change, must be existing)
268 DATACOIN_USER="datacoin-hp"
269
270 DATACOIN_OPTS="${DATACOIN_OPTS}"
271
272 # nice level
273 NICELEVEL="19"
274
275
276
277 1.1 net-p2p/datacoin-hp/files/datacoin.initd
278
279 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin.initd?rev=1.1&view=markup
280 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin.initd?rev=1.1&content-type=text/plain
281
282 Index: datacoin.initd
283 ===================================================================
284 #!/sbin/runscript
285 # Distributed under the terms of the GNU General Public License, v2 or later
286
287 VARDIR="/var/lib/datacoin"
288 CONFFILE="${VARDIR}/.datacoin/datacoin.conf"
289
290 depend() {
291 need net
292 }
293
294 checkconfig() {
295 if [[ "${DATACOIN_USER}" == "" ]] ; then
296 eerror "Please edit /etc/conf.d/datacoind"
297 eerror "A user must be specified to run datacoind as that user."
298 eerror "Modify USER to your needs (you may also add a group after a colon)"
299 return 1
300 fi
301 if ! `getent passwd | cut -d ':' -f 1 | grep $( echo "${DATACOIN_USER}" | cut -d ':' -f 1 ) -sq` ; then
302 eerror "Please edit /etc/conf.d/datacoind"
303 eerror "Specified user must exist!"
304 return 1
305 fi
306 if `echo "${DATACOIN_USER}" | grep ':' -sq` ; then
307 if ! `cut -d ':' -f 1 /etc/group | grep $( echo "${DATACOIN_USER}" | cut -d ':' -f 2 ) -sq` ; then
308 eerror "Please edit /etc/conf.d/datacoind"
309 eerror "Specified group must exist!"
310 return 1
311 fi
312 fi
313 if ! grep -q '^rpcpassword=' "${CONFFILE}"; then
314 eerror "Please edit `readlink -f ${CONFFILE}`"
315 eerror "There must be at least a line assigning rpcpassword=something-secure"
316 return 1
317 fi
318 if ! stat -Lc '%a' "${CONFFILE}" | grep -q '^[4567]00$'; then
319 eerror "`readlink -f ${CONFFILE}` should not be readable by other users"
320 return 1
321 fi
322 return 0
323 }
324
325 start() {
326 checkconfig || return 1
327 ebegin "Starting Datacoind daemon"
328
329 pkg-config openrc
330 if [ $? = 0 ]; then
331 start_openrc
332 else
333 start_baselayout
334 fi
335 }
336
337 stop() {
338 ebegin "Stopping Datacoin daemon"
339
340 pkg-config openrc
341 if [ $? = 0 ]; then
342 stop_openrc
343 else
344 stop_baselayout
345 fi
346 }
347
348 start_openrc() {
349 start-stop-daemon \
350 --start --user "${DATACOIN_USER}" --name datacoind \
351 --pidfile /var/run/datacoind.pid --make-pidfile \
352 --env HOME="${VARDIR}" --exec /usr/bin/datacoind \
353 --nicelevel "${NICELEVEL}" \
354 --background \
355 --wait 2000 \
356 -- ${DATACOIN_OPTS}
357 eend $?
358 }
359
360 stop_openrc() {
361 start-stop-daemon --stop --user "${DATACOIN_USER}" \
362 --name datacoind --pidfile /var/run/datacoind.pid \
363 --wait 30000 \
364 --progress
365 eend $?
366 }
367
368 start_baselayout() {
369 start-stop-daemon \
370 --start --user "${DATACOIN_USER}" --name datacoind \
371 --pidfile /var/run/datacoind.pid --make-pidfile \
372 --env HOME="${VARDIR}" --exec /usr/bin/datacoind \
373 --chuid "${DATACOIN_USER}" \
374 --nicelevel "${NICELEVEL}" \
375 --background \
376 -- ${DATACOIN_OPTS}
377 eend $?
378 }
379
380 stop_baselayout() {
381 start-stop-daemon \
382 --stop \
383 --user "${DATACOIN_USER}" \
384 --name datacoind \
385 --pidfile /var/run/datacoind.pid
386 eend $?
387 }
388
389
390
391 1.1 net-p2p/datacoin-hp/files/datacoin.conf
392
393 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin.conf?rev=1.1&view=markup
394 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/datacoin-hp/files/datacoin.conf?rev=1.1&content-type=text/plain
395
396 Index: datacoin.conf
397 ===================================================================
398 # see https://en.bitcoin.it/wiki/Running_Bitcoin#Bitcoin.conf_Configuration_File
399 #
400
401 #rpcuser=
402 #rpcpassword=