About this list Date view Thread view Subject view Author view Attachment view

From: Hans Ulrich Niedermann (vserver_at_n-dimensional.de)
Date: Thu 06 Jan 2005 - 22:21:18 GMT


Summary: improve dietlibc version detection
URL: http://vserver.lauft.net/util-vserver/patches--merge/util-vserver--merge--0.30.196--patch-4.patch
Revision: util-vserver--merge--0.30.196--patch-4
Archive: hun_at_n-dimensional.de--2004-public

The changes:
  * Detect and require "sort"
  * Use "sort -n" instead of multiplication magic to determine whether the
    dietlibc version is sufficiently new. This test should be more robust.

What they fix:
  * handle a version number like 0.27-7
  * handle "diet -v" output like "diet version $VERSION" in addition to
    the old "dietlibc-$VERSION"

--- orig/m4/ensc_dietlibc.m4
+++ mod/m4/ensc_dietlibc.m4
@@ -72,19 +72,14 @@
         if test "$use_dietlibc" = detected -a '$2'; then
             _dietlibc_ver=$(${DIET:-diet} -v 2>&1 | sed '1p;d')
             _dietlibc_ver=${_dietlibc_ver##*dietlibc-}
- _dietlibc_ver_maj=${_dietlibc_ver%%.*}
- _dietlibc_ver_min=${_dietlibc_ver##*.}
- _dietlibc_ver_min=${_dietlibc_ver_min%% *}
- _dietlibc_cmp=$2
- _dietlibc_cmp_maj=${_dietlibc_cmp%%.*}
- _dietlibc_cmp_min=${_dietlibc_cmp##*.}
+ _dietlibc_ver="$(echo ${_dietlibc_ver##diet version})"
+ _dietlibc_cmp="$(echo $2)"
 
- ensc_version_dietlibc=$_dietlibc_ver_maj.$_dietlibc_ver_min
+ ensc_version_dietlibc=$_dietlibc_ver
 
- let _dietlibc_ver=_dietlibc_ver_maj*1000+_dietlibc_ver_min 2>/dev/null || _dietlibc_ver=0
- let _dietlibc_cmp=_dietlibc_cmp_maj*1000+_dietlibc_cmp_min
-
- test $_dietlibc_ver -ge $_dietlibc_cmp || use_dietlibc=detected_old
+ _dietlibc_newer="$(echo -e "$_dietlibc_cmp\n$_dietlibc_ver" \
+ | sort -rn | sed '1p;d')"
+ test "$_dietlibc_newer" = "$_dietlibc_ver" || use_dietlibc=detected_old
         else
             ensc_version_dietlibc=
         fi

--- orig/m4/ensc_pathprog.m4
+++ mod/m4/ensc_pathprog.m4
@@ -83,6 +83,7 @@
         ENSC_PATHPROG(RMDIR, rmdir)
         ENSC_PATHPROG(SED, sed)
         ENSC_PATHPROG(SH, sh)
+ ENSC_PATHPROG(SORT, sort)
         ENSC_PATHPROG(TAC, tac)
         ENSC_PATHPROG(TAR, tar)
         ENSC_PATHPROG(TOUCH, touch)

_______________________________________________
Vserver mailing list
Vserver_at_list.linux-vserver.org
http://list.linux-vserver.org/mailman/listinfo/vserver


About this list Date view Thread view Subject view Author view Attachment view
[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Thu 06 Jan 2005 - 22:22:05 GMT by hypermail 2.1.3