FreeBSD/poudriere.md

Thu, 07 Sep 2017 10:36:51 +0200

author
Stéphane P.
date
Thu, 07 Sep 2017 10:36:51 +0200
changeset 10
8aea03aa0825
parent 9
e542763af261
child 12
56b6b50c0d7e
permissions
-rw-r--r--

FreeBSD: add make.conf and a warning in jails.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
8
49a3a8c3c7ec FreeBSD: add warning for mountpoint in poudriere.md
Stéphane
parents: 5
diff changeset
58 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
59 is not parent of poudriere.
49a3a8c3c7ec FreeBSD: add warning for mountpoint in poudriere.md
Stéphane
parents: 5
diff changeset
60
9
e542763af261 FreeBSD: change place of the warning in poudriere.md
Stéphane P.
parents: 8
diff changeset
61 zfs create zroot/poudriere/distfiles
e542763af261 FreeBSD: change place of the warning in poudriere.md
Stéphane P.
parents: 8
diff changeset
62
0
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 Jail creation
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
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 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
67 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
68
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 Let's create a poudriere jail named **FreeBSD-11-1**.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
70
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 ### Using FTP
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
72
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 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
74
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 Ports fetching
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
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 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
79 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
80 directly from FreeBSD so use it.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
81
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 Let's create a default poudriere ports tree.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
83
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 poudriere ports -c
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
85
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 Building options
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
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 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
90 them.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
91
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 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
93 useless things like X.Org, dbus, avahi, pulseaudio and such.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
94
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 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
96
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 - /usr/local/etc/poudriere.d/make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 - /usr/local/etc/poudriere.d/<setname>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 - /usr/local/etc/poudriere.d/<tree>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 - /usr/local/etc/poudriere.d/<jailname>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 - /usr/local/etc/poudriere.d/<jailname>-<tree>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 - /usr/local/etc/poudriere.d/<jailname>-<setname>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 - /usr/local/etc/poudriere.d/<jailname>-<tree>-<setname>-make.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
104
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 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
106 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
107
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 ### Disabling desktop options
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
109
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 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
111 variable.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
112
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 Note: we use the `+=` assignment to avoid resetting it.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
114
5
435b53af6b96 FreeBSD: fix incorrect jail naming in poudriere.md
David Demelier <markand@malikania.fr>
parents: 4
diff changeset
115 # /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
116 OPTIONS_UNSET+= DBUS NLS X11
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
117
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 Configuring per-port options
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
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 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
122 we use the `poudriere options` command.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
123
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 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
125
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
126 poudriere options -j FreeBSD-11-1 -c editors/vim
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
127
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 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
129 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
130
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 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
132 options.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
133
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
134 Building ports
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
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 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
138 the `poudriere bulk` command.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
139
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 poudriere bulk -j FreeBSD-11-1 editors/vim
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
141
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 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
143 using the `-f` option.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
144
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 # /etc/packages.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 editors/vim
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
147 shells/zsh
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
148
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
149 poudriere bulk -j FreeBSD-11-1 -f /etc/packages.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
150
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
151 Using your repository
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
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 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
155 because poudriere build a custom repository.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
156
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
157 In our case, the package repository is located into
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 **/poudriere/data/packages/FreeBSD-11-1-default**
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
159
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 ### Disable FreeBSD official repository
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
161
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 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
163 following file:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
164
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
165 # /etc/pkg/no-FreeBSD.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 FreeBSD: {
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
167 enabled: no
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
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
170 ### Enable our own package repository
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
171
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
172 Create the following file:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
173
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
174 # /etc/pkg/local.conf
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
175 local: {
1
bbf887728d76 FreeBSD: add missing scheme in poudriere.md
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
176 url: "file:///poudriere/data/packages/FreeBSD-11-1-default"
0
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
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
179 Note: the **local** name can be replaced with anything.
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
180
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 Update pkg repository and upgrade:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
182
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 pkg update -f
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
184 pkg upgrade
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
185
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
186 Then install our own packages:
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
187
18c8c5dd363b FreeBSD: add initial poudriere.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 pkg install vim zsh

mercurial