This commit is contained in:
YellowJacketLinux 2023-05-02 13:16:19 -07:00
parent 6bf95fb44a
commit 4763c29110
3 changed files with 510 additions and 0 deletions

View File

@ -0,0 +1,292 @@
diff -Nur nss-3.88.1.orig/nss/Makefile nss-3.88.1/nss/Makefile
--- nss-3.88.1.orig/nss/Makefile 2023-02-09 13:09:20.000000000 -0800
+++ nss-3.88.1/nss/Makefile 2023-05-02 05:46:56.490097769 -0700
@@ -4,6 +4,8 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+default: nss_build_all
+
#######################################################################
# (1) Include initial platform-independent assignments (MANDATORY). #
#######################################################################
@@ -48,12 +50,10 @@
#######################################################################
nss_build_all:
- $(MAKE) build_nspr
$(MAKE) all
$(MAKE) latest
nss_clean_all:
- $(MAKE) clobber_nspr
$(MAKE) clobber
NSPR_CONFIG_STATUS = $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)/config.status
diff -Nur nss-3.88.1.orig/nss/config/Makefile nss-3.88.1/nss/config/Makefile
--- nss-3.88.1.orig/nss/config/Makefile 1969-12-31 16:00:00.000000000 -0800
+++ nss-3.88.1/nss/config/Makefile 2023-05-02 05:46:56.489097769 -0700
@@ -0,0 +1,42 @@
+CORE_DEPTH = ..
+DEPTH = ..
+
+include $(CORE_DEPTH)/coreconf/config.mk
+
+NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'`
+NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'`
+NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'`
+NSS_NSPR_MINIMUM = `head -n1 ../automation/release/nspr-version.txt`
+PREFIX = /usr
+
+all: export libs
+
+export:
+ # Create the nss.pc file
+ mkdir -p $(DIST)/lib/pkgconfig
+ sed -e "s,@prefix@,$(PREFIX)," \
+ -e "s,@exec_prefix@,\$${prefix}," \
+ -e "s,@libdir@,\$${prefix}/lib," \
+ -e "s,@includedir@,\$${prefix}/include/nss," \
+ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
+ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
+ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
+ -e "s,@NSS_NSPR_MINIMUM@,$(NSS_NSPR_MINIMUM)," \
+ nss.pc.in > nss.pc
+ chmod 0644 nss.pc
+ ln -sf ../../../../nss/config/nss.pc $(DIST)/lib/pkgconfig
+
+ # Create the nss-config script
+ mkdir -p $(DIST)/bin
+ sed -e "s,@prefix@,$(PREFIX)," \
+ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
+ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
+ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
+ nss-config.in > nss-config
+ chmod 0755 nss-config
+ ln -sf ../../../nss/config/nss-config $(DIST)/bin
+
+libs:
+
+dummy: all export libs
+
diff -Nur nss-3.88.1.orig/nss/config/nss-config.in nss-3.88.1/nss/config/nss-config.in
--- nss-3.88.1.orig/nss/config/nss-config.in 1969-12-31 16:00:00.000000000 -0800
+++ nss-3.88.1/nss/config/nss-config.in 2023-05-02 05:46:56.490097769 -0700
@@ -0,0 +1,153 @@
+#!/bin/sh
+
+prefix=@prefix@
+
+major_version=@NSS_MAJOR_VERSION@
+minor_version=@NSS_MINOR_VERSION@
+patch_version=@NSS_PATCH_VERSION@
+
+usage()
+{
+ cat <<EOF
+Usage: nss-config [OPTIONS] [LIBRARIES]
+Options:
+ [--prefix[=DIR]]
+ [--exec-prefix[=DIR]]
+ [--includedir[=DIR]]
+ [--libdir[=DIR]]
+ [--version]
+ [--libs]
+ [--cflags]
+Dynamic Libraries:
+ nss
+ nssutil
+ smime
+ ssl
+ softokn
+EOF
+ exit $1
+}
+
+if test $# -eq 0; then
+ usage 1 1>&2
+fi
+
+lib_nss=yes
+lib_nssutil=yes
+lib_smime=yes
+lib_ssl=yes
+lib_softokn=yes
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case $1 in
+ --prefix=*)
+ prefix=$optarg
+ ;;
+ --prefix)
+ echo_prefix=yes
+ ;;
+ --exec-prefix=*)
+ exec_prefix=$optarg
+ ;;
+ --exec-prefix)
+ echo_exec_prefix=yes
+ ;;
+ --includedir=*)
+ includedir=$optarg
+ ;;
+ --includedir)
+ echo_includedir=yes
+ ;;
+ --libdir=*)
+ libdir=$optarg
+ ;;
+ --libdir)
+ echo_libdir=yes
+ ;;
+ --version)
+ echo ${major_version}.${minor_version}.${patch_version}
+ ;;
+ --cflags)
+ echo_cflags=yes
+ ;;
+ --libs)
+ echo_libs=yes
+ ;;
+ nss)
+ lib_nss=yes
+ ;;
+ nssutil)
+ lib_nssutil=yes
+ ;;
+ smime)
+ lib_smime=yes
+ ;;
+ ssl)
+ lib_ssl=yes
+ ;;
+ softokn)
+ lib_softokn=yes
+ ;;
+ *)
+ usage 1 1>&2
+ ;;
+ esac
+ shift
+done
+
+# Set variables that may be dependent upon other variables
+if test -z "$exec_prefix"; then
+ exec_prefix=`pkg-config --variable=exec_prefix nss`
+fi
+if test -z "$includedir"; then
+ includedir=`pkg-config --variable=includedir nss`
+fi
+if test -z "$libdir"; then
+ libdir=`pkg-config --variable=libdir nss`
+fi
+
+if test "$echo_prefix" = "yes"; then
+ echo $prefix
+fi
+
+if test "$echo_exec_prefix" = "yes"; then
+ echo $exec_prefix
+fi
+
+if test "$echo_includedir" = "yes"; then
+ echo $includedir
+fi
+
+if test "$echo_libdir" = "yes"; then
+ echo $libdir
+fi
+
+if test "$echo_cflags" = "yes"; then
+ echo -I$includedir
+fi
+
+if test "$echo_libs" = "yes"; then
+ libdirs="-L$libdir"
+ if test -n "$lib_nss"; then
+ libdirs="$libdirs -lnss${major_version}"
+ fi
+ if test -n "$lib_nssutil"; then
+ libdirs="$libdirs -lnssutil${major_version}"
+ fi
+ if test -n "$lib_smime"; then
+ libdirs="$libdirs -lsmime${major_version}"
+ fi
+ if test -n "$lib_ssl"; then
+ libdirs="$libdirs -lssl${major_version}"
+ fi
+ if test -n "$lib_softokn"; then
+ libdirs="$libdirs -lsoftokn${major_version}"
+ fi
+ echo $libdirs
+fi
+
diff -Nur nss-3.88.1.orig/nss/config/nss.pc.in nss-3.88.1/nss/config/nss.pc.in
--- nss-3.88.1.orig/nss/config/nss.pc.in 1969-12-31 16:00:00.000000000 -0800
+++ nss-3.88.1/nss/config/nss.pc.in 2023-05-02 05:46:56.490097769 -0700
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: NSS
+Description: Network Security Services
+Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
+Requires: nspr >= @NSS_NSPR_MINIMUM@
+Libs: -L@libdir@ -lnss@NSS_MAJOR_VERSION@ -lnssutil@NSS_MAJOR_VERSION@ -lsmime@NSS_MAJOR_VERSION@ -lssl@NSS_MAJOR_VERSION@ -lsoftokn@NSS_MAJOR_VERSION@
+Cflags: -I${includedir}
+
diff -Nur nss-3.88.1.orig/nss/manifest.mn nss-3.88.1/nss/manifest.mn
--- nss-3.88.1.orig/nss/manifest.mn 2023-02-09 13:09:20.000000000 -0800
+++ nss-3.88.1/nss/manifest.mn 2023-05-02 05:46:56.491097769 -0700
@@ -10,7 +10,7 @@
RELEASE = nss
-DIRS = coreconf lib cmd cpputil gtests
+DIRS = coreconf lib cmd cpputil gtests config
HAVE_ALL_TARGET := 1
diff -Nur nss-3.88.1.orig/nss/manifest.mn.orig nss-3.88.1/nss/manifest.mn.orig
--- nss-3.88.1.orig/nss/manifest.mn.orig 1969-12-31 16:00:00.000000000 -0800
+++ nss-3.88.1/nss/manifest.mn.orig 2023-02-09 13:09:20.000000000 -0800
@@ -0,0 +1,32 @@
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+CORE_DEPTH = .
+DEPTH = .
+
+IMPORTS = nspr20/v4.8 \
+ $(NULL)
+
+RELEASE = nss
+
+DIRS = coreconf lib cmd cpputil gtests
+
+HAVE_ALL_TARGET := 1
+
+#
+# make sure all is the first (default) target
+#
+all: prepare_build
+ $(MAKE) libs
+
+prepare_build:
+ # no real way to encode these in any sensible way
+ $(MAKE) -C coreconf/nsinstall program
+ $(MAKE) export
+
+lib: coreconf
+cmd: lib
+cpputil: lib
+gtests: cmd cpputil
+

89
SPECS/nspr.spec Normal file
View File

@ -0,0 +1,89 @@
%if 0%{!?__sed:1} == 1
%global __sed %{_bindir}/sed
%endif
Name: nspr
Version: 4.35
Release: %{?repo}0.rc1%{?dist}
Summary: API for system level and libc-like functions
Group: System Environment/Libraries
License: MPL-2.0
URL: https://firefox-source-docs.mozilla.org/nspr/index.html
Source0: https://archive.mozilla.org/pub/nspr/releases/v%{version}/src/nspr-%{version}.tar.gz
BuildRequires: %__sed
#Requires:
%description
Netscape Portable Runtime (NSPR) provides a platform-neutral API for
system level and libc-like functions. The API is used in the Mozilla
clients, many of Red Hat's and Oracle's server applications, and other
software offerings.
%package devel
Group: Development/Libraries
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
%description devel
This package contains the developer files needed to compile software
that links against the nspr libraries.
%prep
%setup -q
cd nspr
%__sed -ri '/^RELEASE/s/^/#/' pr/src/misc/Makefile.in
%__sed -i 's#$(LIBRARY) ##' config/rules.mk
%build
cd nspr
%configure --prefix=%{_prefix} \
--includedir=%{_includedir}/nspr \
--with-mozilla \
%if "%{_arch}" == "x86_64"
--with-pthreads --enable-64bit
%else
--with-pthreads
%endif
make %{?_smp_mflags}
%install
cd nspr
make install DESTDIR=%{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%attr(0755,root,root) %{_libdir}/libnspr4.so
%attr(0755,root,root) %{_libdir}/libplc4.so
%attr(0755,root,root) %{_libdir}/libplds4.so
%license nspr/LICENSE
%doc nspr/LICENSE
%files devel
%defattr(-,root,root,-)
%attr(0755,root,root) %{_bindir}/nspr-config
%dir %{_includedir}/nspr
%attr(0644,root,root) %{_includedir}/nspr/*.h
%dir %{_includedir}/nspr/md
%attr(0644,root,root) %{_includedir}/nspr/md/*.cfg
%dir %{_includedir}/nspr/obsolete
%attr(0644,root,root) %{_includedir}/nspr/obsolete/*.h
%dir %{_includedir}/nspr/private
%attr(0644,root,root) %{_includedir}/nspr/private/*.h
%attr(0644,root,root) %{_libdir}/pkgconfig/nspr.pc
%attr(0644,root,root) %{_datadir}/aclocal/nspr.m4
%license nspr/LICENSE
%doc nspr/LICENSE
%changelog
* Tue May 2 2023 Michael A. Peters <anymouseprophet@gmail.com> - 4.35-0.rc1
- Initial spec file for YJL (RPM bootstrapping LFS/BLFS 11.3)

129
SPECS/nss.spec Normal file
View File

@ -0,0 +1,129 @@
%global sdirv 3_88_1
%if 0%{!?__chmod:1} == 1
%global __chmod %{_bindir}/chmod
%endif
Name: nss
Version: 3.88.1
Release: %{?repo}0.rc1%{?dist}
Summary: security-enabled client and server libraries
Group: System Environment/Libraries
License: MPL-2.0
URL: https://firefox-source-docs.mozilla.org/security/nss/index.html
Source0: https://archive.mozilla.org/pub/security/nss/releases/NSS_%{sdirv}_RTM/src/nss-3.88.1.tar.gz
#Patch0: https://www.linuxfromscratch.org/patches/blfs/11.3/nss-3.88.1-standalone-1.patch
Patch0: nss-3.88.1-standalone-rpm.patch
# gyp ??
#BuildRequires: ninja
BuildRequires: nspr-devel
BuildRequires: sqlite3-devel
BuildRequires: zlib-devel
BuildRequires: %__chmod
Requires: p11-kit
%description
Network Security Services (NSS) is a set of libraries designed to
support cross-platform development of security-enabled client and server
applications. Applications built with NSS can support SSL v3, TLS,
PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates,
and other security standards.
%package devel
Group: Development/Libraries
Summary: Development files for nss
Requires: %{name} = %{version}-%{release}
%description devel
This package contains the developer files needed to compile software
that uses the nss libraries.
%package utils
Group: System Environment/Utilities
Summary: NSS utilities
Requires: %{name} = %{version}-%{release}
%description utils
This package contains the NSS certutil and pk12util utilities.
%prep
%setup -q
%patch 0 -p1
%build
cd nss
make %{?_smp_mflags} BUILD_OPT=1 \
NSPR_INCLUDE_DIR=%{_includedir}/nspr \
USE_SYSTEM_ZLIB=1 \
ZLIB_LIBS=-lz \
NSS_ENABLE_WERROR=0 \
%if "%{_arch}" == "x86_64"
USE_64=1 \
%endif
%if 0%{!?runtests:1} == 1
NSS_DISABLE_GTESTS=1 \
%endif
NSS_USE_SYSTEM_SQLITE=1
%check
%if 0%{?runtests:1} == 1
cd nss/tests
HOST=localhost DOMSUF=localdomain ./all.sh ||:
%endif
# results at ../../test_results/security/localhost.1/results.html
%install
cd dist
install -d -m755 %{buildroot}%{_bindir}
install -d -m755 %{buildroot}%{_libdir}/pkgconfig
install -d -m755 %{buildroot}%{_includedir}/nss
install -m755 Linux*/lib/*.so %{buildroot}%{_libdir}
# below provided by make-ca
rm -f %{buildroot}%{_libdir}/libnssckbi.so
install -m644 Linux*/lib/{*.chk,libcrmf.a} %{buildroot}%{_libdir}
cp -RL {public,private}/nss/* %{buildroot}%{_includedir}/nss
%__chmod 644 %{buildroot}%{_includedir}/nss/*
install -m755 Linux*/bin/{certutil,nss-config,pk12util} \
%{buildroot}%{_bindir}
install -m644 Linux*/lib/pkgconfig/nss.pc %{buildroot}%{_libdir}/pkgconfig
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%attr(0755,root,root) %{_libdir}/*.so
# these might actually belong in devel ???
%attr(0644,root,root) %{_libdir}/*.chk
%license nss/COPYING nss/trademarks.txt
%doc nss/COPYING nss/trademarks.txt nss/readme.md
%if 0%{?runtests:1} == 1
%doc tests_results/security/localhost.1/results.html
%endif
%files devel
%defattr(-,root,root,-)
%attr(0755,root,root) %{_bindir}/nss-config
%dir %{_includedir}/nss
%attr(0644,root,root) %{_includedir}/nss/*.h
%attr(0644,root,root) %{_includedir}/nss/nssck.api
%attr(0644,root,root) %{_includedir}/nss/templates.c
%attr(0644,root,root) %{_libdir}/libcrmf.a
%{_libdir}/pkgconfig/nss.pc
%license nss/COPYING nss/trademarks.txt
%doc nss/COPYING nss/trademarks.txt nss/readme.md
%files utils
%defattr(-,root,root,-)
%attr(0755,root,root) %{_bindir}/certutil
%attr(0755,root,root) %{_bindir}/pk12util
%license nss/COPYING nss/trademarks.txt
%doc nss/COPYING nss/trademarks.txt nss/readme.md
%changelog