source: scripts/scripts/native-scripts/native-shadow.sh @ 7f65c0e

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 7f65c0e was 7f65c0e, checked in by Jim Gifford <clfs@…>, 18 years ago

r625@server (orig r623): jim | 2005-10-31 12:43:24 -0800
Final Move

  • Property mode set to 100755
File size: 2.7 KB
Line 
1#!/bin/bash
2
3# cross-lfs native shadow build
4# -----------------------------
5# $LastChangedBy$
6# $LastChangedDate$
7# $LastChangedRevision$
8# $HeadURL$
9#
10
11cd ${SRC}
12LOG="shadow-native.log"
13
14SELF=`basename ${0}`
15set_buildenv
16set_libdirname
17setup_multiarch
18
19if [ ! "${libdirname}" = "lib" ]; then
20   extra_conf="--libdir=/usr/${libdirname}"
21fi
22
23unpack_tarball shadow-${SHADOW_VER} &&
24cd ${PKGDIR}
25
26# HACK
27# Issue noted with glibc-2.3-20040701 and linux-libc-headers-2.6.7
28test -f libmisc/xmalloc.c-ORIG ||
29   cp -p libmisc/xmalloc.c libmisc/xmalloc.c-ORIG
30
31sed 's@^extern char \*malloc ();@/* & */@g' \
32   libmisc/xmalloc.c-ORIG > libmisc/xmalloc.c
33
34# fix lastlog for shadow-4.0.7
35case ${SHADOW_VER} in
36   4.0.7 )
37      apply_patch shadow-4.0.7-fix_lastlog-1
38   ;;
39esac
40
41# Set to Y if you want a shared libmisc and libshadow and have
42# passwd etc linked dynamically to these
43BUILD_SHADOW_SHARED="Y"
44
45# If not there touch /usr/bin/passwd
46test -f /usr/bin/passwd || touch /usr/bin/passwd
47
48test Y = "${BUILD_SHADOW_SHARED}" &&
49   extra_conf="${extra_conf} --enable-shared"
50
51max_log_init Shadow ${SHADOW_VER} "native (shared)" ${CONFLOGS} ${LOG}
52CC="${CC-gcc} ${ARCH_CFLAGS}" \
53CFLAGS="-O2 -pipe ${TGT_CFLAGS}" \
54./configure --prefix=/usr ${extra_conf} \
55   --mandir=/usr/share/man \
56   >> ${LOGFILE} 2>&1 &&
57echo " o Configure OK" &&
58
59min_log_init ${BUILDLOGS} &&
60make LDFLAGS="-s" \
61   >> ${LOGFILE} 2>&1 &&
62echo " o Build OK" &&
63
64min_log_init ${TESTLOGS} &&
65make check \
66   >>  ${LOGFILE} 2>&1 &&
67echo " o Test OK" &&
68
69min_log_init ${INSTLOGS} &&
70make install \
71   >> ${LOGFILE} 2>&1 &&
72echo " o ALL OK" || barf
73
74shadowfiles="limits login.access"
75for file in ${shadowfiles} ; do
76   test -f /etc/${file} ||
77   {
78      cp -v etc/${file} /etc
79      chmod -c 644 /etc/limits
80   }
81done
82
83# LFS:  User mailboxes belong in /var/mail not /var/spool/mail
84# From Nico's: use MD5
85sed -e 's%/var/spool/mail%/var/mail%' \
86    -e 's%^#MD5_CRYPT_ENAB.*no%MD5_CRYPT_ENAB yes%' \
87    etc/login.defs.linux > /etc/login.defs
88
89ln -sf vipw /usr/sbin/vigr
90# Nico: create symlink for vigr man page
91ln -sf vipw.8 /usr/share/man/man8/vigr.8
92rm -f /bin/vipw
93mv -f /bin/sg /usr/bin
94
95# Only need to move these if we built shared
96# TODO: 4.0.6 seems we only need to move libshadow...
97#       4.0.7, the below shouldn't be required
98#       Must revisit this script... though what we do here doesn't hurt...
99test Y = "${BUILD_SHADOW_SHARED}" &&
100{
101   mv -f /usr/${libdirname}/lib{shadow,misc}.so.0* /${libdirname} 
102   ln -sf ../../${libdirname}/libshadow.so.0 /usr/${libdirname}/libshadow.so
103   ln -sf ../../${libdirname}/libmisc.so.0 /usr/${libdirname}/libmisc.so
104   ldconfig
105}
106
107# Create shadow password file if not already built
108test -f /etc/shadow ||
109   /usr/sbin/pwconv
110
Note: See TracBrowser for help on using the repository browser.