1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
2 | <!-- Above is a mandatory header for xml files. It must be the first
|
---|
3 | line in the file. Change encoding to the one you use on your computer -->
|
---|
4 | <!-- $Id$ -->
|
---|
5 | <!-- Mandatory DOCTYPE declaration. Fill free to add entities,
|
---|
6 | but no external entities in local files, since they would not
|
---|
7 | be accessible from JHALFSDIR. Change the document type `article' to
|
---|
8 | book if you prefer. That slightly changes the aspect if you render
|
---|
9 | it in html -->
|
---|
10 | <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
---|
11 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
---|
12 | <!ENTITY libarchive-version "3.4.3">
|
---|
13 | <!ENTITY curl-version "7.71.1">
|
---|
14 | <!ENTITY fakeroot-version "1.24">
|
---|
15 | <!ENTITY pacman-version "5.2.2">
|
---|
16 | <!ENTITY libarchive-url "https://github.com/libarchive/libarchive/releases/download/v&libarchive-version;/libarchive-&libarchive-version;.tar.xz">
|
---|
17 | <!ENTITY curl-url "https://curl.haxx.se/download/curl-&curl-version;.tar.xz">
|
---|
18 | <!ENTITY fakeroot-url "http://deb.debian.org/debian/pool/main/f/fakeroot/fakeroot_&fakeroot-version;.orig.tar.gz">
|
---|
19 | <!ENTITY pacman-url "https://sources.archlinux.org/other/pacman/pacman-&pacman-version;.tar.gz">
|
---|
20 | <!ENTITY curl-md5 "b54b386057846ce3edd3584b19741569">
|
---|
21 | <!ENTITY libarchive-md5 "4b216ea3015ecf8ae555a2026f9a6b73">
|
---|
22 | <!ENTITY fakeroot-md5 "964e5f438f1951e5a515dd54edd50fa6">
|
---|
23 | <!ENTITY pacman-md5 "3a9b078a83996a3272844807b91959c6">
|
---|
24 | <!ENTITY % general-entities SYSTEM "BOOK/general.ent">
|
---|
25 | %general-entities;
|
---|
26 | ]>
|
---|
27 |
|
---|
28 |
|
---|
29 | <!-- The first markup should be the one defined in the DOCTYPE DECLARATION -->
|
---|
30 | <article>
|
---|
31 |
|
---|
32 | <!-- First section for the tarball download address.
|
---|
33 | Only the next four lines are mandatory, but you can add anything
|
---|
34 | to make the text look more like the LFS book.
|
---|
35 | Do not change anything, except the url and the md5 checksum. -->
|
---|
36 | <sect1 id="package">
|
---|
37 | <?dbhtml filename="package.html"?>
|
---|
38 |
|
---|
39 | <title>All Packages</title>
|
---|
40 | <para>Download: <ulink url="&curl-url;"/></para>
|
---|
41 | <para>MD5 sum: <literal>&curl-md5;</literal></para>
|
---|
42 | <para>Download: <ulink url="&fakeroot-url;"/></para>
|
---|
43 | <para>MD5 sum: <literal>&fakeroot-md5;</literal></para>
|
---|
44 | <para>Download: <ulink url="&libarchive-url;"/></para>
|
---|
45 | <para>MD5 sum: <literal>&libarchive-md5;</literal></para>
|
---|
46 | <para>Download: <ulink url="&pacman-url;"/></para>
|
---|
47 | <para>MD5 sum: <literal>&pacman-md5;</literal></para>
|
---|
48 | </sect1>
|
---|
49 |
|
---|
50 | <!-- If needed, uncomment and edit this:
|
---|
51 | <sect1 id="patches">
|
---|
52 | <para>Download: <ulink url="somepatch-url"/></para>
|
---|
53 | <para>MD5 sum: <literal>somepatch-md5</literal></para>
|
---|
54 | </sect1>
|
---|
55 | -->
|
---|
56 |
|
---|
57 | <!-- Do not change the next line. The name of the scriptlet will be taken
|
---|
58 | from the dbhtml instruction: it is the name of the file less .html, with
|
---|
59 | xxx-x-added before (x, digits).-->
|
---|
60 | <sect1 id="ch-tools-libarchive" role="wrap">
|
---|
61 | <?dbhtml filename="libarchive.html"?>
|
---|
62 |
|
---|
63 | <sect1info condition="script">
|
---|
64 | <productname>libarchive</productname>
|
---|
65 | <productnumber>&libarchive-version;</productnumber>
|
---|
66 | <address>&libarchive-url;</address>
|
---|
67 | </sect1info>
|
---|
68 |
|
---|
69 | <title>Libarchive-&libarchive-version;</title>
|
---|
70 |
|
---|
71 | <sect2 role="installation">
|
---|
72 | <title/>
|
---|
73 | <screen><userinput remap="configure">./configure --prefix=/tools \
|
---|
74 | --without-bz2lib \
|
---|
75 | --without-xml2 \
|
---|
76 | --enable-bsdtar=static \
|
---|
77 | --enable-bsdcpio=static</userinput></screen>
|
---|
78 | <screen><userinput remap="make">make</userinput></screen>
|
---|
79 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
80 | </sect2>
|
---|
81 |
|
---|
82 | </sect1>
|
---|
83 |
|
---|
84 | <sect1 id="ch-tools-openssl" role="wrap">
|
---|
85 | <?dbhtml filename="openssl.html"?>
|
---|
86 |
|
---|
87 | <sect1info condition="script">
|
---|
88 | <productname>openssl</productname>
|
---|
89 | <productnumber>&openssl-version;</productnumber>
|
---|
90 | <address>&openssl-url;</address>
|
---|
91 | </sect1info>
|
---|
92 |
|
---|
93 | <title>openssl-&openssl-version;</title>
|
---|
94 |
|
---|
95 | <sect2 role="installation">
|
---|
96 | <title/>
|
---|
97 | <screen><userinput remap="configure">./config --prefix=/tools \
|
---|
98 | --openssldir=/tools/etc/ssl \
|
---|
99 | --libdir=lib</userinput></screen>
|
---|
100 | <screen><userinput remap="make">make</userinput></screen>
|
---|
101 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
102 | </sect2>
|
---|
103 |
|
---|
104 | </sect1>
|
---|
105 |
|
---|
106 | <sect1 id="ch-tools-curl" role="wrap">
|
---|
107 | <?dbhtml filename="curl.html"?>
|
---|
108 |
|
---|
109 | <sect1info condition="script">
|
---|
110 | <productname>curl</productname>
|
---|
111 | <productnumber>&curl-version;</productnumber>
|
---|
112 | <address>&curl-url;</address>
|
---|
113 | </sect1info>
|
---|
114 |
|
---|
115 | <title>Curl-&curl-version;</title>
|
---|
116 |
|
---|
117 | <sect2 role="installation">
|
---|
118 | <title/>
|
---|
119 | <screen><userinput remap="configure">./configure --prefix=/tools \
|
---|
120 | --disable-static</userinput></screen>
|
---|
121 | <screen><userinput remap="make">make</userinput></screen>
|
---|
122 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
123 | </sect2>
|
---|
124 |
|
---|
125 | </sect1>
|
---|
126 |
|
---|
127 | <sect1 id="ch-tools-libcap" role="wrap">
|
---|
128 | <?dbhtml filename="libcap.html"?>
|
---|
129 |
|
---|
130 | <sect1info condition="script">
|
---|
131 | <productname>libcap</productname>
|
---|
132 | <productnumber>&libcap-version;</productnumber>
|
---|
133 | <address>&libcap-url;</address>
|
---|
134 | </sect1info>
|
---|
135 |
|
---|
136 | <title>libcap-&libcap-version;</title>
|
---|
137 |
|
---|
138 | <sect2 role="installation">
|
---|
139 | <title/>
|
---|
140 | <screen><userinput remap="make">make lib=lib prefix=/tools GOLANG=no PAM_CAP=no</userinput></screen>
|
---|
141 | <screen><userinput remap="install">make lib=lib prefix=/tools GOLANG=no PAM_CAP=no install</userinput></screen>
|
---|
142 | </sect2>
|
---|
143 |
|
---|
144 | </sect1>
|
---|
145 |
|
---|
146 | <sect1 id="ch-tools-fakeroot" role="wrap">
|
---|
147 | <?dbhtml filename="fakeroot.html"?>
|
---|
148 |
|
---|
149 | <sect1info condition="script">
|
---|
150 | <productname>fakeroot</productname>
|
---|
151 | <productnumber>&fakeroot-version;</productnumber>
|
---|
152 | <address>&fakeroot-url;</address>
|
---|
153 | </sect1info>
|
---|
154 |
|
---|
155 | <title>fakeroot-&fakeroot-version;</title>
|
---|
156 |
|
---|
157 | <sect2 role="installation">
|
---|
158 | <title/>
|
---|
159 | <screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
---|
160 | <screen><userinput remap="make">make</userinput></screen>
|
---|
161 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
162 | </sect2>
|
---|
163 |
|
---|
164 | </sect1>
|
---|
165 |
|
---|
166 | <sect1 id="ch-tools-pkgmngt" role="wrap">
|
---|
167 | <?dbhtml filename="pacman.html"?>
|
---|
168 |
|
---|
169 | <sect1info condition="script">
|
---|
170 | <productname>pacman</productname>
|
---|
171 | <productnumber>&pacman-version;</productnumber>
|
---|
172 | <address>&pacman-url;</address>
|
---|
173 | </sect1info>
|
---|
174 |
|
---|
175 | <title>Pacman-&pacman-version;</title>
|
---|
176 |
|
---|
177 | <sect2 role="installation">
|
---|
178 | <title/>
|
---|
179 | <!-- You can use any number of remap="pre", "configure", "make", "test", "install"
|
---|
180 | <screen><userinput remap="something">Instructions</userinput></screen>.
|
---|
181 | They are executed in that order. "pre" can be used for patching for example.
|
---|
182 | In case testing is enabled, the instructions flagged test are logged to a different
|
---|
183 | file (test-log). If testing is not enabled, they are not executed at all. Do not
|
---|
184 | put line breaks before and after your instructions. <userinput> without
|
---|
185 | remap attribute are considered configuration instructions and executed last. You
|
---|
186 | can also use remap="adjust" for the same purpose. -->
|
---|
187 | <screen><userinput remap="configure">mkdir build
|
---|
188 | cd build
|
---|
189 | meson --prefix=/tools \
|
---|
190 | --sysconfdir=/tools/etc \
|
---|
191 | --localstatedir=/tools/var \
|
---|
192 | -Dcrypto=openssl \
|
---|
193 | -Ddoc=disabled \
|
---|
194 | -Dgpgme=disabled \
|
---|
195 | -Dpkg_config_path=/tools/lib/pkgconfig</userinput></screen>
|
---|
196 |
|
---|
197 | <screen><userinput remap="make">ninja</userinput></screen>
|
---|
198 |
|
---|
199 | <screen><userinput remap="install">ninja install</userinput></screen>
|
---|
200 |
|
---|
201 | <screen><userinput>sed -e 's@/usr@/tools@g' \
|
---|
202 | -e 's/\([^!]\)strip/\1!strip/' \
|
---|
203 | -e 's/\([^!]\)libtool/\1!libtool/' \
|
---|
204 | -e 's/\([^!]\)zipman/\1!zipman/' \
|
---|
205 | -i /tools/etc/makepkg.conf
|
---|
206 | cat >> /tools/etc/makepkg.conf << EOF
|
---|
207 | BUILDDIR=/sources
|
---|
208 | PKGDEST=/var/lib/packages
|
---|
209 | PACKAGER="Pierre Labastie <lnimbus@club-internet.fr>"
|
---|
210 | EOF
|
---|
211 | cat >> /tools/etc/pacman.conf << EOF
|
---|
212 | DBPath = /var/lib/pacman/
|
---|
213 | CacheDir = /var/cache/pacman/pkg/
|
---|
214 | LogFile = /var/log/pacman.log
|
---|
215 | SigLevel = Never
|
---|
216 | # Repository: do not add one now: repo-add needs openssl.
|
---|
217 | EOF</userinput></screen>
|
---|
218 |
|
---|
219 | </sect2>
|
---|
220 |
|
---|
221 | </sect1>
|
---|
222 |
|
---|
223 | <!-- version for new book: needs ninja and meson, which needs
|
---|
224 | Python rebuilt with libffi and zlib. Needs also pkg-config -->
|
---|
225 | <sect1 id="ch-chroot-libarchive" role="wrap">
|
---|
226 | <?dbhtml filename="libarchive.html"?>
|
---|
227 |
|
---|
228 | <sect1info condition="script">
|
---|
229 | <productname>libarchive</productname>
|
---|
230 | <productnumber>&libarchive-version;</productnumber>
|
---|
231 | <address>&libarchive-url;</address>
|
---|
232 | </sect1info>
|
---|
233 |
|
---|
234 | <title>Libarchive-&libarchive-version;</title>
|
---|
235 |
|
---|
236 | <sect2 role="installation">
|
---|
237 | <title/>
|
---|
238 | <screen><userinput remap="configure">./configure --prefix=/usr \
|
---|
239 | --without-bz2lib \
|
---|
240 | --without-xml2 \
|
---|
241 | --enable-bsdtar=static \
|
---|
242 | --enable-bsdcpio=static</userinput></screen>
|
---|
243 | <screen><userinput remap="make">make</userinput></screen>
|
---|
244 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
245 | </sect2>
|
---|
246 |
|
---|
247 | </sect1>
|
---|
248 |
|
---|
249 | <sect1 id="ch-chroot-openssl" role="wrap">
|
---|
250 | <?dbhtml filename="openssl.html"?>
|
---|
251 |
|
---|
252 | <sect1info condition="script">
|
---|
253 | <productname>openssl</productname>
|
---|
254 | <productnumber>&openssl-version;</productnumber>
|
---|
255 | <address>&openssl-url;</address>
|
---|
256 | </sect1info>
|
---|
257 |
|
---|
258 | <title>openssl-&openssl-version;</title>
|
---|
259 |
|
---|
260 | <sect2 role="installation">
|
---|
261 | <title/>
|
---|
262 | <screen><userinput remap="configure">
|
---|
263 | ./config --prefix=/usr \
|
---|
264 | --openssldir=/etc/ssl \
|
---|
265 | --libdir=lib \
|
---|
266 | shared</userinput></screen>
|
---|
267 | <screen><userinput remap="make">make</userinput></screen>
|
---|
268 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
269 | </sect2>
|
---|
270 |
|
---|
271 | </sect1>
|
---|
272 |
|
---|
273 | <sect1 id="ch-chroot-curl" role="wrap">
|
---|
274 | <?dbhtml filename="curl.html"?>
|
---|
275 |
|
---|
276 | <sect1info condition="script">
|
---|
277 | <productname>curl</productname>
|
---|
278 | <productnumber>&curl-version;</productnumber>
|
---|
279 | <address>&curl-url;</address>
|
---|
280 | </sect1info>
|
---|
281 |
|
---|
282 | <title>Curl-&curl-version;</title>
|
---|
283 |
|
---|
284 | <sect2 role="installation">
|
---|
285 | <title/>
|
---|
286 | <screen><userinput remap="configure">./configure --prefix=/usr \
|
---|
287 | --disable-static</userinput></screen>
|
---|
288 | <screen><userinput remap="make">make</userinput></screen>
|
---|
289 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
290 | </sect2>
|
---|
291 |
|
---|
292 | </sect1>
|
---|
293 |
|
---|
294 | <sect1 id="ch-chroot-libcap" role="wrap">
|
---|
295 | <?dbhtml filename="libcap.html"?>
|
---|
296 |
|
---|
297 | <sect1info condition="script">
|
---|
298 | <productname>libcap</productname>
|
---|
299 | <productnumber>&libcap-version;</productnumber>
|
---|
300 | <address>&libcap-url;</address>
|
---|
301 | </sect1info>
|
---|
302 |
|
---|
303 | <title>libcap-&libcap-version;</title>
|
---|
304 |
|
---|
305 | <sect2 role="installation">
|
---|
306 | <title/>
|
---|
307 | <screen><userinput remap="pre">sed -i '/install.*STACAPLIBNAME/d' libcap/Makefile</userinput></screen>
|
---|
308 | <screen><userinput remap="make">make lib=lib</userinput></screen>
|
---|
309 | <screen><userinput remap="install">make lib=lib PKGCONFIGDIR=/usr/lib/pkgconfig install
|
---|
310 | chmod -v 755 /lib/libcap.so.&libcap-version;
|
---|
311 | mv -v /lib/libpsx.a /usr/lib
|
---|
312 | rm -v /lib/libcap.so
|
---|
313 | ln -sfv ../../lib/libcap.so.2 /usr/lib/libcap.so</userinput></screen>
|
---|
314 | </sect2>
|
---|
315 |
|
---|
316 | </sect1>
|
---|
317 |
|
---|
318 | <sect1 id="ch-chroot-fakeroot" role="wrap">
|
---|
319 | <?dbhtml filename="fakeroot.html"?>
|
---|
320 |
|
---|
321 | <sect1info condition="script">
|
---|
322 | <productname>fakeroot</productname>
|
---|
323 | <productnumber>&fakeroot-version;</productnumber>
|
---|
324 | <address>&fakeroot-url;</address>
|
---|
325 | </sect1info>
|
---|
326 |
|
---|
327 | <title>fakeroot-&fakeroot-version;</title>
|
---|
328 |
|
---|
329 | <sect2 role="installation">
|
---|
330 | <title/>
|
---|
331 | <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
---|
332 | <screen><userinput remap="make">make</userinput></screen>
|
---|
333 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
334 | </sect2>
|
---|
335 |
|
---|
336 | </sect1>
|
---|
337 |
|
---|
338 | <sect1 id="ch-chroot-zlib" role="wrap">
|
---|
339 | <?dbhtml filename="zlib.html"?>
|
---|
340 |
|
---|
341 | <sect1info condition="script">
|
---|
342 | <productname>zlib</productname>
|
---|
343 | <productnumber>&zlib-version;</productnumber>
|
---|
344 | <address>&zlib-url;</address>
|
---|
345 | </sect1info>
|
---|
346 |
|
---|
347 | <title>zlib-&zlib-version;</title>
|
---|
348 |
|
---|
349 | <sect2 role="installation">
|
---|
350 | <title/>
|
---|
351 | <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
---|
352 | <screen><userinput remap="make">make</userinput></screen>
|
---|
353 | <screen><userinput remap="install">make install
|
---|
354 | mv -v /usr/lib/libz.so.* /lib
|
---|
355 | ln -sfv ../../lib/$(readlink /usr/lib/libz.so) /usr/lib/libz.so</userinput></screen>
|
---|
356 | </sect2>
|
---|
357 |
|
---|
358 | </sect1>
|
---|
359 |
|
---|
360 | <sect1 id="ch-chroot-libffi" role="wrap">
|
---|
361 | <?dbhtml filename="libffi.html"?>
|
---|
362 |
|
---|
363 | <sect1info condition="script">
|
---|
364 | <productname>libffi</productname>
|
---|
365 | <productnumber>&libffi-version;</productnumber>
|
---|
366 | <address>&libffi-url;</address>
|
---|
367 | </sect1info>
|
---|
368 |
|
---|
369 | <title>libffi-&libffi-version;</title>
|
---|
370 |
|
---|
371 | <sect2 role="installation">
|
---|
372 | <title/>
|
---|
373 | <screen><userinput remap="configure">./configure --prefix=/usr --disable-static --with-gcc-arch=native</userinput></screen>
|
---|
374 | <screen><userinput remap="make">make</userinput></screen>
|
---|
375 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
376 | </sect2>
|
---|
377 |
|
---|
378 | </sect1>
|
---|
379 |
|
---|
380 | <sect1 id="ch-chroot-python" role="wrap">
|
---|
381 | <?dbhtml filename="Python-pass2.html"?>
|
---|
382 |
|
---|
383 | <sect1info condition="script">
|
---|
384 | <productname>Python</productname>
|
---|
385 | <productnumber>&python-version;</productnumber>
|
---|
386 | <address>&python-url;</address>
|
---|
387 | </sect1info>
|
---|
388 |
|
---|
389 | <title>Python-&python-version;</title>
|
---|
390 |
|
---|
391 | <sect2 role="installation">
|
---|
392 | <title/>
|
---|
393 | <screen><userinput remap="configure">./configure --prefix=/usr --without-ensurepip --enable-shared</userinput></screen>
|
---|
394 | <screen><userinput remap="make">make</userinput></screen>
|
---|
395 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
396 | </sect2>
|
---|
397 |
|
---|
398 | </sect1>
|
---|
399 |
|
---|
400 | <sect1 id="ch-chroot-ninja" role="wrap">
|
---|
401 | <?dbhtml filename="ninja.html"?>
|
---|
402 |
|
---|
403 | <sect1info condition="script">
|
---|
404 | <productname>ninja</productname>
|
---|
405 | <productnumber>&ninja-version;</productnumber>
|
---|
406 | <address>&ninja-url;</address>
|
---|
407 | </sect1info>
|
---|
408 |
|
---|
409 | <title>ninja-&ninja-version;</title>
|
---|
410 |
|
---|
411 | <sect2 role="installation">
|
---|
412 | <title/>
|
---|
413 | <screen><userinput remap="configure">python3 configure.py --bootstrap</userinput></screen>
|
---|
414 | <screen><userinput remap="install">install -vm755 ninja /usr/bin/</userinput></screen>
|
---|
415 | </sect2>
|
---|
416 |
|
---|
417 | </sect1>
|
---|
418 |
|
---|
419 | <sect1 id="ch-chroot-meson" role="wrap">
|
---|
420 | <?dbhtml filename="meson.html"?>
|
---|
421 |
|
---|
422 | <sect1info condition="script">
|
---|
423 | <productname>meson</productname>
|
---|
424 | <productnumber>&meson-version;</productnumber>
|
---|
425 | <address>&meson-url;</address>
|
---|
426 | </sect1info>
|
---|
427 |
|
---|
428 | <title>meson-&meson-version;</title>
|
---|
429 |
|
---|
430 | <sect2 role="installation">
|
---|
431 | <title/>
|
---|
432 | <screen><userinput remap="install">cp meson.py /usr/bin/meson
|
---|
433 | cp -rv mesonbuild /usr/bin</userinput></screen>
|
---|
434 | </sect2>
|
---|
435 |
|
---|
436 | </sect1>
|
---|
437 |
|
---|
438 | <sect1 id="ch-chroot-pkgconfig" role="wrap">
|
---|
439 | <?dbhtml filename="pkgconfig.html"?>
|
---|
440 |
|
---|
441 | <sect1info condition="script">
|
---|
442 | <productname>pkg-config</productname>
|
---|
443 | <productnumber>&pkgconfig-version;</productnumber>
|
---|
444 | <address>&pkgconfig-url;</address>
|
---|
445 | </sect1info>
|
---|
446 |
|
---|
447 | <title>pkg-config-&pkgconfig-version;</title>
|
---|
448 |
|
---|
449 | <sect2 role="installation">
|
---|
450 | <title/>
|
---|
451 | <screen><userinput remap="configure">./configure --prefix=/usr \
|
---|
452 | --with-internal-glib \
|
---|
453 | --disable-host-tool \
|
---|
454 | --docdir=/usr/share/doc/pkg-config-&pkgconfig-version;</userinput></screen>
|
---|
455 | <screen><userinput remap="make">make</userinput></screen>
|
---|
456 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
457 | </sect2>
|
---|
458 |
|
---|
459 | </sect1>
|
---|
460 |
|
---|
461 | <sect1 id="ch-chroot-pkgmngt" role="wrap">
|
---|
462 | <?dbhtml filename="pacman.html"?>
|
---|
463 |
|
---|
464 | <sect1info condition="script">
|
---|
465 | <productname>pacman</productname>
|
---|
466 | <productnumber>&pacman-version;</productnumber>
|
---|
467 | <address>&pacman-url;</address>
|
---|
468 | </sect1info>
|
---|
469 |
|
---|
470 | <title>Pacman-&pacman-version;</title>
|
---|
471 |
|
---|
472 | <sect2 role="installation">
|
---|
473 | <title/>
|
---|
474 | <screen><userinput remap="configure">mkdir build
|
---|
475 | cd build
|
---|
476 | meson --prefix=/usr \
|
---|
477 | -Dcrypto=openssl \
|
---|
478 | -Ddoc=disabled \
|
---|
479 | -Dgpgme=disabled</userinput></screen>
|
---|
480 |
|
---|
481 | <screen><userinput remap="make">ninja</userinput></screen>
|
---|
482 |
|
---|
483 | <screen><userinput remap="install">ninja install</userinput></screen>
|
---|
484 |
|
---|
485 | <screen><userinput>sed -e 's/\([^!]\)strip/\1!strip/' \
|
---|
486 | -e 's/\([^!]\)libtool/\1!libtool/' \
|
---|
487 | -e 's/\([^!]\)zipman/\1!zipman/' \
|
---|
488 | -i /etc/makepkg.conf
|
---|
489 | cat >> /etc/makepkg.conf << EOF
|
---|
490 | BUILDDIR=/sources
|
---|
491 | PKGDEST=/var/lib/packages
|
---|
492 | PACKAGER="Pierre Labastie <lnimbus@club-internet.fr>"
|
---|
493 | EOF
|
---|
494 | cat >> /etc/pacman.conf << EOF
|
---|
495 | DBPath = /var/lib/pacman/
|
---|
496 | CacheDir = /var/cache/pacman/pkg/
|
---|
497 | LogFile = /var/log/pacman.log
|
---|
498 | SigLevel = Never
|
---|
499 | # Repository: do not add one now: repo-add needs openssl.
|
---|
500 | EOF</userinput></screen>
|
---|
501 |
|
---|
502 | </sect2>
|
---|
503 |
|
---|
504 | </sect1>
|
---|
505 |
|
---|
506 | <sect1 id="ch-chroot-shadow" role="wrap">
|
---|
507 | <?dbhtml filename="shadow.html"?>
|
---|
508 |
|
---|
509 | <sect1info condition="script">
|
---|
510 | <productname>shadow</productname>
|
---|
511 | <productnumber>&shadow-version;</productnumber>
|
---|
512 | <address>&shadow-url;</address>
|
---|
513 | </sect1info>
|
---|
514 |
|
---|
515 | <title>shadow-&shadow-version;</title>
|
---|
516 |
|
---|
517 | <sect2 role="installation">
|
---|
518 | <title/>
|
---|
519 | <screen><userinput remap="pre">sed -i 's/groups$(EXEEXT) //' src/Makefile.in
|
---|
520 | find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;
|
---|
521 | find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \;
|
---|
522 | find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;
|
---|
523 | sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
|
---|
524 | -e 's:/var/spool/mail:/var/mail:' \
|
---|
525 | -i etc/login.defs
|
---|
526 | sed -i 's/1000/999/' etc/useradd</userinput></screen>
|
---|
527 | <screen><userinput remap="configure">touch /usr/bin/passwd
|
---|
528 | ./configure --sysconfdir=/etc \
|
---|
529 | --with-group-name-max-length=32</userinput></screen>
|
---|
530 | <screen><userinput remap="make">make</userinput></screen>
|
---|
531 | <screen><userinput remap="install">make install</userinput></screen>
|
---|
532 | </sect2>
|
---|
533 |
|
---|
534 | </sect1>
|
---|
535 |
|
---|
536 | <!-- Mandatory section for creating dirs. These instructions are added at the
|
---|
537 | end of the creating dirs instructions of the book. Do not change the
|
---|
538 | following line -->
|
---|
539 | <sect1 id="ch-pkgmngt-creatingdirs">
|
---|
540 |
|
---|
541 | <title>Creating Directories</title>
|
---|
542 |
|
---|
543 | <screen><userinput>mkdir -pv /var/{lib/{packages,pacman},cache/pkg}</userinput></screen>
|
---|
544 |
|
---|
545 | </sect1>
|
---|
546 | <!-- Same for files. Do not change the following line -->
|
---|
547 | <sect1 id="ch-pkgmngt-createfiles">
|
---|
548 |
|
---|
549 | <title>Creating Essential Files</title>
|
---|
550 |
|
---|
551 | <screen><userinput>if ! grep -q tester /etc/passwd; then
|
---|
552 | echo "builder:x:101:101::/home/builder:/bin/bash" >> /etc/passwd
|
---|
553 | echo "builder:x:101:" >> /etc/group
|
---|
554 | install -o builder -d /home/builder
|
---|
555 | else
|
---|
556 | TEST_UID=$(grep tester /etc/passwd | cut -d: -f3)
|
---|
557 | TEST_GID=$(grep tester /etc/group | cut -d: -f3)
|
---|
558 | echo "builder:x:$((TEST_UID+1)):$((TEST_GID+1))::/home/builder:/bin/bash" >> /etc/passwd
|
---|
559 | echo "builder:x:$((TEST_GID+1)):" >> /etc/group
|
---|
560 | install -o builder -d /home/builder
|
---|
561 | fi
|
---|
562 | chown builder:builder /var/lib/{packages,pacman}</userinput></screen>
|
---|
563 |
|
---|
564 | </sect1>
|
---|
565 |
|
---|
566 | <!-- Last but not least : Final instructions for installing the
|
---|
567 | package manager at the end of chapter 6. Again, the scriptlet file name is
|
---|
568 | taken from the dbhtml instruction, with digits added before and .html cut
|
---|
569 | and the tarball name is formed from this name + version. So the file
|
---|
570 | here _must_ be the same as in chapter 5. If rendering in html, both
|
---|
571 | sets of instructions end up in the same file, which is usually not a problem.
|
---|
572 | -->
|
---|
573 | <sect1 id="ch-system-libarchive" role="wrap">
|
---|
574 | <?dbhtml filename="libarchive.html"?>
|
---|
575 |
|
---|
576 | <sect1info condition="script">
|
---|
577 | <productname>libarchive</productname>
|
---|
578 | <productnumber>&libarchive-version;</productnumber>
|
---|
579 | <address>&libarchive-url;</address>
|
---|
580 | </sect1info>
|
---|
581 |
|
---|
582 | <title>Libarchive-&libarchive-version;</title>
|
---|
583 |
|
---|
584 | <sect2 role="installation">
|
---|
585 | <title/>
|
---|
586 | <screen><userinput remap="configure">./configure --prefix=/usr \
|
---|
587 | --disable-static</userinput></screen>
|
---|
588 | <screen><userinput remap="make">make</userinput></screen>
|
---|
589 | <screen><userinput remap="install">make DESTDIR=$PKG_DEST install</userinput></screen>
|
---|
590 | </sect2>
|
---|
591 |
|
---|
592 | </sect1>
|
---|
593 | <sect1 id="ch-system-curl" role="wrap">
|
---|
594 | <?dbhtml filename="curl.html"?>
|
---|
595 |
|
---|
596 | <sect1info condition="script">
|
---|
597 | <productname>curl</productname>
|
---|
598 | <productnumber>&curl-version;</productnumber>
|
---|
599 | <address>&curl-url;</address>
|
---|
600 | </sect1info>
|
---|
601 |
|
---|
602 | <title>Curl-&curl-version;</title>
|
---|
603 |
|
---|
604 | <sect2 role="installation">
|
---|
605 | <title/>
|
---|
606 | <screen><userinput remap="configure">./configure --prefix=/usr \
|
---|
607 | --disable-static \
|
---|
608 | --enable-threaded-resolver</userinput></screen>
|
---|
609 | <screen><userinput remap="make">make</userinput></screen>
|
---|
610 | <screen><userinput remap="install">make DESTDIR=$PKG_DEST install
|
---|
611 | find docs \( -name "Makefile*" -o -name "*.1" -o -name "*.3" \) -exec rm {} \;
|
---|
612 | install -v -d -m755 $PKG_DEST/usr/share/doc/curl-&curl-version;
|
---|
613 | cp -v -R docs/* $PKG_DEST/usr/share/doc/curl-&curl-version;</userinput></screen>
|
---|
614 | </sect2>
|
---|
615 |
|
---|
616 | </sect1>
|
---|
617 |
|
---|
618 | <sect1 id="ch-system-fakeroot" role="wrap">
|
---|
619 | <?dbhtml filename="fakeroot.html"?>
|
---|
620 |
|
---|
621 | <sect1info condition="script">
|
---|
622 | <productname>fakeroot</productname>
|
---|
623 | <productnumber>&fakeroot-version;</productnumber>
|
---|
624 | <address>&fakeroot-url;</address>
|
---|
625 | </sect1info>
|
---|
626 |
|
---|
627 | <title>fakeroot-&fakeroot-version;</title>
|
---|
628 |
|
---|
629 | <sect2 role="installation">
|
---|
630 | <title/>
|
---|
631 | <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
---|
632 | <screen><userinput remap="make">make</userinput></screen>
|
---|
633 | <screen><userinput remap="install">make DESTDIR=$PKG_DEST install</userinput></screen>
|
---|
634 | </sect2>
|
---|
635 |
|
---|
636 | </sect1>
|
---|
637 |
|
---|
638 | <sect1 id="ch-system-pkgmngt" role="wrap">
|
---|
639 | <?dbhtml filename="pacman.html"?>
|
---|
640 |
|
---|
641 | <sect1info condition="script">
|
---|
642 | <productname>pacman</productname>
|
---|
643 | <productnumber>&pacman-version;</productnumber>
|
---|
644 | <address>&pacman-url;</address>
|
---|
645 | </sect1info>
|
---|
646 |
|
---|
647 | <title>Pacman-&pacman-version;</title>
|
---|
648 |
|
---|
649 | <sect2 role="installation">
|
---|
650 | <title/>
|
---|
651 |
|
---|
652 | <screen><userinput remap="configure">mkdir build
|
---|
653 | cd build
|
---|
654 | meson --prefix=/usr \
|
---|
655 | -Dcrypto=openssl</userinput></screen>
|
---|
656 |
|
---|
657 | <screen><userinput remap="make">ninja</userinput></screen>
|
---|
658 |
|
---|
659 | <!-- Those instructions are executed with PKG_DEST set. They are not processed
|
---|
660 | in any way to add $PKG_DEST at some place, and the PKG_DEST directory is not
|
---|
661 | populated before, so it is basically empty. You have thus to create any directory
|
---|
662 | needed in $PKG_DEST and not otherwise created by the make install command. -->
|
---|
663 | <screen><userinput remap="install">DESTDIR=$PKG_DEST ninja install</userinput></screen>
|
---|
664 |
|
---|
665 | <screen><userinput>sed -e 's/\([^!]\)strip/\1!strip/' \
|
---|
666 | -e 's/\([^!]\)zipman/\1!zipman/' \
|
---|
667 | -e 's/\([^!]\)libtool/\1!libtool/' \
|
---|
668 | -i /etc/makepkg.conf
|
---|
669 | cat >> /etc/makepkg.conf << EOF
|
---|
670 | BUILDDIR=/sources
|
---|
671 | PKGDEST=/var/lib/packages
|
---|
672 | PACKAGER="Pierre Labastie <lnimbus@club-internet.fr<"
|
---|
673 | EOF
|
---|
674 | cat >> /etc/pacman.conf << EOF
|
---|
675 | DBPath = /var/lib/pacman/
|
---|
676 | CacheDir = /var/cache/pacman/pkg/
|
---|
677 | LogFile = /var/log/pacman.log
|
---|
678 | SigLevel = Never
|
---|
679 | EOF</userinput></screen>
|
---|
680 |
|
---|
681 | </sect2>
|
---|
682 |
|
---|
683 | </sect1>
|
---|
684 | </article>
|
---|