Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/release/tools/oci-image-static.conf
34677 views
1
#! /bin/sh
2
3
# Build Open Container Initiative (OCI) container image suitable as a base for
4
# static-linked workloads. This contains mtree directories, SSL certificates and
5
# a few other config files.
6
7
OCI_BASE_IMAGE=
8
9
oci_image_build() {
10
local srcdir=${curdir}/..
11
local m=${workdir}/rootfs
12
mtree -deU -p $m/ -f ${srcdir}/etc/mtree/BSD.root.dist > /dev/null
13
mtree -deU -p $m/var -f ${srcdir}/etc/mtree/BSD.var.dist > /dev/null
14
mtree -deU -p $m/usr -f ${srcdir}/etc/mtree/BSD.usr.dist > /dev/null
15
mtree -deU -p $m/usr/include -f ${srcdir}/etc/mtree/BSD.include.dist > /dev/null
16
mtree -deU -p $m/usr/lib -f ${srcdir}/etc/mtree/BSD.debug.dist > /dev/null
17
install_packages ${abi} ${workdir} FreeBSD-zoneinfo
18
cp ${srcdir}/etc/master.passwd $m/etc
19
pwd_mkdb -p -d $m/etc $m/etc/master.passwd || return $?
20
cp ${srcdir}/etc/group $m/etc || return $?
21
# termcap.small is generated so we get it from OBJDIR - make sets our
22
# working directory to OBJDIR/release
23
cp ../etc/termcap/termcap.small $m/etc/termcap.small || return $?
24
cp ../etc/termcap/termcap.small $m/usr/share/misc/termcap || return $?
25
env DESTDIR=$m \
26
TRUSTPATH=${srcdir}/secure/caroot/trusted \
27
UNTRUSTPATH=${srcdir}/secure/caroot/untrusted \
28
certctl -c rehash
29
# Generate a suitable repo config for pkgbase
30
case ${branch} in
31
CURRENT|STABLE|BETA*)
32
repo=base_latest
33
;;
34
*)
35
repo=base_release_${minor}
36
;;
37
esac
38
mkdir -p $m/usr/local/etc/pkg/repos
39
cat > $m/usr/local/etc/pkg/repos/base.conf <<EOF
40
FreeBSD-base: {
41
url: "https://pkg.FreeBSD.org/\${ABI}/${repo}",
42
mirror_type: "srv",
43
signature_type: "fingerprints",
44
fingerprints: "/usr/share/keys/pkg",
45
enabled: yes
46
}
47
EOF
48
49
}
50
51