Skip to content

Commit 16479f3

Browse files
committed
ci: minimize installed libboost packages
Change-Id: I0a145decf20ba12e3ef3ce186b3abfacfce65287
1 parent ce6f03b commit 16479f3

File tree

4 files changed

+46
-52
lines changed

4 files changed

+46
-52
lines changed

.jenkins.d/00-deps.sh

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
11
#!/usr/bin/env bash
22
set -eo pipefail
33

4-
APT_PKGS=(build-essential pkg-config python3-minimal
5-
libboost-all-dev libssl-dev libsqlite3-dev)
4+
APT_PKGS=(
5+
build-essential
6+
libboost-chrono-dev
7+
libboost-date-time-dev
8+
libboost-dev
9+
libboost-filesystem-dev
10+
libboost-log-dev
11+
libboost-program-options-dev
12+
libboost-stacktrace-dev
13+
libboost-test-dev
14+
libboost-thread-dev
15+
libsqlite3-dev
16+
libssl-dev
17+
pkg-config
18+
python3-minimal
19+
)
620
FORMULAE=(boost openssl pkg-config)
721
PIP_PKGS=()
822
case $JOB_NAME in
@@ -26,10 +40,10 @@ if [[ $ID == macos ]]; then
2640
brew update
2741
brew install --formula "${FORMULAE[@]}"
2842
elif [[ $ID_LIKE == *debian* ]]; then
29-
sudo apt-get -qq update
30-
sudo apt-get -qy install "${APT_PKGS[@]}"
43+
sudo apt-get update -qq
44+
sudo apt-get install -qy --no-install-recommends "${APT_PKGS[@]}"
3145
elif [[ $ID_LIKE == *fedora* ]]; then
32-
sudo dnf -y install gcc-c++ libasan lld pkgconf-pkg-config python3 \
46+
sudo dnf install -y gcc-c++ libasan lld pkgconf-pkg-config python3 \
3347
boost-devel openssl-devel sqlite-devel
3448
fi
3549

.jenkins.d/01-ndn-cxx.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ sudo ./waf --color=yes install
4242
popd >/dev/null
4343
popd >/dev/null
4444

45-
if [[ $ID_LIKE == *fedora* ]]; then
46-
sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64
47-
fi
4845
if [[ $ID_LIKE == *linux* ]]; then
46+
if [[ $(uname -m) == x86_64 && -d /usr/lib64 ]]; then
47+
sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64
48+
fi
4949
sudo ldconfig
5050
fi

.jenkins.d/20-tests.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
#!/usr/bin/env bash
22
set -eo pipefail
33

4+
# https://github.com/google/sanitizers/wiki/SanitizerCommonFlags
45
# https://github.com/google/sanitizers/wiki/AddressSanitizerFlags
56
ASAN_OPTIONS="color=always"
7+
ASAN_OPTIONS+=":strip_path_prefix=${PWD}/"
68
ASAN_OPTIONS+=":check_initialization_order=1"
79
ASAN_OPTIONS+=":detect_stack_use_after_return=1"
810
ASAN_OPTIONS+=":strict_init_order=1"
911
ASAN_OPTIONS+=":strict_string_checks=1"
1012
ASAN_OPTIONS+=":detect_invalid_pointer_pairs=2"
11-
ASAN_OPTIONS+=":strip_path_prefix=${PWD}/"
1213
export ASAN_OPTIONS
1314

1415
# https://www.boost.org/doc/libs/release/libs/test/doc/html/boost_test/runtime_config/summary.html

COPYING.md

Lines changed: 22 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,4 @@
1-
NDNS is licensed under the terms of the GNU General Public License,
2-
version 3 or later.
3-
4-
NDNS relies on third-party software, licensed under the following licenses:
5-
6-
- ndn-cxx is licensed under the terms of the
7-
[GNU Lesser General Public License version 3](https://github.com/named-data/ndn-cxx/blob/master/COPYING.md)
8-
9-
- The Boost libraries are licensed under the
10-
[Boost Software License 1.0](https://www.boost.org/users/license.html)
11-
12-
- SQLite is in the [public domain](https://www.sqlite.org/copyright.html)
13-
14-
- The waf build system is licensed under the terms of the
15-
[BSD license](https://github.com/named-data/ndns/blob/master/waf)
16-
17-
The GPL license is provided below in this file. For more information about
18-
these licenses, see <https://www.gnu.org/licenses/>
19-
20-
--------------------------------------------------------------------------------
21-
22-
### GNU GENERAL PUBLIC LICENSE
1+
# GNU GENERAL PUBLIC LICENSE
232

243
Version 3, 29 June 2007
254

@@ -29,7 +8,7 @@ Copyright (C) 2007 Free Software Foundation, Inc.
298
Everyone is permitted to copy and distribute verbatim copies of this
309
license document, but changing it is not allowed.
3110

32-
### Preamble
11+
## Preamble
3312

3413
The GNU General Public License is a free, copyleft license for
3514
software and other kinds of works.
@@ -94,9 +73,9 @@ assures that patents cannot be used to render the program non-free.
9473
The precise terms and conditions for copying, distribution and
9574
modification follow.
9675

97-
### TERMS AND CONDITIONS
76+
## TERMS AND CONDITIONS
9877

99-
#### 0. Definitions.
78+
### 0. Definitions.
10079

10180
"This License" refers to version 3 of the GNU General Public License.
10281

@@ -136,7 +115,7 @@ work under this License, and how to view a copy of this License. If
136115
the interface presents a list of user commands or options, such as a
137116
menu, a prominent item in the list meets this criterion.
138117

139-
#### 1. Source Code.
118+
### 1. Source Code.
140119

141120
The "source code" for a work means the preferred form of the work for
142121
making modifications to it. "Object code" means any non-source form of
@@ -177,7 +156,7 @@ regenerate automatically from other parts of the Corresponding Source.
177156
The Corresponding Source for a work in source code form is that same
178157
work.
179158

180-
#### 2. Basic Permissions.
159+
### 2. Basic Permissions.
181160

182161
All rights granted under this License are granted for the term of
183162
copyright on the Program, and are irrevocable provided the stated
@@ -202,7 +181,7 @@ Conveying under any other circumstances is permitted solely under the
202181
conditions stated below. Sublicensing is not allowed; section 10 makes
203182
it unnecessary.
204183

205-
#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
184+
### 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
206185

207186
No covered work shall be deemed part of an effective technological
208187
measure under any applicable law fulfilling obligations under article
@@ -218,7 +197,7 @@ operation or modification of the work as a means of enforcing, against
218197
the work's users, your or third parties' legal rights to forbid
219198
circumvention of technological measures.
220199

221-
#### 4. Conveying Verbatim Copies.
200+
### 4. Conveying Verbatim Copies.
222201

223202
You may convey verbatim copies of the Program's source code as you
224203
receive it, in any medium, provided that you conspicuously and
@@ -231,7 +210,7 @@ recipients a copy of this License along with the Program.
231210
You may charge any price or no price for each copy that you convey,
232211
and you may offer support or warranty protection for a fee.
233212

234-
#### 5. Conveying Modified Source Versions.
213+
### 5. Conveying Modified Source Versions.
235214

236215
You may convey a work based on the Program, or the modifications to
237216
produce it from the Program, in the form of source code under the
@@ -266,7 +245,7 @@ beyond what the individual works permit. Inclusion of a covered work
266245
in an aggregate does not cause this License to apply to the other
267246
parts of the aggregate.
268247

269-
#### 6. Conveying Non-Source Forms.
248+
### 6. Conveying Non-Source Forms.
270249

271250
You may convey a covered work in object code form under the terms of
272251
sections 4 and 5, provided that you also convey the machine-readable
@@ -362,7 +341,7 @@ documented (and with an implementation available to the public in
362341
source code form), and must require no special password or key for
363342
unpacking, reading or copying.
364343

365-
#### 7. Additional Terms.
344+
### 7. Additional Terms.
366345

367346
"Additional permissions" are terms that supplement the terms of this
368347
License by making exceptions from one or more of its conditions.
@@ -421,7 +400,7 @@ Additional terms, permissive or non-permissive, may be stated in the
421400
form of a separately written license, or stated as exceptions; the
422401
above requirements apply either way.
423402

424-
#### 8. Termination.
403+
### 8. Termination.
425404

426405
You may not propagate or modify a covered work except as expressly
427406
provided under this License. Any attempt otherwise to propagate or
@@ -449,7 +428,7 @@ this License. If your rights have been terminated and not permanently
449428
reinstated, you do not qualify to receive new licenses for the same
450429
material under section 10.
451430

452-
#### 9. Acceptance Not Required for Having Copies.
431+
### 9. Acceptance Not Required for Having Copies.
453432

454433
You are not required to accept this License in order to receive or run
455434
a copy of the Program. Ancillary propagation of a covered work
@@ -460,7 +439,7 @@ modify any covered work. These actions infringe copyright if you do
460439
not accept this License. Therefore, by modifying or propagating a
461440
covered work, you indicate your acceptance of this License to do so.
462441

463-
#### 10. Automatic Licensing of Downstream Recipients.
442+
### 10. Automatic Licensing of Downstream Recipients.
464443

465444
Each time you convey a covered work, the recipient automatically
466445
receives a license from the original licensors, to run, modify and
@@ -485,7 +464,7 @@ rights granted under this License, and you may not initiate litigation
485464
any patent claim is infringed by making, using, selling, offering for
486465
sale, or importing the Program or any portion of it.
487466

488-
#### 11. Patents.
467+
### 11. Patents.
489468

490469
A "contributor" is a copyright holder who authorizes use under this
491470
License of the Program or a work on which the Program is based. The
@@ -554,7 +533,7 @@ Nothing in this License shall be construed as excluding or limiting
554533
any implied license or other defenses to infringement that may
555534
otherwise be available to you under applicable patent law.
556535

557-
#### 12. No Surrender of Others' Freedom.
536+
### 12. No Surrender of Others' Freedom.
558537

559538
If conditions are imposed on you (whether by court order, agreement or
560539
otherwise) that contradict the conditions of this License, they do not
@@ -567,7 +546,7 @@ from those to whom you convey the Program, the only way you could
567546
satisfy both those terms and this License would be to refrain entirely
568547
from conveying the Program.
569548

570-
#### 13. Use with the GNU Affero General Public License.
549+
### 13. Use with the GNU Affero General Public License.
571550

572551
Notwithstanding any other provision of this License, you have
573552
permission to link or combine any covered work with a work licensed
@@ -578,7 +557,7 @@ but the special requirements of the GNU Affero General Public License,
578557
section 13, concerning interaction through a network will apply to the
579558
combination as such.
580559

581-
#### 14. Revised Versions of this License.
560+
### 14. Revised Versions of this License.
582561

583562
The Free Software Foundation may publish revised and/or new versions
584563
of the GNU General Public License from time to time. Such new versions
@@ -604,7 +583,7 @@ permissions. However, no additional obligations are imposed on any
604583
author or copyright holder as a result of your choosing to follow a
605584
later version.
606585

607-
#### 15. Disclaimer of Warranty.
586+
### 15. Disclaimer of Warranty.
608587

609588
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
610589
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
@@ -616,7 +595,7 @@ PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
616595
DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
617596
CORRECTION.
618597

619-
#### 16. Limitation of Liability.
598+
### 16. Limitation of Liability.
620599

621600
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
622601
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR
@@ -628,7 +607,7 @@ LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
628607
TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
629608
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
630609

631-
#### 17. Interpretation of Sections 15 and 16.
610+
### 17. Interpretation of Sections 15 and 16.
632611

633612
If the disclaimer of warranty and limitation of liability provided
634613
above cannot be given local legal effect according to their terms,
@@ -639,7 +618,7 @@ copy of the Program in return for a fee.
639618

640619
END OF TERMS AND CONDITIONS
641620

642-
### How to Apply These Terms to Your New Programs
621+
## How to Apply These Terms to Your New Programs
643622

644623
If you develop a new program, and you want it to be of the greatest
645624
possible use to the public, the best way to achieve this is to make it

0 commit comments

Comments
 (0)