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:
- help2man
- make-ca
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