From fa07cb65fd71ce27d8aa0b450f4a3c1533bdb1b0 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 14 Feb 2015 05:40:47 +0000 Subject: [PATCH] =?utf8?q?Add=20a=20note=20above=20every=20login.defs=20op?= =?utf8?q?tion=20that=20is=20ignored=20when=20USE=3Dpam=20is=20active=20#5?= =?utf8?q?22992=20by=20Massimo=20Burcheri.=20=20Enable=20CREATE=5FHOME=20b?= =?utf8?q?y=20default=20(useradd=20-m=20option)=20#531186=20by=20Micha?= =?utf8?q?=C5=82=20G=C3=B3rny.=20=20Respect=20LINGUAS=20when=20installing?= =?utf8?q?=20man=20pages=20#538310=20by=20Alex=20Efros.=20=20Do=20not=20in?= =?utf8?q?stall=20/etc/securetty=20and=20disable=20CONSOLE=20checking=20by?= =?utf8?q?=20default=20#539508.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Package-Manager: portage-2.2.15/cvs/Linux x86_64 Manifest-Sign-Key: 0xD2E96200 --- sys-apps/shadow/ChangeLog | 11 +- sys-apps/shadow/Manifest | 29 ++-- sys-apps/shadow/shadow-4.2.1-r1.ebuild | 207 +++++++++++++++++++++++++ 3 files changed, 232 insertions(+), 15 deletions(-) create mode 100644 sys-apps/shadow/shadow-4.2.1-r1.ebuild diff --git a/sys-apps/shadow/ChangeLog b/sys-apps/shadow/ChangeLog index b4808c6b6493..97fb9283ddc7 100644 --- a/sys-apps/shadow/ChangeLog +++ b/sys-apps/shadow/ChangeLog @@ -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 +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 shadow-4.2.1.ebuild: Use -delete with find, and fix prefix handling in a few places. diff --git a/sys-apps/shadow/Manifest b/sys-apps/shadow/Manifest index 1010cada59a6..98020ea8ff75 100644 --- a/sys-apps/shadow/Manifest +++ b/sys-apps/shadow/Manifest @@ -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 index 000000000000..afa836dd5c6a --- /dev/null +++ b/sys-apps/shadow/shadow-4.2.1-r1.ebuild @@ -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." +} -- 2.26.2