Skip to content

system/passwdqc: Updated for version 2.1.0.#14646

Closed
pyllyukko wants to merge 1 commit intoSlackBuildsOrg:masterfrom
pyllyukko:passwdqc-2.1.0
Closed

system/passwdqc: Updated for version 2.1.0.#14646
pyllyukko wants to merge 1 commit intoSlackBuildsOrg:masterfrom
pyllyukko:passwdqc-2.1.0

Conversation

@pyllyukko
Copy link
Contributor

No description provided.

@github-actions
Copy link

github-actions bot commented Mar 5, 2026

reverse dependencies - system/passwdqc

None

@github-actions
Copy link

github-actions bot commented Mar 5, 2026

✅ sbolint - system/passwdqc ✅

passwdqc: NOTE: passwdqc.SlackBuild:42: SLKCFLAGS gets set, but never used.
sbolint: passwdqc checks out OK

@willysr
Copy link
Member

willysr commented Mar 5, 2026

@sbo-bot: build system/passwdqc

@sbo-bot
Copy link

sbo-bot bot commented Mar 5, 2026

buildpkg i586 system/passwdqc

Creating hintfile directory: /etc/repo/SBo/hintfiles
Checking whether git is clean ... yes.
Indexing SlackBuilds ... done.
git repo: /var/lib/repo/SBo/slackbuilds
branch:   HEAD
date:     Thu Mar  5 14:44:18 GMT 2026
revision: 5e6e32f9023001b678d4d5f9afcaa73aea8aa9a1
title:    Merge 4b9f01347c0e698b080e96b8789fe44e216e40ba into 8dbaaae14f44159c6e851c124993fd06c4ea4c3f

================================================================================
system/passwdqc                                                         18:27:41
================================================================================

Calculating dependencies ... none.

Building system/passwdqc (update for version 2.1.0) ------------------- 18:27:41
Testing SlackBuild files ... done.
Downloading source files ...
Verifying source files ... done.
Running passwdqc.SlackBuild ...                                     ETA 18:28:??
env MAKEFLAGS='-j24 -l13' nice -n 5 bash ./passwdqc.SlackBuild
Built ok:  passwdqc-2.1.0-i586-1_SBo.txz                                18:27:45
Testing package passwdqc-2.1.0-i586-1_SBo.txz ... done.
Test installing passwdqc-2.1.0-i586-1_SBo.txz ...
passwdqc-2.1.0-i586-1_SBo: password/passphrase strength checking and enf [ 430K]
Unmounting chroot ... done.
Backed up: passwdqc-2.0.3-i586-1_SBo.txz
✅ system/passwdqc Updated for version 2.1.0 ✅

================================================================================
SUMMARY                                                                 18:27:46
================================================================================

Logfile:     /var/log/repo/SBo/repo_2026-03-05_18:27:41.log
Runtime:     0h 0m 6s
Updated:     1
  system/passwdqc/passwdqc-2.1.0-i586-1_SBo.txz

Snipped Build Log

Details
Building system/passwdqc (update for version 2.1.0) 2026-03-05 18:27:41
Testing SlackBuild files ... 
Downloading source files ...
Verifying source files ... 
Running passwdqc.SlackBuild ...                                     ETA 18:28:??
env MAKEFLAGS='-j24 -l13' nice -n 5 bash ./passwdqc.SlackBuild
passwdqc-2.1.0/
passwdqc-2.1.0/CHANGES
passwdqc-2.1.0/INSTALL
passwdqc-2.1.0/INTERNALS
passwdqc-2.1.0/LICENSE
passwdqc-2.1.0/Makefile
passwdqc-2.1.0/PLATFORMS
passwdqc-2.1.0/README
passwdqc-2.1.0/concat.c
passwdqc-2.1.0/concat.h
passwdqc-2.1.0/libpasswdqc.3
passwdqc-2.1.0/libpasswdqc.map
passwdqc-2.1.0/md4.c
passwdqc-2.1.0/md4.h
passwdqc-2.1.0/pam_macros.h
passwdqc-2.1.0/pam_passwdqc.8
passwdqc-2.1.0/pam_passwdqc.c
passwdqc-2.1.0/pam_passwdqc.map
passwdqc-2.1.0/passwdqc.conf
passwdqc-2.1.0/passwdqc.conf.5
passwdqc-2.1.0/passwdqc.h
passwdqc-2.1.0/passwdqc.pc.in
passwdqc-2.1.0/passwdqc.spec
passwdqc-2.1.0/passwdqc_check.3
passwdqc-2.1.0/passwdqc_check.c
passwdqc-2.1.0/passwdqc_filter.c
passwdqc-2.1.0/passwdqc_filter.h
passwdqc-2.1.0/passwdqc_i18n.h
passwdqc-2.1.0/passwdqc_load.c
passwdqc-2.1.0/passwdqc_memzero.c
passwdqc-2.1.0/passwdqc_params_free.3
passwdqc-2.1.0/passwdqc_params_load.3
passwdqc-2.1.0/passwdqc_params_parse.3
passwdqc-2.1.0/passwdqc_params_reset.3
passwdqc-2.1.0/passwdqc_parse.c
passwdqc-2.1.0/passwdqc_random.3
passwdqc-2.1.0/passwdqc_random.c
passwdqc-2.1.0/po/
passwdqc-2.1.0/po/fi.po
passwdqc-2.1.0/po/ru.po
passwdqc-2.1.0/pwqcheck.1
passwdqc-2.1.0/pwqcheck.c
passwdqc-2.1.0/pwqcheck.php
passwdqc-2.1.0/pwqfilter.1
passwdqc-2.1.0/pwqfilter.c
passwdqc-2.1.0/pwqgen.1
passwdqc-2.1.0/pwqgen.c
passwdqc-2.1.0/tests/
passwdqc-2.1.0/tests/test-pwqcheck-basic.sh
passwdqc-2.1.0/tests/test-pwqcheck-length.sh
passwdqc-2.1.0/tests/test-pwqcheck-multi.sh
passwdqc-2.1.0/tests/test-pwqcheck-similarity.sh
passwdqc-2.1.0/tests/test-pwqfilter-mode.sh
passwdqc-2.1.0/tests/test-pwqgen.sh
passwdqc-2.1.0/wordlist.c
passwdqc-2.1.0/wordlist.h
passwdqc-2.1.0/wordlist.sh
passwdqc-2.1.0/wordset_4k.c
passwdqc-2.1.0/wordset_4k.h
case "`uname -s`" in \
Linux)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		CFLAGS_bin="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer" \
		CFLAGS_lib="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC" \
		LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer " \
		LDFLAGS_lib="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--soname,libpasswdqc.so.1,--version-script,libpasswdqc.map" \
		LDFLAGS_pam="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--version-script,pam_passwdqc.map" \
		LDLIBS_pam="-lpam -lcrypt" \
		all_wrapped;; \
SunOS)	make -e CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=/usr/ccs/bin/ld \
		LDFLAGS_lib=" -G" \
		LDFLAGS_pam=" -G" \
		LDLIBS_pam="-lpam -lcrypt" \
		INSTALL="/usr/ucb/install -c" \
		SHARED_LIBDIR="/usr/lib" \
		SECUREDIR="/usr/lib/security" \
		all_wrapped;; \
HP-UX)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=ld \
		LDFLAGS_lib=" -b" \
		LDFLAGS_pam=" -b" \
		LDLIBS_pam="-lpam -lsec" \
		all_wrapped;; \
Darwin)	make \
		SHARED_LIB="libpasswdqc.0.dylib" \
		DEVEL_LIB="libpasswdqc.dylib" \
		SECUREDIR="/usr/lib/pam" \
		LDLIBS_pam="-lpam -lSystem" \
		all_wrapped;; \
CYGWIN_NT*) make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\"" \
		SHARED_LIB="cygpasswdqc-0.dll" \
		SHARED_LIBDIR="/usr/bin" \
		DEVEL_LIB="libpasswdqc.dll.a" \
		LDFLAGS_lib=" --shared -Wl,--out-implib=libpasswdqc.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import" \
		BINS="pwqgen pwqcheck pwqfilter cygpasswdqc-0.dll" \
		CYGWIN=true \
		all_wrapped;; \
*)	make all_wrapped;; \
esac
make[1]: Entering directory '/tmp/SBo/repo.uT3Z8r/build_passwdqc/passwdqc-2.1.0'
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c pam_passwdqc.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_memzero.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c concat.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c md4.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_check.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_filter.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_load.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_parse.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_random.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c wordset_4k.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c wordlist.c
gcc  -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer -c pwqgen.c
gcc  -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer -c pwqcheck.c
gcc  -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer -c pwqfilter.c
sed -e "s|@VERSION@|2.1.0|g" passwdqc.pc.in > passwdqc.pc
gcc -Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--soname,libpasswdqc.so.1,--version-script,libpasswdqc.map concat.o md4.o passwdqc_check.o passwdqc_filter.o passwdqc_load.o passwdqc_memzero.o passwdqc_parse.o passwdqc_random.o wordset_4k.o wordlist.o  -o libpasswdqc.so.1
if [ "" != true ]; then \
	ln -s -f libpasswdqc.so.1 libpasswdqc.so; \
fi
gcc -Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--version-script,pam_passwdqc.map pam_passwdqc.o passwdqc_memzero.o -lpam -lcrypt -L. -lpasswdqc -o pam_passwdqc.so
gcc -Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer  pwqgen.o passwdqc_memzero.o -L. -lpasswdqc -o pwqgen
gcc -Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer  pwqcheck.o passwdqc_memzero.o -L. -lpasswdqc -o pwqcheck
gcc -Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer  pwqfilter.o md4.o -o pwqfilter
make[1]: Leaving directory '/tmp/SBo/repo.uT3Z8r/build_passwdqc/passwdqc-2.1.0'
case "`uname -s`" in \
Linux)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		CFLAGS_bin="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer" \
		CFLAGS_lib="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC" \
		LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer " \
		LDFLAGS_lib="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--soname,libpasswdqc.so.1,--version-script,libpasswdqc.map" \
		LDFLAGS_pam="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--version-script,pam_passwdqc.map" \
		LDLIBS_pam="-lpam -lcrypt" \
		all_wrapped;; \
SunOS)	make -e CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=/usr/ccs/bin/ld \
		LDFLAGS_lib=" -G" \
		LDFLAGS_pam=" -G" \
		LDLIBS_pam="-lpam -lcrypt" \
		INSTALL="/usr/ucb/install -c" \
		SHARED_LIBDIR="/usr/lib" \
		SECUREDIR="/usr/lib/security" \
		all_wrapped;; \
HP-UX)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=ld \
		LDFLAGS_lib=" -b" \
		LDFLAGS_pam=" -b" \
		LDLIBS_pam="-lpam -lsec" \
		all_wrapped;; \
Darwin)	make \
		SHARED_LIB="libpasswdqc.0.dylib" \
		DEVEL_LIB="libpasswdqc.dylib" \
		SECUREDIR="/usr/lib/pam" \
		LDLIBS_pam="-lpam -lSystem" \
		all_wrapped;; \
CYGWIN_NT*) make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\"" \
		SHARED_LIB="cygpasswdqc-0.dll" \
		SHARED_LIBDIR="/usr/bin" \
		DEVEL_LIB="libpasswdqc.dll.a" \
		LDFLAGS_lib=" --shared -Wl,--out-implib=libpasswdqc.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import" \
		BINS="pwqgen pwqcheck pwqfilter cygpasswdqc-0.dll" \
		CYGWIN=true \
		all_wrapped;; \
*)	make all_wrapped;; \
esac
make[1]: Entering directory '/tmp/SBo/repo.uT3Z8r/build_passwdqc/passwdqc-2.1.0'
make[1]: Nothing to be done for 'all_wrapped'.
make[1]: Leaving directory '/tmp/SBo/repo.uT3Z8r/build_passwdqc/passwdqc-2.1.0'
Running tests...
Executing tests/test-pwqcheck-basic.sh...
Running Basic Password Validation Tests...

Testing Strong Passwords:
Standard strong password                PASS
Complex password                        PASS
Long passphrase                         PASS
Strong password with year               PASS

Testing Weak Patterns:
Common password with numbers            PASS
Keyboard pattern                        PASS
Common admin password                   PASS
Common weak password                    PASS

Testing Mixed Complexity:
Mixed case with symbols and numbers     PASS
Strong with multiple special chars      PASS
Complex-looking, but based on one word  PASS

Testing Edge Cases:
Single space                            PASS
Empty password                          PASS
Very long password                      PASS
Max length password                     PASS
Max length exceed password              PASS
A minimal passphrase                    PASS
Passphrase with leetspeak in a word     PASS

Basic password validation tests completed

Executing tests/test-pwqcheck-length.sh...
Password Length Tests

Short password                          PASS
Long complex password                   PASS
Password with relaxed mins              PASS
Single character password               PASS
Simple but long password                PASS
Complex password                        PASS
Exactly minimum length                  PASS
Below minimum length                    PASS
Testing complexity classes...
N0: 36-char 1-class random              PASS
N0: 36-char 1-class word-based          PASS
N1: 24-char 2-class random              PASS
N1: 24-char effectively 1-class random  PASS
N2: 11-char 3-word passphrase           PASS
N2: 11-char 2-word non-passphrase       PASS
N3: 8-char barely complex               PASS
N3: 8-char insufficiently complex       PASS
N4: 7-char highly complex               PASS
N4: 7-char insufficiently complex       PASS

Password length tests completed

Executing tests/test-pwqcheck-multi.sh...
Running Multiple Password Tests...
Mixed Passwords                         PASS
All Valid Passwords                     PASS
All Invalid Passwords                   PASS
Special Cases                           PASS
Custom Parameters                       PASS

Multiple password tests completed

Executing tests/test-pwqcheck-similarity.sh...
Running pwqcheck similarity tests with similar=deny...
Identical passwords rejected            PASS
Case variations rejected                PASS
Common number substitutions rejected    PASS
Different passwords accepted            PASS

Running pwqcheck similarity tests with similar=permit...
Identical passwords accepted            PASS
Case variations accepted                PASS
Common number substitutions accepted    PASS
Different passwords accepted            PASS

pwqcheck similarity tests completed

Executing tests/test-pwqfilter-mode.sh...
Running pwqfilter Tests...

Testing Basic Mode Options:
Create filter with --create             PASS
Check filter status with --status       PASS
Look up passwords with implied --lookup PASS
Look up nonexistent passwords           PASS
Insert entries with --insert            PASS

Testing Specific Lookup Functionality:
Create filter for lookup testing        PASS
Password in filter found                PASS
Password in filter found                PASS
Password in filter found                PASS
Password not in filter not found        PASS
Password not in filter not found        PASS

Testing Combined Operations:
Invalid combination: create + insert    PASS

pwqfilter mode options tests completed

Executing tests/test-pwqgen.sh...
Running Basic Password Generation Tests...

Testing Basic Password Generation:
Default password generation             PASS
64-bit random password                  PASS
128-bit random password                 PASS

Testing Password Uniqueness:
Default password uniqueness             PASS
64-bit random password uniqueness       PASS
128-bit random password uniqueness      PASS

Testing Invalid Parameters:
Negative random bits                    PASS
Zero random bits                        PASS
Excessive random bits                   PASS
Invalid random value                    PASS
Non-numeric random bits                 PASS
Empty random value                      PASS
Decimal random bits                     PASS

Testing Multiple Parameters:
Multiple valid parameters               PASS
Valid and invalid parameters            PASS

Password uniqueness                     PASS

Testing config files:
Valid configuration file                PASS
Invalid configuration file              PASS
Empty configuration file                PASS

Contains various character classes      PASS

pwqgen tests completed

Tests completed!
case "`uname -s`" in \
Linux)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		CFLAGS_bin="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer" \
		CFLAGS_lib="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC" \
		LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer " \
		LDFLAGS_lib="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--soname,libpasswdqc.so.1,--version-script,libpasswdqc.map" \
		LDFLAGS_pam="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--version-script,pam_passwdqc.map" \
		LDLIBS_pam="-lpam -lcrypt" \
		install_wrapped;; \
SunOS)	make -e CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=/usr/ccs/bin/ld \
		LDFLAGS_lib=" -G" \
		LDFLAGS_pam=" -G" \
		LDLIBS_pam="-lpam -lcrypt" \
		INSTALL="/usr/ucb/install -c" \
		SHARED_LIBDIR="/usr/lib" \
		SECUREDIR="/usr/lib/security" \
		install_wrapped;; \
HP-UX)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=ld \
		LDFLAGS_lib=" -b" \
		LDFLAGS_pam=" -b" \
		LDLIBS_pam="-lpam -lsec" \
		install_wrapped;; \
Darwin)	make \
		SHARED_LIB="libpasswdqc.0.dylib" \
		DEVEL_LIB="libpasswdqc.dylib" \
		SECUREDIR="/usr/lib/pam" \
		LDLIBS_pam="-lpam -lSystem" \
		install_wrapped;; \
CYGWIN_NT*) make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\"" \
		SHARED_LIB="cygpasswdqc-0.dll" \
		SHARED_LIBDIR="/usr/bin" \
		DEVEL_LIB="libpasswdqc.dll.a" \
		LDFLAGS_lib=" --shared -Wl,--out-implib=libpasswdqc.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import" \
		BINS="pwqgen pwqcheck pwqfilter cygpasswdqc-0.dll" \
		CYGWIN=true \
		install_wrapped;; \
*)	make install_wrapped;; \
esac
make[1]: Entering directory '/tmp/SBo/repo.uT3Z8r/build_passwdqc/passwdqc-2.1.0'
umask 022 && mkdir -p /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/etc
umask 022 && mkdir -p /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/bin
umask 022 && mkdir -p /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/lib/security
install -c -m 644 passwdqc.conf /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/etc/
install -c -m 755 pwqgen pwqcheck pwqfilter /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/bin/
install -c -m 755 pam_passwdqc.so /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/lib/security/
umask 022 && mkdir -p /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/lib
umask 022 && mkdir -p /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/man/man8
umask 022 && mkdir -p /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/man/man1
install -c -m 755 libpasswdqc.so.1 /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/lib/
install -c -m 644 pam_passwdqc.8 /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/man/man8/
umask 022 && mkdir -p /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/lib
install -c -m 644 pwqgen.1 pwqcheck.1 pwqfilter.1 /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/man/man1/
if [ "" != true ]; then \
	ln -s -f ../../usr/lib/libpasswdqc.so.1 \
		/tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/lib/libpasswdqc.so; \
else \
	install -c -m 755 libpasswdqc.so /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/lib/; \
fi
umask 022 && mkdir -p /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/include
install -c -m 644 passwdqc.h /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/include/
umask 022 && mkdir -p /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/lib/pkgconfig
install -c -m 644 passwdqc.pc /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/lib/pkgconfig/
umask 022 && mkdir -p /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/man/man3
install -c -m 644 libpasswdqc.3 passwdqc_params_reset.3 passwdqc_params_load.3 passwdqc_params_parse.3 passwdqc_params_free.3 passwdqc_check.3 passwdqc_random.3 /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/man/man3/
umask 022 && mkdir -p /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/man/man5
install -c -m 644 passwdqc.conf.5 /tmp/SBo/repo.uT3Z8r/build_passwdqc/package-passwdqc/usr/man/man5/
Consider running ldconfig(8) to update the dynamic linker cache.
make[1]: Leaving directory '/tmp/SBo/repo.uT3Z8r/build_passwdqc/passwdqc-2.1.0'

Slackware package maker, version 3.14159265.

Searching for symbolic links:
usr/lib/libpasswdqc.so	../../usr/lib/libpasswdqc.so.1

Making symbolic link creation script:
( cd usr/lib ; rm -rf libpasswdqc.so )
( cd usr/lib ; ln -sf ../../usr/lib/libpasswdqc.so.1 libpasswdqc.so )

Unless your existing installation script already contains the code
to create these links, you should append these lines to your existing
install script. Now's your chance. :^)

Would you like to add this stuff to the existing install script and
remove the symbolic links ([y]es, [n]o)? y


Removing symbolic links:
removed './usr/lib/libpasswdqc.so'

Updating your ./install/doinst.sh...

This next step is optional - you can set the directories in your package
to some sane permissions. If any of the directories in your package have
special permissions, then DO NOT reset them here!

Would you like to reset all directory permissions to 755 (drwxr-xr-x) and
directory ownerships to root.root ([y]es, [n]o)? n


Creating Slackware package:  /tmp/SBo/repo.uT3Z8r/output_passwdqc/passwdqc-2.1.0-i586-1_SBo.txz

./
etc/
etc/passwdqc.conf.new
install/
install/doinst.sh
install/slack-desc
lib/
lib/security/
lib/security/pam_passwdqc.so
usr/
usr/bin/
usr/bin/pwqcheck
usr/bin/pwqfilter
usr/bin/pwqgen
usr/doc/
usr/doc/passwdqc-2.1.0/
usr/doc/passwdqc-2.1.0/CHANGES
usr/doc/passwdqc-2.1.0/INSTALL
usr/doc/passwdqc-2.1.0/INTERNALS
usr/doc/passwdqc-2.1.0/LICENSE
usr/doc/passwdqc-2.1.0/PLATFORMS
usr/doc/passwdqc-2.1.0/README
usr/doc/passwdqc-2.1.0/passwdqc.SlackBuild
usr/include/
usr/include/passwdqc.h
usr/lib/
usr/lib/libpasswdqc.so.1
usr/lib/pkgconfig/
usr/lib/pkgconfig/passwdqc.pc
usr/man/
usr/man/man1/
usr/man/man1/pwqcheck.1.gz
usr/man/man1/pwqfilter.1.gz
usr/man/man1/pwqgen.1.gz
usr/man/man3/
usr/man/man3/libpasswdqc.3.gz
usr/man/man3/passwdqc_check.3.gz
usr/man/man3/passwdqc_params_free.3.gz
usr/man/man3/passwdqc_params_load.3.gz
usr/man/man3/passwdqc_params_parse.3.gz
usr/man/man3/passwdqc_params_reset.3.gz
usr/man/man3/passwdqc_random.3.gz
usr/man/man5/
usr/man/man5/passwdqc.conf.5.gz
usr/man/man8/
usr/man/man8/pam_passwdqc.8.gz

Slackware package /tmp/SBo/repo.uT3Z8r/output_passwdqc/passwdqc-2.1.0-i586-1_SBo.txz created.

Built ok:  passwdqc-2.1.0-i586-1_SBo.txz                                18:27:45
Testing package passwdqc-2.1.0-i586-1_SBo.txz ... 
Test installing passwdqc-2.1.0-i586-1_SBo.txz ...
passwdqc-2.1.0-i586-1_SBo: password/passphrase strength checking and enf [ 430K]
Unmounting chroot ... 
Backed up: passwdqc-2.0.3-i586-1_SBo.txz
:-) system/passwdqc Updated for version 2.1.0 (-:

@sbo-bot
Copy link

sbo-bot bot commented Mar 5, 2026

sbopkglint i586 system/passwdqc

Using tests from /usr/share/sbo-maintainer-tools/sbopkglint.d
Exploding /var/lib/repo/SBo/packages/15.0/i586/system/passwdqc/passwdqc-2.1.0-i586-1_SBo.txz to /tmp/SBo/sbopkglint.Sf7yrD ...OK
Running pre-doinst test...OK
Installing /var/lib/repo/SBo/packages/15.0/i586/system/passwdqc/passwdqc-2.1.0-i586-1_SBo.txz to /tmp/SBo/sbopkglint.Sf7yrD ...OK
Running test: 05-basic-sanity...OK
Running test: 10-docs...
___ note: install instructions found, is this relevant for binary package users?: usr/doc/passwdqc-2.1.0/INSTALL
OK
Running test: 15-noarch...OK
Running test: 20-arch...OK
Running test: 25-lafiles...OK
Running test: 30-manpages...OK
Running test: 35-desktop...OK
Running test: 40-newconfig...OK
Running test: 45-doinst...OK
Running test: 50-icons...OK
Running test: 60-usr_info...OK
Running test: 65-python...OK
Running test: 70-tmp_path...OK
Running test: 75-static_libs...OK
Running test: 85-perl...OK
Running test: 90-terminfo...OK
✅ === passwdqc-2.1.0-i586-1_SBo.txz: All tests passed ✅

@sbo-bot
Copy link

sbo-bot bot commented Mar 5, 2026

buildpkg x86_64 system/passwdqc

Creating hintfile directory: /etc/repo/SBo/hintfiles
Checking whether git is clean ... yes.
Indexing SlackBuilds ... done.
git repo: /var/lib/repo/SBo/slackbuilds
branch:   HEAD
date:     Thu Mar  5 14:44:18 GMT 2026
revision: 5e6e32f9023001b678d4d5f9afcaa73aea8aa9a1
title:    Merge 4b9f01347c0e698b080e96b8789fe44e216e40ba into 8dbaaae14f44159c6e851c124993fd06c4ea4c3f

================================================================================
system/passwdqc                                                         18:28:49
================================================================================

Calculating dependencies ... none.

Building system/passwdqc (update for version 2.1.0) ------------------- 18:28:49
Testing SlackBuild files ... done.
Downloading source files ...
Verifying source files ... done.
Running passwdqc.SlackBuild ...                                     ETA 18:29:??
env MAKEFLAGS='-j24 -l13' nice -n 5 bash ./passwdqc.SlackBuild
Built ok:  passwdqc-2.1.0-x86_64-1_SBo.txz                              18:28:53
Testing package passwdqc-2.1.0-x86_64-1_SBo.txz ... done.
Test installing passwdqc-2.1.0-x86_64-1_SBo.txz ...
passwdqc-2.1.0-x86_64-1_SBo: password/passphrase strength checking and e [ 430K]
Unmounting chroot ... done.
Backed up: passwdqc-2.0.3-x86_64-1_SBo.txz
✅ system/passwdqc Updated for version 2.1.0 ✅

================================================================================
SUMMARY                                                                 18:28:54
================================================================================

Logfile:     /var/log/repo/SBo/repo_2026-03-05_18:28:48.log
Runtime:     0h 0m 6s
Updated:     1
  system/passwdqc/passwdqc-2.1.0-x86_64-1_SBo.txz

Snipped Build Log

Details
Building system/passwdqc (update for version 2.1.0) 2026-03-05 18:28:49
Testing SlackBuild files ... 
Downloading source files ...
Verifying source files ... 
Running passwdqc.SlackBuild ...                                     ETA 18:29:??
env MAKEFLAGS='-j24 -l13' nice -n 5 bash ./passwdqc.SlackBuild
passwdqc-2.1.0/
passwdqc-2.1.0/CHANGES
passwdqc-2.1.0/INSTALL
passwdqc-2.1.0/INTERNALS
passwdqc-2.1.0/LICENSE
passwdqc-2.1.0/Makefile
passwdqc-2.1.0/PLATFORMS
passwdqc-2.1.0/README
passwdqc-2.1.0/concat.c
passwdqc-2.1.0/concat.h
passwdqc-2.1.0/libpasswdqc.3
passwdqc-2.1.0/libpasswdqc.map
passwdqc-2.1.0/md4.c
passwdqc-2.1.0/md4.h
passwdqc-2.1.0/pam_macros.h
passwdqc-2.1.0/pam_passwdqc.8
passwdqc-2.1.0/pam_passwdqc.c
passwdqc-2.1.0/pam_passwdqc.map
passwdqc-2.1.0/passwdqc.conf
passwdqc-2.1.0/passwdqc.conf.5
passwdqc-2.1.0/passwdqc.h
passwdqc-2.1.0/passwdqc.pc.in
passwdqc-2.1.0/passwdqc.spec
passwdqc-2.1.0/passwdqc_check.3
passwdqc-2.1.0/passwdqc_check.c
passwdqc-2.1.0/passwdqc_filter.c
passwdqc-2.1.0/passwdqc_filter.h
passwdqc-2.1.0/passwdqc_i18n.h
passwdqc-2.1.0/passwdqc_load.c
passwdqc-2.1.0/passwdqc_memzero.c
passwdqc-2.1.0/passwdqc_params_free.3
passwdqc-2.1.0/passwdqc_params_load.3
passwdqc-2.1.0/passwdqc_params_parse.3
passwdqc-2.1.0/passwdqc_params_reset.3
passwdqc-2.1.0/passwdqc_parse.c
passwdqc-2.1.0/passwdqc_random.3
passwdqc-2.1.0/passwdqc_random.c
passwdqc-2.1.0/po/
passwdqc-2.1.0/po/fi.po
passwdqc-2.1.0/po/ru.po
passwdqc-2.1.0/pwqcheck.1
passwdqc-2.1.0/pwqcheck.c
passwdqc-2.1.0/pwqcheck.php
passwdqc-2.1.0/pwqfilter.1
passwdqc-2.1.0/pwqfilter.c
passwdqc-2.1.0/pwqgen.1
passwdqc-2.1.0/pwqgen.c
passwdqc-2.1.0/tests/
passwdqc-2.1.0/tests/test-pwqcheck-basic.sh
passwdqc-2.1.0/tests/test-pwqcheck-length.sh
passwdqc-2.1.0/tests/test-pwqcheck-multi.sh
passwdqc-2.1.0/tests/test-pwqcheck-similarity.sh
passwdqc-2.1.0/tests/test-pwqfilter-mode.sh
passwdqc-2.1.0/tests/test-pwqgen.sh
passwdqc-2.1.0/wordlist.c
passwdqc-2.1.0/wordlist.h
passwdqc-2.1.0/wordlist.sh
passwdqc-2.1.0/wordset_4k.c
passwdqc-2.1.0/wordset_4k.h
case "`uname -s`" in \
Linux)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		CFLAGS_bin="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer" \
		CFLAGS_lib="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC" \
		LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer " \
		LDFLAGS_lib="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--soname,libpasswdqc.so.1,--version-script,libpasswdqc.map" \
		LDFLAGS_pam="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--version-script,pam_passwdqc.map" \
		LDLIBS_pam="-lpam -lcrypt" \
		all_wrapped;; \
SunOS)	make -e CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=/usr/ccs/bin/ld \
		LDFLAGS_lib=" -G" \
		LDFLAGS_pam=" -G" \
		LDLIBS_pam="-lpam -lcrypt" \
		INSTALL="/usr/ucb/install -c" \
		SHARED_LIBDIR="/usr/lib" \
		SECUREDIR="/usr/lib/security" \
		all_wrapped;; \
HP-UX)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=ld \
		LDFLAGS_lib=" -b" \
		LDFLAGS_pam=" -b" \
		LDLIBS_pam="-lpam -lsec" \
		all_wrapped;; \
Darwin)	make \
		SHARED_LIB="libpasswdqc.0.dylib" \
		DEVEL_LIB="libpasswdqc.dylib" \
		SECUREDIR="/usr/lib/pam" \
		LDLIBS_pam="-lpam -lSystem" \
		all_wrapped;; \
CYGWIN_NT*) make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\"" \
		SHARED_LIB="cygpasswdqc-0.dll" \
		SHARED_LIBDIR="/usr/bin" \
		DEVEL_LIB="libpasswdqc.dll.a" \
		LDFLAGS_lib=" --shared -Wl,--out-implib=libpasswdqc.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import" \
		BINS="pwqgen pwqcheck pwqfilter cygpasswdqc-0.dll" \
		CYGWIN=true \
		all_wrapped;; \
*)	make all_wrapped;; \
esac
make[1]: Entering directory '/tmp/SBo/repo.NYiaDW/build_passwdqc/passwdqc-2.1.0'
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c pam_passwdqc.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_memzero.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c concat.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c md4.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_check.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_filter.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_load.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_parse.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c passwdqc_random.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c wordset_4k.c
gcc -DPACKAGE=\"passwdqc\" -DHAVE_SHADOW -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC -c wordlist.c
gcc  -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer -c pwqgen.c
gcc  -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer -c pwqcheck.c
gcc  -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer -c pwqfilter.c
sed -e "s|@VERSION@|2.1.0|g" passwdqc.pc.in > passwdqc.pc
gcc -Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--soname,libpasswdqc.so.1,--version-script,libpasswdqc.map concat.o md4.o passwdqc_check.o passwdqc_filter.o passwdqc_load.o passwdqc_memzero.o passwdqc_parse.o passwdqc_random.o wordset_4k.o wordlist.o  -o libpasswdqc.so.1
if [ "" != true ]; then \
	ln -s -f libpasswdqc.so.1 libpasswdqc.so; \
fi
gcc -Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--version-script,pam_passwdqc.map pam_passwdqc.o passwdqc_memzero.o -lpam -lcrypt -L. -lpasswdqc -o pam_passwdqc.so
gcc -Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer  pwqgen.o passwdqc_memzero.o -L. -lpasswdqc -o pwqgen
gcc -Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer  pwqcheck.o passwdqc_memzero.o -L. -lpasswdqc -o pwqcheck
gcc -Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer  pwqfilter.o md4.o -o pwqfilter
make[1]: Leaving directory '/tmp/SBo/repo.NYiaDW/build_passwdqc/passwdqc-2.1.0'
case "`uname -s`" in \
Linux)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		CFLAGS_bin="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer" \
		CFLAGS_lib="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC" \
		LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer " \
		LDFLAGS_lib="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--soname,libpasswdqc.so.1,--version-script,libpasswdqc.map" \
		LDFLAGS_pam="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--version-script,pam_passwdqc.map" \
		LDLIBS_pam="-lpam -lcrypt" \
		all_wrapped;; \
SunOS)	make -e CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=/usr/ccs/bin/ld \
		LDFLAGS_lib=" -G" \
		LDFLAGS_pam=" -G" \
		LDLIBS_pam="-lpam -lcrypt" \
		INSTALL="/usr/ucb/install -c" \
		SHARED_LIBDIR="/usr/lib" \
		SECUREDIR="/usr/lib/security" \
		all_wrapped;; \
HP-UX)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=ld \
		LDFLAGS_lib=" -b" \
		LDFLAGS_pam=" -b" \
		LDLIBS_pam="-lpam -lsec" \
		all_wrapped;; \
Darwin)	make \
		SHARED_LIB="libpasswdqc.0.dylib" \
		DEVEL_LIB="libpasswdqc.dylib" \
		SECUREDIR="/usr/lib/pam" \
		LDLIBS_pam="-lpam -lSystem" \
		all_wrapped;; \
CYGWIN_NT*) make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\"" \
		SHARED_LIB="cygpasswdqc-0.dll" \
		SHARED_LIBDIR="/usr/bin" \
		DEVEL_LIB="libpasswdqc.dll.a" \
		LDFLAGS_lib=" --shared -Wl,--out-implib=libpasswdqc.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import" \
		BINS="pwqgen pwqcheck pwqfilter cygpasswdqc-0.dll" \
		CYGWIN=true \
		all_wrapped;; \
*)	make all_wrapped;; \
esac
make[1]: Entering directory '/tmp/SBo/repo.NYiaDW/build_passwdqc/passwdqc-2.1.0'
make[1]: Nothing to be done for 'all_wrapped'.
make[1]: Leaving directory '/tmp/SBo/repo.NYiaDW/build_passwdqc/passwdqc-2.1.0'
Running tests...
Executing tests/test-pwqcheck-basic.sh...
Running Basic Password Validation Tests...

Testing Strong Passwords:
Standard strong password                PASS
Complex password                        PASS
Long passphrase                         PASS
Strong password with year               PASS

Testing Weak Patterns:
Common password with numbers            PASS
Keyboard pattern                        PASS
Common admin password                   PASS
Common weak password                    PASS

Testing Mixed Complexity:
Mixed case with symbols and numbers     PASS
Strong with multiple special chars      PASS
Complex-looking, but based on one word  PASS

Testing Edge Cases:
Single space                            PASS
Empty password                          PASS
Very long password                      PASS
Max length password                     PASS
Max length exceed password              PASS
A minimal passphrase                    PASS
Passphrase with leetspeak in a word     PASS

Basic password validation tests completed

Executing tests/test-pwqcheck-length.sh...
Password Length Tests

Short password                          PASS
Long complex password                   PASS
Password with relaxed mins              PASS
Single character password               PASS
Simple but long password                PASS
Complex password                        PASS
Exactly minimum length                  PASS
Below minimum length                    PASS
Testing complexity classes...
N0: 36-char 1-class random              PASS
N0: 36-char 1-class word-based          PASS
N1: 24-char 2-class random              PASS
N1: 24-char effectively 1-class random  PASS
N2: 11-char 3-word passphrase           PASS
N2: 11-char 2-word non-passphrase       PASS
N3: 8-char barely complex               PASS
N3: 8-char insufficiently complex       PASS
N4: 7-char highly complex               PASS
N4: 7-char insufficiently complex       PASS

Password length tests completed

Executing tests/test-pwqcheck-multi.sh...
Running Multiple Password Tests...
Mixed Passwords                         PASS
All Valid Passwords                     PASS
All Invalid Passwords                   PASS
Special Cases                           PASS
Custom Parameters                       PASS

Multiple password tests completed

Executing tests/test-pwqcheck-similarity.sh...
Running pwqcheck similarity tests with similar=deny...
Identical passwords rejected            PASS
Case variations rejected                PASS
Common number substitutions rejected    PASS
Different passwords accepted            PASS

Running pwqcheck similarity tests with similar=permit...
Identical passwords accepted            PASS
Case variations accepted                PASS
Common number substitutions accepted    PASS
Different passwords accepted            PASS

pwqcheck similarity tests completed

Executing tests/test-pwqfilter-mode.sh...
Running pwqfilter Tests...

Testing Basic Mode Options:
Create filter with --create             PASS
Check filter status with --status       PASS
Look up passwords with implied --lookup PASS
Look up nonexistent passwords           PASS
Insert entries with --insert            PASS

Testing Specific Lookup Functionality:
Create filter for lookup testing        PASS
Password in filter found                PASS
Password in filter found                PASS
Password in filter found                PASS
Password not in filter not found        PASS
Password not in filter not found        PASS

Testing Combined Operations:
Invalid combination: create + insert    PASS

pwqfilter mode options tests completed

Executing tests/test-pwqgen.sh...
Running Basic Password Generation Tests...

Testing Basic Password Generation:
Default password generation             PASS
64-bit random password                  PASS
128-bit random password                 PASS

Testing Password Uniqueness:
Default password uniqueness             PASS
64-bit random password uniqueness       PASS
128-bit random password uniqueness      PASS

Testing Invalid Parameters:
Negative random bits                    PASS
Zero random bits                        PASS
Excessive random bits                   PASS
Invalid random value                    PASS
Non-numeric random bits                 PASS
Empty random value                      PASS
Decimal random bits                     PASS

Testing Multiple Parameters:
Multiple valid parameters               PASS
Valid and invalid parameters            PASS

Password uniqueness                     PASS

Testing config files:
Valid configuration file                PASS
Invalid configuration file              PASS
Empty configuration file                PASS

Contains various character classes      PASS

pwqgen tests completed

Tests completed!
case "`uname -s`" in \
Linux)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		CFLAGS_bin="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer" \
		CFLAGS_lib="-fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC" \
		LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fomit-frame-pointer " \
		LDFLAGS_lib="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--soname,libpasswdqc.so.1,--version-script,libpasswdqc.map" \
		LDFLAGS_pam="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -fPIE -pie -Wno-unused-command-line-argument -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -W -O2 -fPIC  --shared -Wl,--version-script,pam_passwdqc.map" \
		LDLIBS_pam="-lpam -lcrypt" \
		install_wrapped;; \
SunOS)	make -e CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=/usr/ccs/bin/ld \
		LDFLAGS_lib=" -G" \
		LDFLAGS_pam=" -G" \
		LDLIBS_pam="-lpam -lcrypt" \
		INSTALL="/usr/ucb/install -c" \
		SHARED_LIBDIR="/usr/lib64" \
		SECUREDIR="/usr/lib/security" \
		install_wrapped;; \
HP-UX)	make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\" -DHAVE_SHADOW" \
		LD_lib=ld \
		LDFLAGS_lib=" -b" \
		LDFLAGS_pam=" -b" \
		LDLIBS_pam="-lpam -lsec" \
		install_wrapped;; \
Darwin)	make \
		SHARED_LIB="libpasswdqc.0.dylib" \
		DEVEL_LIB="libpasswdqc.dylib" \
		SECUREDIR="/usr/lib/pam" \
		LDLIBS_pam="-lpam -lSystem" \
		install_wrapped;; \
CYGWIN_NT*) make CPPFLAGS_lib=" -DPACKAGE=\\\"passwdqc\\\"" \
		SHARED_LIB="cygpasswdqc-0.dll" \
		SHARED_LIBDIR="/usr/bin" \
		DEVEL_LIB="libpasswdqc.dll.a" \
		LDFLAGS_lib=" --shared -Wl,--out-implib=libpasswdqc.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import" \
		BINS="pwqgen pwqcheck pwqfilter cygpasswdqc-0.dll" \
		CYGWIN=true \
		install_wrapped;; \
*)	make install_wrapped;; \
esac
make[1]: Entering directory '/tmp/SBo/repo.NYiaDW/build_passwdqc/passwdqc-2.1.0'
umask 022 && mkdir -p /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/etc
umask 022 && mkdir -p /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/bin
umask 022 && mkdir -p /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/lib64/security
install -c -m 644 passwdqc.conf /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/etc/
install -c -m 755 pwqgen pwqcheck pwqfilter /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/bin/
install -c -m 755 pam_passwdqc.so /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/lib64/security/
umask 022 && mkdir -p /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/lib64
umask 022 && mkdir -p /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/man/man8
umask 022 && mkdir -p /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/man/man1
install -c -m 755 libpasswdqc.so.1 /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/lib64/
install -c -m 644 pwqgen.1 pwqcheck.1 pwqfilter.1 /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/man/man1/
install -c -m 644 pam_passwdqc.8 /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/man/man8/
umask 022 && mkdir -p /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/lib64
if [ "" != true ]; then \
	ln -s -f ../../usr/lib64/libpasswdqc.so.1 \
		/tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/lib64/libpasswdqc.so; \
else \
	install -c -m 755 libpasswdqc.so /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/lib64/; \
fi
umask 022 && mkdir -p /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/include
install -c -m 644 passwdqc.h /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/include/
umask 022 && mkdir -p /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/lib64/pkgconfig
install -c -m 644 passwdqc.pc /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/lib64/pkgconfig/
umask 022 && mkdir -p /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/man/man3
install -c -m 644 libpasswdqc.3 passwdqc_params_reset.3 passwdqc_params_load.3 passwdqc_params_parse.3 passwdqc_params_free.3 passwdqc_check.3 passwdqc_random.3 /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/man/man3/
umask 022 && mkdir -p /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/man/man5
install -c -m 644 passwdqc.conf.5 /tmp/SBo/repo.NYiaDW/build_passwdqc/package-passwdqc/usr/man/man5/
Consider running ldconfig(8) to update the dynamic linker cache.
make[1]: Leaving directory '/tmp/SBo/repo.NYiaDW/build_passwdqc/passwdqc-2.1.0'

Slackware package maker, version 3.14159265.

Searching for symbolic links:
usr/lib64/libpasswdqc.so	../../usr/lib64/libpasswdqc.so.1

Making symbolic link creation script:
( cd usr/lib64 ; rm -rf libpasswdqc.so )
( cd usr/lib64 ; ln -sf ../../usr/lib64/libpasswdqc.so.1 libpasswdqc.so )

Unless your existing installation script already contains the code
to create these links, you should append these lines to your existing
install script. Now's your chance. :^)

Would you like to add this stuff to the existing install script and
remove the symbolic links ([y]es, [n]o)? y


Removing symbolic links:
removed './usr/lib64/libpasswdqc.so'

Updating your ./install/doinst.sh...

This next step is optional - you can set the directories in your package
to some sane permissions. If any of the directories in your package have
special permissions, then DO NOT reset them here!

Would you like to reset all directory permissions to 755 (drwxr-xr-x) and
directory ownerships to root.root ([y]es, [n]o)? n


Creating Slackware package:  /tmp/SBo/repo.NYiaDW/output_passwdqc/passwdqc-2.1.0-x86_64-1_SBo.txz

./
etc/
etc/passwdqc.conf.new
install/
install/doinst.sh
install/slack-desc
lib64/
lib64/security/
lib64/security/pam_passwdqc.so
usr/
usr/bin/
usr/bin/pwqcheck
usr/bin/pwqfilter
usr/bin/pwqgen
usr/doc/
usr/doc/passwdqc-2.1.0/
usr/doc/passwdqc-2.1.0/CHANGES
usr/doc/passwdqc-2.1.0/INSTALL
usr/doc/passwdqc-2.1.0/INTERNALS
usr/doc/passwdqc-2.1.0/LICENSE
usr/doc/passwdqc-2.1.0/PLATFORMS
usr/doc/passwdqc-2.1.0/README
usr/doc/passwdqc-2.1.0/passwdqc.SlackBuild
usr/include/
usr/include/passwdqc.h
usr/lib64/
usr/lib64/libpasswdqc.so.1
usr/lib64/pkgconfig/
usr/lib64/pkgconfig/passwdqc.pc
usr/man/
usr/man/man1/
usr/man/man1/pwqcheck.1.gz
usr/man/man1/pwqfilter.1.gz
usr/man/man1/pwqgen.1.gz
usr/man/man3/
usr/man/man3/libpasswdqc.3.gz
usr/man/man3/passwdqc_check.3.gz
usr/man/man3/passwdqc_params_free.3.gz
usr/man/man3/passwdqc_params_load.3.gz
usr/man/man3/passwdqc_params_parse.3.gz
usr/man/man3/passwdqc_params_reset.3.gz
usr/man/man3/passwdqc_random.3.gz
usr/man/man5/
usr/man/man5/passwdqc.conf.5.gz
usr/man/man8/
usr/man/man8/pam_passwdqc.8.gz

Slackware package /tmp/SBo/repo.NYiaDW/output_passwdqc/passwdqc-2.1.0-x86_64-1_SBo.txz created.

Built ok:  passwdqc-2.1.0-x86_64-1_SBo.txz                              18:28:53
Testing package passwdqc-2.1.0-x86_64-1_SBo.txz ... 
Test installing passwdqc-2.1.0-x86_64-1_SBo.txz ...
passwdqc-2.1.0-x86_64-1_SBo: password/passphrase strength checking and e [ 430K]
Unmounting chroot ... 
Backed up: passwdqc-2.0.3-x86_64-1_SBo.txz
:-) system/passwdqc Updated for version 2.1.0 (-:

@sbo-bot
Copy link

sbo-bot bot commented Mar 5, 2026

sbopkglint x86_64 system/passwdqc

Using tests from /usr/share/sbo-maintainer-tools/sbopkglint.d
Exploding /var/lib/repo/SBo/packages/15.0/x86_64/system/passwdqc/passwdqc-2.1.0-x86_64-1_SBo.txz to /tmp/SBo/sbopkglint.hFTOB0 ...OK
Running pre-doinst test...OK
Installing /var/lib/repo/SBo/packages/15.0/x86_64/system/passwdqc/passwdqc-2.1.0-x86_64-1_SBo.txz to /tmp/SBo/sbopkglint.hFTOB0 ...OK
Running test: 05-basic-sanity...OK
Running test: 10-docs...
___ note: install instructions found, is this relevant for binary package users?: usr/doc/passwdqc-2.1.0/INSTALL
OK
Running test: 15-noarch...OK
Running test: 20-arch...OK
Running test: 25-lafiles...OK
Running test: 30-manpages...OK
Running test: 35-desktop...OK
Running test: 40-newconfig...OK
Running test: 45-doinst...OK
Running test: 50-icons...OK
Running test: 60-usr_info...OK
Running test: 65-python...OK
Running test: 70-tmp_path...OK
Running test: 75-static_libs...OK
Running test: 85-perl...OK
Running test: 90-terminfo...OK
✅ === passwdqc-2.1.0-x86_64-1_SBo.txz: All tests passed ✅

@willysr
Copy link
Member

willysr commented Mar 5, 2026

merged

@willysr willysr closed this Mar 5, 2026
@pyllyukko pyllyukko deleted the passwdqc-2.1.0 branch March 5, 2026 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants