1*4882a593SmuzhiyunSUMMARY = "A password/passphrase strength checking and enforcement toolset" 2*4882a593SmuzhiyunDESCRIPTION = "\ 3*4882a593Smuzhiyunpasswdqc is a password/passphrase strength checking and policy enforcement \ 4*4882a593Smuzhiyuntoolset, including an optional PAM module (pam_passwdqc), command-line \ 5*4882a593Smuzhiyunprograms (pwqcheck and pwqgen), and a library (libpasswdqc). \ 6*4882a593Smuzhiyunpam_passwdqc is normally invoked on password changes by programs such as \ 7*4882a593Smuzhiyunpasswd(1). It is capable of checking password or passphrase strength, \ 8*4882a593Smuzhiyunenforcing a policy, and offering randomly-generated passphrases, with \ 9*4882a593Smuzhiyunall of these features being optional and easily (re-)configurable. \ 10*4882a593Smuzhiyun\ 11*4882a593Smuzhiyunpwqcheck and pwqgen are standalone password/passphrase strength checking \ 12*4882a593Smuzhiyunand random passphrase generator programs, respectively, which are usable \ 13*4882a593Smuzhiyunfrom scripts. \ 14*4882a593Smuzhiyun\ 15*4882a593Smuzhiyunlibpasswdqc is the underlying library, which may also be used from \ 16*4882a593Smuzhiyunthird-party programs. \ 17*4882a593Smuzhiyun" 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunHOMEPAGE = "http://www.openwall.com/passwdqc" 20*4882a593SmuzhiyunSECTION = "System Environment/Base" 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunDEPENDS += "libpam" 23*4882a593Smuzhiyun 24*4882a593Smuzhiyuninherit features_check 25*4882a593SmuzhiyunREQUIRED_DISTRO_FEATURES = "pam" 26*4882a593Smuzhiyun 27*4882a593SmuzhiyunLICENSE = "BSD-1-Clause" 28*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE;md5=1b4af6f3d4ee079a38107366e93b334d" 29*4882a593Smuzhiyun 30*4882a593SmuzhiyunSRC_URI = "http://www.openwall.com/${BPN}/${BP}.tar.gz \ 31*4882a593Smuzhiyun file://makefile-add-ldflags.patch \ 32*4882a593Smuzhiyun " 33*4882a593SmuzhiyunSRC_URI[md5sum] = "3878b57bcd3fdbcf3d4b362dbc6228b9" 34*4882a593SmuzhiyunSRC_URI[sha256sum] = "d1fedeaf759e8a0f32d28b5811ef11b5a5365154849190f4b7fab670a70ffb14" 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun# explicitly define LINUX_PAM in case DISTRO_FEATURES no pam 37*4882a593Smuzhiyun# this package's pam_passwdqc.so needs pam 38*4882a593SmuzhiyunCFLAGS:append = " -Wall -fPIC -DHAVE_SHADOW -DLINUX_PAM" 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun# -e is no longer default setting in bitbake.conf 41*4882a593SmuzhiyunEXTRA_OEMAKE = "-e" 42*4882a593Smuzhiyun 43*4882a593Smuzhiyundo_compile() { 44*4882a593Smuzhiyun # make sure sub make use environment to override variables in Makefile 45*4882a593Smuzhiyun # Linux) $(MAKE), there is a tab between 46*4882a593Smuzhiyun sed -i -e 's/Linux) $(MAKE) CFLAGS_lib/Linux) $(MAKE) -e CFLAGS_lib/' ${S}/Makefile 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun # LD_lib and LD must be CC because of Makefile 49*4882a593Smuzhiyun oe_runmake LD="${CC}" 50*4882a593Smuzhiyun} 51*4882a593Smuzhiyun 52*4882a593Smuzhiyundo_install() { 53*4882a593Smuzhiyun oe_runmake install DESTDIR=${D} SHARED_LIBDIR=${base_libdir} \ 54*4882a593Smuzhiyun DEVEL_LIBDIR=${libdir} SECUREDIR=${base_libdir}/security \ 55*4882a593Smuzhiyun INSTALL="install -p" 56*4882a593Smuzhiyun} 57*4882a593Smuzhiyun 58*4882a593SmuzhiyunPROVIDES += "pam-${BPN}" 59*4882a593SmuzhiyunPACKAGES =+ "lib${BPN} pam-${BPN}" 60*4882a593Smuzhiyun 61*4882a593SmuzhiyunFILES:lib${BPN} = "${base_libdir}/libpasswdqc.so.0" 62*4882a593SmuzhiyunFILES:pam-${BPN} = "${base_libdir}/security/pam_passwdqc.so" 63*4882a593SmuzhiyunFILES:${PN}-dbg += "${base_libdir}/security/.debug" 64*4882a593Smuzhiyun 65*4882a593SmuzhiyunRDEPENDS:${PN} = "lib${BPN} pam-${BPN}" 66*4882a593SmuzhiyunRDEPENDS:pam-${BPN} = "lib${BPN}" 67