qLinux
… a distribution study
<< Prev Cmake-3.23.0
Next >> Make-ca-1.10
        NSPR-4.33
        NSS-3.75
        libtasn1-4.18.0
        p11-kit-0.24.1
        Make-CA-1.10
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
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
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
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
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