FreeBSD/poudriere.md

Wed, 06 Sep 2017 10:54:13 +0200

author
Stéphane
date
Wed, 06 Sep 2017 10:54:13 +0200
changeset 8
49a3a8c3c7ec
parent 5
435b53af6b96
child 9
e542763af261
permissions
-rw-r--r--

FreeBSD: add warning for mountpoint in poudriere.md

0
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 FreeBSD poudriere howto
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 =======================
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
3
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 What is poudriere?
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 ------------------
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
6
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 In short, poudriere is a tool for building packages into clean jails to make
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 predictible and secure installation/upgrades.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
9
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 Installation
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 ------------
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
12
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 ### From packages
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
14
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 pkg install poudriere
4
49956537f483 FreeBSD: typo in poudriere.md
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
16 pkg install dialog4ports
0
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 ### From ports
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
19
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 make -C /usr/ports/ports-mgmt/poudriere install clean
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 make -C /usr/ports/ports-mgmt/dialog4ports install clean
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 Initial configuration
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 ---------------------
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
25
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 This guide assumes that you use ZFS.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 ### poudriere.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 The /usr/local/etc/poudriere.conf file does not require much information, the
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 following options are required:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 ZPOOL=zroot
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 ZROOTFS=/poudriere
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 BASEFS=/poudriere
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 POUDRIERE_DATA=${BASEFS}/data
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 DISTFILES_CACHE=/poudriere/distfiles
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 RESOLV_CONF=/etc/resolv.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 Options:
5
435b53af6b96 FreeBSD: fix incorrect jail naming in poudriere.md
David Demelier <markand@malikania.fr>
parents: 4
diff changeset
41
0
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 - **ZPOOL**: your zfs pool name,
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 - **ZROOTFS**: zfs dataset to use,
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 - **BASEFS**: base directory for jails and ports,
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 - **POUDRIERE**: directory for packages, logs and such,
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 - **DISTFILES_CACHE**: directory where to store distfiles,
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 - **RESOLV_CONF**: file for DNS resolver.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
48
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 This means that:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
50
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 - any jail created by poudriere will be stored in /poudriere/jails,
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 - result of builds will be kept in dedicated /poudriere/data directories.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
53
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 Create the zfs datasets for poudriere:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 zfs create zroot/poudriere
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 zfs create zroot/poudriere/distfiles
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
58
8
49a3a8c3c7ec FreeBSD: add warning for mountpoint in poudriere.md
Stéphane
parents: 5
diff changeset
59 warning: you may need to use `-o mountpoint=/poudriere` if you root dataset
49a3a8c3c7ec FreeBSD: add warning for mountpoint in poudriere.md
Stéphane
parents: 5
diff changeset
60 is not parent of poudriere.
49a3a8c3c7ec FreeBSD: add warning for mountpoint in poudriere.md
Stéphane
parents: 5
diff changeset
61
0
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 Jail creation
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 -------------
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
64
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 Before building package, you need to create a jail. The easiest way is to use
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 the FTP method (default) which simply fetch release tarballs and extract them.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
67
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 Let's create a poudriere jail named **FreeBSD-11-1**.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 ### Using FTP
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
71
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 poudriere jail -c -j FreeBSD-11-1 -v 11.1-RELEASE
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
73
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 Ports fetching
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 --------------
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
76
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 You also need to have a ports tree to build ports from, you have several way to
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 fetch them such as svn, portsnap and git. The default is portsnap and available
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 directly from FreeBSD so use it.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
80
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 Let's create a default poudriere ports tree.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
82
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 poudriere ports -c
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
84
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 Building options
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 ----------------
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
87
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 What's really interesting in building ports is to customize every options of
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 them.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
90
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 For example, on a server you don't want to have desktop software and all of
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 useless things like X.Org, dbus, avahi, pulseaudio and such.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
93
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 Poudriere uses different files for customizing options in the following order:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
95
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 - /usr/local/etc/poudriere.d/make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 - /usr/local/etc/poudriere.d/<setname>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 - /usr/local/etc/poudriere.d/<tree>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 - /usr/local/etc/poudriere.d/<jailname>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 - /usr/local/etc/poudriere.d/<jailname>-<tree>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 - /usr/local/etc/poudriere.d/<jailname>-<setname>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 - /usr/local/etc/poudriere.d/<jailname>-<tree>-<setname>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
103
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 For example, in our case we can basically customize our options by creating the
5
435b53af6b96 FreeBSD: fix incorrect jail naming in poudriere.md
David Demelier <markand@malikania.fr>
parents: 4
diff changeset
105 file **/usr/local/etc/poudriere.d/FreeBSD-11-1-make.conf**.
0
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
106
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 ### Disabling desktop options
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
108
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 On a server, we may disable the following options using the `OPTIONS_UNSET`
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 variable.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
111
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 Note: we use the `+=` assignment to avoid resetting it.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
113
5
435b53af6b96 FreeBSD: fix incorrect jail naming in poudriere.md
David Demelier <markand@malikania.fr>
parents: 4
diff changeset
114 # /usr/local/etc/poudriere.d/FreeBSD-11-1-make.conf
0
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 OPTIONS_UNSET+= DBUS NLS X11
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
116
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 Configuring per-port options
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 ----------------------------
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
119
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 It's also possible to edit port options in individual manner, for that purpose,
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 we use the `poudriere options` command.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
122
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 Let's configure vim to remove options we don't care:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
124
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 poudriere options -j FreeBSD-11-1 -c editors/vim
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
126
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 If you defined the **OPTIONS_UNSET** described above, the **NLS** option should
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 be disabled by default, now select **CONSOLE** as User interface option.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
129
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 Note: it's recommended to use `-c` option because it forces the edition of
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 options.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
132
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 Building ports
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
134 --------------
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
135
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 Now that we have prepared our poudriere environment, let's build a port using
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 the `poudriere bulk` command.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
138
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
139 poudriere bulk -j FreeBSD-11-1 editors/vim
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
140
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
141 Since we will probably build a high number of ports, we can use a file instead
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 using the `-f` option.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
143
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
144 # /etc/packages.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 editors/vim
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 shells/zsh
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
147
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
148 poudriere bulk -j FreeBSD-11-1 -f /etc/packages.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
149
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 Using your repository
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
151 ---------------------
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
152
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
153 Once you have built some packages, you may use it directly from `pkg` command
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 because poudriere build a custom repository.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
155
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
156 In our case, the package repository is located into
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
157 **/poudriere/data/packages/FreeBSD-11-1-default**
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
158
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
159 ### Disable FreeBSD official repository
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
160
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
161 If you want to completely disable the official FreeBSD repository, create the
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 following file:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
163
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
164 # /etc/pkg/no-FreeBSD.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
165 FreeBSD: {
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 enabled: no
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
167 }
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
168
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
169 ### Enable our own package repository
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
170
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
171 Create the following file:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
172
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
173 # /etc/pkg/local.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
174 local: {
1
bbf887728d76 FreeBSD: add missing scheme in poudriere.md
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
175 url: "file:///poudriere/data/packages/FreeBSD-11-1-default"
0
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
176 }
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
177
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 Note: the **local** name can be replaced with anything.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
179
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 Update pkg repository and upgrade:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
181
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
182 pkg update -f
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 pkg upgrade
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
184
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 Then install our own packages:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
186
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 pkg install vim zsh

mercurial