%general-entities; ]>
All Packages Download: MD5 sum: &curl-md5; Download: MD5 sum: &fakeroot-md5; Download: MD5 sum: &libarchive-md5; Download: MD5 sum: &pacman-md5; libarchive &libarchive-version;
&libarchive-url;
Libarchive-&libarchive-version; <screen><userinput remap="configure">./configure --prefix=/usr \ --without-bz2lib \ --without-xml2 \ --enable-bsdtar=static \ --enable-bsdcpio=static</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make install</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-openssl" role="wrap"> <?dbhtml filename="openssl.html"?> <sect1info condition="script"> <productname>openssl</productname> <productnumber>&openssl-version;</productnumber> <address>&openssl-url;</address> </sect1info> <title>openssl-&openssl-version; <screen><userinput remap="configure"> ./config --prefix=/usr \ --openssldir=/etc/ssl \ --libdir=lib \ shared</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make install</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-curl" role="wrap"> <?dbhtml filename="curl.html"?> <sect1info condition="script"> <productname>curl</productname> <productnumber>&curl-version;</productnumber> <address>&curl-url;</address> </sect1info> <title>Curl-&curl-version; <screen><userinput remap="configure">./configure --prefix=/usr \ --disable-static \ --with-openssl</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make install</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-libcap" role="wrap"> <?dbhtml filename="libcap.html"?> <sect1info condition="script"> <productname>libcap</productname> <productnumber>&libcap-version;</productnumber> <address>&libcap-url;</address> </sect1info> <title>libcap-&libcap-version; <screen><userinput remap="pre">sed -i '/install -m.*STA/d' libcap/Makefile</userinput></screen> <screen><userinput remap="make">make prefix=/usr lib=lib</userinput></screen> <screen><userinput remap="install">make lib=lib prefix=/usr install</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-fakeroot" role="wrap"> <?dbhtml filename="fakeroot.html"?> <sect1info condition="script"> <productname>fakeroot</productname> <productnumber>&fakeroot-version;</productnumber> <address>&fakeroot-url;</address> </sect1info> <title>fakeroot-&fakeroot-version; <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make install</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-zlib" role="wrap"> <?dbhtml filename="zlib.html"?> <sect1info condition="script"> <productname>zlib</productname> <productnumber>&zlib-version;</productnumber> <address>&zlib-url;</address> </sect1info> <title>zlib-&zlib-version; <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make install rm -fv /usr/lib/libz.a</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-libffi" role="wrap"> <?dbhtml filename="libffi.html"?> <sect1info condition="script"> <productname>libffi</productname> <productnumber>&libffi-version;</productnumber> <address>&libffi-url;</address> </sect1info> <title>libffi-&libffi-version; <screen><userinput remap="configure">./configure --prefix=/usr --disable-static --with-gcc-arch=native --disable-exec-static-tramp</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make install</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-python" role="wrap"> <?dbhtml filename="Python-pass2.html"?> <sect1info condition="script"> <productname>Python</productname> <productnumber>&python-version;</productnumber> <address>&python-url;</address> </sect1info> <title>Python-&python-version; <screen><userinput remap="configure">./configure --prefix=/usr --without-ensurepip --enable-shared</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make install</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-ninja" role="wrap"> <?dbhtml filename="ninja.html"?> <sect1info condition="script"> <productname>ninja</productname> <productnumber>&ninja-version;</productnumber> <address>&ninja-url;</address> </sect1info> <title>ninja-&ninja-version; <screen><userinput remap="configure">python3 configure.py --bootstrap</userinput></screen> <screen><userinput remap="install">install -vm755 ninja /usr/bin/</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-meson" role="wrap"> <?dbhtml filename="meson.html"?> <sect1info condition="script"> <productname>meson</productname> <productnumber>&meson-version;</productnumber> <address>&meson-url;</address> </sect1info> <title>meson-&meson-version; <screen><userinput remap="install">cp meson.py /usr/bin/meson cp -rv mesonbuild /usr/bin</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-pkgconfig" role="wrap"> <?dbhtml filename="pkgconfig.html"?> <sect1info condition="script"> <productname>pkg-config</productname> <productnumber>&pkgconfig-version;</productnumber> <address>&pkgconfig-url;</address> </sect1info> <title>pkg-config-&pkgconfig-version; <screen><userinput remap="configure">./configure --prefix=/usr \ --with-internal-glib \ --disable-host-tool \ --docdir=/usr/share/doc/pkg-config-&pkgconfig-version;</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make install</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-pkgmngt" role="wrap"> <?dbhtml filename="pacman.html"?> <sect1info condition="script"> <productname>pacman</productname> <productnumber>&pacman-version;</productnumber> <address>&pacman-url;</address> </sect1info> <title>Pacman-&pacman-version; <screen><userinput remap="configure">mkdir build cd build meson --prefix=/usr \ -Dcrypto=openssl \ -Ddoc=disabled \ -Dgpgme=disabled</userinput></screen> <screen><userinput remap="make">ninja</userinput></screen> <screen><userinput remap="install">ninja install</userinput></screen> <screen><userinput>sed -e 's/\([^!]\)strip/\1!strip/' \ -e 's/\([^!]\)libtool/\1!libtool/' \ -e 's/\([^!]\)zipman/\1!zipman/' \ -i /etc/makepkg.conf cat >> /etc/makepkg.conf << EOF BUILDDIR=/sources PKGDEST=/var/lib/packages PACKAGER="Pierre Labastie <lnimbus@club-internet.fr>" EOF cat >> /etc/pacman.conf << EOF DBPath = /var/lib/pacman/ CacheDir = /var/cache/pacman/pkg/ LogFile = /var/log/pacman.log SigLevel = Never # Repository: do not add one now: repo-add needs openssl. EOF</userinput></screen> </sect2> </sect1> <sect1 id="ch-chroot-shadow" role="wrap"> <?dbhtml filename="shadow.html"?> <sect1info condition="script"> <productname>shadow</productname> <productnumber>&shadow-version;</productnumber> <address>&shadow-url;</address> </sect1info> <title>shadow-&shadow-version; <screen><userinput remap="pre">sed -i 's/groups$(EXEEXT) //' src/Makefile.in find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \; find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \; find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \; sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \ -e 's:/var/spool/mail:/var/mail:' \ -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \ -i etc/login.defs</userinput></screen> <screen><userinput remap="configure">touch /usr/bin/passwd ./configure --sysconfdir=/etc --disable-static \ --with-group-name-max-length=32</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make install</userinput></screen> </sect2> </sect1> <!-- Mandatory section for creating dirs. These instructions are added at the end of the creating dirs instructions of the book. Do not change the following line --> <sect1 id="ch-pkgmngt-creatingdirs"> <title>Creating Directories mkdir -pv /var/{lib/{packages,pacman},cache/pkg}
Creating Essential Files if ! grep -q tester /etc/passwd; then echo "builder:x:101:101::/home/builder:/bin/bash" >> /etc/passwd echo "builder:x:101:" >> /etc/group install -o builder -d /home/builder else TEST_UID=$(grep tester /etc/passwd | cut -d: -f3) TEST_GID=$(grep tester /etc/group | cut -d: -f3) echo "builder:x:$((TEST_UID+1)):$((TEST_GID+1))::/home/builder:/bin/bash" >> /etc/passwd echo "builder:x:$((TEST_GID+1)):" >> /etc/group install -o builder -d /home/builder fi chown builder:builder /var/lib/{packages,pacman} libarchive &libarchive-version;
&libarchive-url;
Libarchive-&libarchive-version; <screen><userinput remap="configure">./configure --prefix=/usr \ --disable-static</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make DESTDIR=$PKG_DEST install</userinput></screen> </sect2> </sect1> <sect1 id="ch-system-curl" role="wrap"> <?dbhtml filename="curl.html"?> <sect1info condition="script"> <productname>curl</productname> <productnumber>&curl-version;</productnumber> <address>&curl-url;</address> </sect1info> <title>Curl-&curl-version; <screen><userinput remap="configure">./configure --prefix=/usr \ --disable-static --with-openssl \ --enable-threaded-resolver \ --with-ca-path=/etc/ssl/certs</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make DESTDIR=$PKG_DEST install rm -rf docs/examples/.deps find docs \( -name "Makefile*" -o -name "*.1" -o -name "*.3" \) -exec rm {} \; install -v -d -m755 $PKG_DEST/usr/share/doc/curl-&curl-version; cp -v -R docs/* $PKG_DEST/usr/share/doc/curl-&curl-version;</userinput></screen> </sect2> </sect1> <sect1 id="ch-system-fakeroot" role="wrap"> <?dbhtml filename="fakeroot.html"?> <sect1info condition="script"> <productname>fakeroot</productname> <productnumber>&fakeroot-version;</productnumber> <address>&fakeroot-url;</address> </sect1info> <title>fakeroot-&fakeroot-version; <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> <screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="install">make DESTDIR=$PKG_DEST install</userinput></screen> </sect2> </sect1> <sect1 id="ch-system-pkgmngt" role="wrap"> <?dbhtml filename="pacman.html"?> <sect1info condition="script"> <productname>pacman</productname> <productnumber>&pacman-version;</productnumber> <address>&pacman-url;</address> </sect1info> <title>Pacman-&pacman-version; <screen><userinput remap="configure">mkdir build cd build meson --prefix=/usr \ -Dcrypto=openssl</userinput></screen> <screen><userinput remap="make">ninja</userinput></screen> <!-- Those instructions are executed with PKG_DEST set. They are not processed in any way to add $PKG_DEST at some place, and the PKG_DEST directory is not populated before, so it is basically empty. You have thus to create any directory needed in $PKG_DEST and not otherwise created by the make install command. --> <screen><userinput remap="install">DESTDIR=$PKG_DEST ninja install</userinput></screen> <screen><userinput>sed -e 's/\([^!]\)strip/\1!strip/' \ -e 's/\([^!]\)zipman/\1!zipman/' \ -e 's/\([^!]\)libtool/\1!libtool/' \ -i /etc/makepkg.conf cat >> /etc/makepkg.conf << EOF BUILDDIR=/sources PKGDEST=/var/lib/packages PACKAGER="Pierre Labastie <lnimbus@club-internet.fr<" EOF cat >> /etc/pacman.conf << EOF DBPath = /var/lib/pacman/ CacheDir = /var/cache/pacman/pkg/ LogFile = /var/log/pacman.log SigLevel = Never EOF</userinput></screen> </sect2> </sect1> </article>