r1026 - in glibc-package/trunk/debian: . debhelper.in local/etc_init.d rules.d script.in
Author: gotom
Date: 2005-08-26 02:43:37 +0000 (Fri, 26 Aug 2005)
New Revision: 1026
Added:
glibc-package/trunk/debian/local/etc_init.d/glibc.sh
glibc-package/trunk/debian/script.in/
glibc-package/trunk/debian/script.in/kernelcheck.sh
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/debhelper.in/libc.dirs
glibc-package/trunk/debian/debhelper.in/libc.postinst
glibc-package/trunk/debian/debhelper.in/libc.preinst
glibc-package/trunk/debian/rules.d/debhelper.mk
Log:
* Introduce bootstrap kernel version check script.
- debian/debhelper.in/libc.preinst: Move detection script to...
- debian/script.in/kernelcheck.sh: ...this, new file.
- debian/local/etc_init.d/glibc.sh: New file, it includes kernelcheck.sh.
- debian/debhelper.in/libc.postinst: Invoke /etc/init.d/glibc.sh as S01.
- debian/rules.d/debhelper.mk: Add replacing KERNEL_VERSION_CHECK and
EXIT_CHECK for libc.preinst and glibc.sh.
- debian/debhelper.in/libc.dirs: Create etc/init.d.
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2005-08-26 00:49:54 UTC (rev 1025)
+++ glibc-package/trunk/debian/changelog 2005-08-26 02:43:37 UTC (rev 1026)
@@ -44,6 +44,15 @@
- debian/control.in/main: Build-Depends falls back to gcc-3.3.
- debian/control: Update.
+ * Introduce bootstrap kernel version check script.
+ - debian/debhelper.in/libc.preinst: Move detection script to...
+ - debian/script.in/kernelcheck.sh: ...this, new file.
+ - debian/local/etc_init.d/glibc.sh: New file, it includes kernelcheck.sh.
+ - debian/debhelper.in/libc.postinst: Invoke /etc/init.d/glibc.sh as S01.
+ - debian/rules.d/debhelper.mk: Add replacing KERNEL_VERSION_CHECK and
+ EXIT_CHECK for libc.preinst and glibc.sh.
+ - debian/debhelper.in/libc.dirs: Create etc/init.d.
+
* Don't use absolute path name.
- debian/debhelper.in/libc.dirs: Suppress the first slash.
- debian/debhelper.in/libc-pic.dirs: Likewise.
Modified: glibc-package/trunk/debian/debhelper.in/libc.dirs
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc.dirs 2005-08-26 00:49:54 UTC (rev 1025)
+++ glibc-package/trunk/debian/debhelper.in/libc.dirs 2005-08-26 02:43:37 UTC (rev 1026)
@@ -1 +1,2 @@
sys
+etc/init.d
Modified: glibc-package/trunk/debian/debhelper.in/libc.postinst
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc.postinst 2005-08-26 00:49:54 UTC (rev 1025)
+++ glibc-package/trunk/debian/debhelper.in/libc.postinst 2005-08-26 02:43:37 UTC (rev 1026)
@@ -414,12 +414,12 @@
set_timezone
fi
# # DO NOT FOLLOW THIS EXAMPLE IN OTHER PACKAGES
-# updatercd mountkernfs start 35 S .
-# if [ -x /usr/sbin/invoke-rc.d ]; then
-# invoke-rc.d mountkernfs start
-# else
-# /etc/init.d/mountkernfs 2>/dev/null || true
-# fi
+ updatercd glibc.sh start 01 S .
+ if [ -x /usr/sbin/invoke-rc.d ]; then
+ invoke-rc.d glibc.sh start
+ else
+ /etc/init.d/glibc.sh 2>/dev/null || true
+ fi
fi
if [ "`uname -s`" = Linux ]; then
Modified: glibc-package/trunk/debian/debhelper.in/libc.preinst
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc.preinst 2005-08-26 00:49:54 UTC (rev 1025)
+++ glibc-package/trunk/debian/debhelper.in/libc.preinst 2005-08-26 02:43:37 UTC (rev 1026)
@@ -180,141 +180,7 @@
if [ "$1" != abort-upgrade ] && [ "`uname -s`" = Linux ]
then
- # Test to make sure z < 255, in x.y.z-n form of kernel version
- # Also make sure we don't trip on x.y.zFOO-n form
- #kernel_rev=$(uname -r | tr -- - . | cut -d. -f3 | tr -d '[:alpha:]')
- kernel_rev=$(uname -r | sed 's/\([0-9]*\.[0-9]*\.\)\([0-9]*\)\(.*\)/\2/')
- if [ "$kernel_rev" -ge 255 ]
- then
- echo WARNING: Your kernel version indicates a revision number
- echo of 255 or greater. Glibc has a number of built in
- echo assumptions that this revision number is less than 255.
- echo If you\'ve built your own kernel, please make sure that any
- echo custom version numbers are appended to the upstream
- echo kernel number with a dash or some other delimiter.
-
- exit 1
- fi
-
- # sanity checking for the appropriate kernel on each architecture.
- realarch=`uname -m`
- kernel_ver=`uname -r`
-
- # intel i386 requires a recent kernel
- if [ "$realarch" = i386 ]
- then
- if dpkg --compare-versions "$kernel_ver" lt 2.4.24
- then
- echo WARNING: This machine has i386 class processor.
- echo Debian sarge and later, you need to use at least a 2.4.24
- echo or 2.6.0 kernel on i386. Please upgrade your kernel
- echo before installing glibc.
- echo The reason is that "bswap" instruction is not supported
- echo on i386 class processors, and newer kernel can emulate
- echo such lacking instructions.
- exit 1
- fi
- fi
-
- # SPARC sun4m requires a recent kernel
- if [ "$realarch" = sparc ]
- then
- cputype=`egrep '^type.*:.*sun4m' /proc/cpuinfo 2> /dev/null` || true
-
- if [ "$cputype" != "" ]
- then
- if dpkg --compare-versions "$kernel_ver" lt 2.4.21
- then
- echo WARNING: You have a cpu which requires kernel 2.4.21
- echo or greater in order to install this version of glibc.
- echo Please upgrade the kernel before installing this package.
- echo
- echo You should be able to install the latest version of the
- echo sparc kernel-image in order to satisfy this need. You
- echo can also download and compile the latest kernel source
- echo yourself from a kernel mirror \(see http://www.kernel.org/\).
- exit 1
- fi
- else
- if dpkg --compare-versions "$kernel_ver" lt 2.2.0 #should be safe
- then
- echo WARNING: This version of glibc suggests atleast a
- echo 2.2.0 kernel in order to work properly. 2.0.x kernels
- echo will not be able to support certain functions and
- echo may cause problems. 2.2 kernels have proven to be much
- echo more reliable than 2.0.x kernels on the sparc platform
- echo anyway, so an upgrade is suggested. If you have a 2.1.x
- echo kernel is is suggested you upgrade to the latest 2.2
- echo release, since it is more stable and fixes many bugs.
- exit 1
- fi
- fi
- fi
- # HPPA boxes require latest fixes in the kernel to function properly.
- if [ "$realarch" = parisc ]
- then
- if dpkg --compare-versions "$kernel_ver" lt 2.4.17
- then
- echo WARNING: This version of glibc requires that you be running
- echo atleast a 2.4.17 kernel in order to work properly. Earlier
- echo kernels did not provide the proper functionality in order
- echo for the system to be stable.
- exit 1
- fi
- fi
- # parisc64 boxes require latest fixes in the kernel 2.4.19-pa17 or later
- # (in 2.4.x), 2.5.53-pa3 or later (in 2.5.x), to function properly.
- # Note that parisc64 kernel version scheme is "`uname -r`-64".
- if [ "$realarch" = parisc64 ]
- then
- if [ $kernel_ver = ${kernel_ver/pa/} ]
- then
- if dpkg --compare-versions "$kernel_ver" lt 2.4.19-64
- then
- echo WARNING: This version of glibc requires that you be
- echo running at least a 2.4.19-64 to work properly.
- echo Earlier kernels did not provide the proper functionality
- echo in order for the system to be stable.
- exit 1
- fi
- else
- if dpkg --compare-versions "$kernel_ver" lt 2.4.19-pa17
- then
- echo WARNING: This version of glibc requires that you be
- echo running at least a 2.4.19-pa17 in \(2.4\) or 2.5.53-pa3
- echo \(in 2.5\) to work properly.
- echo Earlier kernels did not provide the proper functionality
- echo in order for the system to be stable.
- exit 1
- fi
- fi
- fi
-
- if [ "$realarch" = mips ] \
- && [ "`dpkg --print-architecture`" = mips ]
- then
- # MIPS (but not mipsel) require a kernel update for the msq fixes.
- if dpkg --compare-versions "$kernel_ver" lt 2.4.22
- then
- echo WARNING: System V message queues require kernel 2.4.22 to
- echo work correctly on this architecture. Some programs
- echo "(including perl) may not operate correctly."
- exit 1
- fi
- fi
-
- # amd64 requires 2.6 kernel because we drop to support linuxthreads
- if [ "$realarch" = x86_64 ] \
- && [ "`dpkg --print-architecture`" = amd64 ]
- then
- if dpkg --compare-versions "$kernel_ver" lt 2.6.0
- then
- echo WARNING: POSIX threads library NPTL requires 2.6 and
- echo later kernel on amd64. If you use 2.4 kernel, please
- echo upgrade your kernel before installing glibc.
- exit 1
- fi
- fi
+ # glibc kernel version check: KERNEL_VERSION_CHECK
fi
#DEBHELPER#
Added: glibc-package/trunk/debian/local/etc_init.d/glibc.sh
===================================================================
--- glibc-package/trunk/debian/local/etc_init.d/glibc.sh 2005-08-26 00:49:54 UTC (rev 1025)
+++ glibc-package/trunk/debian/local/etc_init.d/glibc.sh 2005-08-26 02:43:37 UTC (rev 1026)
@@ -0,0 +1,10 @@
+#! /bin/sh -e
+#
+# This script is existed for detecting depreciated kernel version to
+# check glibc incompatibility.
+
+if [ "`uname -s`" = Linux ]; then
+ # glibc kernel version check: KERNEL_VERSION_CHECK
+fi
+
+exit 0
Property changes on: glibc-package/trunk/debian/local/etc_init.d/glibc.sh
___________________________________________________________________
Name: svn:executable
+ *
Modified: glibc-package/trunk/debian/rules.d/debhelper.mk
===================================================================
--- glibc-package/trunk/debian/rules.d/debhelper.mk 2005-08-26 00:49:54 UTC (rev 1025)
+++ glibc-package/trunk/debian/rules.d/debhelper.mk 2005-08-26 02:43:37 UTC (rev 1026)
@@ -26,6 +26,10 @@
install --mode=0644 $(DEB_SRCDIR)/nptl/ChangeLog debian/$(curpass)/usr/share/doc/$(curpass)/ChangeLog.nptl; \
;; \
esac
+ sed -e "/KERNEL_VERSION_CHECK/r debian/script.in/kernelcheck.sh" \
+ debian/local/etc_init.d/glibc.sh | \
+ sed -e "s/EXIT_CHECK/sleep 5/" > debian/glibc.sh.generated
+ install --mode=0755 debian/glibc.sh.generated debian/$(curpass)/etc/init.d/glibc.sh
# dh_installmanpages thinks that .so is a language.
install --mode=0644 debian/local/manpages/ld.so.8 debian/$(curpass)/usr/share/man/man8/ld.so.8
@@ -173,6 +177,8 @@
sed -e "s#DEB_SRCDIR#$(DEB_SRCDIR)#" -i $$z; \
sed -e "s#LIBC#$(libc)#" -i $$z; \
sed -e "s#CURRENT_VER#$(DEB_VERSION)#" -i $$z; \
+ sed -e "/KERNEL_VERSION_CHECK/r debian/script.in/kernelcheck.sh" -i $$z; \
+ sed -e "s#EXIT_CHECK##" -i $$z; \
case $$z in \
*.install) sed -e "s/^#.*//" -i $$z ;; \
esac; \
@@ -261,5 +267,6 @@
rm -f debian/*.dirs
rm -f debian/*.docs
rm -f debian/*.doc-base
+ rm -f debian/*.generated
rm -f $(stamp)binaryinst*
Added: glibc-package/trunk/debian/script.in/kernelcheck.sh
===================================================================
--- glibc-package/trunk/debian/script.in/kernelcheck.sh 2005-08-26 00:49:54 UTC (rev 1025)
+++ glibc-package/trunk/debian/script.in/kernelcheck.sh 2005-08-26 02:43:37 UTC (rev 1026)
@@ -0,0 +1,140 @@
+exit_check () {
+ EXIT_CHECK
+ exit 1
+}
+
+ # Test to make sure z < 255, in x.y.z-n form of kernel version
+ # Also make sure we don't trip on x.y.zFOO-n form
+ #kernel_rev=$(uname -r | tr -- - . | cut -d. -f3 | tr -d '[:alpha:]')
+ kernel_rev=$(uname -r | sed 's/\([0-9]*\.[0-9]*\.\)\([0-9]*\)\(.*\)/\2/')
+ if [ "$kernel_rev" -ge 255 ]
+ then
+ echo WARNING: Your kernel version indicates a revision number
+ echo of 255 or greater. Glibc has a number of built in
+ echo assumptions that this revision number is less than 255.
+ echo If you\'ve built your own kernel, please make sure that any
+ echo custom version numbers are appended to the upstream
+ echo kernel number with a dash or some other delimiter.
+
+ exit_check
+ fi
+
+ # sanity checking for the appropriate kernel on each architecture.
+ realarch=`uname -m`
+ kernel_ver=`uname -r`
+
+ # intel i386 requires a recent kernel
+ if [ "$realarch" = i386 ]
+ then
+ if dpkg --compare-versions "$kernel_ver" lt 2.4.24
+ then
+ echo WARNING: This machine has i386 class processor.
+ echo Debian sarge and later, you need to use at least a 2.4.24
+ echo or 2.6.0 kernel on i386. Please upgrade your kernel
+ echo before installing glibc.
+ echo The reason is that "bswap" instruction is not supported
+ echo on i386 class processors, and newer kernel can emulate
+ echo such lacking instructions.
+ exit_check
+ fi
+ fi
+
+ # SPARC sun4m requires a recent kernel
+ if [ "$realarch" = sparc ]
+ then
+ cputype=`egrep '^type.*:.*sun4m' /proc/cpuinfo 2> /dev/null` || true
+
+ if [ "$cputype" != "" ]
+ then
+ if dpkg --compare-versions "$kernel_ver" lt 2.4.21
+ then
+ echo WARNING: You have a cpu which requires kernel 2.4.21
+ echo or greater in order to install this version of glibc.
+ echo Please upgrade the kernel before installing this package.
+ echo
+ echo You should be able to install the latest version of the
+ echo sparc kernel-image in order to satisfy this need. You
+ echo can also download and compile the latest kernel source
+ echo yourself from a kernel mirror \(see http://www.kernel.org/\).
+ exit_check
+ fi
+ else
+ if dpkg --compare-versions "$kernel_ver" lt 2.2.0 #should be safe
+ then
+ echo WARNING: This version of glibc suggests atleast a
+ echo 2.2.0 kernel in order to work properly. 2.0.x kernels
+ echo will not be able to support certain functions and
+ echo may cause problems. 2.2 kernels have proven to be much
+ echo more reliable than 2.0.x kernels on the sparc platform
+ echo anyway, so an upgrade is suggested. If you have a 2.1.x
+ echo kernel is is suggested you upgrade to the latest 2.2
+ echo release, since it is more stable and fixes many bugs.
+ exit_check
+ fi
+ fi
+ fi
+ # HPPA boxes require latest fixes in the kernel to function properly.
+ if [ "$realarch" = parisc ]
+ then
+ if dpkg --compare-versions "$kernel_ver" lt 2.4.17
+ then
+ echo WARNING: This version of glibc requires that you be running
+ echo atleast a 2.4.17 kernel in order to work properly. Earlier
+ echo kernels did not provide the proper functionality in order
+ echo for the system to be stable.
+ exit_check
+ fi
+ fi
+ # parisc64 boxes require latest fixes in the kernel 2.4.19-pa17 or later
+ # (in 2.4.x), 2.5.53-pa3 or later (in 2.5.x), to function properly.
+ # Note that parisc64 kernel version scheme is "`uname -r`-64".
+ if [ "$realarch" = parisc64 ]
+ then
+ if [ $kernel_ver = ${kernel_ver/pa/} ]
+ then
+ if dpkg --compare-versions "$kernel_ver" lt 2.4.19-64
+ then
+ echo WARNING: This version of glibc requires that you be
+ echo running at least a 2.4.19-64 to work properly.
+ echo Earlier kernels did not provide the proper functionality
+ echo in order for the system to be stable.
+ exit_check
+ fi
+ else
+ if dpkg --compare-versions "$kernel_ver" lt 2.4.19-pa17
+ then
+ echo WARNING: This version of glibc requires that you be
+ echo running at least a 2.4.19-pa17 in \(2.4\) or 2.5.53-pa3
+ echo \(in 2.5\) to work properly.
+ echo Earlier kernels did not provide the proper functionality
+ echo in order for the system to be stable.
+ exit_check
+ fi
+ fi
+ fi
+
+ if [ "$realarch" = mips ] \
+ && [ "`dpkg --print-architecture`" = mips ]
+ then
+ # MIPS (but not mipsel) require a kernel update for the msq fixes.
+ if dpkg --compare-versions "$kernel_ver" lt 2.4.22
+ then
+ echo WARNING: System V message queues require kernel 2.4.22 to
+ echo work correctly on this architecture. Some programs
+ echo "(including perl) may not operate correctly."
+ exit_check
+ fi
+ fi
+
+ # amd64 requires 2.6 kernel because we drop to support linuxthreads
+ if [ "$realarch" = x86_64 ] \
+ && [ "`dpkg --print-architecture`" = amd64 ]
+ then
+ if dpkg --compare-versions "$kernel_ver" lt 2.6.0
+ then
+ echo WARNING: POSIX threads library NPTL requires 2.6 and
+ echo later kernel on amd64. If you use 2.4 kernel, please
+ echo upgrade your kernel before installing glibc.
+ exit_check
+ fi
+ fi
Reply to: