From 867d373914818bfad2c0b8e10d645e5651c13061 Mon Sep 17 00:00:00 2001 From: Rene Rebe Date: Mon, 4 Aug 2003 20:04:41 +0000 Subject: [PATCH] Dimitar Zhekov fixed Build-Pkg (echo * -> ls), added "no rtti/exceptions" in C++ option (limitcxx), fixed kbd and added hwclock as well as RTC configuraton to stone and some "echo * -> ls" changes in STONE git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@1011 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- Documentation/Developers/CHANGELOG-RENE | 4 ++ package/base/gcc3/parse-config | 6 +++ package/base/kbd/kbd.conf | 3 ++ package/base/sysfiles/stone_mod_general.sh | 12 +++--- package/base/sysfiles/stone_mod_hardware.sh | 45 +++++++++++++++++++++ package/base/sysfiles/stone_mod_runlevel.sh | 2 +- package/base/sysfiles/system.init | 14 +++++++ scripts/Build-Target | 6 +-- scripts/config.hlp | 6 +++ scripts/config.in | 1 + target/bootdisk/config.in | 1 + 11 files changed, 91 insertions(+), 9 deletions(-) diff --git a/Documentation/Developers/CHANGELOG-RENE b/Documentation/Developers/CHANGELOG-RENE index 800a3b59d..a54098169 100644 --- a/Documentation/Developers/CHANGELOG-RENE +++ b/Documentation/Developers/CHANGELOG-RENE @@ -8,6 +8,10 @@ whole rxr-tree. updated reiserfsprogs updated openh323 and so fixed gnomemeeting updated sylpheed + - Dimitar Zhekov: fixed Build-Pkg (echo * -> ls), added "no rtti/exceptions" + in C++ option (limitcxx), fixed kbd and added hwclock as + well as RTC configuraton to stone and some "echo * -> ls" + changes in STONE *) 2003-08-03 (2.0.0-beta7 - 2.0.0-rc1) diff --git a/package/base/gcc3/parse-config b/package/base/gcc3/parse-config index dac269a0c..e0c27c24e 100644 --- a/package/base/gcc3/parse-config +++ b/package/base/gcc3/parse-config @@ -91,6 +91,12 @@ else fi fi +# Compile with no exceptions or rtti; gcc itself must support both +# +if [ "$ROCKCFG_LIMITCXX" = 1 ] && [[ $pkg != gcc* ]] ; then + var_append CXX_WRAPPER_APPEND " " "-fno-exceptions -fno-rtti" +fi + # Passing -I/usr{/local/}include creates a warning in gcc3 which is confusing # some of the configure scripts and Makefiles. # diff --git a/package/base/kbd/kbd.conf b/package/base/kbd/kbd.conf index efc154a9b..67acd1913 100644 --- a/package/base/kbd/kbd.conf +++ b/package/base/kbd/kbd.conf @@ -1 +1,4 @@ premake="bzcat $archdir/bg-cp1251.map.bz2 > data/keymaps/i386/qwerty/bg-cp1251.map" +# this ./configure is very unusual, study it before touching the following line +datadir="${datadir#$root/$prefix}/$pkg" ; mandir="${mandir#$root/$prefix}" +# always check for new directory options when upgrading to a newer kbd version! diff --git a/package/base/sysfiles/stone_mod_general.sh b/package/base/sysfiles/stone_mod_general.sh index f5a7cf417..5744b8136 100644 --- a/package/base/sysfiles/stone_mod_general.sh +++ b/package/base/sysfiles/stone_mod_general.sh @@ -71,9 +71,9 @@ store_kbd(){ sed -e "s/kbd_rate=.*/kbd_rate=$kbd_rate/" \ -e "s/kbd_delay=.*/kbd_delay=$kbd_delay/" < /etc/conf/kbd \ > /etc/conf/kbd.tmp - grep kbd_rate= /etc/conf/kbd.tmp || echo kbd_rate=$kbd_rate \ + grep -q kbd_rate= /etc/conf/kbd.tmp || echo kbd_rate=$kbd_rate \ >> /etc/conf/kbd.tmp - grep kbd_delay= /etc/conf/kbd.tmp || echo kbd_delay=$kbd_delay \ + grep -q kbd_delay= /etc/conf/kbd.tmp || echo kbd_delay=$kbd_delay \ >> /etc/conf/kbd.tmp mv /etc/conf/kbd.tmp /etc/conf/kbd else @@ -100,9 +100,9 @@ store_con(){ sed -e "s/con_term=.*/con_term=$con_term/" \ -e "s/con_blank=.*/con_blank=$con_blank/" \ < /etc/conf/console > /etc/conf/console.tmp - grep con_term= /etc/conf/console.tmp || \ + grep -q con_term= /etc/conf/console.tmp || \ echo con_term=$con_term >> /etc/conf/console.tmp - grep con_blank= /etc/conf/console.tmp || \ + grep -q con_blank= /etc/conf/console.tmp || \ echo con_blank=$con_blank >> /etc/conf/console.tmp mv /etc/conf/console.tmp /etc/conf/console else @@ -144,7 +144,9 @@ set_dtime() { if [ "$dtime" != "$newdtime" ] ; then echo "Setting new date and time ($newdtime) ..." date "$( echo $newdtime | sed 's,[^0-9],,g' )" - hwclock --systohc --utc + [ -f /etc/conf/clock ] && . /etc/conf/clock + [ "$clock_tz" != localtime ] && clock_tz=utc + hwclock --systohc --$clock_tz fi } diff --git a/package/base/sysfiles/stone_mod_hardware.sh b/package/base/sysfiles/stone_mod_hardware.sh index b561ca2fd..d1934d13a 100644 --- a/package/base/sysfiles/stone_mod_hardware.sh +++ b/package/base/sysfiles/stone_mod_hardware.sh @@ -65,6 +65,37 @@ add_hw_config() { id="" } +store_clock() { + if [ -f /etc/conf/clock ] ; then + sed -e "s/clock_tz=.*/clock_tz=$clock_tz/" \ + -e "s/clock_rtc=.*/clock_rtc=$clock_rtc/" \ + < /etc/conf/clock > /etc/conf/clock.tmp + grep -q clock_tz= /etc/conf/clock.tmp || \ + echo clock_tz=$clock_tz >> /etc/conf/clock.tmp + grep -q clock_rtc= /etc/conf/clock.tmp || \ + echo clock_rtc=$clock_rtc >> /etc/conf/clock.tmp + mv /etc/conf/clock.tmp /etc/conf/clock + else + echo -e "clock_tz=$clock_tz\nclock_rtc=$clock_rtc\n" \ + > /etc/conf/clock + fi + if [ -w /proc/sys/dev/rtc/max-user-freq -a "$clock_rtc" ] ; then + echo $clock_rtc > /proc/sys/dev/rtc/max-user-freq + fi +} + +set_zone() { + clock_tz=$1 + hwclock --hctosys --$clock_tz + store_clock +} + +set_rtc() { + gui_input "Set new enhanced real time clock precision" \ + "$clock_rtc" "clock_rtc" + store_clock +} + main() { while HARDWARE_SETUP=rockplug @@ -79,6 +110,12 @@ main() { fi done + clock_tz=utc + clock_rtc="`cat /proc/sys/dev/rtc/max-user-freq 2> /dev/null`" + if [ -f /etc/conf/clock ]; then + . /etc/conf/clock + fi + cmd="gui_menu hw 'Kernel Drivers Configuration'" if [ "$HARDWARE_SETUP" = rockplug ]; then cmd="$cmd \"$hw_rockplug Use ROCKPLUG to configure hardware.\"" @@ -131,6 +168,14 @@ main() { done < /etc/conf/kernel [ -z "$id" ] || add_hw_config fi + + if [ "$clock_tz" = localtime ] ; then + cmd="$cmd '[*] Use localtime instead of utc' 'set_zone utc'" + else + cmd="$cmd '[ ] Use localtime instead of utc' 'set_zone localtime'" + clock_tz=utc + fi + cmd="$cmd 'Set enhanced real time clock precision ($clock_rtc)' set_rtc" eval "$cmd" do : ; done diff --git a/package/base/sysfiles/stone_mod_runlevel.sh b/package/base/sysfiles/stone_mod_runlevel.sh index 942d8035a..75877fa4b 100644 --- a/package/base/sysfiles/stone_mod_runlevel.sh +++ b/package/base/sysfiles/stone_mod_runlevel.sh @@ -103,7 +103,7 @@ main() { cmd="$cmd item to change the priority or runlevels'" x=`mktemp` - for srv in $( cd /etc/rc.d/init.d ; echo * ; ) + for srv in $( cd /etc/rc.d/init.d ; ls ; ) do [ -f /etc/rc.d/init.d/$srv ] || continue diff --git a/package/base/sysfiles/system.init b/package/base/sysfiles/system.init index 26bf5c5c7..2a6d8d6b0 100644 --- a/package/base/sysfiles/system.init +++ b/package/base/sysfiles/system.init @@ -79,6 +79,20 @@ dnl block_split(`Loading kernel modules and configuring the kernel.') check(`sh /etc/conf/kernel') fi +dnl + [ -f /etc/conf/clock ] && . /etc/conf/clock + if [ "$clock_tz" = localtime ] ; then + block_split(`Setting kernel clock to local time.') + check(`hwclock --hctosys --localtime') + fi + if [ "$clock_rtc" ] ; then + block_split(`Setting enhanced real time clock precision to $clock_rtc.') + if [ -w /proc/sys/dev/rtc/max-user-freq ] ; then + check(`echo $clock_rtc > /proc/sys/dev/rtc/max-user-freq') + else + echo "No /proc/sys/dev/rtc/max-user-freq found." + fi + fi dnl block_split(`Setting hostname to $(cat /etc/HOSTNAME).') check(`hostname "$(cat /etc/HOSTNAME)"') diff --git a/scripts/Build-Target b/scripts/Build-Target index 26c02aa77..09e1809cc 100755 --- a/scripts/Build-Target +++ b/scripts/Build-Target @@ -212,7 +212,7 @@ fi errors=1 fi done - for file in `cd build/$ROCKCFG_ID/pkgs/; echo *` ; do + for file in `cd build/$ROCKCFG_ID/pkgs/; ls` ; do x="$file" [ $ROCKCFG_CREATE_GEM = 0 ] || x=${x%.gem} [ $ROCKCFG_CREATE_TARBZ2 = 0 ] || x=${x%.tar.bz2} @@ -225,7 +225,7 @@ fi fi done for dir in build/$ROCKCFG_ID/root/var/adm/{cache,cksums,dependencies,descs,flists,md5sums,packages} ; do - for file in `cd $dir; echo *` ; do + for file in `cd $dir; ls` ; do if [ $ROCKCFG_PKGFILE_VER = 1 ] ; then x="$file-" else @@ -238,7 +238,7 @@ fi fi done done - for file in `cd build/$ROCKCFG_ID/root/var/adm/logs/; echo *` ; do + for file in `cd build/$ROCKCFG_ID/root/var/adm/logs/; ls` ; do x="`echo $file | sed -e 's/^.-//' -e 's/\.log//' -e 's/\.err//' -e s'/\.out//'`" if [ $ROCKCFG_PKGFILE_VER = 1 ] ; then x=$x- diff --git a/scripts/config.hlp b/scripts/config.hlp index f8b0d7d04..2dd7e3562 100644 --- a/scripts/config.hlp +++ b/scripts/config.hlp @@ -248,6 +248,12 @@ ROCKCFG_OPTSIZE other low-memory systems. (But on the other hand is also the best performance setting, too). +ROCKCFG_LIMITCXX + Check here if you want to disable the C++ exceptions run-time type + identification. This can make the C++ binaries about 25% smaller, + but any C++ sources using exceptions or rtti, for example QT/KDE, + will fail to compile. If you don't know, don't touch. + ROCKCFG_MULTILIB Enable installing several versions of the same library. diff --git a/scripts/config.in b/scripts/config.in index cfc78dca4..22cadd465 100644 --- a/scripts/config.in +++ b/scripts/config.in @@ -341,6 +341,7 @@ break packages!' bool 'Stripping all binaries and libraries' ROCKCFG_STRIP 1 bool 'Optimize for size and not for speed' ROCKCFG_OPTSIZE 0 + bool 'Disable exceptions and rtti in C++' ROCKCFG_LIMITCXX 0 bool 'Enable c-compiler multilib support' ROCKCFG_MULTILIB 0 bool 'Disable National Language Support' ROCKCFG_DISABLE_NLS 0 diff --git a/target/bootdisk/config.in b/target/bootdisk/config.in index b3416a4ae..7a6cbc606 100644 --- a/target/bootdisk/config.in +++ b/target/bootdisk/config.in @@ -78,6 +78,7 @@ ROCKCFGSET_DO_REBUILD_STAGE=0 ROCKCFGSET_CREATE_DOCS=0 ROCKCFGSET_DISABLE_NLS=1 ROCKCFGSET_OPTSIZE=1 +ROCKCFGSET_LIMITCXX=1 # Linux kernel preconfig ROCKCFGSET_PKG_LINUX_CUSTCONFIG=1