Add a note above every login.defs option that is ignored when USE=pam is active ...
authorMike Frysinger <vapier@gentoo.org>
Sat, 14 Feb 2015 05:40:47 +0000 (05:40 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sat, 14 Feb 2015 05:40:47 +0000 (05:40 +0000)
Package-Manager: portage-2.2.15/cvs/Linux x86_64
Manifest-Sign-Key: 0xD2E96200

sys-apps/shadow/ChangeLog
sys-apps/shadow/Manifest
sys-apps/shadow/shadow-4.2.1-r1.ebuild [new file with mode: 0644]

index b4808c6b6493243a96920c04e93b703b945e1c0e..97fb9283ddc7ff252b12d1e56fee71d6b67fa5b8 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for sys-apps/shadow
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/ChangeLog,v 1.296 2015/02/09 20:34:28 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/ChangeLog,v 1.297 2015/02/14 05:40:45 vapier Exp $
+
+*shadow-4.2.1-r1 (14 Feb 2015)
+
+  14 Feb 2015; Mike Frysinger <vapier@gentoo.org> +shadow-4.2.1-r1.ebuild:
+  Add a note above every login.defs option that is ignored when USE=pam is
+  active #522992 by Massimo Burcheri.  Enable CREATE_HOME by default (useradd -m
+  option) #531186 by Michał Górny.  Respect LINGUAS when installing man pages
+  #538310 by Alex Efros.  Do not install /etc/securetty and disable CONSOLE
+  checking by default #539508.
 
   09 Feb 2015; Mike Frysinger <vapier@gentoo.org> shadow-4.2.1.ebuild:
   Use -delete with find, and fix prefix handling in a few places.
index 1010cada59a683a27e62577ef8ac893b0b84f016..98020ea8ff754045429d9d9c10ecd1bd6a87424e 100644 (file)
@@ -10,23 +10,24 @@ AUX shadow-4.1.3-dots-in-usernames.patch 302 SHA256 2299ffaec204d20e00d791bf5b98
 DIST shadow-4.1.5.1.tar.bz2 2193325 SHA256 aa32333748d68b58ed3a83625f0165e0f6b9dc4639e6377c9300c6bf4fe978fb SHA512 c3bc605de1ca5b774b80d0d92cef5d4c0d5b4a206acadcf5a819f195453093bfe7990d7e32b98799180847ae4fadecfc7876c8ee7297f343acce2230d805d02c WHIRLPOOL 08751597b5b57057f0a3141be97204df49fada25adf0a9f43106a4099ce1b06fec6e90592e43ff1d789bf0a7e16a40b45f29830879ea5c71e9f5a1a81e7a7357
 DIST shadow-4.2.1.tar.xz 1594536 SHA256 3b0893d1476766868cd88920f4f1231c4795652aa407569faff802bcda0f3d41 SHA512 7a14bf8e08126f0402e37b6e4c559615ced7cf829e39156d929ed05cd8813de48a77ff1f7f6fe707da04cf662a2e9e84c22d63d88dd1ed13f935fde594db95f0 WHIRLPOOL 032857f5fae8486cc3dd11303bfa7da55019000ce8ad7bac2f398f9f9764c8659e20a1547d05c5e4f366db749a52afb3083017faf14f6a72ee48345dcd1f86aa
 EBUILD shadow-4.1.5.1-r1.ebuild 5207 SHA256 2739bd1b1e66b820457db309569403700d093e5c9827ba4049d38b9a5727de15 SHA512 1e9bc3b4ac4841f7063482a9075e9be4c1fe5169cbe8f4b5a9ec80447202519d86b5d3048d9fed1176c79c986fdbaff35b82e326f81bd5ece1dc2232bc5b2c8b WHIRLPOOL 7cf7b7e46f523be1bf27b03d3bdc86ae517443ca0207d1da7a19242d60663a1ec6238b746efcc3cbdee7b8cc5f871e992b44b353be5448c905317eb68cb7aa8d
+EBUILD shadow-4.2.1-r1.ebuild 5459 SHA256 327712cc8a98b3c10e597d484a73738522a51bbd28ceff70d380e0720e405be4 SHA512 8172fb75706231d9c61680a4e0e344b84014ff7b265532386a37b22887d46cd37b2695f5a722de2f3014e8a6524ef55649cdec3668142dfe8d5213ec6954f757 WHIRLPOOL de6fe90d9b842270a72266ff1db1cee3d23c8b185f8647f75eb4c748c93157522af60fba34d4d7a964f470c629219f535374563edead8f0aeb3e4bc819731e91
 EBUILD shadow-4.2.1.ebuild 5242 SHA256 88510edfbc2b8e66a6af3248fad77e305987784c240a320c9ec0d5d10a3dfc04 SHA512 faa2727df657cefd764f3d4f7dabf5ad3ae72696681c74ddcbd9bf2104431f14298b09025be581fc557c37aa62269e405b034daeaa31f454ebcd20bc1b8796fc WHIRLPOOL 92a1cc8a6e0f53ffd7cc059ac03c80e67591d2f5e3ffd3367f4b46faa768e1a4b18af74d6534e71150e1607ae61944f1fe3e24d386bcfc1e1021c326ca6e2d6c
-MISC ChangeLog 50454 SHA256 1507cebfaa6fe8d9df2d653cf50b482ae92d6c2e8287ba2bd0bde358e822ca91 SHA512 a07d83e26540a4477902ebad6579eb5b14d6544600068bbda50a0f10e87184b901860deb91fa09cc88b02d580feda31a46e8dfa2f14aa98920d6c7881c0447d3 WHIRLPOOL f010a42f6564fa139cb17ecd39be5c136b89a85a0b877fcc0c457036f0059854148422082f04945401bc88f94546639102b1a15635dc10cd1f24ebbbcc575e40
+MISC ChangeLog 50905 SHA256 ccc936bd65237de11aea3863cb259c7b97722e5563b9bc4dceeda6eb1dbe768d SHA512 dec81cea61c8a6584729c6958cba1567fb0f4322d9432c3aa16077902f7a733cb1ddba88634c76ecace7acbe969c14772b9500f0f0dd9248699135be0eeee406 WHIRLPOOL 8446a0ca9b5e99018f3f6051a224759db42ff36b6db6e589b1458da0d0c8f8c5e1d4abb1140813252a81b1d6c4725fc3b1b16d9be3b8470e925bac9f524bff0a
 MISC metadata.xml 374 SHA256 1675a5791603e79e431df63215162737553fa8018360b026739ac3284bca54b2 SHA512 0bb65b45fa94ddea89f7e0a879fd996b3f363b3e58eb6cbd71251fd79416667f103af4bac0c87f3ba240e0ce3f323c77ce7be9f6ea92c13d619ff8cef8797add WHIRLPOOL e7f4f5d975440fe71dbb35dee4394aa808fce7b5e58ac64d162418a47ed99cb002c7622563be4f6800967d6b8530d29dbd895e431c78f75a5cdf490b8c1afc45
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iQIcBAEBCAAGBQJU2RnVAAoJEPGu1DbS6WIAJNQP/jlFv4Gs6a0rPYr5AQ7Y8uIi
-IP6w52Rmnafr5UyMSPhduoC1qH0bB6SoNhwUSwaAT6hC9S5+5KOcj+T3N66l3Dab
-bNwHwMPZk+lLey7vSzirgbRLO431lehnkK08+50ItGr+4sfWdzyGAOuXImEZm6WO
-cJ0Nw51y5+Fr8JB1mTnFGNLvONMi9e6izrrhHTA9Scr9+FERgMIVusMHI0fNQo5z
-/5KXMh+5PEbUrCDXRUajlkWKo0lCq1AbSh/KZmpDG6ZXpepSzgoa8rC0s94MCBt0
-1tjWXmaHtoItssiQMxybaHCPPXcl5CumD/8IWK6AkfSeoDoxf3kaEdowhmasXBV3
-eu4Lzmvv3wam71EvCoAW33G6FDGeFhP7MTY9LnQliDVWB0uwQBH8TKDi/7dYQVYE
-r8Htvn8kJ+fPOexWcnzmvbRiyURy2wu8JZTkGY9eFsyWlg72UwjviX3cKF3LcdwK
-WWHttyaVRBX9eerrVgX0KHpCAwyoqxXgok/xu7Qbxxew2pL7Fs7MEzJrJvQ/mFDl
-2PA4BsBbTaDbQA3MQCbuLKaFHX1i7aR1KXS4vjY6EaedD0rUhR0ryBK2mt5cpUWh
-k7K6bbEq6jgaqQEx0UzYd7FnGaFUel7apy1mExw5Q9Dn0t/ncQ9CDMntrZvc4Rkz
-/egdlmy21qOcPOxT+GeG
-=XUoH
+iQIcBAEBCAAGBQJU3t/eAAoJEPGu1DbS6WIA604QAIp8oZ3ywuhGpkDonMdY+xcg
+4NMnCNdqUQn4oSdNvOWqCugIqXhRKAyzVYLZYbkEeeCxQ+/hD4MeU6CImfDTgL30
+6J8iNsXqFKPMRTPMa+kpWk0qcpqV1va5bx07/FeiV9l7+x/FnDnrcHJVz9MyxPuU
+srmGwdER1xFpXbXtsHhsrVF9DVOi32Uvqo++R4+DdavrSMMHOuU+H2mU5xVQ3TNi
+223ZH57HMeqAp45rcC9AMJwLcoMG7k7w4jSAldzFCzsDIPI8N+mxhfQ5Ih5JS4rY
+dmjgvsnKrW5R1Jrm3VWqCAXj8434cmK0xQ1NEb9/z6DjwF1yS66OU3PyHCGM2SQ9
+FfMAKpUNDras86TNlu91ZmyMjq6sNpflyISUslxAkLMugH5xbrUtTURuGO05MXri
+vsej8ORn3WRdCy+EU+abgKCJV1bcaKZQ9DEG6YzLQr58jHum5iQZF2OSI+h4qgaJ
+j2JuTJEF1vJGX1gBMqn4YiUqSSo9Xag+GJeJkkRKED8gbrEg87fUh6vVqezTB8xM
+Ebe8fpDpXUn/2BnPCH3/vlHuucrxytJ/xZyNPeUp3RkZAguH3GtHY5vZhNpLFqJX
+J5vmTBncajheqtbrTyfJ7Z2TwtQjmsysBDCC8X96IbGpP30CyozU7rAia+kc0UTm
+p0U1p7JuR74a8zVTsTV+
+=8Fq/
 -----END PGP SIGNATURE-----
diff --git a/sys-apps/shadow/shadow-4.2.1-r1.ebuild b/sys-apps/shadow/shadow-4.2.1-r1.ebuild
new file mode 100644 (file)
index 0000000..afa836d
--- /dev/null
@@ -0,0 +1,207 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/shadow-4.2.1-r1.ebuild,v 1.1 2015/02/14 05:40:45 vapier Exp $
+
+EAPI=4
+
+inherit eutils libtool toolchain-funcs pam multilib
+
+DESCRIPTION="Utilities to deal with user accounts"
+HOMEPAGE="http://shadow.pld.org.pl/ http://pkg-shadow.alioth.debian.org/"
+SRC_URI="http://pkg-shadow.alioth.debian.org/releases/${P}.tar.xz"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="acl audit cracklib nls pam selinux skey xattr"
+# Taken from the man/Makefile.am file.
+LANGS=( cs da de es fi fr hu id it ja ko pl pt_BR ru sv tr zh_CN zh_TW )
+IUSE+=" $(printf 'linguas_%s ' ${LANGS[*]})"
+
+RDEPEND="acl? ( sys-apps/acl )
+       audit? ( sys-process/audit )
+       cracklib? ( >=sys-libs/cracklib-2.7-r3 )
+       pam? ( virtual/pam )
+       skey? ( sys-auth/skey )
+       selinux? (
+               >=sys-libs/libselinux-1.28
+               sys-libs/libsemanage
+       )
+       nls? ( virtual/libintl )
+       xattr? ( sys-apps/attr )"
+DEPEND="${RDEPEND}
+       app-arch/xz-utils
+       nls? ( sys-devel/gettext )"
+RDEPEND="${RDEPEND}
+       pam? ( >=sys-auth/pambase-20150213 )"
+
+src_prepare() {
+       epatch "${FILESDIR}"/${PN}-4.1.3-dots-in-usernames.patch #22920
+       epatch_user
+       elibtoolize
+}
+
+src_configure() {
+       tc-is-cross-compiler && export ac_cv_func_setpgrp_void=yes
+       econf \
+               --without-group-name-max-length \
+               --without-tcb \
+               --enable-shared=no \
+               --enable-static=yes \
+               $(use_with acl) \
+               $(use_with audit) \
+               $(use_with cracklib libcrack) \
+               $(use_with pam libpam) \
+               $(use_with skey) \
+               $(use_with selinux) \
+               $(use_enable nls) \
+               $(use_with elibc_glibc nscd) \
+               $(use_with xattr attr)
+       has_version 'sys-libs/uclibc[-rpc]' && sed -i '/RLOGIN/d' config.h #425052
+
+       if use nls ; then
+               local l langs="po" # These are the pot files.
+               for l in ${LANGS[*]} ; do
+                       use linguas_${l} && langs+=" ${l}"
+               done
+               sed -i "/^SUBDIRS = /s:=.*:= ${langs}:" man/Makefile || die
+       fi
+}
+
+set_login_opt() {
+       local comment="" opt=$1 val=$2
+       if [[ -z ${val} ]]; then
+               comment="#"
+               sed -i \
+                       -e "/^${opt}\>/s:^:#:" \
+                       "${ED}"/etc/login.defs || die
+       else
+               sed -i -r \
+                       -e "/^#?${opt}\>/s:.*:${opt} ${val}:" \
+                       "${ED}"/etc/login.defs
+       fi
+       local res=$(grep "^${comment}${opt}\>" "${ED}"/etc/login.defs)
+       einfo "${res:-Unable to find ${opt} in /etc/login.defs}"
+}
+
+src_install() {
+       emake DESTDIR="${D}" suidperms=4711 install
+
+       # Remove libshadow and libmisc; see bug 37725 and the following
+       # comment from shadow's README.linux:
+       #   Currently, libshadow.a is for internal use only, so if you see
+       #   -lshadow in a Makefile of some other package, it is safe to
+       #   remove it.
+       rm -f "${ED}"/{,usr/}$(get_libdir)/lib{misc,shadow}.{a,la}
+
+       insinto /etc
+       if ! use pam ; then
+               insopts -m0600
+               doins etc/login.access etc/limits
+       fi
+
+       # needed for 'useradd -D'
+       insinto /etc/default
+       insopts -m0600
+       doins "${FILESDIR}"/default/useradd
+
+       # move passwd to / to help recover broke systems #64441
+       mv "${ED}"/usr/bin/passwd "${ED}"/bin/ || die
+       dosym /bin/passwd /usr/bin/passwd
+
+       cd "${S}"
+       insinto /etc
+       insopts -m0644
+       newins etc/login.defs login.defs
+
+       set_login_opt CREATE_HOME yes
+       if ! use pam ; then
+               set_login_opt MAIL_CHECK_ENAB no
+               set_login_opt SU_WHEEL_ONLY yes
+               set_login_opt CRACKLIB_DICTPATH /usr/$(get_libdir)/cracklib_dict
+               set_login_opt LOGIN_RETRIES 3
+               set_login_opt ENCRYPT_METHOD SHA512
+               set_login_opt CONSOLE
+       else
+               dopamd "${FILESDIR}"/pam.d-include/shadow
+
+               for x in chpasswd chgpasswd newusers; do
+                       newpamd "${FILESDIR}"/pam.d-include/passwd ${x}
+               done
+
+               for x in chage chsh chfn \
+                                user{add,del,mod} group{add,del,mod} ; do
+                       newpamd "${FILESDIR}"/pam.d-include/shadow ${x}
+               done
+
+               # comment out login.defs options that pam hates
+               local opt sed_args=()
+               for opt in \
+                       CHFN_AUTH \
+                       CONSOLE \
+                       CRACKLIB_DICTPATH \
+                       ENV_HZ \
+                       ENVIRON_FILE \
+                       FAILLOG_ENAB \
+                       FTMP_FILE \
+                       LASTLOG_ENAB \
+                       MAIL_CHECK_ENAB \
+                       MOTD_FILE \
+                       NOLOGINS_FILE \
+                       OBSCURE_CHECKS_ENAB \
+                       PASS_ALWAYS_WARN \
+                       PASS_CHANGE_TRIES \
+                       PASS_MIN_LEN \
+                       PORTTIME_CHECKS_ENAB \
+                       QUOTAS_ENAB \
+                       SU_WHEEL_ONLY
+               do
+                       set_login_opt ${opt}
+                       sed_args+=( -e "/^#${opt}\>/b pamnote" )
+               done
+               sed -i "${sed_args[@]}" \
+                       -e 'b exit' \
+                       -e ': pamnote; i# NOTE: This setting should be configured via /etc/pam.d/ and not in this file.' \
+                       -e ': exit' \
+                       "${ED}"/etc/login.defs || die
+
+               # remove manpages that pam will install for us
+               # and/or don't apply when using pam
+               find "${ED}"/usr/share/man \
+                       '(' -name 'limits.5*' -o -name 'suauth.5*' ')' \
+                       -delete
+
+               # Remove pam.d files provided by pambase.
+               rm "${ED}"/etc/pam.d/{login,passwd,su} || die
+       fi
+
+       # Remove manpages that are handled by other packages
+       find "${ED}"/usr/share/man \
+               '(' -name id.1 -o -name passwd.5 -o -name getspnam.3 ')' \
+               -delete
+
+       cd "${S}"
+       dodoc ChangeLog NEWS TODO
+       newdoc README README.download
+       cd doc
+       dodoc HOWTO README* WISHLIST *.txt
+}
+
+pkg_preinst() {
+       rm -f "${EROOT}"/etc/pam.d/system-auth.new \
+               "${EROOT}/etc/login.defs.new"
+}
+
+pkg_postinst() {
+       # Enable shadow groups.
+       if [ ! -f "${EROOT}"/etc/gshadow ] ; then
+               if grpck -r -R "${EROOT}" 2>/dev/null ; then
+                       grpconv -R "${EROOT}"
+               else
+                       ewarn "Running 'grpck' returned errors.  Please run it by hand, and then"
+                       ewarn "run 'grpconv' afterwards!"
+               fi
+       fi
+
+       einfo "The 'adduser' symlink to 'useradd' has been dropped."
+}