From 47e076b46187d656d5ce017e78409c9868092fd4 Mon Sep 17 00:00:00 2001 From: Zeckmathederg Date: Sat, 12 Oct 2024 04:12:24 -0600 Subject: [PATCH] NSS: Add Possible Parameters. Part of issue #19. I also changes the possible parameters to be options instead in the XML to be more readable. --- introduction/welcome/changelog.xml | 9 +- shareddeps/net/libtasn1.xml | 44 ++++----- shareddeps/net/nspr.xml | 26 ++--- shareddeps/net/nss.xml | 148 ++++++++++++++++++++--------- template/template.xml | 2 +- 5 files changed, 149 insertions(+), 80 deletions(-) diff --git a/introduction/welcome/changelog.xml b/introduction/welcome/changelog.xml index 48872d02a0..7c0d8d2510 100644 --- a/introduction/welcome/changelog.xml +++ b/introduction/welcome/changelog.xml @@ -42,6 +42,13 @@ October 12th, 2024 + + + [Zeckmathederg] - NSS: Add Possible Parameters. Part of issue + #19. + + + [Zeckmathederg] - Adjusted book info. @@ -55,7 +62,7 @@ October 11th, 2024 - + [Zeckmathederg] - NSPR: Add Possible Parameters. Part of issue #19. diff --git a/shareddeps/net/libtasn1.xml b/shareddeps/net/libtasn1.xml index 092cce915a..51a98a1435 100644 --- a/shareddeps/net/libtasn1.xml +++ b/shareddeps/net/libtasn1.xml @@ -66,7 +66,7 @@ make make install - If you did not pass the parameter + If you did not pass the option to the configure script, you can install the API documentation using the following command as the root user: @@ -113,105 +113,105 @@ ldconfig Possible Parameters - --{en,dis}able-silent-rules: This option changes + : This option changes verbosity in the build output. - --{en,dis}able-dependency-tracking: This option + : This option changes whether to accept slow dependency extractors. - --disable-largefile: This option disables support + : This option disables support for large files. - --disable-year2038: This option disables support + : This option disables support for timestamps beyond the year 2038. - --disable-doc: This option disables building + : This option disables building documentation. - --{en,dis}able-shared: This option toggles + : This option toggles building shared libraries (enabled by default). - --{en,dis}able-static: This option toggles + : This option toggles building static libraries (enabled by default). - --enable-fast-install: This option optimizes for + : This option optimizes for a faster installation (enabled by default). - --disable-libtool-lock: This option avoids + : This option avoids locking which can break building this package with multiple jobs. - --enable-gtk-doc: This option enables the use of + : This option enables the use of gtk-doc to build documentation (it is broken and disabled by default). - --enable-gtk-doc-html: This option builds HTML + : This option builds HTML documentation (enabled by default). - --enable-gtk-doc-pdf: Same as - --enable-gtk-doc-html but builds as a PDF (disabled by + : Same as but builds as a PDF (disabled by default). - --enable-cross-guesses={conservative,risky}: This + : This option changes the policy for cross-compilation guesses. It is recommended to leave this alone unless you know what you're doing. - --enable-ld-version-script: This option enables + : This option enables the linker version script (enabled by default if available). - --disable-valgrind-tests: This option disables + : This option disables running tests with Valgrind. - --enable-code-coverage: This option enables + : This option enables code coverage support. - --disable-gcc-warnings: This option disables GCC + : This option disables GCC warnings. - --enable-fuzzing: This option turns on fuzzing + : This option turns on fuzzing for the building process. - --with-aix-soname={aix,svr4,both}: This option + : This option changes the soname variant (default is aix). - --with-gnu-ld: This option assumes that the C + : This option assumes that the C compiler uses GNU ld (disabled by default but will be automatically detected). diff --git a/shareddeps/net/nspr.xml b/shareddeps/net/nspr.xml index aefaa2bf61..b6a421c4bd 100644 --- a/shareddeps/net/nspr.xml +++ b/shareddeps/net/nspr.xml @@ -113,67 +113,67 @@ ldconfig Possible Parameters - --disable-option-checking: This parameter ignores + : This parameter ignores incorrect parameters. - --enable-x32: This parameter enables x32-bit + : This parameter enables x32-bit support, not to be confused with 32-bit. Meant for 64-bit systems. - --enable-64bit: This parameter enables 64-bit + : This parameter enables 64-bit support, meant for and needed by 64-bit systems. - --enable-mdupdate: This parameter enables some + : This parameter enables some compilers' mdupdate feature. - --enable-cplus: This parameter enables some of + : This parameter enables some of the C++ API routines. - --enable-strip: This parameter enables stripping + : This parameter enables stripping the built libraries and programs of debug symbols. - --enable-user-pthreads: This parameter enables + : This parameter enables the use of pthreads. - --enable-nspr-threads: This parameter enables + : This parameter enables building the classic NSPR threads. - --enable-ipv6: This parameter enables building in + : This parameter enables building in ipv6 support. - --enable-wrap-malloc: This parameter enables + : This parameter enables wrapping malloc calls (meant to be used when linking via the GNU linker). - --with-mozilla: This option enables building with + : This option enables building with Mozilla support. - --with-ccache=<PATH>: + : This parameter enables compiling with ccache. - --with-pthreads: This parameter uses the system + : This parameter uses the system pthreads library. diff --git a/shareddeps/net/nss.xml b/shareddeps/net/nss.xml index eedd665b6c..d8731af402 100644 --- a/shareddeps/net/nss.xml +++ b/shareddeps/net/nss.xml @@ -113,7 +113,7 @@ make BUILD_OPT=1 \ ZLIB_LIBS=-lz \ NSS_ENABLE_WERROR=0 \ $([ $(uname -m) = x86_64 ] && echo USE_64=1) \ - $([ -f /usr/include/sqlite3.h ] && echo NSS_USE_SYSTEM_SQLITE=1) + $([ -f /usr/lib/libsqlite3.so ] && echo NSS_USE_SYSTEM_SQLITE=1) @@ -202,6 +202,104 @@ install -v -m644 Linux*/lib/pkgconfig/nss.pc /usr/lib/pkgconfig + + 32-bit Installation of NSS + + + Cleaning the directory doesn't work with NSS, so you will need to delete + the extracted folder from the tarball, extract it again, apply the patch + again as detailed in the normal installation, then change directory into + nss. + + + + Install lib32-NSS by running the following commands: + + +CC="gcc -m32" CXX="g++ -m32" \ +make BUILD_OPT=1 \ + NSPR_INCLUDE_DIR=/usr/include/nspr \ + USE_SYSTEM_ZLIB=1 \ + ZLIB_LIBS=-lz \ + NSS_ENABLE_WERROR=0 \ +$([ -f /usr/lib32/libsqlite3.so ] && echo NSS_USE_SYSTEM_SQLITE=1) + + + Now, as the root user: + + +cd ../dist && + +install -v -m755 Linux*/lib/*.so /usr/lib32 && +install -v -m644 Linux*/lib/{*.chk,libcrmf.a} /usr/lib32 && +sed -i 's/lib/lib32/g' Linux*/lib/pkgconfig/nss.pc && +install -v -m644 Linux*/lib/pkgconfig/nss.pc /usr/lib32/pkgconfig + + + + + Possible Parameter + + + + If a parameter has the option to be set as and + , means false and + means true. + + + + + : This parameter changes if + the NSS test suite will be built (0 by default). + + + + : This parameter changes whether debug + symbols will be built in (0 by default). + + + + : This parameter changes if the binaries + will be built in the x32 ABI, not be confused with 32-bit. Meant for + 64-bit systems (0 by default). + + + + : This parameter changes if the binaries + will be built in the 64-bit ABI. Meant for 64-bit systems (0 by default + but will be detected). + + + + : This parameter changes if the debug + Register Transfer Level will be built in (0 by default). + + + + : This parameter changes if the + Register Transfer Level will be built statically (0 by default). + + + + : This parameter changes if GCC will be + used (0 by default but will be detected). + + + + : This parameter changes + if basic NSPR tests will be built (0 by default). + + + + + There are many more parameters that can be set, all of which can be + viewed in the many various files in + nss-&nss-version;/nss/coreconf/. + + + + + Command Explanations @@ -239,7 +337,12 @@ install -v -m644 Linux*/lib/pkgconfig/nss.pc /usr/lib/pkgconfig - ([ -f /usr/include/sqlite3.h ] && echo + NSS_ENABLE_WERROR=0: This option disables + -Werror (warnings being counted as errors). + + + + $([ -f /usr/lib{,32}/libsqlite3.so ] && echo NSS_USE_SYSTEM_SQLITE=1): This tests if sqlite is installed and if so it echos the option NSS_USE_SYSTEM_SQLITE=1 to @@ -248,47 +351,6 @@ install -v -m644 Linux*/lib/pkgconfig/nss.pc /usr/lib/pkgconfig - - : If you don't need to run - NSS test suite, append this option to make command, - to prevent the compilation of tests and save some build time. - - - - - - 32-bit Installation of NSS - - - Cleaning the directory doesn't work with NSS, so you will need to delete - the extracted folder from the tarball, extract it again, apply the patch - again as detailed in the normal installation, then change directory into - nss. - - - - Install lib32-NSS by running the following commands: - - -CC="gcc -m32" CXX="g++ -m32" \ -make BUILD_OPT=1 \ - NSPR_INCLUDE_DIR=/usr/include/nspr \ - USE_SYSTEM_ZLIB=1 \ - ZLIB_LIBS=-lz \ - NSS_ENABLE_WERROR=0 \ -$([ -f /usr/lib32/libsqlite3.so ] && echo NSS_USE_SYSTEM_SQLITE=1) - - - Now, as the root user: - - -cd ../dist && - -install -v -m755 Linux*/lib/*.so /usr/lib32 && -install -v -m644 Linux*/lib/{*.chk,libcrmf.a} /usr/lib32 && -sed -i 's/lib/lib32/g' Linux*/lib/pkgconfig/nss.pc && -install -v -m644 Linux*/lib/pkgconfig/nss.pc /usr/lib32/pkgconfig - diff --git a/template/template.xml b/template/template.xml index 4cb2ab1328..4ea0ebfade 100644 --- a/template/template.xml +++ b/template/template.xml @@ -218,7 +218,7 @@ mv doc/* /usr/share/doc/template-&template-version; Possible Parameters - --PARAMETER: This parameter is optional and may be + : This parameter is optional and may be something the reader will want to set.