forked from pool/aaa_base
Accepting request 47594 from Base:System
Copy from Base:System/aaa_base based on submit request 47594 from user coolo OBS-URL: https://build.opensuse.org/request/show/47594 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/aaa_base?expand=0&rev=216
This commit is contained in:
commit
6bb97a2a7c
@ -1,3 +1,17 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 8 11:43:23 CEST 2010 - ro@suse.de
|
||||
|
||||
- add leading / to pre/post scripts (bnc#625763)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 3 19:43:51 UTC 2010 - trenn@novell.com
|
||||
|
||||
- Recognize "+" at the end of the kernel version correctly.
|
||||
From mmarek:
|
||||
Starting with 2.6.35, the kernel build by default appends a plus sign to
|
||||
the kernel version string when building in a git tree that is not in a clean
|
||||
tagged state.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 27 15:05:22 CEST 2010 - ro@suse.de
|
||||
|
||||
|
121
aaa_base.post
121
aaa_base.post
@ -9,29 +9,29 @@
|
||||
# Run this script in C-Locale, or some tools will fail.
|
||||
export LC_ALL=C
|
||||
#
|
||||
# to make shure, var/lib/YaST/bin/bootsetup runs fine, delete
|
||||
# usr/lib/YaST/.configured2
|
||||
test -e usr/lib/YaST/.configured2 && rm -f usr/lib/YaST/.configured2
|
||||
# to make sure, /var/lib/YaST/bin/bootsetup runs fine, delete
|
||||
# /usr/lib/YaST/.configured2
|
||||
test -e /usr/lib/YaST/.configured2 && rm -f /usr/lib/YaST/.configured2
|
||||
#
|
||||
# there are some installation with an etc/psdevtab, which is only readable
|
||||
# for root - this slows ps for any other user. starting ps as root, creates
|
||||
# it, when it doesn't exist (readable). So simply delete it.
|
||||
#
|
||||
test -e etc/psdevtab && rm -f etc/psdevtab
|
||||
test -e /etc/psdevtab && rm -f /etc/psdevtab
|
||||
#
|
||||
# if the old nsswitch.conf contains dns6, replace it with dns
|
||||
#
|
||||
test -f etc/nsswitch.conf.rpmnew && grep dns6 etc/nsswitch.conf >/dev/null 2>&1 && {
|
||||
sed -i -e "s|dns6|dns|g" etc/nsswitch.conf
|
||||
test -f /etc/nsswitch.conf.rpmnew && grep dns6 /etc/nsswitch.conf >/dev/null 2>&1 && {
|
||||
sed -i -e "s|dns6|dns|g" /etc/nsswitch.conf
|
||||
}
|
||||
# GMT might already be in sysconfig/clock
|
||||
%{rename_sysconfig_variable -f etc/sysconfig/clock GMT HWCLOCK}
|
||||
%{rename_sysconfig_variable -f /etc/sysconfig/clock GMT HWCLOCK}
|
||||
|
||||
#
|
||||
# Initialize runlevel links
|
||||
#
|
||||
%{fillup_and_insserv -y boot.proc boot.localfs boot.swap boot.clock boot.ldconfig boot.ipconfig boot.klog boot.localnet halt random reboot single}
|
||||
%{insserv_force_if_yast etc/init.d/boot.loadmodules etc/init.d/boot.cleanup etc/init.d/boot.rootfsck}
|
||||
%{insserv_force_if_yast /etc/init.d/boot.loadmodules /etc/init.d/boot.cleanup /etc/init.d/boot.rootfsck}
|
||||
## powerfail probably needs empty header ...
|
||||
|
||||
# add Kill-links in boot.d if needed:
|
||||
@ -45,8 +45,8 @@ done
|
||||
%{remove_and_set -n suseconfig CHECK_INITTAB}
|
||||
%{remove_and_set -n suseconfig HALT_SOUND}
|
||||
|
||||
if ! [ -d etc/sysconfig ] ; then
|
||||
mkdir -p etc/sysconfig
|
||||
if ! [ -d /etc/sysconfig ] ; then
|
||||
mkdir -p /etc/sysconfig
|
||||
fi
|
||||
for i in language backup boot kernel \
|
||||
suseconfig clock proxy windowmanager sysctl \
|
||||
@ -55,27 +55,26 @@ for i in language backup boot kernel \
|
||||
done
|
||||
# migrate HALT_SOUND value if set before
|
||||
if [ -n "$HALT_SOUND" -a "$HALT_SOUND" != "no" ] ; then
|
||||
sed -i -e "s|^HALT_SOUND=.*|HALT_SOUND=\"$HALT_SOUND\"|" etc/sysconfig/shutdown
|
||||
sed -i -e "s|^HALT_SOUND=.*|HALT_SOUND=\"$HALT_SOUND\"|" /etc/sysconfig/shutdown
|
||||
fi
|
||||
# fix sysconfig backup dir
|
||||
if grep -q RCCONFIG_BACKUP_DIR../var/adm/backup/rpmdb etc/sysconfig/backup; then
|
||||
if grep -q RCCONFIG_BACKUP_DIR../var/adm/backup/rpmdb /etc/sysconfig/backup; then
|
||||
sed -i -e "s|^RCCONFIG_BACKUP_DIR=.*|RCCONFIG_BACKUP_DIR=\"/var/adm/backup/sysconfig\"|" \
|
||||
etc/sysconfig/backup
|
||||
/etc/sysconfig/backup
|
||||
mkdir -p /var/adm/backup/sysconfig
|
||||
mv /var/adm/backup/rpmdb/sysconfig[-_]* /var/adm/backup/sysconfig 2>/dev/null
|
||||
fi
|
||||
|
||||
if grep -q "SEND_OUTPUT_ON_NO_ERROR=\"yes\"" etc/sysconfig/cron ; then
|
||||
if test ! -f var/adm/bnc_622203_fixed ; then
|
||||
sed -e "s|^SEND_OUTPUT_ON_NO_ERROR=\"yes\"|SEND_OUTPUT_ON_NO_ERROR=\"no\"|" \
|
||||
etc/sysconfig/cron > etc/sysconfig/cron.new \
|
||||
&& mv etc/sysconfig/cron.new etc/sysconfig/cron
|
||||
touch var/adm/bnc_622203_fixed
|
||||
if grep -q "SEND_OUTPUT_ON_NO_ERROR=\"yes\"" /etc/sysconfig/cron ; then
|
||||
if test ! -f /var/adm/bnc_622203_fixed ; then
|
||||
sed -i -e "s|^SEND_OUTPUT_ON_NO_ERROR=\"yes\"|SEND_OUTPUT_ON_NO_ERROR=\"no\"|" \
|
||||
/etc/sysconfig/cron
|
||||
touch /var/adm/bnc_622203_fixed
|
||||
fi
|
||||
fi
|
||||
|
||||
# clear old install settings of MODULES_LOADED_ON_BOOT
|
||||
eval `grep "^MODULES_LOADED_ON_BOOT" etc/sysconfig/kernel`
|
||||
eval `grep "^MODULES_LOADED_ON_BOOT" /etc/sysconfig/kernel`
|
||||
MLOB_NEW=""
|
||||
for i in $MODULES_LOADED_ON_BOOT ; do
|
||||
case $i in
|
||||
@ -85,7 +84,7 @@ for i in $MODULES_LOADED_ON_BOOT ; do
|
||||
done
|
||||
if test "$MODULES_LOADED_ON_BOOT" != "$MLOB_NEW" ; then
|
||||
sed -i -e "s|^MODULES_LOADED_ON_BOOT=.*|MODULES_LOADED_ON_BOOT=\"$MLOB_NEW\"|" \
|
||||
etc/sysconfig/kernel
|
||||
/etc/sysconfig/kernel
|
||||
fi
|
||||
#
|
||||
# Backup gshadow file and remove it (merge passwords into
|
||||
@ -101,33 +100,33 @@ fi
|
||||
# handle password files
|
||||
#
|
||||
for i in passwd group shadow ; do
|
||||
test -e var/adm/fillup-templates/$i.aaa_base || continue
|
||||
test -e /var/adm/fillup-templates/$i.aaa_base || continue
|
||||
echo -n "Updating etc/$i..."
|
||||
if test -f etc/$i ; then
|
||||
cp etc/$i etc/$i.tmp
|
||||
rm -f etc/$i.add
|
||||
sort -k 1,1 -t: -u etc/$i var/adm/fillup-templates/$i.aaa_base \
|
||||
| sort -k 1,1 -t: etc/$i - | uniq -u > etc/$i.add
|
||||
cat etc/$i.add >> etc/$i
|
||||
rm -f etc/$i.add
|
||||
if cmp -s etc/$i etc/$i.tmp ; then
|
||||
if test -f /etc/$i ; then
|
||||
cp /etc/$i /etc/$i.tmp
|
||||
rm -f /etc/$i.add
|
||||
sort -k 1,1 -t: -u /etc/$i /var/adm/fillup-templates/$i.aaa_base \
|
||||
| sort -k 1,1 -t: /etc/$i - | uniq -u > /etc/$i.add
|
||||
cat /etc/$i.add >> /etc/$i
|
||||
rm -f /etc/$i.add
|
||||
if cmp -s /etc/$i /etc/$i.tmp ; then
|
||||
echo "unchanged"
|
||||
else
|
||||
echo "modified"
|
||||
fi
|
||||
rm -f etc/$i.tmp
|
||||
rm -f /etc/$i.tmp
|
||||
# If we have a NIS system, we have to make sure, that "^+" is at the end
|
||||
grep -v "^+" etc/$i > etc/$i.tmp || :
|
||||
grep "^+" etc/$i >> etc/$i.tmp || :
|
||||
test -s etc/$i.tmp && cat etc/$i.tmp > etc/$i
|
||||
rm -f etc/$i.tmp
|
||||
grep -v "^+" /etc/$i > /etc/$i.tmp || :
|
||||
grep "^+" /etc/$i >> /etc/$i.tmp || :
|
||||
test -s /etc/$i.tmp && cat /etc/$i.tmp > /etc/$i
|
||||
rm -f /etc/$i.tmp
|
||||
else
|
||||
cat var/adm/fillup-templates/$i.aaa_base > etc/$i
|
||||
cat /var/adm/fillup-templates/$i.aaa_base > /etc/$i
|
||||
echo "new"
|
||||
fi
|
||||
done
|
||||
# check/fix owner and permission of shadow files
|
||||
for i in etc/shadow ; do
|
||||
for i in /etc/shadow ; do
|
||||
chmod 640 $i
|
||||
chgrp shadow $i
|
||||
done
|
||||
@ -141,38 +140,38 @@ fi
|
||||
#
|
||||
# create mtab if it does not exist
|
||||
#
|
||||
touch etc/mtab
|
||||
touch /etc/mtab
|
||||
#
|
||||
# make sure that several log files exist
|
||||
#
|
||||
if test ! -d var/log ; then
|
||||
mkdir -p var/log
|
||||
if test ! -d /var/log ; then
|
||||
mkdir -p /var/log
|
||||
fi
|
||||
if test ! -e var/log/faillog ; then
|
||||
touch var/log/faillog
|
||||
chmod 600 var/log/faillog
|
||||
chown root:root var/log/faillog
|
||||
if test ! -e /var/log/faillog ; then
|
||||
touch /var/log/faillog
|
||||
chmod 600 /var/log/faillog
|
||||
chown root:root /var/log/faillog
|
||||
fi
|
||||
if test ! -e root/.bash_history ; then
|
||||
touch root/.bash_history
|
||||
chmod 600 root/.bash_history
|
||||
if test ! -e /root/.bash_history ; then
|
||||
touch /root/.bash_history
|
||||
chmod 600 /root/.bash_history
|
||||
fi
|
||||
if test ! -e var/log/lastlog ; then
|
||||
touch var/log/lastlog
|
||||
chmod 644 var/log/lastlog
|
||||
chown root:tty var/log/lastlog
|
||||
if test ! -e /var/log/lastlog ; then
|
||||
touch /var/log/lastlog
|
||||
chmod 644 /var/log/lastlog
|
||||
chown root:tty /var/log/lastlog
|
||||
fi
|
||||
if test ! -e var/log/wtmp ; then
|
||||
touch var/log/wtmp
|
||||
chmod 664 var/log/wtmp
|
||||
chown root:tty var/log/wtmp
|
||||
if test ! -e /var/log/wtmp ; then
|
||||
touch /var/log/wtmp
|
||||
chmod 664 /var/log/wtmp
|
||||
chown root:tty /var/log/wtmp
|
||||
fi
|
||||
if test -e usr/sbin/usrdel.local -a ! -e usr/sbin/userdel.local ; then
|
||||
cp usr/sbin/usrdel.local usr/sbin/userdel.local
|
||||
if test -e /usr/sbin/usrdel.local -a ! -e /usr/sbin/userdel.local ; then
|
||||
cp /usr/sbin/usrdel.local /usr/sbin/userdel.local
|
||||
fi
|
||||
if test ! -e usr/sbin/userdel.local ; then
|
||||
mkdir -p usr/sbin
|
||||
cat << EOT > usr/sbin/userdel.local
|
||||
if test ! -e /usr/sbin/userdel.local ; then
|
||||
mkdir -p /usr/sbin
|
||||
cat << EOT > /usr/sbin/userdel.local
|
||||
#!/bin/bash
|
||||
#
|
||||
# Here you can add your own stuff, that should be done for every user who
|
||||
@ -183,7 +182,7 @@ if test ! -e usr/sbin/userdel.local ; then
|
||||
# from /etc/passwd.
|
||||
#
|
||||
EOT
|
||||
chmod 744 usr/sbin/userdel.local
|
||||
chmod 744 /usr/sbin/userdel.local
|
||||
fi
|
||||
|
||||
# change all /media mounts (subfs) to noauto
|
||||
|
72
aaa_base.pre
72
aaa_base.pre
@ -8,7 +8,7 @@ mkdir -p boot
|
||||
#
|
||||
# make sure, tmp directories do exist
|
||||
#
|
||||
for i in tmp var/tmp ; do
|
||||
for i in /tmp /var/tmp ; do
|
||||
test -d $i || {
|
||||
if test -L $i ; then
|
||||
echo "Error! $i is a dangling symlink."
|
||||
@ -32,9 +32,9 @@ done
|
||||
# var/adm/fillup-templates/passwd.aaa_base to etc/passwd.
|
||||
# deleted db2 groups and users were uids 46,47,48 and gids 46,47,48
|
||||
#
|
||||
mkdir -p etc
|
||||
touch etc/mtab
|
||||
mkdir -p var/adm/fillup-templates
|
||||
mkdir -p /etc
|
||||
touch /etc/mtab
|
||||
mkdir -p /var/adm/fillup-templates
|
||||
echo "root:x:0:0:root:/root:/bin/bash
|
||||
bin:x:1:1:bin:/bin:/bin/bash
|
||||
daemon:x:2:2:Daemon:/sbin:/bin/bash
|
||||
@ -47,7 +47,7 @@ man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
|
||||
wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
|
||||
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
|
||||
nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash" \
|
||||
> var/adm/fillup-templates/passwd.aaa_base
|
||||
> /var/adm/fillup-templates/passwd.aaa_base
|
||||
|
||||
echo "root:x:0:
|
||||
bin:x:1:daemon
|
||||
@ -80,35 +80,35 @@ lock:x:54:
|
||||
man:x:62:
|
||||
users:x:100:
|
||||
nobody:x:65533:
|
||||
nogroup:x:65534:nobody" > var/adm/fillup-templates/group.aaa_base
|
||||
nogroup:x:65534:nobody" > /var/adm/fillup-templates/group.aaa_base
|
||||
|
||||
rm -f var/adm/fillup-templates/shadow.aaa_base
|
||||
rm -f /var/adm/fillup-templates/shadow.aaa_base
|
||||
while read LINE ; do
|
||||
case $LINE in
|
||||
root*)
|
||||
echo "root::$(($(date '+%s')/86400))::::::" \
|
||||
>> var/adm/fillup-templates/shadow.aaa_base
|
||||
>> /var/adm/fillup-templates/shadow.aaa_base
|
||||
;;
|
||||
*)
|
||||
echo "${LINE%%%%:*}:*:$(($(date '+%s')/86400))::::::" \
|
||||
>> var/adm/fillup-templates/shadow.aaa_base
|
||||
>> /var/adm/fillup-templates/shadow.aaa_base
|
||||
;;
|
||||
esac
|
||||
done < var/adm/fillup-templates/passwd.aaa_base
|
||||
done < /var/adm/fillup-templates/passwd.aaa_base
|
||||
|
||||
|
||||
for file in passwd group ; do
|
||||
if test -f etc/$file ; then
|
||||
if test -f /etc/$file ; then
|
||||
# like fillup, but : is the only separator
|
||||
rm -f etc/$file.add
|
||||
sort -k 1,1 -t: -u etc/$file var/adm/fillup-templates/$file.aaa_base \
|
||||
| sort -k 1,1 -t: etc/$file - | uniq -u > etc/$file.add
|
||||
cat etc/$file.add >> etc/$file
|
||||
rm -f etc/$file.add
|
||||
rm -f /etc/$file.add
|
||||
sort -k 1,1 -t: -u /etc/$file /var/adm/fillup-templates/$file.aaa_base \
|
||||
| sort -k 1,1 -t: /etc/$file - | uniq -u > /etc/$file.add
|
||||
cat /etc/$file.add >> /etc/$file
|
||||
rm -f /etc/$file.add
|
||||
# fix permissions if this script is called with strange umask
|
||||
chmod 644 etc/$file
|
||||
chmod 644 /etc/$file
|
||||
else
|
||||
cat var/adm/fillup-templates/$file.aaa_base > etc/$file
|
||||
cat /var/adm/fillup-templates/$file.aaa_base > /etc/$file
|
||||
fi
|
||||
done
|
||||
|
||||
@ -116,12 +116,12 @@ done
|
||||
# we have several local files, that changed over the time. Check the
|
||||
# existing one, if they contain real data. If not, delete them.
|
||||
#
|
||||
for LOCALFILE in root/bin/cron.daily.local \
|
||||
etc/init.d/boot.local \
|
||||
etc/init.d/halt.local \
|
||||
usr/sbin/usradd.local \
|
||||
usr/sbin/usrdel.local \
|
||||
usr/sbin/userdel.local ; do
|
||||
for LOCALFILE in /root/bin/cron.daily.local \
|
||||
/etc/init.d/boot.local \
|
||||
/etc/init.d/halt.local \
|
||||
/usr/sbin/usradd.local \
|
||||
/usr/sbin/usrdel.local \
|
||||
/usr/sbin/userdel.local ; do
|
||||
test -f $LOCALFILE || continue
|
||||
LOCALFILE_CONTAINS_DATA=false
|
||||
while read LINE ; do
|
||||
@ -146,7 +146,7 @@ for LOCALFILE in root/bin/cron.daily.local \
|
||||
done < $LOCALFILE
|
||||
test "$LOCALFILE_CONTAINS_DATA" = false && rm -f $LOCALFILE
|
||||
done
|
||||
mkdir -p etc/init.d
|
||||
mkdir -p /etc/init.d
|
||||
echo "#! /bin/sh
|
||||
#
|
||||
# Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany. All rights reserved.
|
||||
@ -161,10 +161,10 @@ echo "#! /bin/sh
|
||||
# Here you should add things, that should happen directly after booting
|
||||
# before we're going to the first run level.
|
||||
#
|
||||
" > etc/init.d/boot.local.new
|
||||
test -e etc/init.d/boot.local || mv etc/init.d/boot.local.new etc/init.d/boot.local
|
||||
rm -f etc/init.d/boot.local.new
|
||||
chmod 744 etc/init.d/boot.local
|
||||
" > /etc/init.d/boot.local.new
|
||||
test -e /etc/init.d/boot.local || mv /etc/init.d/boot.local.new /etc/init.d/boot.local
|
||||
rm -f /etc/init.d/boot.local.new
|
||||
chmod 744 /etc/init.d/boot.local
|
||||
echo "#! /bin/sh
|
||||
#
|
||||
# Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany. All rights reserved.
|
||||
@ -179,13 +179,13 @@ echo "#! /bin/sh
|
||||
# Here you should add things, that should happen directly before shuting
|
||||
# down.
|
||||
#
|
||||
" > etc/init.d/halt.local.new
|
||||
test -e etc/init.d/halt.local || mv etc/init.d/halt.local.new etc/init.d/halt.local
|
||||
rm -f etc/init.d/halt.local.new
|
||||
chmod 744 etc/init.d/halt.local
|
||||
mkdir -p etc
|
||||
for LINK in usr/X11R6/lib/X11 var/X11R6/lib/fonts usr/lib/mgetty+sendfax \
|
||||
usr/man/cat? usr/X11R6/man/cat? usr/openwin/man/cat? usr/lib/news ; do
|
||||
" > /etc/init.d/halt.local.new
|
||||
test -e /etc/init.d/halt.local || mv /etc/init.d/halt.local.new /etc/init.d/halt.local
|
||||
rm -f /etc/init.d/halt.local.new
|
||||
chmod 744 /etc/init.d/halt.local
|
||||
mkdir -p /etc
|
||||
for LINK in /usr/X11R6/lib/X11 /var/X11R6/lib/fonts /usr/lib/mgetty+sendfax \
|
||||
/usr/man/cat? /usr/X11R6/man/cat? /usr/openwin/man/cat? /usr/lib/news ; do
|
||||
if test -L $LINK ; then
|
||||
echo "Found forbidden/oldish Link: $LINK ...deleting"
|
||||
rm -f $LINK
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
Name: aaa_base
|
||||
Version: 11.4
|
||||
Release: 3
|
||||
Release: 4
|
||||
License: GPLv2+
|
||||
Group: System/Fhs
|
||||
Provides: bin bootutls etc skeleng skelger
|
||||
@ -41,6 +41,7 @@ Source8: get_kernel_version.c
|
||||
Source20: aaa_base-rpmlintrc
|
||||
Source21: aaa_base.pre
|
||||
Source22: aaa_base.post
|
||||
Patch0: get_kernel_version_fix_plus_in_kernel_string.patch
|
||||
|
||||
%description
|
||||
This package installs several important configuration files. Central
|
||||
@ -60,11 +61,15 @@ and convenience hacks).
|
||||
|
||||
%prep
|
||||
%setup -n aaa_base -b 5 -b 7
|
||||
|
||||
cd ..
|
||||
mkdir -p scripts
|
||||
cp -v %{SOURCE21} scripts
|
||||
cp -v %{SOURCE22} scripts
|
||||
|
||||
cd $RPM_SOURCE_DIR
|
||||
%patch0 -p0
|
||||
|
||||
%build
|
||||
gcc $RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64 $RPM_SOURCE_DIR/get_kernel_version.c -o $RPM_SOURCE_DIR/get_kernel_version
|
||||
|
||||
|
18
get_kernel_version_fix_plus_in_kernel_string.patch
Normal file
18
get_kernel_version_fix_plus_in_kernel_string.patch
Normal file
@ -0,0 +1,18 @@
|
||||
From: Michal Marek <mmarek@suse.cz>
|
||||
Subject: get_kernel_version: accept '+' in kernel version string
|
||||
|
||||
Starting with 2.6.35, the kernel build by default appends a plus sign to
|
||||
the kernel version string when building in a git tree that is not in a clean
|
||||
tagged state.
|
||||
|
||||
--- get_kernel_version.c~ 2010-09-02 22:34:31.000000000 +0200
|
||||
+++ get_kernel_version.c 2010-09-02 22:34:47.000000000 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
static inline int my_is_alnum_punct(char c)
|
||||
{
|
||||
return isdigit(c) || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')
|
||||
- || c == '.' || c == ',' || c == '-' || c == '_';
|
||||
+ || c == '.' || c == ',' || c == '-' || c == '_' || c == '+';
|
||||
}
|
||||
|
||||
int
|
Loading…
Reference in New Issue
Block a user