1 |
commit: b0ced97b588ac34ba5730ff812248e4e7f2af1cd |
2 |
Author: David Michael <fedora.dm0 <AT> gmail <DOT> com> |
3 |
AuthorDate: Mon Mar 29 15:28:36 2021 +0000 |
4 |
Commit: William Hubbs <williamh <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Apr 16 16:25:51 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0ced97b |
7 |
|
8 |
sys-apps/baselayout: EAPI 7, fix RISC-V UsrMerge, sync live |
9 |
|
10 |
This fixes the UsrMerge layout on RISC-V with its subdirectory |
11 |
libdirs so that only lib and lib64 and links. |
12 |
|
13 |
It also updates the test for bad shells to look in the target root. |
14 |
|
15 |
Closes: https://bugs.gentoo.org/728674 |
16 |
Signed-off-by: David Michael <fedora.dm0 <AT> gmail.com> |
17 |
Signed-off-by: William Hubbs <williamh <AT> gentoo.org> |
18 |
|
19 |
...layout-9999.ebuild => baselayout-2.7-r2.ebuild} | 74 ++++++++++++---------- |
20 |
sys-apps/baselayout/baselayout-9999.ebuild | 74 ++++++++++++---------- |
21 |
2 files changed, 82 insertions(+), 66 deletions(-) |
22 |
|
23 |
diff --git a/sys-apps/baselayout/baselayout-9999.ebuild b/sys-apps/baselayout/baselayout-2.7-r2.ebuild |
24 |
similarity index 82% |
25 |
copy from sys-apps/baselayout/baselayout-9999.ebuild |
26 |
copy to sys-apps/baselayout/baselayout-2.7-r2.ebuild |
27 |
index ee4f298e840..a37d17f3b8d 100644 |
28 |
--- a/sys-apps/baselayout/baselayout-9999.ebuild |
29 |
+++ b/sys-apps/baselayout/baselayout-2.7-r2.ebuild |
30 |
@@ -1,9 +1,9 @@ |
31 |
-# Copyright 1999-2020 Gentoo Authors |
32 |
+# Copyright 1999-2021 Gentoo Authors |
33 |
# Distributed under the terms of the GNU General Public License v2 |
34 |
|
35 |
-EAPI=6 |
36 |
+EAPI=7 |
37 |
|
38 |
-inherit multilib versionator prefix |
39 |
+inherit multilib prefix |
40 |
|
41 |
DESCRIPTION="Filesystem baselayout and init scripts" |
42 |
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" |
43 |
@@ -29,10 +29,9 @@ multilib_layout() { |
44 |
local prefix prefix_lst |
45 |
def_libdir=$(get_abi_LIBDIR $DEFAULT_ABI) |
46 |
libdirs=$(get_all_libdirs) |
47 |
- : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass... |
48 |
|
49 |
if [[ -z "${SYMLINK_LIB}" || ${SYMLINK_LIB} = no ]] ; then |
50 |
- prefix_lst=( "${EROOT}"{,usr/,usr/local/} ) |
51 |
+ prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) |
52 |
for prefix in "${prefix_lst[@]}"; do |
53 |
for libdir in ${libdirs}; do |
54 |
dir="${prefix}${libdir}" |
55 |
@@ -41,10 +40,12 @@ multilib_layout() { |
56 |
die "${dir} exists but is not a directory" |
57 |
continue |
58 |
fi |
59 |
- if ! use split-usr && [[ ${prefix} = ${EROOT} ]]; then |
60 |
+ if ! use split-usr && [[ ${prefix} = ${EROOT}/ ]]; then |
61 |
+ libdir="${libdir%%/*}" |
62 |
+ dir="${prefix}${libdir}" |
63 |
einfo "symlinking ${dir} to usr/${libdir}" |
64 |
ln -s usr/${libdir} ${dir} || |
65 |
- die " Unable to make ${dir} symlink" |
66 |
+ die "Unable to make ${dir} symlink" |
67 |
else |
68 |
einfo "creating directory ${dir}" |
69 |
mkdir -p "${dir}" || |
70 |
@@ -88,9 +89,9 @@ multilib_layout() { |
71 |
# setup symlinks and dirs where we expect them to be; do not migrate |
72 |
# data ... just fall over in that case. |
73 |
if use split-usr ; then |
74 |
- prefix_lst=( "${EROOT}"{,usr/,usr/local/} ) |
75 |
+ prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) |
76 |
else |
77 |
- prefix_lst=( "${EROOT}"{usr/,usr/local/} ) |
78 |
+ prefix_lst=( "${EROOT}"/{usr/,usr/local/} ) |
79 |
fi |
80 |
for prefix in "${prefix_lst[@]}"; do |
81 |
if [ "${SYMLINK_LIB}" = yes ] ; then |
82 |
@@ -101,7 +102,7 @@ multilib_layout() { |
83 |
elif [ -d "${prefix}lib" ] ; then |
84 |
# "lib" is a dir, so need to convert to a symlink |
85 |
ewarn "Converting ${prefix}lib from a dir to a symlink" |
86 |
- rm -f "${prefix}lib"/.keep |
87 |
+ rm -f "${prefix}lib"/.keep || die |
88 |
if rmdir "${prefix}lib" 2>/dev/null ; then |
89 |
ln -s ${def_libdir} "${prefix}lib" || die |
90 |
else |
91 |
@@ -113,7 +114,7 @@ multilib_layout() { |
92 |
mkdir -p "${prefix}" || die |
93 |
rm -f "${prefix}lib" || die |
94 |
ln -s ${def_libdir} "${prefix}lib" || die |
95 |
- mkdir -p "${prefix}${def_libdir}" #423571 |
96 |
+ mkdir -p "${prefix}${def_libdir}" || die #423571 |
97 |
fi |
98 |
else |
99 |
# we need to make sure "lib" is a dir |
100 |
@@ -135,7 +136,7 @@ multilib_layout() { |
101 |
*-gentoo-freebsd*) ;; # We want it the other way on fbsd. |
102 |
i?86*|x86_64*|powerpc*|sparc*|s390*) |
103 |
if [[ -d ${prefix}lib32 && ! -h ${prefix}lib32 ]] ; then |
104 |
- rm -f "${prefix}lib32"/.keep |
105 |
+ rm -f "${prefix}lib32"/.keep || die |
106 |
if ! rmdir "${prefix}lib32" 2>/dev/null ; then |
107 |
ewarn "You need to merge ${prefix}lib32 into ${prefix}lib" |
108 |
die "non-empty dir found where there should be none: ${prefix}lib32" |
109 |
@@ -154,7 +155,7 @@ multilib_layout() { |
110 |
for libdir in ${libdirs}; do |
111 |
if [[ ! -e "${EROOT}${libdir}" ]]; then |
112 |
ln -s usr/"${libdir}" "${EROOT}${libdir}" || |
113 |
- die " Unable to make ${EROOT}${libdir} symlink" |
114 |
+ die "Unable to make ${EROOT}${libdir} symlink" |
115 |
fi |
116 |
done |
117 |
fi |
118 |
@@ -164,7 +165,7 @@ pkg_preinst() { |
119 |
# This is written in src_install (so it's in CONTENTS), but punt all |
120 |
# pending updates to avoid user having to do etc-update (and make the |
121 |
# pkg_postinst logic simpler). |
122 |
- rm -f "${EROOT}"/etc/._cfg????_gentoo-release |
123 |
+ rm -f "${EROOT}"/etc/._cfg????_gentoo-release || die |
124 |
|
125 |
# We need to install directories and maybe some dev nodes when building |
126 |
# stages, but they cannot be in CONTENTS. |
127 |
@@ -177,7 +178,7 @@ pkg_preinst() { |
128 |
emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" layout-usrmerge |
129 |
fi |
130 |
fi |
131 |
- rm -f "${ED}"/usr/share/${PN}/Makefile |
132 |
+ rm -f "${ED}"/usr/share/${PN}/Makefile || die |
133 |
} |
134 |
|
135 |
src_prepare() { |
136 |
@@ -223,11 +224,16 @@ src_install() { |
137 |
DESTDIR="${ED}" \ |
138 |
install |
139 |
dodoc ChangeLog |
140 |
- rm "${ED}"/etc/sysctl.d/README |
141 |
+ rm "${ED}"/etc/sysctl.d/README || die |
142 |
|
143 |
# need the makefile in pkg_preinst |
144 |
insinto /usr/share/${PN} |
145 |
doins Makefile |
146 |
+ |
147 |
+ # This is needed for https://bugs.gentoo.org/732142 |
148 |
+ dodir /usr/lib |
149 |
+ mv "${ED}"/etc/os-release "${ED}"/usr/lib || die |
150 |
+ dosym ../usr/lib/os-release /etc/os-release |
151 |
} |
152 |
|
153 |
pkg_postinst() { |
154 |
@@ -239,23 +245,25 @@ pkg_postinst() { |
155 |
# (3) accidentally packaging up personal files with quickpkg |
156 |
# If they don't exist then we install them |
157 |
for x in master.passwd passwd shadow group fstab ; do |
158 |
- [ -e "${EROOT}etc/${x}" ] && continue |
159 |
- [ -e "${EROOT}usr/share/baselayout/${x}" ] || continue |
160 |
- cp -p "${EROOT}usr/share/baselayout/${x}" "${EROOT}"etc |
161 |
+ [ -e "${EROOT}/etc/${x}" ] && continue |
162 |
+ [ -e "${EROOT}/usr/share/baselayout/${x}" ] || continue |
163 |
+ cp -p "${EROOT}/usr/share/baselayout/${x}" "${EROOT}"/etc || die |
164 |
done |
165 |
|
166 |
# Force shadow permissions to not be world-readable #260993 |
167 |
for x in shadow ; do |
168 |
- [ -e "${EROOT}etc/${x}" ] && chmod o-rwx "${EROOT}etc/${x}" |
169 |
+ if [ -e "${EROOT}/etc/${x}" ] ; then |
170 |
+ chmod o-rwx "${EROOT}/etc/${x}" || die |
171 |
+ fi |
172 |
done |
173 |
|
174 |
# Take care of the etc-update for the user |
175 |
- if [ -e "${EROOT}"etc/._cfg0000_gentoo-release ] ; then |
176 |
- mv "${EROOT}"etc/._cfg0000_gentoo-release "${EROOT}"etc/gentoo-release |
177 |
+ if [ -e "${EROOT}"/etc/._cfg0000_gentoo-release ] ; then |
178 |
+ mv "${EROOT}"/etc/._cfg0000_gentoo-release "${EROOT}"/etc/gentoo-release || die |
179 |
fi |
180 |
|
181 |
# whine about users that lack passwords #193541 |
182 |
- if [[ -e "${EROOT}"etc/shadow ]] ; then |
183 |
+ if [[ -e "${EROOT}"/etc/shadow ]] ; then |
184 |
local bad_users=$(sed -n '/^[^:]*::/s|^\([^:]*\)::.*|\1|p' "${EROOT}"/etc/shadow) |
185 |
if [[ -n ${bad_users} ]] ; then |
186 |
echo |
187 |
@@ -265,8 +273,8 @@ pkg_postinst() { |
188 |
fi |
189 |
|
190 |
# whine about users with invalid shells #215698 |
191 |
- if [[ -e "${EROOT}"etc/passwd ]] ; then |
192 |
- local bad_shells=$(awk -F: 'system("test -e " $7) { print $1 " - " $7}' "${EROOT}"etc/passwd | sort) |
193 |
+ if [[ -e "${EROOT}"/etc/passwd ]] ; then |
194 |
+ local bad_shells=$(awk -F: 'system("test -e ${ROOT}" $7) { print $1 " - " $7}' "${EROOT}"/etc/passwd | sort) |
195 |
if [[ -n ${bad_shells} ]] ; then |
196 |
echo |
197 |
ewarn "The following users have non-existent shells!" |
198 |
@@ -276,35 +284,35 @@ pkg_postinst() { |
199 |
|
200 |
# https://bugs.gentoo.org/361349 |
201 |
if use kernel_linux; then |
202 |
- mkdir -p "${EROOT}"run |
203 |
+ mkdir -p "${EROOT}"/run || die |
204 |
|
205 |
local found fstype mountpoint |
206 |
while read -r _ mountpoint fstype _; do |
207 |
[[ ${mountpoint} = /run ]] && [[ ${fstype} = tmpfs ]] && found=1 |
208 |
- done < "${ROOT}"proc/mounts |
209 |
+ done < "${ROOT}"/proc/mounts |
210 |
[[ -z ${found} ]] && |
211 |
ewarn "You should reboot now to get /run mounted with tmpfs!" |
212 |
fi |
213 |
|
214 |
for x in ${REPLACING_VERSIONS}; do |
215 |
- if ! version_is_at_least 2.4 ${x}; then |
216 |
- ewarn "After updating ${EROOT}etc/profile, please run" |
217 |
+ if ver_test 2.4 -lt ${x}; then |
218 |
+ ewarn "After updating ${EROOT}/etc/profile, please run" |
219 |
ewarn "env-update && . /etc/profile" |
220 |
fi |
221 |
|
222 |
- if ! version_is_at_least 2.6 ${x}; then |
223 |
+ if ver_test 2.6 -lt ${x}; then |
224 |
ewarn "Please run env-update then log out and back in to" |
225 |
ewarn "update your path." |
226 |
fi |
227 |
# clean up after 2.5 typos |
228 |
# https://bugs.gentoo.org/show_bug.cgi?id=656380 |
229 |
if [[ ${x} == 2.5 ]]; then |
230 |
- rm -fr "${EROOT}{,usr" |
231 |
+ rm -fr "${EROOT}/{,usr" || die |
232 |
fi |
233 |
done |
234 |
|
235 |
- if [[ -e "${EROOT}"etc/env.d/00basic ]]; then |
236 |
- ewarn "${EROOT}etc/env.d/00basic is now ${EROOT}etc/env.d/50baselayout" |
237 |
+ if [[ -e "${EROOT}"/etc/env.d/00basic ]]; then |
238 |
+ ewarn "${EROOT}/etc/env.d/00basic is now ${EROOT}/etc/env.d/50baselayout" |
239 |
ewarn "Please migrate your changes." |
240 |
fi |
241 |
} |
242 |
|
243 |
diff --git a/sys-apps/baselayout/baselayout-9999.ebuild b/sys-apps/baselayout/baselayout-9999.ebuild |
244 |
index ee4f298e840..a37d17f3b8d 100644 |
245 |
--- a/sys-apps/baselayout/baselayout-9999.ebuild |
246 |
+++ b/sys-apps/baselayout/baselayout-9999.ebuild |
247 |
@@ -1,9 +1,9 @@ |
248 |
-# Copyright 1999-2020 Gentoo Authors |
249 |
+# Copyright 1999-2021 Gentoo Authors |
250 |
# Distributed under the terms of the GNU General Public License v2 |
251 |
|
252 |
-EAPI=6 |
253 |
+EAPI=7 |
254 |
|
255 |
-inherit multilib versionator prefix |
256 |
+inherit multilib prefix |
257 |
|
258 |
DESCRIPTION="Filesystem baselayout and init scripts" |
259 |
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" |
260 |
@@ -29,10 +29,9 @@ multilib_layout() { |
261 |
local prefix prefix_lst |
262 |
def_libdir=$(get_abi_LIBDIR $DEFAULT_ABI) |
263 |
libdirs=$(get_all_libdirs) |
264 |
- : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass... |
265 |
|
266 |
if [[ -z "${SYMLINK_LIB}" || ${SYMLINK_LIB} = no ]] ; then |
267 |
- prefix_lst=( "${EROOT}"{,usr/,usr/local/} ) |
268 |
+ prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) |
269 |
for prefix in "${prefix_lst[@]}"; do |
270 |
for libdir in ${libdirs}; do |
271 |
dir="${prefix}${libdir}" |
272 |
@@ -41,10 +40,12 @@ multilib_layout() { |
273 |
die "${dir} exists but is not a directory" |
274 |
continue |
275 |
fi |
276 |
- if ! use split-usr && [[ ${prefix} = ${EROOT} ]]; then |
277 |
+ if ! use split-usr && [[ ${prefix} = ${EROOT}/ ]]; then |
278 |
+ libdir="${libdir%%/*}" |
279 |
+ dir="${prefix}${libdir}" |
280 |
einfo "symlinking ${dir} to usr/${libdir}" |
281 |
ln -s usr/${libdir} ${dir} || |
282 |
- die " Unable to make ${dir} symlink" |
283 |
+ die "Unable to make ${dir} symlink" |
284 |
else |
285 |
einfo "creating directory ${dir}" |
286 |
mkdir -p "${dir}" || |
287 |
@@ -88,9 +89,9 @@ multilib_layout() { |
288 |
# setup symlinks and dirs where we expect them to be; do not migrate |
289 |
# data ... just fall over in that case. |
290 |
if use split-usr ; then |
291 |
- prefix_lst=( "${EROOT}"{,usr/,usr/local/} ) |
292 |
+ prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) |
293 |
else |
294 |
- prefix_lst=( "${EROOT}"{usr/,usr/local/} ) |
295 |
+ prefix_lst=( "${EROOT}"/{usr/,usr/local/} ) |
296 |
fi |
297 |
for prefix in "${prefix_lst[@]}"; do |
298 |
if [ "${SYMLINK_LIB}" = yes ] ; then |
299 |
@@ -101,7 +102,7 @@ multilib_layout() { |
300 |
elif [ -d "${prefix}lib" ] ; then |
301 |
# "lib" is a dir, so need to convert to a symlink |
302 |
ewarn "Converting ${prefix}lib from a dir to a symlink" |
303 |
- rm -f "${prefix}lib"/.keep |
304 |
+ rm -f "${prefix}lib"/.keep || die |
305 |
if rmdir "${prefix}lib" 2>/dev/null ; then |
306 |
ln -s ${def_libdir} "${prefix}lib" || die |
307 |
else |
308 |
@@ -113,7 +114,7 @@ multilib_layout() { |
309 |
mkdir -p "${prefix}" || die |
310 |
rm -f "${prefix}lib" || die |
311 |
ln -s ${def_libdir} "${prefix}lib" || die |
312 |
- mkdir -p "${prefix}${def_libdir}" #423571 |
313 |
+ mkdir -p "${prefix}${def_libdir}" || die #423571 |
314 |
fi |
315 |
else |
316 |
# we need to make sure "lib" is a dir |
317 |
@@ -135,7 +136,7 @@ multilib_layout() { |
318 |
*-gentoo-freebsd*) ;; # We want it the other way on fbsd. |
319 |
i?86*|x86_64*|powerpc*|sparc*|s390*) |
320 |
if [[ -d ${prefix}lib32 && ! -h ${prefix}lib32 ]] ; then |
321 |
- rm -f "${prefix}lib32"/.keep |
322 |
+ rm -f "${prefix}lib32"/.keep || die |
323 |
if ! rmdir "${prefix}lib32" 2>/dev/null ; then |
324 |
ewarn "You need to merge ${prefix}lib32 into ${prefix}lib" |
325 |
die "non-empty dir found where there should be none: ${prefix}lib32" |
326 |
@@ -154,7 +155,7 @@ multilib_layout() { |
327 |
for libdir in ${libdirs}; do |
328 |
if [[ ! -e "${EROOT}${libdir}" ]]; then |
329 |
ln -s usr/"${libdir}" "${EROOT}${libdir}" || |
330 |
- die " Unable to make ${EROOT}${libdir} symlink" |
331 |
+ die "Unable to make ${EROOT}${libdir} symlink" |
332 |
fi |
333 |
done |
334 |
fi |
335 |
@@ -164,7 +165,7 @@ pkg_preinst() { |
336 |
# This is written in src_install (so it's in CONTENTS), but punt all |
337 |
# pending updates to avoid user having to do etc-update (and make the |
338 |
# pkg_postinst logic simpler). |
339 |
- rm -f "${EROOT}"/etc/._cfg????_gentoo-release |
340 |
+ rm -f "${EROOT}"/etc/._cfg????_gentoo-release || die |
341 |
|
342 |
# We need to install directories and maybe some dev nodes when building |
343 |
# stages, but they cannot be in CONTENTS. |
344 |
@@ -177,7 +178,7 @@ pkg_preinst() { |
345 |
emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" layout-usrmerge |
346 |
fi |
347 |
fi |
348 |
- rm -f "${ED}"/usr/share/${PN}/Makefile |
349 |
+ rm -f "${ED}"/usr/share/${PN}/Makefile || die |
350 |
} |
351 |
|
352 |
src_prepare() { |
353 |
@@ -223,11 +224,16 @@ src_install() { |
354 |
DESTDIR="${ED}" \ |
355 |
install |
356 |
dodoc ChangeLog |
357 |
- rm "${ED}"/etc/sysctl.d/README |
358 |
+ rm "${ED}"/etc/sysctl.d/README || die |
359 |
|
360 |
# need the makefile in pkg_preinst |
361 |
insinto /usr/share/${PN} |
362 |
doins Makefile |
363 |
+ |
364 |
+ # This is needed for https://bugs.gentoo.org/732142 |
365 |
+ dodir /usr/lib |
366 |
+ mv "${ED}"/etc/os-release "${ED}"/usr/lib || die |
367 |
+ dosym ../usr/lib/os-release /etc/os-release |
368 |
} |
369 |
|
370 |
pkg_postinst() { |
371 |
@@ -239,23 +245,25 @@ pkg_postinst() { |
372 |
# (3) accidentally packaging up personal files with quickpkg |
373 |
# If they don't exist then we install them |
374 |
for x in master.passwd passwd shadow group fstab ; do |
375 |
- [ -e "${EROOT}etc/${x}" ] && continue |
376 |
- [ -e "${EROOT}usr/share/baselayout/${x}" ] || continue |
377 |
- cp -p "${EROOT}usr/share/baselayout/${x}" "${EROOT}"etc |
378 |
+ [ -e "${EROOT}/etc/${x}" ] && continue |
379 |
+ [ -e "${EROOT}/usr/share/baselayout/${x}" ] || continue |
380 |
+ cp -p "${EROOT}/usr/share/baselayout/${x}" "${EROOT}"/etc || die |
381 |
done |
382 |
|
383 |
# Force shadow permissions to not be world-readable #260993 |
384 |
for x in shadow ; do |
385 |
- [ -e "${EROOT}etc/${x}" ] && chmod o-rwx "${EROOT}etc/${x}" |
386 |
+ if [ -e "${EROOT}/etc/${x}" ] ; then |
387 |
+ chmod o-rwx "${EROOT}/etc/${x}" || die |
388 |
+ fi |
389 |
done |
390 |
|
391 |
# Take care of the etc-update for the user |
392 |
- if [ -e "${EROOT}"etc/._cfg0000_gentoo-release ] ; then |
393 |
- mv "${EROOT}"etc/._cfg0000_gentoo-release "${EROOT}"etc/gentoo-release |
394 |
+ if [ -e "${EROOT}"/etc/._cfg0000_gentoo-release ] ; then |
395 |
+ mv "${EROOT}"/etc/._cfg0000_gentoo-release "${EROOT}"/etc/gentoo-release || die |
396 |
fi |
397 |
|
398 |
# whine about users that lack passwords #193541 |
399 |
- if [[ -e "${EROOT}"etc/shadow ]] ; then |
400 |
+ if [[ -e "${EROOT}"/etc/shadow ]] ; then |
401 |
local bad_users=$(sed -n '/^[^:]*::/s|^\([^:]*\)::.*|\1|p' "${EROOT}"/etc/shadow) |
402 |
if [[ -n ${bad_users} ]] ; then |
403 |
echo |
404 |
@@ -265,8 +273,8 @@ pkg_postinst() { |
405 |
fi |
406 |
|
407 |
# whine about users with invalid shells #215698 |
408 |
- if [[ -e "${EROOT}"etc/passwd ]] ; then |
409 |
- local bad_shells=$(awk -F: 'system("test -e " $7) { print $1 " - " $7}' "${EROOT}"etc/passwd | sort) |
410 |
+ if [[ -e "${EROOT}"/etc/passwd ]] ; then |
411 |
+ local bad_shells=$(awk -F: 'system("test -e ${ROOT}" $7) { print $1 " - " $7}' "${EROOT}"/etc/passwd | sort) |
412 |
if [[ -n ${bad_shells} ]] ; then |
413 |
echo |
414 |
ewarn "The following users have non-existent shells!" |
415 |
@@ -276,35 +284,35 @@ pkg_postinst() { |
416 |
|
417 |
# https://bugs.gentoo.org/361349 |
418 |
if use kernel_linux; then |
419 |
- mkdir -p "${EROOT}"run |
420 |
+ mkdir -p "${EROOT}"/run || die |
421 |
|
422 |
local found fstype mountpoint |
423 |
while read -r _ mountpoint fstype _; do |
424 |
[[ ${mountpoint} = /run ]] && [[ ${fstype} = tmpfs ]] && found=1 |
425 |
- done < "${ROOT}"proc/mounts |
426 |
+ done < "${ROOT}"/proc/mounts |
427 |
[[ -z ${found} ]] && |
428 |
ewarn "You should reboot now to get /run mounted with tmpfs!" |
429 |
fi |
430 |
|
431 |
for x in ${REPLACING_VERSIONS}; do |
432 |
- if ! version_is_at_least 2.4 ${x}; then |
433 |
- ewarn "After updating ${EROOT}etc/profile, please run" |
434 |
+ if ver_test 2.4 -lt ${x}; then |
435 |
+ ewarn "After updating ${EROOT}/etc/profile, please run" |
436 |
ewarn "env-update && . /etc/profile" |
437 |
fi |
438 |
|
439 |
- if ! version_is_at_least 2.6 ${x}; then |
440 |
+ if ver_test 2.6 -lt ${x}; then |
441 |
ewarn "Please run env-update then log out and back in to" |
442 |
ewarn "update your path." |
443 |
fi |
444 |
# clean up after 2.5 typos |
445 |
# https://bugs.gentoo.org/show_bug.cgi?id=656380 |
446 |
if [[ ${x} == 2.5 ]]; then |
447 |
- rm -fr "${EROOT}{,usr" |
448 |
+ rm -fr "${EROOT}/{,usr" || die |
449 |
fi |
450 |
done |
451 |
|
452 |
- if [[ -e "${EROOT}"etc/env.d/00basic ]]; then |
453 |
- ewarn "${EROOT}etc/env.d/00basic is now ${EROOT}etc/env.d/50baselayout" |
454 |
+ if [[ -e "${EROOT}"/etc/env.d/00basic ]]; then |
455 |
+ ewarn "${EROOT}/etc/env.d/00basic is now ${EROOT}/etc/env.d/50baselayout" |
456 |
ewarn "Please migrate your changes." |
457 |
fi |
458 |
} |