qLinux
… a distribution study


<< Prev
Cmake-3.23.0

Next >>
Make-ca-1.10


CA Certificates

        NSPR-4.33
        NSS-3.75
        libtasn1-4.18.0
        p11-kit-0.24.1
        Make-CA-1.10

NSPR-4.33

Reference: NSPR-4.33. Download: nspr-4.33.tar.gz. Fix the build system:

patch -Np1 -i nspr-4.33-bld-20220413.patch

Disable installing two unwanted scripts

sed -i '/^RELEASE/s/^/#/' pr/src/misc/Makefile.in

Disable installing the static library:

sed -i 's#$(LIBRARY) ##'   config/rules.mk

Configure the package:

./configure --prefix=/libs \
            --includedir=/libs/inc/nspr \
            --datarootdir=/libs/dat \
            --with-mozilla \
            --enable-64bit \
            --with-pthreads

NSS-3.75

Reference: NSS-3.75. Download: nss-3.75.tar.gz. Aplly a patch to fix the sources:

patch -Np1 -i nss-3.75-qlnx-20220414.patch

The package dosen't come with a configure script. Build it:

cd nss
make BUILD_OPT=1 \
     NSS_ENABLE_WERROR=0 \
     USE_64=1 \
     NSPR_INCLUDE_DIR=/libs/inc/nspr \
     NSPR_LIB_DIR=/libs/lib \
     USE_SYSTEM_ZLIB=1 \
     ZLIB_LIBS=-lz

Install the package:

cd ../dist
mkdir -p tmp/{bin,lib,inc}
cp -Lv Linux*/lib/*.so tmp/lib
cp -Lv Linux*/lib/*.chk tmp/lib
cp -Lv Linux*/lib/libcrmf.a tmp/lib
chmod 0644 tmp/lib/*.chk tmp/lib/libcrmf.a
cp -vRL {public,private}/nss tmp/inc/
cp -Lv Linux*/bin/{certutil,nss-config,pk12util} tmp/bin
cp -Rv tmp/* /libs/
cp -v Linux*/lib/pkgconfig/nss.pc /libs/lib/pkgconfig

libtasn1-4.18.0

Reference: libtasn1-4.18.0. Download: libtasn1-4.18.0.tar.gz. The libtasn1 is required for the trust module in package p11-kit-0.24.1. Fix the build system:

 patch -Np1 -i libtasn1-4.18.0-bld-20220413.patch

Fix some  /dev/null  inthe sources:

 patch -Np1 -i libtasn1-4.18.0-src-20220413.patch

Configure, build and install libtasn1:

./configure --prefix=/libs \
            --includedir=/libs/inc \
            --disable-static \
            --disable-doc
make
make install

p11-kit-0.24.1

Reference: p11-kit-0.24.1. Download: p11-kit-0.24.1.tar.xz

Prepare the distribution part for qLinux:

sed '20,$ d; 1s|/bin|/qlnx/bin|' -i trust/trust-extract-compat &&
cat >> trust/trust-extract-compat << "EOF"
# Copy existing anchor modifications to /etc/ssl/local
/misc/bin/libexec/make-ca/copy-trust-modifications

# Update trust stores
/misc/bin/make-ca -r
EOF

In the directory  p11-kit  fix the shebang of 3 scripts:

gen-pkcs11-gnu.sh
gen-virtual-fixed.sh
meson_post_install.sh

Build and install it:

PKG_CONFIG_PATH=/libs/lib/pkgconfig \
meson build --buildtype=release \
            --prefix=/misc \
            --includedir=/misc/inc \
            --sysconfdir=/misc/etc \
            --datadir=/misc/dat \
            --libexecdir=/misc/bin/libexec \
            --localedir=/misc/dat/locale \
            -Dbashcompdir=/qlnx/dat/bash-completion/
ninja -C build install

Make-CA-1.10

Reference: Make-CA-1.10. Download: <wrap download>make-ca-1.10.tar.xz

Fix the shebang and  /dev/null  in the following files:

Edit the Makefile and change the install directories like:

MANDIR=/misc/man
SBINDIR=/misc/bin
ETCDIR=/misc/etc/make-ca
LIBEXECDIR=/misc/bin/libexec/make-ca

Change the path to the config file in make-ca to  /misc/etc/make-ca.conf .

The issue  make install . The change the mode of  make-ca :

chmod 0740 /misc/bin/make-ca

<< Prev
Cmake-3.23.0

Next >>
Make-ca-1.10