]> git.ipfire.org Git - thirdparty/pdns.git/blame - build-scripts/travis.sh
Merge pull request #4823 from rgacogne/dnsdist-110-changelog
[thirdparty/pdns.git] / build-scripts / travis.sh
CommitLineData
bf6096f5
PL
1#!/bin/bash
2
3## "upstream" travis functions
4ANSI_RED="\033[31;1m"
5ANSI_GREEN="\033[32;1m"
6ANSI_RESET="\033[0m"
7ANSI_CLEAR="\033[0K"
8
9TRAVIS_TEST_RESULT=
10TRAVIS_CMD=
11
12function travis_cmd() {
13 local assert output display retry timing cmd result
14
15 cmd=$1
16 TRAVIS_CMD=$cmd
17 shift
18
19 while true; do
20 case "$1" in
21 --assert) assert=true; shift ;;
22 --echo) output=true; shift ;;
23 --display) display=$2; shift 2;;
24 --retry) retry=true; shift ;;
25 --timing) timing=true; shift ;;
26 *) break ;;
27 esac
28 done
29
30 if [[ -n "$timing" ]]; then
31 travis_time_start
32 fi
33
34 if [[ -n "$output" ]]; then
35 echo "\$ ${display:-$cmd}"
36 fi
37
38 if [[ -n "$retry" ]]; then
39 travis_retry eval "$cmd"
40 else
41 eval "$cmd"
42 fi
43 result=$?
44
45 if [[ -n "$timing" ]]; then
46 travis_time_finish
47 fi
48
49 if [[ -n "$assert" ]]; then
50 travis_assert $result
51 fi
52
53 return $result
54}
55
56travis_time_start() {
57 travis_timer_id=$(printf %08x $(( RANDOM * RANDOM )))
58 travis_start_time=$(travis_nanoseconds)
59 echo -en "travis_time:start:$travis_timer_id\r${ANSI_CLEAR}"
60}
61
62travis_time_finish() {
63 local result=$?
64 travis_end_time=$(travis_nanoseconds)
65 local duration=$(($travis_end_time-$travis_start_time))
66 echo -en "\ntravis_time:end:$travis_timer_id:start=$travis_start_time,finish=$travis_end_time,duration=$duration\r${ANSI_CLEAR}"
67 return $result
68}
69
70function travis_nanoseconds() {
71 local cmd="date"
72 local format="+%s%N"
73 local os=$(uname)
74
75 if hash gdate > /dev/null 2>&1; then
76 cmd="gdate" # use gdate if available
77 elif [[ "$os" = Darwin ]]; then
78 format="+%s000000000" # fallback to second precision on darwin (does not support %N)
79 fi
80
81 $cmd -u $format
82}
83
84travis_assert() {
85 local result=${1:-$?}
86 if [ $result -ne 0 ]; then
87 echo -e "\n${ANSI_RED}The command \"$TRAVIS_CMD\" failed and exited with $result during $TRAVIS_STAGE.${ANSI_RESET}\n\nYour build has been stopped."
88 travis_terminate 2
89 fi
90}
91
92travis_result() {
93 local result=$1
94 export TRAVIS_TEST_RESULT=$(( ${TRAVIS_TEST_RESULT:-0} | $(($result != 0)) ))
95
96 if [ $result -eq 0 ]; then
97 echo -e "\n${ANSI_GREEN}The command \"$TRAVIS_CMD\" exited with $result.${ANSI_RESET}"
98 else
99 echo -e "\n${ANSI_RED}The command \"$TRAVIS_CMD\" exited with $result.${ANSI_RESET}"
100 fi
101}
102
103travis_terminate() {
104 pkill -9 -P $$ &> /dev/null || true
105 exit $1
106}
107
108travis_wait() {
109 local timeout=$1
110
111 if [[ $timeout =~ ^[0-9]+$ ]]; then
112 # looks like an integer, so we assume it's a timeout
113 shift
114 else
115 # default value
116 timeout=20
117 fi
118
119 local cmd="$@"
120 local log_file=travis_wait_$$.log
121
122 $cmd &>$log_file &
123 local cmd_pid=$!
124
125 travis_jigger $! $timeout $cmd &
126 local jigger_pid=$!
127 local result
128
129 {
130 wait $cmd_pid 2>/dev/null
131 result=$?
132 ps -p$jigger_pid &>/dev/null && kill $jigger_pid
133 }
134
135 if [ $result -eq 0 ]; then
136 echo -e "\n${ANSI_GREEN}The command $cmd exited with $result.${ANSI_RESET}"
137 else
138 echo -e "\n${ANSI_RED}The command $cmd exited with $result.${ANSI_RESET}"
139 fi
140
141 echo -e "\n${ANSI_GREEN}Log:${ANSI_RESET}\n"
142 cat $log_file
143
144 return $result
145}
146
147travis_jigger() {
148 # helper method for travis_wait()
149 local cmd_pid=$1
150 shift
151 local timeout=$1 # in minutes
152 shift
153 local count=0
154
155 # clear the line
156 echo -e "\n"
157
158 while [ $count -lt $timeout ]; do
159 count=$(($count + 1))
160 echo -ne "Still running ($count of $timeout): $@\r"
161 sleep 60
162 done
163
164 echo -e "\n${ANSI_RED}Timeout (${timeout} minutes) reached. Terminating \"$@\"${ANSI_RESET}\n"
165 kill -9 $cmd_pid
166}
167
168travis_retry() {
169 local result=0
170 local count=1
171 while [ $count -le 3 ]; do
172 [ $result -ne 0 ] && {
173 echo -e "\n${ANSI_RED}The command \"$@\" failed. Retrying, $count of 3.${ANSI_RESET}\n" >&2
174 }
175 "$@"
176 result=$?
177 [ $result -eq 0 ] && break
178 count=$(($count + 1))
179 sleep 1
180 done
181
182 [ $count -gt 3 ] && {
183 echo -e "\n${ANSI_RED}The command \"$@\" failed 3 times.${ANSI_RESET}\n" >&2
184 }
185
186 return $result
187}
188
189travis_fold() {
190 local action=$1
191 local name=$2
192 echo -en "travis_fold:${action}:${name}\r${ANSI_CLEAR}"
193}
194
195decrypt() {
196 echo $1 | base64 -d | openssl rsautl -decrypt -inkey ~/.ssh/id_rsa.repo
197}
198
199
200run() {
201 travis_cmd "$1" --echo --assert
202}
203
204install_auth() {
205 # pkcs11 build requirements
206 run "sudo apt-get -qq --no-install-recommends install \
207 libp11-kit-dev"
208
209 # geoip-backend
210 run "sudo apt-get -qq --no-install-recommends install \
211 libgeoip-dev \
212 libyaml-cpp-dev"
213
214 # ldap-backend
215 run "sudo apt-get -qq --no-install-recommends install \
216 libldap-dev"
217
218 # opendbx-backend
219 run "sudo apt-get -qq --no-install-recommends install \
220 libopendbx1-dev \
221 libopendbx1-sqlite3"
222
223 # remote-backend build requirements
224 run "sudo apt-get -qq --no-install-recommends install \
225 libzmq3-dev"
226
3a435d2e
PD
227 # godbc-backend
228 run "sudo apt-get -qq --no-install-recommends install \
229 libsqliteodbc"
230
bf6096f5
PL
231 # authoritative test requirements / setup
232 run "sudo apt-get -qq --no-install-recommends install \
233 bind9utils \
234 ldnsutils \
235 libnet-dns-perl \
236 moreutils \
237 unbound-host \
238 validns \
239 default-jre \
240 jq"
241
242 run "cd .."
6b621619 243 run "wget https://www.verisignlabs.com/dnssec-tools/packages/jdnssec-tools-0.12.tar.gz"
bf6096f5
PL
244 run "sudo tar xfz jdnssec-tools-0.12.tar.gz --strip-components=1 -C /"
245 run "cd pdns"
246
247 # pkcs11 test requirements / setup
248 run "sudo apt-get -qq --no-install-recommends install \
249 p11-kit \
250 softhsm"
251 run "sudo mkdir -p /etc/pkcs11/modules/"
252 run "sudo cp -f regression-tests/softhsm.mod /etc/pkcs11/modules/softhsm.module"
253 run "sudo cp -f regression-tests/softhsm.conf /etc/softhsm/softhsm.conf"
254 run "sudo chmod 0755 /etc/softhsm/"
255 run "sudo chmod 0644 /etc/softhsm/softhsm.conf"
256 run "sudo chmod 0777 /var/lib/softhsm"
257 run "p11-kit -l" # ensure it's ok
258
259 # bind-backend tests requirements
260 run "sudo apt-get -qq --no-install-recommends install \
261 alien"
262 run "cd .."
263 run "wget ftp://ftp.nominum.com/pub/nominum/dnsperf/2.0.0.0/dnsperf-2.0.0.0-1-rhel-6-x86_64.tar.gz"
264 run "tar xzvf dnsperf-2.0.0.0-1-rhel-6-x86_64.tar.gz"
265 run "fakeroot alien --to-deb dnsperf-2.0.0.0-1/dnsperf-2.0.0.0-1.el6.x86_64.rpm"
266 run "sudo dpkg -i dnsperf_2.0.0.0-2_amd64.deb"
267 run "cd pdns"
268
269 # geoip-backend test requirements / setup
270 run "sudo apt-get -qq --no-install-recommends install \
271 geoip-database"
272
273 # gmysql-backend test requirements
d004b14c
RG
274 # as of 2016/12/01, mysql-5.6 is now installed in the default travis image
275 # see https://github.com/travis-ci/travis-ci/issues/6961
276 #run "sudo apt-get -qq --no-install-recommends install \
277 # mysql-server"
bf6096f5
PL
278
279 # godbc-backend test setup
3a435d2e
PD
280 run 'echo -e "[pdns-sqlite3-1]\nDriver = SQLite3\nDatabase = ${PWD}/regression-tests/pdns.sqlite3\n\n[pdns-sqlite3-2]\nDriver = SQLite3\nDatabase = ${PWD}/regression-tests/pdns.sqlite32\n" > ${HOME}/.odbc.ini'
281 run 'echo ${HOME}/.odbc.ini'
282 run 'cat ${HOME}/.odbc.ini'
bf6096f5
PL
283
284 # ldap-backend test setup
285 run "sudo apt-get -qq --no-install-recommends install \
286 slapd \
287 ldap-utils"
288 run "mkdir /tmp/ldap-dns"
289 run "pushd /tmp/ldap-dns"
290 run 'for schema in /etc/ldap/schema/{core,cosine}.schema ${TRAVIS_BUILD_DIR}/modules/ldapbackend/{dnsdomain2,pdns-domaininfo}.schema ; do echo include $schema ; done > ldap.conf'
291 run "mkdir slapd.d"
292 run "slaptest -f ldap.conf -F slapd.d"
293 run "sudo cp slapd.d/cn=config/cn=schema/cn={*dns*.ldif /etc/ldap/slapd.d/cn=config/cn=schema/"
294 run "sudo chown -R openldap:openldap /etc/ldap/slapd.d/"
295 run "sudo service slapd restart"
296 run "popd"
297 run "sudo -u openldap mkdir -p /var/lib/ldap/powerdns"
298 run "sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ./modules/ldapbackend/testfiles/add.ldif"
299
300 # remote-backend tests requirements
301 run "sudo apt-get -qq --no-install-recommends install \
302 ruby-json \
303 rubygems-integration \
304 socat"
305 run "gem install bundler --no-rdoc --no-ri"
306 run "cd modules/remotebackend"
307 run "ruby -S bundle install"
308 run "cd ../.."
309
310 # tinydns
311 run "sudo apt-get -qq --no-install-recommends install \
312 libcdb-dev"
313
314 # No backend
315 run "sudo apt-get -qq --no-install-recommends install \
316 authbind \
317 faketime"
318 run "sudo touch /etc/authbind/byport/53"
319 run "sudo chmod 755 /etc/authbind/byport/53"
320}
321
322install_docs() {
323 ### documentation requirements
324 run "sudo apt-get -qq --no-install-recommends install \
325 pandoc \
326 xmlto"
327
328 # documentation test requirements
329 run "virtualenv $HOME/.venv"
330 run "source $HOME/.venv/bin/activate"
784247e7 331 run "pip install -q pandocfilters==1.2.3 mkdocs==0.14 linkchecker==9.3 click==5.1 requests==2.9.2"
bf6096f5
PL
332 run "deactivate"
333}
334
335install_recursor() {
336 # recursor test requirements / setup
337 run "sudo apt-get -qq --no-install-recommends install \
338 authbind \
339 daemontools \
340 libbotan-1.10-0 \
cb54e9b5 341 libfaketime \
bf6096f5
PL
342 liblua5.2-0 \
343 moreutils \
344 jq"
345 run "cd .."
6b621619 346 run "wget https://s3.amazonaws.com/alexa-static/top-1m.csv.zip"
bf6096f5
PL
347 run "unzip top-1m.csv.zip -d ./pdns/regression-tests"
348 PDNS_SERVER_VERSION="0.0.880gcb54743-1pdns"
349 run "wget https://downloads.powerdns.com/autobuilt/auth/deb/$PDNS_SERVER_VERSION.trusty-amd64/pdns-server_$PDNS_SERVER_VERSION.trusty_amd64.deb"
350 run "wget https://downloads.powerdns.com/autobuilt/auth/deb/$PDNS_SERVER_VERSION.trusty-amd64/pdns-tools_$PDNS_SERVER_VERSION.trusty_amd64.deb"
351 run "sudo dpkg -i pdns-server_$PDNS_SERVER_VERSION.trusty_amd64.deb pdns-tools_$PDNS_SERVER_VERSION.trusty_amd64.deb"
e07dae82 352 run "sudo service pdns stop"
bf6096f5
PL
353 run 'for suffix in {1..40}; do sudo /sbin/ip addr add 10.0.3.$suffix/32 dev lo; done'
354 run "sudo touch /etc/authbind/byport/53"
355 run "sudo chmod 755 /etc/authbind/byport/53"
356 run "cd pdns"
357}
358
359install_dnsdist() {
360 printf ""
361}
362
363build_auth() {
364 run "./bootstrap"
365 # Build without --enable-botan1.10 option, Botan/SoftHSM conflict #2496
366 run "CFLAGS='-O1' CXXFLAGS='-O1' ./configure \
3a435d2e 367 --with-dynmodules='bind gmysql geoip gpgsql gsqlite3 ldap lua mydns opendbx pipe random remote tinydns godbc' \
bf6096f5
PL
368 --with-modules='' \
369 --with-sqlite3 \
370 --enable-libsodium \
371 --enable-experimental-pkcs11 \
372 --enable-remotebackend-zeromq \
373 --enable-tools \
374 --enable-unit-tests \
375 --enable-backend-unit-tests \
376 --disable-dependency-tracking \
377 --disable-silent-rules"
378 run "make -k dist"
379 run "make -k -j3"
380 run "make -k install DESTDIR=/tmp/pdns-install-dir"
381 run "find /tmp/pdns-install-dir -ls"
382}
383
384build_recursor() {
385 export PDNS_RECURSOR_DIR=$HOME/pdns_recursor
386 # distribution build
387 run "./build-scripts/dist-recursor"
388 run "cd pdns/recursordist"
389 run "tar xf pdns-recursor-*.tar.bz2"
390 run "rm -f pdns-recursor-*.tar.bz2"
391 run "cd pdns-recursor-*"
392 run "CFLAGS='-O1' CXXFLAGS='-O1' ./configure \
393 --prefix=$PDNS_RECURSOR_DIR \
394 --disable-silent-rules"
395 run "make -k -j3"
396 run "make install"
397 run "find $PDNS_RECURSOR_DIR -ls"
398 run "cd ../../.."
399}
400
401build_dnsdist(){
402 run "./build-scripts/dist-dnsdist"
403 run "cd pdns/dnsdistdist"
404 run "tar xf dnsdist*.tar.bz2"
405 run "cd dnsdist-*"
406 run "CFLAGS='-O1' CXXFLAGS='-O1' ./configure \
407 --enable-unit-tests \
408 --enable-libsodium \
409 --enable-dnscrypt \
410 --prefix=$HOME/dnsdist \
411 --disable-silent-rules"
412 run "make -k -j3"
413 run "./testrunner"
414 run "make install"
415 run "cd ../../.."
416 run "find $HOME/dnsdist -ls"
417 run "rm -rf pdns/dnsdistdist/dnsdist-*/"
418
419}
420
421build_docs() {
422 run "./bootstrap"
423 run "source $HOME/.venv/bin/activate"
424 run "./configure --disable-dependency-tracking --with-modules='' --with-dyn-modules=''"
425 run "make -C docs"
426 run "deactivate"
427}
428
429test_auth() {
430 run "make -j3 check"
431 run "test -f pdns/test-suite.log && cat pdns/test-suite.log || true"
432 run "test -f modules/remotebackend/test-suite.log && cat modules/remotebackend/test-suite.log || true"
433
434 #DNSName - make -k -j3 -C pdns $(grep '(EXEEXT):' pdns/Makefile | cut -f1 -d\$ | grep -E -v 'dnsdist|calidns')
435 run 'make -k -j3 -C pdns $(grep "(EXEEXT):" pdns/Makefile | cut -f1 -d\$ | grep -E -v "dnspcap2protobuf|dnsdist|calidns|speedtest")'
436
437 run "cd pdns"
438 run "./pdnsutil test-algorithms"
439 run "cd .."
440
441 run "cd regression-tests"
442
443 run "./timestamp ./start-test-stop 5300 ldap-tree"
444 run "./timestamp ./start-test-stop 5300 ldap-simple"
445 run "./timestamp ./start-test-stop 5300 ldap-strict"
446
447 run "./timestamp ./start-test-stop 5300 bind-both"
448 run "./timestamp ./start-test-stop 5300 bind-dnssec-both"
449 run "./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-both"
450 run "./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-optout-both"
451 run "./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-narrow"
452 run "./timestamp ./start-test-stop 5300 bind-hybrid-nsec3"
453 #ecdsa - ./timestamp ./start-test-stop 5300 bind-dnssec-pkcs11
454
455 run "export geoipregion=oc geoipregionip=1.2.3.4"
456 run "./timestamp ./start-test-stop 5300 geoip"
457 run "./timestamp ./start-test-stop 5300 geoip-nsec3-narrow"
458
459 run "./timestamp ./start-test-stop 5300 gmysql-nodnssec-both"
460 run "./timestamp ./start-test-stop 5300 gmysql-both"
461 run "./timestamp ./start-test-stop 5300 gmysql-nsec3-both"
462 run "./timestamp ./start-test-stop 5300 gmysql-nsec3-optout-both"
463 run "./timestamp ./start-test-stop 5300 gmysql-nsec3-narrow"
464
465 run "export GODBC_SQLITE3_DSN=pdns-sqlite3-1"
3a435d2e 466 run "./timestamp ./start-test-stop 5300 godbc_sqlite3-nsec3"
bf6096f5
PL
467
468 run "./timestamp ./start-test-stop 5300 gpgsql-nodnssec-both"
469 run "./timestamp ./start-test-stop 5300 gpgsql-both"
470 run "./timestamp ./start-test-stop 5300 gpgsql-nsec3-both"
471 run "./timestamp ./start-test-stop 5300 gpgsql-nsec3-optout-both"
472 run "./timestamp ./start-test-stop 5300 gpgsql-nsec3-narrow"
473
474 run "./timestamp ./start-test-stop 5300 gsqlite3-nodnssec-both"
475 run "./timestamp ./start-test-stop 5300 gsqlite3-both"
476 run "./timestamp ./start-test-stop 5300 gsqlite3-nsec3-both"
477 run "./timestamp ./start-test-stop 5300 gsqlite3-nsec3-optout-both"
478 run "./timestamp ./start-test-stop 5300 gsqlite3-nsec3-narrow"
479
480 run "./timestamp ./start-test-stop 5300 mydns"
481
482 run "./timestamp ./start-test-stop 5300 opendbx-sqlite3"
483
484 run "./timestamp ./start-test-stop 5300 remotebackend-pipe"
485 run "./timestamp ./start-test-stop 5300 remotebackend-pipe-dnssec"
486 run "./timestamp ./start-test-stop 5300 remotebackend-unix"
487 run "./timestamp ./start-test-stop 5300 remotebackend-unix-dnssec"
488 run "./timestamp ./start-test-stop 5300 remotebackend-http"
489 run "./timestamp ./start-test-stop 5300 remotebackend-http-dnssec"
490 run "./timestamp ./start-test-stop 5300 remotebackend-zeromq"
491 run "./timestamp ./start-test-stop 5300 remotebackend-zeromq-dnssec"
492
493 run "./timestamp ./start-test-stop 5300 tinydns"
494 run "cd .."
495
496 run "cd regression-tests.rootzone"
497 run "./timestamp ./start-test-stop 5300 bind-both"
498 run "./timestamp ./start-test-stop 5300 bind-dnssec-both"
499 run "./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-both"
500 run "./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-optout-both"
501 run "./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-narrow"
502 run "./timestamp ./start-test-stop 5300 bind-hybrid-nsec3"
503
504 run "./timestamp ./start-test-stop 5300 gmysql-nodnssec-both"
505 run "./timestamp ./start-test-stop 5300 gmysql-both"
506 run "./timestamp ./start-test-stop 5300 gmysql-nsec3-both"
507 run "./timestamp ./start-test-stop 5300 gmysql-nsec3-optout-both"
508 run "./timestamp ./start-test-stop 5300 gmysql-nsec3-narrow"
509
510 run "./timestamp ./start-test-stop 5300 gpgsql-nodnssec-both"
511 run "./timestamp ./start-test-stop 5300 gpgsql-both"
512 run "./timestamp ./start-test-stop 5300 gpgsql-nsec3-both"
513 run "./timestamp ./start-test-stop 5300 gpgsql-nsec3-optout-both"
514 run "./timestamp ./start-test-stop 5300 gpgsql-nsec3-narrow"
515
516 run "./timestamp ./start-test-stop 5300 gsqlite3-nodnssec-both"
517 run "./timestamp ./start-test-stop 5300 gsqlite3-both"
518 run "./timestamp ./start-test-stop 5300 gsqlite3-nsec3-both"
519 run "./timestamp ./start-test-stop 5300 gsqlite3-nsec3-optout-both"
520 run "./timestamp ./start-test-stop 5300 gsqlite3-nsec3-narrow"
521
522 run "cd .."
523
524 ### api ###
525 run "cd regression-tests.api"
526 run "./runtests authoritative"
527 run "cd .."
528
529 ### no backend tests ###
530 run "cd regression-tests.nobackend/"
531 run "./runtests"
532 run "test ! -s ./failed_tests"
533 run "cd .."
534
535 run "rm -f regression-tests/zones/*-slave.*" #FIXME
536}
537
538test_recursor() {
539 export PDNSRECURSOR="${PDNS_RECURSOR_DIR}/sbin/pdns_recursor"
bf6096f5
PL
540 export DNSBULKTEST="/usr/bin/dnsbulktest"
541 export RECCONTROL="${PDNS_RECURSOR_DIR}/bin/rec_control"
7568b07d
PL
542 run "./build-scripts/test-recursor"
543 export RECURSOR="${PDNSRECURSOR}"
bf6096f5
PL
544 run "cd regression-tests"
545 run "THRESHOLD=90 TRACE=no ./timestamp ./recursor-test 5300 25000"
546 run "cd .."
7568b07d 547
bf6096f5
PL
548 run "cd regression-tests.api"
549 run "./runtests recursor"
550 run "cd .."
551}
552
553test_docs() {
554 run "source $HOME/.venv/bin/activate"
555 run "make -C docs check-links"
556 run " deactivate"
557}
558
559test_dnsdist(){
560 run "cd regression-tests.dnsdist"
561 run "DNSDISTBIN=$HOME/dnsdist/bin/dnsdist ./runtests -v"
562 run "rm -f ./DNSCryptResolver.cert ./DNSCryptResolver.key"
563 run "cd .."
564}
565
566test_repo(){
567 run "git status"
568 run "git status | grep -q clean"
569}
570
571# global build requirements
572run "sudo apt-get -qq --no-install-recommends install \
573 libboost-all-dev \
574 liblua5.1-dev \
575 libedit-dev \
0a4a38ab
PL
576 libprotobuf-dev \
577 pandoc\
578 protobuf-compiler"
bf6096f5
PL
579
580run "cd .."
581run "wget http://ppa.launchpad.net/kalon33/gamesgiroll/ubuntu/pool/main/libs/libsodium/libsodium-dev_1.0.3-1~ppa14.04+1_amd64.deb"
582run "wget http://ppa.launchpad.net/kalon33/gamesgiroll/ubuntu/pool/main/libs/libsodium/libsodium13_1.0.3-1~ppa14.04+1_amd64.deb"
583run "sudo dpkg -i libsodium-dev_1.0.3-1~ppa14.04+1_amd64.deb libsodium13_1.0.3-1~ppa14.04+1_amd64.deb"
584run "cd pdns"
585
586install_$PDNS_BUILD_PRODUCT
587
588build_$PDNS_BUILD_PRODUCT
589
590test_$PDNS_BUILD_PRODUCT
591
d2a4a399 592if [ $PDNS_BUILD_PRODUCT == "auth" ]; then
bf6096f5
PL
593 test_repo
594fi