Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: sys-libs/pam/
Date: Sun, 29 Jan 2017 11:14:09
Message-Id: 1485688420.f6cd1454bfd56e195736abcc9637dc447f2b93c0.blueness@gentoo
1 commit: f6cd1454bfd56e195736abcc9637dc447f2b93c0
2 Author: gebau00a <gebauer.andy <AT> gmail <DOT> com>
3 AuthorDate: Sun Jan 29 09:43:19 2017 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Sun Jan 29 11:13:40 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=f6cd1454
7
8 sys-libs/pam: version bump to 1.3.0
9
10 compile, console login tested and working
11
12 sys-libs/pam/Manifest | 3 +
13 sys-libs/pam/pam-1.3.0.ebuild | 206 ++++++++++++++++++++++++++++++++++++++++++
14 2 files changed, 209 insertions(+)
15
16 diff --git a/sys-libs/pam/Manifest b/sys-libs/pam/Manifest
17 index dea6cb9..067b29c 100644
18 --- a/sys-libs/pam/Manifest
19 +++ b/sys-libs/pam/Manifest
20 @@ -3,5 +3,8 @@ AUX pam-1.2.1-innetgr.patch 1662 SHA256 fb609212837c67da7da033a0daa01d1c2e341668
21 AUX pam-1.2.1-no-strndupa.patch 1452 SHA256 49bae3a1ee81d94527c15aab766e2bb5523cdc6e9ce00126d0d7b81c5b9b47a2 SHA512 967eb6d636fc5421ceea1ddd79de61d367cdd17b260ad3ad75da2e1af4ca87305f57776344ab53b23d1ec81d4d8b74874a0a05f68b70c54ba62f7ec23ad40a99 WHIRLPOOL 0cf25b0a11739493ef1b00e3d440b391ae14f88462f60a0c8d7b4d58aa7fd2ec41ed4d05a436265bbac5ab0a6529809ce2839af65b6560c4bda0b46a81cd0a92
22 DIST Linux-PAM-1.2.0-docs.tar.bz2 490586 SHA256 3bc9ae398f759e372dbf4065ceed2df8b1ac5ab62c6688cb5f7849ce773df2c3 SHA512 028b7f9d6b0a5cf38f063e0f82ac3d0955e1e41d77c9f3fc803363d9ea710d71366e0a91f31b418cac397bb6639442de908fa00f02cd94cf612496d1b43c7e4c WHIRLPOOL 9a329b610d840c904050b2261e5ce34ac54232b0c7d51c12ee45c9e758ab6659ea8562e032fa9815c2beab0cfa1ea455dbfbf3cdef39d30d299a8bc5286f7a14
23 DIST Linux-PAM-1.2.1.tar.bz2 1279523 SHA256 342b1211c0d3b203a7df2540a5b03a428a087bd8a48c17e49ae268f992b334d9 SHA512 4572aa1eaf5a1312410c74b5ed055b2592c5efe2bb82f59981da4e9e93555ad40aee3a89f446d9dc6c6af79efc04c33f739f66db9edc07e02479475a14e426da WHIRLPOOL 562917945b3b3a407955cc5bf5cd251ff7e257a94055d7cfbf06d5c2619b58d61624f16848de3512ddf61636ad8618315de3f7bd8e4e51b3b7d109adfa212c8a
24 +DIST Linux-PAM-1.3.0-docs.tar.bz2 492805 SHA256 8610b48703f036f6755c1d2bd8bcdeaddd9d99a1631f2d7668ec69b444d972a0 SHA512 b6b8497e6a4307b3f9a2af1c74456a0577b848cbc5417fb88fabe305b67ca022a6bcf632d68faaaacc701cdcf6254ec196707551a1ea70985cdde6add68bbbfe WHIRLPOOL a98b28c020de3170f2437b396176efc900683ea2ea85cb3db48306a944595f2d371cce95ee1233a874faa1fb55a06fcbe58068da7a2cc190c93809473938c821
25 +DIST Linux-PAM-1.3.0.tar.bz2 1302820 SHA256 241aed1ef522f66ed672719ecf2205ec513fd0075ed80cda8e086a5b1a01d1bb SHA512 4a89ca4b6f4676107aca4018f7c11addf03495266b209cb11c913f8b5d191d9a1f72197715dcf2a69216b4036de88780bcbbb5a8652e386910d71ba1b6282e42 WHIRLPOOL bb8615c8296eda83a784ffd9e9fc5ad6d401f18b8769f7859a4b94f5782decdbde7a66dc5e22e960fe723943e1562b2f5fa55e64f4836188cf57a7631edb8dcb
26 EBUILD pam-1.2.1-r99.ebuild 6637 SHA256 68e70111eab72978d632c7d4b7583b7d9b155bac209d9d1a8b5e5e89c250fc7f SHA512 0bed8fa142c5e6b479f5636c8619b382df5342c43260ce5e0930b477edc1e2bcc0079583a490bd8ec4c70a62af38290d2172cd1c063e76f86e226bfe1c03f448 WHIRLPOOL 14c83f1ac9ae0d2103b9992b8d5b31e61442a5a172ee437ce0046515d89f43531725215592e26edeb29cd295cdc265f1f235131bf58b90725759d8820716bd36
27 +EBUILD pam-1.3.0.ebuild 6362 SHA256 1dc265335417faa125d9c46a3be73bb8c7569e83628e8a27d0a7da49bf507329 SHA512 8f0de0441b7c1ca31a222ef5dcea4b8b04f14ba5d6092d781af59bb777cc651a79eb71b8a014ac4fca2205164f1eceb96b8e6e2945c7587c0306f96bdc075357 WHIRLPOOL a72114f0334ebf7e7cf9ba48c83ff6806a2288a33ea4eaae8df9d6c80b97ff64f0e08da7ccd983d5e44fb63a472143bfed270f76b5fd362b6942b46ed04338ce
28 MISC metadata.xml 1135 SHA256 19e87cb2aa29dcd1b12d3fd5a001a7fe08fcb9153cc80045d0b95a88c4cad3d7 SHA512 de2a617918085c4e6a7a1976447ed2c0bcdb8eb257d28351e095b29ea219382ce8964206ba0fcdefe9b69db9ab17a52556371cfbee3ed4d5c5293c8d21738d55 WHIRLPOOL abf1d986d9fb8a6654db2ecb982ef50a4aea376c5386f3b68baec1faa19811a6b58f1a08e617711737879f173db729e34d92c8be29ee4acb47f2a0deec5241fc
29
30 diff --git a/sys-libs/pam/pam-1.3.0.ebuild b/sys-libs/pam/pam-1.3.0.ebuild
31 new file mode 100644
32 index 0000000..a9adc50
33 --- /dev/null
34 +++ b/sys-libs/pam/pam-1.3.0.ebuild
35 @@ -0,0 +1,206 @@
36 +# Copyright 1999-2017 Gentoo Foundation
37 +# Distributed under the terms of the GNU General Public License v2
38 +
39 +EAPI="5"
40 +
41 +inherit libtool multilib multilib-minimal eutils pam toolchain-funcs flag-o-matic db-use fcaps
42 +
43 +MY_PN="Linux-PAM"
44 +MY_P="${MY_PN}-${PV}"
45 +
46 +DESCRIPTION="Linux-PAM (Pluggable Authentication Modules)"
47 +HOMEPAGE="http://www.linux-pam.org/ https://fedorahosted.org/linux-pam/"
48 +SRC_URI="http://www.linux-pam.org/library/${MY_P}.tar.bz2
49 + http://www.linux-pam.org/library/${MY_P}-docs.tar.bz2"
50 +
51 +LICENSE="|| ( BSD GPL-2 )"
52 +SLOT="0"
53 +KEYWORDS="~amd64 ~arm ~mips ~ppc ~x86"
54 +IUSE="audit berkdb cracklib debug nis nls +pie selinux test vim-syntax"
55 +
56 +RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
57 + cracklib? ( >=sys-libs/cracklib-2.9.1-r1[${MULTILIB_USEDEP}] )
58 + audit? ( >=sys-process/audit-2.2.2[${MULTILIB_USEDEP}] )
59 + selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] )
60 + berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] )
61 + nis? ( >=net-libs/libtirpc-0.2.4-r2[${MULTILIB_USEDEP}] )"
62 +DEPEND="${RDEPEND}
63 + >=sys-devel/libtool-2
64 + >=sys-devel/flex-2.5.39-r1[${MULTILIB_USEDEP}]
65 + nls? ( sys-devel/gettext )
66 + nis? ( >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] )"
67 +PDEPEND="sys-auth/pambase
68 + vim-syntax? ( app-vim/pam-syntax )"
69 +RDEPEND="${RDEPEND}
70 + !<sys-apps/openrc-0.11.8
71 + !sys-auth/openpam
72 + !sys-auth/pam_userdb"
73 +
74 +S="${WORKDIR}/${MY_P}"
75 +
76 +check_old_modules() {
77 + local retval="0"
78 +
79 + if sed -e 's:#.*::' "${EROOT}"/etc/pam.d/* 2>/dev/null | fgrep -q pam_stack.so; then
80 + eerror ""
81 + eerror "Your current setup is using the pam_stack module."
82 + eerror "This module is deprecated and no longer supported, and since version"
83 + eerror "0.99 is no longer installed, nor provided by any other package."
84 + eerror "The package will be built (to allow binary package builds), but will"
85 + eerror "not be installed."
86 + eerror "Please replace pam_stack usage with proper include directive usage,"
87 + eerror "following the PAM Upgrade guide at the following URL"
88 + eerror " https://wiki.gentoo.org/wiki/Project:PAM/Upgrade_to_0.99"
89 + eerror ""
90 +
91 + retval=1
92 + fi
93 +
94 + if sed -e 's:#.*::' "${EROOT}"/etc/pam.d/* 2>/dev/null | egrep -q 'pam_(pwdb|console)'; then
95 + eerror ""
96 + eerror "Your current setup is using one or more of the following modules,"
97 + eerror "that are not built or supported anymore:"
98 + eerror "pam_pwdb, pam_console"
99 + eerror "If you are in real need for these modules, please contact the maintainers"
100 + eerror "of PAM through https://bugs.gentoo.org/ providing information about its"
101 + eerror "use cases."
102 + eerror "Please also make sure to read the PAM Upgrade guide at the following URL:"
103 + eerror " https://wiki.gentoo.org/wiki/Project:PAM/Upgrade_to_0.99"
104 + eerror ""
105 +
106 + retval=1
107 + fi
108 +
109 + return ${retval}
110 +}
111 +
112 +pkg_pretend() {
113 + # do not error out, this is just a warning, one could build a binpkg
114 + # with old modules enabled.
115 + check_old_modules
116 +}
117 +
118 +src_prepare() {
119 + # Fix non-POSIX shell code.
120 + # https://fedorahosted.org/linux-pam/ticket/60
121 + sed -i \
122 + -e '/ test /s:==:=:' \
123 + configure || die
124 +
125 + epatch "${FILESDIR}"/${PN}-1.2.1-fix-compat.patch
126 +# epatch "${FILESDIR}"/${PN}-1.2.1-innetgr.patch
127 + epatch "${FILESDIR}"/${PN}-1.2.1-no-strndupa.patch
128 +
129 + # disable insecure modules (musl-libc doesn't implement the functions anyway)
130 + use elibc_musl && sed -e 's/pam_rhosts//g' -i modules/Makefile.am modules/Makefile.in
131 + elibtoolize
132 +}
133 +
134 +multilib_src_configure() {
135 + # Do not let user's BROWSER setting mess us up. #549684
136 + unset BROWSER
137 +
138 + # Disable automatic detection of libxcrypt; we _don't_ want the
139 + # user to link libxcrypt in by default, since we won't track the
140 + # dependency and allow to break PAM this way.
141 + export ac_cv_header_xcrypt_h=no
142 +
143 + # Disable automatic detection of libcrypt
144 + use elibc_musl && export ac_cv_search_crypt=no
145 +
146 + local myconf=(
147 + --docdir='$(datarootdir)'/doc/${PF}
148 + --htmldir='$(docdir)/html'
149 + --libdir='$(prefix)'/$(get_libdir)
150 + --enable-securedir="${EPREFIX}"/$(get_libdir)/security
151 + --enable-isadir='.' #464016
152 + $(use_enable nls)
153 + $(use_enable selinux)
154 + $(use_enable cracklib)
155 + $(use_enable audit)
156 + $(use_enable debug)
157 + $(use_enable berkdb db)
158 + $(use_enable nis)
159 + $(use_enable pie)
160 + --with-db-uniquename=-$(db_findver sys-libs/db)
161 + --disable-prelude
162 + --disable-regenerate-docu
163 + )
164 +
165 + ECONF_SOURCE=${S} \
166 + econf "${myconf[@]}"
167 +}
168 +
169 +multilib_src_compile() {
170 + emake sepermitlockdir="${EPREFIX}/run/sepermit"
171 +}
172 +
173 +multilib_src_install() {
174 + emake DESTDIR="${D}" install \
175 + sepermitlockdir="${EPREFIX}/run/sepermit"
176 +
177 + local prefix
178 + if multilib_is_native_abi; then
179 + prefix=
180 + gen_usr_ldscript -a pam pamc pam_misc
181 + else
182 + prefix=/usr
183 + fi
184 +
185 + # create extra symlinks just in case something depends on them...
186 + local lib
187 + for lib in pam pamc pam_misc; do
188 + if ! [[ -f "${ED}"${prefix}/$(get_libdir)/lib${lib}$(get_libname) ]]; then
189 + dosym lib${lib}$(get_libname 0) ${prefix}/$(get_libdir)/lib${lib}$(get_libname)
190 + fi
191 + done
192 +}
193 +
194 +DOCS=( CHANGELOG ChangeLog README AUTHORS Copyright NEWS )
195 +
196 +multilib_src_install_all() {
197 + einstalldocs
198 + prune_libtool_files --all
199 +
200 + docinto modules
201 + local dir
202 + for dir in modules/pam_*; do
203 + newdoc "${dir}"/README README."$(basename "${dir}")"
204 + done
205 +
206 + if use selinux; then
207 + dodir /usr/lib/tmpfiles.d
208 + cat - > "${D}"/usr/lib/tmpfiles.d/${CATEGORY}:${PN}:${SLOT}.conf <<EOF
209 +d /run/sepermit 0755 root root
210 +EOF
211 + fi
212 +}
213 +
214 +pkg_preinst() {
215 + check_old_modules || die "deprecated PAM modules still used"
216 +}
217 +
218 +pkg_postinst() {
219 + ewarn "Some software with pre-loaded PAM libraries might experience"
220 + ewarn "warnings or failures related to missing symbols and/or versions"
221 + ewarn "after any update. While unfortunate this is a limit of the"
222 + ewarn "implementation of PAM and the software, and it requires you to"
223 + ewarn "restart the software manually after the update."
224 + ewarn ""
225 + ewarn "You can get a list of such software running a command like"
226 + ewarn " lsof / | egrep -i 'del.*libpam\\.so'"
227 + ewarn ""
228 + ewarn "Alternatively, simply reboot your system."
229 + if [[ -x "${EROOT}"/var/log/tallylog ]] ; then
230 + elog ""
231 + elog "Because of a bug present up to version 1.1.1-r2, you have"
232 + elog "an executable /var/log/tallylog file. You can safely"
233 + elog "correct it by running the command"
234 + elog " chmod -x /var/log/tallylog"
235 + elog ""
236 + fi
237 +
238 + # The pam_unix module needs to check the password of the user which requires
239 + # read access to /etc/shadow only.
240 + fcaps cap_dac_override sbin/unix_chkpwd
241 +}