[bd00951] | 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 -->
|
---|
[fd4a798] | 4 |
|
---|
[bd00951] | 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"
|
---|
[2758d94] | 11 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
---|
[5dd7bff] | 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">
|
---|
[2758d94] | 19 | <!ENTITY pacman-url "https://sources.archlinux.org/other/pacman/pacman-&pacman-version;.tar.gz">
|
---|
[5dd7bff] | 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;
|
---|
[2758d94] | 26 | ]>
|
---|
| 27 |
|
---|
[bd00951] | 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">
|
---|
[2758d94] | 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>
|
---|
[5dd7bff] | 42 | <para>Download: <ulink url="&fakeroot-url;"/></para>
|
---|
| 43 | <para>MD5 sum: <literal>&fakeroot-md5;</literal></para>
|
---|
[2758d94] | 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>
|
---|
[bd00951] | 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
|
---|
[2758d94] | 59 | xxx-x-added before (x, digits).-->
|
---|
[bd00951] | 60 | <sect1 id="ch-tools-libarchive" role="wrap">
|
---|
| 61 | <?dbhtml filename="libarchive.html"?>
|
---|
[2758d94] | 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 |
|
---|
[bd00951] | 71 | <sect2 role="installation">
|
---|
[2758d94] | 72 | <title/>
|
---|
[bd00951] | 73 | <screen><userinput remap="configure">./configure --prefix=/tools \
|
---|
| 74 | --without-bz2lib \
|
---|
[240b1a8] | 75 | --without-xml2 \
|
---|
[bd00951] | 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>
|
---|
[2758d94] | 83 |
|
---|
[5dd7bff] | 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 |
|
---|
[bd00951] | 106 | <sect1 id="ch-tools-curl" role="wrap">
|
---|
| 107 | <?dbhtml filename="curl.html"?>
|
---|
[2758d94] | 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 |
|
---|
[bd00951] | 117 | <sect2 role="installation">
|
---|
[2758d94] | 118 | <title/>
|
---|
[bd00951] | 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 |
|
---|
[5dd7bff] | 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 |
|
---|
[bd00951] | 166 | <sect1 id="ch-tools-pkgmngt" role="wrap">
|
---|
| 167 | <?dbhtml filename="pacman.html"?>
|
---|
[2758d94] | 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 |
|
---|
[bd00951] | 177 | <sect2 role="installation">
|
---|
[2758d94] | 178 | <title/>
|
---|
[bd00951] | 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. -->
|
---|
[5dd7bff] | 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>
|
---|
[bd00951] | 196 |
|
---|
[5dd7bff] | 197 | <screen><userinput remap="make">ninja</userinput></screen>
|
---|
[bd00951] | 198 |
|
---|
[5dd7bff] | 199 | <screen><userinput remap="install">ninja install</userinput></screen>
|
---|
[bd00951] | 200 |
|
---|
| 201 | <screen><userinput>sed -e 's@/usr@/tools@g' \
|
---|
| 202 | -e 's/\([^!]\)strip/\1!strip/' \
|
---|
[5dd7bff] | 203 | -e 's/\([^!]\)libtool/\1!libtool/' \
|
---|
[bd00951] | 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 |
|
---|
[5dd7bff] | 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.
|
---|
[3484658] | 500 | EOF</userinput></screen>
|
---|
[5dd7bff] | 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 |
|
---|
[bd00951] | 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 |
|
---|
[2758d94] | 541 | <title>Creating Directories</title>
|
---|
| 542 |
|
---|
[bd00951] | 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 |
|
---|
[2758d94] | 549 | <title>Creating Essential Files</title>
|
---|
| 550 |
|
---|
[5dd7bff] | 551 | <screen><userinput>if ! grep -q tester /etc/passwd; then
|
---|
[3484658] | 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
|
---|
[5dd7bff] | 561 | fi
|
---|
[3484658] | 562 | chown builder:builder /var/lib/{packages,pacman}</userinput></screen>
|
---|
[bd00951] | 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"?>
|
---|
[2758d94] | 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 |
|
---|
[bd00951] | 584 | <sect2 role="installation">
|
---|
[2758d94] | 585 | <title/>
|
---|
[bd00951] | 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"?>
|
---|
[2758d94] | 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 |
|
---|
[bd00951] | 604 | <sect2 role="installation">
|
---|
[2758d94] | 605 | <title/>
|
---|
[bd00951] | 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 {} \;
|
---|
[2758d94] | 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>
|
---|
[bd00951] | 614 | </sect2>
|
---|
| 615 |
|
---|
| 616 | </sect1>
|
---|
[5dd7bff] | 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 |
|
---|
[bd00951] | 638 | <sect1 id="ch-system-pkgmngt" role="wrap">
|
---|
| 639 | <?dbhtml filename="pacman.html"?>
|
---|
| 640 |
|
---|
[2758d94] | 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 |
|
---|
[bd00951] | 649 | <sect2 role="installation">
|
---|
[2758d94] | 650 | <title/>
|
---|
[bd00951] | 651 |
|
---|
[5dd7bff] | 652 | <screen><userinput remap="configure">mkdir build
|
---|
| 653 | cd build
|
---|
| 654 | meson --prefix=/usr \
|
---|
| 655 | -Dcrypto=openssl</userinput></screen>
|
---|
[bd00951] | 656 |
|
---|
[5dd7bff] | 657 | <screen><userinput remap="make">ninja</userinput></screen>
|
---|
[bd00951] | 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. -->
|
---|
[5dd7bff] | 663 | <screen><userinput remap="install">DESTDIR=$PKG_DEST ninja install</userinput></screen>
|
---|
[bd00951] | 664 |
|
---|
| 665 | <screen><userinput>sed -e 's/\([^!]\)strip/\1!strip/' \
|
---|
| 666 | -e 's/\([^!]\)zipman/\1!zipman/' \
|
---|
[5dd7bff] | 667 | -e 's/\([^!]\)libtool/\1!libtool/' \
|
---|
[bd00951] | 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>
|
---|