merge with 0.30.213
authorDaniel Hokka Zakrisson <dhokka@cs.princeton.edu>
Thu, 5 Jul 2007 19:05:15 +0000 (19:05 +0000)
committerDaniel Hokka Zakrisson <dhokka@cs.princeton.edu>
Thu, 5 Jul 2007 19:05:15 +0000 (19:05 +0000)
597 files changed:
COPYING
ChangeLog
INSTALL
Makefile.am
Makefile.in
NEWS
README
THANKS
aclocal.m4
compat-c99.h
compat.h
compile
config.guess
config.h.in
config.sub
configure
configure.ac
contrib/Makefile-files
contrib/manifest.dat.pathsubst
contrib/yum-2.6.0-chroot.patch [new file with mode: 0644]
contrib/yum-2.9.6-chroot.patch [new file with mode: 0644]
depcomp
distrib/Makefile.am
distrib/Makefile.in
distrib/centos4/pkgs/01 [new file with mode: 0644]
distrib/centos4/pkgs/02 [new file with mode: 0644]
distrib/centos4/pkgs/03 [new file with mode: 0644]
distrib/centos4/yum.repos.d/CentOS-Base.repo [new file with mode: 0644]
distrib/centos4/yum/yum.conf [new file with mode: 0644]
distrib/fc3/yum/yum.conf
distrib/fc4/yum/yum.conf
distrib/fc5/apt/rpmpriorities [new file with mode: 0644]
distrib/fc5/apt/sources.list [new file with mode: 0644]
distrib/fc5/pkgs/01 [new file with mode: 0644]
distrib/fc5/pkgs/02 [new file with mode: 0644]
distrib/fc5/pkgs/03 [new file with mode: 0644]
distrib/fc5/rpmlist.d/00.lst [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-core.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-development.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-extras-development.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-extras.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-legacy.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-updates-testing.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-updates.repo [new file with mode: 0644]
distrib/fc5/yum/yum.conf [new file with mode: 0644]
distrib/fc6/apt/rpmpriorities [new file with mode: 0644]
distrib/fc6/apt/sources.list [new file with mode: 0644]
distrib/fc6/pkgs/01 [new file with mode: 0644]
distrib/fc6/pkgs/02 [new file with mode: 0644]
distrib/fc6/pkgs/03 [new file with mode: 0644]
distrib/fc6/rpmlist.d/00.lst [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-core.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-development.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-extras-development.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-extras.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-legacy.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-updates-testing.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-updates.repo [new file with mode: 0644]
distrib/fc6/yum/yum.conf [new file with mode: 0644]
distrib/gentoo/init-vserver.sh [new file with mode: 0644]
distrib/gentoo/initpost [new file with mode: 0755]
distrib/gentoo/initpre [new file with mode: 0755]
distrib/misc/debootstrap.uri
distrib/misc/environment [new file with mode: 0644]
distrib/misc/vprocunhide-files
distrib/redhat/initpost
doc/Makefile-files
doc/configuration-wiki.xsl [new file with mode: 0644]
doc/configuration-xhtml.xsl
doc/configuration.html
doc/configuration.xml
doc/configuration.xsd
ensc_fmt/Makefile-files
ensc_fmt/fmt-32.c
ensc_fmt/fmt-64.c
ensc_fmt/fmt-internal.h
ensc_fmt/fmt-tai64n.c
ensc_fmt/fmt.h
ensc_fmt/fmt.hc
ensc_fmt/fmtx-32.c
ensc_fmt/fmtx-64.c
ensc_fmt/fmtx.hc
ensc_vector/Makefile-files
ensc_vector/list-add.c
ensc_vector/list-at.c
ensc_vector/list-free.c
ensc_vector/list-init.c
ensc_vector/list-insertinternal.c
ensc_vector/list-internal.h
ensc_vector/list-search.c
ensc_vector/list-searchselforg.c
ensc_vector/list.h
ensc_vector/list.hc
ensc_vector/testsuite/Makefile-files
ensc_vector/testsuite/test1.c
ensc_vector/testsuite/test2.c
ensc_vector/vector-clear.c
ensc_vector/vector-foreach.c
ensc_vector/vector-free.c
ensc_vector/vector-init.c
ensc_vector/vector-insert.c
ensc_vector/vector-internal.h
ensc_vector/vector-popback.c
ensc_vector/vector-pushback.c
ensc_vector/vector-resize.c
ensc_vector/vector-resizeinternal.hc
ensc_vector/vector-search.c
ensc_vector/vector-searchselforg.c
ensc_vector/vector-sort.c
ensc_vector/vector-unique.c
ensc_vector/vector-zeroend.c
ensc_vector/vector.h
ensc_vector/vector.hc
ensc_wrappers/Makefile-files
ensc_wrappers/wrappers-clone.hc
ensc_wrappers/wrappers-dirent.hc
ensc_wrappers/wrappers-fcntl.hc
ensc_wrappers/wrappers-io.hc
ensc_wrappers/wrappers-ioctl.hc
ensc_wrappers/wrappers-iosock.hc
ensc_wrappers/wrappers-mount.hc
ensc_wrappers/wrappers-pivot.hc
ensc_wrappers/wrappers-resource.hc
ensc_wrappers/wrappers-socket.hc
ensc_wrappers/wrappers-stat.hc [new file with mode: 0644]
ensc_wrappers/wrappers-stdlib.hc
ensc_wrappers/wrappers-string.hc
ensc_wrappers/wrappers-termios.hc [new file with mode: 0644]
ensc_wrappers/wrappers-unistd.hc
ensc_wrappers/wrappers-vserver.hc
ensc_wrappers/wrappers-wait.hc
ensc_wrappers/wrappers.h
ensc_wrappers/wrappers_handler.hc
install-sh
kernel/cacct_cmd.h [new file with mode: 0644]
kernel/context.h [deleted file]
kernel/context_cmd.h
kernel/cvirt.h [deleted file]
kernel/cvirt_cmd.h
kernel/cvirt_def.h [deleted file]
kernel/debug.h [deleted file]
kernel/debug_cmd.h
kernel/dlimit.h [deleted file]
kernel/dlimit_cmd.h
kernel/inode.h [deleted file]
kernel/inode_cmd.h
kernel/legacy.h
kernel/limit.h [deleted file]
kernel/limit_cmd.h
kernel/limit_def.h [deleted file]
kernel/monitor.h [new file with mode: 0644]
kernel/namespace.h [deleted file]
kernel/namespace_cmd.h [deleted file]
kernel/network.h
kernel/network_cmd.h
kernel/sched.h [deleted file]
kernel/sched_cmd.h
kernel/sched_def.h [deleted file]
kernel/signal_cmd.h
kernel/space_cmd.h [new file with mode: 0644]
kernel/switch.h
kernel/xid.h [deleted file]
lib/Makefile-files
lib/apidoc/Makefile-files
lib/bcaps-v13.c
lib/bcaps_list-v13.c
lib/capabilities.c
lib/ccaps-v13.c
lib/ccaps_list-v13.c
lib/cflags-compat.c
lib/cflags-v13.c
lib/cflags_list-compat.c
lib/cflags_list-v13.c
lib/checkconfig.c [new file with mode: 0644]
lib/checkversion.c
lib/comparevserverbyid.c [new file with mode: 0644]
lib/createskeleton-full.hc
lib/createskeleton-short.hc
lib/createskeleton.c
lib/ext2fs.h
lib/fmt.h
lib/getfilecontext.c
lib/getinsecurebcaps.c
lib/getnbipv4root.c
lib/getprocentry-legacy.c
lib/getversion-internal.hc
lib/getversion.c
lib/getvserverappdir.c
lib/getvserverbyctx-compat.hc
lib/getvserverbyctx-v13.hc
lib/getvserverbyctx.c
lib/getvservercfgdir.c
lib/getvservercfgstyle.c
lib/getvserverctx.c
lib/getvservername.c
lib/getvservervdir.c
lib/getxidtype.c
lib/internal.h
lib/ioctl-getext2flags.hc
lib/ioctl-getfilecontext.hc
lib/ioctl-getxflg.hc
lib/ioctl-setext2flags.hc
lib/ioctl-setfilecontext.hc
lib/ioctl-setxflg.hc
lib/isdirectory.c
lib/isdynamicxid.c
lib/isfile.c
lib/islink.c
lib/issupported.c
lib/issupportedstring.c
lib/listparser.hc
lib/listparser_uint32.c
lib/listparser_uint64.c
lib/ncaps-net.c
lib/ncaps_list-net.c
lib/nflags-net.c
lib/nflags_list-net.c
lib/nidopt2nid.c [new file with mode: 0644]
lib/parselimit.c
lib/personalityflag.c
lib/personalityflag_list.c
lib/personalitytype.c
lib/planetlab.c
lib/safechroot-internal.hc
lib/syscall-alternative.h
lib/syscall-compat.hc
lib/syscall-fallback.h [new file with mode: 0644]
lib/syscall-legacy.hc
lib/syscall-syscall.c
lib/syscall-wrap.h
lib/syscall.c
lib/syscall_adddlimit-v13.hc
lib/syscall_adddlimit.c
lib/syscall_cleanupnamespace-v13.hc
lib/syscall_cleanupnamespace.c
lib/syscall_ctxcreate-v13.hc
lib/syscall_ctxcreate.c
lib/syscall_ctxmigrate-v13.hc
lib/syscall_ctxmigrate-v21.hc [new file with mode: 0644]
lib/syscall_ctxmigrate.c
lib/syscall_ctxstat-v21.hc [new file with mode: 0644]
lib/syscall_ctxstat.c [new file with mode: 0644]
lib/syscall_enternamespace-v13.hc
lib/syscall_enternamespace-v21.hc [new file with mode: 0644]
lib/syscall_enternamespace.c
lib/syscall_getccaps-v13.hc
lib/syscall_getccaps.c
lib/syscall_getcflags-v13.hc
lib/syscall_getcflags.c
lib/syscall_getdlimit-v13.hc
lib/syscall_getdlimit.c
lib/syscall_getiattr-fscompat.hc
lib/syscall_getiattr-v13.hc
lib/syscall_getiattr.c
lib/syscall_getncaps-net.hc
lib/syscall_getncaps.c
lib/syscall_getnflags-net.hc
lib/syscall_getnflags.c
lib/syscall_getnxinfo-net.hc
lib/syscall_getnxinfo.c
lib/syscall_getspacemask-v21.hc [new file with mode: 0644]
lib/syscall_getspacemask.c [new file with mode: 0644]
lib/syscall_gettasknid-net.hc
lib/syscall_gettasknid.c
lib/syscall_gettaskxid-oldproc.hc
lib/syscall_gettaskxid-v13.hc
lib/syscall_gettaskxid.c
lib/syscall_getvci-v21.hc [new file with mode: 0644]
lib/syscall_getvci.c [new file with mode: 0644]
lib/syscall_getvhiname-olduts.hc
lib/syscall_getvhiname-v13.hc
lib/syscall_getvhiname.c
lib/syscall_getvxinfo-oldproc.hc
lib/syscall_getvxinfo-v13.hc
lib/syscall_getvxinfo.c
lib/syscall_kill-v11.hc
lib/syscall_kill.c
lib/syscall_netadd-net.hc
lib/syscall_netadd.c
lib/syscall_netcreate-net.hc
lib/syscall_netcreate.c
lib/syscall_netmigrate-net.hc
lib/syscall_netmigrate.c
lib/syscall_netremove-net.hc
lib/syscall_netremove.c
lib/syscall_remdlimit-v13.hc
lib/syscall_remdlimit.c
lib/syscall_resetminmax-v21.hc [new file with mode: 0644]
lib/syscall_resetminmax.c [new file with mode: 0644]
lib/syscall_rlimit-v11.hc
lib/syscall_rlimit.c
lib/syscall_rlimitstat-v21.hc [new file with mode: 0644]
lib/syscall_rlimitstat.c [new file with mode: 0644]
lib/syscall_setccaps-v13.hc
lib/syscall_setccaps-v21.hc [new file with mode: 0644]
lib/syscall_setccaps.c
lib/syscall_setcflags-v13.hc
lib/syscall_setcflags.c
lib/syscall_setdlimit-v13.hc
lib/syscall_setdlimit.c
lib/syscall_setiattr-fscompat.hc
lib/syscall_setiattr-v13.hc
lib/syscall_setiattr.c
lib/syscall_setnamespace-v13.hc
lib/syscall_setnamespace-v21.hc [new file with mode: 0644]
lib/syscall_setnamespace.c
lib/syscall_setncaps-net.hc
lib/syscall_setncaps.c
lib/syscall_setnflags-net.hc
lib/syscall_setnflags.c
lib/syscall_setsched-v13.hc
lib/syscall_setsched-v13obs.hc [new file with mode: 0644]
lib/syscall_setsched-v21.hc [new file with mode: 0644]
lib/syscall_setsched.c
lib/syscall_setvhiname-olduts.hc
lib/syscall_setvhiname-v13.hc
lib/syscall_setvhiname.c
lib/syscall_virtstat-v21.hc [new file with mode: 0644]
lib/syscall_virtstat.c [new file with mode: 0644]
lib/syscall_waitexit-v13.hc
lib/syscall_waitexit.c
lib/testsuite/Makefile-files
lib/testsuite/cflags.c
lib/testsuite/fmt.c
lib/testsuite/parselimit.c
lib/testsuite/personality.c
lib/utils-legacy.h
lib/val2text-t2v-uint32.c
lib/val2text-t2v-uint64.c
lib/val2text-v2t-uint32.c
lib/val2text-v2t-uint64.c
lib/val2text.hc
lib/virtual.h
lib/vserver-internal.h
lib/vserver.h
lib/xidopt2xid.c
lib_internal/Makefile-files
lib_internal/command-appendparameter.c
lib_internal/command-exec.c
lib_internal/command-free.c
lib_internal/command-init.c
lib_internal/command-reset.c
lib_internal/command-setparams.c
lib_internal/command-wait.c
lib_internal/command.h
lib_internal/coreassert.h
lib_internal/errinfo-writeerrno.c
lib_internal/errinfo.h
lib_internal/filecfg-iteratemultiline.c
lib_internal/filecfg-readentryflag.c
lib_internal/filecfg-readentrystr.c
lib_internal/filecfg.h
lib_internal/jail.h
lib_internal/jailintotempdir.c
lib_internal/matchlist-appendfiles.c
lib_internal/matchlist-compare.c
lib_internal/matchlist-destroy.c
lib_internal/matchlist-init.c
lib_internal/matchlist-initbyvserver.c
lib_internal/matchlist-initmanually.c
lib_internal/matchlist-initrefserverlist.c
lib_internal/matchlist-printid.c
lib_internal/matchlist.h
lib_internal/matchvserverinfo-free.c
lib_internal/matchvserverinfo-init.c
lib_internal/pathinfo-append.c
lib_internal/pathinfo-test.c
lib_internal/pathinfo.h
lib_internal/string.h
lib_internal/string.hc
lib_internal/switchtowatchxid.c
lib_internal/sys_clone.h
lib_internal/sys_personality.h
lib_internal/testsuite/Makefile-files
lib_internal/testsuite/command.c
lib_internal/testsuite/copy-check
lib_internal/testsuite/copy.c
lib_internal/testsuite/filecfg-ml.c
lib_internal/testsuite/isnumber.c [new file with mode: 0644]
lib_internal/testsuite/sigbus.c
lib_internal/unify-copy.c
lib_internal/unify-deunify.c
lib_internal/unify-isiunlinkable.c
lib_internal/unify-settime.c
lib_internal/unify-unify.c
lib_internal/unify.h
lib_internal/util-canonify.c
lib_internal/util-cast.h
lib_internal/util-commonstrings.h
lib_internal/util-debug.h
lib_internal/util-declarecmd.h
lib_internal/util-dimof.h
lib_internal/util-dotfile.h
lib_internal/util-exitlikeprocess.c
lib_internal/util-exitlikeprocess.h
lib_internal/util-io.h
lib_internal/util-isnumber.c
lib_internal/util-isnumber.hc [new file with mode: 0644]
lib_internal/util-isnumberunsigned.c [new file with mode: 0644]
lib_internal/util-lockfile.c
lib_internal/util-lockfile.h
lib_internal/util-mem.h
lib_internal/util-perror.h
lib_internal/util-safechdir.c
lib_internal/util-safechdir.h
lib_internal/util-unixsock.h
lib_internal/util.h
ltmain.sh
m4/changelog.am
m4/ensc_cflags.m4
m4/ensc_changelog.m4
m4/ensc_cxxcompiler.m4
m4/ensc_dietlibc.m4
m4/ensc_dietlibc_compat.m4
m4/ensc_e2fscheck.m4
m4/ensc_initrddir.m4
m4/ensc_kerneldir.m4 [deleted file]
m4/ensc_pathprog.m4
m4/ensc_personality.m4
m4/ensc_release.m4
m4/ensc_syscall.m4
m4/ensc_syscallnr.m4
m4/ensc_uv_vrootdir.m4
m4/gpgsig.am
m4/install-notify.am
m4/libsel.am
m4/pkgconfig.am
m4/validate.am
man/Makefile-files
man/chcontext.8
man/vserver-copy.8
missing
pathconfig.h.pathsubst
python/Makefile
python/vserver.py
python/vserverimpl.c
scripts/Makefile-files
scripts/chbind [new file with mode: 0755]
scripts/chcontext
scripts/functions
scripts/legacy/vserver
scripts/legacy/vserver-copy
scripts/magic.mime [new file with mode: 0644]
scripts/pkgmgmt
scripts/start-vservers
scripts/util-vserver-vars.pathsubst
scripts/vapt-get
scripts/vapt-get-worker
scripts/vcached
scripts/vdispatch-conf [new file with mode: 0755]
scripts/vemerge [new file with mode: 0755]
scripts/vesync [new file with mode: 0755]
scripts/vpkg
scripts/vprocunhide
scripts/vrpm
scripts/vrpm-preload
scripts/vrpm-worker
scripts/vserver
scripts/vserver-build
scripts/vserver-build.apt-rpm
scripts/vserver-build.debootstrap
scripts/vserver-build.fai [new file with mode: 0644]
scripts/vserver-build.functions
scripts/vserver-build.functions.apt
scripts/vserver-build.functions.pkgmgmt
scripts/vserver-build.functions.rpm
scripts/vserver-build.functions.yum
scripts/vserver-build.rpm
scripts/vserver-build.rsync [new file with mode: 0644]
scripts/vserver-build.skeleton
scripts/vserver-build.template [new file with mode: 0644]
scripts/vserver-build.yum
scripts/vserver-setup.functions
scripts/vserver-wrapper
scripts/vserver.delete [new file with mode: 0644]
scripts/vserver.functions
scripts/vserver.start
scripts/vserver.stop
scripts/vserver.suexec
scripts/vshelper
scripts/vsomething
scripts/vsysvwrapper
scripts/vupdateworld [new file with mode: 0755]
scripts/vuseradd
scripts/vuserdel
scripts/vyum
scripts/vyum-worker
src/Makefile-files
src/capability-compat.h
src/capchroot.c
src/chain-echo.c
src/chbind.c
src/chcontext.c
src/check-unixfile.c
src/chroot-sh.c
src/chxid.c
src/compat-pivot_root.h
src/context-sync.hc
src/exec-cd.c
src/exec-ulimit.c
src/fakerunlevel.c
src/filetime.c
src/fstool.c
src/fstool.h
src/ifspec.c
src/keep-ctx-alive.c
src/listdevip.c
src/lockfile.c
src/lsxid.c
src/mask2prefix.c
src/naddress.c [new file with mode: 0644]
src/nattribute.c [new file with mode: 0644]
src/ncontext.c [new file with mode: 0644]
src/parserpmdump.c
src/readlink.c
src/rebootmgr.c
src/reducecap.c
src/rpm-fake-resolver.c
src/rpm-fake.c
src/save_ctxinfo.c
src/secure-mount.c
src/setattr.c
src/showattr.c
src/showperm.c
src/sigexec.c
src/stack-start.h
src/testsuite/Makefile-files
src/testsuite/chbind-test.c
src/testsuite/chcontext-test.c
src/testsuite/hashcalc-plain.c [new file with mode: 0644]
src/testsuite/hashcalc-plain.sh [new file with mode: 0755]
src/testsuite/hashcalc.c [new file with mode: 0644]
src/testsuite/hashcalc.sh [new file with mode: 0755]
src/testsuite/rpm-fake-test.c
src/testsuite/vunify-functest.c
src/testsuite/vwait-test.sh [new file with mode: 0755]
src/util.h
src/vattribute.c
src/vcontext.c
src/vcopy-init.hc
src/vcopy.c
src/vdlimit.c
src/vdu.c
src/vhashify-init.hc
src/vhashify.c
src/vhashify.h
src/vkill.c
src/vlimit.c
src/vlogin.c [new file with mode: 0644]
src/vnamespace.c
src/vps.c
src/vreboot.c
src/vrsetup.c
src/vsched.c
src/vserver-info.c
src/vserver-stat.c
src/vserver-visitdir.hc
src/vshelper-sync.c
src/vuname.c
src/vunify-init.hc
src/vunify.c
src/vunify.h
src/vwait.c
sysv/Makefile-files
tests/Makefile-files
tests/escaperoot.c
tests/forkbomb.c
tests/getctx.c
tests/getinitpid.c
tests/testipc.c
tests/testlimit.c
tests/testopenf.c
tests/vserver-info.c
util-vserver.spec
util-vserver.spec.in
vserver-start/Makefile-files
vserver-start/configuration-init.c
vserver-start/configuration.c
vserver-start/configuration.h
vserver-start/defaulttty.c
vserver-start/interface-add.c
vserver-start/interface-free.hc
vserver-start/interface-init.hc
vserver-start/interface-print.c
vserver-start/interface-read.c
vserver-start/interface-remove.c
vserver-start/interface.c
vserver-start/interface.h
vserver-start/main.c
vserver-start/mount.c
vserver-start/mount.h
vserver-start/scriptlets.c
vserver-start/undo.c
vserver-start/undo.h
vserver-start/vserver-start.h
vserver-start/vshelper.c
vserver-start/vshelper.h

diff --git a/COPYING b/COPYING
index d60c31a..623b625 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -2,7 +2,7 @@
                       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
index edc1682..35ed2cc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2005-07-15 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-05-03 12:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * NEWS, configure.ac:
+       * NEWS: Version 0.30.213.
 
-       version 0.30.208
+2007-05-03 12:13  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2005-07-15 21:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * contrib/manifest.dat.pathsubst: Add missing file.
 
-       * configure.ac, lib/personalityflag.c, lib/personalitytype.c,
-         m4/ensc_personality.m4:
+2007-05-02 20:11  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       check whether enums from <linux/personality.h> are available before using
-       them (https://savannah.nongnu.org/bugs/?func=detailitem&item_id=12921)
+       * configure.ac: Version 0.30.213.
 
-2005-07-15 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-04-27 09:08  Benedikt Böhm <hollow@gentoo.org>
 
-       * util-vserver.spec.in:
+       * scripts/vserver.functions: fake init environment during shutdown,
+         otherwise rc just calls shutdown/halt which does not work without
+         init
 
-       - require the -lib subpackage by -devel
-       - copy GPG keys from /etc/pki/rpm-gpg/
+2007-04-27 09:02  Benedikt Böhm <hollow@gentoo.org>
 
-2005-07-15 21:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * distrib/gentoo/initpost, distrib/gentoo/initpre: add dummy net
+         dependency to default runlevel; dmesg/syslog is now handled in
+         baselayout
 
-       * src/testsuite/rpm-fake-test.sh:
+2007-04-27 09:01  Benedikt Böhm <hollow@gentoo.org>
 
-       fixed paths so that it works again...
+       * src/chroot-sh.c: add link command to chroot-sh
 
-2005-07-15 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-04-27 08:42  Benedikt Böhm <hollow@gentoo.org>
 
-       * sysv/vprocunhide:
+       * distrib/gentoo/reboot.sh, distrib/gentoo/shutdown.sh: don't call
+         /halt/reboot -f for gentoo init style, but rather just exit,
+         since we would be killed by vshelper, does not matter for reboot
+         from inside: simple reboot wonÄt work with gentoo init style,
+         must use reboot -f inside
 
-       do not run when IATTR feature is not supported
+2007-04-27 08:40  Benedikt Böhm <hollow@gentoo.org>
 
-2005-07-15 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * distrib/gentoo/initpre: fix distdir handling if prefix is not
 
-       * scripts/: vserver.start, vserver.suexec:
+2007-04-21 14:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       readded the limit-ulimits-per-vserver stuff due popular request
-       (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=12840)
+       * lib/cflags-v13.c, scripts/vshelper: Use the state change helper
+         to stop the guest when the last process exits.
 
-2005-07-15 20:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-04-21 14:05  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/getinsecurebcaps.c:
+       * scripts/vserver-build.template: Recognize the --nodevsanity
+         option.
 
-       - adjusted insecure caps for the added CAP_AUDIT* and removed
-         CAP_QUOTACTL stuff
-       - assume every unknown capability as insecure
-
-2005-07-15 20:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/testsuite/.cvsignore:
-
-       added 'personality'
-
-2005-07-15 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall_netadd-net.hc, syscall_netremove-net.hc:
-
-       changed code so that it *compiles* with current kernel headers
-
-2005-07-15 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall_getiattr-fscompat.hc, syscall_setiattr-fscompat.hc:
-
-       Changed the barrier-code so that it sets both the 't' ext2-flag and
-       chmod-0 permissions. This is required to work with 1.2.10 patch;
-       formerly the chmod-0 sufficed. [reported by Bjoern Steinbrink,
-       http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13170]
-
-2005-07-15 18:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/capabilities.c:
-
-       use a static '29' for QUOTACTL capability as  VC_CAP_QUOTACTL was removed
-
-2005-07-15 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/ccaps-v13.c:
-
-       added VC_VXC_{SYSLOG,BINARY_MOUNT,QUOTA_CTL}
-       added/moved some aliases
-
-2005-07-15 18:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/bcaps-v13.c:
-
-       removed VC_CAP_QUOTACTL
-       added VC_CAP_AUDIT*
-
-2005-07-15 18:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       removed VC_CAP_QUOTACTL
-       added VC_CAP_AUDIT*
-       added VC_VXC_{SYSLOG,BINARY_MOUNT,QUOTA_CTL}
-
-2005-07-15 18:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/: Makefile-files, yum-2.3.4-chroot.patch:
-
-       added yum-2.3.4-chroot patch
-
-2005-07-15 18:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/: network.h, network_cmd.h, switch.h, xid.h:
-
-       updated to patch-2.6.12.2-vs2.0-rc7
-
-2005-07-05 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions:
-
-       check whether context is already active before starting the build
-       (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=12849)
-
-2005-07-05 00:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-info.c:
-
-       allow to pass a numeric xid to 'vserver-info ... RUNNING'
-
-2005-07-05 00:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/: Makefile-files, util-isnumber.c, util.h:
-
-       isNumber(): added
-
-2005-07-04 20:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.debootstrap:
-
-       give out status message before downloading debootstrap
-       (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13472)
-
-2005-07-04 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/syscall-alternative.h:
-
-       updated to http://vserver.13thfloor.at/Experimental/SYSCALL/syscall.h
-       from 2005-05-07
-
-2005-07-04 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/misc/debootstrap.uri:
-
-       oops... set the wrong value
-
-2005-07-04 00:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/misc/debootstrap.uri:
-
-       updated
-
-2005-07-04 00:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       register fc4 as rh-style distribution
-
-2005-07-03 22:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       check for 'nohup'
-
-2005-07-03 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst:
-
-       removed chroot_* + C++ programs
-       added chroot_sh + vwait
-
-2005-07-03 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am, lib/virtual.h:
-
-       updated used kernel headers to 2.6.12.2-vs2.0-rc5
-
-2005-07-03 19:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall_getvhiname-v13.hc, syscall_setvhiname-v13.hc:
-
-       - s!VCMD_vx_.et_vhi_name!VCMD_.et_vhi_name!
-       - added workaround for older kernels not having the naming above
-
-2005-07-03 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vshelper:
-
-       accept 'async' method
-
-2005-07-03 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.start:
-
-       pipe 'popd' output to /dev/null
-
-2005-07-03 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       initSync(): fixed parameter naming
-       initSync(): set 'async' method when 'vwait' is available
-       _waitForVWait(): read pipe after 'wait' returned
-
-2005-07-03 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build:
-
-       do not set OPTION_KEEP
-
-2005-07-03 19:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added vwait
-
-2005-07-03 19:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/pkgmgmt:
-
-       - cleanups
-       - unset %_dbpath at 'internalize' operation
-
-2005-07-03 19:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       vshelper.initSync(): fixed parameter naming
-
-2005-07-03 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/chroot-sh.c:
-
-       implemented 'testfile' subcommand
-
-2005-07-03 16:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/: Makefile-files, yum-2.3.3-chroot.patch:
-
-       added yum-2.3.3-chroot.patch
-
-2005-07-03 16:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       do not quote $_VSHELPER in help message (reported by Roman Barczynski,
-       https://savannah.nongnu.org/bugs/?func=detailitem&item_id=13162)
-
-2005-07-03 16:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       mentioned the working directory for the scripts
-
-2005-07-03 16:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/: context.h, context_cmd.h, cvirt_cmd.h, debug.h,
-         namespace.h, namespace_cmd.h, network.h, network_cmd.h, switch.h:
-
-       updated to 2.6.12.2-vs2.0-rc5
-
-2005-07-03 15:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.start:
-
-       execute the prepre script in the configuration directory (*not* the
-       vdir directory); this should not cause legacy problems as formerly the
-       directory was not changed overall
-
-2005-07-03 15:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       check whether filesystem is mounted readonly; if so, execute
-       $_SECURE_MOUNT with the '-n' argument
-
-2005-07-03 15:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.apt-rpm, vserver-build.debootstrap,
-         vserver-build.rpm:
-
-       execute base.setSuccess() at the end
-
-2005-07-03 15:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake-resolver.c:
-
-       implemented better error-handling in the read() and write() functions
-
-2005-07-03 14:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_wrappers/: wrappers-io.hc, wrappers-iosock.hc,
-         wrappers-unistd.hc:
-
-       store result of read*(2) and write*(2) fucntions into signed variables;
-       error handling is more cleaner in this way
-
-2005-07-03 14:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-stat.c:
-
-       - cleanups
-       - multiply RSS value with PAGESIZE
-         (https://savannah.nongnu.org/bugs/?func=detailitem&item_id=13184)
-       - prepare the '-O' option: calculate vserver names earlier and use
-         some more helper functions
-
-2005-07-03 14:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       - doPwStringRequest(): fixed x86_64 issue; rpm-fake.so transmitted a
-         'size_t' value, but rpm-fake-resolver expected an uint32_t
-       - minor cleanups
-
-2005-07-03 11:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/: Makefile-files, vector-foreach.c, vector.h,
-         vector.hc:
-
-       added Vector_foreach*() functions
-
-2005-07-02 11:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: Makefile-files, vbuild.cc[DEAD], vcheck.cc[DEAD],
-         vfiles.cc[DEAD], vserver.cc[DEAD], vserver.hh[DEAD],
-         vutil.cc[DEAD], vutil.h[DEAD], vutil.p[DEAD]:
-
-       removed the C++ tools; they do not work with recent configuration and
-       are adding huge dependencies
-
-2005-06-30 08:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.stop:
-
-       use vwait infrastructure
-
-2005-06-30 08:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.functions.pkgmgmt, vserver.functions:
-
-       use CHROOT_SH instead of CHROOT_*
-       use vwait
-
-2005-06-30 08:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions:
-
-       remove generated vserver when build fails and '--keep' was not specified
-
-2005-06-30 08:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.apt-rpm, vserver-build.debootstrap,
-         vserver-build.rpm, vserver-build.skeleton, vserver-build.yum:
-
-       use 'base.init' instead of 'base.initVariables'
-
-2005-06-30 08:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build:
-
-       added '--keep' option
-
-2005-06-30 08:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: X, util-vserver-vars.pathsubst:
-
-       removed CHROOT_*
-       added CHROOT_SH
-
-2005-06-30 08:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/pkgmgmt:
-
-       use CHROOT_SH instead of CHROOT_*
-
-2005-06-30 08:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/virtual.h:
-
-       include signal_cmd.h instead of signal.h
-
-2005-06-30 08:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       added %dist tag
-       buildrequire 'which' and 'diffutils'
-       require 'apt' on i386 only
-
-2005-06-30 08:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc4/: apt/rpmpriorities, apt/sources.list, yum/yum.conf,
-         yum.repos.d/fedora-devel.repo,
-         yum.repos.d/fedora-updates-testing.repo,
-         yum.repos.d/fedora-updates.repo, yum.repos.d/fedora.repo,
-         pkgs/01, pkgs/02, pkgs/03, rpmlist.d/00.lst:
-
-       initial checkin
-
-2005-06-30 08:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpost:
-
-       use CHROOT_SH instead of CHROOT_*
-
-2005-06-30 07:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: .cvsignore, Makefile-files, chroot-cat.c[DEAD],
-         chroot-rm.c[DEAD], chroot-sh.c:
-
-       replaced all the small chroot-* programs with a single 'chroot-sh'
-       program
-
-2005-05-19 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added @NOHUP@
-
-2005-05-19 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/pkgmgmt:
-
-       use new chroot-cat CLI
-
-2005-05-19 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/: context.h, cvirt.h, dlimit.h, dlimit_cmd.h, inode_cmd.h,
-         legacy.h, signal_cmd.h, xid.h, signal.h[DEAD]:
-
-       updated
-
-2005-05-19 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: issupported.c, issupportedstring.c, vserver.h:
-
-       vc_isSupported() et.al: added VWAIT feature
-
-2005-05-19 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_syscall.m4:
-
-       s!enable_val!enableval!
-
-2005-05-19 20:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-stat.c:
-
-       fixed calculation of hours (%24 instead of %60); reported in
-       http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13048 by
-       Roman Barczynski
-
-2005-05-19 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/chroot-cat.c:
-
-       added '-i', '-o' and '-a' options to cat or override a file, or to
-       append something
-
-2005-05-19 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpost:
-
-       use safe chroot-cat commands
-
-2005-05-05 21:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc.m4:
-
-       - give out a more correct helpstring for the '--enable/disable-dietlibc'
-         option
-       - use AS_HELP_STRING instead of AC_HELP_STRING
-
-2005-05-05 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       - removed call to ENSC_FPIC_SYSCALL
-       - enhanced dietlibc version check to the 64 bit version of hppa
-
-2005-05-05 11:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/.cvsignore:
-
-       added vwait
-
-2005-05-05 11:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vwait.c:
-
-       initial checkin
-
-2005-05-05 11:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vshelper-sync.c:
-
-       use '__linux__' instead of '__linux' (reported by Ola Lundqvist)
-
-2005-05-05 11:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/exec-cd.c:
-
-       minor cosmetical cleanup
-
-2005-05-05 11:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/chroot-cat.c:
-
-       - added support for '--help' and '--version'
-       - added '-a' option to append information instead of truncating the
-         file
-
-2005-05-05 11:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/Makefile-files:
-
-       - 'chroot-cat' supports now the '--help' and '--version' options so
-         removed it from AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
-       - added vwait
-
-2005-05-05 11:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/install-notify.am:
-
-       s!^# !## !
-
-2005-05-05 11:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: Makefile-files, syscall_waitexit-v13.hc,
-         syscall_waitexit.c, vserver.h:
-
-       vc_wait_exit(): implemented support for this syscall
-
-2005-05-02 23:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/compat-pivot_root.h:
-
-       use <syscall-wrap.h>
-
-2005-05-02 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_syscall.m4:
-
-       minor cosmetical cleanups
-
-2005-05-02 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_fpicsyscall.m4[DEAD]:
-
-       obsoleted
-
-2005-05-02 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_fpicsyscall.m4:
-
-       use ENSC_SYSCALL_ALTERNATIVE
-
-2005-05-02 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver-internal.h:
-
-       cleaned up '#include <*syscall.h>' stuff
-
-2005-05-02 23:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall-legacy.hc, syscall-wrap.h:
-
-       include <syscall.h> also
-
-2005-05-02 23:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration-xhtml.xsl:
-
-       use class 'directoryname' instead of 'directory' for '<directory/>'
-       markup
-
-2005-05-02 23:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am, distrib/Makefile.am, m4/install-notify.am:
-
-       give out additional information about the 'make install' process
-
-2005-04-28 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.207
-
-2005-04-28 20:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       adjusted dietlibc requirements
-
-2005-04-28 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vcontext.c:
-
-       allow to override the execution domain (personality); added
-       '--personality-type' and '--personality-flags' options
-
-2005-04-28 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake-resolver.c:
-
-       added a TEMP_FAILURE_RETRY around a read(2)
-
-2005-04-28 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver.start, vserver.suexec:
-
-       added support for a rescue mode
-
-2005-04-28 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       * _generatePersonalityOptions(): added and use it
-       * added support for a rescue mode
-
-2005-04-28 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.pkgmgmt:
-
-       YUM_RELEASEPKGS: added
-
-2005-04-28 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver:
-
-       fixed docu for 'stop' and 'start'
-
-2005-04-28 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/pkgmgmt:
-
-       * verifyInternalPackages(): added
-       * added some sanity checks for a sany environment when internalizing
-         the package management
-
-2005-04-28 20:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       * isRegularFile():  fixed evaluation of params
-       * hasSubstring():   added
-       * getAllVservers(): fixed typo
-
-2005-04-28 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/sys_clone.h:
-
-       cleanups; do not include <sys/syscall.h>
-
-2005-04-28 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/: Makefile-files, sys_personality.h:
-
-       added sys_personality.h
-
-2005-04-28 19:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-copy[DEAD], legacy/vserver-copy:
-
-       moved to legacy
-
-2005-04-28 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/testsuite/: Makefile-files, personality.c:
-
-       added testcases for the vc_*personality*() functions
-
-2005-04-28 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       added prototypes for vc_*personality* support
-
-2005-04-28 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/virtual.h:
-
-       updated to new kernel headers
-
-2005-04-28 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/cflags_list-v13.c:
-
-       do not include <string.h> anymore
-
-2005-04-28 19:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/internal.h:
-
-       utilvserver_listparser_uint*(): removed the 'nonnull' attribute for the 'mask' param
-
-2005-04-28 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: Makefile-files, personalityflag.c, personalityflag_list.c,
-         personalitytype.c:
-
-       added personality* files
-
-2005-04-28 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       * added some markup
-       * documented 'personality'
-
-2005-04-28 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/: configuration-xhtml.xsl, configuration.dtd:
-
-       added support for <directory> and <filename> markup
-
-2005-04-28 19:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/yum/yum.conf:
-
-       s!redhat-release!fedora-release!
-
-2005-04-28 19:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/pkgs/02:
-
-       removed 'coreutils'
-
-2005-04-28 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/rpmlist.d/00.lst:
-
-       added some more packages
-
-2005-04-28 19:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/: fc1/apt/rpmpriorities, fc2/apt/rpmpriorities,
-         fc3/apt/rpmpriorities, rh9/apt/rpmpriorities:
-
-       added *-release packages
-
-2005-04-28 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst, scripts/Makefile-files:
-
-       moved vserver-copy to legacy
-
-2005-04-28 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       added new kernel headers
-
-2005-04-28 13:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/: context.h, context_cmd.h, cvirt.h, cvirt_cmd.h,
-         cvirt_def.h, debug.h, debug_cmd.h, dlimit.h, dlimit_cmd.h,
-         inode.h, inode_cmd.h, legacy.h, limit.h, limit_cmd.h,
-         limit_def.h, namespace.h, network.h, network_cmd.h, sched.h,
-         sched_cmd.h, sched_def.h, switch.h, xid.h:
-
-       updated to headers from patch-2.6.11.7-vs2.0-pre2
-
-2005-04-24 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-stat.c:
-
-       showContexts(): added 'const' qualifier
-
-2005-04-24 22:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: start-vservers, vsomething:
-
-       use the new getAllVservers() functionality to specify special kinds of
-       vservers
-
-2005-04-24 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       * isRegularFile(): allow to override the '-f' classifier
-       * getAllVservers(): added several types of vservers (marked, unmarked,
-         running...)
-       * getAllVserversByArg()" added
-
-2005-04-24 22:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc_compat.m4:
-
-       * ENSC_DIETLIBC_NEED_COMPAT: use the 'syscall-wrap.h' header and the
-         results from ENSC_SYSCALL_ALTERNATIVE
-
-2005-04-24 22:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_syscall.m4:
-
-       * ENSC_SYSCALL_ALTERNATIVE: added
-       * ENSC_SYSCALL: use the 'syscall-wrap.h' header and the results from
-         ENSC_SYSCALL_ALTERNATIVE
-
-2005-04-24 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver-internal.h, lib_internal/sys_clone.h:
-
-       include "syscall-wrap.h"
-
-2005-04-24 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: ncaps-net.c, nflags-net.c:
-
-       VALUES: added an empty field to make it compile with gcc4
-
-2005-04-24 22:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: ncaps_list-net.c, nflags_list-net.c:
-
-       made it compatible to the new utilvserver_listparser_uint*() API and
-       added wrappers with a third 'bool *' arg
-
-2005-04-24 22:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/listparser.hc:
-
-       * parser function has now to set a 'bool *' arg to signal errors
-       * when 'mask' argument is null, the special modifiers like '~', '!' or
-         'any' are not allowed
-
-2005-04-24 22:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/internal.h:
-
-       utilvserver_listparser_uint*(): added a third 'bool *' arg for the
-       parser function so that errors can be better propagated
-
-2005-04-24 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: bcaps_list-v13.c, ccaps_list-v13.c, cflags_list-v13.c:
-
-       made it compatible to the new utilvserver_listparser_uint*() API and
-       added wrappers with a third 'bool *' arg
-
-2005-04-24 22:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: Makefile-files, syscall-alternative.h, syscall-wrap.h:
-
-       added syscall-alternative.h and syscall-wrap.h
-
-2005-04-24 22:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * update-doc:
-
-       exclude some static files
-
-2005-04-24 22:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * build-all:
-
-       remove config.cache when CLEAN is set
-       disabled gcc33 build
-
-2005-04-24 13:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/: configuration-xhtml.xsl, configuration.dtd,
-         configuration.xml:
-
-       added new markup
-       added new CSS from Nicolas Costes
-
-2005-04-16 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       cleanups
-       added '--disable-extra-optimizations' option
-
-2005-04-16 23:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.functions, vserver-build.functions.apt,
-         vserver-build.functions.rpm, vserver-build.functions.yum,
-         vserver.functions:
-
-       use the common isRegularFile() method to filter out backup-files
-
-2005-04-16 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       isRegularFile(): added
-
-2005-04-16 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       cleanups
-       added changelog entry for 0.30.206
-
-2005-04-13 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.206
-
-2005-04-12 23:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-info.c:
-
-       implemented VERIFYPROC method
-
-2005-04-12 23:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       added verify-proc sanity check
-
-2005-04-12 23:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       killContext(): commented out the more correct
-       (but not working) kill-sequence
-
-2005-04-12 23:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       ship the yum patches
-
-2005-04-12 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       added '--no-wrap -S' to the CVS2CL_AMFLAGS
-
-2005-04-12 21:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       adjusted min-dietlibc requirements
-
-2005-04-12 21:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc.m4:
-
-       ENSC_ENABLE_DIETLIBC(): allow 'min_ver' to be a shell variable
-
-2005-04-12 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       vshelper.isDebug(): fixed logic
-
-2005-04-10 14:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       send the signals for endgrent() and endpwent()
-
-2005-04-10 14:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/: Makefile-files, yum-2.2.1-chroot.patch,
-         yum-2.3.2-chroot.patch:
-
-       added patches for yum
-
-2005-04-10 14:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       include m4/libsel.am
-
-2005-04-10 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/context-sync.hc:
-
-       ignore errors during setsid(2) execution (required for vs1.9.5.12+)
-
-2005-04-10 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vshelper:
-
-       * kill vserver processes explicitly with 'killContext'; userspace
-         reboot helper may assume that 'reboot(2)' never returns...
-       * added 'async' method
-
-2005-04-10 02:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.stop:
-
-       implicate '--sync' option; it is not possible to stop asynchronously
-       send SIGINT to pid 1 instead of trying to determine initpid
-
-2005-04-10 02:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       use 'killContext()' instead of  invoking 'vkill' manually
-       set an initial runlevel for 'minit' style also
-       set 'async' vshelper method for non-sync mode
-
-2005-04-10 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vprocunhide:
-
-       fixed missing quoting of '~'; this may cause very slow booting when
-       NIS/LDAP servers are local vservers as bash tries to expand this to a
-       homedir...
-
-2005-04-10 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       spawn(), killContext(): added
-
-2005-04-10 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/libsel.am:
-
-       initial checkin
-
-2005-04-10 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc.m4:
-
-       use a more modern version which accepts 'DIET' and 'DIETFLAGS' as
-       global configure variables
-
-2005-04-10 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_cxxcompiler.m4:
-
-       fixed typo
-
-2005-04-10 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       defined ENSC_USE_DIETLIBC + ENSC_USE_GLIBC
-
-2005-04-10 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       removed 'DIET' and 'DIETFLAGS' variables; they are set by configure now
-
-2005-04-08 21:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vyum-worker:
-
-       added better test for patched yum
-
-2005-04-08 21:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-info.c:
-
-       fixed typo
-
-2005-04-08 21:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.suexec:
-
-       fixed typo (reported by Paul S. Gumerman)
-
-2005-04-08 21:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.yum:
-
-       substitute @YUMLOCKDIR@
-
-2005-04-08 21:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/chcontext:
-
-       fixed operation when context was not specified
-
-2005-04-08 21:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpre:
-
-       reverted the patch adding '/usr/X11'
-       create '/sbin/new-kernel-pkg'; 'initpost' would be too late for FC4
-
-2005-04-08 21:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpost:
-
-       use 'ln -sf' instead of 'ln -s'
-
-2005-04-08 21:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/yum/yum.conf:
-
-       add 'lockfile'
-
-2005-04-08 21:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       added 'fc3' to 'redhat_style'
-
-2005-04-08 21:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       use DIETFLAGS instead of DIET_FLAGS
-
-2005-03-29 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/Makefile-files:
-
-       use $(LIBENSCVECTOR) instead of libensc_vector.a
-
-2005-03-25 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.stop:
-
-       fixed typo
-
-2005-03-25 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       minor cleanups: call vkill with '--xid' instead of '-c'
-
-2005-03-25 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.stop:
-
-       address both the context and the pid when sending SIGINT to init
-
-2005-03-25 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/copy-check:
-
-       do not use '-s' with 'cmp' but display verbose error reason
-
-2005-03-25 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/switchtowatchxid.c:
-
-       simplified it and made it work with recent kernels
-
-2005-03-25 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration-xhtml.xsl:
-
-       use 'alternate stylesheet' instead of 'stylesheet' (reported by Herbert
-       Poetzl)
-
-2005-03-25 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       fixed quoting of % in %description
-
-2005-03-24 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am, REQUIREMENTS:
-
-       added REQUIREMENTS
-
-2005-03-24 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac, util-vserver.spec.in:
-
-       version 0.30.205
-
-2005-03-24 14:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       added some %descriptions
-
-2005-03-24 13:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vhashify.c:
-
-       s!write()!Vwrite()! at some places
-       add 'volatile' qualifier at variables used around 'setjmp'
-       use sigsetjmp() instead of setjmp()
-       minor code cleanups
-
-2005-03-24 13:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
-
-       s!write()!Vwrite()! at some places
-       use Echdir() instead of chdir()
-
-2005-03-24 13:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/filetime.c, src/lsxid.c, src/readlink.c, src/reducecap.c,
-         src/showattr.c, src/vattribute.c, src/vcontext.c, src/vcopy.c,
-         src/vdlimit.c, src/vlimit.c, src/vps.c, src/vserver-stat.c,
-         src/vuname.c, src/vunify.c, vserver-start/interface-read.c:
-
-       s!write()!Vwrite()! at some places
-
-2005-03-24 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/sigbus.c:
-
-       use Etruncate() instead of truncate()
-
-2005-03-24 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/copy-check:
-
-       added new tests and better diagnostic
-
-2005-03-24 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-copy.c:
-
-       moved 'volatile' qualifiers to a better place
-       minor code cleanups
-
-2005-03-24 13:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_wrappers/wrappers-unistd.hc:
-
-       E*truncate(): added
-
-2005-03-24 13:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/testsuite/test2.c:
-
-       #undef NDEBUG
-
-2005-03-24 02:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/sigbus.c:
-
-       unlink temporary files on exit
-
-2005-03-24 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-unify.c:
-
-       Unify_unify(): block signals while executing the non-atomic operations
-
-2005-03-24 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vhashify.c:
-
-       optimized directory creation
-
-2005-03-24 01:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-copy.c:
-
-       prepared for sigbus testcase
-       added some 'volatile' modifiers
-       use siglongjmp() instead of longjmp()
-
-2005-03-24 01:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/matchvserverinfo-init.c:
-
-       minor code cleanups
-
-2005-03-24 01:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/: .cvsignore, Makefile-files, sigbus.c:
-
-       added sigbus testcase
-
-2005-03-23 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/testsuite/.cvsignore:
-
-       updated
-
-2005-03-23 03:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: vhashify-init.hc, vhashify.c:
-
-       added lots of new code...
-
-2005-03-23 03:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       is_selinux_enabled(): added
-
-2005-03-23 03:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.apt-rpm, vserver-build.rpm,
-         vserver-build.yum:
-
-       execute '--initdb' before importing pubkeys
-       import pubkeys from /etc/vservers/.distributions/.common/pubkeys also
-
-2005-03-23 03:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver:
-
-       added 'hashify' target
-
-2005-03-23 03:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added $_VHASHIFY
-
-2005-03-23 03:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/matchlist-initrefserverlist.c:
-
-       fixed initialization of 'vserver'
-
-2005-03-23 03:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       create /etc/.../.distributions/.common/pubkeys/
-       create /etc/.../.defaults/apps/vunify/hash
-
-2005-03-23 03:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       copy GPG keys from the system into the confdir
-       buildrequire dietlibc-0.25
-
-2005-03-23 03:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * build-all:
-
-       build with debug settings
-
-2005-03-22 16:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       honor return codes of read(2) and write(2) when communication with the rpm-fake-helper
-       call read(2) and write(2) through TEMP_FAILURE_RETRY()
-       use Vwrite() instead of write(2) at some places
-
-2005-03-22 16:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/command-exec.c:
-
-       call write(2) through TEMP_FAILURE_RETRY()
-
-2005-03-22 16:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       BuildRequire beecrypt-devel
-
-2005-03-22 16:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: chcontext.c, vhashify.c:
-
-       workaround warning messages regarding 'warn_unused_return_value' when
-       using _FORTIFY_SOURCE.
-
-2005-03-22 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/getvservervdir.c, lib_internal/coreassert.h,
-         lib_internal/matchlist-initmanually.c,
-         lib_internal/matchlist-printid.c,
-         lib_internal/util-exitlikeprocess.c, lib_internal/util-io.h:
-
-       workaround warning messages regarding 'warn_unused_return_value' when
-       using _FORTIFY_SOURCE.
-
-2005-03-22 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst:
-
-       added vhashify + vdlimit
-
-2005-03-22 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       cleanups
-       use %global instead of %define
-
-2005-03-22 15:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * build-all:
-
-       set _FORTIFY_SOURCE
-
-2005-03-19 04:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * .cvsignore:
-
-       updated
-
-2005-03-19 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * update-doc:
-
-       initial checkin
-
-2005-03-19 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/chcontext:
-
-       do not use '--create' for dynamic contexts
-
-2005-03-19 03:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * sysv/vkillall[DEAD], tests/attack.spec[DEAD]:
-
-       obsoleted
-
-2005-03-19 03:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * sysv/vkillall, tests/attack.spec:
-
-       added to be removed...
-
-2005-03-19 03:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initsignal[DEAD]:
-
-       obsoleted
-
-2005-03-19 03:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initsignal:
-
-       added to be removed soon...
-
-2005-03-19 03:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vnet.c[DEAD]:
-
-       obsoleted...
-
-2005-03-19 03:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/vunify-verbosity.txt, lib/apidoc/list2xxx.descr, scripts/X,
-         src/vnet.c:
-
-       initial checkin
-
-2005-03-19 03:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * vserver-start/: interface-add.c, interface-print.c,
-         interface-remove.c, main.c:
-
-       avoid warnings regarding unused params
-
-2005-03-19 03:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/Makefile-files:
-
-       moved vdlimit into the only-C99 section
-       build vhashify only with C99 and beecrypt
-       cleanups
-
-2005-03-19 03:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/copy-check:
-
-       cleanups
-       conditionalize expensive tests
-
-2005-03-19 03:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/Makefile-files, lib/Makefile-files:
-
-       moved *dlimit* files into the only-C99 section
-       clean all potentially built libraries
-
-2005-03-19 03:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/list-free.c:
-
-       some minor C89 compatibility changes
-
-2005-03-19 03:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/Makefile-files:
-
-       use 'lib-dietlibc-not-enabled-error.a' consistently
-       clean all libraries inclusive those which might not be built
-
-2005-03-19 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.dtd:
-
-       readded
-
-2005-03-19 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       documented the 'vhashify' configuration
-       moved '<default>' tags before '<description>'
-
-2005-03-19 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration-xhtml.xsl:
-
-       applied changes regarding the new www-location on savannah
-
-2005-03-19 02:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/Makefile-files:
-
-       (re)added xsltproc support
-
-2005-03-19 02:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       added tests for XSLTPROC
-       added '--disable-expensive-tests'
-       added beecrypt tests
-       cosmetical cleanups + enhancements
-
-2005-03-19 02:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       set some values in TESTS_ENVIRONMENT
-       added some hacks for lib-dietlibc-not-enabled-error.a
-
-2005-03-18 04:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/.cvsignore:
-
-       updated
-
-2005-03-18 04:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify.h, src/vunify.h:
-
-       include <sys/stat.h> instead of defining a 'struct stat'; this prevents
-       problems with the 64bit interface of the filesystem functions
-
-2005-03-18 04:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-copy.c:
-
-       use a sparse-file friendly method for copying files
-
-2005-03-18 04:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/: Makefile-files, copy-check, copy.c:
-
-       added testcases for Unify_copy()
-
-2005-03-18 01:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * vserver-start/Makefile-files:
-
-       use $(LIBENSCVECTOR) instead of libensc_vector.a
-
-2005-03-18 01:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: vhashify-init.hc, vhashify.c, vhashify.h:
-
-       made it work...
-
-2005-03-18 01:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: vcopy-init.hc, vunify-init.hc:
-
-       applied changes in the MatchList-API
-
-2005-03-18 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/Makefile-files:
-
-       use $(LIBENSCVECTOR) instead of libensc_vector.a
-       use $(LIBVSERVER_GLIBC) instead of lib/libvserver.la
-
-2005-03-18 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vpkg:
-
-       exit with returncode of '2' when pkgmgmt can not be determined
-
-2005-03-18 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/Makefile-files:
-
-       use $(LIBENSCVECTOR) instead of libensc_vector.a
-
-2005-03-18 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/: unify-isiunlinkable.c, unify.h:
-
-       Unify_isIUnlinkable(): changed return-type
-
-2005-03-18 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-copy.c:
-
-       implemented copyReg() with mmap(2) instead of read(2)+write(2) sequences
-
-2005-03-18 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/string.hc:
-
-       String_free(): added
-
-2005-03-18 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/string.h:
-
-       renamed String_destroy() to String_free()
-
-2005-03-18 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/string-destroy.c[DEAD]:
-
-       obsoleted; String_free() is now inlined
-
-2005-03-18 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/: matchlist-initbyvserver.c,
-         matchlist-initmanually.c, matchlist-initrefserverlist.c,
-         matchlist.h:
-
-       applied lot of API changes
-
-2005-03-18 01:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/matchlist-destroy.c:
-
-       use String_free() instead of String_destroy()
-
-2005-03-18 01:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/Makefile-files:
-
-       added matchvserverinfo-*
-       removed string-destroy.c
-
-2005-03-18 01:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/: matchvserverinfo-free.c, matchvserverinfo-init.c:
-
-       initial checkin
-
-2005-03-18 01:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/testsuite/Makefile-files,
-         lib/testsuite/Makefile-files:
-
-       use $(LIBENSCVECTOR) instead of libensc_vector.a
-
-2005-03-18 01:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/Makefile-files, lib/Makefile-files:
-
-       split into a -glibc and a -diet part
-
-2005-03-18 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       HACK: set 'enable_static=no' for dietlibc case and postpone AC_PROG_LIBTOOL execution
-
-2005-03-18 01:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       use $(LIBVSERVER) instead of lib/libvserver.la
-       use $(LIBENSCVECTOR_DIET) instead of $(ENSC_VECTOR_LIBS)
-
-2005-03-17 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/.cvsignore:
-
-       updated
-
-2005-03-17 15:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vunify.c:
-
-       use new Unify_unify() API
-       rearranged some code; I do not try to be C89 compliant in C99 progams anymore...
-
-2005-03-17 15:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vcopy.c:
-
-       use new Unify_unify() API
-
-2005-03-17 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: vhashify-init.hc, vhashify.c, vhashify.h:
-
-       initial checkin
-
-2005-03-17 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/Makefile-files:
-
-       use $(LIBINTERNAL) instead of lib_internal/libinternal.a
-       added vhashify*
-
-2005-03-17 15:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * build-all:
-
-       updated
-
-2005-03-17 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/Makefile-files,
-         src/testsuite/Makefile-files, vserver-start/Makefile-files:
-
-       use $(LIBINTERNAL) instead of lib_internal/libinternal.a
-
-2005-03-17 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify.h:
-
-       * added an 'ignore_zero' argument to Unify_unify()
-       * Unify_isIUnlinkable(): added
-
-2005-03-17 15:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-unify.c:
-
-       added an 'ignore_zero' argument to Unify_unify()
-
-2005-03-17 15:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-isiunlinkable.c:
-
-       initial checkin
-
-2005-03-17 15:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/Makefile-files:
-
-       * create both libinternal-diet.a and libinternal-glibc.a. This is
-         needed to avoid segfaults with gcc4 when linking against glibc based
-         libraries like 'beecrypt'. Perhaps, these segfaults are a problem
-         with gcc4 as they do not happen with gcc33...
-
-       * added unify-isiunlinkable.c
-
-2005-03-17 15:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/testsuite/test1.c:
-
-       added tests for Vector_searchSelfOrg()
-
-2005-03-17 15:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/testsuite/Makefile-files:
-
-       added test2
-
-2005-03-17 15:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/: vector.h, vector.hc:
-
-       Vector_searchSelfOrg*(): added
-
-2005-03-17 15:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/: list-add.c, list-at.c, list-free.c, list-init.c,
-         list-insertinternal.c, list-internal.h, list-search.c,
-         list-searchselforg.c, list.h, list.hc, vector-searchselforg.c,
-         testsuite/test2.c:
-
-       initial checkin
-
-2005-03-17 15:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/Makefile-files:
-
-       added list-* files
-       added vector-searchselforg.c
-
-2005-03-17 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_fmt/: fmt.h, fmtx-32.c:
-
-       fixed declaration of the *_x*int() methods; they do not take a 'base' argument
-
-2005-03-09 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-info.c:
-
-       added XIDTYPE support
-
-2005-03-09 15:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/context-sync.hc:
-
-       use EopenD() instead of Eopen()
-
-2005-03-09 15:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_initrddir.m4:
-
-       fixed typo
-
-2005-03-09 15:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       vc_getXIDType(): added
-
-2005-03-09 15:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver-internal.h:
-
-       added some magic to avoid warnings with gcc4
-
-2005-03-09 15:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: Makefile-files, getxidtype.c:
-
-       added getxidtype.c
-
-2005-03-09 15:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpre:
-
-       create /usr/X11 also
-
-2005-03-09 15:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/: Makefile.am, fc3/apt/rpmpriorities,
-         fc3/apt/sources.list:
-
-       added apt support for FC3
-
-2005-03-02 02:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall_adddlimit.c, syscall_getdlimit.c,
-         syscall_remdlimit.c, syscall_setdlimit.c,
-         syscall_adddlimit-v13.hc, syscall_getdlimit-v13.hc,
-         syscall_remdlimit-v13.hc, syscall_setdlimit-v13.hc:
-
-       use CALL_VC_V13B instead of CALL_VC_V13
-
-2005-03-02 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vyum:
-
-       allow '--all' param
-
-2005-03-02 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/testsuite/cflags.c:
-
-       avoid some compiler warnings
-
-2005-03-02 02:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       added some VC_ATTR_NONNULL() statements
-
-2005-03-02 02:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall_adddlimit-v13.hc, syscall_remdlimit-v13.hc,
-         vserver-internal.h:
-
-       minor cleanups
-
-2005-03-02 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
-
-       do not assume 'nodev' on 'devpts'
-
-2005-03-02 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver-internal.h:
-
-       CDLIM_USER2KERNEL/CDLIM_KERNEL2USER(): added
-
-2005-03-02 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/Makefile-files, lib/syscall_adddlimit-v13.hc,
-         lib/syscall_adddlimit.c, lib/syscall_getdlimit-v13.hc,
-         lib/syscall_getdlimit.c, lib/syscall_remdlimit-v13.hc,
-         lib/syscall_remdlimit.c, lib/syscall_setdlimit-v13.hc,
-         lib/syscall_setdlimit.c, lib/virtual.h, lib/vserver.h,
-         src/Makefile-files, src/vdlimit.c:
-
-       added *vdlimit functions + tools (patch provided by Daniel Hokka Zakrisson)
-
-2005-02-26 00:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-setup.functions:
-
-       added some sanity checks
-
-2005-02-26 00:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_wrappers/: Makefile-files, wrappers-string.hc, wrappers.h:
-
-       added wrapper around string functions
-
-2005-02-26 00:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
-
-       /me should learn to differ between script-languages and C... strings in C are still marked by >"< but not by >'<...
-       fixed allocation of the newly generated option string
-
-2005-02-25 22:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vapt-get-worker, vyum-worker:
-
-       deprecate usage of $_YUM and $_APT_GET
-
-2005-02-25 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpost, scripts/functions, scripts/pkgmgmt,
-         scripts/start-vservers, scripts/util-vserver-vars.pathsubst,
-         scripts/vprocunhide, scripts/vpstree, scripts/vserver,
-         scripts/vserver-build, scripts/vserver-build.apt-rpm,
-         scripts/vserver-build.debootstrap,
-         scripts/vserver-build.functions,
-         scripts/vserver-build.functions.apt,
-         scripts/vserver-build.functions.pkgmgmt,
-         scripts/vserver-build.functions.rpm,
-         scripts/vserver-build.functions.yum, scripts/vserver-build.rpm,
-         scripts/vserver-build.yum, scripts/vserver-copy,
-         scripts/vserver-setup.functions, scripts/vserver.functions,
-         scripts/vserver.start, scripts/vserver.stop,
-         scripts/vservers.grabinfo.sh, scripts/vshelper,
-         scripts/vsysvwrapper, scripts/vtop, scripts/legacy/distrib-info,
-         scripts/legacy/rootshell, scripts/legacy/vserver, sysv/rebootmgr,
-         sysv/vservers-legacy:
-
-       LEGACY BREAKAGE FOR 3RD PARTY PATCHES: introduced a more common naming
-       scheme: global, immutable variables names are now named like '$__ABC'
-       instead of '$ABC'. This happens at much places and will break a lot of
-       patches therefore.
-
-2005-02-25 22:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       changed my GPG key
-
-2005-02-25 22:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
-
-       assume 'nodev' by default
-
-2005-02-25 21:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.functions.yum, vyum-worker:
-
-       added preliminary support for the patch from
-       https://bugzilla.redhat.com/beta/attachment.cgi?id=111435&action=view
-
-2005-02-25 21:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.pkgmgmt:
-
-       avoid ambiguous usage of $PKGDIR, use $PKGINSTALLDIR instead of
-       use $SETUP_CONFDIR instead of $confdir
-
-2005-02-25 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.apt-rpm, vserver-build.yum:
-
-       avoid ambiguous usage of $PKGDIR, use $PKGINSTALLDIR instead of
-
-2005-02-21 00:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.rpm:
-
-       rpm.initFilesystem(): fixed variable-names; this caused e.g. an unset %_dbpath macro formerly
-
-2005-02-16 00:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.204
-
-2005-02-15 23:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       added information where the 'ip' and 'vconfig' programs can be found
-
-2005-02-15 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vshelper:
-
-       adjusted the order of cli options evaluation; automake-1.9.5 redirects
-       input from /dev/null so the 'tty -s' check gets triggered and 'make
-       distcheck' fails in the '... --version/--help' tests
-
-2005-02-15 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/save_ctxinfo.c:
-
-       fixed name of the run.rev symlink; there was a '/' missing which
-       caused a pollution of the /etc/vservers/.defaults directory with
-       'run.revXXX' entries. (reported and analyzed by Olivier Poitrey).
-
-2005-02-07 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions, scripts/vserver-build.functions.pkgmgmt,
-         src/vunify.c:
-
-       fixed typos
-
-2005-02-07 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       documented the *namespace options
-
-2005-02-04 13:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       SECURITY: fixed detection of the mtab-location (Georg Glas)
-       https://savannah.nongnu.org/bugs/?func=detailitem&item_id=11844
-
-2005-02-04 03:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       fixed one of the previously added 'test -n'
-
-2005-02-02 15:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_pathprog.m4:
-
-       ENSC_PATHPROG_INIT(): fixed doc
-       ENSC_PATHPROG(): added a '<DESCR>' parameter
-
-2005-02-02 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/: compatibility-xhtml.xsl, compatibility.css:
-
-       applied http://vserver.lauft.net/wegen/util-vserver/patches/merge/util-vserver--merge--0.0--patch-2.patch
-
-2005-02-01 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.203
-
-2005-02-01 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/Makefile-files:
-
-       added vyum-worker to AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
-
-2005-02-01 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vyum-worker:
-
-       minor cosmetical change
-
-2005-02-01 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: functions, pkgmgmt:
-
-       fixed 'local VAR=$(ACTION) || ERROR' constructs; the 'local VAR=$(ACTION)'
-       succeeds everytime so ERROR will be never executed. So, it is rewritten to
-       'local VAR; VAR=$(ACTION) || ERROR'.
-
-2005-02-01 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.202
-
-2005-02-01 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/rpmlist.d/00.lst:
-
-       initial checkin
-
-2005-02-01 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.rpm:
-
-       moved installPackages into vserver-build.functions.rpm
-       added support for preconfigured package-lists
-
-2005-02-01 17:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.rpm:
-
-       rpmlist.*(): added
-
-2005-02-01 17:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build:
-
-       documented the '--empty' switch for the '-m rpm' method
-       allow an increasing debug-level
-
-2005-02-01 17:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       vshelper.isDebug(): fixed it...
-
-2005-02-01 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       added the fc3 rpmlist.d directory + content
-
-2005-02-01 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst:
-
-       added vserver-build.rpm
-
-2005-02-01 03:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/matchlist-initbyvserver.c,
-         lib_internal/matchlist-initmanually.c,
-         lib_internal/matchlist-initrefserverlist.c, src/vcopy-init.hc,
-         src/vunify-init.hc:
-
-       changed matchlist-API to pass additional information about a
-       vserver. This allows to turn off pkgmgmt-queries for not-yet
-       existent vservers in 'vcopy'
-
-2005-02-01 03:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/matchlist.h:
-
-       struct MatchVserverInfo: added; it allows to pass additional information about the vserver
-
-2005-02-01 03:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-copy.c:
-
-       copyReg(): open out_fd with O_RDWR, fixed resource leak in error-case
-
-2005-02-01 01:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/createskeleton-full.hc:
-
-       argl... fixed overflow when appending the '/'
-
-2005-02-01 00:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml, scripts/functions, scripts/vshelper:
-
-       added 'debug' option for vshelper
-
-2005-02-01 00:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vshelper:
-
-       added delegation support (Herbert Poetzl)
-       http://vserver.13thfloor.at/Experimental/NGNET/delta-vshelper-delegate.diff
-
-2005-01-31 23:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions:
-
-       getDistribution(): added support for a default distribution
-
-2005-01-31 23:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: Makefile-files, vserver-build, vserver-build.rpm:
-
-       added the '-m rpm' method
-
-2005-01-31 23:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/: Makefile.am, template/initpost, template/initpre:
-
-       added the 'template' distribution
-
-2005-01-31 18:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       fixed environment unsetting: it will be now done shortly before execve(2)
-       but not on initialization anymore. This solves the problem when 'rpm' is
-       a wrapper only calling the real 'rpm?'. Then, LD_PRELOAD et.al. was unset
-       and the wrapper not used.
-
-2005-01-31 18:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vshelper:
-
-       fixed the (currently non-existent) child->parent traversal
-
-2005-01-31 18:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/apidoc/Doxyfile.in:
-
-       added DOT_TRANSPARENT + DOT_MULTI_TARGET
-
-2005-01-31 18:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       updated
-
-2005-01-31 18:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am, util-vserver.spec.in, lib/createskeleton-full.hc,
-         scripts/vserver-build.functions, scripts/vserver-setup.functions,
-         src/save_ctxinfo.c:
-
-       removed 'run.rev' as a vserver-local variable and made it a system-wide setting
-
-2005-01-28 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       reindented it
-       fixed vshelper documentation
-
-2005-01-27 22:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: functions, pkgmgmt, start-vservers, vapt-get, vpkg,
-         vprocunhide, vrpm, vrpm-preload, vserver, vserver-build,
-         vserver-build.debootstrap, vserver-build.functions.rpm,
-         vserver-setup.functions, vserver-wrapper, vserver.functions,
-         vserver.start, vserver.stop, vshelper, vsomething:
-
-       use 'test -n "..."' instead of 'test "..."'; when "..." expands to '-v'
-       or a similar string, the expression will be misinterpreted (noticed by
-       Werner Schalk)
-
-2005-01-27 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.201
-
-2005-01-27 21:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: reducecap.c, vserver-info.c:
-
-       reworked the capability.h stuff
-
-2005-01-27 21:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: Makefile-files, capability-compat.h:
-
-       added capability-compat.h
-
-2005-01-27 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       added check for <sys/capability.h> header
-
-2005-01-27 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       removed the linuxcaps.h bits
-
-2005-01-27 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-info.c:
-
-       implemented capability-support check
-
-2005-01-27 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       fixed execution order of chroot(2) and context-creation; this caused
-       errors on kernel 2.6 when the vserver is not running yet
-
-2005-01-27 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: .cvsignore, Makefile-files:
-
-       added check-unixfile
-
-2005-01-27 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.start:
-
-       execute sanityCheck()
-
-2005-01-27 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       moved sanity checks which were spread in various functions into the sanityCheck() method
-       implemented checks for non-newline terminated files and missing capability support
-
-2005-01-27 20:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.yum, scripts/vserver-build.yum,
-         scripts/vsomething, scripts/vyum, scripts/vyum-worker,
-         src/check-unixfile.c:
-
-       initial checkin
-
-2005-01-27 20:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build:
-
-       added 'yum' support
-
-2005-01-27 20:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vrpm-preload:
-
-       reorganized; moved lots of code into the 'functions' file
-
-2005-01-27 20:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added yum* files + vsomething + check-unixfile
-
-2005-01-27 20:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       added yum* support
-       reorganized the rpmFake stuff
-
-2005-01-27 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/Makefile-files:
-
-       added the yum* files + vsomething
-
-2005-01-27 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpre:
-
-       added missing newline
-
-2005-01-27 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/: pkgs/01, pkgs/02, pkgs/03, yum/yum.conf,
-         yum.repos.d/fedora-devel.repo,
-         yum.repos.d/fedora-updates-testing.repo,
-         yum.repos.d/fedora-updates.repo, yum.repos.d/fedora.repo:
-
-       initial checkin
-
-2005-01-27 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       added the yum* stuff for fc3
-
-2005-01-27 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst:
-
-       added the yum* files + check-unixfile
-
-2005-01-27 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * README:
-
-       mentioned the '-m yum' buildmethod
-
-2005-01-27 00:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/getvservercfgstyle.c:
-
-       allow dangling symlinks as /etc/vservers/.../vdir also
-
-2005-01-27 00:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.199
-
-2005-01-26 22:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       do not ship the /vservers directory itself; as it is immutable, the
-       extraction will fail else
-
-2005-01-26 21:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/.cvsignore:
-
-       updated
-
-2005-01-26 21:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       rearranged some scriptlets to avoid comments after '-p /sbin/ldconfig'
-
-2005-01-26 16:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.start:
-
-       added (untested) support for '/' in the vserver fstab
-
-2005-01-26 16:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       use unique prefixes for variables used in functions with 'eval' statements
-       mountRootFS(): added
-
-2005-01-26 16:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       use unique prefixes for variables used in functions with 'eval' statements
-
-2005-01-26 16:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/filecfg-ml.c:
-
-       include <string.h> + <ctype.h>
-
-2005-01-26 16:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/Makefile-files:
-
-       moved rootshell to legacy
-
-2005-01-26 16:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * vserver-start/defaulttty.c:
-
-       include <string.h>
-
-2005-01-26 16:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
-
-       added '--rootfs' option
-
-2005-01-26 16:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst:
-
-       moved the v_* initscripts to legacy
-
-2005-01-26 15:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       updated BuildRequires:
-       use 'setattr --barrier' instead of 'chattr +t' in the %post scriptlet
-       moved the v_* initscripts to legacy
-
-2005-01-25 17:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/rootshell[DEAD], contrib/manifest.dat.pathsubst,
-         scripts/legacy/rootshell:
-
-       moved rootshell script to legacy
-
-2005-01-21 14:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/legacy/vserver:
-
-       fixed http://savannah.nongnu.org/bugs/?func=detailitem&item_id=11570:
-
-         "vserver myvserver start" gives exit code 1 if there is no file
-         /etc/vservers/myvserver.sh, since the last statement in vserver
-         ("test -x /etc/vservers/$1.sh && ...") evaluates to 1 in this case.
-
-         [Daniel Hermann]
-
-2005-01-21 14:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver:
-
-       be more verbosely when vserver could not be determined and give hints
-       about possible solutions (based upon ideas by Thorsten Gunkel)
-
-2005-01-21 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-setup.functions:
-
-       interface-configuration: give out a warning when no device was configured
-
-2005-01-21 14:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       * interface-configuration: accept 'nodev' without a configured 'dev';
-         formerly the interface was silently ignored when 'dev' was missing
-       * added some sanity checks for the behaviour described above
-
-2005-01-21 14:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       added rpm_execcon() wrapper to make it work in SELinux environments
-       call execve(2) directly instead of execv(3)
-
-2005-01-07 18:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * README:
-
-       fixed typos
-       cleanups + enhancements
-
-2005-01-07 17:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * README:
-
-       "Notes for distributors" + "Which version shall I use?" added
-
-2005-01-07 17:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc.m4:
-
-       Fixed last patch: use '[[' instead of '[' (found by Hans Ulrich Niedermann)
-
-2005-01-07 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       call ENSC_DIETLIBC_SANITYCHECK, AC_CANONICAL_HOST + AC_CANONICAL_BUILD
-
-2005-01-07 00:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc.m4:
-
-       ENSC_DIETLIBC_SANITYCHECK(): added
-       made ENSC_VERSION_DIETLIBC uppercase
-       ignore extra specifiers in dietlibc's minor version (reported by Hans Ulrich Niedermann)
-
-2005-01-07 00:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       fix typo in $_MKTEMPDIR: Use $_MKTEMP not $MKTEMP (fixed by Hans Ulrich Niedermann)
-
-2004-12-28 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: functions, pkgmgmt, start-vservers,
-         util-vserver-vars.pathsubst, vpkg, vrpm-preload,
-         vserver-build.debootstrap, vserver-build.functions.apt,
-         vserver-wrapper, vserver.start, vserver.stop:
-
-       use $_<prog> (which expands to absolute paths) instead of trusting into a good $PATH
-
-2004-12-28 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       use $_<prog> (which expands to absolute paths) instead of trusting into a good $PATH
-       a small VLAN fix (do not quote the splitted dev)
-       minor cleanups
-
-2004-12-28 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       use ENSC_PATHPROG & friends
-
-2004-12-28 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_pathprog.m4:
-
-       initial checkin
-
-2004-12-28 20:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       use ${ENSC_PATHPROG_SED} when substituting prognames
-
-2004-12-28 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc_compat.m4:
-
-       check more syscall variants
-
-2004-12-28 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       s!\params!\param!
-       added doc about vc_get_iattr()
-
-2004-12-28 12:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/cfg.txt[DEAD]:
-
-       removed since obsoleted by configuration.xml
-
-2004-12-21 08:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vsched.c:
-
-       fixed segfault when no arguments are given (reported by Adrian Reyer)
-
-2004-12-16 01:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/keep-ctx-alive.c:
-
-       renamed the 'fd_set' variable to 'fdset'. former name causes problems
-       with certain FD_* implementations (reported by Adrian Reyer)
-
-2004-12-09 14:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * build-all:
-
-       added fc-3 host
-
-2004-12-09 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/Makefile-files:
-
-       getfilecontext.c: added
-
-2004-12-09 14:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-04-21 14:04  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/: getfilecontext.c, vserver.h:
+       * scripts/functions: Don't do namespace cleanup if we're not in a
+         new namespace.
 
-       vc_getfilecontext(): as noticed by daniel_hozac in IRC, this function
-       was horribly broken. Fixed and moved it into an own file as it is too
-       complex for an inline function. Documentation was added also.
+2007-04-21 14:03  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-12-07 12:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * distrib/Makefile.am, distrib/centos5, distrib/centos5/pkgs,
+         distrib/centos5/yum, distrib/centos5/yum.repos.d,
+         distrib/centos5/yum.repos.d/CentOS-Base.repo,
+         distrib/centos5/yum/yum.conf: Add CentOS 5.
 
-       * vserver-start/main.c:
+2007-04-13 10:46  Benedikt Böhm <hollow@gentoo.org>
 
-       include <unistd.h>
+       * distrib/etch/vserver-config.sh: remove interactive setup steps
 
-2004-12-07 12:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-04-13 09:02  Benedikt Böhm <hollow@gentoo.org>
 
-       * scripts/vserver.functions:
+       * distrib/Makefile.am, distrib/etch, distrib/etch/initpost,
+         distrib/etch/vserver-config.sh, distrib/misc/debootstrap.mirror,
+         scripts/vserver-build.debootstrap: add build scripts for debian
+         etch
 
-       read enter-shell from the defaults-directory also
-       use prio-bias instead of cpu-mask
+2007-04-11 18:14  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-12-07 12:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vyum-worker: Fix typo.
 
-       * lib_internal/filecfg-iteratemultiline.c:
+2007-04-11 17:55  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       include <string.h>
+       * distrib/misc/debootstrap.uri: New debootstrap.
 
-2004-12-07 12:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-04-08 00:40  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/testsuite/cflags.c:
+       * src/vlogin.c: terminal_copy doesn't return void anymore.
 
-       added some new flags
+2007-04-08 00:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-12-07 12:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * distrib/Makefile.am: Add shutdown.sh and reboot.sh to the
+         Makefile.
 
-       * doc/configuration.xml:
+2007-03-27 18:00  Benedikt Böhm <hollow@gentoo.org>
 
-       do not mention the /hostname + /domainname params anymore
-       removed vsched/cpu-mask
-       added vsched/priority-bias
+       * distrib/gentoo/initpost, distrib/gentoo/initpre,
+         distrib/gentoo/reboot.sh, distrib/gentoo/shutdown.sh: force
+         halt/reboot if using gentoo init style, enable syslog stub by
+         default for gentoo guests
 
-2004-10-21 21:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-03-24 12:54  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/vserver.h:
+       * scripts/vserver-build.debootstrap: Get rid of the work directory
+         on success.
 
-       added/updated flags and capabilities
+2007-03-21 04:46  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-21 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver: Fix help message.
 
-       * lib/islink.c:
+2007-03-20 20:38  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       initial checkin
+       * scripts/vserver-build.debootstrap: Fix problems with debootstrap
+         on Ubuntu.
 
-2004-10-21 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-03-20 17:47  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/internal.h:
+       * scripts/vserver-build.debootstrap: Remove the guest in case of
+         failure.
 
-       utilvserver_isLink(): added prototype
+2007-03-18 22:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-21 21:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/pkgmgmt: Supply the required argument.
 
-       * lib/cflags-v13.c:
+2007-03-18 22:02  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added lots of new flags
+       * scripts/vserver-setup.functions: nodev: shouldn't be in the ip
+         file.
 
-2004-10-21 20:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-03-18 17:51  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/ccaps-v13.c:
+       * gentoo/util-vserver: Verbosify initscript.
 
-       added 'remount' + 'icmp' cap; 'ping' is kept for compatibility reasons
+2007-03-18 15:32  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-21 20:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/functions, scripts/pkgmgmt, scripts/vserver,
+         scripts/vserver-build.functions, scripts/vsomething: Rename
+         _setVserverDir to _setVserverDirName.
+         Rename _getVserverDir to _setVserverDir.
+         Add _setVserverName to set VSERVER_NAME.
+         pkgmgmt.initVariables cannot run before _setVserverDirName, and
+         the initialization must happen once per guest.
 
-       * lib/Makefile-files:
+2007-03-18 15:04  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added islink.c
+       * src/vlogin.c: Attempt to fix the endless loop of select() read().
 
-2004-10-20 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-03-18 11:51  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/functions:
+       * sysv/util-vserver: Create the directories here for strange
+         distros (e.g. Ubuntu).
 
-       getFileValue(): modified to accept a list of candidates
+2007-03-11 21:25  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-20 01:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver.functions: Fix IPv6 address assignment.
 
-       * src/vcontext.c:
+2007-03-09 21:07  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       merged from UV_NAMESPACE_AFTER_CHROOT branch
+       * distrib/misc/debootstrap.uri: Update the debootstrap URI.
 
-2004-10-20 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-03-07 20:33  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * Makefile.am:
+       * src/vsched.c: Fix idle-time.
 
-       added 'update-doc' target
+2007-02-26 20:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-20 01:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * distrib/gentoo/init-vserver.sh, scripts/vserver.functions: Make
+         the gentoo initstyle work with baselayout-vserver.
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2007-02-25 14:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       Evc_{new,enter}_namespace(): added
+       * scripts/functions, scripts/vserver.stop, scripts/vshelper: Don't
+         tell init to shutdown if we're called from vshelper, that
+         should've already happened.
+         Kill init and other remaining processes from vshelper once the
+         stop sync signal has arrived.
 
-2004-10-19 23:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-02-25 01:44  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * NEWS, configure.ac:
+       * scripts/vserver.functions: Add $__LOCKDIR and /tmp to the
+         excluded paths.
 
-       version 0.30.196
+2007-02-24 23:43  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-19 23:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * configure.ac: Fix help message for --with-initscripts.
 
-       * kernel/: context.h, cvirt.h:
+2007-02-24 20:03  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       updated to vs1.9.3-rc4
+       * distrib/Makefile.am: Move the Gentoo in-guest scripts to *_DATA,
+         so rpm doesn't process them for deps.
 
-2004-10-19 23:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * vserver-start/: configuration-init.c, configuration.c,
-         configuration.h, interface.c, interface.h, main.c, scriptlets.c,
-         vserver-start.h:
-
-       added lots of new code
-
-2004-10-19 23:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-02-24 20:03  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * vserver-start/defaulttty.c,
-         lib_internal/filecfg-iteratemultiline.c,
-         lib_internal/testsuite/filecfg-ml.c:
+       * m4/ensc_pathprog.m4: Fix the symlink problems.
 
-       initial checkin
+2007-02-22 05:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-19 23:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/syscall-alternative.h: Update to latest shiny.
 
-       * vserver-start/Makefile-files:
+2007-02-21 20:07  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added defaulttty.c
+       * scripts/vserver-setup.functions: Update help message to
+         correspond better with reality.
 
-2004-10-19 23:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-02-20 17:33  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/reducecap.c:
+       * ensc_wrappers/wrappers-vserver.hc, lib/syscall_ctxmigrate-v21.hc,
+         lib/syscall_ctxmigrate.c, lib/vserver.h,
+         lib_internal/switchtowatchxid.c, src/rpm-fake-resolver.c,
+         src/rpm-fake.c, src/vcontext.c: Add support for the migration
+         flags.
 
-       use some dirty hacks to include <linuxcaps.h> cleanly
+2007-02-17 19:10  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-19 23:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver-setup.functions: Make nodev: silence the warning.
 
-       * scripts/vserver.stop:
+2007-02-17 19:01  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       execute 'prepareStop()'
+       * lib/syscall-alternative.h: Update to latest shiny.
 
-2004-10-19 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-02-14 19:32  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/vserver.functions:
+       * scripts/functions: &>> doesn't exist.
 
-       made runlevel_{start,stop} global variables
-       prepareStop(): added
-       set PREVLEVEL on 'vserver ... stop' (required by Debian)
+2007-02-14 19:24  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-19 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/syscall-alternative.h: Update to latest shiny.
 
-       * scripts/vserver-setup.functions:
+2007-02-11 20:21  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       s!prefix!prefixlen!
+       * scripts/functions: Work better if the default tty is a file by
+         using /dev/null for input and appending the output.
 
-2004-10-19 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-02-11 20:16  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/testsuite/Makefile-files:
+       * lib/syscall-alternative.h: Update to shiny15.
 
-       added filecfg-ml test
+2007-02-11 00:45  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-19 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver-build.clone, src/vclone.c: Remove the --source
+         and --dest "options" from vclone, both are required.
+         Catch error conditions about the arguments in vclone.
+         Attempt to figure out where the source if it's not a directory,
+         and make sure it is one before running vclone.
 
-       * lib_internal/string.hc:
+2007-02-10 15:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       String_c_str(): added
+       * lib/getxidtype.c: Xid 65535 is a static one when dynamic ones are
+         disabled.
 
-2004-10-19 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-02-09 06:17  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/string.h:
+       * scripts/vserver.functions: Add /usr/bin to exception list, to
+         make sure we keep the /usr mount around.
 
-       ENSC_STRING_*FIXED(): added
+2007-02-05 20:59  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-19 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/Makefile-files, src/vkill.c: Fix the last, horribly broken
+         commit.
 
-       * lib_internal/filecfg.h:
+2007-02-05 20:45  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       FileCfg_iterateOverMultiLine(): added prototypes and related declarations
+       * src/vdevmap.c: Really silence the warning.
 
-2004-10-19 23:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-02-05 20:40  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/Makefile-files:
+       * src/vkill.c: Try to figure out the xid if not specified.
 
-       added filecfg-iteratemultiline.c
+2007-02-05 20:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-19 23:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/vdevmap.c: Silence warning.
 
-       * lib/syscall_setsched-v13.hc:
+2007-02-05 20:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       vc_set_sched_v13obs(): use VCMD_set_sched_v2 instead of VCMD_set_sched
+       * distrib/gentoo/net.vserver: Make distrib/gentoo/net.vserver
+         non-executable so RPM doesn't pick up a dependency on
+         /sbin/runscript.
 
-2004-10-19 23:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-02-05 18:08  Benedikt Böhm <hollow@gentoo.org>
 
-       * ensc_wrappers/wrappers-unistd.hc:
+       * scripts/vdispatch-conf, scripts/vesync, scripts/vupdateworld: fix
+         vsomething arguments in gentoo wrappers
 
-       Enice(): added
+2007-02-04 17:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-10-19 23:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib_internal/unify-copy.c: - documented parts of the code were I
+         needed to think >1min about its
+         sense
+         - use ftruncate(2) instead of a lseek(2)+write(2) sequence to
+         create a
+         sparse file
+         - set O_NOCTTY flag for temp file
 
-       * doc/configuration.xml:
+2007-02-04 17:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       s!prefix!prefix-length!
+       * lib_internal/testsuite/sigbus.c: - reworked the large pagesize
+         patch; it seems to be always PAGESIZE*2+1
+         bytes required to trigger a SIGBUS. Since PAGESIZE is not
+         available
+         directly, use sysconf(3) to get this value and memset(3) to
+         initialize
+         buffer
+         - removed byte crap
 
-2004-10-19 23:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-02-01 12:56  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * Makefile.am:
+       * sysv/Makefile-files: Add missing hunk from the Gentoo initscripts
+         commit.
 
-       added new kernel headers
-       changed substition of linuxcaps.h; oldish 'sed' versions do not understand '\<' regexs
+2007-01-29 23:37  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-18 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * Makefile.am, configure.ac, gentoo, gentoo/Makefile-files,
+         gentoo/util-vserver, gentoo/vprocunhide, gentoo/vservers.default,
+         util-vserver.spec.in: Add Gentoo initscripts.
+         Force sysv initscripts for the RPMs.
 
-       * src/vcontext.c:
+2007-01-29 02:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       do not include "linuxcaps.h" anymore
+       * scripts/vserver.stop, scripts/vserver.suexec: There's no need to
+         enter the filesystem namespaces twice.
 
-2004-10-18 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-28 11:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * kernel/: context.h, cvirt.h, inode.h, legacy.h, limit.h,
-         namespace.h, network.h, sched.h, signal.h, switch.h, xid.h:
+       * src/secure-mount.c: When we call the external mount, we need to
+         preserve all of the options so it can parse them on its own.
+         The option defaults should set nodev in the flags.
 
-       updated
+2007-01-27 23:16  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-18 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * contrib/manifest.dat.pathsubst: vserver-copy is legacy, put the
+         man page in the same package.
 
-       * doc/Makefile-files:
+2007-01-27 11:10  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       removed stylesheets and images from the main-package; they are now in the web-CVS
+       * contrib/manifest.dat.pathsubst, distrib/Makefile.am,
+         distrib/misc/context.start, doc/configuration.xml,
+         scripts/vserver-setup.functions: Move dynamic context generation
+         to userspace.
 
-2004-10-18 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-27 10:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * doc/: configuration-flower.css[DEAD],
-         configuration-lsd.css[DEAD], configuration-lsd1.css[DEAD],
-         flowers.png[DEAD], flowers1.png[DEAD], flowers2.png[DEAD]:
+       * scripts/vserver-setup.functions: Set nodev rather than just
+         warning about it.
 
-       moved into web-CVS
+2007-01-27 10:05  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-18 17:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib_internal/unify.h: Actually check the mtime when it's not
+         optional.
 
-       * kernel/: debug.h, dlimit.h:
+2007-01-27 09:38  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       updated
+       * lib_internal/unify.h, src/vhashify.c, src/vhashify.h: Add an
+         option (--ignore-mtime) to vhashify to hashify files with
+         differing mtimes.
 
-2004-10-06 05:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-25 13:14  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * README:
+       * doc/configuration.xml: Add entries that were missing from
+         .defaults.
 
-       updated note about 'vserver-stat' and differ between 2.4 and 2.6
-       kernel
+2007-01-25 09:51  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-06 05:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/chxid.c, src/fstool.c, src/fstool.h: Add option to chxid to
+         skip unified files.
 
-       * lib_internal/unify-unify.c:
+2007-01-23 16:43  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       retain 'errno' on the final unlink()
+       * src/vclone.c: Don't overwrite files that already exist.
 
-2004-10-06 05:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-23 16:41  Benedikt Böhm <hollow@gentoo.org>
 
-       * src/Makefile-files:
+       * distrib/Makefile.am, distrib/gentoo/initpost,
+         distrib/gentoo/initpre, distrib/gentoo/net.vserver: cleanup
+         gentoo/initpost; add fixes for syslog-ng.conf and net dependency
+         in baselayout >= 1.13
 
-       link secure-mount against libvserver
+2007-01-21 20:17  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-06 05:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/Makefile-files: ... and the Makefile.
 
-       * src/secure-mount.c:
+2007-01-21 20:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added better diagnostic when fstab-parsing fails
-       use strsep() instead of strtok_r() in the parser to make the line-number counter work
+       * contrib/manifest.dat.pathsubst: Add the build method to the
+         manifest too.
 
-2004-10-01 14:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-21 20:05  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * NEWS, configure.ac:
+       * contrib/manifest.dat.pathsubst,
+         scripts/util-vserver-vars.pathsubst, scripts/vserver-build,
+         scripts/vserver-build.clone: Add the clone build method.
 
-       version 0.30.195
+2007-01-21 18:26  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-01 14:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * ensc_wrappers/wrappers-unistd.hc, lib_internal/pathinfo.h,
+         src/Makefile-files, src/vclone.c: Add vclone, to help with
+         cloning guests.
 
-       * scripts/functions:
+2007-01-21 08:02  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       _getProcNumberCount(): s!$_ctx!$1!
+       * scripts/vserver.start, src/vsysctl.c: If it doesn't exist, only
+         error if requested.
 
-2004-10-01 13:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-20 17:31  Benedikt Böhm <hollow@gentoo.org>
 
-       * configure.ac, m4/ensc_dietlibc.m4:
+       * distrib/gentoo/initpost: fix runlevel scripts for older
+         baselayouts too; set hostname inside the guest
 
-       give out information about version of the found dietlibc
+2007-01-20 13:55  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-01 13:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/checkconfig.c: Return 0 on any error, older kernels will
+         return -EPERM for unknown syscalls.
 
-       * m4/ensc_dietlibc.m4:
+2007-01-20 09:36  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       fixed version-detection when additional information are following the
-       number
+       * doc/configuration.xml: Document the configuration for vdevmap.
 
-2004-10-01 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-20 09:25  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/functions:
+       * doc/configuration.xml: Place-holder documentation for now, until
+         some better descriptions comes along.
 
-       use more efficient ways to detect number of processes in a context
-       (access /proc/virtual/... information instead of executing vps)
+2007-01-20 07:43  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-10-01 12:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib_internal/testsuite/sigbus.c: Add patch from David Woodhouse
+         to work with 64 KiB pages.
 
-       * scripts/: vserver-build, vserver-build.debootstrap:
+2007-01-18 16:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       allowed to specify additional debootstrap options
+       * scripts/util-vserver-vars.pathsubst, scripts/vserver.functions,
+         sysv/util-vserver: Add support for vdevmap in the configuration.
 
-2004-10-01 12:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-18 16:33  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/: vps.c, vserver-stat.c:
+       * src/vsysctl.c: Fix logic error.
 
-       added warnings regarding procfs-security
+2007-01-18 13:38  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-24 17:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * contrib/manifest.dat.pathsubst,
+         scripts/util-vserver-vars.pathsubst, scripts/vserver.start,
+         src/Makefile-files, src/vsysctl.c: Add support for setting sysctl
+         values in the configuration.
 
-       * src/rpm-fake.c:
+2007-01-18 07:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed a __THROW which is not needed and causes errors with newer gcc
+       * contrib/Makefile-files, contrib/yum-3.0.3-chroot.patch: added
+         patch for yum-3.0.3
 
-2004-09-24 17:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-18 04:38  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/syscall_setvhiname-v13.hc:
+       * scripts/vserver.functions: Remove the disk limits after saving
+         them.
 
-       use a better method to copy labels; formerly, bad parameters could
-       cause undefined behaviour
+2007-01-17 09:56  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-24 17:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/vserver.h: Add VC_VXSM_MSEC.
 
-       * doc/Makefile-files:
+2007-01-17 09:56  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       fixed typo
+       * lib/syscall_setsched-v21.hc: Use VCMD_set_sched_v4 as intended.
 
-2004-09-24 01:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-17 09:54  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * doc/configuration.xml:
+       * configure.ac, m4/ensc_dietlibc.m4: Remove the dietlibc sanity
+         check function, as what it's doing is already done elsewhere.
 
-       added some comments for interfaces/../{name,nodev}
+2007-01-14 12:30  Benedikt Böhm <hollow@gentoo.org>
 
-2004-09-24 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vupdateworld: fix missing world target in vupdateworld
 
-       * doc/: configuration-flower.css, configuration-lsd.css,
-         configuration-lsd1.css, configuration-xhtml.xsl,
-         configuration.css:
+2007-01-10 22:23  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       made it validate as xhtml
+       * util-vserver.spec.in: Teach the spec how to build prereleases and
+         release candidates.
 
-2004-09-24 00:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-10 19:27  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * build-all:
+       * src/vserver-stat.c: The new method doesn't need to be a
+         spectator, and /proc/virtual isn't available there by default.
 
-       fixed CLEAN=1 usecase
-       use gcc4 instead of gcc35
+2007-01-10 18:53  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-24 00:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * kernel/sched_cmd.h, lib/Makefile-files, lib/issupported.c,
+         lib/issupportedstring.c, lib/syscall_schedinfo-v21.hc,
+         lib/syscall_schedinfo.c, lib/vserver.h, src/vserver-stat.c: Add
+         vc_sched_info API.
+         Make vserver-stat use the various APIs instead of parsing
+         per-process /proc entries.
+         
+         vc_virt_stat.uptime is a uint64_t.
+         vc_get_dlimit can handle a NULL limits argument.
 
-       * scripts/vserver-build.debootstrap:
+2007-01-10 18:49  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added better diagnostic for failed debootstrap download
+       * lib/syscall.c, src/rpm-fake.c, src/vcontext.c: There is no
+         vc_create_context. Stop referencing it.
 
-2004-09-24 00:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-10 11:52  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * doc/configuration.css:
+       * scripts/vserver.stop: Remove persistent on stop.
 
-       added *.elements templates
+2007-01-09 13:22  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-24 00:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/syscall-wrap.h, lib/vserver-internal.h,
+         lib_internal/sys_clone.h, lib_internal/sys_personality.h,
+         m4/ensc_dietlibc.m4: Check if dietlibc declares syscall
+         incompatibly, to avoid errors.
+         Move the syscall declaration to lib/syscall-wrap.h.
 
-       * doc/configuration.xml:
+2007-01-07 22:27  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       updated rlimits description (reported by Nikola Donev)
-       added warning about explicit 'fakeinit' usage
+       * sysv/util-vserver: Fix output.
 
-2004-09-24 00:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2007-01-03 11:55  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * doc/configuration-xhtml.xsl:
+       * lib/getvserverbyctx.c: Support legacy guests on 2.6 kernels as
+         well.
 
-       added new stylesheets
-       implemented <elements>...</elements> support
+2007-01-02 20:54  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-24 00:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver.start: The CHBIND_OPTS need to be cleaned before
+         handing them to $_CHBIND_COMPAT, let $_CHBIND do that.
 
-       * doc/Makefile-files:
+2007-01-01 19:37  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added new stylesheets and images
+       * configure.ac: Let glibc use the alternative syscalls as well.
 
-2004-09-24 00:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-30 00:52  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * doc/: configuration-flower.css, configuration-lsd1.css,
-         flowers.png, flowers1.png, flowers2.png:
+       * lib/vserver.h: Organize things. Structures and functions dealing
+         with similar things are now grouped together.
 
-       initial checkin
+2006-12-30 00:40  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-24 00:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/functions: Use status for the process count instead since
+         persistent adds a task there.
 
-       * distrib/misc/debootstrap.uri:
+2006-12-30 00:37  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       updated
+       * src: Add vdevmap to ignore.
 
-2004-09-22 22:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-29 20:34  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * util-vserver.spec.in:
+       * sysv/util-vserver: Return a sane value from kill_contexts.
 
-       s!commented!documented!
+2006-12-29 20:33  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-22 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/vserver-internal.h: Use the correct type for the
+         configuration bitfield.
 
-       * util-vserver.spec.in:
+2006-12-29 20:32  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       commented the possible options for 'rpmbuild'
+       * util-vserver.spec.in: Add util-vserver initscript handling.
+         Add %changelog comment.
 
-2004-09-22 22:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-29 20:30  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/vsched.c:
+       * contrib/manifest.dat.pathsubst: Add vdevmap.
 
-       use new vc_set_sched structure
-       generalized CLI options a little bit
+2006-12-28 00:07  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-22 22:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * contrib/manifest.dat.pathsubst, scripts/Makefile-files,
+         scripts/util-vserver-vars.pathsubst,
+         scripts/vserver-init.functions, scripts/vserver-wrapper,
+         sysv/Makefile-files, sysv/util-vserver, sysv/vprocunhide: Move
+         initscript functions to vserver-init.functions.
+         Make vprocunhide use said functions.
+         Add an initscript to set the helper and kill guest processes.
 
-       * src/vattribute.c:
+2006-12-28 00:05  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       set the "secure" flags on '--secure' manually. This is a crude hack
-       and must be solved better.
+       * util-vserver.spec.in: Add --without doc and --with legacy
+         options.
 
-2004-09-22 22:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-20 13:39  Benedikt Böhm <hollow@gentoo.org>
 
-       * lib/vserver.h:
+       * scripts/vserver-wrapper: cosmetic fixes for vserver-wrapper
 
-       struct vc_set_sched: updated + added some flags
-       vc_get_insecureflags(): removed again; it is now handled by the utilities
+2006-12-19 19:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-22 22:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/fstool.c, src/fstool.h, src/setattr.c: Add --immutable,
+         --~immutable and --!immutable.
 
-       * lib/vserver-internal.h:
+2006-12-18 11:26  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       ENSC_STRUCT_IDX, ENSC_SAME_STRUCT_IDX: added
+       * scripts/vserver.functions: Don't check the VLAN stuff if
+         novlandev was specified.
 
-2004-09-22 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-12 13:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/syscall_setsched.c:
+       * src/vdevmap.c: Error on too many arguments.
 
-       added support for the new 'struct vcmd_set_sched_v3'
+2006-12-12 13:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-22 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * distrib/misc/debootstrap.uri: Update debootstrap URL.
 
-       * lib/syscall_setsched-v13.hc:
+2006-12-12 01:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       updated to new 'struct vcmd_set_sched_v3'
-       added some optimizations
+       * kernel/device_cmd.h, kernel/switch.h, lib/Makefile-files,
+         lib/syscall_setmapping-v21.hc, lib/syscall_setmapping.c,
+         lib/virtual.h, lib/vserver.h, src/Makefile-files, src/vdevmap.c:
+         Add vdevmap and required functionality.
 
-2004-09-22 22:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-10 17:45  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * kernel/sched.h:
+       * scripts/functions: Improve the vshelper warning (common sign of
+         multiple installs).
 
-       added 'struct vcmd_set_sched_v3' plus macros
+2006-12-10 12:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-09-10 13:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * contrib/yum-2.6.0-chroot.patch, contrib/yum-2.9.6-chroot.patch:
+         fixed location of the lockfile; formerly, the chroot path was
+         prepended
+         twice
 
-       * lib/vserver-internal.h:
+2006-12-10 00:57  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       CALL_VC_V13B(), CALL_VC_V13OBS(): added
+       * sysv/vservers-legacy: Don't enable the legacy initscript by
+         default.
 
-2004-09-10 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-09 16:13  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/vlimit.c:
+       * NEWS, THANKS, configure.ac: Version 0.30.212.
 
-       fixed missing argument for '--xid' switch
+2006-12-09 16:12  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-07 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib_internal/sys_clone.h, src/rpm-fake.c, src/vdlimit.c:
+         vserver.h defines CLONE_NEW*.
+         Remove unused include of sys_clone.h from vdlimit.
 
-       * src/vattribute.c:
+2006-12-09 16:02  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       use vc_get_insecureflags() on '--secure' option
+       * scripts/functions: Make getFileArray handle multiple files as
+         well.
 
-2004-09-07 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-08 15:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/vserver.h:
+       * lib/syscall_ctxmigrate-v21.hc: Only enter the namespaces for
+         static and dynamic xids (i.e. not the spectator).
 
-       vc_get_insecureflags(): added (does this really make sense??)
+2006-12-08 13:28  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-09-07 22:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/functions, scripts/vserver, scripts/vserver.functions:
+         Rather than keeping an unnecessary mount around just because it
+         was the cwd, cd to the root at the beginning while storing the
+         original cwd (so it can be used later).
 
-       * scripts/chcontext:
+2006-12-08 13:25  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       fixed concatenation of flags + caps
+       * doc/configuration-xhtml.xsl: Change the default stylesheet.
 
-2004-09-07 22:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-08 13:25  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * configure.ac:
+       * ensc_wrappers/wrappers-vserver.hc: Add missing hunks from last
+         commit.
 
-       added an explicit requirement for version 1.9 of automake
+2006-12-08 13:24  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-27 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/Makefile-files, lib/checkconfig.c, lib/getxidtype.c,
+         lib/internal.h, lib/isdynamicxid.c,
+         lib/syscall_ctxmigrate-v21.hc, lib/syscall_ctxmigrate.c,
+         lib/syscall_enternamespace-v13.hc,
+         lib/syscall_enternamespace-v21.hc, lib/syscall_enternamespace.c,
+         lib/syscall_getspacemask-v21.hc, lib/syscall_getspacemask.c,
+         lib/syscall_getvci-v21.hc, lib/syscall_getvci.c,
+         lib/syscall_setnamespace-v13.hc, lib/syscall_setnamespace-v21.hc,
+         lib/syscall_setnamespace.c, lib/virtual.h,
+         lib/vserver-internal.h, lib/vserver.h, src/vcontext.c,
+         src/vnamespace.c: Work better on 2.6.19.
+         This includes adding a new kind of API that depends on the
+         VCI-bits, to detect the presence of spaces.
+         vnamespace now only enters the filesystem related namespaces
+         (CLONE_NEWNS|CLONE_FS).
+         vc_ctx_migrate_spaces enters the others.
+         Fix dynamic context detection by using the VCI-bits.
 
-       * NEWS, configure.ac:
+2006-12-08 13:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       version 0.30.193
+       * src/ncontext.c: Remove unused argument.
 
-2004-08-27 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-08 13:05  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/: vserver.stop, vserver, vserver.start:
+       * kernel/cacct.h, kernel/cacct_cmd.h, kernel/cacct_def.h,
+         kernel/cacct_int.h, kernel/context.h, kernel/context_cmd.h,
+         kernel/cvirt.h, kernel/cvirt_cmd.h, kernel/cvirt_def.h,
+         kernel/debug.h, kernel/debug_cmd.h, kernel/dlimit.h,
+         kernel/dlimit_cmd.h, kernel/global.h, kernel/history.h,
+         kernel/inode.h, kernel/inode_cmd.h, kernel/legacy.h,
+         kernel/limit.h, kernel/limit_cmd.h, kernel/limit_def.h,
+         kernel/limit_int.h, kernel/namespace.h, kernel/namespace_cmd.h,
+         kernel/network.h, kernel/network_cmd.h, kernel/sched.h,
+         kernel/sched_cmd.h, kernel/sched_def.h, kernel/signal.h,
+         kernel/signal_cmd.h, kernel/space_cmd.h, kernel/switch.h,
+         kernel/tag.h: Update kernel headers to 2.6.19-vs2.1.x-t7.
+         Use the headers from make headers_install to cut down on
+         unnecessary files/content.
 
-       follow LSB behavior when starting/stopping a vserver (no error, when already running/stopped)
-       adjusted some exit-codes
+2006-12-01 21:10  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-27 16:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver.functions: Add cwd to the list of paths to
+         exclude from namespace cleanup.
 
-       * src/secure-mount.c:
+2006-12-01 18:41  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       showHelp(): improved message
+       * m4/ensc_e2fscheck.m4: Correct package and distribution name.
 
-2004-08-27 10:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-28 17:42  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/misc/debootstrap.uri:
+       * scripts/vserver.functions: Make non-sysv initstyles work again.
 
-       updated again...
+2006-11-27 14:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-27 10:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/vserver.h: Add VLIMIT_MAPPED, for mapped files that are in
+         RAM.
 
-       * src/save_ctxinfo.c:
+2006-11-27 14:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       append '\0' to the buffer read by readlink()
+       * src/vsched.c: Don't process unknown files.
 
-2004-08-27 10:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-25 19:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/keep-ctx-alive.c:
+       * src/chroot-sh.c: Add missing quote.
 
-       include <sys/select.h>
+2006-11-25 19:17  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-27 10:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * distrib/redhat/initpost: Use chroot-sh chmod to remove the
+         symlink attack vector.
 
-       * ensc_wrappers/wrappers-unistd.hc:
+2006-11-25 02:04  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       Ereadlink*(): return the count of written chars
+       * src/vsched.c: Add missing #include <stddef.h> needed for offsetof
+         when using glibc.
 
-2004-08-25 02:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-25 00:38  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/functions, scripts/pkgmgmt, scripts/vserver.functions,
-         vserver-start/mount.c:
+       * lib/nflags-net.c, lib/vserver.h: Add NXF_SINGLE_IP.
 
-       use the new 'secure-mount' CLI
+2006-11-24 23:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-25 02:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/capchroot.c, src/chbind.c, src/chcontext.c, src/fstool.c,
+         src/keep-ctx-alive.c, src/nattribute.c, src/ncontext.c,
+         src/rpm-fake-resolver.c, src/secure-mount.c, src/secure-umount.c,
+         src/vattribute.c, src/vcontext.c, src/vcopy.c, src/vhashify.c,
+         src/vkill.c, src/vlimit.c, src/vnamespace.c, src/vrsetup.c,
+         src/vserver-info.c, src/vserver-stat.c, src/vuname.c,
+         src/vunify.c, src/vwait.c: Make quoting consistent.
 
-       * src/secure-mount.c:
+2006-11-24 22:03  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       reworked it; '--chroot' does not accept an argument now, and '--secure'
-       is deprecated. Lots of code was modernized
+       * scripts/legacy/vserver-copy: Use the same flags for legacy as the
+         rsync build method's default.
 
-2004-08-19 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-24 20:34  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * vserver-start/: configuration-init.c, configuration.c,
-         configuration.h, interface-add.c, interface-read.c, interface.c,
-         interface.h, main.c, scriptlets.c, vshelper.c:
+       * scripts/vserver.functions, src/nattribute.c: Use --secure by
+         default.
+         Add VC_NXF_HIDE_NETIF to the secure default.
 
-       added lots of new code
+2006-11-24 15:23  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 17:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver: Add forgotten backslash.
 
-       * vserver-start/: interface-print.c, interface-remove.c, mount.c,
-         mount.h, undo.c, undo.h:
+2006-11-24 15:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       initial checkin
+       * scripts/vserver: Call vserver-build with --debug too, if it was
+         specified.
 
-2004-08-19 16:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-24 15:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/vnamespace.c:
+       * configure.ac, contrib/manifest.dat.pathsubst,
+         scripts/Makefile-files, scripts/util-vserver-vars.pathsubst,
+         scripts/vserver-build, scripts/vserver-build.rsync: Add an rsync
+         build method.
 
-       fixed some #includes for the new position of sys_clone.h
+2006-11-24 14:12  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml: Add since.
 
-       * src/vkill.c:
+2006-11-23 23:56  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       define ENSC_WRAPPERS_UNISTD; it is used for some legacy code
+       * scripts/vserver.functions, src/vps.c, src/vserver-stat.c: Update
+         URL to the proc security page.
 
-2004-08-19 16:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-23 21:30  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/rpm-fake.c:
+       * src/vnamespace.c: Use CLONE_NEWUTS|CLONE_NEWIPC so it works with
+         2.6.19.
 
-       fixed some #includes to reflect changed position of sys_clone.h
+2006-11-23 21:12  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml, scripts/chbind, scripts/vserver.functions:
+         Add support for the network flags and capabilities in the
+         configuration.
 
-       * src/fstool.h:
+2006-11-23 18:30  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       checkForRace(), resolveCtx(): removed prototypes
+       * lib/ccaps-v13.c, lib/cflags-v13.c, lib/ncaps-net.c,
+         lib/nflags-net.c, lib/vserver.h: Support the prefixes for all
+         types of flags and capabilities.
+         Add NXF_INFO_PRIVATE.
+         Add NXF_HIDE_NETIF.
+         Add aliases for the legacy flags/caps so using the kernel's names
+         will work.
+         Add alias for VXC_SET_RLIMIT.
 
-2004-08-19 16:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-20 21:12  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/fstool.c:
+       * lib/ccaps-v13.c: Recognize set_utsname as a ccap too.
 
-       checkForRace(): removed as unused
+2006-11-20 15:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver: Add --rescue-init to the --help message.
 
-       * src/chxid.c:
+2006-11-20 15:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       use vc_xidopt2xid() instead of resolveCtx()
+       * distrib/redhat/initpost: Use --rescue-init.
 
-2004-08-19 16:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-20 15:10  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/sys_clone.h[DEAD]:
+       * scripts/vserver.functions, scripts/vserver.start: Don't set
+         _IS_FAKEINIT on rescue, let the caller decide with --rescue-init.
 
-       moved into lib_internal/
+2006-11-20 15:09  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/legacy/vserver, scripts/vserver.start: Use
+         $_CHBIND_COMPAT directly for legacy.
 
-       * src/fstool-resolvectx.c[DEAD]:
+2006-11-20 15:01  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       obsoleted; functionality is already in libvserver
+       * src/naddress.c: Cosmetic fixes.
+         Make sure args.do_set is set to false initially.
 
-2004-08-19 16:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-20 12:46  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/testsuite/command.c:
+       * scripts/vserver.functions: Make vserver <guest> start --rescue
+         ... work again.
 
-       applied API changes
+2006-11-20 00:23  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/Makefile-files, src/naddress.c: Make the prefix-to-netmask
+         conversion work on big-endian too.
+         Check for invalid prefixes.
+         Improve help message.
+         Add --set operation that removes all the old IP addresses first.
 
-       * lib_internal/command.h:
+2006-11-19 17:25  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added support for plain-style char** args
+       * contrib/manifest.dat.pathsubst,
+         ensc_wrappers/wrappers-vserver.hc, lib/Makefile-files,
+         lib/nidopt2nid.c, lib/vserver.h, scripts/Makefile-files,
+         scripts/chbind, scripts/util-vserver-vars.pathsubst, src,
+         src/Makefile-files, src/chbind.c, src/naddress.c,
+         src/nattribute.c, src/ncontext.c: Break up the old chbind into
+         ncontext, nattribute, and naddress.
+         This is done mostly to add support for network flags and caps,
+         but also to get the same level of flexibility that the security
+         contexts have.
+         In addition, a vc_nidopt2nid was created to correctly map --nid
+         self to the current process's nid.
 
-2004-08-19 16:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-17 18:48  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/: command-appendparameter.c, command-exec.c,
-         command-free.c, command-init.c:
+       * scripts/chcontext: Fix chcontext --help and --version.
 
-       handle plain-style char** args also
+2006-11-17 18:42  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml: soft-limit and hard-limit.
 
-       * lib_internal/: command-setparams.c, sys_clone.h:
+2006-11-15 21:38  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       initial checkin
+       * distrib/fc5/yum.repos.d/fedora-core.repo,
+         distrib/fc5/yum.repos.d/fedora-extras-development.repo,
+         distrib/fc5/yum.repos.d/fedora-extras.repo,
+         distrib/fc5/yum.repos.d/fedora-legacy.repo,
+         distrib/fc5/yum.repos.d/fedora-updates-testing.repo,
+         distrib/fc5/yum.repos.d/fedora-updates.repo,
+         distrib/fc6/yum.repos.d/fedora-core.repo,
+         distrib/fc6/yum.repos.d/fedora-extras-development.repo,
+         distrib/fc6/yum.repos.d/fedora-extras.repo,
+         distrib/fc6/yum.repos.d/fedora-legacy.repo,
+         distrib/fc6/yum.repos.d/fedora-updates-testing.repo,
+         distrib/fc6/yum.repos.d/fedora-updates.repo: Use HTTP URLs for
+         the keys (insecure, I know), so it'll work on non-Fedora systems
+         as well.
 
-2004-08-19 16:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-15 20:14  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/Makefile-files:
+       * lib/Makefile-files, lib/syscall_ctxstat-v21.hc,
+         lib/syscall_ctxstat.c, lib/syscall_getvci-v21.hc,
+         lib/syscall_getvci.c, lib/syscall_resetminmax-v21.hc,
+         lib/syscall_resetminmax.c, lib/syscall_rlimitstat-v21.hc,
+         lib/syscall_rlimitstat.c, lib/syscall_virtstat-v21.hc,
+         lib/syscall_virtstat.c, lib/vserver.h: Add the new syscalls from
+         2.1.
 
-       added command-setparams.c and sys_clone.h
+2006-11-14 23:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml, scripts/functions: Enable namespace
+         cleanup by default.
+         Various cleanups in the documentation, make sure references work.
 
-       * contrib/manifest.dat.pathsubst:
+2006-11-14 22:09  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       marked vserver.start.bin as C99-only
+       * src/vlimit.c: strcpy copies \0, use memcpy instead.
 
-2004-08-19 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-13 21:53  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * pathconfig.h.pathsubst:
+       * doc/configuration.xml, lib/vserver.h, src/vlimit.c: Add the
+         VLIMITs.
+         Add RLIMIT_MSGQUEUE, define it ourselves if not present (like on
+         2.4).
 
-       added some new paths
+2006-11-13 18:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml, src/vsched.c: Cosmetic fixes for vsched.
+         Document the configuration format.
 
-       * Makefile.am:
+2006-11-11 02:05  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       automake-1.9 fixes: s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
-       removed some libtool-hacks which are not needed with automake-1.9 anymore
+       * scripts/vserver.start: Force update when starting the guest.
 
-2004-08-19 16:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-11 00:53  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * vserver-start/Makefile-files:
+       * src/vsched.c: Only bother with the first line of the files.
+         Add required cast.
 
-       automake-1.9 fixes: s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
-       added lots of new files
+2006-11-11 00:29  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver.functions, src/Makefile-files, src/vsched.c: Make
+         vsched capable of configuring the new scheduler using a new
+         configuration format (one value per file).
 
-       * src/Makefile-files:
+2006-11-05 17:48  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       automake-1.9 fixes: s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
-       removed src/sys_clone.h (now in lib_internal/)
-       removed src/fstool-resolvectx.c
+       * lib/syscall_setccaps-v21.hc, lib/syscall_setsched-v21.hc,
+         lib/vserver.h: Set svn:keywords.
+         Fix the vc_set_sched API to make more sense, and handle the logic
+         in the wrapper.
 
-2004-08-19 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-05 17:46  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/testsuite/Makefile-files, tests/Makefile-files:
+       * src/exec-ulimit.c: Reset the limits unconditionally.
+         Treat RLIMIT_NOFILE specially, since the kernel does.
+         Fix dietlibc'isms, and handle sys_old_getrlimit's values.
 
-       automake-1.9 fixes: s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
+2006-11-04 19:36  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 15:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/exec-ulimit.c: Reset all limits that aren't configured.
 
-       * lib/xidopt2xid.c:
+2006-11-04 13:59  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       removed code without an effect
+       * lib/syscall_setsched-v21.hc, lib/vserver.h: Fix typos from last
+         commit.
 
-2004-08-19 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-03 22:37  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/syscall-syscall.c:
+       * doc/configuration.xml, scripts/functions, scripts/vserver: Make
+         vlogin optional.
 
-       gcc35 fixes: do not make vc_syscall() an alias for vserver() but execute it.
+2006-11-03 19:59  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * Makefile.am, configure.ac, kernel/cacct.h, kernel/cacct_cmd.h,
+         kernel/cacct_def.h, kernel/cacct_int.h, kernel/context.h,
+         kernel/context_cmd.h, kernel/cvirt.h, kernel/cvirt_cmd.h,
+         kernel/cvirt_def.h, kernel/debug.h, kernel/debug_cmd.h,
+         kernel/dlimit.h, kernel/dlimit_cmd.h, kernel/global.h,
+         kernel/history.h, kernel/inode.h, kernel/inode_cmd.h,
+         kernel/limit.h, kernel/limit_cmd.h, kernel/limit_def.h,
+         kernel/limit_int.h, kernel/monitor.h, kernel/namespace_cmd.h,
+         kernel/network.h, kernel/network_cmd.h, kernel/sched.h,
+         kernel/sched_cmd.h, kernel/sched_def.h, kernel/signal_cmd.h,
+         kernel/switch.h, kernel/tag.h, kernel/xid.h, lib/Makefile-files,
+         lib/ccaps-v13.c, lib/cflags-v13.c, lib/nflags-net.c,
+         lib/syscall_setccaps-v13.hc, lib/syscall_setccaps-v21.hc,
+         lib/syscall_setccaps.c, lib/syscall_setsched-v13.hc,
+         lib/syscall_setsched-v21.hc, lib/syscall_setsched.c,
+         lib/vserver-internal.h, lib/vserver.h: This commit adds support
+         for the 2.1 vserver API.
+         Update the kernel headers to 2.1.1-rc47.
+         Add the new ccapabilities, context flags, and network flags.
+         Use the correct VCMDs for the older calls.
+         Add vc_set_sched_v21, to configure the new scheduler.
+         Add vc_set_ccaps_v21, which sets the ccaps and bcaps using the
+         new interfaces for that.
 
-       * lib/isfile.c:
+2006-11-03 16:20  Benedikt Böhm <hollow@gentoo.org>
 
-       initial checkin
+       * distrib/gentoo/initpost: init style gentoo will also work with
+         older baselayout-vserver
 
-2004-08-19 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-03 15:02  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/internal.h:
+       * contrib/manifest.dat.pathsubst: Add vemerge, vesync, vupdateworld
+         and vdispatch-conf.
+         Fix the sort order a bit.
 
-       utilvserver_isFile(): added prototype
+2006-11-03 14:56  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml: bcapabilities and ccapabilities won't be
+         changing names any time soon, remove experimental marker.
+         ulimits are honored for 2.6 kernels as well.
+         Whitespace cleanup.
 
-       * lib/getvservercfgstyle.c:
+2006-11-03 14:36  Benedikt Böhm <hollow@gentoo.org>
 
-       fixed detection of legacy-style (check for file but not directory)
+       * distrib/gentoo/init-vserver.sh, scripts/Makefile-files,
+         scripts/vdispatch-conf, scripts/vemerge, scripts/vesync,
+         scripts/vserver.functions, scripts/vupdateworld: add gentoo
+         specific wrappers: vemerge, vesync, vupdateworld and
+         vdispatch-conf; add RUNLEVEL_START to gentoo init style
 
-2004-08-19 15:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-02 19:32  Benedikt Böhm <hollow@gentoo.org>
 
-       * lib/Makefile-files:
+       * distrib/gentoo/initpost: fix fstab fixing for gentoo/initpost
 
-       addded 'isfile.c'
+2006-11-01 19:46  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 15:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vyum-worker: Add missing space.
 
-       * ensc_wrappers/wrappers-stdlib.hc:
+2006-11-01 19:23  Benedikt Böhm <hollow@gentoo.org>
 
-       Esetenv(): added
+       * distrib/Makefile.am, distrib/gentoo/init-vserver.sh,
+         distrib/gentoo/initpost, distrib/gentoo/initpre,
+         scripts/vserver.functions: reimplement gentoo init style +
+         prepare distrib/gentoo for baselayout-1.13
 
-2004-08-19 15:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-01 15:34  Benedikt Böhm <hollow@gentoo.org>
 
-       * ensc_wrappers/wrappers-socket.hc:
+       * src/Makefile-files, src/chroot-sh.c: add mkdir and chmod
+         functions to chroot-sh
 
-       Esend(), Esocketpair(): added
+2006-10-31 14:33  Benedikt Böhm <hollow@gentoo.org>
 
-2004-08-19 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver-build.template: fix no_dev_sanity logic
 
-       * ensc_fmt/fmt-internal.h:
+2006-10-19 15:09  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       minor optimizations
+       * doc/configuration.xml, scripts/vserver.functions: Improve
+         namespace cleanup to make sure some required directories stick
+         around, and add some configuration options to exclude further
+         paths.
 
-2004-08-19 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-12 14:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * doc/configuration-xhtml.xsl:
+       * scripts/vyum-worker: Handle version 3.0 as well.
 
-       add '<ulink>' tag
+2006-10-07 18:03  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-08 13:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * NEWS, configure.ac, mkrelease: Version 0.30.211.
 
-       * doc/configuration.xml:
+2006-10-07 12:14  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       documented vdir, run, run.rev (provided by Olivier Poitrey)
-       added some links about [bc]capabilities and flags
-       added more scheduler doc (provided by Olivier Poitrey)
-       added some comments about 2.4 vs. 2.6 at rlimits/ulimits
-       added doc about rlimit's 'min' setting
+       * doc/configuration.xml: Fix typoed URL.
 
-2004-07-03 04:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-07 12:13  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * NEWS, configure.ac:
+       * scripts/vserver-build.fai: Point to the FAI wiki for information
+         about how to use it.
+         Make AUTO the default.
+         Move the prompt to after the trap has been setup.
+         Run base.__cleanup as the last step of killprocs, so the files
+         needed are still around for the rest of the cleanup.
+         Use isVserverRunning so the runfile is cleaned up too.
+         Mount the NFS-root and the target with -o dev, to allow the
+         device nodes.
 
-       version 0.30.190
+2006-10-04 16:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 03:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * contrib/manifest.dat.pathsubst: Add vserver-build.fai.
 
-       * doc/configuration.xml:
+2006-10-04 16:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       fixed path of the xsd file
+       * scripts/vserver-build.template: We can't remove dev/* if we're
+         not in the guest's root.
 
-2004-07-03 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-04 13:22  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * build-all:
+       * scripts/vserver-build.fai: Have vuname set the context as well,
+         so we can find it with vserver-info <name> CONTEXT.
 
-       added fc-2
+2006-10-04 13:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/secure-mount.c: Remove options that we parse ourselves, so
+         the kernel doesn't see them (and fail).
+         Reenable MS_NODEV default.
 
-       * scripts/vserver.functions:
+2006-10-04 12:33  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       prepareInit(): fixed case when .autofsck does not exist
+       * scripts/vserver.functions: If creation is failing, we want to see
+         the errors so it's debuggable.
 
-2004-07-03 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-03 18:37  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/chcontext:
+       * scripts/vserver-build.fai: Make sure we're running on a
+         sufficiently capable kernel.
+         Indent killprocs correctly.
+         Don't require a static xid by using save_ctxinfo.
+         Use secure-mount instead of mount.
+         Set a default hostname if none was specified.
 
-       accept --xid and prefer it against --ctx in the doc
-       added --silentexist option at --create
+2006-10-03 15:48  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/secure-mount.c: Revert NODEV default, as it makes it
+         impossible to mount (e.g.) a tmpfs that allows devices.
 
-       * distrib/suse91/apt/rpmpriorities:
+2006-10-03 13:14  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       initial checkin
+       * doc/configuration.xml: Add since=... where appropriate.
 
-2004-07-03 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-03 12:47  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/redhat/rc.sysinit:
+       * distrib/Makefile.am, distrib/fc6,
+         distrib/fc6/yum.repos.d/fedora-core.repo,
+         distrib/fc6/yum.repos.d/fedora-development.repo,
+         distrib/fc6/yum.repos.d/fedora-extras-development.repo,
+         distrib/fc6/yum.repos.d/fedora-extras.repo,
+         distrib/fc6/yum.repos.d/fedora-legacy.repo,
+         distrib/fc6/yum.repos.d/fedora-updates-testing.repo,
+         distrib/fc6/yum.repos.d/fedora-updates.repo: Add FC6 distribution
+         (doesn't work yet, but should once it's released).
 
-       call 'true' finally
+2006-10-03 11:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration-wiki.xsl: Move auto-generated notice to the
+         top.
 
-       * distrib/redhat/initpost:
+2006-10-01 17:27  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added comment about possible races
-       fixed /etc/inittab substitution
+       * scripts/Makefile-files, scripts/vserver-build,
+         scripts/vserver-build.fai: Add the fai build method based on Sam
+         Vilain's patch.
+         (https://savannah.nongnu.org/patch/?5058)
 
-2004-07-03 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-01 15:55  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/Makefile.am:
+       * doc/configuration.xml: Fix some spelling errors and update the
+         parameter lists to be correct.
 
-       added redhat/rc.sysinit
-       added suse/apt/rpmpriorities
-       moved suse/apt/sources.list into the cfgdir
+2006-09-29 22:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/syscall_ctxmigrate-v13.hc, lib/syscall_setnamespace-v13.hc:
+         Use the older versions of these syscalls, so the utils will work
+         on older kernels.
 
-       * contrib/manifest.dat.pathsubst:
+2006-09-28 22:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added vserver.start.bin
+       * doc/Makefile-files, doc/configuration-wiki.xsl: Add Tim Mecking's
+         XSL stylesheet for wiki exports.
 
-2004-07-03 03:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-28 15:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * vserver-start/Makefile-files:
+       * scripts/vserver-build: Cosmetic fixes to the help message.
 
-       use AM_INSTALLCHECK_STD_OPTIONS_EXEMPT for now
+2006-09-28 15:13  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 02:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver: Use a new namespace for the build process, so
+         any mounts performed during the build will vanish when it's done.
 
-       * distrib/Makefile.am:
+2006-09-28 15:10  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added suse91 files
+       * scripts/vapt-get, scripts/vserver: Make vserver ...
+         rpm/apt-get/apt-cache/apt-config work again.
 
-2004-07-03 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-28 15:08  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/: redhat/rc.sysinit, suse91/apt/sources.list,
-         suse91/initpost, suse91/pkgs/01, suse91/pkgs/02,
-         suse91/rpm/macros:
+       * Makefile.am, contrib/Makefile-files: Add more forgotten files.
 
-       initial checkin
+2006-09-28 15:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * Makefile.am, m4/changelog.am: Move flags to the same place they
+         were when cvs2cl was used.
 
-       * distrib/redhat/initpost:
+2006-09-28 15:05  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       some enhancements for 'plain' initstyle
+       * doc/configuration.xml: Fix URLs pointing to the source code.
 
-2004-07-03 02:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-26 17:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/testsuite/.cvsignore:
+       * contrib/yum-2.9.6-chroot.patch, scripts/vyum-worker: Add a patch
+         for yum 2.9.6 (for FC6).
+         Make vyum-worker use the hack configuration if the yum version is
+         unknown (-> unsupported), rather than silently creating really
+         strange directories.
 
-       added some files
+2006-09-26 17:12  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver-build: Fix help message to correspond with
+         reality.
 
-       * vserver-start/.cvsignore:
+2006-09-24 17:44  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       initial checkin
+       * scripts/vserver: This check was correct the first time,
+         (cond)restart just calls stop and start, so we need not handle
+         them specifically.
 
-2004-07-03 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-24 00:48  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * vserver-start/: configuration-init.c, configuration.c,
-         configuration.h, interface-add.c, interface-free.hc,
-         interface-init.hc, interface-read.c, interface.c, interface.h,
-         main.c, scriptlets.c, vserver-start.h, vshelper.c, vshelper.h:
+       * src/chroot-sh.c: Fix wrapper prefix so error messages say
+         chroot-sh: x.
 
-       initial checkin
+2006-09-21 19:44  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * m4/changelog.am, svnusers.map: Make ChangeLog prettier.
 
-       * vserver-start/Makefile-files:
+2006-09-21 19:43  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added lots of files
+       * src/secure-mount.c: Make nodev the default, but don't enforce it
+         for all mounts.
 
-2004-07-03 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-21 19:42  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/vserver-info.c:
+       * src/vlogin.c: Add the reset atexit handler right after setting
+         the terminal to raw mode, so we don't end up with a raw terminal
+         if (e.g.) openpty fails.
 
-       added CANONIFY tag
+2006-09-19 17:29  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * m4/ensc_pathprog.m4: Put /bin first in the searchpath when
+         looking for env, so we work around the /usr/bin/env-is-a-symlink
+         issue.
 
-       * src/secure-mount.c:
+2006-09-19 15:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       rewrite 'ext*' to 'ufs'
+       * contrib/manifest.dat.pathsubst, distrib/Makefile.am,
+         ensc_wrappers/Makefile-files: Fix Makefiles and the manifest to
+         include all the files needed.
 
-2004-07-03 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-18 15:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/: vserver.start, vserver.stop:
+       * distrib/centos4, distrib/centos4/yum.repos.d/CentOS-Base.repo,
+         distrib/centos4/yum/yum.conf, distrib/centos42: Rename centos42
+         to the more generic centos4, and change the URLs appropriately.
 
-       use a canonified lockfile-name
+2006-09-18 14:57  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver: Enter the namespace earlier so testing for files
+         (like /bin/bash, /etc/init.d/rc) works when the guest's root
+         filesystem is mounted from its fstab.
 
-       * scripts/vserver.functions:
+2006-09-16 17:26  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       function prepareInit(): do some cleanups in the plain-mode
+       * src/secure-mount.c: Fix logic errors in secure-mount.
 
-2004-07-03 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-16 14:21  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/functions:
+       * doc/configuration.xml, scripts/vserver.functions: Make novlandev
+         the default, but easily overridable for all guests.
 
-       vshelper.initSync(): use $1 instead of $VSERVER_DIR
+2006-09-16 12:28  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 01:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * kernel/limit_int.h, kernel/signal.h: Add forgotten kernel headers
+         (not important, but makes it easier to keep track).
 
-       * lib_internal/util.h:
+2006-09-15 21:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       include util-lockfile.h
-       canonifyVserverName(): added prototype
+       * kernel/context.h, kernel/context_cmd.h, kernel/cvirt.h,
+         kernel/cvirt_cmd.h, kernel/debug.h, kernel/dlimit_cmd.h,
+         kernel/inode.h, kernel/inode_cmd.h, kernel/legacy.h,
+         kernel/limit.h, kernel/limit_cmd.h, kernel/limit_def.h,
+         kernel/namespace.h, kernel/namespace_cmd.h, kernel/network.h,
+         kernel/sched.h, kernel/sched_cmd.h, kernel/signal_cmd.h,
+         kernel/switch.h, kernel/xid.h, lib/cflags-v13.c,
+         lib/syscall_ctxmigrate-v13.hc, lib/syscall_setnamespace-v13.hc,
+         lib/syscall_waitexit-v13.hc, lib/vserver.h: - Update the kernel
+         headers to 2.0.2.1.
+         - Add missing flags.
+         - Fix the calls that got updated so they work as expected.
 
-2004-07-03 01:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-15 20:15  Benedikt Böhm <hollow@gentoo.org>
 
-       * lib_internal/util-mem.h:
+       * scripts/vserver-wrapper: make vserver-wrapper gentoo compliant
 
-       optimized it a little bit
+2006-09-15 19:16  Benedikt Böhm <hollow@gentoo.org>
 
-2004-07-03 01:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * distrib/Makefile.am, distrib/gentoo, distrib/gentoo/initpost,
+         scripts/vserver-build.functions, scripts/vserver-build.template:
+         add gentoo distribution target; force sane /dev by default for
+         template build method
 
-       * lib_internal/pathinfo.h:
+2006-09-15 15:41  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       ENSC_PI_DECLARE(): added
+       * scripts/vserver.start: env doesn't grok --.
 
-2004-07-03 01:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-15 08:31  Benedikt Böhm <hollow@gentoo.org>
 
-       * lib_internal/command-wait.c:
+       * ., ChangeLog.sed, Makefile.svn, configure.ac, contrib/.cvsignore,
+         cvsusers.map, distrib/.cvsignore, doc/.cvsignore,
+         ensc_fmt/.cvsignore, ensc_vector/.cvsignore,
+         ensc_vector/testsuite/.cvsignore, lib/.cvsignore,
+         lib/apidoc/.cvsignore, lib/testsuite/.cvsignore,
+         lib_internal/.cvsignore, lib_internal/testsuite/.cvsignore,
+         m4/changelog.am, m4/ensc_changelog.m4, mkrelease,
+         scripts/.cvsignore, scripts/legacy/.cvsignore, src/.cvsignore,
+         src/testsuite/.cvsignore, sysv/.cvsignore, tests/.cvsignore,
+         vserver-start/.cvsignore: cleanup old cvs cruft; add mkrelease
+         script; use svn2cl instead of cvs2cl
 
-       fixed stupid typo
+2006-09-15 04:32  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 01:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/functions, scripts/vserver.stop, scripts/vshelper: Make
+         vshelper reboot/halt work correctly when CONFIG_VSERVER_LEGACY is
+         disabled and the helper is run synchronously.
 
-       * lib_internal/Makefile-files:
+2006-09-13 22:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added lots of new files
+       * scripts/vserver-build.functions.rpm: Fix RPM-based builds on
+         RHEL/CentOS 4.4.
 
-2004-07-03 01:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 18:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/: errinfo-writeerrno.c, errinfo.h,
-         filecfg-readentryflag.c, filecfg-readentrystr.c, filecfg.h,
-         util-canonify.c, util-lockfile.c, util-lockfile.h:
+       * contrib/manifest.dat.pathsubst, distrib/Makefile.am,
+         distrib/misc/environment, doc/configuration.xml,
+         scripts/vserver.functions, scripts/vserver.start: Add initial
+         environment support. Lets users work around their broken
+         initscripts inside guests when using the sysv initstyle.
 
-       initial checkin
+2006-09-12 17:19  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 01:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * configure.ac: Add ugly hack to workaround yum's problems with
+         file:////.
+         (https://savannah.nongnu.org/bugs/?15517)
 
-       * lib/vserver.h:
+2006-09-12 17:17  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       small cosmetical cleanups
+       * doc/configuration.xml, scripts/vserver.start: Add Herbert Pötzl's
+         patch to support initialization scriptlets.
 
-2004-07-03 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 17:09  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/misc/mtab:
+       * ensc_wrappers/wrappers-unistd.hc, scripts/vserver,
+         src/capchroot.c, src/vcontext.c: - Teach vcontext about usernames
+         (if dietlibc is used).
+         - Teach capchroot about uid 0.
+         - Add Einitgroups.
+         - Specify uid 0 by default, so username lookups are avoided.
 
-       s!ext2!ufs!
+2006-09-12 16:55  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * configure.ac, ensc_wrappers/wrappers-termios.hc,
+         ensc_wrappers/wrappers.h, scripts/vserver, src/Makefile-files,
+         src/vcontext.c, src/vlogin.c: Add vlogin, a terminal proxy for
+         vserver ... enter.
+         (https://savannah.nongnu.org/patch/?4969)
 
-       * pathconfig.h.pathsubst:
+2006-09-12 16:54  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added lots of PATH_* and PROG_* macros needed for vserver-start.bin
+       * scripts/vserver-build.template, scripts/vserver.delete: Add
+         forgotten svn:keywords.
 
-2004-07-03 01:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 16:33  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * build-all:
+       * configure.ac, contrib/manifest.dat.pathsubst,
+         scripts/Makefile-files, scripts/magic.mime,
+         scripts/util-vserver-vars.pathsubst, scripts/vserver-build,
+         scripts/vserver-build.template: Add support for vserver-build -m
+         template, which extracts tarballs.
 
-       removed gcc34 target (now default)
-       added gcc35 target (not working currently)
+2006-09-12 12:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-01 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/functions, scripts/vapt-get, scripts/vrpm,
+         scripts/vsomething: Make vrpm and vapt-get use vsomething.
+         Fix external package management so that the process is executed
+         in
+         the guest's network context, in case scriptlets restart daemons.
 
-       * scripts/vserver.start:
+2006-09-12 12:29  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       (re)enabled nice-support for 2.6 vservers which was omitted inadvertently
+       * contrib/manifest.dat.pathsubst, scripts/Makefile-files,
+         scripts/vserver, scripts/vserver.delete: Add a delete method to
+         remove guests, based on Thomas Champagne's
+         patch.
+         (https://savannah.nongnu.org/patch/?4899)
 
-2004-07-01 12:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 12:21  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/vlimit.c:
+       * doc/configuration.xml, scripts/functions,
+         scripts/vserver.functions: Apply Bastian Blank's userspace
+         namespace cleanup patch.
 
-       fixed misinterpretation of '--xid' introduced by rev 1.17
+2006-09-12 12:16  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-29 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml, scripts/vserver-setup.functions,
+         scripts/vserver.functions, scripts/vserver.start,
+         scripts/vserver.stop, scripts/vserver.suexec: Apply Jan
+         Rekorajski's CPUSET patch.
+         (http://www.paul.sladen.org/vserver/archives/200511/0245.html)
 
-       * scripts/vserver-build.apt-rpm:
+2006-09-12 11:29  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       fixed installation at non-standard places
+       * distrib/Makefile.am, distrib/fc5, distrib/fc5/apt,
+         distrib/fc5/apt/rpmpriorities, distrib/fc5/apt/sources.list,
+         distrib/fc5/pkgs, distrib/fc5/pkgs/01, distrib/fc5/pkgs/02,
+         distrib/fc5/pkgs/03, distrib/fc5/rpmlist.d,
+         distrib/fc5/rpmlist.d/00.lst, distrib/fc5/yum,
+         distrib/fc5/yum.repos.d,
+         distrib/fc5/yum.repos.d/fedora-core.repo,
+         distrib/fc5/yum.repos.d/fedora-development.repo,
+         distrib/fc5/yum.repos.d/fedora-extras-development.repo,
+         distrib/fc5/yum.repos.d/fedora-extras.repo,
+         distrib/fc5/yum.repos.d/fedora-legacy.repo,
+         distrib/fc5/yum.repos.d/fedora-updates-testing.repo,
+         distrib/fc5/yum.repos.d/fedora-updates.repo,
+         distrib/fc5/yum/yum.conf, distrib/redhat/initpost,
+         scripts/vyum-worker: Add support for Fedora Core 5 and yum 2.6.
 
-2004-06-29 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 11:21  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/vserver-build:
+       * scripts/vserver-build, scripts/vserver-build.debootstrap: Add
+         support for specifying a debootstrap script.
 
-       fixed doc ('pkgcfgbase' vs. 'pkgbase')
+2006-09-12 11:14  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-27 16:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/syscall-alternative.h: Update to the latest version of
+         Herbert's alternative syscall
+         implementation.
 
-       * lib_internal/Makefile-files:
+2006-09-12 11:11  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added command* files and testsuite/
+       * lib_internal/sys_clone.h: Fix sys_clone usage on sparc and s390,
+         sparc returns parent pid in
+         the child and s390 has the arguments reversed.
 
-2004-06-27 16:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 11:09  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/command-appendparameter.c,
-         lib_internal/command-exec.c, lib_internal/command-free.c,
-         lib_internal/command-init.c, lib_internal/command-reset.c,
-         lib_internal/command-wait.c, lib_internal/command.h,
-         lib_internal/testsuite/.cvsignore,
-         lib_internal/testsuite/Makefile-files,
-         lib_internal/testsuite/command.c, build-all:
+       * scripts/legacy/vserver, scripts/vserver.functions: - Fix obsolete
+         nice usage.
+         - Make sure the correct nice value is used, even if the parent
+         process has a different one.
 
-       initial checkin
+2006-09-12 11:04  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-27 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * configure.ac: Fix API option parsing so oldproc and olduts are
+         valid options
+         (allowing for cut'n'paste from vserver-info to ./configure)
 
-       * src/vserver-stat.c:
+2006-09-12 10:54  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       enhanced output for old-style vservers
+       * scripts/start-vservers: Fixes start-vservers to work on _all_
+         guests when --all is specified,
+         as well as fixing the cleanup.
+         (https://savannah.nongnu.org/bugs/index.php?14525)
+         (https://savannah.nongnu.org/bugs/index.php?15632)
 
-2004-06-27 15:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 10:50  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/misc/debootstrap.uri:
+       * scripts/vserver.functions: Apply Christian Heim's patch to
+         deprecate the Gentoo initstyle
 
-       updated...
+2006-09-12 10:47  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-27 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/pkgmgmt, scripts/vserver.functions: Make fstab usage
+         consistent, fstab gets mounted first, then
+         fstab.local and then fstab.remote, unmounting in the reverse
+         order.
 
-       * src/vserver-info.c:
+2006-09-12 10:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       assume '- SYSINFO' when no other options are given
+       * scripts/vserver: Fix condrestart to actually do a conditional
+         restart
+         (https://savannah.nongnu.org/bugs/index.php?15678)
 
-2004-06-27 15:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 10:34  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/vcopy.c:
+       * scripts/vserver: Fix Usage: message for the main script.
+         (https://savannah.nongnu.org/bugs/index.php?15551)
 
-       made it work...
+2006-09-12 10:32  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-27 15:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver-build.functions: Use $_SETATTR instead of chattr
+         to remove the barrier.
 
-       * scripts/vserver-build.skeleton:
+2006-09-12 10:30  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       do not fail when '-d' is not specified and distribution can not be detected
+       * scripts/chcontext: Fix chcontext so it passes --secure as the
+         first argument to
+         vattribute so it doesn't override the passed caps.
+         (https://savannah.nongnu.org/patch/?4993)
 
-2004-06-27 15:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 10:26  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/vserver-build.functions:
+       * lib/syscall_setccaps-v13.hc: Fix vc_set_ccaps to work the way the
+         kernel expects it to
+         (https://savannah.nongnu.org/patch/?4968)
 
-       getDistribution(): added detection for slackware and gentoo
+2006-09-12 10:22  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-27 15:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * man/chcontext.8: Apply Micah Anderson's patch fixing chcontext's
+         man page section
+         (https://savannah.nongnu.org/bugs/index.php?16083)
 
-       * scripts/vprocunhide:
+2006-09-10 17:26  Benedikt Böhm <hollow@gentoo.org>
 
-       fixed typos
+       * util-vserver: remove util-vserver dir
 
-2004-06-27 15:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-10 17:07  Benedikt Böhm <hollow@gentoo.org>
 
-       * lib_internal/unify-unify.c:
+       * AUTHORS, ChangeLog.sed, Makefile.am, NEWS, README, REQUIREMENTS,
+         THANKS, build-all, compat-c99.h, compat.h, configure.ac, contrib,
+         cvsusers.map, distrib, doc, ensc_fmt, ensc_vector, ensc_wrappers,
+         kernel, lib, lib_internal, m4, man, pathconfig.h.pathsubst,
+         scripts, src, sysv, tests, update-doc, util-vserver.spec.in,
+         util-vserver/AUTHORS, util-vserver/ChangeLog.sed,
+         util-vserver/Makefile.am, util-vserver/NEWS, util-vserver/README,
+         util-vserver/REQUIREMENTS, util-vserver/THANKS,
+         util-vserver/build-all, util-vserver/compat-c99.h,
+         util-vserver/compat.h, util-vserver/configure.ac,
+         util-vserver/contrib, util-vserver/cvsusers.map,
+         util-vserver/distrib, util-vserver/doc, util-vserver/ensc_fmt,
+         util-vserver/ensc_vector, util-vserver/ensc_wrappers,
+         util-vserver/kernel, util-vserver/lib, util-vserver/lib_internal,
+         util-vserver/m4, util-vserver/man,
+         util-vserver/pathconfig.h.pathsubst, util-vserver/scripts,
+         util-vserver/src, util-vserver/sysv, util-vserver/tests,
+         util-vserver/update-doc, util-vserver/util-vserver.spec.in,
+         util-vserver/vserver-start, vserver-start: skip duplicate
+         util-vserver dir
 
-       Unify_unify(): made it work also when destination file does not exist (needed for vcopy)
+2006-03-26 11:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-27 15:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/Makefile-files,
+         util-vserver/contrib/yum-2.6.0-chroot.patch: added
+         yum-2.6.0-chroot.patch
 
-       * lib_internal/unify-settime.c:
+2006-01-22 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Unify_setTime(): skip operation on symlinks
+       * util-vserver/NEWS, util-vserver/configure.ac,
+         util-vserver/util-vserver.spec.in: version 0.30.210
 
-2004-06-27 15:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-22 19:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/src/capchroot.c, util-vserver/src/chcontext.c,
+         util-vserver/src/reducecap.c: use stdout instead of stderr for
+         the no-compat API warnings on '--help';
+         else, 'make distcheck' will fail
 
-       vc_syscall(): added prototype
-       added/updated some doc
+2006-01-22 19:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-27 15:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore: updated
 
-       * lib/syscall-syscall.c:
+2006-01-22 18:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/build-all: added testcases for the
+         '--enable-apis=NOLEGACY' configure switch
 
-2004-06-27 15:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-22 18:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getvserverbyctx-compat.hc, getvserverctx.c:
+       * util-vserver/lib_internal/testsuite/Makefile-files: added
+         dietlibc + glibc versions of the isnumber and sigbus tests
 
-       added legacy support
+2006-01-22 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-27 15:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: - declare the VC_ENABLE_API_* macros
+         through AH_TEMPLATE()
+         - provide only the v13,net APIs by default
+         - added support for v13obs API
 
-       * lib/Makefile-files:
+2006-01-22 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added syscall-syscall.c
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: do not provide
+         Evc_new_s_context() wrapper without the required API
 
-2004-06-27 15:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-22 18:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_fmt/fmt.h:
+       * util-vserver/lib/vserver-internal.h: use the new
+         VC_ENABLE_API_V13OBS define
 
-       cleanups; removed unneeded #undef's
+2006-01-22 18:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-27 14:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall.c: added linktime warning for
+         vc_set_ipv4root()
 
-       * doc/configuration.xml:
+2006-01-22 18:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added comment about 'capabilities' file and kernelversion
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall_setsched-v13.hc,
+         util-vserver/lib/syscall_setsched-v13obs.hc,
+         util-vserver/lib/syscall_setsched.c: split vc_set_sched_v13obs()
+         into an own file
 
-2004-06-17 23:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-22 18:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * vserver-start/Makefile-files:
+       * util-vserver/src/chbind.c, util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/vserver-info.c: fixed compilation for disabled
+         compat/legacy API
 
-       initial checkin
+2006-01-22 18:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-17 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/capchroot.c, util-vserver/src/chcontext.c,
+         util-vserver/src/reducecap.c: added some workarounds so that it
+         build without compat/legacy API
+         resp. give out warnings explaining the situation
 
-       * Makefile.am:
+2006-01-22 13:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added silent.% target
-       include ensc_fmt/ and vserver-start/ files
-       minor cosmetical fixes
+       * util-vserver/Makefile.am: added support for $(pkgcachedir)
 
-2004-06-16 12:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-22 13:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_vector/: Makefile-files, vector-zeroend.c, vector.h:
+       * util-vserver/doc/configuration.xml: - documented
+         /etc/vservers/.defaults/cachebase + /etc/vservers/.../cache
+         - documented default value of /etc/vservers/.../vdir
 
-       added Vector_zeroEnd() function
+2006-01-22 13:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-16 12:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: - do not require 'xalan'
+         anymore by default
+         - removed 'Requires: apt'; apt-rpm is not maintained upstream
+         anymore
+         - removed 'chattr' leftovers
+         - create the '/etc/vservers/.defaults/cachebase' symlink
+         - added /var/cache/vservers and the needed support
+         - set barrier attribute on /vservers/.pkg and /vservers/.hash
+         - added 'centos-release' to the list of packages in the
+         copy-the-keys
+         trigger script
+         - create '/vservers/.hash' and add initial configuration for it
+
+2006-01-22 13:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/THANKS: - fixed ngnet -> non-legacy network
+         confusion
+         - mentioned improved dlimit support
+
+2006-01-22 12:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/vserver-build.debootstrap: - changed the way
+         how temporary files/directories will be created:
+         
+         * mktemp will now be called with the '-t' parameter and sometimes
+         with
+         '-p'
+         * absolutes paths (e.g. '/tmp') were removed from the templates
+         * with this changes, it is now possible to override the location
+         of
+         the temporary files by setting $TMPDIR. This should add a way to
+         solve problems like debootstrap on non-executable tmp-directories
+         (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=15447)
+         
+         These changes require that 'mktemp' understands the following
+         switches:
+         
+         * '-t' ... Generate a path rooted in a temporary directory.
+         * '-d' ... Make a directory instead of a file.
+         * '-p' ... Use the specified directory as a prefix when
+         generating
+         the temporary filename.
+         
+         Because 'mktemp' from Debian Woody's 'debianutils_1.16.2woody1'
+         supports these features every recent Linux distribution should do
+         it
+         also.
+         
+         - allow to override path of the debootstrap binary with the
+         $DEBOOTSTRAP
+         environment variable
+
+2006-01-22 12:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/functions, util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/start-vservers,
+         util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vserver-build.rpm,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start: changed the way how temporary
+         files/directories will be created:
+         
+         * mktemp will now be called with the '-t' parameter and sometimes
+         with
+         '-p'
+         * absolutes paths (e.g. '/tmp') were removed from the templates
+         * with this changes, it is now possible to override the location
+         of
+         the temporary files by setting $TMPDIR. This should add a way to
+         solve problems like debootstrap on non-executable tmp-directories
+         (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=15447)
+         
+         These changes require that 'mktemp' understands the following
+         switches:
+         
+         * '-t' ... Generate a path rooted in a temporary directory.
+         * '-d' ... Make a directory instead of a file.
+         * '-p' ... Use the specified directory as a prefix when
+         generating
+         the temporary filename.
+         
+         Because 'mktemp' from Debian Woody's 'debianutils_1.16.2woody1'
+         supports these features every recent Linux distribution should do
+         it
+         also.
+
+2006-01-22 12:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/vserver.functions: - the 'dlimit' stuff uses
+         now a /etc/vservers/*/cache symlink pointing
+         somewhere to /var/cache
+         - _setSingleDiskLimit(): use one $_VDU call instead of two
+         - give out a warning when dlimit/ stuff is configured but no
+         cache
+         symlink is existing
+
+2006-01-22 12:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/vserver-build.functions: create the
+         /etc/vservers/*/cache symlink
+
+2006-01-22 11:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/vdu.c: rearranged some bits so that toplevel
+         directory will be counted too
+
+2006-01-22 11:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/Makefile-files: link 'vdu' against
+         'libinternal.a'
+
+2006-01-22 11:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/vdu.c: - rewrote the directory traversal code to
+         use 'EsafeChdir()' and
+         friends
+         - allow to specify both '--inodes' and '--space'
+         - use 'isNumber()'
+
+2006-01-22 11:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/vserver-info.c: apply new 'isNumber()' API
+
+2006-01-22 11:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         __PKGCACHEDIR
+
+2006-01-22 11:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/lib_internal/Makefile-files,
+         util-vserver/lib_internal/util-isnumber.c,
+         util-vserver/lib_internal/util-isnumber.hc,
+         util-vserver/lib_internal/util-isnumberunsigned.c,
+         util-vserver/lib_internal/util.h: enhanced the isNumber() method:
+         * now, it accepts units like 'm' or 'K'; 'isNumber()' needs now a
+         third parameter telling whether to interprete the number strictly
+         or
+         whether to accept such units
+         * an 'isNumberUnsigned()' method was created for unsigned types;
+         an
+         'util-isnumber.hc' template file was created for this purpose
+         * proper tests for over/underflow were implemented
+
+2006-01-22 11:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/lib_internal/testsuite/Makefile-files,
+         util-vserver/lib_internal/testsuite/isnumber.c: added isnumber.c
+         testcase which checks the isNumber() and
+         isNumberUnsigned() methods
+
+2006-01-22 11:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/ensc_wrappers/Makefile-files,
+         util-vserver/ensc_wrappers/wrappers-stat.hc,
+         util-vserver/ensc_wrappers/wrappers.h: added wrappers-stat.hc
+         which implements wrappers for the *stat(2)
+         functions
+
+2006-01-21 13:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/doc/configuration.xml,
+         util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/src/Makefile-files, util-vserver/src/vdu.c: applied
+         http://savannah.nongnu.org/patch/?func=detailitem&item_id=4814
+         (Daniel Hokka Zakrisson):
+         
+         This patch lets users configure disk limits in
+         /etc/vservers/<name>/dlimits/*/, and have them set on the start
+         of the
+         vserver, as well as saved when stopping the vserver.
+         
+         For counting the amount of inodes and space used by a certain
+         vserver
+         on a filesystem, I modified the old and broken vdu program (vdu
+         bin
+         etc would not find etc, for instance) and made it useful again.
+         
+         The cache files will probably need some love, I'm a bit uncertain
+         as
+         to where to put them (or rather, the symlink to their location).
+         
+         This is the last piece of the disk limits puzzle. A variant of
+         this
+         would be really nice to have in 0.30.210. (do you have an ETA on
+         that,
+         btw?)
 
-       * lib/Makefile-files:
+2006-01-18 23:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved fmt* functionality into the 'ensc_fmt' module
-       removed '-D_REENTRANT' as it is defined globally
+       * util-vserver/lib/vserver-internal.h:
+         NETTYPE_USER2KERNEL/NETTYPE_KERNEL2USER: handle IPv6 bcast case,
+         too
 
-2004-06-16 12:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-18 23:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_fmt/.cvsignore, ensc_fmt/Makefile-files, ensc_fmt/fmt-32.c,
-         ensc_fmt/fmt-64.c, ensc_fmt/fmt-internal.h,
-         ensc_fmt/fmt-tai64n.c, ensc_fmt/fmt.h, ensc_fmt/fmt.hc,
-         ensc_fmt/fmtx-32.c, ensc_fmt/fmtx-64.c, ensc_fmt/fmtx.hc,
-         lib/fmt-32.c[DEAD], lib/fmt-64.c[DEAD], lib/fmt-internal.h[DEAD],
-         lib/fmt.h, lib/fmt.hc[DEAD], lib/fmtx-32.c[DEAD],
-         lib/fmtx-64.c[DEAD], lib/fmtx.hc[DEAD]:
+       * util-vserver/lib/vserver.h: adjusted the vc_net_nx_type enum so
+         that the NETTYPE_USER2KERNEL() can
+         be optimized
 
-       moved fmt* functionality into the 'ensc_fmt' module
+2006-01-18 23:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-27 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/THANKS, util-vserver/lib/syscall_netadd-net.hc,
+         util-vserver/lib/syscall_netadd.c,
+         util-vserver/lib/syscall_netremove-net.hc,
+         util-vserver/lib/syscall_netremove.c,
+         util-vserver/lib/vserver-internal.h,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/src/chbind.c: applied vnet patch from Daniel Hokka
+         Zakrisson
+         (http://savannah.nongnu.org/patch/?func=detailitem&item_id=4799)
 
-       * src/vcontext.c:
+2006-01-18 23:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       s!fakeinit!initpid! at some places
+       * util-vserver/lib/vserver.h: * vcFeatureSet: added vcFEATURE_VNET
+         enum
+         * applied vnet patch from Daniel Hokka Zakrisson
+         (http://savannah.nongnu.org/patch/?func=detailitem&item_id=4799)
 
-2004-05-27 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-18 23:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/lib/issupported.c,
+         util-vserver/lib/issupportedstring.c: added support for
+         vcFEATURE_VNET feature
 
-       use '--fakeinit' by default; users will have to disable it explicitly
-       by putting '~fakeinit' into the 'flags' configuration file
+2006-01-18 23:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-27 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/checkversion.c: minor formation fixups
 
-       * scripts/vserver-build.debootstrap:
+2006-01-04 17:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
+       * util-vserver/src/testsuite,
+         util-vserver/src/testsuite/.cvsignore,
+         util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/hashcalc-plain.c,
+         util-vserver/src/testsuite/hashcalc-plain.sh: added
+         'hashcalc-plain' tests to track down broken beecrypt/vhashify on
+         some Debians
 
-2004-05-27 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-04 13:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * README:
+       * util-vserver/distrib/misc/vprocunhide-files: readded
+         /proc/version; it is expected by several programs
 
-       fixed typos
+2006-01-04 12:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-27 02:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver, util-vserver/.cvsignore: added csope.out
 
-       * scripts/chcontext:
+2006-01-04 12:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       s!fakeinit!initpid! at some places
+       * util-vserver/lib/syscall_getvhiname-v13.hc:
+         vc_get_vhi_name_v13(): added comment near the strncpy(3) call
+         which
+         tells that an explicit termination with '\0' is not wanted
 
-2004-05-27 02:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-04 12:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/misc/debootstrap.uri:
+       * util-vserver/lib_internal/util-unixsock.h: ENSC_INIT_UNIX_SOCK():
+         be more effective in an strncpy(3) call and
+         avoid potential copying of an char which gets overridden later
 
-       updated
+2006-01-03 00:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-27 02:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: parameterized '-j' flag
 
-       * util-vserver.spec.in:
+2006-01-03 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       (re)added the MANIFEST_* variables which were lost some time ago; this
-       will preserve %%config files...
+       * util-vserver/Makefile.am: removed old kernel headers
 
-2004-05-27 02:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-02 23:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/distrib/misc/vprocunhide-files: hide /proc/cmdline
+         and /proc/version because they can reveal information
+         about the host system
 
-       make util-vserver.spec readonly to prevent losing of changes
+2006-01-02 23:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-27 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: updated url
 
-       * README:
+2006-01-02 23:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added content
+       * util-vserver/scripts/functions,
+         util-vserver/scripts/vserver-setup.functions: updated dates in
+         the copyright notices
 
-2004-05-22 02:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-02 23:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/vprocunhide:
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt_def.h,
+         util-vserver/kernel/debug.h, util-vserver/kernel/global.h,
+         util-vserver/kernel/inode.h, util-vserver/kernel/limit.h,
+         util-vserver/kernel/limit_def.h, util-vserver/kernel/network.h,
+         util-vserver/kernel/sched_def.h, util-vserver/kernel/signal.h,
+         util-vserver/kernel/xid.h: updated to 2.6.14.3-vs2.01 headers
 
-       fixed rc conflict with /etc/rc.d/functions; reported by taxcollector
-       in https://savannah.nongnu.org/bugs/?func=detailitem&item_id=9052
+2006-01-02 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-21 17:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions:
+         s!/etc/slackware-release!/etc/slackware-version! (reported by
+         bubulak)
 
-       * configure.ac, m4/gpgsig.am:
+2005-12-31 10:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for the default GPG key
+       * util-vserver/scripts/functions: isDirectoryEmpty(): really ignore
+         'lost+found' by checking against the full
+         path
+         (https://savannah.nongnu.org/patch/?func=detailitem&item_id=4714,
+         patched by XeRO)
 
-2004-05-21 17:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-12-31 10:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: functions, vapt-get, vrpm:
+       * util-vserver/scripts/functions: colpanic(): added missing 'error'
+         keyword for the colorize call (issue
+         15281, reported and patched by Micah Anderson)
 
-       added some color to the life
+2005-12-31 10:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-20 02:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall-fallback.h: added syscall numbers for
+         hppa (263) and m32r (273)
 
-       * scripts/: pkgmgmt, vserver:
+2005-12-31 10:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       mount filesystems on 'vserver ... pkgmgmt ...' operations
+       * util-vserver/src/secure-mount.c: - mount some more filesystems
+         internally instead of calling the
+         external 'mount' command
+         - fixed MS_NODEV handling
 
-2004-05-19 01:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-12-31 10:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS:
+       * util-vserver/doc/configuration.xml,
+         util-vserver/scripts/vserver.functions: added 'novlandev'
+         interface flag
 
-       version 0.29.214
+2005-10-31 09:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-19 01:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vyum-worker: made it work with yum 2.4.0
 
-       * distrib/misc/debootstrap.uri:
+2005-10-30 16:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated URL (again...)
+       * util-vserver/distrib/centos42/yum/yum.conf,
+         util-vserver/distrib/fc3/yum/yum.conf,
+         util-vserver/distrib/fc4/yum/yum.conf: added
+         'installonlypkgs=/exactarch=0' entries
 
-2004-05-19 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-30 16:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/: Makefile.am, fc2/apt/rpmpriorities,
-         fc2/apt/sources.list, fc2/pkgs/01, fc2/pkgs/02:
+       * util-vserver/lib/Makefile-files: added
+         'ensc_fmt/lib_libvserver_a-%' to DIETPROGS; this fixes problems
+         e.g. with FC5's stack-protector
 
-       added fc2 support
+2005-10-30 10:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-19 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.209
 
-       * contrib/manifest.dat.pathsubst:
+2005-10-30 10:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed clearenv, added sigexec
+       * util-vserver/scripts/vserver.functions: call 'vattribute' with
+         '--flag default'
 
-2004-05-19 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-30 10:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/lib/cflags-v13.c: added 'default' and 'secure'
+         pseudo flags; they are open for enhancements
+         but VC_VXF_VIRT_UPTIME seems to be the only flag for 'default'
+         without
+         sideeffects
 
-       s!@PACAKGE@!%name! at some places
+2005-10-29 16:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-19 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat/initpost: added code to execute
+         'killall5 -15' in the halt script; this should
+         fix the minilogd issues with CentOS and older RH releases
 
-       * Makefile.am:
+2005-10-29 16:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       substitute ENV
+       * util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/vwait-test.sh: added 'vwait-test.sh'
 
-2004-05-11 20:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-29 16:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac, scripts/util-vserver-vars.pathsubst,
-         scripts/vserver.start, src/Makefile-files, src/clearenv.c[DEAD]:
+       * util-vserver/scripts/vserver.functions: ok... try #3 of the new
+         vwait stuff: it seems to be a good idea to
+         read files *after* they are filled with content...
 
-       use 'env' instead of 'clearenv'; the '-i' switch is SUSv3 and every implementation should have it...
+2005-10-29 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-11 20:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop: execute waitForSync everytime
+         and not only when the shutdown succeeded
 
-       * src/sigexec.c:
+2005-10-29 15:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: fixed the TIMEOUT case in
+         yet another way: now, start 'vkill' and a
+         killall command in the same backgrounded subshell. Parameter
+         committal
+         between the different shell instances is a horror and just a
+         question
+         of time until it breaks :(
 
-2004-05-11 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-29 15:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: context-sync.hc, vnamespace.c, vps.c:
+       * util-vserver/scripts/start-vservers: add newlines in the makefile
+         generated for the 'stop' case; else, there
+         will be multiple target-dependency pairs on the same line
+         [reported by
+         Daniel Kraft]
 
-       set SIGCHLD sigmask to an expected value (SIG_DFL)
-       use new exitLikeProcess() interface
+2005-10-29 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-11 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vdlimit.c: - revert a previous vc_add_dlimit()
+         when vc_set_dlimit() fails
+         - added some basic sanity checks for the parameters given on the
+         CLI
+         [both reported by Kevin Pendleton;
+         https://savannah.nongnu.org/bugs/?func=detailitem&item_id=14026]
 
-       * src/: chcontext.c, secure-mount.c, vcontext.c, vkill.c:
+2005-10-29 14:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       set SIGCHLD sigmask to an expected value (SIG_DFL)
+       * util-vserver/doc/configuration.xml: - removed documentation about
+         single flags; it was broken and outdated
+         - added link to http://linux-vserver.org/Scheduler+Parameters for
+         the
+         scheduler params
+         [both
+         https://savannah.nongnu.org/bugs/?func=detailitem&item_id=14331]
 
-2004-05-11 20:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-29 12:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/scripts/vserver.functions: - initWait(): call
+         'vwait' without --terminate; this is required to
+         give out a list of processes in _waitForVWait
+         - _waitForVWait(): when 'vwait' returns with 'TIMEOUT', give out
+         the
+         list of current processes and kill the context manually
 
-       execute vshelper through 'sigexec' to set expected sigmask
+2005-10-29 12:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-11 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: fillName(): initialize
+         'obj->cfgstyle' to vcCFG_AUTO
+
+2005-10-29 12:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: .cvsignore, Makefile-files:
+       * util-vserver/scripts/vserver-build.debootstrap: on non-debian
+         machines (resp. those without debootstrap), generate
+         '$DEBOOTSTRAP_DIR/arch' with the current architecture [reported
+         by
+         Nicolas Costes;
+         http://savannah.nongnu.org/bugs/?func=detailitem&item_id=14589]
+
+2005-10-29 12:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/start-vservers: - verifyVserver():
+         implemented it
+         - added some sanity checks to make sure that the 'depends' files
+         are
+         containing valid vserver names; the verifyVserver() function is
+         used
+         by these checks
+
+2005-10-29 12:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/lib/getvserverctx.c: vc_getVserverCtx(): allow
+         vc_get_vx_info() to fail but check for
+         errno==ESRCH; for xid!=0, this syscall will return ENOSYS always
+
+2005-10-29 10:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/testsuite/hashcalc.c: added some stack checks
+
+2005-10-29 10:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/vwait.c: do not include "linuxvirtual.h"
+         anymore; it's not needed
+
+2005-10-29 10:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/lib/getnbipv4root.c,
+         util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/isdynamicxid.c,
+         util-vserver/lib/syscall_adddlimit.c,
+         util-vserver/lib/syscall_cleanupnamespace.c,
+         util-vserver/lib/syscall_ctxcreate.c,
+         util-vserver/lib/syscall_ctxmigrate.c,
+         util-vserver/lib/syscall_enternamespace.c,
+         util-vserver/lib/syscall_getccaps.c,
+         util-vserver/lib/syscall_getcflags.c,
+         util-vserver/lib/syscall_getdlimit.c,
+         util-vserver/lib/syscall_getiattr.c,
+         util-vserver/lib/syscall_getncaps.c,
+         util-vserver/lib/syscall_getnflags.c,
+         util-vserver/lib/syscall_getnxinfo.c,
+         util-vserver/lib/syscall_gettasknid.c,
+         util-vserver/lib/syscall_gettaskxid.c,
+         util-vserver/lib/syscall_getvhiname.c,
+         util-vserver/lib/syscall_getvxinfo.c,
+         util-vserver/lib/syscall_kill.c,
+         util-vserver/lib/syscall_netadd.c,
+         util-vserver/lib/syscall_netcreate.c,
+         util-vserver/lib/syscall_netmigrate.c,
+         util-vserver/lib/syscall_netremove.c,
+         util-vserver/lib/syscall_remdlimit.c,
+         util-vserver/lib/syscall_rlimit.c,
+         util-vserver/lib/syscall_setccaps.c,
+         util-vserver/lib/syscall_setcflags.c,
+         util-vserver/lib/syscall_setdlimit.c,
+         util-vserver/lib/syscall_setiattr.c,
+         util-vserver/lib/syscall_setnamespace.c,
+         util-vserver/lib/syscall_setncaps.c,
+         util-vserver/lib/syscall_setnflags.c,
+         util-vserver/lib/syscall_setsched.c,
+         util-vserver/lib/syscall_setvhiname.c,
+         util-vserver/lib/syscall_waitexit.c, util-vserver/src/vkill.c:
+         include "virtual.h" instead of "linuxvirtual.h"
 
-       added sigexec
+2005-10-29 09:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-11 20:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/hashcalc.c: use our 'assert' from
+         "lib_internal/coreassert.h"
+         use Vwrite() instead of write()
+
+2005-10-29 09:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util-exitlikeprocess.h:
+       * util-vserver/src/vhashify.c: cleanups; undefine macros after
+         their use, set some UNUSED attributes
+         and 'return EXIT_SUCCESS' in main to make the testsuite happy
+         (where
+         main() is not main())
 
-       exitLikeProcess(): readded the 'NORETURN' and added a 'ret' parameter
+2005-10-29 09:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-11 20:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat/initpost: start the vserver with the
+         '--rescue' option and execute operations
+         like 'chkconfig' there
 
-       * lib_internal/util-exitlikeprocess.c:
+2005-10-29 08:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       exitLikeProcess(): never return...
+       * util-vserver/THANKS: mentioned Herbert and his alternative
+         syscall implementation
 
-2004-05-11 20:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-29 08:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/switchtowatchxid.c:
+       * util-vserver/src/fstool.c: when giving a directory and other
+         filesystem objects on the CLI, the
+         fstool based applications (showattr, setattr, chxid) changed into
+         this
+         directory without going back. So the other objects can not be
+         found
+         anymore (resp. the wrong ones) [reported and patched by Daniel
+         Hokka
+         Zakrisson;
+         http://savannah.nongnu.org/bugs/?func=detailitem&item_id=14313]
 
-       switchToWatchXid(): modified the new migrate-path to work when there exists a process in xid 1 already
+2005-10-28 18:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 04:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: use new syntax for
+         '--rescue-cmd'
 
-       * configure.ac, NEWS:
+2005-10-28 18:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.213
+       * util-vserver/scripts/vserver-build.skeleton: use new
+         getDistribution API
 
-2004-05-08 03:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-28 18:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/exec-ulimit.c:
+       * util-vserver/scripts/vserver-build.functions: when building new
+         vservers allow empty directories for their roots
+         improved error messages a little bit
 
-       added support for 'core'
+2005-10-28 18:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: updated help msg for '--rescue'
 
-       * src/vps.c:
+2005-10-28 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new exitLikeProcess() interface
-       better error-handling
+       * util-vserver/scripts/functions: colorize/colpanic(): reset
+         attributes after giving out the message
 
-2004-05-08 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-28 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: context-sync.hc, vnamespace.c:
+       * util-vserver/distrib/Makefile.am, util-vserver/distrib/centos42,
+         util-vserver/distrib/centos42/pkgs,
+         util-vserver/distrib/centos42/pkgs/01,
+         util-vserver/distrib/centos42/pkgs/02,
+         util-vserver/distrib/centos42/pkgs/03,
+         util-vserver/distrib/centos42/yum,
+         util-vserver/distrib/centos42/yum.repos.d,
+         util-vserver/distrib/centos42/yum.repos.d/CentOS-Base.repo,
+         util-vserver/distrib/centos42/yum/yum.conf,
+         util-vserver/util-vserver.spec.in: added centos42 support
 
-       use new exitLikeProcess() interface
+2005-10-28 17:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: updated debootstrap
+         url
 
-       * scripts/: vserver.start, vserver.stop:
+2005-10-28 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added locking
-       call setDefaultTTY() correctly
+       * util-vserver/m4/ensc_syscall.m4: do not define
+         ENSC_SYSCALL_TRADITIONAL when alternative syscalls are available
 
-2004-05-08 03:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-28 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.apt-rpm:
+       * util-vserver/lib/syscall_ctxcreate-v13.hc: use VCMD_ctx_create_v0
+         instead of VCMD_ctx_create
 
-       call 'vapt-get -- clean' after building the vserver
+2005-10-28 17:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvserverctx.c: include "internal.h"
 
-       * scripts/functions:
+2005-10-28 17:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       setDefaultTTY(): redirect every descriptors
+       * util-vserver/Makefile.am, util-vserver/kernel/context.h,
+         util-vserver/kernel/cvirt_def.h, util-vserver/kernel/debug.h,
+         util-vserver/kernel/global.h, util-vserver/kernel/limit.h,
+         util-vserver/kernel/limit_def.h, util-vserver/kernel/network.h,
+         util-vserver/kernel/sched_def.h, util-vserver/kernel/signal.h,
+         util-vserver/kernel/xid.h: updated to 2.6.13.3-vs2.1.0-rc4
+         headers
 
-2004-05-08 03:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-28 16:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util-exitlikeprocess.h:
+       * util-vserver/lib/syscall-alternative.h: updated to
+         http://vserver.13thfloor.at/Experimental/SYSCALL/syscall_shiny7.h
 
-       exitLikeProcess(): removed the 'NORETURN'; this causes strange error when the function returns
-       exitLikeProcess(): added a second, 'char *' parameter for the human readable command
+2005-10-28 16:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall-fallback.h: added syscall-fallback.h
 
-       * lib_internal/util-exitlikeprocess.c:
+2005-10-28 16:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       be more verbose when sending a signal
+       * util-vserver/m4/pkgconfig.am: do not use multiline sed
+         expressions anymore; instead of, assign and
+         use a Makefile variable
 
-2004-05-08 03:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-28 16:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/cflags.c:
+       * util-vserver/m4/ensc_syscallnr.m4: - do not use the local
+         kernelheaders anymore; this causes problems on
+         cross-compiling
+         - use a fallback headerfile to determine syscall #
 
-       some changes to make gcc34 happy
+2005-10-28 16:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am, util-vserver/configure.ac,
+         util-vserver/lib/syscall.c, util-vserver/m4/ensc_kerneldir.m4,
+         util-vserver/m4/ensc_syscall.m4: do not use the local
+         kernelheaders anymore; this causes problems on
+         cross-compiling
 
-       * lib/val2text.hc:
+2005-10-25 16:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       include <strings.h>
+       * util-vserver/lib/testsuite/fmt.c: improved tests by validating
+         that buffer gets not modified before or
+         after the indented space
 
-2004-05-08 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-25 16:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservername.c:
+       * util-vserver/lib/getvserverctx.c: getCtxFromFile(): fixed
+         resource leaks in errorcase
+         vc_getVserverCtx(): validate result by calling getvserverbyctx()
 
-       getRecentName(): use realpath(3) instead of errorprone 'chdir()' calls
+2005-10-25 16:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/internal.h: vc_getVserverByCtx_Internal(): added
+         prototype (with 'validate_result'
+         parameter)
 
-       * lib/: getvserverbyctx-compat.hc, getvserverctx.c:
+2005-10-25 16:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       optimized buffersizes
+       * util-vserver/lib/getvserverbyctx-compat.hc,
+         util-vserver/lib/getvserverbyctx-v13.hc,
+         util-vserver/lib/getvserverbyctx.c: vc_getVserverByCtx_*(): added
+         'validate_result' parameter to avoid
+         recursion when called by getvserverctx()
 
-2004-05-08 03:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-25 16:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/lib/vserver.h: added vc_compareVserverById()
 
-       fixed apps/vunify/logfile documentation; it must be configured on a
-       per-system, but not per-vserver base
+2005-10-25 16:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/comparevserverbyid.c: added comparevserverbyid.c
 
-       * distrib/misc/debootstrap.uri:
+2005-10-25 16:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated again
+       * util-vserver/ensc_fmt/fmtx.hc: save some bytes on the stack...
 
-2004-05-05 21:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-25 16:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/clearenv.c:
+       * util-vserver/configure.ac: disable expensive tests by default
 
-       fixed case when '--' is used
+2005-10-25 16:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-05 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: improved 'silent.%' target a little bit
+         (might be incompatible with
+         older grep but it's for developing only...)
 
-       * scripts/vshelper:
+2005-10-25 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed typo
+       * util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/hashcalc.sh: added hashcalc.sh
 
-2004-05-05 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-25 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/src/testsuite/hashcalc.c: fixed params in
+         calculateHashFromFD() call
 
-       use 'clearenv' in the new path also
+2005-10-23 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-05 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chroot-sh.c: testInternal(): fixed return value
+         for non-existing files
 
-       * scripts/vserver.functions:
+2005-10-23 22:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       sendKillSequence(): be silent and succeed everytime
+       * util-vserver/src/testsuite,
+         util-vserver/src/testsuite/.cvsignore,
+         util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/hashcalc.c: added hashcalc
 
-2004-05-05 21:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-23 22:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-setup.functions:
+       * util-vserver/src/vhashify.c: added TESTSUITE mode
 
-       removed legacy code
+2005-10-09 09:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-05 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: fixed VLAN setup: set the
+         name-type, honor the 'ip' value and use the
+         device name on removal (reported by Timothy Arnold,
+         https://savannah.nongnu.org/bugs/?func=detailitem&item_id=14148)
 
-       * scripts/vrpm-preload, src/rpm-fake-resolver.c, src/rpm-fake.c:
+2005-08-08 22:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added code to preserve capabilities and flags
+       * util-vserver/scripts/vserver.functions: fixed detection of
+         commented lines in config-files; formerly, only a
+         single '#' was detected which does not really make sense for
+         comments...
 
-2004-05-05 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-25 15:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/unify-unify.c:
+       * util-vserver/util-vserver.spec.in: updated URLs
 
-       added some doc
+2005-07-25 15:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-05 21:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vwait.c: - made the alarm() code working with
+         glibc also; glibc restarts
+         vc_wait_exit() instead of interrupting it so an explicit
+         siginterrupt(2) is required
+         - call alarm(2) again when EINTR was seen
 
-       * lib/syscall_setiattr-fscompat.hc:
+2005-07-25 15:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       be more carefully regarding signed vs. unsigned int...
+       * util-vserver/scripts/vserver-build.skeleton: execute
+         'base.setSuccess' finally
 
-2004-05-05 21:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-25 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/bcaps-v13.c:
+       * util-vserver/scripts/vserver-build.functions.rpm:
+         rpm.sanityCheck(): added; it warns about missing initpre scripts
 
-       removePrefix(): fixed another 'len' issue
-       include <strings.h>
+2005-07-25 15:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-30 12:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions: -
+         getDistribution(): added sanity checks to make sure that there
+         exist
+         a configuration for the selected distribution
+         - base.initFilesystem(): allow empty directories as root
+         directories
+         for new vservers; this uses the new isDirectoryEmpty() function
+         - base.__cleanup(): armed the cleanup code; formerly there was
+         still
+         the safety 'echo' giving out the resulting command instead of
+         executing it
 
-       * lib/bcaps-v13.c:
+2005-07-25 15:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removePrefix(): fixed case when len<4
+       * util-vserver/scripts/vserver-build.debootstrap: use new calling
+         convention of getDistribution(); 'debootstrap' does
+         not require an explicit configuration of the distribution
 
-2004-04-28 21:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-25 15:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/changelog.txt[DEAD]:
+       * util-vserver/scripts/vsysvwrapper: fixed typo
+         (s!$CHBIND!$_CHBIND!)
 
-       removed since unused
+2005-07-25 15:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.rpm,
+         util-vserver/scripts/vserver-build.yum: call rpm.sanityCheck()
 
-       * lib/apidoc/Makefile-files:
+2005-07-25 15:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added list2xxx.syntax
+       * util-vserver/scripts/functions: isDirectoryEmpty(): added
+         col*(): added
 
-2004-04-28 20:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 20:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/readlink.c:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.208
 
-       enhanced errormessages
+2005-07-15 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac, util-vserver/lib/personalityflag.c,
+         util-vserver/lib/personalitytype.c,
+         util-vserver/m4/ensc_personality.m4: check whether enums from
+         <linux/personality.h> are available before using
+         them
+         (https://savannah.nongnu.org/bugs/?func=detailitem&item_id=12921)
 
-       * src/: rpm-fake.c, vattribute.c:
+2005-07-15 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use vc_get_insecurebcaps() instead of vc_get_insecurecaps()
-       set secure ccapabilities
+       * util-vserver/util-vserver.spec.in: - require the -lib subpackage
+         by -devel
+         - copy GPG keys from /etc/pki/rpm-gpg/
 
-2004-04-28 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: chcontext.c, reducecap.c:
+       * util-vserver/src/testsuite/rpm-fake-test.sh: fixed paths so that
+         it works again...
 
-       use vc_get_insecurebcaps() instead of vc_get_insecurecaps()
+2005-07-15 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/vprocunhide: do not run when IATTR feature is
+         not supported
 
-       * lib_internal/Makefile-files:
+2005-07-15 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added coreassert.h
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.suexec: readded the
+         limit-ulimits-per-vserver stuff due to popular requests
+         (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=12840)
 
-2004-04-28 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/cflags.c:
+       * util-vserver/lib/getinsecurebcaps.c: - adjusted insecure caps for
+         the added CAP_AUDIT* and removed
+         CAP_QUOTACTL stuff
+         - assume every unknown capability as insecure
 
-       use <lib_internal/coreassert.h>
-       added new testcases
+2005-07-15 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore: added 'personality'
 
-       * lib/testsuite/: fmt.c, parselimit.c:
+2005-07-15 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use <lib_internal/coreassert.h>
+       * util-vserver/lib/syscall_netadd-net.hc,
+         util-vserver/lib/syscall_netremove-net.hc: changed code so that
+         it *compiles* with current kernel headers
 
-2004-04-28 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/Makefile-files:
+       * util-vserver/lib/syscall_getiattr-fscompat.hc,
+         util-vserver/lib/syscall_setiattr-fscompat.hc: Changed the
+         barrier-code so that it sets both the 't' ext2-flag and
+         chmod-0 permissions. This is required to work with 1.2.10 patch;
+         formerly the chmod-0 sufficed. [reported by Bjoern Steinbrink,
+         http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13170]
 
-       define ENSC_TESTSUITE
+2005-07-15 16:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/capabilities.c: use a static '29' for QUOTACTL
+         capability as VC_CAP_QUOTACTL was removed
 
-       * lib/apidoc/list2xxx.syntax, lib_internal/coreassert.h:
+2005-07-15 16:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/ccaps-v13.c: added
+         VC_VXC_{SYSLOG,BINARY_MOUNT,QUOTA_CTL}
+         added/moved some aliases
 
-2004-04-28 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 16:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/apidoc/Doxyfile.in:
+       * util-vserver/lib/bcaps-v13.c: removed VC_CAP_QUOTACTL
+         added VC_CAP_AUDIT*
 
-       set EXAMPLE_PATH
+2005-07-15 16:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: removed VC_CAP_QUOTACTL
+         added VC_CAP_AUDIT*
+         added VC_VXC_{SYSLOG,BINARY_MOUNT,QUOTA_CTL}
 
-       * lib/vserver.h:
+2005-07-15 16:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_get_insecureccaps(): added
-       cleanups
-       added documentation
+       * util-vserver/contrib/Makefile-files,
+         util-vserver/contrib/yum-2.3.4-chroot.patch: added
+         yum-2.3.4-chroot patch
 
-2004-04-28 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 16:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/val2text.hc:
+       * util-vserver/kernel/network.h, util-vserver/kernel/network_cmd.h,
+         util-vserver/kernel/switch.h, util-vserver/kernel/xid.h: updated
+         to patch-2.6.12.2-vs2.0-rc7
 
-       use strncasecmp() instead of strncmp()
+2005-07-04 22:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions: check whether
+         context is already active before starting the build
+         (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=12849)
 
-       * lib/listparser.hc:
+2005-07-04 22:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       improved error-detection for the '^' prefix
-       added support for 'none'
-       allow '0'
+       * util-vserver/src/vserver-info.c: allow to pass a numeric xid to
+         'vserver-info ... RUNNING'
 
-2004-04-28 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-04 22:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/bcaps-v13.c:
+       * util-vserver/lib_internal/Makefile-files,
+         util-vserver/lib_internal/util-isnumber.c,
+         util-vserver/lib_internal/util.h: isNumber(): added
 
-       added bcapability names
-       added code to remove a 'CAP_' prefix
+2005-07-04 18:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.debootstrap: give out status
+         message before downloading debootstrap
+         (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13472)
 
-       * lib/: Makefile-files, getinsecurebcaps.c,
-         getinsecurecaps.c[DEAD]:
+2005-07-04 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed getinsecurecaps.c to getinsecurebcaps.c
+       * util-vserver/lib/syscall-alternative.h: updated to
+         http://vserver.13thfloor.at/Experimental/SYSCALL/syscall.h
+         from 2005-05-07
 
-2004-04-23 18:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 22:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration-lsd.css, NEWS, configure.ac:
+       * util-vserver/distrib/misc/debootstrap.uri: oops... set the wrong
+         value
 
-       version 0.29.211
+2005-07-03 22:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-23 18:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: updated
 
-       * util-vserver.spec.in:
+2005-07-03 22:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       readjusted Release:
+       * util-vserver/distrib/Makefile.am: register fc4 as rh-style
+         distribution
 
-2004-04-23 16:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/configure.ac: check for 'nohup'
 
-       cleaned up the %file-lists
-       buildrequire 'xalan-j' (can be disabled with '--without xalan')
-       removed 'libxslt' buildrequire
+2005-07-03 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-23 16:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: removed chroot_* +
+         C++ programs
+         added chroot_sh + vwait
 
-       * doc/Makefile-files:
+2005-07-03 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       remove *.html only, when we can recreate them
+       * util-vserver/Makefile.am, util-vserver/lib/virtual.h: updated
+         used kernel headers to 2.6.12.2-vs2.0-rc5
 
-2004-04-23 13:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 17:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/lib/syscall_getvhiname-v13.hc,
+         util-vserver/lib/syscall_setvhiname-v13.hc: -
+         s!VCMD_vx_.et_vhi_name!VCMD_.et_vhi_name!
+         - added workaround for older kernels not having the naming above
 
-       fixed typo
+2005-07-03 17:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-23 13:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vshelper: accept 'async' method
 
-       * doc/Makefile-files:
+2005-07-03 17:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed FAQ.txt and configuration.dtd
-       added configuration.xsd
+       * util-vserver/scripts/vserver.start: pipe 'popd' output to
+         /dev/null
 
-2004-04-23 13:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 17:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/FAQ.txt[DEAD]:
+       * util-vserver/scripts/vserver.functions: initSync(): fixed
+         parameter naming
+         initSync(): set 'async' method when 'vwait' is available
+         _waitForVWait(): read pipe after 'wait' returned
 
-       obsoleted
+2005-07-03 17:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build: do not set OPTION_KEEP
 
-       * configure.ac:
+2005-07-03 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'net' API
-       disable 'legacy' API by default
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added vwait
 
-2004-04-22 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h:
+       * util-vserver/scripts/pkgmgmt: - cleanups
+         - unset %_dbpath at 'internalize' operation
 
-       added nid_t
+2005-07-03 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: vshelper.initSync(): fixed
+         parameter naming
 
-       * src/reducecap.c:
+2005-07-03 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed warnings when compiled without legacy-mode
+       * util-vserver/src/chroot-sh.c: implemented 'testfile' subcommand
 
-2004-04-22 22:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: Makefile-files, ncaps-net.c, ncaps_list-net.c,
-         nflags-net.c, nflags_list-net.c, syscall_getncaps-net.hc,
-         syscall_getncaps.c, syscall_getnflags-net.hc,
-         syscall_getnflags.c, syscall_getnxinfo-net.hc,
-         syscall_getnxinfo.c, syscall_gettasknid-net.hc,
-         syscall_gettasknid.c, syscall_netadd-net.hc, syscall_netadd.c,
-         syscall_netcreate-net.hc, syscall_netcreate.c,
-         syscall_netmigrate-net.hc, syscall_netmigrate.c,
-         syscall_netremove-net.hc, syscall_netremove.c,
-         syscall_setncaps-net.hc, syscall_setncaps.c,
-         syscall_setnflags-net.hc, syscall_setnflags.c,
-         vserver-internal.h, vserver.h:
+       * util-vserver/contrib/Makefile-files,
+         util-vserver/contrib/yum-2.3.3-chroot.patch: added
+         yum-2.3.3-chroot.patch
 
-       added network layer functions
+2005-07-03 14:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: do not quote $_VSHELPER in help
+         message (reported by Roman Barczynski,
+         https://savannah.nongnu.org/bugs/?func=detailitem&item_id=13162)
 
-       * lib/syscall_ctxcreate-v13.hc:
+2005-07-03 14:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed return value
+       * util-vserver/doc/configuration.xml: mentioned the working
+         directory for the scripts
 
-2004-04-22 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 14:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.dtd[DEAD]:
+       * util-vserver/kernel/context.h, util-vserver/kernel/context_cmd.h,
+         util-vserver/kernel/cvirt_cmd.h, util-vserver/kernel/debug.h,
+         util-vserver/kernel/namespace.h,
+         util-vserver/kernel/namespace_cmd.h,
+         util-vserver/kernel/network.h, util-vserver/kernel/network_cmd.h,
+         util-vserver/kernel/switch.h: updated to 2.6.12.2-vs2.0-rc5
 
-       obsoleted by configuration.xsd
+2005-07-03 13:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 21:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: execute the prepre script in
+         the configuration directory (*not* the
+         vdir directory); this should not cause legacy problems as
+         formerly the
+         directory was not changed overall
 
-       * THANKS:
+2005-07-03 13:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added Olivier Poitrey
+       * util-vserver/scripts/vserver.functions: check whether filesystem
+         is mounted readonly; if so, execute
+         $_SECURE_MOUNT with the '-n' argument
 
-2004-04-22 21:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 13:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.rpm: execute base.setSuccess()
+         at the end
 
-       use xalan instead of xsltproc
+2005-07-03 13:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 21:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake-resolver.c: implemented better
+         error-handling in the read() and write() functions
 
-       * doc/: configuration-xhtml.xsl, configuration.xml,
-         configuration.xsd:
+2005-07-03 12:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use the new, XSD-based format which was defined by Olivier Poitrey
+       * util-vserver/ensc_wrappers/wrappers-io.hc,
+         util-vserver/ensc_wrappers/wrappers-iosock.hc,
+         util-vserver/ensc_wrappers/wrappers-unistd.hc: store result of
+         read*(2) and write*(2) fucntions into signed variables;
+         error handling is more cleaner in this way
 
-2004-04-22 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 12:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration-xhtml.xsl:
+       * util-vserver/src/vserver-stat.c: - cleanups
+         - multiply RSS value with PAGESIZE
+         (https://savannah.nongnu.org/bugs/?func=detailitem&item_id=13184)
+         - prepare the '-O' option: calculate vserver names earlier and
+         use
+         some more helper functions
 
-       made it work with xalan
-       removed debug message
+2005-07-03 12:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 21:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: - doPwStringRequest(): fixed x86_64
+         issue; rpm-fake.so transmitted a
+         'size_t' value, but rpm-fake-resolver expected an uint32_t
+         - minor cleanups
 
-       * doc/beautify.xsl[DEAD]:
+2005-07-03 09:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       obsoleted
+       * util-vserver/ensc_vector/Makefile-files,
+         util-vserver/ensc_vector/vector-foreach.c,
+         util-vserver/ensc_vector/vector.h,
+         util-vserver/ensc_vector/vector.hc: added Vector_foreach*()
+         functions
 
-2004-04-22 21:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-02 09:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/Makefile-files:
+       * util-vserver/src/Makefile-files, util-vserver/src/vbuild.cc,
+         util-vserver/src/vcheck.cc, util-vserver/src/vfiles.cc,
+         util-vserver/src/vserver.cc, util-vserver/src/vserver.hh,
+         util-vserver/src/vutil.cc, util-vserver/src/vutil.h,
+         util-vserver/src/vutil.p: removed the C++ tools; they do not work
+         with recent configuration and
+         are adding huge dependencies
 
-       use xalan
+2005-06-30 06:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 20:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop: use vwait infrastructure
 
-       * kernel/: network.h, sched.h:
+2005-06-30 06:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to vs1.9.0pre12
+       * util-vserver/scripts/vserver-build.functions.pkgmgmt,
+         util-vserver/scripts/vserver.functions: use CHROOT_SH instead of
+         CHROOT_*
+         use vwait
 
-2004-04-22 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-06-30 06:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: cflags-v13.c, testsuite/cflags.c:
+       * util-vserver/scripts/vserver-build.functions: remove generated
+         vserver when build fails and '--keep' was not specified
 
-       use more specific names for the flags
+2005-06-30 06:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-21 23:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.rpm,
+         util-vserver/scripts/vserver-build.skeleton,
+         util-vserver/scripts/vserver-build.yum: use 'base.init' instead
+         of 'base.initVariables'
 
-       * scripts/vserver.start:
+2005-06-30 06:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give correct vserver-name in the hints ($VSERVER_DIR instead of $VSERVER_NAME)
+       * util-vserver/scripts/vserver-build: added '--keep' option
 
-2004-04-21 23:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-06-30 06:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/scripts/X,
+         util-vserver/scripts/util-vserver-vars.pathsubst: removed
+         CHROOT_*
+         added CHROOT_SH
 
-       moved the 'ip_only' handling to the right place
+2005-06-30 06:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-21 11:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/pkgmgmt: use CHROOT_SH instead of CHROOT_*
 
-       * src/vshelper-sync.c:
+2005-06-30 06:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed missing initialization of a timeout struct
+       * util-vserver/lib/virtual.h: include signal_cmd.h instead of
+         signal.h
 
-2004-04-21 11:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-06-30 06:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-stat.c:
+       * util-vserver/util-vserver.spec.in: added %dist tag
+         buildrequire 'which' and 'diffutils'
+         require 'apt' on i386 only
 
-       use uint64_t for the uptime counter to handle medium+large uptimes
-       (>49 days) correctly
+2005-06-30 06:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-21 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/fc4, util-vserver/distrib/fc4/apt,
+         util-vserver/distrib/fc4/apt/rpmpriorities,
+         util-vserver/distrib/fc4/apt/sources.list,
+         util-vserver/distrib/fc4/pkgs, util-vserver/distrib/fc4/pkgs/01,
+         util-vserver/distrib/fc4/pkgs/02,
+         util-vserver/distrib/fc4/pkgs/03,
+         util-vserver/distrib/fc4/rpmlist.d,
+         util-vserver/distrib/fc4/rpmlist.d/00.lst,
+         util-vserver/distrib/fc4/yum,
+         util-vserver/distrib/fc4/yum.repos.d,
+         util-vserver/distrib/fc4/yum.repos.d/fedora-devel.repo,
+         util-vserver/distrib/fc4/yum.repos.d/fedora-updates-testing.repo,
+         util-vserver/distrib/fc4/yum.repos.d/fedora-updates.repo,
+         util-vserver/distrib/fc4/yum.repos.d/fedora.repo,
+         util-vserver/distrib/fc4/yum/yum.conf: initial checkin
 
-       * scripts/vserver.functions:
+2005-06-30 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made 'nodev' work
+       * util-vserver/distrib/redhat/initpost: use CHROOT_SH instead of
+         CHROOT_*
 
-2004-04-20 20:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-06-30 05:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/src, util-vserver/src/.cvsignore,
+         util-vserver/src/Makefile-files, util-vserver/src/chroot-cat.c,
+         util-vserver/src/chroot-rm.c, util-vserver/src/chroot-sh.c:
+         replaced all the small chroot-* programs with a single
+         'chroot-sh'
+         program
 
-       added chain-echo
+2005-05-19 18:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added @NOHUP@
 
-       * src/Makefile-files:
+2005-05-19 18:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chain-echo
+       * util-vserver/scripts/pkgmgmt: use new chroot-cat CLI
 
-2004-04-20 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-19 18:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt.h,
+         util-vserver/kernel/dlimit.h, util-vserver/kernel/dlimit_cmd.h,
+         util-vserver/kernel/inode_cmd.h, util-vserver/kernel/legacy.h,
+         util-vserver/kernel/signal.h, util-vserver/kernel/signal_cmd.h,
+         util-vserver/kernel/xid.h: updated
 
-       use '--defaulttty'
+2005-05-19 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/issupported.c,
+         util-vserver/lib/issupportedstring.c, util-vserver/lib/vserver.h:
+         vc_isSupported() et.al: added VWAIT feature
 
-       * scripts/vserver.stop:
+2005-05-19 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use setDefaultTTY()
+       * util-vserver/m4/ensc_syscall.m4: s!enable_val!enableval!
 
-2004-04-20 20:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-19 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/src/vserver-stat.c: fixed calculation of hours (%24
+         instead of %60); reported in
+         http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13048 by
+         Roman Barczynski
 
-       use setDefaultTTY()
-       added explicit synchronization step for fakeinit with the old methods
+2005-05-19 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chroot-cat.c: added '-i', '-o' and '-a' options
+         to cat or override a file, or to
+         append something
 
-       * scripts/vserver:
+2005-05-19 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added '--defaulttty' option
+       * util-vserver/distrib/redhat/initpost: use safe chroot-cat
+         commands
 
-2004-04-20 20:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-05 19:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/start-vservers:
+       * util-vserver/m4/ensc_dietlibc.m4: - give out a more correct
+         helpstring for the '--enable/disable-dietlibc'
+         option
+         - use AS_HELP_STRING instead of AC_HELP_STRING
 
-       use --defaulttty options instead of setting tty manually
+2005-05-05 18:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 20:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: - removed call to ENSC_FPIC_SYSCALL
+         - enhanced dietlibc version check to the 64 bit version of hppa
 
-       * scripts/functions:
+2005-05-05 09:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       setDefaultTTY(): added
+       * util-vserver/src, util-vserver/src/.cvsignore: added vwait
 
-2004-04-20 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-05 09:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservercfgstyle.c:
+       * util-vserver/src/vwait.c: initial checkin
 
-       * vc_getVserverCfgStyle(): interprete relative ('./') and absolute
-         paths ('/...') as vcCFG_RECENT_FULL only
-       * vc_getVserverCfgStyle(): use utilvserver_isDirectory (fstat(2))
-         instead of access(2) to check for directories
+2005-05-05 09:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vshelper-sync.c: use '__linux__' instead of
+         '__linux' (reported by Ola Lundqvist)
 
-       * ensc_wrappers/wrappers-unistd.hc:
+2005-05-05 09:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Edup(): added
+       * util-vserver/src/exec-cd.c: minor cosmetical cleanup
 
-2004-04-20 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-05 09:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-fcntl.hc:
+       * util-vserver/src/chroot-cat.c: - added support for '--help' and
+         '--version'
+         - added '-a' option to append information instead of truncating
+         the
+         file
 
-       Efcntl(): added
+2005-05-05 09:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: - 'chroot-cat' supports now the
+         '--help' and '--version' options so
+         removed it from AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
+         - added vwait
 
-       * distrib/misc/debootstrap.uri:
+2005-05-05 09:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some entries
+       * util-vserver/m4/install-notify.am: s!^# !## !
 
-2004-04-20 19:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-05 09:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/misc/vunify-exclude:
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall_waitexit-v13.hc,
+         util-vserver/lib/syscall_waitexit.c, util-vserver/lib/vserver.h:
+         vc_wait_exit(): implemented support for this syscall
 
-       updated
+2005-05-02 21:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/compat-pivot_root.h: use <syscall-wrap.h>
 
-       * contrib/manifest.dat.pathsubst,
-         scripts/util-vserver-vars.pathsubst:
+2005-05-02 21:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chain-echo
+       * util-vserver/m4/ensc_syscall.m4: minor cosmetical cleanups
 
-2004-04-20 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-02 21:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chain-echo.c:
+       * util-vserver/m4/ensc_fpicsyscall.m4: obsoleted
 
-       initial checkin
+2005-05-02 21:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 04:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_fpicsyscall.m4: use ENSC_SYSCALL_ALTERNATIVE
 
-       * NEWS, configure.ac:
+2005-05-02 21:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.209
+       * util-vserver/lib/vserver-internal.h: cleaned up '#include
+         <*syscall.h>' stuff
 
-2004-04-15 04:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-02 21:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/lib/syscall-legacy.hc,
+         util-vserver/lib/syscall-wrap.h: include <syscall.h> also
 
-       setFlags(): optimized (nearly state of 1.10)
+2005-05-02 21:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 04:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-xhtml.xsl: use class
+         'directoryname' instead of 'directory' for '<directory/>'
+         markup
 
-       * scripts/vserver.suexec:
+2005-05-02 21:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call chbind when entering vservers
+       * util-vserver/Makefile.am, util-vserver/distrib/Makefile.am,
+         util-vserver/m4/install-notify.am: give out additional
+         information about the 'make install' process
 
-2004-04-15 03:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.207
 
-       call vattribute with '--flag fakeinit' additionally to the '--fakeinit' flag of vcontext
+2005-04-28 18:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 03:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: adjusted dietlibc requirements
 
-       * scripts/functions:
+2005-04-28 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       callInNamespace(): do not accept non-running vservers
+       * util-vserver/src/vcontext.c: allow to override the execution
+         domain (personality); added
+         '--personality-type' and '--personality-flags' options
 
-2004-04-15 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/misc/debootstrap.uri:
+       * util-vserver/src/rpm-fake-resolver.c: added a TEMP_FAILURE_RETRY
+         around a read(2)
 
-       updated
+2005-04-28 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.suexec: added support for a rescue
+         mode
 
-       * src/vcontext.c:
+2005-04-28 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new kernel API (*flags* -> *cflags*, *_context -> ctx_*)
-       fixed '--fakeinit' option
+       * util-vserver/scripts/vserver.functions: *
+         _generatePersonalityOptions(): added and use it
+         * added support for a rescue mode
 
-2004-04-15 01:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/scripts/vserver-build.functions.pkgmgmt:
+         YUM_RELEASEPKGS: added
 
-       fixed another brokeness in CLI option handling
+2005-04-28 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: fixed docu for 'stop' and 'start'
 
-       * scripts/functions:
+2005-04-28 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       lock(): do not execute the pipe; this does not work on 2.6
+       * util-vserver/scripts/pkgmgmt: * verifyInternalPackages(): added
+         * added some sanity checks for a sany environment when
+         internalizing
+         the package management
 
-2004-04-15 01:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/.cvsignore:
+       * util-vserver/scripts/functions: * isRegularFile(): fixed
+         evaluation of params
+         * hasSubstring(): added
+         * getAllVservers(): fixed typo
 
-       added cflags
+2005-04-28 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/sys_clone.h: cleanups; do not include
+         <sys/syscall.h>
 
-       * doc/configuration.xml:
+2005-04-28 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some comments about uts/context
+       * util-vserver/lib_internal/Makefile-files,
+         util-vserver/lib_internal/sys_personality.h: added
+         sys_personality.h
 
-2004-04-15 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration-xhtml.xsl:
+       * util-vserver/scripts/legacy/vserver-copy,
+         util-vserver/scripts/vserver-copy: moved to legacy
 
-       added a new boring stylesheet
+2005-04-28 17:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/Makefile-files,
+         util-vserver/lib/testsuite/personality.c: added testcases for the
+         vc_*personality*() functions
 
-       * doc/configuration.css:
+2005-04-28 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/vserver.h: added prototypes for vc_*personality*
+         support
 
-2004-04-15 01:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/: make-manifest, manifest.dat.pathsubst:
+       * util-vserver/lib/virtual.h: updated to new kernel headers
 
-       added support for '%config(...)' (or whatever) annotations
+2005-04-28 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/cflags_list-v13.c: do not include <string.h>
+         anymore
 
-       * ensc_wrappers/wrappers-vserver.hc,
-         lib_internal/switchtowatchxid.c, src/chcontext.c,
-         src/reducecap.c, src/rpm-fake-resolver.c, src/rpm-fake.c,
-         src/vattribute.c:
+2005-04-28 17:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new kernel API (*flags* -> *cflags*, *_context -> ctx_*)
+       * util-vserver/lib/internal.h: utilvserver_listparser_uint*():
+         removed the 'nonnull' attribute for the 'mask' param
 
-2004-04-15 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/: Makefile-files, util.h:
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/personalityflag.c,
+         util-vserver/lib/personalityflag_list.c,
+         util-vserver/lib/personalitytype.c: added personality* files
 
-       added util-debug.h
+2005-04-28 17:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: * added some markup
+         * documented 'personality'
 
-       * lib_internal/util-debug.h:
+2005-04-28 17:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/doc/configuration-xhtml.xsl,
+         util-vserver/doc/configuration.dtd: added support for <directory>
+         and <filename> markup
 
-2004-04-15 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 17:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * kernel/: context.h, cvirt.h, inode.h, legacy.h, limit.h,
-         namespace.h, network.h, sched.h, switch.h, xid.h:
+       * util-vserver/distrib/fc3/yum/yum.conf:
+         s!redhat-release!fedora-release!
 
-       updated to vs1.90pre9
+2005-04-28 17:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/fc3/pkgs/02: removed 'coreutils'
 
-       * lib/: syscall-compat.hc, vserver.h, testsuite/Makefile-files,
-         testsuite/cflags.c, testsuite/flags.c[DEAD]:
+2005-04-28 17:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new kernel API
-       renamed functions so that they correspond to the new kernel API
+       * util-vserver/distrib/fc3/rpmlist.d/00.lst: added some more
+         packages
 
-2004-04-15 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 17:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: Makefile-files, cflags-compat.c, cflags-v13.c,
-         cflags_list-compat.c, cflags_list-v13.c, flags-compat.c[DEAD],
-         flags-v13.c[DEAD], flags_list-compat.c[DEAD],
-         flags_list-v13.c[DEAD], syscall_createcontext-v13.hc[DEAD],
-         syscall_createcontext.c[DEAD], syscall_ctxcreate-v13.hc,
-         syscall_ctxcreate.c, syscall_ctxmigrate-v13.hc,
-         syscall_ctxmigrate.c, syscall_getcflags-v13.hc,
-         syscall_getcflags.c, syscall_getflags-v13.hc[DEAD],
-         syscall_getflags.c[DEAD], syscall_migratecontext-v13.hc[DEAD],
-         syscall_migratecontext.c[DEAD], syscall_setcflags-v13.hc,
-         syscall_setcflags.c, syscall_setflags-v13.hc[DEAD],
-         syscall_setflags.c[DEAD]:
+       * util-vserver/distrib/fc1/apt/rpmpriorities,
+         util-vserver/distrib/fc2/apt/rpmpriorities,
+         util-vserver/distrib/fc3/apt/rpmpriorities,
+         util-vserver/distrib/rh9/apt/rpmpriorities: added *-release
+         packages
 
-       renamed files so that their names are corresponding the kernel
-       API. Especially, *_context was renamed to ctx_*, and *flags* to
-       *cflags*.
+2005-04-28 17:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-13 10:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/scripts/Makefile-files: moved vserver-copy to legacy
 
-       * scripts/functions:
+2005-04-28 17:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       further locking fixes
+       * util-vserver/Makefile.am: added new kernel headers
 
-2004-04-13 10:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 11:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/lockfile.c:
+       * util-vserver/kernel/context.h, util-vserver/kernel/context_cmd.h,
+         util-vserver/kernel/cvirt.h, util-vserver/kernel/cvirt_cmd.h,
+         util-vserver/kernel/cvirt_def.h, util-vserver/kernel/debug.h,
+         util-vserver/kernel/debug_cmd.h, util-vserver/kernel/dlimit.h,
+         util-vserver/kernel/dlimit_cmd.h, util-vserver/kernel/inode.h,
+         util-vserver/kernel/inode_cmd.h, util-vserver/kernel/legacy.h,
+         util-vserver/kernel/limit.h, util-vserver/kernel/limit_cmd.h,
+         util-vserver/kernel/limit_def.h, util-vserver/kernel/namespace.h,
+         util-vserver/kernel/network.h, util-vserver/kernel/network_cmd.h,
+         util-vserver/kernel/sched.h, util-vserver/kernel/sched_cmd.h,
+         util-vserver/kernel/sched_def.h, util-vserver/kernel/switch.h,
+         util-vserver/kernel/xid.h: updated to headers from
+         patch-2.6.11.7-vs2.0-pre2
 
-       propagate errors
+2005-04-24 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-13 10:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: showContexts(): added 'const'
+         qualifier
 
-       * src/chroot-rm.c:
+2005-04-24 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
+       * util-vserver/scripts/start-vservers,
+         util-vserver/scripts/vsomething: use the new getAllVservers()
+         functionality to specify special kinds of
+         vservers
 
-2004-04-13 10:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-24 20:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/scripts/functions: * isRegularFile(): allow to
+         override the '-f' classifier
+         * getAllVservers(): added several types of vservers (marked,
+         unmarked,
+         running...)
+         * getAllVserversByArg()" added
 
-       open FD 0
-       evaluate CLI options depending on used kernel API
+2005-04-24 20:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-13 10:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_dietlibc_compat.m4: *
+         ENSC_DIETLIBC_NEED_COMPAT: use the 'syscall-wrap.h' header and
+         the
+         results from ENSC_SYSCALL_ALTERNATIVE
 
-       * scripts/functions:
+2005-04-24 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new locking mechanism
+       * util-vserver/m4/ensc_syscall.m4: * ENSC_SYSCALL_ALTERNATIVE:
+         added
+         * ENSC_SYSCALL: use the 'syscall-wrap.h' header and the results
+         from
+         ENSC_SYSCALL_ALTERNATIVE
 
-2004-04-13 10:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-24 20:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: issupported.c, issupportedstring.c, vserver.h:
+       * util-vserver/lib/vserver-internal.h,
+         util-vserver/lib_internal/sys_clone.h: include "syscall-wrap.h"
 
-       added VSHELPER0 feature
+2005-04-24 20:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-08 10:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/ncaps-net.c, util-vserver/lib/nflags-net.c:
+         VALUES: added an empty field to make it compile with gcc4
 
-       * scripts/vserver.functions:
+2005-04-24 20:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       execScriptlets(): fixed initialization of 'start'
-       execScriptlets(): declare some variables as readonly
-       _sourceWrap(): added some variables
+       * util-vserver/lib/bcaps_list-v13.c,
+         util-vserver/lib/ccaps_list-v13.c,
+         util-vserver/lib/cflags_list-v13.c,
+         util-vserver/lib/ncaps_list-net.c,
+         util-vserver/lib/nflags_list-net.c: made it compatible to the new
+         utilvserver_listparser_uint*() API and
+         added wrappers with a third 'bool *' arg
 
-2004-04-08 08:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-24 20:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/lib/listparser.hc: * parser function has now to set
+         a 'bool *' arg to signal errors
+         * when 'mask' argument is null, the special modifiers like '~',
+         '!' or
+         'any' are not allowed
 
-       implemented support for default-scriptlets (inspired by ideas of
-       Olivier Poitrey)
+2005-04-24 20:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-08 08:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/internal.h: utilvserver_listparser_uint*():
+         added a third 'bool *' arg for the
+         parser function so that errors can be better propagated
 
-       * scripts/: rootshell, vapt-get-worker, vprocunhide, vrpm,
-         vrpm-worker, vserver-build, vshelper:
+2005-04-24 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give more verbose error-messages
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall-alternative.h,
+         util-vserver/lib/syscall-wrap.h: added syscall-alternative.h and
+         syscall-wrap.h
 
-2004-04-08 08:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-24 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall.c:
+       * util-vserver/update-doc: exclude some static files
 
-       added link-warning for vc_new_s_context()
+2005-04-24 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-08 08:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: remove config.cache when CLEAN is set
+         disabled gcc33 build
 
-       * doc/configuration.xml:
+2005-04-24 11:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added general description for the scripts and documented
-       $DONT_SKIP_DEFAULTS
+       * util-vserver/doc/configuration-xhtml.xsl,
+         util-vserver/doc/configuration.dtd,
+         util-vserver/doc/configuration.xml: added new markup
+         added new CSS from Nicolas Costes
 
-2004-04-08 08:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-16 21:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h:
+       * util-vserver/configure.ac: cleanups
+         added '--disable-extra-optimizations' option
 
-       LINK_WARNING(): added
+2005-04-16 21:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-07 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.functions.apt,
+         util-vserver/scripts/vserver-build.functions.rpm,
+         util-vserver/scripts/vserver-build.functions.yum,
+         util-vserver/scripts/vserver.functions: use the common
+         isRegularFile() method to filter out backup-files
 
-       * scripts/chcontext, scripts/pkgmgmt, scripts/start-vservers,
-         scripts/vapt-get, scripts/vpkg, scripts/vpstree,
-         scripts/vrpm-preload, scripts/vserver, scripts/vserver-copy,
-         scripts/vserver-wrapper, scripts/vservers.grabinfo.sh,
-         scripts/vsysvwrapper, scripts/vtop, scripts/legacy/distrib-info,
-         scripts/legacy/vserver, sysv/rebootmgr, sysv/vprocunhide,
-         sysv/vservers-legacy:
+2005-04-16 21:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give more comprehensive error-message
+       * util-vserver/scripts/functions: isRegularFile(): added
 
-2004-04-07 01:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-16 21:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vps.c, vserver-info.c, vserver-stat.c:
+       * util-vserver/util-vserver.spec.in: cleanups
+         added changelog entry for 0.30.206
 
-       use switchToWatchXid()
+2005-04-12 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-07 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.206
 
-       * src/Makefile-files:
+2005-04-12 21:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       link some files against libinternal.a
+       * util-vserver/src/vserver-info.c: implemented VERIFYPROC method
 
-2004-04-07 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-12 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util.h:
+       * util-vserver/scripts/vserver.functions: added verify-proc sanity
+         check
 
-       switchToWatchXid(): added prototype
+2005-04-12 21:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-07 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: killContext(): commented out the
+         more correct
+         (but not working) kill-sequence
 
-       * lib_internal/switchtowatchxid.c:
+2005-04-12 21:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/util-vserver.spec.in: ship the yum patches
 
-2004-04-07 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-12 21:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/Makefile-files:
+       * util-vserver/Makefile.am: added '--no-wrap -S' to the
+         CVS2CL_AMFLAGS
 
-       added switchtowatchxid.c
+2005-04-12 19:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-07 00:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: adjusted min-dietlibc requirements
 
-       * lib/vserver.h:
+2005-04-12 19:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       VC_ATTR_DEPRECATED: added
+       * util-vserver/m4/ensc_dietlibc.m4: ENSC_ENABLE_DIETLIBC(): allow
+         'min_ver' to be a shell variable
 
-2004-04-07 00:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-12 18:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall-compat.hc:
+       * util-vserver/scripts/functions: vshelper.isDebug(): fixed logic
 
-       vc_chrootsafe_compat(): removed
+2005-04-10 12:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: send the signals for endgrent() and
+         endpwent()
 
-       * src/vunify.c:
+2005-04-10 12:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new MatchList_compare() interface
+       * util-vserver/contrib/Makefile-files,
+         util-vserver/contrib/yum-2.2.1-chroot.patch,
+         util-vserver/contrib/yum-2.3.2-chroot.patch: added patches for
+         yum
 
-2004-04-06 10:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-10 12:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-stat.c:
+       * util-vserver/Makefile.am: include m4/libsel.am
 
-       started support for HZ!=100
-       cleanups
+2005-04-10 01:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/context-sync.hc: ignore errors during setsid(2)
+         execution (required for vs1.9.5.12+)
 
-       * src/vcopy.c:
+2005-04-10 01:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implement support for SKIP files
+       * util-vserver/scripts/vshelper: * kill vserver processes
+         explicitly with 'killContext'; userspace
+         reboot helper may assume that 'reboot(2)' never returns...
+         * added 'async' method
 
-2004-04-06 10:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-10 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: rpm-fake-resolver.c, rpm-fake.c:
+       * util-vserver/scripts/vserver.stop: implicate '--sync' option; it
+         is not possible to stop asynchronously
+         send SIGINT to pid 1 instead of trying to determine initpid
 
-       do not call vc_new_s_context() when COMPAT API is not available
+2005-04-10 00:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: use 'killContext()'
+         instead of invoking 'vkill' manually
+         set an initial runlevel for 'minit' style also
+         set 'async' vshelper method for non-sync mode
 
-       * scripts/functions:
+2005-04-10 00:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
-       vshelper.doInit(): added another sanity check
+       * util-vserver/scripts/vprocunhide: fixed missing quoting of '~';
+         this may cause very slow booting when
+         NIS/LDAP servers are local vservers as bash tries to expand this
+         to a
+         homedir...
 
-2004-04-06 10:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-10 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/: matchlist-appendfiles.c, matchlist-compare.c,
-         matchlist.h:
+       * util-vserver/scripts/functions: spawn(), killContext(): added
 
-       implemented support for SKIP (~) files
+2005-04-10 00:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/libsel.am: initial checkin
 
-       * lib/testsuite/flags.c:
+2005-04-10 00:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added tests for new flags
+       * util-vserver/m4/ensc_dietlibc.m4: use a more modern version which
+         accepts 'DIET' and 'DIETFLAGS' as
+         global configure variables
 
-2004-04-06 10:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-10 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/m4/ensc_cxxcompiler.m4: fixed typo
 
-       updated VC_VXF_* constants
-       added VC_VXC_* constants
+2005-04-10 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: defined ENSC_USE_DIETLIBC +
+         ENSC_USE_GLIBC
 
-       * lib/flags-v13.c:
+2005-04-10 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added/updated flaglist
+       * util-vserver/Makefile.am: removed 'DIET' and 'DIETFLAGS'
+         variables; they are set by configure now
 
-2004-04-06 10:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-08 19:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/ccaps-v13.c:
+       * util-vserver/scripts/vyum-worker: added better test for patched
+         yum
 
-       added ccap names
+2005-04-08 19:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: fixed typo
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2005-04-08 19:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
+       * util-vserver/scripts/vserver.suexec: fixed typo (reported by Paul
+         S. Gumerman)
 
-2004-04-06 10:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-08 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/misc/vunify-exclude:
+       * util-vserver/scripts/vserver-build.functions.yum: substitute
+         @YUMLOCKDIR@
 
-       exclude keyfiles completely
-       made some big files in /etc canditates for unify
+2005-04-08 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/chcontext: fixed operation when context was
+         not specified
 
-       * kernel/: context.h, inode.h, legacy.h, limit.h, namespace.h,
-         sched.h, signal.h, xid.h:
+2005-04-08 19:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to 2.6.5-vs1.9.0pre4
+       * util-vserver/distrib/redhat/initpre: reverted the patch adding
+         '/usr/X11'
+         create '/sbin/new-kernel-pkg'; 'initpost' would be too late for
+         FC4
 
-2004-03-31 05:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-08 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/lockfile.c:
+       * util-vserver/distrib/redhat/initpost: use 'ln -sf' instead of 'ln
+         -s'
 
-       optimized some things
-       now check, if getppid()==original_parent instead of getppid()!=1 (might make a difference in vservers)
+2005-04-08 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-31 05:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/fc3/yum/yum.conf: add 'lockfile'
 
-       * scripts/functions:
+2005-04-08 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some doc
-       s!_UV_LOCKS!_VS_LOCKS!
+       * util-vserver/distrib/Makefile.am: added 'fc3' to 'redhat_style'
 
-2004-03-31 02:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-08 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/lockfile.c:
+       * util-vserver/Makefile.am: use DIETFLAGS instead of DIET_FLAGS
 
-       fixed '--help' output
+2005-03-29 02:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-31 02:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector/Makefile-files: use $(LIBENSCVECTOR)
+         instead of libensc_vector.a
 
-       * contrib/manifest.dat.pathsubst, src/.cvsignore:
+2005-03-25 21:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lockfile
+       * util-vserver/scripts/vserver.stop: fixed typo
 
-2004-03-31 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-25 17:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/lockfile.c:
+       * util-vserver/scripts/vserver.functions: minor cleanups: call
+         vkill with '--xid' instead of '-c'
 
-       initial checkin
+2005-03-25 16:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-31 02:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop: address both the context and
+         the pid when sending SIGINT to init
 
-       * src/Makefile-files:
+2005-03-25 02:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lockfile
+       * util-vserver/lib_internal/testsuite/copy-check: do not use '-s'
+         with 'cmp' but display verbose error reason
 
-2004-03-31 02:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-25 02:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/lib_internal/switchtowatchxid.c: simplified it and
+         made it work with recent kernels
 
-       enableInterfaces(), disableInterfaces(): added locking
-       enableInterfaces(), disableInterfaces(): added IP_ADDR_FLUSH type
+2005-03-25 02:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-31 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-xhtml.xsl: use 'alternate
+         stylesheet' instead of 'stylesheet' (reported by Herbert
+         Poetzl)
 
-       * scripts/util-vserver-vars.pathsubst:
+2005-03-25 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       $_LOCKFILE, $LOCKDIR: added
+       * util-vserver/util-vserver.spec.in: fixed quoting of % in
+         %description
 
-2004-03-31 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 14:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/Makefile.am, util-vserver/REQUIREMENTS: added
+         REQUIREMENTS
 
-       lock(),unlock(): added
-       isNumber(): added doc
+2005-03-24 13:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-30 22:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac,
+         util-vserver/util-vserver.spec.in: version 0.30.205
 
-       * scripts/vserver.functions:
+2005-03-24 13:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made it work...
+       * util-vserver/util-vserver.spec.in: added some %descriptions
 
-2004-03-30 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 12:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/vhashify.c: s!write()!Vwrite()! at some places
+         add 'volatile' qualifier at variables used around 'setjmp'
+         use sigsetjmp() instead of setjmp()
+         minor code cleanups
 
-       isNumber(): fixed '0' case
+2005-03-24 12:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-30 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: s!write()!Vwrite()! at some
+         places
+         use Echdir() instead of chdir()
 
-       * scripts/vserver.functions:
+2005-03-24 12:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented parts of Liam Helmer's dummy-interface method
+       * util-vserver/src/filetime.c, util-vserver/src/lsxid.c,
+         util-vserver/src/readlink.c, util-vserver/src/reducecap.c,
+         util-vserver/src/showattr.c, util-vserver/src/vattribute.c,
+         util-vserver/src/vcontext.c, util-vserver/src/vcopy.c,
+         util-vserver/src/vdlimit.c, util-vserver/src/vlimit.c,
+         util-vserver/src/vps.c, util-vserver/src/vserver-stat.c,
+         util-vserver/src/vuname.c, util-vserver/src/vunify.c,
+         util-vserver/vserver-start/interface-read.c: s!write()!Vwrite()!
+         at some places
 
-2004-03-30 21:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 12:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/lib_internal/testsuite/sigbus.c: use Etruncate()
+         instead of truncate()
 
-       isNumber(): added
+2005-03-24 12:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-30 20:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite/copy-check: added new tests
+         and better diagnostic
 
-       * Makefile.am, configure.ac, scripts/util-vserver-vars.pathsubst:
+2005-03-24 12:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added substitutions/tests for iptables, modprobe, rmmod and nameif
-       (required for Liam Helmer's dummy-interfaces)
+       * util-vserver/lib_internal/unify-copy.c: moved 'volatile'
+         qualifiers to a better place
+         minor code cleanups
 
-2004-03-30 19:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 12:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vshelper-sync.c:
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc: E*truncate():
+         added
 
-       implemented it with select() instead of alarm(); races are much nicer to handle
+2005-03-24 12:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-30 18:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector/testsuite/test2.c: #undef NDEBUG
 
-       * src/vshelper-sync.c:
+2005-03-24 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use sigaction() instead of signal() to remove SA_RESTART flag explicitly
+       * util-vserver/lib_internal/testsuite/sigbus.c: unlink temporary
+         files on exit
 
-2004-03-30 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 00:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/pipe-sync.c[DEAD]:
+       * util-vserver/lib_internal/unify-unify.c: Unify_unify(): block
+         signals while executing the non-atomic operations
 
-       obsoleted by vshelper-sync
+2005-03-24 00:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-30 17:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vhashify.c: optimized directory creation
 
-       * kernel/: context.h, cvirt.h, limit.h, network.h, sched.h,
-         switch.h:
+2005-03-24 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated from vs0.09.28
+       * util-vserver/lib_internal/unify-copy.c: prepared for sigbus
+         testcase
+         added some 'volatile' modifiers
+         use siglongjmp() instead of longjmp()
 
-2004-03-30 17:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 00:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst, src/Makefile-files:
+       * util-vserver/lib_internal/matchvserverinfo-init.c: minor code
+         cleanups
 
-       removed pipe-sync
+2005-03-24 00:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-27 05:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore,
+         util-vserver/lib_internal/testsuite/Makefile-files,
+         util-vserver/lib_internal/testsuite/sigbus.c: added sigbus
+         testcase
 
-       * NEWS, configure.ac:
+2005-03-23 02:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.207
+       * util-vserver/ensc_vector/testsuite,
+         util-vserver/ensc_vector/testsuite/.cvsignore: updated
 
-2004-03-26 10:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-23 02:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/src/vhashify-init.hc, util-vserver/src/vhashify.c:
+         added lots of new code...
 
-       use 'findObject -e' instead of 'findFile' to find /dev/null also
+2005-03-23 02:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 10:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: is_selinux_enabled(): added
 
-       * scripts/vserver.start:
+2005-03-23 02:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed call of vshelper.isEnabled
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.rpm,
+         util-vserver/scripts/vserver-build.yum: execute '--initdb' before
+         importing pubkeys
+         import pubkeys from /etc/vservers/.distributions/.common/pubkeys
+         also
 
-2004-03-26 10:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-23 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/scripts/vserver: added 'hashify' target
 
-       fixed some typos
+2005-03-23 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 10:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_VHASHIFY
 
-       * doc/configuration.xml:
+2005-03-23 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented apps/vshelper/logfile symlink
+       * util-vserver/lib_internal/matchlist-initrefserverlist.c: fixed
+         initialization of 'vserver'
 
-2004-03-26 10:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-23 02:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/distrib/Makefile.am: create
+         /etc/.../.distributions/.common/pubkeys/
+         create /etc/.../.defaults/apps/vunify/hash
 
-       ignore 'restart2' event; this seems to be issued at vserver *start*
-       added support for a logfile
-       enable logfile-logging when invoked from kernel (no tty)
+2005-03-23 02:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 09:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: copy GPG keys from the system
+         into the confdir
+         buildrequire dietlibc-0.25
 
-       * scripts/util-vserver-vars.pathsubst:
+2005-03-23 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed order of variables
-       fixed _VSHELPER path
+       * util-vserver/build-all: build with debug settings
 
-2004-03-26 09:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-22 15:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/src/rpm-fake.c: honor return codes of read(2) and
+         write(2) when communication with the rpm-fake-helper
+         call read(2) and write(2) through TEMP_FAILURE_RETRY()
+         use Vwrite() instead of write(2) at some places
 
-       fixed vshelper path
-       added vshelper-sync
+2005-03-22 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 09:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/command-exec.c: call write(2) through
+         TEMP_FAILURE_RETRY()
 
-       * util-vserver.spec.in:
+2005-03-22 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some Requires:
-       own  %dir /var/run/vshelper
+       * util-vserver/util-vserver.spec.in: BuildRequire beecrypt-devel
 
-2004-03-26 09:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-22 15:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/src/chcontext.c, util-vserver/src/vhashify.c:
+         workaround warning messages regarding 'warn_unused_return_value'
+         when
+         using _FORTIFY_SOURCE.
 
-       added substition for @VSHELPERSTATEDIR@
-       minor cosmetical cleanups
+2005-03-22 14:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvservervdir.c,
+         util-vserver/lib_internal/coreassert.h,
+         util-vserver/lib_internal/matchlist-initmanually.c,
+         util-vserver/lib_internal/matchlist-printid.c,
+         util-vserver/lib_internal/util-exitlikeprocess.c,
+         util-vserver/lib_internal/util-io.h: workaround warning messages
+         regarding 'warn_unused_return_value' when
+         using _FORTIFY_SOURCE.
 
-       * src/.cvsignore:
+2005-03-22 14:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vshelper-sync
+       * util-vserver/contrib/manifest.dat.pathsubst: added vhashify +
+         vdlimit
 
-2004-03-26 08:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-22 14:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vshelper-sync.c:
+       * util-vserver/util-vserver.spec.in: cleanups
+         use %global instead of %define
 
-       initial checkin
+2005-03-22 14:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: set _FORTIFY_SOURCE
 
-       * src/vserver-info.c:
+2005-03-19 03:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added tgID and tgPXID support
-       - accept 'true' as boolean value
-       - optimized the code a little bit so that the xid will be looked up
-         only when really needed
+       * util-vserver, util-vserver/.cvsignore: updated
 
-2004-03-26 08:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vps.c:
+       * util-vserver, util-vserver/.cvsignore: updated
 
-       in output, added a ' ' on overlong vserver-names
+2005-03-19 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/update-doc: initial checkin
 
-       * src/secure-mount.c:
+2005-03-19 02:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rewrote some parts to cope better with '-o' options (required for -bme
-       patches to work)
+       * util-vserver/scripts/chcontext: do not use '--create' for dynamic
+         contexts
 
-2004-03-26 08:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/distrib/apps: removed...
 
-       added vshelper-sync
+2005-03-19 02:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/apps, util-vserver/distrib/apps/vshelper,
+         util-vserver/distrib/apps/vshelper/action: added to be removed...
 
-       * scripts/vshelper:
+2005-03-19 02:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/distrib/redhat/initsignal,
+         util-vserver/src/testsuite/data/vserver1,
+         util-vserver/src/testsuite/data/vserver2,
+         util-vserver/src/testsuite/vuname, util-vserver/sysv/vkillall,
+         util-vserver/tests/attack.spec, util-vserver/tests/ulimit:
+         obsoleted
 
-2004-03-26 08:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.stop:
+       * util-vserver/src/testsuite/data/vserver1,
+         util-vserver/src/testsuite/data/vserver1/apps,
+         util-vserver/src/testsuite/data/vserver1/apps/pkgmgmt,
+         util-vserver/src/testsuite/data/vserver1/apps/pkgmgmt/style,
+         util-vserver/src/testsuite/data/vserver1/apps/vunify,
+         util-vserver/src/testsuite/data/vserver1/apps/vunify/exclude,
+         util-vserver/src/testsuite/data/vserver2,
+         util-vserver/src/testsuite/data/vserver2/apps,
+         util-vserver/src/testsuite/data/vserver2/apps/vunify,
+         util-vserver/src/testsuite/data/vserver2/apps/vunify/exclude,
+         util-vserver/src/testsuite/vuname,
+         util-vserver/src/testsuite/vuname/nodename,
+         util-vserver/sysv/vkillall, util-vserver/tests/attack.spec,
+         util-vserver/tests/ulimit, util-vserver/tests/ulimit/cpu: added
+         to be removed...
 
-       added VSHELPER & synchronization code
+2005-03-19 02:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat/initsignal: added to be removed
+         soon...
 
-       * scripts/vserver.start:
+2005-03-19 02:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added documentation about failure reasons
-       added VSHELPER code
+       * util-vserver/src/vnet.c: obsoleted...
 
-2004-03-26 08:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/doc/vunify-verbosity.txt,
+         util-vserver/lib/apidoc/list2xxx.descr, util-vserver/scripts/X,
+         util-vserver/src/vnet.c: initial checkin
 
-       adapted code to new getFileArray() behavior
-       added VSHELPER support
-       added "LEGACY ALERT" messages
-       initSync(),waitForSync(): added
+2005-03-19 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/vserver-start/interface-add.c,
+         util-vserver/vserver-start/interface-print.c,
+         util-vserver/vserver-start/interface-remove.c,
+         util-vserver/vserver-start/main.c: avoid warnings regarding
+         unused params
 
-       * scripts/vserver-setup.functions:
+2005-03-19 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added a "LEGACY ALERT"
+       * util-vserver/src/Makefile-files: moved vdlimit into the only-C99
+         section
+         build vhashify only with C99 and beecrypt
+         cleanups
 
-2004-03-26 08:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build:
+       * util-vserver/lib_internal/testsuite/copy-check: cleanups
+         conditionalize expensive tests
 
-       fixed code to work with new behavior of getFileArray
+2005-03-19 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib_internal/Makefile-files: moved *dlimit* files
+         into the only-C99 section
+         clean all potentially built libraries
 
-       * scripts/util-vserver-vars.pathsubst:
+2005-03-19 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some missing variables
-       added the vshelper variables
+       * util-vserver/ensc_vector/list-free.c: some minor C89
+         compatibility changes
 
-2004-03-26 08:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/pkgmgmt:
+       * util-vserver/ensc_vector/Makefile-files: use
+         'lib-dietlibc-not-enabled-error.a' consistently
+         clean all libraries inclusive those which might not be built
 
-       use pkgmgmt.isAptAvailable()
+2005-03-19 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.dtd: readded
 
-       * scripts/functions:
+2005-03-19 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       logging(),warning(),panic(),execute(): added
-       pkgmgmt.isAptAvailable(): added
-       vshelper.*(): added
-       getFileArray(): fail, when file does not exist
+       * util-vserver/doc/configuration.xml: documented the 'vhashify'
+         configuration
+         moved '<default>' tags before '<description>'
 
-2004-03-26 08:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/doc/configuration-xhtml.xsl: applied changes
+         regarding the new www-location on savannah
 
-       added vshelper
+2005-03-19 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/Makefile-files: (re)added xsltproc support
 
-       * lib/vserver.h:
+2005-03-19 01:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - minor cleanups
-       - added vcFEATURE_VSHELPER
-       - vc_isSupported(): annotated it
-       - vc_get_insecurecaps(): moved it into an own file; CAP_SYS_BOOT
-         requires a special handling so inlining is not really usefully
-         anymore
+       * util-vserver/configure.ac: added tests for XSLTPROC
+         added '--disable-expensive-tests'
+         added beecrypt tests
+         cosmetical cleanups + enhancements
 
-2004-03-26 08:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 01:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: issupported.c, issupportedstring.c:
+       * util-vserver/Makefile.am: set some values in TESTS_ENVIRONMENT
+         added some hacks for lib-dietlibc-not-enabled-error.a
 
-       added VSHELPER
+2005-03-18 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore: updated
 
-       * lib/Makefile-files:
+2005-03-18 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added getinsecurecaps.c
+       * util-vserver/lib_internal/unify.h, util-vserver/src/vunify.h:
+         include <sys/stat.h> instead of defining a 'struct stat'; this
+         prevents
+         problems with the 64bit interface of the filesystem functions
 
-2004-03-26 08:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getinsecurecaps.c:
+       * util-vserver/lib_internal/unify-copy.c: use a sparse-file
+         friendly method for copying files
 
-       initial checkin
+2005-03-18 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite/Makefile-files,
+         util-vserver/lib_internal/testsuite/copy-check,
+         util-vserver/lib_internal/testsuite/copy.c: added testcases for
+         Unify_copy()
 
-       * doc/configuration.xml:
+2005-03-18 00:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented the vshelper stuff
+       * util-vserver/vserver-start/Makefile-files: use $(LIBENSCVECTOR)
+         instead of libensc_vector.a
 
-2004-03-26 08:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.dtd:
+       * util-vserver/src/vhashify-init.hc, util-vserver/src/vhashify.c,
+         util-vserver/src/vhashify.h: made it work...
 
-       added a type for 'script'
+2005-03-18 00:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcopy-init.hc, util-vserver/src/vunify-init.hc:
+         applied changes in the MatchList-API
 
-       * distrib/Makefile.am:
+2005-03-18 00:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups in the directory creation rules
+       * util-vserver/src/Makefile-files: use $(LIBENSCVECTOR) instead of
+         libensc_vector.a
+         use $(LIBVSERVER_GLIBC) instead of lib/libvserver.la
 
-2004-03-26 08:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/scripts/vpkg: exit with returncode of '2' when
+         pkgmgmt can not be determined
 
-       added vshelper
+2005-03-18 00:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite/Makefile-files: use
+         $(LIBENSCVECTOR) instead of libensc_vector.a
 
-       * util-vserver.spec.in:
+2005-03-18 00:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'install-distribution' instead of 'install-vserverdir'
-       added vshelper stuff
+       * util-vserver/lib_internal/unify-isiunlinkable.c,
+         util-vserver/lib_internal/unify.h: Unify_isIUnlinkable(): changed
+         return-type
 
-2004-03-26 08:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/lib_internal/unify-copy.c: implemented copyReg()
+         with mmap(2) instead of read(2)+write(2) sequences
 
-       cleanups and enhancements in the directory installation rules
+2005-03-18 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 06:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/string.hc: String_free(): added
 
-       * NEWS:
+2005-03-18 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.205
+       * util-vserver/lib_internal/string.h: renamed String_destroy() to
+         String_free()
 
-2004-03-24 06:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/lib_internal/string-destroy.c: obsoleted;
+         String_free() is now inlined
 
-       fixed LDADD flags for capchroot
+2005-03-18 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 06:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/matchlist-initbyvserver.c,
+         util-vserver/lib_internal/matchlist-initmanually.c,
+         util-vserver/lib_internal/matchlist-initrefserverlist.c,
+         util-vserver/lib_internal/matchlist.h: applied lot of API changes
 
-       * src/vsched.c:
+2005-03-18 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       enhanced the in-chain operation; make it a noop when called without opts
-       enhanced error messages
+       * util-vserver/lib_internal/matchlist-destroy.c: use String_free()
+         instead of String_destroy()
 
-2004-03-24 06:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: util-vserver-vars.pathsubst, vserver.functions,
-         vserver.start:
+       * util-vserver/lib_internal/Makefile-files: added
+         matchvserverinfo-*
+         removed string-destroy.c
 
-       added scheduler support
+2005-03-18 00:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 06:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/matchvserverinfo-free.c,
+         util-vserver/lib_internal/matchvserverinfo-init.c: initial
+         checkin
 
-       * doc/configuration.xml:
+2005-03-18 00:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added basic documentation for bcapabilities, ccapabilities and schedule
+       * util-vserver/ensc_vector/Makefile-files,
+         util-vserver/lib/Makefile-files: split into a -glibc and a -diet
+         part
 
-2004-03-24 05:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h, src/chcontext.c, src/reducecap.c, src/rpm-fake.c,
-         src/vattribute.c, src/vps.c:
+       * util-vserver/ensc_vector/testsuite/Makefile-files,
+         util-vserver/lib/testsuite/Makefile-files: use $(LIBENSCVECTOR)
+         instead of libensc_vector.a
 
-       renamed vc_get_securecaps() to vc_get_insecurecaps()
+2005-03-18 00:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: HACK: set 'enable_static=no' for
+         dietlibc case and postpone AC_PROG_LIBTOOL execution
 
-       * scripts/vserver.start:
+2005-03-18 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing '\'
+       * util-vserver/Makefile.am: use $(LIBVSERVER) instead of
+         lib/libvserver.la
+         use $(LIBENSCVECTOR_DIET) instead of $(ENSC_VECTOR_LIBS)
 
-2004-03-24 05:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-17 14:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vattribute.c, vcontext.c, vlimit.c, vnamespace.c,
-         vserver-info.c, vuname.c:
+       * util-vserver/build-all, util-vserver/src,
+         util-vserver/src/.cvsignore: updated
 
-       use vc_xidopt2xid()
+2005-03-17 14:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vunify.c: use new Unify_unify() API
+         rearranged some code; I do not try to be C89 compliant in C99
+         progams anymore...
 
-       * src/: chcontext.c, vkill.c, vsched.c:
+2005-03-17 14:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       prefer '--xid' instead of '--ctx'
-       use vc_xidopt2xid()
+       * util-vserver/src/vcopy.c: use new Unify_unify() API
 
-2004-03-24 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-17 14:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/src/vhashify-init.hc, util-vserver/src/vhashify.c,
+         util-vserver/src/vhashify.h: initial checkin
 
-       added support for $VSERVER_EXTRA_CMDS[] which can be set in userscripts
+2005-03-17 14:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: use $(LIBINTERNAL) instead of
+         lib_internal/libinternal.a
+         added vhashify*
 
-       * scripts/vserver-build.debootstrap:
+2005-03-17 14:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call 'wget' with '-nv' instead of '-q'
+       * util-vserver/lib_internal/testsuite/Makefile-files,
+         util-vserver/src/testsuite/Makefile-files,
+         util-vserver/vserver-start/Makefile-files: use $(LIBINTERNAL)
+         instead of lib_internal/libinternal.a
 
-2004-03-24 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-17 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/lib_internal/unify.h: * added an 'ignore_zero'
+         argument to Unify_unify()
+         * Unify_isIUnlinkable(): added
 
-       vc_xidopt2xid(): added prototype
+2005-03-17 14:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/unify-unify.c: added an 'ignore_zero'
+         argument to Unify_unify()
 
-       * lib/Makefile-files:
+2005-03-17 14:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added xidopt2xid.c
+       * util-vserver/ensc_vector/list-add.c,
+         util-vserver/ensc_vector/list-at.c,
+         util-vserver/ensc_vector/list-free.c,
+         util-vserver/ensc_vector/list-init.c,
+         util-vserver/ensc_vector/list-insertinternal.c,
+         util-vserver/ensc_vector/list-internal.h,
+         util-vserver/ensc_vector/list-search.c,
+         util-vserver/ensc_vector/list-searchselforg.c,
+         util-vserver/ensc_vector/list.h,
+         util-vserver/ensc_vector/list.hc,
+         util-vserver/ensc_vector/testsuite/test2.c,
+         util-vserver/ensc_vector/vector-searchselforg.c,
+         util-vserver/lib_internal/unify-isiunlinkable.c: initial checkin
 
-2004-03-24 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-17 14:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/xidopt2xid.c:
+       * util-vserver/lib_internal/Makefile-files: * create both
+         libinternal-diet.a and libinternal-glibc.a. This is
+         needed to avoid segfaults with gcc4 when linking against glibc
+         based
+         libraries like 'beecrypt'. Perhaps, these segfaults are a problem
+         with gcc4 as they do not happen with gcc33...
+         
+         * added unify-isiunlinkable.c
 
-       initial checkin
+2005-03-17 14:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector/testsuite/test1.c: added tests for
+         Vector_searchSelfOrg()
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2005-03-17 14:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Evc_xidopt2xid(): added
+       * util-vserver/ensc_vector/testsuite/Makefile-files: added test2
 
-2004-03-24 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-17 14:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/misc/debootstrap.uri:
+       * util-vserver/ensc_vector/vector.h,
+         util-vserver/ensc_vector/vector.hc: Vector_searchSelfOrg*():
+         added
 
-       updated to recent version
+2005-03-17 14:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector/Makefile-files: added list-* files
+         added vector-searchselforg.c
 
-       * util-vserver.spec.in:
+2005-03-17 14:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed Requires()
-       fixed some %dir's
+       * util-vserver/ensc_fmt/fmt.h, util-vserver/ensc_fmt/fmtx-32.c:
+         fixed declaration of the *_x*int() methods; they do not take a
+         'base' argument
 
-2004-03-24 02:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-09 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/src/vserver-info.c: added XIDTYPE support
 
-       cleaned up CLI: '--xid' is supported now, removed '-h' and '-v' options
-       minor cleanups
+2005-03-09 14:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/context-sync.hc: use EopenD() instead of Eopen()
 
-       * sysv/vservers-legacy:
+2005-03-09 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/m4/ensc_initrddir.m4: fixed typo
 
-2004-03-24 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-09 14:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/: rebootmgr, rebootmgr.subst[DEAD]:
+       * util-vserver/lib/vserver.h: vc_getXIDType(): added
 
-       'rebootmgr' is now a src-script
+2005-03-09 14:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver-internal.h: added some magic to avoid
+         warnings with gcc4
 
-       * sysv/Makefile-files:
+2005-03-09 14:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       'rebootmgr' is now a src-script
-       added vservers-legacy
+       * util-vserver/lib/Makefile-files, util-vserver/lib/getxidtype.c:
+         added getxidtype.c
 
-2004-03-24 02:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-09 14:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vattribute.c:
+       * util-vserver/distrib/redhat/initpre: create /usr/X11 also
 
-       initialize 'bmask' member of struct vc_ctx_caps
-       use negative logic of --bcap (this should be the 'old' behavior of '--cap')
+2005-03-09 14:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am, util-vserver/distrib/fc3/apt,
+         util-vserver/distrib/fc3/apt/rpmpriorities,
+         util-vserver/distrib/fc3/apt/sources.list: added apt support for
+         FC3
 
-       * src/rpm-fake.c:
+2005-03-02 01:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initialize 'bmask' member of struct vc_ctx_caps
+       * util-vserver/lib/syscall_adddlimit-v13.hc,
+         util-vserver/lib/syscall_adddlimit.c,
+         util-vserver/lib/syscall_getdlimit-v13.hc,
+         util-vserver/lib/syscall_getdlimit.c,
+         util-vserver/lib/syscall_remdlimit-v13.hc,
+         util-vserver/lib/syscall_remdlimit.c,
+         util-vserver/lib/syscall_setdlimit-v13.hc,
+         util-vserver/lib/syscall_setdlimit.c: use CALL_VC_V13B instead of
+         CALL_VC_V13
 
-2004-03-24 02:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-02 01:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: capchroot.c, filetime.c, readlink.c:
+       * util-vserver/scripts/vyum: allow '--all' param
 
-       rewrote it
+2005-03-02 01:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/cflags.c: avoid some compiler warnings
 
-       * src/Makefile-files:
+2005-03-02 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; moved some programs into $legacydir
+       * util-vserver/lib/vserver.h: added some VC_ATTR_NONNULL()
+         statements
 
-2004-03-24 02:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-02 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/lib/syscall_adddlimit-v13.hc,
+         util-vserver/lib/syscall_remdlimit-v13.hc,
+         util-vserver/lib/vserver-internal.h: minor cleanups
 
-       added more legacy programs
+2005-03-02 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: do not assume 'nodev' on
+         'devpts'
 
-       * scripts/legacy/vserver:
+2005-03-02 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use $_XXXX variables instead of static commandnames
-       use variables for paths
+       * util-vserver/lib/vserver-internal.h:
+         CDLIM_USER2KERNEL/CDLIM_KERNEL2USER(): added
 
-2004-03-24 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-02 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/legacy/distrib-info:
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall_adddlimit-v13.hc,
+         util-vserver/lib/syscall_adddlimit.c,
+         util-vserver/lib/syscall_getdlimit-v13.hc,
+         util-vserver/lib/syscall_getdlimit.c,
+         util-vserver/lib/syscall_remdlimit-v13.hc,
+         util-vserver/lib/syscall_remdlimit.c,
+         util-vserver/lib/syscall_setdlimit-v13.hc,
+         util-vserver/lib/syscall_setdlimit.c, util-vserver/lib/virtual.h,
+         util-vserver/lib/vserver.h, util-vserver/src/Makefile-files,
+         util-vserver/src/vdlimit.c: added *vdlimit functions + tools
+         (patch provided by Daniel Hokka Zakrisson)
 
-       moved parserpmdump to legacy
+2005-02-25 23:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-setup.functions: added some sanity
+         checks
 
-       * scripts/util-vserver-vars.pathsubst:
+2005-02-25 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_REBOOTMGR
+       * util-vserver/ensc_wrappers/Makefile-files,
+         util-vserver/ensc_wrappers/wrappers-string.hc,
+         util-vserver/ensc_wrappers/wrappers.h: added wrapper around
+         string functions
 
-2004-03-24 02:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-25 23:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_dietlibc.m4:
+       * util-vserver/src/secure-mount.c: /me should learn to differ
+         between script-languages and C... strings in C are still marked
+         by >"< but not by >'<...
+         fixed allocation of the newly generated option string
 
-       fixed copy&paste error
+2005-02-25 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vapt-get-worker,
+         util-vserver/scripts/vyum-worker: deprecate usage of $_YUM and
+         $_APT_GET
 
-       * ensc_vector/.cvsignore, lib_internal/.cvsignore, ChangeLog.sed,
-         cvsusers.map:
+2005-02-25 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/distrib/redhat/initpost,
+         util-vserver/scripts/functions,
+         util-vserver/scripts/legacy/distrib-info,
+         util-vserver/scripts/legacy/rootshell,
+         util-vserver/scripts/legacy/vserver,
+         util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/start-vservers,
+         util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vprocunhide, util-vserver/scripts/vpstree,
+         util-vserver/scripts/vserver, util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.functions.apt,
+         util-vserver/scripts/vserver-build.functions.pkgmgmt,
+         util-vserver/scripts/vserver-build.functions.rpm,
+         util-vserver/scripts/vserver-build.functions.yum,
+         util-vserver/scripts/vserver-build.rpm,
+         util-vserver/scripts/vserver-build.yum,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vserver-setup.functions,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/scripts/vshelper, util-vserver/scripts/vsysvwrapper,
+         util-vserver/scripts/vtop, util-vserver/sysv/rebootmgr,
+         util-vserver/sysv/vservers-legacy: LEGACY BREAKAGE FOR 3RD PARTY
+         PATCHES: introduced a more common naming
+         scheme: global, immutable variables names are now named like
+         '$__ABC'
+         instead of '$ABC'. This happens at much places and will break a
+         lot of
+         patches therefore.
 
-2004-03-24 02:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-25 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * .cvsignore, distrib/.cvsignore, ensc_vector/testsuite/.cvsignore,
-         lib/.cvsignore, lib/testsuite/.cvsignore, src/.cvsignore,
-         src/testsuite/.cvsignore, tests/.cvsignore:
+       * util-vserver/configure.ac: changed my GPG key
 
-       added some standardfiles; I do not want to wait until Savannah fixes
-       its scripts and allows access to CVSROOT/cvsignore again.
+2005-02-25 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: assume 'nodev' by default
 
-       * lib_internal/util-perror.h:
+2005-02-25 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       placed a 'do ... while (0)' block around the macros
+       * util-vserver/scripts/vserver-build.functions.yum,
+         util-vserver/scripts/vyum-worker: added preliminary support for
+         the patch from
+         https://bugzilla.redhat.com/beta/attachment.cgi?id=111435&action=view
 
-2004-03-24 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-25 20:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: bcaps_list-v13.c, syscall_getccaps-v13.hc,
-         syscall_setccaps-v13.hc:
+       * util-vserver/scripts/vserver-build.functions.pkgmgmt: avoid
+         ambiguous usage of $PKGDIR, use $PKGINSTALLDIR instead of
+         use $SETUP_CONFDIR instead of $confdir
 
-       handle the new struct vc_ctx_caps::bmask member
+2005-02-25 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.yum: avoid ambiguous usage of
+         $PKGDIR, use $PKGINSTALLDIR instead of
 
-       * contrib/manifest.dat.pathsubst:
+2005-02-20 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved some files into legacy
-       handle sysv scripts
+       * util-vserver/scripts/vserver-build.functions.rpm:
+         rpm.initFilesystem(): fixed variable-names; this caused e.g. an
+         unset %_dbpath macro formerly
 
-2004-03-24 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-15 23:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.204
 
-       added formerly missing 'v_gated' registration
-       updated -legacy subpackage and moved some initscripts into it
+2005-02-15 22:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: added information where the 'ip' and
+         'vconfig' programs can be found
 
-       * lib/vserver.h:
+2005-02-15 22:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not use PURE before gcc 3.3.3
-       use a more effective way to determine gcc revision
-       struct vc_ctx_caps: added 'bmask' member
+       * util-vserver/scripts/vshelper: adjusted the order of cli options
+         evaluation; automake-1.9.5 redirects
+         input from /dev/null so the 'tty -s' check gets triggered and
+         'make
+         distcheck' fails in the '... --version/--help' tests
 
-2004-03-24 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-15 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h:
+       * util-vserver/src/save_ctxinfo.c: fixed name of the run.rev
+         symlink; there was a '/' missing which
+         caused a pollution of the /etc/vservers/.defaults directory with
+         'run.revXXX' entries. (reported and analyzed by Olivier Poitrey).
 
-       do not use PURE before gcc 3.3.3
-       use a more effective way to determine gcc revision
+2005-02-07 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-23 02:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions,
+         util-vserver/scripts/vserver-build.functions.pkgmgmt,
+         util-vserver/src/vunify.c: fixed typos
 
-       * scripts/vserver-wrapper:
+2005-02-07 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed typo (missing 's')
+       * util-vserver/doc/configuration.xml: documented the *namespace
+         options
 
-2004-03-23 00:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-04 12:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions:
+       * util-vserver/scripts/vserver.functions: SECURITY: fixed detection
+         of the mtab-location (Georg Glas)
+         https://savannah.nongnu.org/bugs/?func=detailitem&item_id=11844
 
-       added basic support for SuSE (patch from Thomas Guettler)
-       give more hints in errormessages (patch from Thomas Guettler)
+2005-02-04 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-23 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: fixed one of the
+         previously added 'test -n'
 
-       * scripts/vpkg:
+2005-02-02 14:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give out errormessage on unknown distribution type
+       * util-vserver/m4/ensc_pathprog.m4: ENSC_PATHPROG_INIT(): fixed doc
+         ENSC_PATHPROG(): added a '<DESCR>' parameter
 
-2004-03-23 00:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-02 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/doc/compatibility-xhtml.xsl,
+         util-vserver/doc/compatibility.css: applied
+         http://vserver.lauft.net/wegen/util-vserver/patches/merge/util-vserver--merge--0.0--patch-2.patch
 
-       added basic support for SuSE
+2005-02-01 17:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-19 17:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.203
 
-       * src/vserver-stat.c:
+2005-02-01 17:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed race when process disappeared shortly after reading /proc
+       * util-vserver/scripts/Makefile-files: added vyum-worker to
+         AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
 
-2004-03-19 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-01 17:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/scripts/vyum-worker: minor cosmetical change
 
-       documented apps/init/{mark,depends}
-       mentioned the gentoo initstyle
+2005-02-01 17:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-19 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions, util-vserver/scripts/pkgmgmt:
+         fixed 'local VAR=$(ACTION) || ERROR' constructs; the 'local
+         VAR=$(ACTION)'
+         succeeds everytime so ERROR will be never executed. So, it is
+         rewritten to
+         'local VAR; VAR=$(ACTION) || ERROR'.
 
-       * doc/configuration-lsd.css:
+2005-02-01 17:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       followed Bertl's suggestion and added a subliminal message
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.202
 
-2004-03-19 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-01 16:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/distrib/fc3/rpmlist.d,
+         util-vserver/distrib/fc3/rpmlist.d/00.lst: initial checkin
 
-       require at least version 0.24 of dietlibc
+2005-02-01 16:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-19 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.rpm: moved installPackages
+         into vserver-build.functions.rpm
+         added support for preconfigured package-lists
 
-       * m4/ensc_dietlibc.m4:
+2005-02-01 16:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       allow to specify a <min-version>
+       * util-vserver/scripts/vserver-build.functions.rpm: rpmlist.*():
+         added
 
-2004-03-18 07:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-01 16:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/scripts/vserver-build: documented the '--empty'
+         switch for the '-m rpm' method
+         allow an increasing debug-level
 
-       version 0.29.204
+2005-02-01 16:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 07:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: vshelper.isDebug(): fixed it...
 
-       * lib_internal/util-dotfile.h:
+2005-02-01 16:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not use PURE; it is not applicable for inline declarations
+       * util-vserver/distrib/Makefile.am: added the fc3 rpmlist.d
+         directory + content
 
-2004-03-18 06:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-01 16:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h:
+       * util-vserver/contrib/manifest.dat.pathsubst: added
+         vserver-build.rpm
 
-       fixed broken condition for PURE
-       define __builtin_expect() when needed
+2005-02-01 02:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/matchlist-initbyvserver.c,
+         util-vserver/lib_internal/matchlist-initmanually.c,
+         util-vserver/lib_internal/matchlist-initrefserverlist.c,
+         util-vserver/src/vcopy-init.hc, util-vserver/src/vunify-init.hc:
+         changed matchlist-API to pass additional information about a
+         vserver. This allows to turn off pkgmgmt-queries for not-yet
+         existent vservers in 'vcopy'
 
-       * src/vunify.c:
+2005-02-01 02:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups in the verbosity code
+       * util-vserver/lib_internal/matchlist.h: struct MatchVserverInfo:
+         added; it allows to pass additional information about the vserver
 
-2004-03-18 06:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-01 02:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/legacy/: vps.pathsubst, vserver:
+       * util-vserver/lib_internal/unify-copy.c: copyReg(): open out_fd
+         with O_RDWR, fixed resource leak in error-case
 
-       use 'chcontext-compat' instead of 'chcontext'
+2005-02-01 00:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/createskeleton-full.hc: argl... fixed overflow
+         when appending the '/'
 
-       * scripts/vserver.stop:
+2005-01-31 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call isVserverRunning to cleanup rundir
+       * util-vserver/doc/configuration.xml,
+         util-vserver/scripts/functions, util-vserver/scripts/vshelper:
+         added 'debug' option for vshelper
 
-2004-03-18 06:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-31 23:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions.pkgmgmt:
+       * util-vserver/scripts/vshelper: added delegation support (Herbert
+         Poetzl)
+         http://vserver.13thfloor.at/Experimental/NGNET/delta-vshelper-delegate.diff
 
-       ignore candidates for location of pkgmgmt-dir when $ROOTDIR is empty
+2005-01-31 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions: getDistribution():
+         added support for a default distribution
 
-       * scripts/vserver-build:
+2005-01-31 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; use full parenthesis in case ... esac
+       * util-vserver/scripts/Makefile-files,
+         util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.rpm: added the '-m rpm' method
 
-2004-03-18 06:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-31 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver:
+       * util-vserver/distrib/Makefile.am, util-vserver/distrib/template,
+         util-vserver/distrib/template/initpost,
+         util-vserver/distrib/template/initpre: added the 'template'
+         distribution
 
-       implemenented 'pkgmgmt' command
+2005-01-31 17:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: fixed environment unsetting: it will
+         be now done shortly before execve(2)
+         but not on initialization anymore. This solves the problem when
+         'rpm' is
+         a wrapper only calling the real 'rpm?'. Then, LD_PRELOAD et.al.
+         was unset
+         and the wrapper not used.
 
-       * scripts/vrpm:
+2005-01-31 17:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       allow both internal and external packagemanagement
+       * util-vserver/scripts/vshelper: fixed the (currently non-existent)
+         child->parent traversal
 
-2004-03-18 06:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-31 17:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vpkg:
+       * util-vserver/lib/apidoc/Doxyfile.in: added DOT_TRANSPARENT +
+         DOT_MULTI_TARGET
 
-       cleanups; generalized some functions and moved them into the 'functions' file
+2005-01-31 17:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: updated
 
-       * scripts/vapt-get:
+2005-01-31 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       support both internal and external packagemanagement
+       * util-vserver/Makefile.am,
+         util-vserver/lib/createskeleton-full.hc,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-setup.functions,
+         util-vserver/src/save_ctxinfo.c,
+         util-vserver/util-vserver.spec.in: removed 'run.rev' as a
+         vserver-local variable and made it a system-wide setting
 
-2004-03-18 06:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-28 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/doc/configuration.xml: reindented it
+         fixed vshelper documentation
 
-       added $_PKGMGMT and $_TAR
+2005-01-27 21:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions, util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/start-vservers,
+         util-vserver/scripts/vapt-get, util-vserver/scripts/vpkg,
+         util-vserver/scripts/vprocunhide, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vrpm-preload, util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.functions.rpm,
+         util-vserver/scripts/vserver-setup.functions,
+         util-vserver/scripts/vserver-wrapper,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop, util-vserver/scripts/vshelper,
+         util-vserver/scripts/vsomething: use 'test -n "..."' instead of
+         'test "..."'; when "..." expands to '-v'
+         or a similar string, the expression will be misinterpreted
+         (noticed by
+         Werner Schalk)
 
-       * scripts/start-vservers:
+2005-01-27 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       filter out non-matching vservers *before* adding them to the makefile
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.201
 
-2004-03-18 06:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/reducecap.c, util-vserver/src/vserver-info.c:
+         reworked the capability.h stuff
 
-       getVserverStatus(): fix problems with leading whitespaces in numerical values
-       pkgmgmt.guessStyle(), pkgmgmt.isInternal(): added
+2005-01-27 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files,
+         util-vserver/src/capability-compat.h: added capability-compat.h
 
-       * scripts/pkgmgmt:
+2005-01-27 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/configure.ac: added check for <sys/capability.h>
+         header
 
-2004-03-18 06:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/Makefile.am: removed the linuxcaps.h bits
 
-       added pkgmgmt
+2005-01-27 19:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: implemented capability-support
+         check
 
-       * lib_internal/matchlist-initmanually.c:
+2005-01-27 19:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       some cleanups in the verbosity code
+       * util-vserver/src/rpm-fake.c: fixed execution order of chroot(2)
+         and context-creation; this caused
+         errors on kernel 2.6 when the vserver is not running yet
 
-2004-03-18 06:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservercfgstyle.c:
+       * util-vserver/src, util-vserver/src/.cvsignore,
+         util-vserver/src/Makefile-files: added check-unixfile
 
-       filter out relative and absolute paths; when they are not pointing to
-       an existing directory, the function fails
+2005-01-27 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: execute sanityCheck()
 
-       * ensc_wrappers/wrappers_handler.hc:
+2005-01-27 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use __builtin_expect
+       * util-vserver/scripts/vserver.functions: moved sanity checks which
+         were spread in various functions into the sanityCheck() method
+         implemented checks for non-newline terminated files and missing
+         capability support
 
-2004-03-18 06:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 19:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/defaults/apt/apt.conf:
+       * util-vserver/distrib/fc3, util-vserver/distrib/fc3/pkgs,
+         util-vserver/distrib/fc3/pkgs/01,
+         util-vserver/distrib/fc3/pkgs/02,
+         util-vserver/distrib/fc3/pkgs/03, util-vserver/distrib/fc3/yum,
+         util-vserver/distrib/fc3/yum.repos.d,
+         util-vserver/distrib/fc3/yum.repos.d/fedora-devel.repo,
+         util-vserver/distrib/fc3/yum.repos.d/fedora-updates-testing.repo,
+         util-vserver/distrib/fc3/yum.repos.d/fedora-updates.repo,
+         util-vserver/distrib/fc3/yum.repos.d/fedora.repo,
+         util-vserver/distrib/fc3/yum/yum.conf,
+         util-vserver/scripts/vserver-build.functions.yum,
+         util-vserver/scripts/vserver-build.yum,
+         util-vserver/scripts/vsomething, util-vserver/scripts/vyum,
+         util-vserver/scripts/vyum-worker,
+         util-vserver/src/check-unixfile.c: initial checkin
 
-       added '@autogenerated@' tag plus small warning
+2005-01-27 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build: added 'yum' support
 
-       * contrib/manifest.dat.pathsubst:
+2005-01-27 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added pkgmgmt script
+       * util-vserver/scripts/vrpm-preload: reorganized; moved lots of
+         code into the 'functions' file
 
-2004-03-18 06:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 19:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added yum*
+         files + vsomething + check-unixfile
 
-       look for tar
+2005-01-27 19:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: added yum* support
+         reorganized the rpmFake stuff
 
-       * Makefile.am:
+2005-01-27 19:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       substitute @TAR@
+       * util-vserver/scripts/Makefile-files: added the yum* files +
+         vsomething
 
-2004-03-16 15:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 19:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chbind.c:
+       * util-vserver/distrib/redhat/initpre: added missing newline
 
-       use vc_get_nb_ipv4root() instead of hardcoded '16' value
+2005-01-27 19:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 15:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added the yum* stuff for fc3
 
-       * compat.h:
+2005-01-27 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       CONST: added
+       * util-vserver/contrib/manifest.dat.pathsubst: added the yum* files
+         + check-unixfile
 
-2004-03-16 15:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/README: mentioned the '-m yum' buildmethod
 
-       VC_ATTR_CONST: added
-       vc_get_nb_ipv4root(): added
+2005-01-26 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 15:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvservercfgstyle.c: allow dangling symlinks as
+         /etc/vservers/.../vdir also
 
-       * lib/Makefile-files:
+2005-01-26 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added getnbipv4root.c
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.199
 
-2004-03-16 15:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-26 21:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getnbipv4root.c:
+       * util-vserver/util-vserver.spec.in: do not ship the /vservers
+         directory itself; as it is immutable, the
+         extraction will fail else
 
-       initial checkin
+2005-01-26 20:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 05:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore: updated
 
-       * scripts/Makefile-files:
+2005-01-26 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added the sysvwrappers to AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
+       * util-vserver/util-vserver.spec.in: rearranged some scriptlets to
+         avoid comments after '-p /sbin/ldconfig'
 
-2004-03-16 05:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-26 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/scripts/vserver.start: added (untested) support for
+         '/' in the vserver fstab
 
-       version 0.29.202
+2005-01-26 15:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: use unique prefixes for
+         variables used in functions with 'eval' statements
+         mountRootFS(): added
 
-       * sysv/Makefile-files:
+2005-01-26 15:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vservers-default
-       removed vservers
+       * util-vserver/scripts/functions: use unique prefixes for variables
+         used in functions with 'eval' statements
 
-2004-03-16 04:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-26 15:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/vservers.subst[DEAD]:
+       * util-vserver/lib_internal/testsuite/filecfg-ml.c: include
+         <string.h> + <ctype.h>
 
-       obsoleted by new initscript
+2005-01-26 15:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: moved rootshell to legacy
 
-       * sysv/vservers-default:
+2005-01-26 15:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/vserver-start/defaulttty.c: include <string.h>
 
-2004-03-16 04:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-26 15:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/src/secure-mount.c: added '--rootfs' option
 
-       implemented INITPID for the compat API
+2005-01-26 15:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: moved the v_*
+         initscripts to legacy
 
-       * src/rpm-fake.c:
+2005-01-26 14:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented/fixed the non-legacy part
-       cleanups
+       * util-vserver/util-vserver.spec.in: updated BuildRequires:
+         use 'setattr --barrier' instead of 'chattr +t' in the %post
+         scriptlet
+         moved the v_* initscripts to legacy
 
-2004-03-16 04:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-25 16:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake-resolver.c:
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/scripts/legacy/rootshell,
+         util-vserver/scripts/rootshell: moved rootshell script to legacy
 
-       implemented/fixed the non-legacy part
+2005-01-21 13:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * branches/SYSCALL_SWITCH/util-vserver/scripts/vserver,
+         util-vserver/scripts/legacy/vserver: fixed
+         http://savannah.nongnu.org/bugs/?func=detailitem&item_id=11570:
+         
+         "vserver myvserver start" gives exit code 1 if there is no file
+         /etc/vservers/myvserver.sh, since the last statement in vserver
+         ("test -x /etc/vservers/$1.sh && ...") evaluates to 1 in this
+         case.
+         
+         [Daniel Hermann]
 
-       * scripts/vserver.suexec:
+2005-01-21 13:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added internal mode to use 'suexec' for stopped vservers also
+       * util-vserver/scripts/vserver: be more verbosely when vserver
+         could not be determined and give hints
+         about possible solutions (based upon ideas by Thorsten Gunkel)
 
-2004-03-16 04:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-21 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.stop:
+       * util-vserver/scripts/vserver-setup.functions:
+         interface-configuration: give out a warning when no device was
+         configured
 
-       added a more efficient stop method for fakeinit vservers
+2005-01-21 13:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: *
+         interface-configuration: accept 'nodev' without a configured
+         'dev';
+         formerly the interface was silently ignored when 'dev' was
+         missing
+         * added some sanity checks for the behaviour described above
 
-       * scripts/vserver.start:
+2005-01-21 13:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       finxed incomplete quoting
+       * util-vserver/src/rpm-fake.c: added rpm_execcon() wrapper to make
+         it work in SELinux environments
+         call execve(2) directly instead of execv(3)
 
-2004-03-16 04:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-07 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/README: fixed typos
+         cleanups + enhancements
 
-       handle fakeinit separately
-       cleanups and fixes in the flag-generation
+2005-01-07 16:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/README: "Notes for distributors" + "Which version
+         shall I use?" added
 
-       * scripts/vserver-wrapper:
+2005-01-07 16:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/m4/ensc_dietlibc.m4: Fixed last patch: use '[['
+         instead of '[' (found by Hans Ulrich Niedermann)
 
-2004-03-16 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-06 23:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver:
+       * util-vserver/configure.ac: call ENSC_DIETLIBC_SANITYCHECK,
+         AC_CANONICAL_HOST + AC_CANONICAL_BUILD
 
-       added support for an internal command mode
+2005-01-06 23:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_dietlibc.m4: ENSC_DIETLIBC_SANITYCHECK():
+         added
+         made ENSC_VERSION_DIETLIBC uppercase
+         ignore extra specifiers in dietlibc's minor version (reported by
+         Hans Ulrich Niedermann)
 
-       * scripts/util-vserver-vars.pathsubst:
+2005-01-06 23:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_INITSYNC_MINIT_* variables
-       added $_START_VSERVERS
+       * util-vserver/scripts/util-vserver-vars.pathsubst: fix typo in
+         $_MKTEMPDIR: Use $_MKTEMP not $MKTEMP (fixed by Hans Ulrich
+         Niedermann)
 
-2004-03-16 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-28 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/start-vservers:
+       * util-vserver/scripts/vserver.functions: use $_<prog> (which
+         expands to absolute paths) instead of trusting into a good $PATH
+         a small VLAN fix (do not quote the splitted dev)
+         minor cleanups
 
-       added ok/passed/failed logic
+2004-12-28 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions, util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/start-vservers,
+         util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vpkg, util-vserver/scripts/vrpm-preload,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.functions.apt,
+         util-vserver/scripts/vserver-wrapper,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: use $_<prog> (which expands to
+         absolute paths) instead of trusting into a good $PATH
 
-       * scripts/Makefile-files:
+2004-12-28 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       ship vsyswrapper again
+       * util-vserver/configure.ac: use ENSC_PATHPROG & friends
 
-2004-03-16 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-28 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/m4/ensc_pathprog.m4: initial checkin
 
-       vc_is_dynamic_xid(): added
+2004-12-28 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: use ${ENSC_PATHPROG_SED} when
+         substituting prognames
 
-       * lib/Makefile-files:
+2004-12-28 12:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added isdynamicxid.c
+       * util-vserver/m4/ensc_dietlibc_compat.m4: check more syscall
+         variants
 
-2004-03-16 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-28 12:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-vserver.hc:
+       * util-vserver/lib/vserver.h: s!\params!\param!
+         added doc about vc_get_iattr()
 
-       Evc_set_ccaps(): added
+2004-12-28 11:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/cfg.txt: removed since obsoleted by
+         configuration.xml
 
-       * distrib/redhat/initpre, lib/isdynamicxid.c:
+2004-12-21 07:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/vsched.c: fixed segfault when no arguments are
+         given (reported by Adrian Reyer)
 
-2004-03-16 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-16 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/redhat/initpost:
+       * util-vserver/src/keep-ctx-alive.c: renamed the 'fd_set' variable
+         to 'fdset'. former name causes problems
+         with certain FD_* implementations (reported by Adrian Reyer)
 
-       use internal 'chkconfig' command
+2004-12-09 13:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: added fc-3 host
 
-       * distrib/Makefile.am:
+2004-12-09 13:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added initpre to handle rpm's misclassification of %_netsharedpath
+       * util-vserver/lib/Makefile-files: getfilecontext.c: added
 
-2004-03-16 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-09 13:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/: make-manifest, manifest.dat.pathsubst:
+       * util-vserver/lib/getfilecontext.c, util-vserver/lib/vserver.h:
+         vc_getfilecontext(): as noticed by daniel_hozac in IRC, this
+         function
+         was horribly broken. Fixed and moved it into an own file as it is
+         too
+         complex for an inline function. Documentation was added also.
 
-       handle some sysv files too
+2004-12-07 11:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/vserver-start/main.c: include <unistd.h>
 
-       * util-vserver.spec.in:
+2004-12-07 11:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated the -sysv package
+       * util-vserver/scripts/vserver.functions: read enter-shell from the
+         defaults-directory also
+         use prio-bias instead of cpu-mask
 
-2004-03-15 22:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-07 11:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/lib_internal/filecfg-iteratemultiline.c: include
+         <string.h>
 
-       cleanups; remove unused code
-       added '--silentexist'
-       use context-sync.hc
+2004-12-07 11:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-15 22:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/cflags.c: added some new flags
 
-       * src/chcontext.c:
+2004-12-07 11:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use code from context-sync.hc
+       * util-vserver/doc/configuration.xml: do not mention the /hostname
+         + /domainname params anymore
+         removed vsched/cpu-mask
+         added vsched/priority-bias
 
-2004-03-15 22:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-21 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/context-sync.hc:
+       * util-vserver/lib/vserver.h: added/updated flags and capabilities
 
-       initial checkin
+2004-10-21 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-15 22:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/islink.c: initial checkin
 
-       * src/Makefile-files:
+2004-10-21 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added context-sync.hc
+       * util-vserver/lib/internal.h: utilvserver_isLink(): added
+         prototype
 
-2004-03-15 22:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-21 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.apt-rpm:
+       * util-vserver/lib/cflags-v13.c: added lots of new flags
 
-       cleanups; full parenthesis for case ... esac statements
+2004-10-21 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-15 22:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/ccaps-v13.c: added 'remount' + 'icmp' cap;
+         'ping' is kept for compatibility reasons
 
-       * scripts/vserver:
+2004-10-21 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; full parenthesis for case ... esac statements
-       give more helpful error messages
+       * util-vserver/lib/Makefile-files: added islink.c
 
-2004-03-15 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 23:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/: jail.h, jailintotempdir.c:
+       * util-vserver/scripts/functions: getFileValue(): modified to
+         accept a list of candidates
 
-       return indication about place of error
+2004-10-19 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-15 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcontext.c: merged from
+         UV_NAMESPACE_AFTER_CHROOT branch
 
-       * configure.ac:
+2004-10-19 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       print correct $prefix when '--prefix' is not specified
+       * util-vserver/Makefile.am: added 'update-doc' target
 
-2004-03-13 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 23:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc:
+         Evc_{new,enter}_namespace(): added
 
-       version 0.29.201
+2004-10-19 21:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-13 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.196
 
-       * src/vcontext.c:
+2004-10-19 21:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added another #warning
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt.h:
+         updated to vs1.9.3-rc4
 
-2004-03-13 04:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/vserver-start/configuration-init.c,
+         util-vserver/vserver-start/configuration.c,
+         util-vserver/vserver-start/configuration.h,
+         util-vserver/vserver-start/interface.c,
+         util-vserver/vserver-start/interface.h,
+         util-vserver/vserver-start/main.c,
+         util-vserver/vserver-start/scriptlets.c,
+         util-vserver/vserver-start/vserver-start.h: added lots of new
+         code
 
-       fixed '--uid' option (it's required_argument but not no_argument)
-       drop privileges after migrate()
+2004-10-19 21:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-13 04:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/filecfg-iteratemultiline.c,
+         util-vserver/lib_internal/testsuite/filecfg-ml.c,
+         util-vserver/vserver-start/defaulttty.c: initial checkin
 
-       * scripts/vserver.start:
+2004-10-19 21:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call $_SAVE_CTXINFO until we have something better
+       * util-vserver/vserver-start/Makefile-files: added defaulttty.c
 
-2004-03-13 03:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/src/reducecap.c: use some dirty hacks to include
+         <linuxcaps.h> cleanly
 
-       updated to new kernel behavior
+2004-10-19 21:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-13 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop: execute 'prepareStop()'
 
-       * src/vattribute.c:
+2004-10-19 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed set*() to parse*()
-       set the correct secure attributes
-       call set_flags/set_ccaps only, when there is something to do
+       * util-vserver/scripts/vserver.functions: made
+         runlevel_{start,stop} global variables
+         prepareStop(): added
+         set PREVLEVEL on 'vserver ... stop' (required by Debian)
 
-2004-03-13 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: chcontext, vserver.start:
+       * util-vserver/scripts/vserver-setup.functions: s!prefix!prefixlen!
 
-       applied new CLI
+2004-10-19 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-13 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite/Makefile-files: added
+         filecfg-ml test
 
-       * lib_internal/Makefile-files:
+2004-10-19 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added jail* files
+       * util-vserver/lib_internal/string.hc: String_c_str(): added
 
-2004-03-13 03:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/: jail.h, jailintotempdir.c:
+       * util-vserver/lib_internal/string.h: ENSC_STRING_*FIXED(): added
 
-       initial checkin
+2004-10-19 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-13 03:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/filecfg.h:
+         FileCfg_iterateOverMultiLine(): added prototypes and related
+         declarations
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2004-10-19 21:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Evc_get_ccaps(): added declaration
+       * util-vserver/lib_internal/Makefile-files: added
+         filecfg-iteratemultiline.c
 
-2004-03-12 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vuname.c:
+       * util-vserver/lib/syscall_setsched-v13.hc: vc_set_sched_v13obs():
+         use VCMD_set_sched_v2 instead of VCMD_set_sched
 
-       rewrote it; CLI should be more usable now
+2004-10-19 21:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc: Enice(): added
 
-       * scripts/: chcontext, vserver.start:
+2004-10-19 21:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new vuname syntax
+       * util-vserver/doc/configuration.xml: s!prefix!prefix-length!
 
-2004-03-12 07:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vattribute.c:
+       * util-vserver/Makefile.am: added new kernel headers
+         changed substition of linuxcaps.h; oldish 'sed' versions do not
+         understand '\<' regexs
 
-       set caps before flags so that caps can be changed in the same transaction
-       which deletes 'setup'
+2004-10-18 16:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 05:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcontext.c: do not include "linuxcaps.h" anymore
 
-       * scripts/vserver.suexec:
+2004-10-18 16:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some explicit '--'
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt.h,
+         util-vserver/kernel/inode.h, util-vserver/kernel/legacy.h,
+         util-vserver/kernel/limit.h, util-vserver/kernel/namespace.h,
+         util-vserver/kernel/network.h, util-vserver/kernel/sched.h,
+         util-vserver/kernel/signal.h, util-vserver/kernel/switch.h,
+         util-vserver/kernel/xid.h: updated
 
-2004-03-12 05:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-18 16:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/doc/Makefile-files: removed stylesheets and images
+         from the main-package; they are now in the web-CVS
 
-       added some doc
-       getVserverStatus(): fixed it
+2004-10-18 16:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 05:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-flower.css,
+         util-vserver/doc/configuration-lsd.css,
+         util-vserver/doc/configuration-lsd1.css,
+         util-vserver/doc/flowers.png, util-vserver/doc/flowers1.png,
+         util-vserver/doc/flowers2.png: moved into web-CVS
 
-       * src/save_ctxinfo.c:
+2004-10-18 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use strncat() instead of strcat() to enforce correct length
+       * util-vserver/kernel/debug.h, util-vserver/kernel/dlimit.h:
+         updated
 
-2004-03-12 04:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-06 03:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/README: updated note about 'vserver-stat' and differ
+         between 2.4 and 2.6
+         kernel
 
-       version 0.29.200
+2004-10-06 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/unify-unify.c: retain 'errno' on the
+         final unlink()
 
-       * scripts/: chcontext, vserver.start:
+2004-10-06 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       remove the setup flag
+       * util-vserver/src/Makefile-files: link secure-mount against
+         libvserver
 
-2004-03-12 04:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-06 03:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/src/secure-mount.c: added better diagnostic when
+         fstab-parsing fails
+         use strsep() instead of strtok_r() in the parser to make the
+         line-number counter work
 
-       cleanups
+2004-10-01 12:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.195
 
-       * scripts/chcontext:
+2004-10-01 12:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give '--xid' in migrate case
+       * util-vserver/scripts/functions: _getProcNumberCount():
+         s!$_ctx!$1!
 
-2004-03-12 04:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-01 11:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/configure.ac, util-vserver/m4/ensc_dietlibc.m4: give
+         out information about version of the found dietlibc
 
-       fixed migrate vs. migrate-self
+2004-10-01 11:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_dietlibc.m4: fixed version-detection when
+         additional information are following the
+         number
 
-       * Makefile.am:
+2004-10-01 11:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added kernel headers
+       * util-vserver/scripts/functions: use more efficient ways to detect
+         number of processes in a context
+         (access /proc/virtual/... information instead of executing vps)
 
-2004-03-12 04:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-01 10:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * kernel/: context.h, inode.h, legacy.h, limit.h, namespace.h,
-         network.h, sched.h, signal.h, switch.h:
+       * util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.debootstrap: allowed to
+         specify additional debootstrap options
 
-       initial checkin
+2004-10-01 10:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vps.c, util-vserver/src/vserver-stat.c: added
+         warnings regarding procfs-security
 
-       * sysv/vprocunhide:
+2004-09-24 15:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not use /dev/null as lockfile
+       * util-vserver/src/rpm-fake.c: removed a __THROW which is not
+         needed and causes errors with newer gcc
 
-2004-03-12 04:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-24 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vsched.c:
+       * util-vserver/lib/syscall_setvhiname-v13.hc: use a better method
+         to copy labels; formerly, bad parameters could
+         cause undefined behaviour
 
-       updated to new API
+2004-09-24 15:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/Makefile-files: fixed typo
 
-       * src/vattribute.c:
+2004-09-23 23:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented --secure
+       * util-vserver/doc/configuration.xml: added some comments for
+         interfaces/../{name,nodev}
 
-2004-03-12 04:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-23 23:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver.start, vserver.stop:
+       * util-vserver/doc/configuration-flower.css,
+         util-vserver/doc/configuration-lsd.css,
+         util-vserver/doc/configuration-lsd1.css,
+         util-vserver/doc/configuration-xhtml.xsl,
+         util-vserver/doc/configuration.css: made it validate as xhtml
 
-       allow '--debug' in the destructors
+2004-09-23 22:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: fixed CLEAN=1 usecase
+         use gcc4 instead of gcc35
 
-       * scripts/vserver.functions:
+2004-09-23 22:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added gentoo startup style
+       * util-vserver/scripts/vserver-build.debootstrap: added better
+         diagnostic for failed debootstrap download
 
-2004-03-12 03:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-23 22:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/doc/configuration.css: added *.elements templates
 
-       fixed params
-       do not call vuname/vattribute when not needed
+2004-09-23 22:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: updated rlimits description
+         (reported by Nikola Donev)
+         added warning about explicit 'fakeinit' usage
 
-       * lib/testsuite/flags.c:
+2004-09-23 22:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added testsuite for the flags
+       * util-vserver/doc/configuration-xhtml.xsl: added new stylesheets
+         implemented <elements>...</elements> support
 
-2004-03-12 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-23 22:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/doc/Makefile-files: added new stylesheets and images
 
-       updated interface
-       added flags
+2004-09-23 22:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-flower.css,
+         util-vserver/doc/configuration-lsd1.css,
+         util-vserver/doc/flowers.png, util-vserver/doc/flowers1.png,
+         util-vserver/doc/flowers2.png: initial checkin
 
-       * lib/virtual.h:
+2004-09-23 22:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use kernel headers
+       * util-vserver/distrib/misc/debootstrap.uri: updated
 
-2004-03-12 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-22 20:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: syscall_getiattr-v13.hc, syscall_setiattr-v13.hc,
-         syscall_setsched-v13.hc:
+       * util-vserver/util-vserver.spec.in: s!commented!documented!
 
-       updated interface
+2004-09-22 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: commented the possible options
+         for 'rpmbuild'
 
-       * lib/listparser.hc:
+2004-09-22 20:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added '^' modifier which marks bit numbers
+       * util-vserver/src/vsched.c: use new vc_set_sched structure
+         generalized CLI options a little bit
 
-2004-03-12 03:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-22 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/flags-v13.c:
+       * util-vserver/src/vattribute.c: set the "secure" flags on
+         '--secure' manually. This is a crude hack
+         and must be solved better.
 
-       added the flags
+2004-09-22 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-11 05:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: struct vc_set_sched: updated + added
+         some flags
+         vc_get_insecureflags(): removed again; it is now handled by the
+         utilities
 
-       * NEWS, configure.ac:
+2004-09-22 20:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.199
+       * util-vserver/lib/vserver-internal.h: ENSC_STRUCT_IDX,
+         ENSC_SAME_STRUCT_IDX: added
 
-2004-03-11 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-22 20:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vuname.c:
+       * util-vserver/lib/syscall_setsched.c: added support for the new
+         'struct vcmd_set_sched_v3'
 
-       added more documentation
-       fixed '--version' conflicts
+2004-09-22 20:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-11 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_setsched-v13.hc: updated to new 'struct
+         vcmd_set_sched_v3'
+         added some optimizations
 
-       * src/: rpm-fake-resolver.c, rpm-fake.c:
+2004-09-22 20:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented most parts of the new migrate method
+       * util-vserver/kernel/sched.h: added 'struct vcmd_set_sched_v3'
+         plus macros
 
-2004-03-11 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-10 11:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/lib/vserver-internal.h: CALL_VC_V13B(),
+         CALL_VC_V13OBS(): added
 
-       set context-name
+2004-09-10 00:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-11 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vlimit.c: fixed missing argument for '--xid'
+         switch
 
-       * lib/Makefile-files:
+2004-09-07 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added getvserverbyctx-* files
+       * util-vserver/src/vattribute.c: use vc_get_insecureflags() on
+         '--secure' option
 
-2004-03-11 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-07 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvserverbyctx.c:
+       * util-vserver/lib/vserver.h: vc_get_insecureflags(): added (does
+         this really make sense??)
 
-       implemented new context-naming method
+2004-09-07 20:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-11 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/chcontext: fixed concatenation of flags +
+         caps
 
-       * lib/: getvserverbyctx-compat.hc, getvserverbyctx-v13.hc:
+2004-09-07 20:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/configure.ac: added an explicit requirement for
+         version 1.9 of automake
 
-2004-03-11 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-27 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-vserver.hc:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.193
 
-       Evc_set_vhi_name(): added
+2004-08-27 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 06:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver, util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: follow LSB behavior when
+         starting/stopping a vserver (no error, when already
+         running/stopped)
+         adjusted some exit-codes
 
-       * doc/configuration.xml:
+2004-08-27 14:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented 'fstab.local' and enhanced 'fstab' doc
+       * util-vserver/src/secure-mount.c: showHelp(): improved message
 
-2004-03-10 06:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-27 08:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/distrib/misc/debootstrap.uri: updated again...
 
-       added support for 'fstab.local' files
+2004-08-27 08:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 06:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/save_ctxinfo.c: append '\0' to the buffer read
+         by readlink()
 
-       * sysv/vprocunhide:
+2004-08-27 08:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made it a little bit more portable by providing own implementations of
-       RH's /etc/init.d/functions when this file can not be found (inspired
-       by a patch from Olivier Poitrey)
+       * util-vserver/src/keep-ctx-alive.c: include <sys/select.h>
 
-2004-03-10 05:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-27 08:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc: Ereadlink*():
+         return the count of written chars
 
-       callInNamespace(): call 'shift' to remove the vserver-name from $@
+2004-08-25 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions, util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/vserver-start/mount.c: use the new 'secure-mount'
+         CLI
 
-       * doc/.cvsignore:
+2004-08-25 00:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added configuration.html
+       * util-vserver/src/secure-mount.c: reworked it; '--chroot' does not
+         accept an argument now, and '--secure'
+         is deprecated. Lots of code was modernized
 
-2004-03-10 03:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/vserver-start/configuration-init.c,
+         util-vserver/vserver-start/configuration.c,
+         util-vserver/vserver-start/configuration.h,
+         util-vserver/vserver-start/interface-add.c,
+         util-vserver/vserver-start/interface-read.c,
+         util-vserver/vserver-start/interface.c,
+         util-vserver/vserver-start/interface.h,
+         util-vserver/vserver-start/main.c,
+         util-vserver/vserver-start/scriptlets.c,
+         util-vserver/vserver-start/vshelper.c: added lots of new code
 
-       added an option the 'CONTEXT' query so that it can be choosen between
-       running/non running
+2004-08-19 15:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/vserver-start/interface-print.c,
+         util-vserver/vserver-start/interface-remove.c,
+         util-vserver/vserver-start/mount.c,
+         util-vserver/vserver-start/mount.h,
+         util-vserver/vserver-start/undo.c,
+         util-vserver/vserver-start/undo.h: initial checkin
 
-       * src/: vlimit.c, vuname.c:
+2004-08-19 14:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       prefix option string for getopt with '+' to avoid option reordering
+       * util-vserver/src/vnamespace.c: fixed some #includes for the new
+         position of sys_clone.h
 
-2004-03-10 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vapt-get, vrpm:
+       * util-vserver/src/vkill.c: define ENSC_WRAPPERS_UNISTD; it is used
+         for some legacy code
 
-       use callInNamespace
+2004-08-19 14:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: fixed some #includes to reflect
+         changed position of sys_clone.h
 
-       * scripts/functions:
+2004-08-19 14:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       isAvoidNamespace(): determine full cfgdir path of vserver before checking for 'namespace' file
-       callInNamespace(): added
+       * util-vserver/src/fstool.h: checkForRace(), resolveCtx(): removed
+         prototypes
 
-2004-03-10 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/src/fstool.c: checkForRace(): removed as unused
 
-       minor cosmetical cleanups...
+2004-08-19 14:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chxid.c: use vc_xidopt2xid() instead of
+         resolveCtx()
 
-       * scripts/: chcontext, vserver.start, vserver.stop, vserver.suexec:
+2004-08-19 14:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use '--' delimiter
+       * util-vserver/src/sys_clone.h: moved into lib_internal/
 
-2004-03-10 03:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/src/fstool-resolvectx.c: obsoleted; functionality is
+         already in libvserver
 
-       added/updated some descriptions
+2004-08-19 14:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 03:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite/command.c: applied API
+         changes
 
-       * doc/configuration-lsd.css:
+2004-08-19 14:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       flowers... where are all the flowers coming from?
+       * util-vserver/lib_internal/command.h: added support for
+         plain-style char** args
 
-2004-03-10 03:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am, contrib/Makefile-files, doc/Makefile-files,
-         ensc_vector/Makefile-files, ensc_vector/testsuite/Makefile-files,
-         ensc_wrappers/Makefile-files, lib/Makefile-files,
-         lib/testsuite/Makefile-files, lib_internal/Makefile-files,
-         man/Makefile-files, scripts/Makefile-files, src/Makefile-files,
-         src/testsuite/Makefile-files, tests/Makefile-files:
+       * util-vserver/lib_internal/command-appendparameter.c,
+         util-vserver/lib_internal/command-exec.c,
+         util-vserver/lib_internal/command-free.c,
+         util-vserver/lib_internal/command-init.c: handle plain-style
+         char** args also
 
-       modernized the Makefiles; use '+=' where possible to remove complexity
-       from the toplevel Makefile.am
+2004-08-19 14:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 18:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/command-setparams.c,
+         util-vserver/lib_internal/sys_clone.h: initial checkin
 
-       * scripts/vprocunhide:
+2004-08-19 14:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       remove the correct prefix
+       * util-vserver/lib_internal/Makefile-files: added
+         command-setparams.c and sys_clone.h
 
-2004-03-09 17:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver.stop, vserver.suexec:
+       * util-vserver/contrib/manifest.dat.pathsubst: marked
+         vserver.start.bin as C99-only
 
-       use $_CHONTEXT_COMPAT explicitly
+2004-08-19 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 17:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: added some new paths
 
-       * scripts/vserver-setup.functions:
+2004-08-19 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use/create 'uts' directory
+       * util-vserver/Makefile.am: automake-1.9 fixes:
+         s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
+         removed some libtool-hacks which are not needed with automake-1.9
+         anymore
 
-2004-03-09 17:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/vserver-start/Makefile-files: automake-1.9 fixes:
+         s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
+         added lots of new files
 
-       updated copyright date
+2004-08-19 14:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 17:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: automake-1.9 fixes:
+         s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
+         removed src/sys_clone.h (now in lib_internal/)
+         removed src/fstool-resolvectx.c
 
-       * doc/configuration.xml:
+2004-08-19 14:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented the vunify configuration
+       * util-vserver/lib/testsuite/Makefile-files,
+         util-vserver/tests/Makefile-files: automake-1.9 fixes:
+         s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
 
-2004-03-09 15:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 13:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/lib/xidopt2xid.c: removed code without an effect
 
-       rewrote the non-legacy part
+2004-08-19 13:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall-syscall.c: gcc35 fixes: do not make
+         vc_syscall() an alias for vserver() but execute it.
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-08-19 13:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       aded _KEEP_CTX_ALIVE
+       * util-vserver/lib/isfile.c: initial checkin
 
-2004-03-09 15:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 13:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/lib/internal.h: utilvserver_isFile(): added
+         prototype
 
-       added missing ';' in case expression
-       s!_CTX_KEEP_ALIVE!_KEEP_CTX_ALIVE!
+2004-08-19 13:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 05:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvservercfgstyle.c: fixed detection of
+         legacy-style (check for file but not directory)
 
-       * NEWS:
+2004-08-19 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.198
+       * util-vserver/lib/Makefile-files: addded 'isfile.c'
 
-2004-03-09 04:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 13:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver.stop, vserver.suexec:
+       * util-vserver/ensc_wrappers/wrappers-stdlib.hc: Esetenv(): added
 
-       removed superfluous '--'
+2004-08-19 13:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 04:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-socket.hc: Esend(),
+         Esocketpair(): added
 
-       * scripts/vserver.start:
+2004-08-19 13:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added explicit cleanup trap
-       removed superfluous '--'
+       * util-vserver/ensc_fmt/fmt-internal.h: minor optimizations
 
-2004-03-09 04:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 13:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/doc/configuration-xhtml.xsl: add '<ulink>' tag
 
-       added some parenthesis
+2004-07-08 11:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 04:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: documented vdir, run, run.rev
+         (provided by Olivier Poitrey)
+         added some links about [bc]capabilities and flags
+         added more scheduler doc (provided by Olivier Poitrey)
+         added some comments about 2.4 vs. 2.6 at rlimits/ulimits
+         added doc about rlimit's 'min' setting
 
-       * scripts/vserver:
+2004-07-03 02:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made 'status' really silent
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.190
 
-2004-03-09 04:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 01:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/start-vservers:
+       * util-vserver/doc/configuration.xml: fixed path of the xsd file
 
-       initial checkin
+2004-07-03 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 04:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: added fc-2
 
-       * scripts/functions:
+2004-07-03 01:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       getVserverStatus(): fixed it for the non-running & non-cleanup case
+       * util-vserver/scripts/vserver.functions: prepareInit(): fixed case
+         when .autofsck does not exist
 
-2004-03-09 04:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 01:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers.h:
+       * util-vserver/scripts/chcontext: accept --xid and prefer it
+         against --ctx in the doc
+         added --silentexist option at --create
 
-       fixed typo
-       fixed overflow
+2004-07-03 01:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 04:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/suse91/apt/rpmpriorities: initial checkin
 
-       * contrib/manifest.dat.pathsubst, scripts/Makefile-files:
+2004-07-03 01:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added start-vservers
+       * util-vserver/distrib/redhat/rc.sysinit: call 'true' finally
 
-2004-03-09 04:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 01:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/distrib/redhat/initpost: added comment about
+         possible races
+         fixed /etc/inittab substitution
 
-       added Requires: make
+2004-07-03 01:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added redhat/rc.sysinit
+         added suse/apt/rpmpriorities
+         moved suse/apt/sources.list into the cfgdir
 
-       * scripts/vserver:
+2004-07-03 01:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made 'status' silent when '--silent' is used
+       * util-vserver/contrib/manifest.dat.pathsubst: added
+         vserver.start.bin
 
-2004-03-09 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 01:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/apidoc/.cvsignore:
+       * util-vserver/vserver-start/Makefile-files: use
+         AM_INSTALLCHECK_STD_OPTIONS_EXEMPT for now
 
-       added man
+2004-07-03 00:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added suse91 files
 
-       * doc/configuration.html[DEAD]:
+2004-07-03 00:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed since autogenerated
+       * util-vserver/distrib/redhat/rc.sysinit,
+         util-vserver/distrib/suse91, util-vserver/distrib/suse91/apt,
+         util-vserver/distrib/suse91/apt/sources.list,
+         util-vserver/distrib/suse91/initpost,
+         util-vserver/distrib/suse91/pkgs,
+         util-vserver/distrib/suse91/pkgs/01,
+         util-vserver/distrib/suse91/pkgs/02,
+         util-vserver/distrib/suse91/rpm,
+         util-vserver/distrib/suse91/rpm/macros,
+         util-vserver/vserver-start,
+         util-vserver/vserver-start/.cvsignore: initial checkin
 
-2004-03-09 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 00:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration-lsd.css:
+       * util-vserver/distrib/redhat/initpost: some enhancements for
+         'plain' initstyle
 
-       use official HTML 4 colornames
+2004-07-03 00:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 02:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore: added some files
 
-       * doc/: beautify.xsl, compatibility-xhtml.xsl,
-         configuration-xhtml.xsl:
+2004-07-03 00:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use official XHTML namespace
+       * util-vserver/vserver-start/configuration-init.c,
+         util-vserver/vserver-start/configuration.c,
+         util-vserver/vserver-start/configuration.h,
+         util-vserver/vserver-start/interface-add.c,
+         util-vserver/vserver-start/interface-free.hc,
+         util-vserver/vserver-start/interface-init.hc,
+         util-vserver/vserver-start/interface-read.c,
+         util-vserver/vserver-start/interface.c,
+         util-vserver/vserver-start/interface.h,
+         util-vserver/vserver-start/main.c,
+         util-vserver/vserver-start/scriptlets.c,
+         util-vserver/vserver-start/vserver-start.h,
+         util-vserver/vserver-start/vshelper.c,
+         util-vserver/vserver-start/vshelper.h: initial checkin
 
-2004-03-09 02:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 00:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/: defaults/rpm/macros, redhat/initpost:
+       * util-vserver/vserver-start/Makefile-files: added lots of files
 
-       added hack for https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=117827
+2004-07-03 00:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: added CANONIFY tag
 
-       * m4/ensc_syscallnr.m4:
+2004-07-03 00:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       stopped to confuse users with wrong error messages
+       * util-vserver/src/secure-mount.c: rewrite 'ext*' to 'ufs'
 
-2004-03-08 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-02 23:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/apidoc/Makefile-files:
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: use a canonified lockfile-name
 
-       handle man directory
+2004-07-02 23:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 20:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: function prepareInit():
+         do some cleanups in the plain-mode
 
-       * lib/apidoc/Doxyfile.in:
+2004-07-02 23:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated
+       * util-vserver/scripts/functions: vshelper.initSync(): use $1
+         instead of $VSERVER_DIR
 
-2004-03-08 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-02 23:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/Makefile-files:
+       * util-vserver/lib_internal/util.h: include util-lockfile.h
+         canonifyVserverName(): added prototype
 
-       filled it with content...
+2004-07-02 23:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 20:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/util-mem.h: optimized it a little bit
 
-       * util-vserver.spec.in:
+2004-07-02 23:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added documentation
+       * util-vserver/lib_internal/pathinfo.h: ENSC_PI_DECLARE(): added
 
-2004-03-08 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-02 23:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/lib_internal/command-wait.c: fixed stupid typo
 
-       documented tty symlink
-       use documentation.dtd instead of cfgdirdoc.dtd
-       some small corrections/adjustments
+2004-07-02 23:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 19:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/Makefile-files: added lots of new files
 
-       * doc/: beautify.xsl, configuration-lsd.css,
-         configuration-xhtml.xsl, configuration.html:
+2004-07-02 23:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib_internal/errinfo-writeerrno.c,
+         util-vserver/lib_internal/errinfo.h,
+         util-vserver/lib_internal/filecfg-readentryflag.c,
+         util-vserver/lib_internal/filecfg-readentrystr.c,
+         util-vserver/lib_internal/filecfg.h,
+         util-vserver/lib_internal/util-canonify.c,
+         util-vserver/lib_internal/util-lockfile.c,
+         util-vserver/lib_internal/util-lockfile.h: initial checkin
 
-2004-03-08 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-02 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/: compat-xhtml.xsl[DEAD], compatibility-xhtml.xsl:
+       * util-vserver/lib/vserver.h: small cosmetical cleanups
 
-       renamed compat-xhtml.xsl to compatibility-xhtml.xsl
+2004-07-02 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/mtab: s!ext2!ufs!
 
-       * doc/: cfgdirdoc.dtd[DEAD], configuration.dtd:
+2004-07-02 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed cfgdirdoc.dtd to configuration.dtd
+       * util-vserver/pathconfig.h.pathsubst: added lots of PATH_* and
+         PROG_* macros needed for vserver-start.bin
 
-2004-03-08 09:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-02 23:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/build-all: removed gcc34 target (now default)
+         added gcc35 target (not working currently)
 
-       added more doc
+2004-07-01 11:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 02:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: (re)enabled nice-support for
+         2.6 vservers which was omitted inadvertently
 
-       * lib/testsuite/flags.c:
+2004-07-01 10:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed uninitialized variable
+       * util-vserver/src/vlimit.c: fixed misinterpretation of '--xid'
+         introduced by rev 1.17
 
-2004-03-08 01:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-29 16:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/apidoc/: .cvsignore, Doxyfile.in, Makefile-files:
+       * util-vserver/scripts/vserver-build.apt-rpm: fixed installation at
+         non-standard places
 
-       initial checkin
+2004-06-29 16:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 01:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build: fixed doc ('pkgcfgbase' vs.
+         'pkgbase')
 
-       * scripts/vserver.start:
+2004-06-27 14:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use '--migrate-self' instead of '--migrate'
+       * util-vserver/build-all,
+         util-vserver/lib_internal/command-appendparameter.c,
+         util-vserver/lib_internal/command-exec.c,
+         util-vserver/lib_internal/command-free.c,
+         util-vserver/lib_internal/command-init.c,
+         util-vserver/lib_internal/command-reset.c,
+         util-vserver/lib_internal/command-wait.c,
+         util-vserver/lib_internal/command.h,
+         util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore,
+         util-vserver/lib_internal/testsuite/Makefile-files,
+         util-vserver/lib_internal/testsuite/command.c: initial checkin
 
-2004-03-08 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 14:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/lib_internal/Makefile-files: added command* files
+         and testsuite/
 
-       added '--migrate-self' support
+2004-06-27 13:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: enhanced output for old-style
+         vservers
 
-       * scripts/vserver.functions:
+2004-06-27 13:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use different files for 'bcap' and 'ccap' for now
+       * util-vserver/distrib/misc/debootstrap.uri: updated...
 
-2004-03-08 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 13:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/src/vserver-info.c: assume '- SYSINFO' when no other
+         options are given
 
-       added changelog entry
+2004-06-27 13:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcopy.c: made it work...
 
-       * src/vunify.h:
+2004-06-27 13:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed NONNULL annotations
+       * util-vserver/scripts/vserver-build.skeleton: do not fail when
+         '-d' is not specified and distribution can not be detected
 
-2004-03-07 23:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 13:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/vserver-build.functions: getDistribution():
+         added detection for slackware and gentoo
 
-       added doxygen annnotations
-       added special compiler annotations
+2004-06-27 13:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 23:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vprocunhide: fixed typos
 
-       * lib/internal.h:
+2004-06-27 13:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added doxygen annnotations
-       fixed NONNULL statements
+       * util-vserver/lib_internal/unify-unify.c: Unify_unify(): made it
+         work also when destination file does not exist (needed for vcopy)
 
-2004-03-07 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 13:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/fmt.h:
+       * util-vserver/lib_internal/unify-settime.c: Unify_setTime(): skip
+         operation on symlinks
 
-       added doxygen annnotations
+2004-06-27 13:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: vc_syscall(): added prototype
+         added/updated some doc
 
-       * lib/Makefile-files:
+2004-06-27 13:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added apidoc directory
+       * util-vserver/lib/syscall-syscall.c: initial checkin
 
-2004-03-07 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 13:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac, util-vserver.spec.in:
+       * util-vserver/lib/getvserverbyctx-compat.hc,
+         util-vserver/lib/getvserverctx.c: added legacy support
 
-       added doxygen support
+2004-06-27 13:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 23:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added syscall-syscall.c
 
-       * compat.h:
+2004-06-27 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed typo in __GNUC_MINOR__
+       * util-vserver/ensc_fmt/fmt.h: cleanups; removed unneeded #undef's
 
-2004-03-07 20:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 12:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vattribute.c:
+       * util-vserver/doc/configuration.xml: added comment about
+         'capabilities' file and kernelversion
 
-       use new interface of the list2... functions
-       implemented --bcaps and --ccaps
+2004-06-17 21:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/vserver-start,
+         util-vserver/vserver-start/Makefile-files: initial checkin
 
-       * src/: chcontext.c, reducecap.c:
+2004-06-17 21:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new interface of the list2... functions
+       * util-vserver/Makefile.am: added silent.% target
+         include ensc_fmt/ and vserver-start/ files
+         minor cosmetical fixes
 
-2004-03-07 20:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-16 10:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/ensc_vector/Makefile-files,
+         util-vserver/ensc_vector/vector-zeroend.c,
+         util-vserver/ensc_vector/vector.h: added Vector_zeroEnd()
+         function
 
-       added .../interfaces/.../nodev option and deprecated 'only_ip'
+2004-06-16 10:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: moved fmt* functionality into
+         the 'ensc_fmt' module
+         removed '-D_REENTRANT' as it is defined globally
 
-       * lib/testsuite/flags.c:
+2004-06-16 10:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new interface
+       * util-vserver/ensc_fmt, util-vserver/ensc_fmt/.cvsignore,
+         util-vserver/ensc_fmt/Makefile-files,
+         util-vserver/ensc_fmt/fmt-32.c, util-vserver/ensc_fmt/fmt-64.c,
+         util-vserver/ensc_fmt/fmt-internal.h,
+         util-vserver/ensc_fmt/fmt-tai64n.c, util-vserver/ensc_fmt/fmt.h,
+         util-vserver/ensc_fmt/fmt.hc, util-vserver/ensc_fmt/fmtx-32.c,
+         util-vserver/ensc_fmt/fmtx-64.c, util-vserver/ensc_fmt/fmtx.hc,
+         util-vserver/lib/fmt-32.c, util-vserver/lib/fmt-64.c,
+         util-vserver/lib/fmt-internal.h, util-vserver/lib/fmt.h,
+         util-vserver/lib/fmt.hc, util-vserver/lib/fmtx-32.c,
+         util-vserver/lib/fmtx-64.c, util-vserver/lib/fmtx.hc: moved fmt*
+         functionality into the 'ensc_fmt' module
 
-2004-03-07 20:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-27 00:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/chcontext, util-vserver/src/vcontext.c:
+         s!fakeinit!initpid! at some places
 
-       added some documentation
-       added some flag/caps support functions
+2004-05-27 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: use '--fakeinit' by
+         default; users will have to disable it explicitly
+         by putting '~fakeinit' into the 'flags' configuration file
 
-       * lib/virtual.h:
+2004-05-27 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed scaps to bcaps
+       * util-vserver/scripts/vserver-build.debootstrap: cleanups
 
-2004-03-07 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-27 00:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall_setflags.c:
+       * util-vserver/README: fixed typos
 
-       added EFAULT check
+2004-05-27 00:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: updated
 
-       * lib/: syscall_getflags-v13.hc, syscall_setflags-v13.hc:
+2004-05-27 00:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor cosmetical cleanups
+       * util-vserver/util-vserver.spec.in: (re)added the MANIFEST_*
+         variables which were lost some time ago; this
+         will preserve %%config files...
 
-2004-03-07 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-27 00:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/listparser.hc:
+       * util-vserver/Makefile.am: make util-vserver.spec readonly to
+         prevent losing of changes
 
-       interpret numbers too
+2004-05-27 00:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/README: added content
 
-       * lib/internal.h:
+2004-05-22 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added the text2value functions
+       * util-vserver/sysv/vprocunhide: fixed rc conflict with
+         /etc/rc.d/functions; reported by taxcollector
+         in https://savannah.nongnu.org/bugs/?func=detailitem&item_id=9052
 
-2004-03-07 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-21 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: flags-v13.c, flags_list-compat.c, flags_list-v13.c:
+       * util-vserver/configure.ac, util-vserver/m4/gpgsig.am: added
+         support for the default GPG key
 
-       cleanups; use modern methods...
+2004-05-21 15:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions, util-vserver/scripts/vapt-get,
+         util-vserver/scripts/vrpm: added some color to the life
 
-       * lib/: bcaps-v13.c, bcaps_list-v13.c, ccaps-v13.c,
-         ccaps_list-v13.c, syscall_getccaps-v13.hc, syscall_getccaps.c,
-         syscall_setccaps-v13.hc, syscall_setccaps.c,
-         val2text-t2v-uint32.c, val2text-t2v-uint64.c,
-         val2text-v2t-uint32.c, val2text-v2t-uint64.c, val2text.hc:
+2004-05-20 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/pkgmgmt, util-vserver/scripts/vserver: mount
+         filesystems on 'vserver ... pkgmgmt ...' operations
 
-2004-03-07 20:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-18 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/NEWS: version 0.29.214
 
-       added the caps-files
-       added the val2text-files
+2004-05-18 23:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: updated URL (again...)
 
-       * doc/configuration.xml:
+2004-05-18 23:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented '.../interfaces/.../nodev'
+       * util-vserver/distrib/Makefile.am, util-vserver/distrib/fc2,
+         util-vserver/distrib/fc2/apt,
+         util-vserver/distrib/fc2/apt/rpmpriorities,
+         util-vserver/distrib/fc2/apt/sources.list,
+         util-vserver/distrib/fc2/pkgs, util-vserver/distrib/fc2/pkgs/01,
+         util-vserver/distrib/fc2/pkgs/02: added fc2 support
 
-2004-03-06 03:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-18 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/contrib/manifest.dat.pathsubst: removed clearenv,
+         added sigexec
 
-       s!Require!Requires!
+2004-05-18 23:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: s!@PACAKGE@!%name! at some
+         places
 
-       * sysv/vprocunhide:
+2004-05-18 23:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/Makefile.am: substitute ENV
 
-2004-03-06 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-11 18:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/Makefile-files:
+       * util-vserver/configure.ac,
+         util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vserver.start,
+         util-vserver/src/Makefile-files, util-vserver/src/clearenv.c: use
+         'env' instead of 'clearenv'; the '-i' switch is SUSv3 and every
+         implementation should have it...
 
-       modernized; use '+=' syntax
-       added vprocunhide
+2004-05-11 18:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/sigexec.c: initial checkin
 
-       * src/vuname.c:
+2004-05-11 18:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made it chainable
-       added '--dir' option
+       * util-vserver/src/context-sync.hc, util-vserver/src/vnamespace.c,
+         util-vserver/src/vps.c: set SIGCHLD sigmask to an expected value
+         (SIG_DFL)
+         use new exitLikeProcess() interface
 
-2004-03-06 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-11 18:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/src/chcontext.c, util-vserver/src/secure-mount.c,
+         util-vserver/src/vcontext.c, util-vserver/src/vkill.c: set
+         SIGCHLD sigmask to an expected value (SIG_DFL)
 
-       cleanups
+2004-05-11 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore,
+         util-vserver/src/Makefile-files: added sigexec
 
-       * scripts/vserver.start:
+2004-05-11 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call vuname
+       * util-vserver/scripts/vshelper: execute vshelper through 'sigexec'
+         to set expected sigmask
 
-2004-03-06 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-11 18:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vprocunhide:
+       * util-vserver/lib_internal/util-exitlikeprocess.h:
+         exitLikeProcess(): readded the 'NORETURN' and added a 'ret'
+         parameter
 
-       implemented exclude/include syntax
-       fixed exit codes
+2004-05-11 18:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/util-exitlikeprocess.c:
+         exitLikeProcess(): never return...
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-05-11 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_VUNAME
+       * util-vserver/lib_internal/switchtowatchxid.c: switchToWatchXid():
+         modified the new migrate-path to work when there exists a process
+         in xid 1 already
 
-2004-03-06 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-08 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.213
 
-       documents uts/ and rlimit/ subdirs
+2004-05-08 01:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/exec-ulimit.c: added support for 'core'
 
-       * distrib/misc/vprocunhide-files:
+2004-05-08 01:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some files
+       * util-vserver/src/vps.c: use new exitLikeProcess() interface
+         better error-handling
 
-2004-03-06 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-08 01:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/src/context-sync.hc, util-vserver/src/vnamespace.c:
+         use new exitLikeProcess() interface
 
-       added vprocunhide initscript
+2004-05-08 01:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: added locking
+         call setDefaultTTY() correctly
 
-       * Makefile.am:
+2004-05-08 01:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       modernized it a little bit; use '+=' syntax for sysv/ now
+       * util-vserver/scripts/vserver-build.apt-rpm: call 'vapt-get --
+         clean' after building the vserver
 
-2004-03-05 23:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-08 01:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver.functions, vserver.start, vserver.stop,
-         vserver.suexec:
+       * util-vserver/scripts/functions: setDefaultTTY(): redirect every
+         descriptors
 
-       added support for new migrate feature
+2004-05-08 01:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 23:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/util-exitlikeprocess.h:
+         exitLikeProcess(): removed the 'NORETURN'; this causes strange
+         error when the function returns
+         exitLikeProcess(): added a second, 'char *' parameter for the
+         human readable command
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-05-08 01:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_VCONTEXT and $_VLIMIT
+       * util-vserver/lib_internal/util-exitlikeprocess.c: be more verbose
+         when sending a signal
 
-2004-03-05 23:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-08 01:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/lib/testsuite/cflags.c: some changes to make gcc34
+         happy
 
-       isAvoidNamespace(): use 'vserver-info - FEATURE namespace' inforamtion too
+2004-05-08 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/val2text.hc: include <strings.h>
 
-       * src/vlimit.c:
+2004-05-08 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       try to read limits from dir only, when '--dir' was used
+       * util-vserver/lib/getvservername.c: getRecentName(): use
+         realpath(3) instead of errorprone 'chdir()' calls
 
-2004-03-05 20:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-08 01:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/setattr.c:
+       * util-vserver/lib/getvserverbyctx-compat.hc,
+         util-vserver/lib/getvserverctx.c: optimized buffersizes
 
-       allow '--!...' syntax too
+2004-05-08 01:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 20:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: fixed apps/vunify/logfile
+         documentation; it must be configured on a
+         per-system, but not per-vserver base
 
-       * scripts/vserver-build.functions.pkgmgmt:
+2004-05-08 01:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added a missing '\'
+       * util-vserver/distrib/misc/debootstrap.uri: updated again
 
-2004-03-05 20:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-05 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vprocunhide, distrib/misc/vprocunhide-files:
+       * util-vserver/src/clearenv.c: fixed case when '--' is used
 
-       initial checkin
+2004-05-05 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 20:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vshelper: fixed typo
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-05-05 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added setattr and vprocunhide
+       * util-vserver/scripts/vserver.start: use 'clearenv' in the new
+         path also
 
-2004-03-05 20:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-05 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/scripts/vserver.functions: sendKillSequence(): be
+         silent and succeed everytime
 
-       added vprocunhide
+2004-05-05 19:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-setup.functions: removed legacy code
 
-       * doc/configuration.xml:
+2004-05-05 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented vprocunhide documentation
+       * util-vserver/scripts/vrpm-preload,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c: added code to preserve capabilities
+         and flags
 
-2004-03-05 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-05 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/lib_internal/unify-unify.c: added some doc
 
-       added vprocunhide-files
+2004-05-05 19:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_setiattr-fscompat.hc: be more carefully
+         regarding signed vs. unsigned int...
 
-       * contrib/manifest.dat.pathsubst:
+2004-05-05 19:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vprocunhide files
+       * util-vserver/lib/bcaps-v13.c: removePrefix(): fixed another 'len'
+         issue
+         include <strings.h>
 
-2004-03-05 18:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-30 10:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vtop, chcontext, functions, rootshell, vapt-get,
-         vapt-get-worker, vpkg, vpstree, vrpm, vrpm-preload, vrpm-worker,
-         vserver, vserver-build, vserver-build.apt-rpm,
-         vserver-build.debootstrap, vserver-build.functions,
-         vserver-build.functions.pkgmgmt, vserver-build.skeleton,
-         vserver-copy, vserver.functions, vserver.start, vserver.stop,
-         vservers.grabinfo.sh, vsysvwrapper:
+       * util-vserver/lib/bcaps-v13.c: removePrefix(): fixed case when
+         len<4
 
-       added some '>&2'
+2004-04-28 19:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 18:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/changelog.txt: removed since unused
 
-       * .cvsignore:
+2004-04-28 18:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added FEATURES.txt
+       * util-vserver/lib/apidoc/Makefile-files: added list2xxx.syntax
 
-2004-03-05 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-28 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/src/readlink.c: enhanced errormessages
 
-       added '--dir' parameter
-       allow command-chaining
-       support limits with suffixes
-       make '-c' optionally and assume current ctx by default
+2004-04-28 18:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 18:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c, util-vserver/src/vattribute.c: use
+         vc_get_insecurebcaps() instead of vc_get_insecurecaps()
+         set secure ccapabilities
 
-       * lib/testsuite/: Makefile-files, .cvsignore:
+2004-04-28 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added parselimit
+       * util-vserver/src/chcontext.c, util-vserver/src/reducecap.c: use
+         vc_get_insecurebcaps() instead of vc_get_insecurecaps()
 
-2004-03-05 18:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-28 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/lib_internal/Makefile-files: added coreassert.h
 
-       vc_parseLimit(): added prototype
+2004-04-28 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/apidoc/list2xxx.syntax,
+         util-vserver/lib_internal/coreassert.h: initial checkin
 
-       * lib/Makefile-files:
+2004-04-28 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added parselimit.c
+       * util-vserver/lib/testsuite/cflags.c: use
+         <lib_internal/coreassert.h>
+         added new testcases
 
-2004-03-05 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-28 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: parselimit.c, testsuite/parselimit.c:
+       * util-vserver/lib/testsuite/fmt.c,
+         util-vserver/lib/testsuite/parselimit.c: use
+         <lib_internal/coreassert.h>
 
-       initial checkin
+2004-04-28 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 05:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/Makefile-files: define ENSC_TESTSUITE
 
-       * src/.cvsignore:
+2004-04-28 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated; added vattribute and keep-ctx-alive
+       * util-vserver/lib/apidoc/Doxyfile.in: set EXAMPLE_PATH
 
-2004-03-05 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-28 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/lib/vserver.h: vc_get_insecureccaps(): added
+         cleanups
+         added documentation
 
-       implement the vc_set_flags() part
+2004-04-28 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/val2text.hc: use strncasecmp() instead of
+         strncmp()
 
-       * src/vattribute.c:
+2004-04-28 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       setFlags(): implemented it
+       * util-vserver/lib/listparser.hc: improved error-detection for the
+         '^' prefix
+         added support for 'none'
+         allow '0'
 
-2004-03-05 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-28 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/Makefile-files:
+       * util-vserver/lib/bcaps-v13.c: added bcapability names
+         added code to remove a 'CAP_' prefix
 
-       added util-unixsock.hc
+2004-04-28 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/getinsecurebcaps.c,
+         util-vserver/lib/getinsecurecaps.c: renamed getinsecurecaps.c to
+         getinsecurebcaps.c
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2004-04-23 16:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed error-checking
+       * util-vserver/NEWS, util-vserver/configure.ac,
+         util-vserver/doc/configuration-lsd.css: version 0.29.211
 
-2004-03-05 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-23 16:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getprocentry-legacy.c, syscall-compat.hc,
-         syscall_getflags-v13.hc, syscall_getiattr.c,
-         syscall_getvxinfo-oldproc.hc, syscall_getvxinfo.c,
-         syscall_setflags-v13.hc:
+       * util-vserver/util-vserver.spec.in: readjusted Release:
 
-       return better errorcodes
+2004-04-23 14:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: cleaned up the %file-lists
+         buildrequire 'xalan-j' (can be disabled with '--without xalan')
+         removed 'libxslt' buildrequire
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2004-04-23 14:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed copy&paste error
+       * util-vserver/doc/Makefile-files: remove *.html only, when we can
+         recreate them
 
-2004-03-05 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-23 11:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/Makefile-files:
+       * util-vserver/lib/Makefile-files: fixed typo
 
-       added wrappers-socket.hc
+2004-04-23 11:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/Makefile-files: removed FAQ.txt and
+         configuration.dtd
+         added configuration.xsd
 
-       * contrib/manifest.dat.pathsubst:
+2004-04-23 11:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vattribute and keep-ctx-alive
+       * util-vserver/doc/FAQ.txt: obsoleted
 
-2004-03-05 04:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-22 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/configure.ac: added 'net' API
+         disable 'legacy' API by default
 
-       added 'FEATURE' tag
+2004-04-22 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/compat.h: added nid_t
 
-       * src/vcontext.c:
+2004-04-22 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for external synchronization
+       * util-vserver/src/reducecap.c: fixed warnings when compiled
+         without legacy-mode
 
-2004-03-05 04:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-22 20:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/reducecap.c:
+       * util-vserver/lib/Makefile-files, util-vserver/lib/ncaps-net.c,
+         util-vserver/lib/ncaps_list-net.c, util-vserver/lib/nflags-net.c,
+         util-vserver/lib/nflags_list-net.c,
+         util-vserver/lib/syscall_getncaps-net.hc,
+         util-vserver/lib/syscall_getncaps.c,
+         util-vserver/lib/syscall_getnflags-net.hc,
+         util-vserver/lib/syscall_getnflags.c,
+         util-vserver/lib/syscall_getnxinfo-net.hc,
+         util-vserver/lib/syscall_getnxinfo.c,
+         util-vserver/lib/syscall_gettasknid-net.hc,
+         util-vserver/lib/syscall_gettasknid.c,
+         util-vserver/lib/syscall_netadd-net.hc,
+         util-vserver/lib/syscall_netadd.c,
+         util-vserver/lib/syscall_netcreate-net.hc,
+         util-vserver/lib/syscall_netcreate.c,
+         util-vserver/lib/syscall_netmigrate-net.hc,
+         util-vserver/lib/syscall_netmigrate.c,
+         util-vserver/lib/syscall_netremove-net.hc,
+         util-vserver/lib/syscall_netremove.c,
+         util-vserver/lib/syscall_setncaps-net.hc,
+         util-vserver/lib/syscall_setncaps.c,
+         util-vserver/lib/syscall_setnflags-net.hc,
+         util-vserver/lib/syscall_setnflags.c,
+         util-vserver/lib/vserver-internal.h, util-vserver/lib/vserver.h:
+         added network layer functions
 
-       use vc_list2flag_compat() instead of vc_textlist2flag
+2004-04-22 20:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_ctxcreate-v13.hc: fixed return value
 
-       * src/: keep-ctx-alive.c, vattribute.c:
+2004-04-22 19:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/doc/configuration.dtd: obsoleted by
+         configuration.xsd
 
-2004-03-05 04:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-22 19:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: fstool.c, fstool.h, setattr.c, showattr.c:
+       * util-vserver/THANKS: added Olivier Poitrey
 
-       added support for VC_IATTR_IMMUTABLE flag
+2004-04-22 19:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: use xalan instead of xsltproc
 
-       * src/: enter-namespace.c[DEAD], new-namespace.c[DEAD]:
+2004-04-22 19:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       obsoleted by vnamespace
+       * util-vserver/doc/configuration-xhtml.xsl,
+         util-vserver/doc/configuration.xml,
+         util-vserver/doc/configuration.xsd: use the new, XSD-based format
+         which was defined by Olivier Poitrey
 
-2004-03-05 04:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-22 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chcontext.c:
+       * util-vserver/doc/configuration-xhtml.xsl: made it work with xalan
+         removed debug message
 
-       use vc_list2flag_compat() instead of vc_textlist2flag()
+2004-04-22 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/beautify.xsl: obsoleted
 
-       * src/Makefile-files:
+2004-04-22 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed new-namespace and enter-namespace
-       added keep-ctx-alive and vattribute
-       added src_legacy_* variables
+       * util-vserver/doc/Makefile-files: use xalan
 
-2004-03-05 04:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-22 18:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vapt-get, vrpm, vserver:
+       * util-vserver/kernel/network.h, util-vserver/kernel/sched.h:
+         updated to vs1.9.0pre12
 
-       use $_VNAMESPACE instead of $_NEW_NAMESPACE
+2004-04-22 15:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/cflags-v13.c,
+         util-vserver/lib/testsuite/cflags.c: use more specific names for
+         the flags
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-04-21 21:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_VATTRIBUTE and $_VNAMESPACE
-       removed $_NEW_NAMESPACE
+       * util-vserver/scripts/vserver.start: give correct vserver-name in
+         the hints ($VSERVER_DIR instead of $VSERVER_NAME)
 
-2004-03-05 04:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-21 21:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/scripts/vserver.functions: moved the 'ip_only'
+         handling to the right place
 
-       began to implement the new vcontext part...
+2004-04-21 09:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vshelper-sync.c: fixed missing initialization of
+         a timeout struct
 
-       * m4/ensc_syscallnr.m4:
+2004-04-21 09:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use $ensc_cv_path_kernelheaders instead of $kernelincludedir
+       * util-vserver/src/vserver-stat.c: use uint64_t for the uptime
+         counter to handle medium+large uptimes
+         (>49 days) correctly
 
-2004-03-05 04:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-21 00:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util.h:
+       * util-vserver/scripts/vserver.functions: made 'nodev' work
 
-       include "util-unixsock.h"
+2004-04-20 18:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: added chain-echo
 
-       * lib_internal/unify-unify.c:
+2004-04-20 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use VC_IATTR_IMMUTABLE flag too
+       * util-vserver/src/Makefile-files: added chain-echo
 
-2004-03-05 04:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-20 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util-unixsock.h:
+       * util-vserver/scripts/vshelper: use '--defaulttty'
 
-       initial checkin
+2004-04-20 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop: use setDefaultTTY()
 
-       * lib/testsuite/flags.c:
+2004-04-20 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to new flag functions
+       * util-vserver/scripts/vserver.start: use setDefaultTTY()
+         added explicit synchronization step for fakeinit with the old
+         methods
 
-2004-03-05 04:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/vserver: added '--defaulttty' option
 
-       use uint_leastX_t instead of uintX_t
-       added -compat versions for the flag-parsers
-       vc_isSupportedString(): added
+2004-04-20 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/start-vservers: use --defaulttty options
+         instead of setting tty manually
 
-       * lib/internal.h:
+2004-04-20 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added utilvserver_listparser_uint* declarations
+       * util-vserver/scripts/functions: setDefaultTTY(): added
 
-2004-03-05 04:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-20 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fmt-32.c, fmt-64.c, fmt.h, fmt.hc, fmtx-32.c, fmtx-64.c,
-         fmtx.hc:
+       * util-vserver/lib/getvservercfgstyle.c: * vc_getVserverCfgStyle():
+         interprete relative ('./') and absolute
+         paths ('/...') as vcCFG_RECENT_FULL only
+         * vc_getVserverCfgStyle(): use utilvserver_isDirectory (fstat(2))
+         instead of access(2) to check for directories
 
-       fixed aliased functions; they are now in the *.c files and will not be
-       used anymore by every file including 'fmt.h'
+2004-04-20 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc: Edup(): added
 
-       * lib/: flags.c[DEAD], flags_list.c[DEAD]:
+2004-04-20 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed to -compat.c
+       * util-vserver/ensc_wrappers/wrappers-fcntl.hc: Efcntl(): added
 
-2004-03-05 04:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-20 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/distrib/misc/debootstrap.uri: added some entries
 
-       updated to new flags* files
-       added listparser* files
-       removed unused statements
+2004-04-20 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/vunify-exclude: updated
 
-       * ensc_wrappers/wrappers.h:
+2004-04-20 17:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added wrappers-socket.hc
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/scripts/util-vserver-vars.pathsubst: added
+         chain-echo
 
-2004-03-05 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-20 17:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-socket.hc, lib/flags-compat.c,
-         lib/flags-v13.c, lib/flags_list-compat.c, lib/flags_list-v13.c,
-         lib/issupportedstring.c, lib/listparser.hc,
-         lib/listparser_uint32.c, lib/listparser_uint64.c:
+       * util-vserver/src/chain-echo.c: initial checkin
 
-       initial checkin
+2004-04-15 02:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.209
 
-       * ensc_wrappers/wrappers-iosock.hc:
+2004-04-15 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       modernized declarations (use WRAPPER_DECL)
-       WsendAll(),WrecvAll(): added 'int *err' parameter and do not use perror() anymore
+       * util-vserver/src/vcontext.c: setFlags(): optimized (nearly state
+         of 1.10)
 
-2004-03-05 04:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-15 02:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/scripts/vserver.suexec: call chbind when entering
+         vservers
 
-       removed new-namespace and enter-namespace; they are obsoleted by vnamespace
+2004-04-15 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: call vattribute with
+         '--flag fakeinit' additionally to the '--fakeinit' flag of
+         vcontext
 
-       * Makefile.am:
+2004-04-15 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $(src_legacy_*)
+       * util-vserver/scripts/functions: callInNamespace(): do not accept
+         non-running vservers
 
-2004-03-04 05:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-15 01:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_syscallnr.m4:
+       * util-vserver/distrib/misc/debootstrap.uri: updated
 
-       requires AC_PROG_CPP
+2004-04-14 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-04 05:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcontext.c: applied new kernel API (*flags* ->
+         *cflags*, *_context -> ctx_*)
+         fixed '--fakeinit' option
 
-       * lib/vserver.h:
+2004-04-14 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added VC_IATTR_IMMUTABLE
+       * util-vserver/scripts/vshelper: fixed another brokeness in CLI
+         option handling
 
-2004-03-04 05:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-14 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/scripts/functions: lock(): do not execute the pipe;
+         this does not work on 2.6
 
-       added IATTR_IMMUTABLE
+2004-04-14 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-04 05:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore: added cflags
 
-       * lib/Makefile-files:
+2004-04-14 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not use -I $kernelincludedir anymore
+       * util-vserver/doc/configuration.xml: added some comments about
+         uts/context
 
-2004-03-04 04:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-14 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_syscallnr.m4:
+       * util-vserver/doc/configuration-xhtml.xsl: added a new boring
+         stylesheet
 
-       rewrote it...
+2004-04-14 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-04 04:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.css: initial checkin
 
-       * m4/: ensc_cflags.m4, ensc_dietlibc.m4, ensc_dietlibc_compat.m4,
-         ensc_fpicsyscall.m4, ensc_syscall.m4:
+2004-04-14 23:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use unique identifiers
+       * util-vserver/contrib/make-manifest,
+         util-vserver/contrib/manifest.dat.pathsubst: added support for
+         '%config(...)' (or whatever) annotations
 
-2004-02-27 20:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-14 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc,
+         util-vserver/lib_internal/switchtowatchxid.c,
+         util-vserver/src/chcontext.c, util-vserver/src/reducecap.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c, util-vserver/src/vattribute.c:
+         applied new kernel API (*flags* -> *cflags*, *_context -> ctx_*)
 
-       version 0.29.197
+2004-04-14 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/Makefile-files,
+         util-vserver/lib_internal/util.h: added util-debug.h
 
-       * distrib/redhat/initpost:
+2004-04-14 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed kernel-pkg installation
-       fixed initscript update
+       * util-vserver/lib_internal/util-debug.h: initial checkin
 
-2004-02-27 20:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-14 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt.h,
+         util-vserver/kernel/inode.h, util-vserver/kernel/legacy.h,
+         util-vserver/kernel/limit.h, util-vserver/kernel/namespace.h,
+         util-vserver/kernel/network.h, util-vserver/kernel/sched.h,
+         util-vserver/kernel/switch.h, util-vserver/kernel/xid.h: updated
+         to vs1.90pre9
 
-       added vsched
+2004-04-14 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 20:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/testsuite/Makefile-files,
+         util-vserver/lib/testsuite/cflags.c,
+         util-vserver/lib/testsuite/flags.c, util-vserver/lib/vserver.h:
+         applied new kernel API
+         renamed functions so that they correspond to the new kernel API
 
-       * lib/testsuite/fmt.c:
+2004-04-14 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       include <string.h>
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/cflags-compat.c, util-vserver/lib/cflags-v13.c,
+         util-vserver/lib/cflags_list-compat.c,
+         util-vserver/lib/cflags_list-v13.c,
+         util-vserver/lib/flags-compat.c, util-vserver/lib/flags-v13.c,
+         util-vserver/lib/flags_list-compat.c,
+         util-vserver/lib/flags_list-v13.c,
+         util-vserver/lib/syscall_createcontext-v13.hc,
+         util-vserver/lib/syscall_createcontext.c,
+         util-vserver/lib/syscall_ctxcreate-v13.hc,
+         util-vserver/lib/syscall_ctxcreate.c,
+         util-vserver/lib/syscall_ctxmigrate-v13.hc,
+         util-vserver/lib/syscall_ctxmigrate.c,
+         util-vserver/lib/syscall_getcflags-v13.hc,
+         util-vserver/lib/syscall_getcflags.c,
+         util-vserver/lib/syscall_getflags-v13.hc,
+         util-vserver/lib/syscall_getflags.c,
+         util-vserver/lib/syscall_migratecontext-v13.hc,
+         util-vserver/lib/syscall_migratecontext.c,
+         util-vserver/lib/syscall_setcflags-v13.hc,
+         util-vserver/lib/syscall_setcflags.c,
+         util-vserver/lib/syscall_setflags-v13.hc,
+         util-vserver/lib/syscall_setflags.c: renamed files so that their
+         names are corresponding the kernel
+         API. Especially, *_context was renamed to ctx_*, and *flags* to
+         *cflags*.
 
-2004-02-27 19:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-13 08:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/scripts/functions: further locking fixes
 
-       added vsched
+2004-04-13 08:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/lockfile.c: propagate errors
 
-       * src/chbind.c:
+2004-04-13 08:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed unused variable
+       * util-vserver/src/chroot-rm.c: cleanups
 
-2004-02-27 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-13 08:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/rpm-fake-test.c:
+       * util-vserver/scripts/vshelper: open FD 0
+         evaluate CLI options depending on used kernel API
 
-       include <string.h>
+2004-04-13 08:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: use new locking mechanism
 
-       * src/: Makefile-files, vsched.c, vschedule.c[DEAD]:
+2004-04-13 08:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed vschedule to vsched
+       * util-vserver/lib/issupported.c,
+         util-vserver/lib/issupportedstring.c, util-vserver/lib/vserver.h:
+         added VSHELPER0 feature
 
-2004-02-27 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-08 08:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/scripts/vserver.functions: execScriptlets(): fixed
+         initialization of 'start'
+         execScriptlets(): declare some variables as readonly
+         _sourceWrap(): added some variables
 
-       added chcontext-compat and vschedule
+2004-04-08 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: implemented support for
+         default-scriptlets (inspired by ideas of
+         Olivier Poitrey)
 
-       * src/Makefile-files:
+2004-04-08 06:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vschedule
+       * util-vserver/scripts/rootshell,
+         util-vserver/scripts/vapt-get-worker,
+         util-vserver/scripts/vprocunhide, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vrpm-worker,
+         util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vshelper: give more verbose error-messages
 
-2004-02-27 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-08 06:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/lib/syscall.c: added link-warning for
+         vc_new_s_context()
 
-       added vc_set_sched declarations
+2004-04-08 06:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: added general description for
+         the scripts and documented
+         $DONT_SKIP_DEFAULTS
 
-       * lib/virtual.h:
+2004-04-08 06:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed 'otpions' field from vcmd_set_sched_v1
+       * util-vserver/compat.h: LINK_WARNING(): added
 
-2004-02-27 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 23:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall_setsched-v13.hc, lib/syscall_setsched.c,
-         src/vschedule.c:
+       * util-vserver/scripts/chcontext,
+         util-vserver/scripts/legacy/distrib-info,
+         util-vserver/scripts/legacy/vserver,
+         util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/start-vservers,
+         util-vserver/scripts/vapt-get, util-vserver/scripts/vpkg,
+         util-vserver/scripts/vpstree, util-vserver/scripts/vrpm-preload,
+         util-vserver/scripts/vserver, util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vserver-wrapper,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop,
+         util-vserver/sysv/rebootmgr, util-vserver/sysv/vprocunhide,
+         util-vserver/sysv/vservers-legacy: give more comprehensive
+         error-message
 
-       initial checkin
+2004-04-06 23:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vps.c, util-vserver/src/vserver-info.c,
+         util-vserver/src/vserver-stat.c: use switchToWatchXid()
 
-       * lib/Makefile-files:
+2004-04-06 22:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added *setsched* files
+       * util-vserver/src/Makefile-files: link some files against
+         libinternal.a
 
-2004-02-27 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 22:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chcontext.c:
+       * util-vserver/lib_internal/util.h: switchToWatchXid(): added
+         prototype
 
-       cleanups; applied name-change from 'chcontext' to 'chcontext-compat'
+2004-04-06 22:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/switchtowatchxid.c: initial checkin
 
-       * src/Makefile-files:
+2004-04-06 22:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed 'chcontext' to 'chcontext-compat'
+       * util-vserver/lib_internal/Makefile-files: added
+         switchtowatchxid.c
 
-2004-02-27 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/lib/vserver.h: VC_ATTR_DEPRECATED: added
 
-       added $_CHCONTEXT_COMPAT
-       updated $_CHCONTEXT
+2004-04-06 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall-compat.hc: vc_chrootsafe_compat():
+         removed
 
-       * scripts/functions:
+2004-04-06 08:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       isKernelAPI(): added
+       * util-vserver/src/vunify.c: applied new MatchList_compare()
+         interface
 
-2004-02-27 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 08:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/src/vserver-stat.c: started support for HZ!=100
+         cleanups
 
-       added chcontext wrapper
+2004-04-06 08:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcopy.c: implement support for SKIP files
 
-       * lib/vserver.h:
+2004-04-06 08:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vc_isSupported()
-       cleanups
+       * util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c: do not call vc_new_s_context() when
+         COMPAT API is not available
 
-2004-02-27 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 08:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/scripts/functions: cleanups
+         vshelper.doInit(): added another sanity check
 
-       updated scheduler definitions
+2004-04-06 08:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/matchlist-appendfiles.c,
+         util-vserver/lib_internal/matchlist-compare.c,
+         util-vserver/lib_internal/matchlist.h: implemented support for
+         SKIP (~) files
 
-       * lib/issupported.c, scripts/chcontext:
+2004-04-06 08:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/testsuite/flags.c: added tests for new flags
 
-2004-02-27 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 08:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/lib/vserver.h: updated VC_VXF_* constants
+         added VC_VXC_* constants
 
-       added issupported.c
+2004-04-06 08:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/flags-v13.c: added/updated flaglist
 
-       * contrib/manifest.dat.pathsubst:
+2004-04-06 08:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chcontext-compat
+       * util-vserver/lib/ccaps-v13.c: added ccap names
 
-2004-02-27 05:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 08:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: cleanups
 
-       cleanups; restructured code
+2004-04-06 08:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/vunify-exclude: exclude keyfiles
+         completely
+         made some big files in /etc canditates for unify
 
-       * src/new-namespace.c:
+2004-04-06 08:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; do not include "stack-start.h" anymore
+       * util-vserver/kernel/context.h, util-vserver/kernel/inode.h,
+         util-vserver/kernel/legacy.h, util-vserver/kernel/limit.h,
+         util-vserver/kernel/namespace.h, util-vserver/kernel/sched.h,
+         util-vserver/kernel/signal.h, util-vserver/kernel/xid.h: updated
+         to 2.6.5-vs1.9.0pre4
 
-2004-02-27 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-31 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vnamespace.c:
+       * util-vserver/src/lockfile.c: optimized some things
+         now check, if getppid()==original_parent instead of getppid()!=1
+         (might make a difference in vservers)
 
-       initial checkin
+2004-03-31 03:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: added some doc
+         s!_UV_LOCKS!_VS_LOCKS!
 
-       * src/: fakerunlevel.c, rpm-fake-resolver.c, save_ctxinfo.c,
-         vrsetup.c, vserver-stat.c:
+2004-03-31 00:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use wrappers with detailed error-messages
+       * util-vserver/src/lockfile.c: fixed '--help' output
 
-2004-02-27 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-31 00:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: Makefile-files, .cvsignore:
+       * util-vserver/contrib/manifest.dat.pathsubst, util-vserver/src,
+         util-vserver/src/.cvsignore: added lockfile
 
-       added vnamespace
+2004-03-31 00:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/lockfile.c: initial checkin
 
-       * lib/testsuite/fmt.c:
+2004-03-31 00:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made non-C99 compilers happy
+       * util-vserver/src/Makefile-files: added lockfile
 
-2004-02-27 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-31 00:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/vserver.functions: enableInterfaces(),
+         disableInterfaces(): added locking
+         enableInterfaces(), disableInterfaces(): added IP_ADDR_FLUSH type
 
-       vc_set_namespace(), vc_cleanup_namespace(): added prototypes
+2004-03-31 00:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: $_LOCKFILE,
+         $LOCKDIR: added
 
-       * lib/virtual.h:
+2004-03-31 00:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added VCMD_set_namespace and VCMD_cleanup_namespace declarations
+       * util-vserver/scripts/functions: lock(),unlock(): added
+         isNumber(): added doc
 
-2004-02-27 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-30 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/scripts/vserver.functions: made it work...
 
-       added *setnamespace* and *cleanupnamespace* files
+2004-03-30 20:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: isNumber(): fixed '0' case
 
-       * lib/: syscall_cleanupnamespace-v13.hc,
-         syscall_cleanupnamespace.c, syscall_setnamespace-v13.hc,
-         syscall_setnamespace.c:
+2004-03-30 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: implemented parts of Liam
+         Helmer's dummy-interface method
 
-2004-02-27 05:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-30 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/: wrappers-fcntl.hc, wrappers-unistd.hc:
+       * util-vserver/Makefile.am, util-vserver/configure.ac,
+         util-vserver/scripts/util-vserver-vars.pathsubst: added
+         substitutions/tests for iptables, modprobe, rmmod and nameif
+         (required for Liam Helmer's dummy-interfaces)
 
-       added some wrappers with detailed error-messages
+2004-03-30 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: isNumber(): added
 
-       * ensc_wrappers/wrappers.h:
+2004-03-30 17:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added ENSC_DETAIL macros
+       * util-vserver/src/vshelper-sync.c: implemented it with select()
+         instead of alarm(); races are much nicer to handle
 
-2004-02-27 05:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-30 16:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/defaults/rpm/macros:
+       * util-vserver/src/vshelper-sync.c: use sigaction() instead of
+         signal() to remove SA_RESTART flag explicitly
 
-       added /etc/rc.d/init.d/halt and /sbin/new-kernel-pkg to %_netsharedpath
+2004-03-30 16:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/pipe-sync.c: obsoleted by vshelper-sync
 
-       * contrib/manifest.dat.pathsubst:
+2004-03-30 15:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vcontext and vnamespace
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/src/Makefile-files: removed pipe-sync
 
-2004-02-26 14:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-30 15:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util-exitlikeprocess.c[DEAD]:
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt.h,
+         util-vserver/kernel/limit.h, util-vserver/kernel/network.h,
+         util-vserver/kernel/sched.h, util-vserver/kernel/switch.h:
+         updated from vs0.09.28
 
-       moved to lib_internal/
+2004-03-27 04:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.207
 
-       * src/util.h:
+2004-03-26 09:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed everything an include <lib_internal/util.h> only
+       * util-vserver/scripts/vshelper: use 'findObject -e' instead of
+         'findFile' to find /dev/null also
 
-2004-02-26 14:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 09:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/scripts/vserver.start: fixed call of
+         vshelper.isEnabled
 
-       added vcontext
+2004-03-26 09:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: fixed some typos
 
-       * src/: chcontext.c, rpm-fake-resolver.c, rpm-fake.c:
+2004-03-26 09:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use VC_DYNAMIC_XID instead of VC_RANDCTX
+       * util-vserver/doc/configuration.xml: documented
+         apps/vshelper/logfile symlink
 
-2004-02-26 14:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 09:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/scripts/vshelper: ignore 'restart2' event; this
+         seems to be issued at vserver *start*
+         added support for a logfile
+         enable logfile-logging when invoked from kernel (no tty)
 
-       initial checkin
+2004-03-26 08:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: fixed order of
+         variables
+         fixed _VSHELPER path
 
-       * src/testsuite/Makefile-files:
+2004-03-26 08:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed 'util-exitlikeprocess.c'; link against libinternal.a now
+       * util-vserver/contrib/manifest.dat.pathsubst: fixed vshelper path
+         added vshelper-sync
 
-2004-02-26 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 08:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/util-vserver.spec.in: added some Requires:
+         own %dir /var/run/vshelper
 
-       added vcontext
-       removed 'util-exitlikeprocess.c'; link against libinternal.a now
+2004-03-26 08:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added substition for @VSHELPERSTATEDIR@
+         minor cosmetical cleanups
 
-       * scripts/functions:
+2004-03-26 07:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       s!/vservers!$DEFAULT_VSERVERDIR! (reported in IRC by broo)
+       * util-vserver/src, util-vserver/src/.cvsignore: added
+         vshelper-sync
 
-2004-02-26 14:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util-mem.h:
+       * util-vserver/scripts/vshelper, util-vserver/src/vshelper-sync.c:
+         initial checkin
 
-       include <stdlib.h>
+2004-03-26 07:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: - added tgID and tgPXID support
+         - accept 'true' as boolean value
+         - optimized the code a little bit so that the xid will be looked
+         up
+         only when really needed
 
-       * lib_internal/Makefile-files:
+2004-03-26 07:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lots of util-* headers
-       added util-exitlikeprocess
+       * util-vserver/src/vps.c: in output, added a ' ' on overlong
+         vserver-names
 
-2004-02-26 14:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/src/secure-mount.c: rewrote some parts to cope
+         better with '-o' options (required for -bme
+         patches to work)
 
-       * vc_create_context(), vc_migrate_context(), vc_[sg]et_flags(): added
-         prototypes plus structures
-       * use VC_DYNAMIC_XID instead of VC_RANDCTX
+2004-03-26 07:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: added vshelper-sync
 
-       * lib/vserver-internal.h:
+2004-03-26 07:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added CALL_VC_V13A macro (for API >= 0x00010012)
-       use VC_DYNAMIC_XID instead of VC_RANDCTX
+       * util-vserver/scripts/vserver.stop: added VSHELPER &
+         synchronization code
 
-2004-02-26 14:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/scripts/vserver.start: added documentation about
+         failure reasons
+         added VSHELPER code
 
-       added create+migrate+flags+caps declarations
+2004-03-26 07:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: adapted code to new
+         getFileArray() behavior
+         added VSHELPER support
+         added "LEGACY ALERT" messages
+         initSync(),waitForSync(): added
 
-       * lib/syscall_createcontext-v13.hc, lib/syscall_createcontext.c,
-         lib/syscall_getflags-v13.hc, lib/syscall_getflags.c,
-         lib/syscall_migratecontext-v13.hc, lib/syscall_migratecontext.c,
-         lib/syscall_setflags-v13.hc, lib/syscall_setflags.c,
-         lib_internal/util-cast.h, lib_internal/util-commonstrings.h,
-         lib_internal/util-declarecmd.h, lib_internal/util-dimof.h,
-         lib_internal/util-exitlikeprocess.c,
-         lib_internal/util-exitlikeprocess.h, lib_internal/util.h:
+2004-03-26 07:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver-setup.functions: added a "LEGACY
+         ALERT"
 
-2004-02-26 14:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/scripts/vserver-build: fixed code to work with new
+         behavior of getFileArray
 
-       added createcontext + migratecontext + [sg]etflags files
+2004-03-26 07:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 13:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added some
+         missing variables
+         added the vshelper variables
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2004-03-26 07:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Evc_create_context(), Evc_migrate_context(): added
-       use WRAPPER_DECL instead of UNUSED
+       * util-vserver/scripts/pkgmgmt: use pkgmgmt.isAptAvailable()
 
-2004-02-25 12:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/scripts/functions:
+         logging(),warning(),panic(),execute(): added
+         pkgmgmt.isAptAvailable(): added
+         vshelper.*(): added
+         getFileArray(): fail, when file does not exist
 
-       enhanced output
-       added -nd options
-       allow literal limits
-       assume '-H' by default
+2004-03-26 07:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-25 12:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/scripts/Makefile-files: added vshelper
 
-       * lib/testsuite/.cvsignore:
+2004-03-26 07:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'fmt'
+       * util-vserver/lib/vserver.h: - minor cleanups
+         - added vcFEATURE_VSHELPER
+         - vc_isSupported(): annotated it
+         - vc_get_insecurecaps(): moved it into an own file; CAP_SYS_BOOT
+         requires a special handling so inlining is not really usefully
+         anymore
 
-2004-02-25 12:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util.h:
+       * util-vserver/lib/issupported.c,
+         util-vserver/lib/issupportedstring.c: added VSHELPER
 
-       include util-perror.h
+2004-03-26 07:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-25 12:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added getinsecurecaps.c
 
-       * src/: chcontext.c, secure-mount.c:
+2004-03-26 07:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use more verbose perror()
+       * util-vserver/lib/getinsecurecaps.c: initial checkin
 
-2004-02-25 12:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/doc/configuration.xml: documented the vshelper stuff
 
-       added better namespace supportc
+2004-03-26 07:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-25 12:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.dtd: added a type for 'script'
 
-       * lib/testsuite/fmt.c, lib_internal/util-perror.h:
+2004-03-26 07:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/distrib/Makefile.am: cleanups in the directory
+         creation rules
 
-2004-02-25 12:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/Makefile-files:
+       * util-vserver/util-vserver.spec.in: use 'install-distribution'
+         instead of 'install-vserverdir'
+         added vshelper stuff
 
-       added fmt.c
+2004-03-26 07:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-25 12:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: cleanups and enhancements in the
+         directory installation rules
 
-       * lib/fmt.h:
+2004-03-24 05:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fmt_[u]int{32,64}(): added
+       * util-vserver/NEWS: version 0.29.205
 
-2004-02-21 00:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 05:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/flags.c:
+       * util-vserver/src/Makefile-files: fixed LDADD flags for capchroot
 
-       cosmetical cleanups
+2004-03-24 05:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-21 00:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vsched.c: enhanced the in-chain operation; make
+         it a noop when called without opts
+         enhanced error messages
 
-       * lib/: flags.c, vserver.h:
+2004-03-24 05:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added NAMESPACE flag
+       * util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start: added scheduler support
 
-2004-02-20 22:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 05:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/doc/configuration.xml: added basic documentation for
+         bcapabilities, ccapabilities and schedule
 
-       install enter-namespace into $(sbindir) instead of $(pkglibdir)
+2004-03-24 04:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 22:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h, util-vserver/src/chcontext.c,
+         util-vserver/src/reducecap.c, util-vserver/src/rpm-fake.c,
+         util-vserver/src/vattribute.c, util-vserver/src/vps.c: renamed
+         vc_get_securecaps() to vc_get_insecurecaps()
 
-       * src/new-namespace.c:
+2004-03-24 04:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing '#include <errno.h>'
+       * util-vserver/scripts/vserver.start: added missing '\'
 
-2004-02-20 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 04:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/src/vattribute.c, util-vserver/src/vcontext.c,
+         util-vserver/src/vlimit.c, util-vserver/src/vnamespace.c,
+         util-vserver/src/vserver-info.c, util-vserver/src/vuname.c: use
+         vc_xidopt2xid()
 
-       version 0.29.196
+2004-03-24 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chcontext.c, util-vserver/src/vkill.c,
+         util-vserver/src/vsched.c: prefer '--xid' instead of '--ctx'
+         use vc_xidopt2xid()
 
-       * src/.cvsignore:
+2004-03-24 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added enter-namespace
+       * util-vserver/scripts/vserver.start: added support for
+         $VSERVER_EXTRA_CMDS[] which can be set in userscripts
 
-2004-02-20 21:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/enter-namespace.c:
+       * util-vserver/scripts/vserver-build.debootstrap: call 'wget' with
+         '-nv' instead of '-q'
 
-       initial checkin
+2004-03-24 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 21:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: vc_xidopt2xid(): added prototype
 
-       * src/Makefile-files, contrib/manifest.dat.pathsubst:
+2004-03-24 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added enter-namespace
+       * util-vserver/lib/Makefile-files: added xidopt2xid.c
 
-2004-02-20 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/lib/xidopt2xid.c: initial checkin
 
-       merged with 0.29.2
+2004-03-24 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: Evc_xidopt2xid():
+         added
 
-       * src/vlimit.c:
+2004-03-24 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       changed logic to skip entries without chance for success
+       * util-vserver/distrib/misc/debootstrap.uri: updated to recent
+         version
 
-2004-02-20 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/util-vserver.spec.in: fixed Requires()
+         fixed some %dir's
 
-       cleanups
+2004-03-24 01:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vlimit.c: cleaned up CLI: '--xid' is supported
+         now, removed '-h' and '-v' options
+         minor cleanups
 
-       * lib/syscall_rlimit-v11.hc:
+2004-03-24 01:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_get_rlimit_mask_v11(): use correct datastructure
+       * util-vserver/sysv/vservers-legacy: initial checkin
 
-2004-02-20 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: Makefile-files, virtual.h, vserver.h:
+       * util-vserver/sysv/rebootmgr, util-vserver/sysv/rebootmgr.subst:
+         'rebootmgr' is now a src-script
 
-       added the enter-namespace stuff
+2004-03-24 01:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/Makefile-files: 'rebootmgr' is now a src-script
+         added vservers-legacy
 
-       * lib/: syscall_enternamespace-v13.hc, syscall_enternamespace.c:
+2004-03-24 01:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/vattribute.c: initialize 'bmask' member of
+         struct vc_ctx_caps
+         use negative logic of --bcap (this should be the 'old' behavior
+         of '--cap')
 
-2004-02-20 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers_handler.hc:
+       * util-vserver/src/rpm-fake.c: initialize 'bmask' member of struct
+         vc_ctx_caps
 
-       added support for more extensive output
+2004-03-24 01:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/capchroot.c, util-vserver/src/filetime.c,
+         util-vserver/src/readlink.c: rewrote it
 
-       * contrib/manifest.dat.pathsubst:
+2004-03-24 01:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved vserver-info into core
+       * util-vserver/src/Makefile-files: cleanups; moved some programs
+         into $legacydir
 
-2004-02-20 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver-internal.h:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added more
+         legacy programs
 
-       VC_ENABLE_API_V13(): incremented needed API-version
+2004-03-24 01:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/legacy/vserver: use $_XXXX variables instead
+         of static commandnames
+         use variables for paths
 
-       * lib/syscall_getvxinfo-v13.hc:
+2004-03-24 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_get_vx_info_v13(): handle xid==0 and xid==1 case manually
+       * util-vserver/scripts/legacy/distrib-info: moved parserpmdump to
+         legacy
 
-2004-02-20 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_REBOOTMGR
 
-       cleanup output in error-case
+2004-03-24 01:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_dietlibc.m4: fixed copy&paste error
 
-       * src/stack-start.h:
+2004-03-24 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed begin of STACK_START for non-growing stacks
+       * util-vserver/ChangeLog.sed, util-vserver/cvsusers.map,
+         util-vserver/ensc_vector, util-vserver/ensc_vector/.cvsignore,
+         util-vserver/lib_internal, util-vserver/lib_internal/.cvsignore:
+         initial checkin
 
-2004-02-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/fakerunlevel.c:
+       * util-vserver, util-vserver/.cvsignore, util-vserver/distrib,
+         util-vserver/distrib/.cvsignore,
+         util-vserver/ensc_vector/testsuite,
+         util-vserver/ensc_vector/testsuite/.cvsignore, util-vserver/lib,
+         util-vserver/lib/.cvsignore, util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore, util-vserver/src,
+         util-vserver/src/.cvsignore, util-vserver/src/testsuite,
+         util-vserver/src/testsuite/.cvsignore, util-vserver/tests,
+         util-vserver/tests/.cvsignore: added some standardfiles; I do not
+         want to wait until Savannah fixes
+         its scripts and allows access to CVSROOT/cvsignore again.
 
-       use more extensive errormessages
-       use <wrappers.h>
+2004-03-24 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/util-perror.h: placed a 'do ... while
+         (0)' block around the macros
 
-       * lib/: fscompat_getiattr-v13.hc[DEAD], fscompat_getiattr.c[DEAD],
-         fscompat_setiattr-v13.hc[DEAD], fscompat_setiattr.c[DEAD]:
+2004-03-24 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       obsoleted
+       * util-vserver/lib/bcaps_list-v13.c,
+         util-vserver/lib/syscall_getccaps-v13.hc,
+         util-vserver/lib/syscall_setccaps-v13.hc: handle the new struct
+         vc_ctx_caps::bmask member
 
-2004-02-20 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: chcontext.c, clearenv.c, exec-cd.c, exec-ulimit.c,
-         ifspec.c, listdevip.c, new-namespace.c, reducecap.c,
-         rpm-fake-resolver.c, rpm-fake.c, save_ctxinfo.c, secure-mount.c,
-         vkill.c:
+       * util-vserver/contrib/manifest.dat.pathsubst: moved some files
+         into legacy
+         handle sysv scripts
 
-       do not do the lo-check anymore
+2004-03-24 01:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: added formerly missing
+         'v_gated' registration
+         updated -legacy subpackage and moved some initscripts into it
 
-       * src/chbind.c:
+2004-03-24 01:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use more extensive errormessages
-       do not do the lo-check anymore
+       * util-vserver/lib/vserver.h: do not use PURE before gcc 3.3.3
+         use a more effective way to determine gcc revision
+         struct vc_ctx_caps: added 'bmask' member
 
-2004-02-20 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/compat.h: do not use PURE before gcc 3.3.3
+         use a more effective way to determine gcc revision
 
-       fix copy&paste error when giving out initpid
+2004-03-23 01:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-wrapper: fixed typo (missing 's')
 
-       * NEWS:
+2004-03-22 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.195
+       * util-vserver/scripts/vserver-build.functions: added basic support
+         for SuSE (patch from Thomas Guettler)
+         give more hints in errormessages (patch from Thomas Guettler)
 
-2004-02-19 23:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-22 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/scripts/vpkg: give out errormessage on unknown
+         distribution type
 
-       added SYSINFO command
-       internal cleanups
+2004-03-22 23:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: added basic support for SuSE
 
-       * m4/ensc_e2fscheck.m4:
+2004-03-19 16:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       tell correct packagename for Debian's e2fsprogs-devel
-       tell packagename for Mandrake
+       * util-vserver/src/vserver-stat.c: fixed race when process
+         disappeared shortly after reading /proc
 
-2004-02-19 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-19 16:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: chxid.c, fstool.c, fstool.h, lsxid.c, setattr.c,
-         showattr.c:
+       * util-vserver/doc/configuration.xml: documented
+         apps/init/{mark,depends}
+         mentioned the gentoo initstyle
 
-       applied new iattr interface and changed some internal functions
+2004-03-19 16:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-lsd.css: followed Bertl's
+         suggestion and added a subliminal message
 
-       * lib_internal/: unify-unify.c, util-safechdir.c:
+2004-03-19 16:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new iattr interface
+       * util-vserver/configure.ac: require at least version 0.24 of
+         dietlibc
 
-2004-02-19 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-19 16:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/m4/ensc_dietlibc.m4: allow to specify a
+         <min-version>
 
-       * changed iattr interface
-       * removed *iattr_compat() functions; functionality is covered by new
-         iattr interface already
+2004-03-18 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.204
 
-       * lib/virtual.h:
+2004-03-18 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added new iattr definitions
+       * util-vserver/lib_internal/util-dotfile.h: do not use PURE; it is
+         not applicable for inline declarations
 
-2004-02-19 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: syscall_getiattr-v13.hc, syscall_getiattr.c,
-         syscall_setiattr-v13.hc, syscall_setiattr.c:
+       * util-vserver/compat.h: fixed broken condition for PURE
+         define __builtin_expect() when needed
 
-       implemented new iattr interface
+2004-03-18 05:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vunify.c: cleanups in the verbosity code
 
-       * lib/syscall-compat.hc:
+2004-03-18 05:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_set_ipv4root_compat(): fixed off-by-one error while checking number
-       of allowed IPs
+       * util-vserver/scripts/legacy/vps.pathsubst,
+         util-vserver/scripts/legacy/vserver: use 'chcontext-compat'
+         instead of 'chcontext'
 
-2004-02-19 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fscompat_getiattr-fscompat.hc[DEAD],
-         fscompat_setiattr-fscompat.hc[DEAD],
-         syscall_getiattr-fscompat.hc, syscall_setiattr-fscompat.hc:
+       * util-vserver/scripts/vserver.stop: call isVserverRunning to
+         cleanup rundir
 
-       moved fscompat* files to *iattr-fscompat* and applied the changed iattr interface
+2004-03-18 05:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions.pkgmgmt: ignore
+         candidates for location of pkgmgmt-dir when $ROOTDIR is empty
 
-       * lib/createskeleton-full.hc:
+2004-03-18 05:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new iattr interface
+       * util-vserver/scripts/vserver-build: cleanups; use full
+         parenthesis in case ... esac
 
-2004-02-19 23:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/scripts/vserver: implemenented 'pkgmgmt' command
 
-       removed the fscompat* files
-       added *iattr-fscompat files
+2004-03-18 05:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vrpm: allow both internal and external
+         packagemanagement
 
-       * contrib/manifest.dat.pathsubst:
+2004-03-18 05:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added FEATURES.txt and vcopy
+       * util-vserver/scripts/vpkg: cleanups; generalized some functions
+         and moved them into the 'functions' file
 
-2004-02-19 23:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vapt-get: support both internal and external
+         packagemanagement
 
-       create FEATURES.txt and rearranged code a little bit
+2004-03-18 05:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added $_PKGMGMT
+         and $_TAR
 
-       * Makefile.am:
+2004-03-18 05:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added FEATURES.txt
+       * util-vserver/scripts/start-vservers: filter out non-matching
+         vservers *before* adding them to the makefile
 
-2004-02-18 05:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/functions: getVserverStatus(): fix problems
+         with leading whitespaces in numerical values
+         pkgmgmt.guessStyle(), pkgmgmt.isInternal(): added
 
-       added vc_createSkeleton() plus defines
+2004-03-18 05:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/pkgmgmt: initial checkin
 
-       * lib/fscompat_setiattr-fscompat.hc:
+2004-03-18 05:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_set_iattr_compat_fscompat(): fixed usage of the mode argument
+       * util-vserver/scripts/Makefile-files: added pkgmgmt
 
-2004-02-18 05:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/: unify-unify.c, unify.h:
+       * util-vserver/lib_internal/matchlist-initmanually.c: some cleanups
+         in the verbosity code
 
-       Unify_deUnify(): fixed parameters
-       Unify_copy(), Unify_setTime(): added prototype
+2004-03-18 05:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvservercfgstyle.c: filter out relative and
+         absolute paths; when they are not pointing to
+         an existing directory, the function fails
 
-       * lib_internal/unify-deunify.c:
+2004-03-18 05:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed parameters
+       * util-vserver/ensc_wrappers/wrappers_handler.hc: use
+         __builtin_expect
 
-2004-02-18 05:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/matchlist.h:
+       * util-vserver/distrib/defaults/apt/apt.conf: added
+         '@autogenerated@' tag plus small warning
 
-       MatchList_printId(): added prototype
+2004-03-18 05:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: added pkgmgmt script
 
-       * lib_internal/Makefile-files:
+2004-03-18 05:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added unify* and util-* files
+       * util-vserver/configure.ac: look for tar
 
-2004-02-18 05:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vunify.c, vunify.h:
+       * util-vserver/Makefile.am: substitute @TAR@
 
-       cleanups; outsourced a lot to libinternal.a
+2004-03-16 14:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chbind.c: use vc_get_nb_ipv4root() instead of
+         hardcoded '16' value
 
-       * src/util.h:
+2004-03-16 14:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; outsourced some macros/inlines to libinternal.a
+       * util-vserver/compat.h: CONST: added
 
-2004-02-18 05:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 14:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/lib/vserver.h: VC_ATTR_CONST: added
+         vc_get_nb_ipv4root(): added
 
-       added vcopy
-       link the fstool programs against libinternal.a
-       removed vserver-visitdir
+2004-03-16 14:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added getnbipv4root.c
 
-       * src/.cvsignore:
+2004-03-16 14:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vcopy
+       * util-vserver/lib/getnbipv4root.c: initial checkin
 
-2004-02-18 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 04:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util-safechdir.c[DEAD]:
+       * util-vserver/scripts/Makefile-files: added the sysvwrappers to
+         AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
 
-       moved into libinternal.a
+2004-03-16 04:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.202
 
-       * lib/createskeleton-full.hc, lib/createskeleton-short.hc,
-         lib/createskeleton.c, lib_internal/matchlist-printid.c,
-         lib_internal/unify-copy.c, lib_internal/unify-settime.c,
-         lib_internal/util-dotfile.h, lib_internal/util-safechdir.c,
-         lib_internal/util-safechdir.h, src/vcopy-init.hc, src/vcopy.c,
-         src/vserver-visitdir.hc:
+2004-03-16 03:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/sysv/Makefile-files: added vservers-default
+         removed vservers
 
-2004-02-18 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-io.hc:
+       * util-vserver/sysv/vservers.subst: obsoleted by new initscript
 
-       rewrote the W*all() function to accept an additional argument holding
-       the error, instead of giving out the error
+2004-03-16 03:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat/initpre,
+         util-vserver/lib/isdynamicxid.c,
+         util-vserver/scripts/vserver-wrapper,
+         util-vserver/sysv/vservers-default: initial checkin
 
-       * lib/Makefile-files:
+2004-03-16 03:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added createskeleton* files
+       * util-vserver/src/vserver-info.c: implemented INITPID for the
+         compat API
 
-2004-02-18 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * pathconfig.h.pathsubst:
+       * util-vserver/src/rpm-fake.c: implemented/fixed the non-legacy
+         part
+         cleanups
 
-       added DEFAULT_PKGSTATEDIR
+2004-03-16 03:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake-resolver.c: implemented/fixed the
+         non-legacy part
 
-       * compat.h:
+2004-03-16 03:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added PURE
+       * util-vserver/scripts/vserver.suexec: added internal mode to use
+         'suexec' for stopped vservers also
 
-2004-02-18 05:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac, Makefile.am:
+       * util-vserver/scripts/vserver.stop: added a more efficient stop
+         method for fakeinit vservers
 
-       do not redefine 'LIBTOOL'; the '--tag' causes problems on install
+2004-03-16 03:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 20:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: finxed incomplete quoting
 
-       * configure.ac:
+2004-03-16 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call ENSC_DIETLIBC_NEED_COMPAT to determine if '-lcompat' is needed for dietlibc
+       * util-vserver/scripts/vserver.functions: handle fakeinit
+         separately
+         cleanups and fixes in the flag-generation
 
-2004-02-17 20:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/scripts/vserver: added support for an internal
+         command mode
 
-       define $(VSERVER_LDADDS)
-       generalized some LIBTOOL stuff
-       do not install libinternal.a anymore
+2004-03-16 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 20:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_INITSYNC_MINIT_* variables
+         added $_START_VSERVERS
 
-       * tests/Makefile-files:
+2004-03-16 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use $(VSERVER_LDADDS) instead of lib/libvserver.la to use '-lcompat' on purpose
+       * util-vserver/scripts/start-vservers: added ok/passed/failed logic
 
-2004-02-17 20:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/scripts/Makefile-files: ship vsyswrapper again
 
-       _pkgMountRPM(): do not mount /proc when it is already mounted
+2004-03-16 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 20:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: vc_is_dynamic_xid(): added
 
-       * src/rpm-fake.c:
+2004-03-16 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rearranged inclusion of <sys/socket.h> to fix compilation problems
-       with fc1.90
+       * util-vserver/lib/Makefile-files: added isdynamicxid.c
 
-2004-02-17 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rebootmgr.c:
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: Evc_set_ccaps():
+         added
 
-       include <limits.h>
+2004-03-16 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat/initpost: use internal 'chkconfig'
+         command
 
-       * src/Makefile-files:
+2004-03-16 03:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use $(VSERVER_LDADDS) instead of lib/libvserver.la to use '-lcompat' on purpose
-       fixed capchroot compilation
+       * util-vserver/distrib/Makefile.am: added initpre to handle rpm's
+         misclassification of %_netsharedpath
 
-2004-02-17 20:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_dietlibc_compat.m4:
+       * util-vserver/contrib/make-manifest,
+         util-vserver/contrib/manifest.dat.pathsubst: handle some sysv
+         files too
 
-       initial checkin
+2004-03-16 03:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: updated the -sysv package
 
-       * ensc_vector/testsuite/test1.c, src/testsuite/vunify-functest.c:
+2004-03-15 21:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       make non-C99 compilers happy
+       * util-vserver/src/vcontext.c: cleanups; remove unused code
+         added '--silentexist'
+         use context-sync.hc
 
-2004-02-17 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-15 21:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS:
+       * util-vserver/src/chcontext.c: use code from context-sync.hc
 
-       version 0.29.192
+2004-03-15 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/context-sync.hc: initial checkin
 
-       * Makefile.am:
+2004-03-15 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing backslash
+       * util-vserver/src/Makefile-files: added context-sync.hc
 
-2004-02-17 03:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-15 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vunify.h, testsuite/Makefile-files,
-         testsuite/vunify-functest.c:
+       * util-vserver/scripts/vserver-build.apt-rpm: cleanups; full
+         parenthesis for case ... esac statements
 
-       use new lib_internal/
+2004-03-15 21:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: cleanups; full parenthesis for case
+         ... esac statements
+         give more helpful error messages
 
-       * src/vunify-init.hc:
+2004-03-15 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved most function into lib_internal/
+       * util-vserver/lib_internal/jail.h,
+         util-vserver/lib_internal/jailintotempdir.c: return indication
+         about place of error
 
-2004-02-17 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-15 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify.c:
+       * util-vserver/configure.ac: print correct $prefix when '--prefix'
+         is not specified
 
-       use new lib_internal
+2004-03-13 03:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.201
 
-       * src/util.h:
+2004-03-13 03:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved some functions/macros into lib_internal/util-*
+       * util-vserver/src/vcontext.c: added another #warning
 
-2004-02-17 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-13 03:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/src/vcontext.c: fixed '--uid' option (it's
+         required_argument but not no_argument)
+         drop privileges after migrate()
 
-       removed vunify-* files which went into lib_internal
+2004-03-13 03:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: call $_SAVE_CTXINFO until we
+         have something better
 
-       * Makefile.am:
+2004-03-13 02:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lib_internal/ files
+       * util-vserver/src/vcontext.c: updated to new kernel behavior
 
-2004-02-17 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-13 02:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vunify-compare.hc[DEAD], vunify-debug.c[DEAD],
-         vunify-doit.hc[DEAD], vunify-matchlist.c[DEAD],
-         vunify-matchlist.h[DEAD]:
+       * util-vserver/src/vattribute.c: renamed set*() to parse*()
+         set the correct secure attributes
+         call set_flags/set_ccaps only, when there is something to do
 
-       moved functionality into lib_internal library
+2004-03-13 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/chcontext,
+         util-vserver/scripts/vserver.start: applied new CLI
 
-       * lib_internal/: Makefile-files, matchlist-appendfiles.c,
-         matchlist-compare.c, matchlist-destroy.c, matchlist-init.c,
-         matchlist-initbyvserver.c, matchlist-initmanually.c,
-         matchlist-initrefserverlist.c, matchlist.h, pathinfo-append.c,
-         pathinfo-test.c, pathinfo.h, string-destroy.c, string.h,
-         string.hc, unify-deunify.c, unify-unify.c, unify.h, util-io.h,
-         util-mem.h:
+2004-03-13 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib_internal/Makefile-files: added jail* files
 
-2004-02-17 03:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-13 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/: wrappers-unistd.hc, wrappers_handler.hc:
+       * util-vserver/lib_internal/jail.h,
+         util-vserver/lib_internal/jailintotempdir.c: initial checkin
 
-       fixed some 'noreturn' warnings for the execv() functions
+2004-03-13 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: Evc_get_ccaps():
+         added declaration
 
-       * contrib/make-manifest:
+2004-03-12 19:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       ignore lines beginning with '#'
+       * util-vserver/src/vuname.c: rewrote it; CLI should be more usable
+         now
 
-2004-02-16 20:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 19:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/scripts/chcontext,
+         util-vserver/scripts/vserver.start: use new vuname syntax
 
-       set @ENSC_HAVE_*_COMPILER_TRUE@ tags
+2004-03-12 06:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vattribute.c: set caps before flags so that caps
+         can be changed in the same transaction
+         which deletes 'setup'
 
-       * ensc_vector/testsuite/test1.c:
+2004-03-12 04:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       #undef NDEBUG
+       * util-vserver/scripts/vserver.suexec: added some explicit '--'
 
-2004-02-16 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 04:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/scripts/functions: added some doc
+         getVserverStatus(): fixed it
 
-       use $_READLINK
-       mount /proc when doing pkg-management
+2004-03-12 04:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/save_ctxinfo.c: use strncat() instead of
+         strcat() to enforce correct length
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-03-12 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added readlink
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.200
 
-2004-02-16 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vrpm-preload:
+       * util-vserver/scripts/chcontext,
+         util-vserver/scripts/vserver.start: remove the setup flag
 
-       made rpm-flavor configurable (e.g. 'i' for install (default), 'q' for
-       query, 'd' for database)
+2004-03-12 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/virtual.h: cleanups
 
-       * scripts/vserver-build.functions:
+2004-03-12 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       register generated files so that they
-       can be cleaned up when needed
+       * util-vserver/scripts/chcontext: give '--xid' in migrate case
 
-2004-02-16 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.apt-rpm:
+       * util-vserver/scripts/chcontext: fixed migrate vs. migrate-self
 
-       call rpm.initDB()
+2004-03-12 03:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added kernel headers
 
-       * scripts/vserver-build.functions.rpm:
+2004-03-12 03:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rpm.initDB(): added
+       * util-vserver/kernel, util-vserver/kernel/context.h,
+         util-vserver/kernel/inode.h, util-vserver/kernel/legacy.h,
+         util-vserver/kernel/limit.h, util-vserver/kernel/namespace.h,
+         util-vserver/kernel/network.h, util-vserver/kernel/sched.h,
+         util-vserver/kernel/signal.h, util-vserver/kernel/switch.h:
+         initial checkin
 
-2004-02-16 20:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 03:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-setup.functions:
+       * util-vserver/sysv/vprocunhide: do not use /dev/null as lockfile
 
-       added --initstyle support (-> /etc/vservers/.../apps/init/style)
+2004-03-12 03:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vsched.c: updated to new API
 
-       * src/chbind.c:
+2004-03-12 03:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       refined test-routine to work in vservers without 'lo' interface
+       * util-vserver/src/vattribute.c: implemented --secure
 
-2004-02-16 20:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-mount.c:
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: allow '--debug' in the
+         destructors
 
-       define MS_REC when needed
+2004-03-12 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: added gentoo startup
+         style
 
-       * configure.ac, src/rpm-fake-resolver.c:
+2004-03-12 02:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added big, fat warning when not using dietlibc
+       * util-vserver/scripts/chcontext: fixed params
+         do not call vuname/vattribute when not needed
 
-2004-02-16 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 02:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/lib/testsuite/flags.c: added testsuite for the flags
 
-       added ENSC_HAVE_*_COMPILER_* to pathsubst-rules
+2004-03-12 02:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-14 02:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: updated interface
+         added flags
 
-       * scripts/vserver:
+2004-03-12 02:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use isAvoidNamespace() from main-functions file
+       * util-vserver/lib/virtual.h: use kernel headers
 
-2004-02-14 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 02:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: functions, vserver.functions:
+       * util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_setiattr-v13.hc,
+         util-vserver/lib/syscall_setsched-v13.hc: updated interface
 
-       moved isAvoidNamespace() into main-functions file
+2004-03-12 02:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-14 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/listparser.hc: added '^' modifier which marks
+         bit numbers
 
-       * m4/ensc_syscallnr.m4:
+2004-03-12 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed auto-case
-       improved message
+       * util-vserver/lib/flags-v13.c: added the flags
 
-2004-02-14 02:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-11 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_kerneldir.m4:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.199
 
-       ENSC_KERNEL_HEADERS: made argument optionally
+2004-03-11 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-14 02:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vuname.c: added more documentation
+         fixed '--version' conflicts
 
-       * contrib/manifest.dat.pathsubst:
+2004-03-11 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added clearenv
+       * util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c: implemented most parts of the new
+         migrate method
 
-2004-02-14 02:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-11 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vserver.start: set context-name
 
-       use ENSC_SYSCALLNR()
+2004-03-11 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-14 00:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added getvserverbyctx-* files
 
-       * lib/vserver-internal.h:
+2004-03-11 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use results from ENSC_SYSCALLNR
+       * util-vserver/lib/getvserverbyctx.c: implemented new
+         context-naming method
 
-2004-02-14 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-11 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_syscallnr.m4:
+       * util-vserver/lib/getvserverbyctx-compat.hc,
+         util-vserver/lib/getvserverbyctx-v13.hc: initial checkin
 
-       initial checkin
+2004-03-11 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-12 00:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc:
+         Evc_set_vhi_name(): added
 
-       * src/clearenv.c:
+2004-03-10 05:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use VSERVER_DECLARE_CMD
+       * util-vserver/doc/configuration.xml: documented 'fstab.local' and
+         enhanced 'fstab' doc
 
-2004-02-12 00:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-10 05:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/scripts/vserver.functions: added support for
+         'fstab.local' files
 
-       added clearenv
+2004-03-10 05:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-12 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/vprocunhide: made it a little bit more portable
+         by providing own implementations of
+         RH's /etc/init.d/functions when this file can not be found
+         (inspired
+         by a patch from Olivier Poitrey)
 
-       * scripts/vserver.start:
+2004-03-10 04:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use clearenv
+       * util-vserver/scripts/functions: callInNamespace(): call 'shift'
+         to remove the vserver-name from $@
 
-2004-02-12 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-10 02:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/doc, util-vserver/doc/.cvsignore: added
+         configuration.html
 
-       made namespace stuff configurable at a global place
+2004-03-10 02:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-12 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: added an option the 'CONTEXT'
+         query so that it can be choosen between
+         running/non running
 
-       * scripts/vrpm-preload:
+2004-03-10 02:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give more rights... (same like at --secure)
+       * util-vserver/src/vlimit.c, util-vserver/src/vuname.c: prefix
+         option string for getopt with '+' to avoid option reordering
 
-2004-02-12 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-10 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files, scripts/util-vserver-vars.pathsubst:
+       * util-vserver/scripts/vapt-get, util-vserver/scripts/vrpm: use
+         callInNamespace
 
-       added clearenv
+2004-03-10 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-12 00:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: isAvoidNamespace(): determine
+         full cfgdir path of vserver before checking for 'namespace' file
+         callInNamespace(): added
 
-       * src/clearenv.c:
+2004-03-10 02:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: minor cosmetical
+         cleanups...
 
-2004-02-10 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-10 02:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: chxid.c, setattr.c:
+       * util-vserver/scripts/chcontext,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: use '--' delimiter
 
-       handle dot-files by default; it does not make sense to use a special
-       '-a' flag for the set-operations
+2004-03-10 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: added/updated some
+         descriptions
 
-       * configure.ac:
+2004-03-10 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.28.200
+       * util-vserver/doc/configuration-lsd.css: flowers... where are all
+         the flowers coming from?
 
-2004-02-10 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-10 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-mount.c:
+       * util-vserver/Makefile.am, util-vserver/contrib/Makefile-files,
+         util-vserver/doc/Makefile-files,
+         util-vserver/ensc_vector/Makefile-files,
+         util-vserver/ensc_vector/testsuite/Makefile-files,
+         util-vserver/ensc_wrappers/Makefile-files,
+         util-vserver/lib/Makefile-files,
+         util-vserver/lib/testsuite/Makefile-files,
+         util-vserver/lib_internal/Makefile-files,
+         util-vserver/man/Makefile-files,
+         util-vserver/scripts/Makefile-files,
+         util-vserver/src/Makefile-files,
+         util-vserver/src/testsuite/Makefile-files,
+         util-vserver/tests/Makefile-files: modernized the Makefiles; use
+         '+=' where possible to remove complexity
+         from the toplevel Makefile.am
 
-       recognize 'rbind' in fstab
-       use internal mount(2) on MOVE too
+2004-03-09 17:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 15:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vprocunhide: remove the correct prefix
 
-       * scripts/: vserver, vserver.functions, vserver.start:
+2004-03-09 16:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented CLONE_NS and --rbind mounting
+       * util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: use $_CHONTEXT_COMPAT
+         explicitly
 
-2004-02-10 15:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 16:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-mount.c:
+       * util-vserver/scripts/vserver-setup.functions: use/create 'uts'
+         directory
 
-       implemented '--rbind'
+2004-03-09 16:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 13:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/chcontext: updated copyright date
 
-       * ensc_vector/testsuite/.cvsignore, lib/testsuite/.cvsignore:
+2004-03-09 16:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/doc/configuration.xml: documented the vunify
+         configuration
 
-2004-02-10 13:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 14:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/flags.c:
+       * util-vserver/scripts/chcontext: rewrote the non-legacy part
 
-       s!init!fakeinit!
+2004-03-09 14:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 13:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: aded
+         _KEEP_CTX_ALIVE
 
-       * configure.ac:
+2004-03-09 14:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.28.199
+       * util-vserver/scripts/chcontext: added missing ';' in case
+         expression
+         s!_CTX_KEEP_ALIVE!_KEEP_CTX_ALIVE!
 
-2004-02-10 13:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 04:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/NEWS: version 0.29.198
 
-       moved the 'chattr' into the right %post scriptlet
+2004-03-09 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 13:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: removed superfluous '--'
 
-       * lib/flags.c:
+2004-03-09 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       s!init!fakeinit!
+       * util-vserver/scripts/vserver.start: added explicit cleanup trap
+         removed superfluous '--'
 
-2004-02-10 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 03:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vserver.functions: added some parenthesis
 
-       version 0.28.198
+2004-03-09 03:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: made 'status' really silent
 
-       * contrib/: make-manifest, manifest.dat.pathsubst:
+2004-03-09 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved *.so.* files from -core to -lib
+       * util-vserver/scripts/start-vservers: initial checkin
 
-2004-02-10 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/scripts/functions: getVserverStatus(): fixed it for
+         the non-running & non-cleanup case
 
-       added -lib subpackage
-       moved *.so.* files from -core to -lib
-       removed the '%exclude ...vrpm.8'
-       added a 'make check'
+2004-03-09 03:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/scripts/Makefile-files: added start-vservers
 
-       * src/testsuite/.cvsignore:
+2004-03-09 03:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/ensc_wrappers/wrappers.h: fixed typo
+         fixed overflow
 
-2004-02-10 00:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-unistd.hc:
+       * util-vserver/util-vserver.spec.in: added Requires: make
 
-       Eexecvp(): added
-       added some 'NORETURN' specifiers
+2004-03-09 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: made 'status' silent when
+         '--silent' is used
 
-       * Makefile.am:
+2004-03-09 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lib/testsuite
+       * util-vserver/lib/apidoc, util-vserver/lib/apidoc/.cvsignore:
+         added man
 
-2004-02-10 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 02:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/vunify-test.sh:
+       * util-vserver/doc/configuration.html: removed since autogenerated
 
-       redirect output to /dev/null
+2004-03-09 02:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-lsd.css: use official HTML 4
+         colornames
 
-       * src/testsuite/rpm-fake-test.c:
+2004-03-09 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed compilation warnings
+       * util-vserver/doc/beautify.xsl,
+         util-vserver/doc/compatibility-xhtml.xsl,
+         util-vserver/doc/configuration-xhtml.xsl: use official XHTML
+         namespace
 
-2004-02-10 00:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 01:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/chcontext-test.c:
+       * util-vserver/distrib/defaults/rpm/macros,
+         util-vserver/distrib/redhat/initpost: added hack for
+         https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=117827
 
-       added explicite 'return' for non-C99 compilers
+2004-03-08 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_syscallnr.m4: stopped to confuse users with
+         wrong error messages
 
-       * src/testsuite/Makefile-files:
+2004-03-08 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chbind-test
+       * util-vserver/lib/apidoc/Makefile-files: handle man directory
 
-2004-02-10 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-08 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * man/Makefile-files:
+       * util-vserver/lib/apidoc/Doxyfile.in: updated
 
-       renoved vrpm.8 for now
+2004-03-08 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/Makefile-files: filled it with content...
 
-       * lib/vserver.h:
+2004-03-08 19:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_text2cap(): take 'unsigned int' instead of 'int' argument
-       vc_textlist2flag(), vc_text2flag(), vc_hiflag2text(): added prototypes
+       * util-vserver/util-vserver.spec.in: added documentation
 
-2004-02-10 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-08 18:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/capabilities.c:
+       * util-vserver/doc/configuration.xml: documented tty symlink
+         use documentation.dtd instead of cfgdirdoc.dtd
+         some small corrections/adjustments
 
-       vc_text2cap(): take 'unsigned int' instead of 'int' argument
+2004-03-08 18:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/beautify.xsl,
+         util-vserver/doc/configuration-lsd.css,
+         util-vserver/doc/configuration-xhtml.xsl,
+         util-vserver/doc/configuration.html: initial checkin
 
-       * lib/Makefile-files:
+2004-03-08 18:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added flags* files
-       added testsuite + -programs
+       * util-vserver/doc/compat-xhtml.xsl,
+         util-vserver/doc/compatibility-xhtml.xsl: renamed
+         compat-xhtml.xsl to compatibility-xhtml.xsl
 
-2004-02-10 00:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-08 18:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chcontext.c:
+       * util-vserver/doc/cfgdirdoc.dtd,
+         util-vserver/doc/configuration.dtd: renamed cfgdirdoc.dtd to
+         configuration.dtd
 
-       setFlags(): use vc_textlist2flag() function
-       rearranged code to avoid unremovable zombie processes
+2004-03-08 08:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added more doc
 
-       * src/: chbind.c, reducecap.c:
+2004-03-08 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rewrote it
+       * util-vserver/lib/testsuite/flags.c: fixed uninitialized variable
 
-2004-02-10 00:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-08 00:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/lib/apidoc, util-vserver/lib/apidoc/.cvsignore,
+         util-vserver/lib/apidoc/Doxyfile.in,
+         util-vserver/lib/apidoc/Makefile-files: initial checkin
 
-       made reducecap & chbind native dietlibc programs
+2004-03-08 00:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: use '--migrate-self' instead
+         of '--migrate'
 
-       * lib/flags.c, lib/flags_list.c, lib/testsuite/Makefile-files,
-         lib/testsuite/flags.c, src/testsuite/chbind-test.c:
+2004-03-07 23:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/vcontext.c: added '--migrate-self' support
 
-2004-02-06 23:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 23:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/scripts/vserver.functions: use different files for
+         'bcap' and 'ccap' for now
 
-       added sys_clone.h
+2004-03-07 23:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 23:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: added changelog entry
 
-       * util-vserver.spec.in:
+2004-03-07 22:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'chattr -t /vservers' + needed Requires:
+       * util-vserver/src/vunify.h: fixed NONNULL annotations
 
-2004-02-06 23:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 22:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions:
+       * util-vserver/lib/vserver.h: added doxygen annnotations
+         added special compiler annotations
 
-       call 'chattr -t' on newly create vserverdirs
-       cleanups; parenthesize case-expressions
+2004-03-07 22:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 22:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/internal.h: added doxygen annnotations
+         fixed NONNULL statements
 
-       * src/util.h:
+2004-03-07 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       exitLikeProcess(): added NORETURN attribute to prototype
+       * util-vserver/lib/fmt.h: added doxygen annnotations
 
-2004-02-06 22:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake.c:
+       * util-vserver/lib/Makefile-files: added apidoc directory
 
-       cleanups; use sys_clone()
+2004-03-07 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 22:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac, util-vserver/util-vserver.spec.in:
+         added doxygen support
 
-       * src/new-namespace.c:
+2004-03-07 22:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; modernized it
+       * util-vserver/compat.h: fixed typo in __GNUC_MINOR__
 
-2004-02-06 22:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 19:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/src/vattribute.c: use new interface of the list2...
+         functions
+         implemented --bcaps and --ccaps
 
-       link new-namespace against util-exitlikeprocess
-       cleanups
+2004-03-07 19:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 22:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chcontext.c, util-vserver/src/reducecap.c: use
+         new interface of the list2... functions
 
-       * src/sys_clone.h:
+2004-03-07 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: added
+         .../interfaces/.../nodev option and deprecated 'only_ip'
 
-2004-02-06 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/Makefile-files:
+       * util-vserver/lib/testsuite/flags.c: applied new interface
 
-       do not call vunify-test when no C99 compiler is available
+2004-03-07 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 18:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added some documentation
+         added some flag/caps support functions
 
-       * ensc_vector/testsuite/: Makefile-files, test1.c:
+2004-03-07 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/virtual.h: renamed scaps to bcaps
 
-2004-02-06 18:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 19:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/vunify-test.sh:
+       * util-vserver/lib/syscall_setflags.c: added EFAULT check
 
-       use '-n' flag
+2004-03-07 19:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 18:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_getflags-v13.hc,
+         util-vserver/lib/syscall_setflags-v13.hc: minor cosmetical
+         cleanups
 
-       * src/vutil.cc:
+2004-03-07 19:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor cosmetical changes
+       * util-vserver/lib/listparser.hc: interpret numbers too
 
-2004-02-06 18:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify-init.hc:
+       * util-vserver/lib/internal.h: added the text2value functions
 
-       initModeManually(): added missing strdup()
+2004-03-07 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 18:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/flags-v13.c,
+         util-vserver/lib/flags_list-compat.c,
+         util-vserver/lib/flags_list-v13.c: cleanups; use modern
+         methods...
 
-       * Makefile.am, ensc_vector/Makefile-files:
+2004-03-07 19:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added ensc_vector testsuite
+       * util-vserver/lib/bcaps-v13.c, util-vserver/lib/bcaps_list-v13.c,
+         util-vserver/lib/ccaps-v13.c, util-vserver/lib/ccaps_list-v13.c,
+         util-vserver/lib/syscall_getccaps-v13.hc,
+         util-vserver/lib/syscall_getccaps.c,
+         util-vserver/lib/syscall_setccaps-v13.hc,
+         util-vserver/lib/syscall_setccaps.c,
+         util-vserver/lib/val2text-t2v-uint32.c,
+         util-vserver/lib/val2text-t2v-uint64.c,
+         util-vserver/lib/val2text-v2t-uint32.c,
+         util-vserver/lib/val2text-v2t-uint64.c,
+         util-vserver/lib/val2text.hc: initial checkin
 
-2004-02-06 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 19:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_vector/vector-insert.c:
+       * util-vserver/lib/Makefile-files: added the caps-files
+         added the val2text-files
 
-       fixed it
+2004-03-07 19:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: documented
+         '.../interfaces/.../nodev'
 
-       * src/vserver-stat.c:
+2004-03-06 02:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use ensc_vector
-       cleanups
+       * util-vserver/util-vserver.spec.in: s!Require!Requires!
 
-2004-02-06 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-06 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/lsxid.c:
+       * util-vserver/sysv/vprocunhide: initial checkin
 
-       use ensc_vector to cache xid->name mappings
+2004-03-06 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 17:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/Makefile-files: modernized; use '+=' syntax
+         added vprocunhide
 
-       * src/Makefile-files:
+2004-03-06 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       link vserver-stat against libensc_vector.a
+       * util-vserver/src/vuname.c: made it chainable
+         added '--dir' option
 
-2004-02-06 16:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-06 01:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/src/vlimit.c: cleanups
 
-       enumerated possible resources
+2004-03-06 01:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 16:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: call vuname
 
-       * src/chxid.c:
+2004-03-06 01:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed do-display-dir behavior
+       * util-vserver/scripts/vprocunhide: implemented exclude/include
+         syntax
+         fixed exit codes
 
-2004-02-06 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-06 01:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added $_VUNAME
 
-       _generateFlagOptions(): fixed a case expression; formerly x"foo" ==
-       foo checks which would never succeed
+2004-03-06 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: documents uts/ and rlimit/
+         subdirs
 
-       * src/: chcontext.c, chroot-cat.c, chroot-rm.c, exec-cd.c,
-         exec-ulimit.c, fstool.c, new-namespace.c, pipe-sync.c,
-         rpm-fake-resolver.c, save_ctxinfo.c, vps.c, vrsetup.c,
-         vserver-info.c, vserver-stat.c, vunify-doit.hc, vunify-init.hc,
-         vunify-matchlist.c, vunify.c, testsuite/rpm-fake-test.c:
+2004-03-06 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new ensc_wrappers/ headers
+       * util-vserver/distrib/misc/vprocunhide-files: added some files
 
-2004-02-06 15:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-06 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/util-vserver.spec.in: added vprocunhide initscript
 
-       removed wrappers-*
-       link lsxid against libensc_vector.a
+2004-03-06 01:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 15:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: modernized it a little bit; use '+='
+         syntax for sysv/ now
 
-       * src/: wrappers-dirent.h[DEAD], wrappers-io.h[DEAD],
-         wrappers-vserver.h[DEAD], wrappers.h[DEAD]:
+2004-03-05 22:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved and generalized into an own /ensc_wrappers subdir
+       * util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: added support for new
+         migrate feature
 
-2004-02-06 15:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 22:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_vector/Makefile-files, ensc_vector/vector-clear.c,
-         ensc_vector/vector-free.c, ensc_vector/vector-init.c,
-         ensc_vector/vector-insert.c, ensc_vector/vector-internal.h,
-         ensc_vector/vector-popback.c, ensc_vector/vector-pushback.c,
-         ensc_vector/vector-resize.c,
-         ensc_vector/vector-resizeinternal.hc,
-         ensc_vector/vector-search.c, ensc_vector/vector-sort.c,
-         ensc_vector/vector-unique.c, ensc_vector/vector.h,
-         ensc_vector/vector.hc, ensc_wrappers/Makefile-files,
-         ensc_wrappers/wrappers-clone.hc,
-         ensc_wrappers/wrappers-dirent.hc,
-         ensc_wrappers/wrappers-fcntl.hc, ensc_wrappers/wrappers-io.hc,
-         ensc_wrappers/wrappers-ioctl.hc,
-         ensc_wrappers/wrappers-iosock.hc,
-         ensc_wrappers/wrappers-mount.hc, ensc_wrappers/wrappers-pivot.hc,
-         ensc_wrappers/wrappers-resource.hc,
-         ensc_wrappers/wrappers-stdlib.hc,
-         ensc_wrappers/wrappers-unistd.hc,
-         ensc_wrappers/wrappers-vserver.hc,
-         ensc_wrappers/wrappers-wait.hc, ensc_wrappers/wrappers.h,
-         ensc_wrappers/wrappers_handler.hc:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_VCONTEXT and $_VLIMIT
 
-       initial checkin
+2004-03-05 22:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: isAvoidNamespace(): use
+         'vserver-info - FEATURE namespace' inforamtion too
 
-       * Makefile.am:
+2004-03-05 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added ensc_vector/ & ensc_wrappers/ subdirs and files
+       * util-vserver/distrib/misc/vprocunhide-files,
+         util-vserver/scripts/vprocunhide: initial checkin
 
-2004-02-05 23:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/setattr.c:
+       * util-vserver/src/vlimit.c: try to read limits from dir only, when
+         '--dir' was used
 
-       documented --barrier
-       fixed do-display-dir behavior
+2004-03-05 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 05:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/setattr.c: allow '--!...' syntax too
 
-       * scripts/vserver.functions:
+2004-03-05 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added another path for the template mtab file
+       * util-vserver/scripts/vserver-build.functions.pkgmgmt: added a
+         missing '\'
 
-2004-02-05 05:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 19:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added setattr
+         and vprocunhide
 
-       version 0.28.195
+2004-03-05 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 05:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: added vprocunhide
 
-       * distrib/defaults/apt.conf:
+2004-03-05 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/doc/configuration.xml: documented vprocunhide
+         documentation
 
-2004-02-05 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/distrib/Makefile.am: added vprocunhide-files
 
-       added default apt.conf
+2004-03-05 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: added vprocunhide
+         files
 
-       * doc/configuration.xml:
+2004-03-05 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented default apt.conf
+       * util-vserver/scripts/chcontext, util-vserver/scripts/functions,
+         util-vserver/scripts/rootshell, util-vserver/scripts/vapt-get,
+         util-vserver/scripts/vapt-get-worker, util-vserver/scripts/vpkg,
+         util-vserver/scripts/vpstree, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vrpm-preload,
+         util-vserver/scripts/vrpm-worker, util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.functions.pkgmgmt,
+         util-vserver/scripts/vserver-build.skeleton,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop:
+         added some '>&2'
 
-2004-02-05 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 17:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall-legacy.hc:
+       * util-vserver, util-vserver/.cvsignore: added FEATURES.txt
 
-       minor code cleanups
-       added a missing '#ifdef ENSC_SYSCALL_TRADITIONAL'
+2004-03-05 17:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore,
+         util-vserver/lib/testsuite/Makefile-files: added parselimit
 
-       * m4/ensc_syscall.m4:
+2004-03-05 17:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       enhanced check by using kernel headers
+       * util-vserver/src/vlimit.c: added '--dir' parameter
+         allow command-chaining
+         support limits with suffixes
+         make '-c' optionally and assume current ctx by default
 
-2004-02-05 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 17:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions.apt:
+       * util-vserver/lib/parselimit.c,
+         util-vserver/lib/testsuite/parselimit.c: initial checkin
 
-       added default apt.conf/vendors.conf files
+2004-03-05 17:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: vc_parseLimit(): added prototype
 
-       * src/chcontext.c:
+2004-03-05 17:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use sethostname(2)/setdomainname(2) again...
+       * util-vserver/lib/Makefile-files: added parselimit.c
 
-2004-02-05 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/src, util-vserver/src/.cvsignore: updated; added
+         vattribute and keep-ctx-alive
 
-       use ENSC_SYSCALL
-       enhanced diagnostic output
+2004-03-05 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcontext.c: implement the vc_set_flags() part
 
-       * lib/: syscall-legacy.hc, vserver-internal.h:
+2004-03-05 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use ENSC_SYSCALL_TRADITIONAL
+       * util-vserver/src/vattribute.c: setFlags(): implemented it
 
-2004-02-05 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall.c:
+       * util-vserver/lib_internal/Makefile-files: added util-unixsock.hc
 
-       cleanups; do not include "compat.h" anymore explicitly
+2004-03-05 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: fixed
+         error-checking
 
-       * Makefile.am:
+2004-03-05 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added @WGET@ substitution
+       * util-vserver/lib/getprocentry-legacy.c,
+         util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall_getflags-v13.hc,
+         util-vserver/lib/syscall_getiattr.c,
+         util-vserver/lib/syscall_getvxinfo-oldproc.hc,
+         util-vserver/lib/syscall_getvxinfo.c,
+         util-vserver/lib/syscall_setflags-v13.hc: return better
+         errorcodes
 
-2004-02-04 22:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_syscall.m4:
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: fixed copy&paste
+         error
 
-       initial checkin
+2004-03-05 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 22:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/Makefile-files: added
+         wrappers-socket.hc
 
-       * scripts/vpkg:
+2004-03-05 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented Debian support
+       * util-vserver/contrib/manifest.dat.pathsubst: added vattribute and
+         keep-ctx-alive
 
-2004-02-04 22:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver:
+       * util-vserver/src/vserver-info.c: added 'FEATURE' tag
 
-       cleanups
-       added '--silent' option
+2004-03-05 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 22:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcontext.c: added support for external
+         synchronization
 
-       * src/: vunify-init.hc, vunify.c:
+2004-03-05 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor cleanups
+       * util-vserver/src/reducecap.c: use vc_list2flag_compat() instead
+         of vc_textlist2flag
 
-2004-02-04 04:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/fscompat_getiattr-v13.hc:
+       * util-vserver/src/keep-ctx-alive.c, util-vserver/src/vattribute.c:
+         initial checkin
 
-       fixed 'xid' parameter transmission
+2004-03-05 03:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 04:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/fstool.c, util-vserver/src/fstool.h,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c: added
+         support for VC_IATTR_IMMUTABLE flag
 
-       * NEWS:
+2004-03-05 03:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.28.193
+       * util-vserver/src/enter-namespace.c,
+         util-vserver/src/new-namespace.c: obsoleted by vnamespace
 
-2004-02-04 04:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/src/chcontext.c: use vc_list2flag_compat() instead
+         of vc_textlist2flag()
 
-       added check for wget
-       version 0.28.193
+2004-03-05 03:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: removed new-namespace and
+         enter-namespace
+         added keep-ctx-alive and vattribute
+         added src_legacy_* variables
 
-       * util-vserver.spec.in:
+2004-03-05 03:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some (Build)Requires:
+       * util-vserver/scripts/vapt-get, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vserver: use $_VNAMESPACE instead of
+         $_NEW_NAMESPACE
 
-2004-02-04 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_VATTRIBUTE and $_VNAMESPACE
+         removed $_NEW_NAMESPACE
 
-       added debootstrap files
+2004-03-05 03:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 04:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/chcontext: began to implement the new
+         vcontext part...
 
-       * doc/configuration.xml:
+2004-03-05 03:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented debootstrap configuration
+       * util-vserver/m4/ensc_syscallnr.m4: use
+         $ensc_cv_path_kernelheaders instead of $kernelincludedir
 
-2004-02-04 04:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.debootstrap:
+       * util-vserver/lib_internal/util.h: include "util-unixsock.h"
 
-       fixed path of default-uri file
+2004-03-05 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 03:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/unify-unify.c: use VC_IATTR_IMMUTABLE
+         flag too
 
-       * distrib/misc/debootstrap.uri:
+2004-03-05 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib_internal/util-unixsock.h: initial checkin
 
-2004-02-04 03:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/lib/testsuite/flags.c: updated to new flag functions
 
-       added debootstrap.uri
+2004-03-05 03:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 03:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: use uint_leastX_t instead of uintX_t
+         added -compat versions for the flag-parsers
+         vc_isSupportedString(): added
 
-       * scripts/vserver-setup.functions:
+2004-03-05 03:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use $PKGLIBDEFAULTDIRc
+       * util-vserver/lib/internal.h: added utilvserver_listparser_uint*
+         declarations
 
-2004-02-04 03:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver-build.apt-rpm, vserver-build.functions,
-         vserver-build.skeleton:
+       * util-vserver/lib/fmt-32.c, util-vserver/lib/fmt-64.c,
+         util-vserver/lib/fmt.h, util-vserver/lib/fmt.hc,
+         util-vserver/lib/fmtx-32.c, util-vserver/lib/fmtx-64.c,
+         util-vserver/lib/fmtx.hc: fixed aliased functions; they are now
+         in the *.c files and will not be
+         used anymore by every file including 'fmt.h'
 
-       cleanups; use 'base.' namespace
+2004-03-05 03:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/flags.c, util-vserver/lib/flags_list.c: renamed
+         to -compat.c
 
-       * scripts/vserver-build:
+2004-03-05 03:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added debootstrap
+       * util-vserver/ensc_wrappers/wrappers-socket.hc,
+         util-vserver/lib/flags-compat.c, util-vserver/lib/flags-v13.c,
+         util-vserver/lib/flags_list-compat.c,
+         util-vserver/lib/flags_list-v13.c,
+         util-vserver/lib/issupportedstring.c,
+         util-vserver/lib/listparser.hc,
+         util-vserver/lib/listparser_uint32.c,
+         util-vserver/lib/listparser_uint64.c: initial checkin
 
-2004-02-04 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vpkg:
+       * util-vserver/lib/Makefile-files: updated to new flags* files
+         added listparser* files
+         removed unused statements
 
-       added basic support for Debian
+2004-03-05 03:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers.h: added wrappers-socket.hc
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-03-05 03:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_WGET
+       * util-vserver/ensc_wrappers/wrappers-iosock.hc: modernized
+         declarations (use WRAPPER_DECL)
+         WsendAll(),WrecvAll(): added 'int *err' parameter and do not use
+         perror() anymore
 
-2004-02-04 03:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/contrib/manifest.dat.pathsubst: removed
+         new-namespace and enter-namespace; they are obsoleted by
+         vnamespace
 
-       added debootstrap and pkgmgmt files
+2004-03-05 03:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 03:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added $(src_legacy_*)
 
-       * scripts/vserver-build.debootstrap:
+2004-03-04 04:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/m4/ensc_syscallnr.m4: requires AC_PROG_CPP
 
-2004-02-03 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-04 04:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/lib/vserver.h: added VC_IATTR_IMMUTABLE
 
-       version 0.28.192
+2004-03-04 04:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/virtual.h: added IATTR_IMMUTABLE
 
-       * src/.cvsignore:
+2004-03-04 04:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'vuname'
+       * util-vserver/lib/Makefile-files: do not use -I $kernelincludedir
+         anymore
 
-2004-02-03 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-04 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/: Makefile-files, make-manifest, manifest.dat.pathsubst,
-         .cvsignore:
+       * util-vserver/m4/ensc_syscallnr.m4: rewrote it...
 
-       initial checkin
+2004-03-04 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_cflags.m4, util-vserver/m4/ensc_dietlibc.m4,
+         util-vserver/m4/ensc_dietlibc_compat.m4,
+         util-vserver/m4/ensc_fpicsyscall.m4,
+         util-vserver/m4/ensc_syscall.m4: use unique identifiers
 
-       * configure.ac:
+2004-02-27 19:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added more details to the final summary
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.197
 
-2004-02-03 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/distrib/redhat/initpost: fixed kernel-pkg
+         installation
+         fixed initscript update
 
-       added misc/fstab
+2004-02-27 19:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: added vsched
 
-       * scripts/: vserver-build.apt-rpm, vserver-build.functions:
+2004-02-27 19:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       splitted some functions into a separate vserver-build.functions.pkgmgmt file
-       use XXX.yyy namespace-style notation
+       * util-vserver/lib/testsuite/fmt.c: include <string.h>
 
-2004-02-03 22:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions.pkgmgmt,
-         scripts/vserver-build.skeleton, distrib/misc/fstab:
+       * util-vserver/contrib/manifest.dat.pathsubst: added vsched
 
-       initial checkin
+2004-02-27 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chbind.c: removed unused variable
 
-       * scripts/vserver-setup.functions:
+2004-02-27 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       allow to configure fstab-file
+       * util-vserver/src/testsuite/rpm-fake-test.c: include <string.h>
 
-2004-02-03 22:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver-build.functions.apt,
-         vserver-build.functions.rpm:
+       * util-vserver/src/Makefile-files, util-vserver/src/vsched.c,
+         util-vserver/src/vschedule.c: renamed vschedule to vsched
 
-       splitted some functions into a separate vserver-build.functions.pkgmgmt file
-       use XXX.yyy namespace-style notation
+2004-02-27 18:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: added
+         chcontext-compat and vschedule
 
-       * scripts/vserver-build:
+2004-02-27 18:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added skeleton support
-       fixed help message
+       * util-vserver/lib/syscall_setsched-v13.hc,
+         util-vserver/lib/syscall_setsched.c,
+         util-vserver/src/vschedule.c: initial checkin
 
-2004-02-03 22:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver:
+       * util-vserver/src/Makefile-files: added vschedule
 
-       added '--debug' option
+2004-02-27 18:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added vc_set_sched declarations
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-02-27 18:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT
+       * util-vserver/lib/virtual.h: removed 'otpions' field from
+         vcmd_set_sched_v1
 
-2004-02-03 22:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/lib/Makefile-files: added *setsched* files
 
-       added vserver-build.skeleton
+2004-02-27 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chcontext.c: cleanups; applied name-change from
+         'chcontext' to 'chcontext-compat'
 
-       * src/vkill.c:
+2004-02-27 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; use modern interfaces
+       * util-vserver/src/Makefile-files: renamed 'chcontext' to
+         'chcontext-compat'
 
-2004-02-03 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util.h:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_CHCONTEXT_COMPAT
+         updated $_CHCONTEXT
 
-       VSERVER_DECLARE_CMD macro: added
+2004-02-27 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: isKernelAPI(): added
 
-       * src/Makefile-files:
+2004-02-27 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vuname
+       * util-vserver/lib/issupported.c, util-vserver/scripts/chcontext:
+         initial checkin
 
-2004-02-03 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/Makefile-files:
+       * util-vserver/scripts/Makefile-files: added chcontext wrapper
 
-       added workaround for automake bug
+2004-02-27 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added vc_isSupported()
+         cleanups
 
-       * src/vuname.c:
+2004-02-27 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/virtual.h: updated scheduler definitions
 
-2004-02-03 13:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/lib/Makefile-files: added issupported.c
 
-       use ENSC_C99COMPILER
-       give out summary at end of ./configure
+2004-02-27 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 13:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: added
+         chcontext-compat
 
-       * src/Makefile-files:
+2004-02-27 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * added support for ENSC_HAVE_C99_COMPILER and conditionalized build
-         of 'vunify'
-       * renamed *_CXX_X_* variables to *_CXX_*
+       * util-vserver/src/vcontext.c: cleanups; restructured code
 
-2004-02-03 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify.cc[DEAD]:
+       * util-vserver/src/new-namespace.c: cleanups; do not include
+         "stack-start.h" anymore
 
-       removed since rewritten in C
+2004-02-27 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore,
+         util-vserver/src/Makefile-files: added vnamespace
 
-       * m4/ensc_dietlibc.m4:
+2004-02-27 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'yes' instead of '1'
+       * util-vserver/lib/syscall_cleanupnamespace-v13.hc,
+         util-vserver/lib/syscall_cleanupnamespace.c,
+         util-vserver/lib/syscall_setnamespace-v13.hc,
+         util-vserver/lib/syscall_setnamespace.c,
+         util-vserver/src/vnamespace.c: initial checkin
 
-2004-02-03 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_cxxcompiler.m4:
+       * util-vserver/src/fakerunlevel.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/save_ctxinfo.c, util-vserver/src/vrsetup.c,
+         util-vserver/src/vserver-stat.c: use wrappers with detailed
+         error-messages
 
-       added ENSC_C99COMPILER
-       added warning-messages
+2004-02-27 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 13:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/fmt.c: made non-C99 compilers happy
 
-       * lib/: syscall_getvhiname-v13.hc, syscall_setvhiname-v13.hc:
+2004-02-27 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       #include <string.h>
+       * util-vserver/lib/vserver.h: vc_set_namespace(),
+         vc_cleanup_namespace(): added prototypes
 
-2004-02-02 20:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/compatibility.xml:
+       * util-vserver/lib/virtual.h: added VCMD_set_namespace and
+         VCMD_cleanup_namespace declarations
 
-       added note about chcontext rewrite
+2004-02-27 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added *setnamespace* and
+         *cleanupnamespace* files
 
-       * configure.ac:
+2004-02-27 04:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for olduts API
+       * util-vserver/ensc_wrappers/wrappers-fcntl.hc,
+         util-vserver/ensc_wrappers/wrappers-unistd.hc: added some
+         wrappers with detailed error-messages
 
-2004-02-02 20:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 04:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/ensc_wrappers/wrappers.h: added ENSC_DETAIL macros
 
-       substitute @PACKAGE@ too
+2004-02-27 04:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/defaults/rpm/macros: added
+         /etc/rc.d/init.d/halt and /sbin/new-kernel-pkg to %_netsharedpath
 
-       * src/testsuite/Makefile-files:
+2004-02-27 04:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chcontext-test.c
+       * util-vserver/contrib/manifest.dat.pathsubst: added vcontext and
+         vnamespace
 
-2004-02-02 20:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-26 13:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/chcontext-test.c:
+       * util-vserver/src/util-exitlikeprocess.c: moved to lib_internal/
 
-       initial checkin
+2004-02-26 13:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/util.h: removed everything an include
+         <lib_internal/util.h> only
 
-       * src/wrappers.h:
+2004-02-26 13:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added Esetsid()
+       * util-vserver/src, util-vserver/src/.cvsignore: added vcontext
 
-2004-02-02 20:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-26 13:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers-vserver.h:
+       * util-vserver/src/chcontext.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c: use VC_DYNAMIC_XID instead of
+         VC_RANDCTX
 
-       return xid_t instead of void
+2004-02-26 13:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_createcontext-v13.hc,
+         util-vserver/lib/syscall_createcontext.c,
+         util-vserver/lib/syscall_getflags-v13.hc,
+         util-vserver/lib/syscall_getflags.c,
+         util-vserver/lib/syscall_migratecontext-v13.hc,
+         util-vserver/lib/syscall_migratecontext.c,
+         util-vserver/lib/syscall_setflags-v13.hc,
+         util-vserver/lib/syscall_setflags.c,
+         util-vserver/lib_internal/util-cast.h,
+         util-vserver/lib_internal/util-commonstrings.h,
+         util-vserver/lib_internal/util-declarecmd.h,
+         util-vserver/lib_internal/util-dimof.h,
+         util-vserver/lib_internal/util-exitlikeprocess.c,
+         util-vserver/lib_internal/util-exitlikeprocess.h,
+         util-vserver/lib_internal/util.h, util-vserver/src/vcontext.c:
+         initial checkin
 
-       * src/vserver-stat.c:
+2004-02-26 13:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
-       added missing '\n' in error-msg
+       * util-vserver/src/testsuite/Makefile-files: removed
+         'util-exitlikeprocess.c'; link against libinternal.a now
 
-2004-02-02 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-26 13:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/src/Makefile-files: added vcontext
+         removed 'util-exitlikeprocess.c'; link against libinternal.a now
 
-       added UTS tag
+2004-02-26 13:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: s!/vservers!$DEFAULT_VSERVERDIR!
+         (reported in IRC by broo)
 
-       * src/reducecap.c:
+2004-02-26 13:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups in the vc_new_s_context() call
+       * util-vserver/lib_internal/util-mem.h: include <stdlib.h>
 
-2004-02-02 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-26 13:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chcontext.c:
+       * util-vserver/lib_internal/Makefile-files: added lots of util-*
+         headers
+         added util-exitlikeprocess
 
-       rewrote and enhanced it
+2004-02-26 13:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: * vc_create_context(),
+         vc_migrate_context(), vc_[sg]et_flags(): added
+         prototypes plus structures
+         * use VC_DYNAMIC_XID instead of VC_RANDCTX
 
-       * src/Makefile-files:
+2004-02-26 13:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made chcontext a dietlibc program and updated its SOURCES
+       * util-vserver/lib/vserver-internal.h: added CALL_VC_V13A macro
+         (for API >= 0x00010012)
+         use VC_DYNAMIC_XID instead of VC_RANDCTX
 
-2004-02-02 20:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-26 13:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/lib/virtual.h: added create+migrate+flags+caps
+         declarations
 
-       return xid_t on vc_new_s_context()
-       added VHOST/vhi functions and types
+2004-02-26 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added createcontext +
+         migratecontext + [sg]etflags files
 
-       * lib/vserver-internal.h:
+2004-02-26 12:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
-       added CALL_VC_OLDUTS()
-       added VHI_USER2KERNEL/VHI_KERNEL2USER() wrappers
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc:
+         Evc_create_context(), Evc_migrate_context(): added
+         use WRAPPER_DECL instead of UNUSED
 
-2004-02-02 19:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-25 11:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/src/vlimit.c: enhanced output
+         added -nd options
+         allow literal limits
+         assume '-H' by default
 
-       added VHOST support
+2004-02-25 11:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 19:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore: added 'fmt'
 
-       * lib/: syscall_gettaskxid-oldproc.hc,
-         syscall_getvxinfo-oldproc.hc:
+2004-02-25 11:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed *_X to *_oldproc
+       * util-vserver/src/util.h: include util-perror.h
 
-2004-02-02 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-25 11:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: syscall-compat.hc, syscall-legacy.hc, syscall.c:
+       * util-vserver/src/chcontext.c, util-vserver/src/secure-mount.c:
+         use more verbose perror()
 
-       fixed vc_new_s_context() to return the context instead of 0/1
+2004-02-25 11:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/fmt.c,
+         util-vserver/lib_internal/util-perror.h: initial checkin
 
-       * lib/: fscompat_getiattr-v13.hc, fscompat_setiattr-v13.hc,
-         syscall_getiattr-v13.hc, syscall_getvxinfo-v13.hc,
-         syscall_kill-v11.hc, syscall_setiattr-v13.hc:
+2004-02-25 11:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use CTX_USER2KERNEL to wrap xid
+       * util-vserver/scripts/vserver.functions: added better namespace
+         supportc
 
-2004-02-02 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-25 11:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/capabilities.c:
+       * util-vserver/lib/testsuite/Makefile-files: added fmt.c
 
-       allow both 'CAP_xxx' and 'xxx'
+2004-02-25 11:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 19:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fmt.h: fmt_[u]int{32,64}(): added
 
-       * lib/Makefile-files:
+2004-02-20 23:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added *vhiname* files
+       * util-vserver/lib/flags.c: cosmetical cleanups
 
-2004-02-02 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 23:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: syscall_getvhiname-olduts.hc, syscall_getvhiname-v13.hc,
-         syscall_getvhiname.c, syscall_setvhiname-olduts.hc,
-         syscall_setvhiname-v13.hc, syscall_setvhiname.c:
+       * util-vserver/lib/flags.c, util-vserver/lib/vserver.h: added
+         NAMESPACE flag
 
-       initial checkin
+2004-02-20 21:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: install enter-namespace into
+         $(sbindir) instead of $(pkglibdir)
 
-       * doc/.cvsignore:
+2004-02-20 21:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/new-namespace.c: added missing '#include
+         <errno.h>'
 
-2004-01-29 12:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.196
 
-       version 0.28.190
+2004-02-20 20:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: added
+         enter-namespace
 
-       * Makefile.am:
+2004-02-20 20:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; use $(SED) instead of sed
-       fix $pkglibdir in install-data-hook
-       put some hooks into own targets
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/src/Makefile-files: added enter-namespace
 
-2004-01-29 12:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 20:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/src/enter-namespace.c: initial checkin
 
-       added tests for sed and cmp
-       outsourced ext2fs test (merged from 0.28)
+2004-02-20 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vlimit.c: merged with 0.29.2
 
-       * src/vserver-stat.c:
+2004-02-20 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed insert-into-list function
-       give out warning when vc_get_task_xid() fails
+       * util-vserver/src/vlimit.c: changed logic to skip entries without
+         chance for success
 
-2004-01-29 12:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/lib/Makefile-files: cleanups
 
-       use DIM_OF() macro
-       added APIVER tag
-       fixed help message
+2004-02-20 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_rlimit-v11.hc: vc_get_rlimit_mask_v11():
+         use correct datastructure
 
-       * src/util.h:
+2004-02-20 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added DIM_OF() macro
+       * util-vserver/lib/Makefile-files, util-vserver/lib/virtual.h,
+         util-vserver/lib/vserver.h: added the enter-namespace stuff
 
-2004-01-29 12:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 17:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/lib/syscall_enternamespace-v13.hc,
+         util-vserver/lib/syscall_enternamespace.c: initial checkin
 
-       added vrsetup
+2004-02-20 17:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers_handler.hc: added support for
+         more extensive output
 
-       * scripts/: rootshell, vapt-get, vapt-get-worker, vpkg, vpstree,
-         vrpm, vrpm-preload, vrpm-worker, vserver, vserver-build,
-         vserver-copy, vservers.grabinfo.sh, vsysvwrapper, vtop,
-         legacy/distrib-info, legacy/vserver, legacy/vserverkillall:
+2004-02-20 17:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed/changed path-detection for $UTIL_VSERVER_VARS
+       * util-vserver/contrib/manifest.dat.pathsubst: moved vserver-info
+         into core
 
-2004-01-29 12:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 17:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/lib/vserver-internal.h: VC_ENABLE_API_V13():
+         incremented needed API-version
 
-       cleanups
-       do not install util-vserver-vars in SBINDIR anymore
+2004-02-20 17:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_getvxinfo-v13.hc: vc_get_vx_info_v13():
+         handle xid==0 and xid==1 case manually
 
-       * m4/ensc_e2fscheck.m4:
+2004-02-20 17:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/vlimit.c: cleanup output in error-case
 
-2004-01-29 12:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 17:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: ext2fs.h, getversion.c, vserver.h:
+       * util-vserver/src/stack-start.h: fixed begin of STACK_START for
+         non-growing stacks
 
-       merged with 0.28
+2004-02-20 17:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-23 22:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/fakerunlevel.c: use more extensive errormessages
+         use <wrappers.h>
 
-       * doc/Makefile-files:
+2004-02-20 17:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some files to doc_DAT
+       * util-vserver/lib/fscompat_getiattr-v13.hc,
+         util-vserver/lib/fscompat_getiattr.c,
+         util-vserver/lib/fscompat_setiattr-v13.hc,
+         util-vserver/lib/fscompat_setiattr.c: obsoleted
 
-2004-01-23 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 16:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/src/chcontext.c, util-vserver/src/clearenv.c,
+         util-vserver/src/exec-cd.c, util-vserver/src/exec-ulimit.c,
+         util-vserver/src/ifspec.c, util-vserver/src/listdevip.c,
+         util-vserver/src/new-namespace.c, util-vserver/src/reducecap.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c, util-vserver/src/save_ctxinfo.c,
+         util-vserver/src/secure-mount.c, util-vserver/src/vkill.c: do not
+         do the lo-check anymore
 
-       version 0.27.199
-       added check for xsltproc
+2004-02-20 16:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-23 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chbind.c: use more extensive errormessages
+         do not do the lo-check anymore
 
-       * NEWS:
+2004-02-20 02:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.27.199
+       * util-vserver/src/vserver-info.c: fix copy&paste error when giving
+         out initpid
 
-2004-01-23 21:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-19 22:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h:
+       * util-vserver/NEWS: version 0.29.195
 
-       added ENSC_FIX_IOCTL()
+2004-02-19 22:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-23 21:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: added SYSINFO command
+         internal cleanups
 
-       * Makefile.am:
+2004-02-19 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $(doc_DAT)
+       * util-vserver/m4/ensc_e2fscheck.m4: tell correct packagename for
+         Debian's e2fsprogs-devel
+         tell packagename for Mandrake
 
-2004-01-23 21:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-19 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/Makefile-files:
+       * util-vserver/src/chxid.c, util-vserver/src/fstool.c,
+         util-vserver/src/fstool.h, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c: applied
+         new iattr interface and changed some internal functions
 
-       added compat-doc
+2004-02-19 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-23 21:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/unify-unify.c,
+         util-vserver/lib_internal/util-safechdir.c: applied new iattr
+         interface
 
-       * doc/: compat-xhtml.xsl, compatibility.dtd, compatibility.xml:
+2004-02-19 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/vserver.h: * changed iattr interface
+         * removed *iattr_compat() functions; functionality is covered by
+         new
+         iattr interface already
 
-2004-01-23 21:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-19 22:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: ioctl-getext2flags.hc, ioctl-getfilecontext.hc,
-         ioctl-setext2flags.hc, ioctl-setfilecontext.hc, ioctl-setxflg.hc:
+       * util-vserver/lib/virtual.h: added new iattr definitions
 
-       use ENSC_FIX_IOCTL() to fix dietlibc's ioctl() return values
+2004-02-19 22:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 22:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_getiattr.c,
+         util-vserver/lib/syscall_setiattr-v13.hc,
+         util-vserver/lib/syscall_setiattr.c: implemented new iattr
+         interface
 
-       * lib/: getversion-internal.hc, syscall-compat.hc,
-         syscall_getiattr-v13.hc, syscall_gettaskxid-v13.hc,
-         syscall_getvxinfo-v13.hc, syscall_kill-v11.hc,
-         syscall_rlimit-v11.hc, syscall_setiattr-v13.hc:
+2004-02-19 22:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use the VCMD_* macros instead of the VC_CMD(...) macros
+       * util-vserver/lib/syscall-compat.hc: vc_set_ipv4root_compat():
+         fixed off-by-one error while checking number
+         of allowed IPs
 
-2004-01-22 16:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-19 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/lib/fscompat_getiattr-fscompat.hc,
+         util-vserver/lib/fscompat_setiattr-fscompat.hc,
+         util-vserver/lib/syscall_getiattr-fscompat.hc,
+         util-vserver/lib/syscall_setiattr-fscompat.hc: moved fscompat*
+         files to *iattr-fscompat* and applied the changed iattr interface
 
-       version 0.27.198
+2004-02-19 22:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 16:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/createskeleton-full.hc: use new iattr interface
 
-       * src/vrsetup.c:
+2004-02-19 22:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed copyright date
+       * util-vserver/lib/Makefile-files: removed the fscompat* files
+         added *iattr-fscompat files
 
-2004-01-22 15:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-19 22:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/contrib/manifest.dat.pathsubst: added FEATURES.txt
+         and vcopy
 
-       added Eioctl() wrapper
+2004-02-19 22:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 15:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: create FEATURES.txt and rearranged
+         code a little bit
 
-       * src/Makefile-files:
+2004-02-19 22:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vrsetup
+       * util-vserver/Makefile.am: added FEATURES.txt
 
-2004-01-22 15:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vrsetup.c:
+       * util-vserver/lib/vserver.h: added vc_createSkeleton() plus
+         defines
 
-       initial checkin
+2004-02-18 04:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fscompat_setiattr-fscompat.hc:
+         vc_set_iattr_compat_fscompat(): fixed usage of the mode argument
 
-       * src/vunify-doit.hc:
+2004-02-18 04:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * provide st_mode at vc_set_iattr_compat() call
+       * util-vserver/lib_internal/unify-unify.c,
+         util-vserver/lib_internal/unify.h: Unify_deUnify(): fixed
+         parameters
+         Unify_copy(), Unify_setTime(): added prototype
 
-2004-01-22 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: lsxid.c, showattr.c:
+       * util-vserver/lib_internal/unify-deunify.c: fixed parameters
 
-       * provide st_mode at vc_set_iattr_compat() call
-       * do not stop on non-regular files; vc_set_iattr_compat() handles this
-         already
+2004-02-18 04:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/matchlist.h: MatchList_printId(): added
+         prototype
 
-       * src/setattr.c:
+2004-02-18 04:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * removed the race-check; this is done by vc_set_iattr_compat() already
-       * provide st_mode at vc_set_iattr_compat() call
-       * do not stop on non-regular files; vc_set_iattr_compat() handles this
-         already
-       * moved setFlags() code into handleFile()
-       * added 'iunlink' option
+       * util-vserver/lib_internal/Makefile-files: added unify* and util-*
+         files
 
-2004-01-22 14:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chxid.c:
+       * util-vserver/src/vunify.c, util-vserver/src/vunify.h: cleanups;
+         outsourced a lot to libinternal.a
 
-       * removed the race-check; this is done by vc_set_iattr_compat() already
-       * provide st_mode at vc_set_iattr_compat() call
-       * do not stop on non-regular files; vc_set_iattr_compat() handles this
-         already
-       * moved setFile() code into handleFile()
+2004-02-18 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/util.h: cleanups; outsourced some macros/inlines
+         to libinternal.a
 
-       * src/Makefile-files:
+2004-02-18 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed 'vunify' from list of C++ files
+       * util-vserver/src/Makefile-files: added vcopy
+         link the fstool programs against libinternal.a
+         removed vserver-visitdir
 
-2004-01-22 14:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall_gettaskxid-v13.hc:
+       * util-vserver/src, util-vserver/src/.cvsignore: added vcopy
 
-       fixed call
+2004-02-18 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/util-safechdir.c: moved into libinternal.a
 
-       * lib/: ioctl-getext2flags.hc, ioctl-getfilecontext.hc,
-         ioctl-getxflg.hc, ioctl-setext2flags.hc, ioctl-setfilecontext.hc,
-         ioctl-setxflg.hc:
+2004-02-18 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       when ioctl() returns a value <-1, assign errno manually and return -1
+       * util-vserver/lib/createskeleton-full.hc,
+         util-vserver/lib/createskeleton-short.hc,
+         util-vserver/lib/createskeleton.c,
+         util-vserver/lib_internal/matchlist-printid.c,
+         util-vserver/lib_internal/unify-copy.c,
+         util-vserver/lib_internal/unify-settime.c,
+         util-vserver/lib_internal/util-dotfile.h,
+         util-vserver/lib_internal/util-safechdir.c,
+         util-vserver/lib_internal/util-safechdir.h,
+         util-vserver/src/vcopy-init.hc, util-vserver/src/vcopy.c,
+         util-vserver/src/vserver-visitdir.hc: initial checkin
 
-2004-01-22 14:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: syscall_getiattr-v13.hc, syscall_setiattr-v13.hc:
+       * util-vserver/ensc_wrappers/wrappers-io.hc: rewrote the W*all()
+         function to accept an additional argument holding
+         the error, instead of giving out the error
 
-       updated to changed API; removed 'dev' field from 'struct vcmd_ctx_iattr_v0'
+2004-02-18 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added createskeleton* files
 
-       * lib/virtual.h:
+2004-02-18 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated; removed 'dev' field from 'struct  vcmd_ctx_iattr_v0'
+       * util-vserver/pathconfig.h.pathsubst: added DEFAULT_PKGSTATEDIR
 
-2004-01-22 14:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver-internal.h:
+       * util-vserver/Makefile.am, util-vserver/configure.ac: do not
+         redefine 'LIBTOOL'; the '--tag' causes problems on install
 
-       CALL_VC(): return ENOSYS in errorcase
+2004-02-18 04:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/compat.h: added PURE
 
-       * lib/vserver.h:
+2004-02-17 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * vc_[sg]et_iattr_compat(): added additional 'mode' parameter to avoid
-         an additional 'lstat'
+       * util-vserver/configure.ac: call ENSC_DIETLIBC_NEED_COMPAT to
+         determine if '-lcompat' is needed for dietlibc
 
-2004-01-22 14:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fscompat_getiattr.c, fscompat_setiattr.c:
+       * util-vserver/Makefile.am: define $(VSERVER_LDADDS)
+         generalized some LIBTOOL stuff
+         do not install libinternal.a anymore
 
-       * added additional 'mode' parameter to avoid an additional 'lstat'
+2004-02-17 19:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests/Makefile-files: use $(VSERVER_LDADDS) instead
+         of lib/libvserver.la to use '-lcompat' on purpose
 
-       * lib/: fscompat_getiattr-fscompat.hc,
-         fscompat_setiattr-fscompat.hc:
+2004-02-17 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * added additional 'mode' parameter to avoid an additional 'lstat'
-       * operate on regular files and directories only
+       * util-vserver/scripts/functions: _pkgMountRPM(): do not mount
+         /proc when it is already mounted
 
-2004-01-21 22:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 19:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall_gettaskxid-v13.hc:
+       * util-vserver/src/rpm-fake.c: rearranged inclusion of
+         <sys/socket.h> to fix compilation problems
+         with fc1.90
 
-       return VC_NOCTX instead of -1
+2004-02-17 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rebootmgr.c: include <limits.h>
 
-       * tests/getinitpid.c:
+2004-02-17 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to new API
+       * util-vserver/src/Makefile-files: use $(VSERVER_LDADDS) instead of
+         lib/libvserver.la to use '-lcompat' on purpose
+         fixed capchroot compilation
 
-2004-01-21 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 19:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/m4/ensc_dietlibc_compat.m4: initial checkin
 
-       added INITPID* and XID tags
+2004-02-17 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector/testsuite/test1.c,
+         util-vserver/src/testsuite/vunify-functest.c: make non-C99
+         compilers happy
 
-       * src/save_ctxinfo.c, src/vps.c, src/vserver-stat.c,
-         src/wrappers-vserver.h, tests/getctx.c:
+2004-02-17 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use vc_get_task_xid() instead of vc_X_getctx()
+       * util-vserver/NEWS: version 0.29.192
 
-2004-01-21 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/Makefile.am: added missing backslash
 
-       * vc_get_vx_info(), vc_get_task_xid(): added prototypes plus required
-         typedefinitions
-       * vc_X_getctx(), vc_X_getinitpid(): removed since obsoleted by functions
-         above
+2004-02-17 02:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/vunify-functest.c,
+         util-vserver/src/vunify.h: use new lib_internal/
 
-       * lib/vserver-internal.h:
+2004-02-17 02:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * added fscompat & oldproc API
-       * added support for VC_MULTIVERSION_SYSCALL which chooses the optimal
-         CALL_VC variant
-       * changed CALL_VC() so that it looks for version greater than requested
-         one now
+       * util-vserver/src/vunify-init.hc: moved most function into
+         lib_internal/
 
-2004-01-21 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/src/vunify.c: use new lib_internal
 
-       updated; added VINFO commands
+2004-02-17 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/util.h: moved some functions/macros into
+         lib_internal/util-*
 
-       * lib/: syscall_kill.c, syscall_rlimit.c:
+2004-02-17 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; optimize CALL_VC() usage
+       * util-vserver/src/Makefile-files: removed vunify-* files which
+         went into lib_internal
 
-2004-01-21 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fscompat_getiattr.c, fscompat_setiattr.c:
+       * util-vserver/Makefile.am: added lib_internal/ files
 
-       cleanups; use CALL_VC() macro
+2004-02-17 02:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vunify-compare.hc,
+         util-vserver/src/vunify-debug.c, util-vserver/src/vunify-doit.hc,
+         util-vserver/src/vunify-matchlist.c,
+         util-vserver/src/vunify-matchlist.h: moved functionality into
+         lib_internal library
 
-       * lib/: checkversion.c, getversion-internal.hc, getversion.c,
-         ioctl-getext2flags.hc, ioctl-getfilecontext.hc, ioctl-getxflg.hc,
-         ioctl-setext2flags.hc, ioctl-setfilecontext.hc, ioctl-setxflg.hc,
-         syscall-compat.hc, syscall.c, syscall_getiattr-v13.hc,
-         syscall_setiattr-v13.hc:
+2004-02-17 02:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; fixed/changed "vserver-internal.h" including
+       * util-vserver/lib_internal,
+         util-vserver/lib_internal/Makefile-files,
+         util-vserver/lib_internal/matchlist-appendfiles.c,
+         util-vserver/lib_internal/matchlist-compare.c,
+         util-vserver/lib_internal/matchlist-destroy.c,
+         util-vserver/lib_internal/matchlist-init.c,
+         util-vserver/lib_internal/matchlist-initbyvserver.c,
+         util-vserver/lib_internal/matchlist-initmanually.c,
+         util-vserver/lib_internal/matchlist-initrefserverlist.c,
+         util-vserver/lib_internal/matchlist.h,
+         util-vserver/lib_internal/pathinfo-append.c,
+         util-vserver/lib_internal/pathinfo-test.c,
+         util-vserver/lib_internal/pathinfo.h,
+         util-vserver/lib_internal/string-destroy.c,
+         util-vserver/lib_internal/string.h,
+         util-vserver/lib_internal/string.hc,
+         util-vserver/lib_internal/unify-deunify.c,
+         util-vserver/lib_internal/unify-unify.c,
+         util-vserver/lib_internal/unify.h,
+         util-vserver/lib_internal/util-io.h,
+         util-vserver/lib_internal/util-mem.h: initial checkin
 
-2004-01-21 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc,
+         util-vserver/ensc_wrappers/wrappers_handler.hc: fixed some
+         'noreturn' warnings for the execv() functions
 
-       added get_task_xid & get_vc_info files
-       removed obsoleted getctx/getinitpid files
-       renamed some -v11 files to -fscompat
+2004-02-16 19:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/make-manifest: ignore lines beginning with
+         '#'
 
-       * lib/: getctx-compat.hc[DEAD], getctx-legacy.hc[DEAD],
-         getctx.c[DEAD], getinitpid-compat.hc[DEAD],
-         getinitpid-legacy.hc[DEAD], getinitpid.c[DEAD]:
+2004-02-16 19:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       obsoleted by v13/oldproc functions
+       * util-vserver/contrib/manifest.dat.pathsubst: set
+         @ENSC_HAVE_*_COMPILER_TRUE@ tags
 
-2004-01-21 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-16 19:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fscompat_getiattr-v13.hc, fscompat_setiattr-v13.hc,
-         syscall_gettaskxid-oldproc.hc, syscall_gettaskxid-v13.hc,
-         syscall_gettaskxid.c, syscall_getvxinfo-oldproc.hc,
-         syscall_getvxinfo-v13.hc, syscall_getvxinfo.c:
+       * util-vserver/ensc_vector/testsuite/test1.c: #undef NDEBUG
 
-       initial checkin
+2004-02-16 19:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: use $_READLINK
+         mount /proc when doing pkg-management
 
-       * lib/: fscompat_getiattr-fscompat.hc,
-         fscompat_getiattr-v11.hc[DEAD], fscompat_setiattr-fscompat.hc,
-         fscompat_setiattr-v11.hc[DEAD]:
+2004-02-16 19:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed *-v11 to *-fscompat
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added readlink
 
-2004-01-21 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-16 19:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * .cvsignore:
+       * util-vserver/scripts/vrpm-preload: made rpm-flavor configurable
+         (e.g. 'i' for install (default), 'q' for
+         query, 'd' for database)
 
-       added 'Build-*'
+2004-02-16 19:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions: register generated
+         files so that they
+         can be cleaned up when needed
 
-       * configure.ac:
+2004-02-16 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'oldproc' API
+       * util-vserver/scripts/vserver-build.apt-rpm: call rpm.initDB()
 
-2004-01-21 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-16 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: Makefile-files, vunify-compare.hc, vunify-compare.ic[DEAD],
-         vunify-doit.hc, vunify-doit.ic[DEAD], vunify-init.hc,
-         vunify-init.ic[DEAD], vunify.c:
+       * util-vserver/scripts/vserver-build.functions.rpm: rpm.initDB():
+         added
 
-       renamed *.ic to *.hc
+2004-02-16 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-setup.functions: added --initstyle
+         support (-> /etc/vservers/.../apps/init/style)
 
-       * src/vunify.h:
+2004-02-16 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added changes for new API
-       added rsSPECIAL reason
+       * util-vserver/src/chbind.c: refined test-routine to work in
+         vservers without 'lo' interface
 
-2004-01-21 02:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-16 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify.c:
+       * util-vserver/src/secure-mount.c: define MS_REC when needed
 
-       added changes for new API
+2004-02-16 19:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac, util-vserver/src/rpm-fake-resolver.c:
+         added big, fat warning when not using dietlibc
 
-       * src/vunify-doit.ic:
+2004-02-16 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to new API
+       * util-vserver/Makefile.am: added ENSC_HAVE_*_COMPILER_* to
+         pathsubst-rules
 
-2004-01-21 02:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-14 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/scripts/vserver: use isAvoidNamespace() from
+         main-functions file
 
-       fixed help message
+2004-02-14 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions,
+         util-vserver/scripts/vserver.functions: moved isAvoidNamespace()
+         into main-functions file
 
-       * src/: chxid.c, fstool.c, fstool.h, lsxid.c, setattr.c,
-         showattr.c:
+2004-02-14 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated/enhanced for new API
+       * util-vserver/m4/ensc_syscallnr.m4: fixed auto-case
+         improved message
 
-2004-01-21 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-14 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/m4/ensc_kerneldir.m4: ENSC_KERNEL_HEADERS: made
+         argument optionally
 
-       updated
+2004-02-14 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: added clearenv
 
-       * lib/vserver-internal.h:
+2004-02-14 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added v13 API
+       * util-vserver/configure.ac: use ENSC_SYSCALLNR()
 
-2004-01-21 02:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-13 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/lib/vserver-internal.h: use results from
+         ENSC_SYSCALLNR
 
-       added fscompat and v13 functions
-       removed ioctl functions
+2004-02-13 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_syscallnr.m4: initial checkin
 
-       * lib/Makefile-files:
+2004-02-11 23:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added fscompat and v13 functions
+       * util-vserver/src/clearenv.c: use VSERVER_DECLARE_CMD
 
-2004-01-21 02:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-11 23:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: ioctl-getext2flags.c[DEAD], ioctl-getfilecontext.c[DEAD],
-         ioctl-setext2flags.c[DEAD], ioctl-setfilecontext.c[DEAD],
-         ioctl-getext2flags.hc, ioctl-getfilecontext.hc,
-         ioctl-setext2flags.hc, ioctl-setfilecontext.hc:
+       * util-vserver/src, util-vserver/src/.cvsignore: added clearenv
 
-       do not provide the ioctl-functions anymore; use them only internally
-       and include them directly. Therefore, renamed them from *.c to *.hc
+2004-02-11 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: use clearenv
 
-       * lib/: fscompat_getiattr-v11.hc, fscompat_getiattr.c,
-         fscompat_setiattr-v11.hc, fscompat_setiattr.c, ioctl-getxflg.hc,
-         ioctl-setxflg.hc, syscall_getiattr-v13.hc, syscall_getiattr.c,
-         syscall_setiattr-v13.hc, syscall_setiattr.c:
+2004-02-11 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: made namespace stuff
+         configurable at a global place
 
-2004-01-21 02:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-11 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vrpm-preload: give more rights... (same like
+         at --secure)
 
-       added v13 & fscompat APIs
+2004-02-11 23:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-19 19:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/src/Makefile-files: added clearenv
 
-       * distrib/misc/vunify-exclude:
+2004-02-11 23:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added .rpmdb
+       * util-vserver/src/clearenv.c: initial checkin
 
-2004-01-19 19:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-10 17:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: chxid.c, lsxid.c, setattr.c, showattr.c:
+       * util-vserver/src/chxid.c, util-vserver/src/setattr.c: handle
+         dot-files by default; it does not make sense to use a special
+         '-a' flag for the set-operations
 
-       s/S_ISLNK/!S_ISREG/ -> ignore any non-regular files
+2004-02-10 17:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-19 19:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: version 0.28.200
 
-       * src/Makefile-files:
+2004-02-10 17:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed vunify-operations
+       * util-vserver/src/secure-mount.c: recognize 'rbind' in fstab
+         use internal mount(2) on MOVE too
 
-2004-01-19 19:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-10 14:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify.h:
+       * util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start: implemented CLONE_NS and
+         --rbind mounting
 
-       cleanups; moved structure declarations from vunify.c into this headerfile
+2004-02-10 14:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-19 19:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: implemented '--rbind'
 
-       * src/vunify.c:
+2004-02-10 12:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
-       added 'skip_reason' support
-       added debug output
+       * util-vserver/ensc_vector/testsuite,
+         util-vserver/ensc_vector/testsuite/.cvsignore,
+         util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore: initial checkin
 
-2004-01-19 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-10 12:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify-init.ic:
+       * util-vserver/lib/flags.c, util-vserver/lib/testsuite/flags.c:
+         s!init!fakeinit!
 
-       added debug output
-       fixed descriptor leak
+2004-02-10 12:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-19 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: version 0.28.199
 
-       * src/: vunify-compare.ic, vunify-doit.ic:
+2004-02-10 12:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/util-vserver.spec.in: moved the 'chattr' into the
+         right %post scriptlet
 
-2004-01-19 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-10 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vunify-operations.c[DEAD], vunify-operations.h[DEAD]:
+       * util-vserver/configure.ac: version 0.28.198
 
-       obsoleted by more straight-forward code
+2004-02-09 23:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-19 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/make-manifest,
+         util-vserver/contrib/manifest.dat.pathsubst: moved *.so.* files
+         from -core to -lib
 
-       * src/vlimit.c:
+2004-02-09 23:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed copy&paste error
+       * util-vserver/util-vserver.spec.in: added -lib subpackage
+         moved *.so.* files from -core to -lib
+         removed the '%exclude ...vrpm.8'
+         added a 'make check'
 
-2004-01-17 06:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-09 23:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/src/testsuite,
+         util-vserver/src/testsuite/.cvsignore: initial checkin
 
-       version 0.27.196
+2004-02-09 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc: Eexecvp(): added
+         added some 'NORETURN' specifiers
 
-       * tests/vserver-info.c:
+2004-02-09 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to new vc_getVserverVdir() API
+       * util-vserver/Makefile.am: added lib/testsuite
 
-2004-01-17 06:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-09 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify.c:
+       * util-vserver/src/testsuite/vunify-test.sh: redirect output to
+         /dev/null
 
-       moved init*() functions to vunify-init.c
+2004-02-09 23:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/rpm-fake-test.c: fixed compilation
+         warnings
 
-       * src/vunify-operations.c:
+2004-02-09 23:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       compareUnify(): check mtime too
+       * util-vserver/src/testsuite/chcontext-test.c: added explicite
+         'return' for non-C99 compilers
 
-2004-01-17 06:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-09 23:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify-matchlist.h:
+       * util-vserver/src/testsuite/Makefile-files: added chbind-test
 
-       made 'buf' constant
+2004-02-09 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/man/Makefile-files: renoved vrpm.8 for now
 
-       * src/vunify-matchlist.c:
+2004-02-09 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       allow cmp-pointer to be NULL
+       * util-vserver/lib/vserver.h: vc_text2cap(): take 'unsigned int'
+         instead of 'int' argument
+         vc_textlist2flag(), vc_text2flag(), vc_hiflag2text(): added
+         prototypes
 
-2004-01-17 06:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-09 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify-init.ic:
+       * util-vserver/lib/capabilities.c: vc_text2cap(): take 'unsigned
+         int' instead of 'int' argument
 
-       use VPKG_PROG instead of PKGMGMT_INFO_PROG
-       register 'vdir'
-       use default exclude-lists
+2004-02-09 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added flags* files
+         added testsuite + -programs
 
-       * src/vunify-debug.c:
+2004-02-09 23:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added a const_cast
+       * util-vserver/src/chcontext.c: setFlags(): use vc_textlist2flag()
+         function
+         rearranged code to avoid unremovable zombie processes
 
-2004-01-17 06:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-09 23:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/src/chbind.c, util-vserver/src/reducecap.c: rewrote
+         it
 
-       updated VDIR tag to new interface
+2004-02-09 23:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: made reducecap & chbind native
+         dietlibc programs
 
-       * scripts/vserver:
+2004-02-09 23:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'unify' and 'pkg' commands
+       * util-vserver/lib/flags.c, util-vserver/lib/flags_list.c,
+         util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/Makefile-files,
+         util-vserver/lib/testsuite/flags.c,
+         util-vserver/src/testsuite/chbind-test.c: initial checkin
 
-2004-01-17 06:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 22:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vpkg:
+       * util-vserver/src/Makefile-files: added sys_clone.h
 
-       initial checkin
+2004-02-06 22:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: added 'chattr -t /vservers' +
+         needed Requires:
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-02-06 22:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_VUNIFY and $_VPKG
+       * util-vserver/scripts/vserver-build.functions: call 'chattr -t' on
+         newly create vserverdirs
+         cleanups; parenthesize case-expressions
 
-2004-01-17 06:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 21:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: distrib-info[DEAD], legacy/distrib-info:
+       * util-vserver/src/util.h: exitLikeProcess(): added NORETURN
+         attribute to prototype
 
-       moved distrib-info to legacy/
+2004-02-06 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: cleanups; use sys_clone()
 
-       * scripts/Makefile-files:
+2004-02-06 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved distrib-info to legacy/
-       added vpkg
+       * util-vserver/src/new-namespace.c: cleanups; modernized it
 
-2004-01-17 06:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getvservervdir.c, vserver.h:
+       * util-vserver/src/Makefile-files: link new-namespace against
+         util-exitlikeprocess
+         cleanups
 
-       added 'physical' parameter to vc_getVserverVdir() which resolves the
-       complete physical path of the vdir
+2004-02-06 21:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/sys_clone.h: initial checkin
 
-       * distrib/misc/vunify-exclude:
+2004-02-06 18:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/testsuite/Makefile-files: do not call
+         vunify-test when no C99 compiler is available
 
-2004-01-17 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/ensc_vector/testsuite,
+         util-vserver/ensc_vector/testsuite/Makefile-files,
+         util-vserver/ensc_vector/testsuite/test1.c: initial checkin
 
-       added vunify-exclude
+2004-02-06 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/vunify-test.sh: use '-n' flag
 
-       * util-vserver.spec.in:
+2004-02-06 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use manifest-data for -legacy
+       * util-vserver/src/vutil.cc: minor cosmetical changes
 
-2004-01-17 06:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * pathconfig.h.pathsubst:
+       * util-vserver/src/vunify-init.hc: initModeManually(): added
+         missing strdup()
+
+2004-02-06 17:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added VPKG_PROG
-       minor cleanups
+       * util-vserver/Makefile.am,
+         util-vserver/ensc_vector/Makefile-files: added ensc_vector
+         testsuite
 
-2004-01-16 19:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 16:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/vunify-test.sh:
+       * util-vserver/ensc_vector/vector-insert.c: fixed it
 
-       applied new calling scheme
+2004-02-06 16:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 19:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: use ensc_vector
+         cleanups
 
-       * src/testsuite/vunify-functest.c:
+2004-02-06 16:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added wrapper_exit_code
+       * util-vserver/src/lsxid.c: use ensc_vector to cache xid->name
+         mappings
 
-2004-01-16 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 16:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/src/Makefile-files: link vserver-stat against
+         libensc_vector.a
 
-       Elseek(), Emkstemp(): added
-       Emalloc(), Erealloc(): fixed declarations
+2004-02-06 15:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: enumerated possible resources
 
-       * src/: vunify-matchlist.c, vunify-matchlist.h,
-         vunify-operations.c, vunify.c:
+2004-02-06 15:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added exclude-list support
+       * util-vserver/src/chxid.c: fixed do-display-dir behavior
 
-2004-01-16 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 14:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/scripts/vserver.functions: _generateFlagOptions():
+         fixed a case expression; formerly x"foo" ==
+         foo checks which would never succeed
 
-       added APPDIR tag
-       made it possible to supply additional paramaters
+2004-02-06 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chcontext.c, util-vserver/src/chroot-cat.c,
+         util-vserver/src/chroot-rm.c, util-vserver/src/exec-cd.c,
+         util-vserver/src/exec-ulimit.c, util-vserver/src/fstool.c,
+         util-vserver/src/new-namespace.c, util-vserver/src/pipe-sync.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/save_ctxinfo.c,
+         util-vserver/src/testsuite/rpm-fake-test.c,
+         util-vserver/src/vps.c, util-vserver/src/vrsetup.c,
+         util-vserver/src/vserver-info.c, util-vserver/src/vserver-stat.c,
+         util-vserver/src/vunify-doit.hc, util-vserver/src/vunify-init.hc,
+         util-vserver/src/vunify-matchlist.c, util-vserver/src/vunify.c:
+         use new ensc_wrappers/ headers
 
-       * src/: new-namespace.c, rpm-fake.c:
+2004-02-06 14:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not use CLONE_VFORK in debug mode; lockups with 'strace' are too annoying
+       * util-vserver/src/Makefile-files: removed wrappers-*
+         link lsxid against libensc_vector.a
 
-2004-01-16 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 14:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/src/wrappers-dirent.h,
+         util-vserver/src/wrappers-io.h,
+         util-vserver/src/wrappers-vserver.h, util-vserver/src/wrappers.h:
+         moved and generalized into an own /ensc_wrappers subdir
 
-       updated vunify setup
-       added files for vunify
+2004-02-06 14:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector,
+         util-vserver/ensc_vector/Makefile-files,
+         util-vserver/ensc_vector/vector-clear.c,
+         util-vserver/ensc_vector/vector-free.c,
+         util-vserver/ensc_vector/vector-init.c,
+         util-vserver/ensc_vector/vector-insert.c,
+         util-vserver/ensc_vector/vector-internal.h,
+         util-vserver/ensc_vector/vector-popback.c,
+         util-vserver/ensc_vector/vector-pushback.c,
+         util-vserver/ensc_vector/vector-resize.c,
+         util-vserver/ensc_vector/vector-resizeinternal.hc,
+         util-vserver/ensc_vector/vector-search.c,
+         util-vserver/ensc_vector/vector-sort.c,
+         util-vserver/ensc_vector/vector-unique.c,
+         util-vserver/ensc_vector/vector.h,
+         util-vserver/ensc_vector/vector.hc, util-vserver/ensc_wrappers,
+         util-vserver/ensc_wrappers/Makefile-files,
+         util-vserver/ensc_wrappers/wrappers-clone.hc,
+         util-vserver/ensc_wrappers/wrappers-dirent.hc,
+         util-vserver/ensc_wrappers/wrappers-fcntl.hc,
+         util-vserver/ensc_wrappers/wrappers-io.hc,
+         util-vserver/ensc_wrappers/wrappers-ioctl.hc,
+         util-vserver/ensc_wrappers/wrappers-iosock.hc,
+         util-vserver/ensc_wrappers/wrappers-mount.hc,
+         util-vserver/ensc_wrappers/wrappers-pivot.hc,
+         util-vserver/ensc_wrappers/wrappers-resource.hc,
+         util-vserver/ensc_wrappers/wrappers-stdlib.hc,
+         util-vserver/ensc_wrappers/wrappers-unistd.hc,
+         util-vserver/ensc_wrappers/wrappers-vserver.hc,
+         util-vserver/ensc_wrappers/wrappers-wait.hc,
+         util-vserver/ensc_wrappers/wrappers.h,
+         util-vserver/ensc_wrappers/wrappers_handler.hc: initial checkin
 
-       * scripts/legacy/.cvsignore, src/vunify-debug.c,
-         src/vunify-init.ic, src/vunify.h, src/wrappers-io.h:
+2004-02-06 14:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/Makefile.am: added ensc_vector/ & ensc_wrappers/
+         subdirs and files
 
-2004-01-16 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-05 22:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/setattr.c: documented --barrier
+         fixed do-display-dir behavior
 
-       accept vservers beginning with './'
+2004-02-05 04:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: added another path for
+         the template mtab file
 
-       * lib/vserver.h:
+2004-02-05 04:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added new management functions + doc
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.28.195
 
-2004-01-16 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-05 04:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/internal.h:
+       * util-vserver/distrib/defaults/apt.conf: initial checkin
 
-       added utilvserver_isDirectory() prototype
+2004-02-05 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added default apt.conf
 
-       * lib/getvservervdir.c:
+2004-02-05 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use utilvserver_isDirectory()
+       * util-vserver/doc/configuration.xml: documented default apt.conf
 
-2004-01-16 18:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-05 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/lib/syscall-legacy.hc: minor code cleanups
+         added a missing '#ifdef ENSC_SYSCALL_TRADITIONAL'
 
-       added new management sources
+2004-02-05 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 18:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_syscall.m4: enhanced check by using kernel
+         headers
 
-       * lib/: getvserverappdir.c, getvservercfgdir.c, isdirectory.c:
+2004-02-05 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver-build.functions.apt: added default
+         apt.conf/vendors.conf files
 
-2004-01-16 18:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-05 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/src/chcontext.c: use sethostname(2)/setdomainname(2)
+         again...
 
-       use filelists from contrib/make-manifest
+2004-02-04 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 18:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: use ENSC_SYSCALL
+         enhanced diagnostic output
 
-       * configure.ac:
+2004-02-04 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed CVS tag
+       * util-vserver/lib/syscall-legacy.hc,
+         util-vserver/lib/vserver-internal.h: use ENSC_SYSCALL_TRADITIONAL
 
-2004-01-16 18:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/lib/syscall.c: cleanups; do not include "compat.h"
+         anymore explicitly
 
-       added contrib/ dir
-       substitute MANDIR too
+2004-02-04 23:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added @WGET@ substitution
 
-       * src/util-exitlikeprocess.c:
+2004-02-04 21:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing <signal.h>
+       * util-vserver/m4/ensc_syscall.m4: initial checkin
 
-2004-01-14 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 21:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/fstool.h:
+       * util-vserver/scripts/vpkg: implemented Debian support
 
-       added 'local_fs' struct-member
+2004-02-04 21:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 03:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: cleanups
+         added '--silent' option
 
-       * src/fstool.c:
+2004-02-04 21:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for '-x' (do not cross filesystems)
-       fixed invocation with directory-name
-       implemented '-a' (show dot)
+       * util-vserver/src/vunify-init.hc, util-vserver/src/vunify.c: minor
+         cleanups
 
-2004-01-14 03:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 03:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vps.c:
+       * util-vserver/lib/fscompat_getiattr-v13.hc: fixed 'xid' parameter
+         transmission
 
-       minor documentation fix
+2004-02-04 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 03:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS: version 0.28.193
 
-       * src/: chxid.c, lsxid.c, setattr.c, showattr.c:
+2004-02-04 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added and documented '-x' switch
+       * util-vserver/configure.ac: added check for wget
+         version 0.28.193
 
-2004-01-14 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 03:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vps.c:
+       * util-vserver/util-vserver.spec.in: added some (Build)Requires:
 
-       makde it compilable with gcc296
+2004-02-04 03:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 01:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: added debootstrap
+         files
 
-       * util-vserver.spec.in:
+2004-02-04 03:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added -legacy subpackage
+       * util-vserver/doc/configuration.xml: documented debootstrap
+         configuration
 
-2004-01-14 01:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 03:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/scripts/vserver-build.debootstrap: fixed path of
+         default-uri file
 
-       removed timestamps in legacy-dir also
-       substitute LEGACYDIR and PS
+2004-02-04 02:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 01:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: initial checkin
 
-       * src/vps.c:
+2004-02-04 02:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added native '--version' and '--help'
+       * util-vserver/distrib/Makefile.am: added debootstrap.uri
 
-2004-01-14 01:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 02:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/scripts/vserver-setup.functions: use
+         $PKGLIBDEFAULTDIRc
 
-       added legacy-scripts to $(scripts_OPTIONS_EXEMPT)
-       added scripts_legacy_gen_SCRPTS to $(scripts_CLEANFILES)
+2004-02-04 02:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 01:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.skeleton: cleanups; use
+         'base.' namespace
 
-       * m4/validate.am:
+2004-02-04 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed parallel build
+       * util-vserver/scripts/vserver-build: added debootstrap
 
-2004-01-14 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vpkg: added basic support for Debian
 
-       added check for PS
+2004-02-04 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added $_WGET
 
-       * pathconfig.h.pathsubst:
+2004-02-04 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added PS_PROG
+       * util-vserver/scripts/Makefile-files: added debootstrap and
+         pkgmgmt files
 
-2004-01-14 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/scripts/vserver-build.debootstrap: initial checkin
 
-       added vps
+2004-02-03 22:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.28.192
 
-       * src/Makefile-files:
+2004-02-03 22:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made vps a dietprog
+       * util-vserver/src, util-vserver/src/.cvsignore: added 'vuname'
 
-2004-01-14 00:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 22:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getctx.c:
+       * util-vserver/contrib, util-vserver/contrib/.cvsignore,
+         util-vserver/contrib/Makefile-files,
+         util-vserver/contrib/make-manifest,
+         util-vserver/contrib/manifest.dat.pathsubst: initial checkin
 
-       minor code cleanups
+2004-02-03 21:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: added more details to the final
+         summary
 
-       * lib/getctx.c:
+2004-02-03 21:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added VC_BE_VALGRIND_FRIENDLY support
+       * util-vserver/distrib/Makefile.am: added misc/fstab
 
-2004-01-14 00:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 21:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.functions.apt,
+         util-vserver/scripts/vserver-build.functions.rpm: splitted some
+         functions into a separate vserver-build.functions.pkgmgmt file
+         use XXX.yyy namespace-style notation
 
-       vc_get_securecaps(): added prototype
+2004-02-03 21:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/fstab,
+         util-vserver/scripts/vserver-build.functions.pkgmgmt,
+         util-vserver/scripts/vserver-build.skeleton: initial checkin
 
-       * lib/vserver-internal.h:
+2004-02-03 21:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made CALL_VC-macro a block
+       * util-vserver/scripts/vserver-setup.functions: allow to configure
+         fstab-file
 
-2004-01-14 00:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 21:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util-exitlikeprocess.c:
+       * util-vserver/scripts/vserver-build: added skeleton support
+         fixed help message
 
-       include <unistd.h>
+2004-02-03 21:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: added '--debug' option
 
-       * scripts/Makefile-files:
+2004-02-03 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved legacy scripts into legacy/ and updated variables
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT
 
-2004-01-14 00:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 21:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/scripts/Makefile-files: added vserver-build.skeleton
 
-       updated legacy paths
+2004-02-03 21:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vkill.c: cleanups; use modern interfaces
 
-       * src/Makefile-files:
+2004-02-03 21:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vps
+       * util-vserver/src/util.h: VSERVER_DECLARE_CMD macro: added
 
-2004-01-14 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 21:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util.h:
+       * util-vserver/src/Makefile-files: added vuname
 
-       exitLikeProcess(): added prototype
+2004-02-03 21:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/Makefile-files: added workaround for
+         automake bug
 
-       * src/wrappers.h:
+2004-02-03 21:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Emalloc(), Erealloc(): added
+       * util-vserver/src/vuname.c: initial checkin
 
-2004-01-14 00:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 12:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: util-exitlikeprocess.c, vps.c:
+       * util-vserver/configure.ac: use ENSC_C99COMPILER
+         give out summary at end of ./configure
 
-       initial checkin
+2004-02-03 12:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: * added support for
+         ENSC_HAVE_C99_COMPILER and conditionalized build
+         of 'vunify'
+         * renamed *_CXX_X_* variables to *_CXX_*
 
-       * scripts/: save_s_context[DEAD], vps.pathsubst[DEAD],
-         vserver-legacy[DEAD], vserverkillall[DEAD]:
+2004-02-03 12:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved into legacy
+       * util-vserver/src/vunify.cc: removed since rewritten in C
 
-2004-01-14 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 12:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/legacy/: save_s_context, vps.pathsubst, vserver,
-         vserverkillall:
+       * util-vserver/m4/ensc_dietlibc.m4: use 'yes' instead of '1'
 
-       initial checkin (moved from ../)
+2004-02-03 12:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_cxxcompiler.m4: added ENSC_C99COMPILER
+         added warning-messages
 
-       * scripts/vserver-legacy:
+2004-02-03 12:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'exec' to call commands on 'suexec' (patch by Alec Thomas)
+       * util-vserver/lib/syscall_getvhiname-v13.hc,
+         util-vserver/lib/syscall_setvhiname-v13.hc: #include <string.h>
 
-2004-01-13 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 19:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/doc/compatibility.xml: added note about chcontext
+         rewrite
 
-       added missing fstool.h header
+2004-02-02 19:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: added support for olduts API
 
-       * lib/virtual.h:
+2004-02-02 19:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated (added scheduler stuff)
+       * util-vserver/Makefile.am: substitute @PACKAGE@ too
 
-2004-01-13 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vkill.c:
+       * util-vserver/src/testsuite/Makefile-files: added chcontext-test.c
 
-       removed warnings about unused parameters
+2004-02-02 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/chcontext-test.c: initial checkin
 
-       * lib/getvserverbyctx.c, lib/getvserverctx.c, src/exec-cd.c,
-         tests/escaperoot.c, tests/testipc.c, tests/testlimit.c,
-         tests/testopenf.c:
+2004-02-02 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made it compilable with gcc296
+       * util-vserver/src/wrappers.h: added Esetsid()
 
-2004-01-13 15:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/src/wrappers-vserver.h: return xid_t instead of void
 
-       use $(src_sbin_SCRPTS)
+2004-02-02 19:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: cleanups
+         added missing '\n' in error-msg
 
-       * lib/vserver.h:
+2004-02-02 19:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added declarations for the ext2fs functions
+       * util-vserver/src/vserver-info.c: added UTS tag
 
-2004-01-13 15:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 19:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver-internal.h:
+       * util-vserver/src/reducecap.c: cleanups in the vc_new_s_context()
+         call
 
-       added EXT2FS macros
+2004-02-02 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chcontext.c: rewrote and enhanced it
 
-       * lib/fmt.h:
+2004-02-02 19:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed xulong/xlong declarations
+       * util-vserver/src/Makefile-files: made chcontext a dietlibc
+         program and updated its SOURCES
 
-2004-01-13 15:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/lib/vserver.h: return xid_t on vc_new_s_context()
+         added VHOST/vhi functions and types
 
-       added the ioctl-* files
-       added ext2fs.h
+2004-02-02 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver-internal.h: cleanups
+         added CALL_VC_OLDUTS()
+         added VHI_USER2KERNEL/VHI_KERNEL2USER() wrappers
 
-       * src/.cvsignore:
+2004-02-02 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated
+       * util-vserver/lib/virtual.h: added VHOST support
 
-2004-01-13 15:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/lib/syscall_gettaskxid-oldproc.hc,
+         util-vserver/lib/syscall_getvxinfo-oldproc.hc: renamed *_X to
+         *_oldproc
 
-       removed ext2fs.h
-       added the fstools (lsxid,chxid,showattr,setattr) plus deps
+2004-02-02 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall-legacy.hc, util-vserver/lib/syscall.c:
+         fixed vc_new_s_context() to return the context instead of 0/1
 
-       * src/: chxid.c, fstool.c, fstool.h, lsxid.c, setattr.c,
-         showattr.c:
+2004-02-02 18:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor/medium cleanups
+       * util-vserver/lib/fscompat_getiattr-v13.hc,
+         util-vserver/lib/fscompat_setiattr-v13.hc,
+         util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_getvxinfo-v13.hc,
+         util-vserver/lib/syscall_kill-v11.hc,
+         util-vserver/lib/syscall_setiattr-v13.hc: use CTX_USER2KERNEL to
+         wrap xid
 
-2004-01-13 15:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 18:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/fstool-resolvectx.c:
+       * util-vserver/lib/capabilities.c: allow both 'CAP_xxx' and 'xxx'
 
-       initial checkin
+2004-02-02 18:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 14:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added *vhiname* files
 
-       * src/showattr.c:
+2004-02-02 18:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rewrote completely
+       * util-vserver/lib/syscall_getvhiname-olduts.hc,
+         util-vserver/lib/syscall_getvhiname-v13.hc,
+         util-vserver/lib/syscall_getvhiname.c,
+         util-vserver/lib/syscall_setvhiname-olduts.hc,
+         util-vserver/lib/syscall_setvhiname-v13.hc,
+         util-vserver/lib/syscall_setvhiname.c: initial checkin
 
-2004-01-13 14:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-29 11:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/ext2fs.h, src/ext2fs.h[DEAD]:
+       * util-vserver/doc, util-vserver/doc/.cvsignore: initial checkin
 
-       moved ext2fs.h from src/ into lib/ directory; we are providing the
-       needed functionality through libvserver now
+2004-01-29 11:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 14:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS: version 0.28.190
 
-       * src/chxid.c, src/fstool.c, src/fstool.h, src/lsxid.c,
-         src/setattr.c, lib/ioctl-getext2flags.c,
-         lib/ioctl-getfilecontext.c, lib/ioctl-setext2flags.c,
-         lib/ioctl-setfilecontext.c:
+2004-01-29 11:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/Makefile.am: cleanups; use $(SED) instead of sed
+         fix $pkglibdir in install-data-hook
+         put some hooks into own targets
 
-2004-01-07 16:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-29 11:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/configure.ac: added tests for sed and cmp
+         outsourced ext2fs test (merged from 0.28)
 
-       added URL which describes context-creation
+2004-01-29 11:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-07 16:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: fixed insert-into-list function
+         give out warning when vc_get_task_xid() fails
 
-       * src/chcontext.c:
+2004-01-29 11:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * removed obsolete and unused 'fakeinit' variable
-       * fixed ctx-creation with fakeinit and static ctx-id's; fakeinit
-         requires a second call for ctx -2 to take effect
+       * util-vserver/src/vserver-info.c: use DIM_OF() macro
+         added APIVER tag
+         fixed help message
 
-2004-01-05 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-29 11:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/src/util.h: added DIM_OF() macro
 
-       added vserver-info
+2004-01-29 11:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: added vrsetup
 
-       * src/.cvsignore:
+2004-01-29 11:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated
+       * util-vserver/scripts/legacy/distrib-info,
+         util-vserver/scripts/legacy/vserver,
+         util-vserver/scripts/legacy/vserverkillall,
+         util-vserver/scripts/rootshell, util-vserver/scripts/vapt-get,
+         util-vserver/scripts/vapt-get-worker, util-vserver/scripts/vpkg,
+         util-vserver/scripts/vpstree, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vrpm-preload,
+         util-vserver/scripts/vrpm-worker, util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop:
+         fixed/changed path-detection for $UTIL_VSERVER_VARS
 
-2004-01-05 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-29 11:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/scripts/Makefile-files: cleanups
+         do not install util-vserver-vars in SBINDIR anymore
 
-       Edup2(): added
+2004-01-29 11:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_e2fscheck.m4: initial checkin
 
-       * src/vserver-stat.c:
+2004-01-29 11:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use existing syscall-wrappers instead of checking return-codes manually
+       * util-vserver/lib/ext2fs.h, util-vserver/lib/getversion.c,
+         util-vserver/lib/vserver.h: merged with 0.28
 
-2004-01-05 23:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-23 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/doc/Makefile-files: added some files to doc_DAT
 
-       initial checkin
+2004-01-23 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 23:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: version 0.27.199
+         added check for xsltproc
 
-       * src/rpm-fake.c:
+2004-01-23 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use fd3 for synchronization with resolver
-       adding some missing '\n' in messages
-       ignore empty environment variables too
-       exitRPMFake(): conditionalized debug-message
+       * util-vserver/NEWS: version 0.27.199
 
-2004-01-05 23:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-23 20:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake-resolver.c:
+       * util-vserver/compat.h: added ENSC_FIX_IOCTL()
 
-       daemonize(): child waits for parent to finish now
-       use fd3 for synchronisation
-       enable fork on default
+2004-01-23 20:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 23:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added $(doc_DAT)
 
-       * src/Makefile-files:
+2004-01-23 20:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vserver-info
-       minor cosmetical fixes
+       * util-vserver/doc/Makefile-files: added compat-doc
 
-2004-01-05 23:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-23 20:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.stop:
+       * util-vserver/doc/compat-xhtml.xsl,
+         util-vserver/doc/compatibility.dtd,
+         util-vserver/doc/compatibility.xml: initial checkin
 
-       fixed error-handling
+2004-01-23 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 23:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/ioctl-getext2flags.hc,
+         util-vserver/lib/ioctl-getfilecontext.hc,
+         util-vserver/lib/ioctl-setext2flags.hc,
+         util-vserver/lib/ioctl-setfilecontext.hc,
+         util-vserver/lib/ioctl-setxflg.hc: use ENSC_FIX_IOCTL() to fix
+         dietlibc's ioctl() return values
 
-       * scripts/vserver-setup.functions:
+2004-01-22 21:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added '--context' option
-       minor cosmetical cleanups
+       * util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_gettaskxid-v13.hc,
+         util-vserver/lib/syscall_getvxinfo-v13.hc,
+         util-vserver/lib/syscall_kill-v11.hc,
+         util-vserver/lib/syscall_rlimit-v11.hc,
+         util-vserver/lib/syscall_setiattr-v13.hc: use the VCMD_* macros
+         instead of the VC_CMD(...) macros
 
-2004-01-05 23:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 15:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions.apt:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.27.198
 
-       initVariablesApt(): fixed empty function body
+2004-01-22 15:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vrsetup.c: fixed copyright date
 
-       * scripts/vrpm-preload:
+2004-01-22 14:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       major cleanups; use 'vserver-info' to retrieve information about vserver
+       * util-vserver/src/wrappers.h: added Eioctl() wrapper
 
-2004-01-05 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 14:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vapt-get-worker:
+       * util-vserver/src/Makefile-files: added vrsetup
 
-       removed old, unused debug code
+2004-01-22 14:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 22:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vrsetup.c: initial checkin
 
-       * scripts/: vapt-get, vrpm:
+2004-01-22 13:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use modern '--help' & '--version' output
+       * util-vserver/src/vunify-doit.hc: * provide st_mode at
+         vc_set_iattr_compat() call
 
-2004-01-05 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/src/lsxid.c, util-vserver/src/showattr.c: * provide
+         st_mode at vc_set_iattr_compat() call
+         * do not stop on non-regular files; vc_set_iattr_compat() handles
+         this
+         already
 
-       added $_VSERVER_INFO
+2004-01-22 13:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/setattr.c: * removed the race-check; this is
+         done by vc_set_iattr_compat() already
+         * provide st_mode at vc_set_iattr_compat() call
+         * do not stop on non-regular files; vc_set_iattr_compat() handles
+         this
+         already
+         * moved setFlags() code into handleFile()
+         * added 'iunlink' option
 
-       * scripts/functions:
+2004-01-22 13:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       getVserverStatus(): fixed usage of 2nd parameter
+       * util-vserver/src/chxid.c: * removed the race-check; this is done
+         by vc_set_iattr_compat() already
+         * provide st_mode at vc_set_iattr_compat() call
+         * do not stop on non-regular files; vc_set_iattr_compat() handles
+         this
+         already
+         * moved setFile() code into handleFile()
 
-2004-01-05 22:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 13:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fmtx.hc, getvserverbyctx.c, getvserverctx.c,
-         vserver-internal.h, vserver.h:
+       * util-vserver/src/Makefile-files: removed 'vunify' from list of
+         C++ files
 
-       small cosmetical fix
+2004-01-22 13:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 21:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_gettaskxid-v13.hc: fixed call
 
-       * configure.ac:
+2004-01-22 13:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.27.190
+       * util-vserver/lib/ioctl-getext2flags.hc,
+         util-vserver/lib/ioctl-getfilecontext.hc,
+         util-vserver/lib/ioctl-getxflg.hc,
+         util-vserver/lib/ioctl-setext2flags.hc,
+         util-vserver/lib/ioctl-setfilecontext.hc,
+         util-vserver/lib/ioctl-setxflg.hc: when ioctl() returns a value
+         <-1, assign errno manually and return -1
 
-2003-12-30 20:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 13:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_setiattr-v13.hc: updated to changed API;
+         removed 'dev' field from 'struct vcmd_ctx_iattr_v0'
 
-       - since dynamic libraries will be installed now, call /sbin/ldconfig
-       - other updates...
+2004-01-22 13:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/virtual.h: updated; removed 'dev' field from
+         'struct vcmd_ctx_iattr_v0'
 
-       * src/compat-pivot_root.h:
+2004-01-22 13:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use <asm/unistd.h> instead of <linux/unistd.h> to fix problems with
-       RH's headers
+       * util-vserver/lib/vserver-internal.h: CALL_VC(): return ENOSYS in
+         errorcase
 
-2003-12-30 19:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 13:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/vunify-test.sh:
+       * util-vserver/lib/vserver.h: * vc_[sg]et_iattr_compat(): added
+         additional 'mode' parameter to avoid
+         an additional 'lstat'
 
-       fixed paths
+2004-01-22 13:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 19:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fscompat_getiattr.c,
+         util-vserver/lib/fscompat_setiattr.c: * added additional 'mode'
+         parameter to avoid an additional 'lstat'
 
-       * scripts/vserver.stop:
+2004-01-22 13:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use sendKillSequence instead of ctx-kill
+       * util-vserver/lib/fscompat_getiattr-fscompat.hc,
+         util-vserver/lib/fscompat_setiattr-fscompat.hc: * added
+         additional 'mode' parameter to avoid an additional 'lstat'
+         * operate on regular files and directories only
 
-2003-12-30 19:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 21:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/lib/syscall_gettaskxid-v13.hc: return VC_NOCTX
+         instead of -1
 
-       sendKillSequence(): added
+2004-01-21 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests/getinitpid.c: updated to new API
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-01-21 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed _CTX_KILL
-       added _VKILL
+       * util-vserver/src/vserver-info.c: added INITPID* and XID tags
 
-2003-12-30 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/save_ctxinfo.c, util-vserver/src/vps.c,
+         util-vserver/src/vserver-stat.c,
+         util-vserver/src/wrappers-vserver.h, util-vserver/tests/getctx.c:
+         use vc_get_task_xid() instead of vc_X_getctx()
 
-       getVserverStatus(): fixed usage if ctx
-       isCtxRunning(): added
+2004-01-21 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 18:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: * vc_get_vx_info(),
+         vc_get_task_xid(): added prototypes plus required
+         typedefinitions
+         * vc_X_getctx(), vc_X_getinitpid(): removed since obsoleted by
+         functions
+         above
 
-       * Makefile.am:
+2004-01-21 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing compat-c99.h header-file
+       * util-vserver/lib/vserver-internal.h: * added fscompat & oldproc
+         API
+         * added support for VC_MULTIVERSION_SYSCALL which chooses the
+         optimal
+         CALL_VC variant
+         * changed CALL_VC() so that it looks for version greater than
+         requested
+         one now
 
-2003-12-30 18:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 18:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chroot-rm.c:
+       * util-vserver/lib/virtual.h: updated; added VINFO commands
 
-       fixed order of chroot() and parameter evaluation so that '--version'
-       and '--help' are working as non-root also
+2004-01-21 18:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 18:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_kill.c,
+         util-vserver/lib/syscall_rlimit.c: cleanups; optimize CALL_VC()
+         usage
 
-       * src/Makefile-files:
+2004-01-21 18:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing headers
-       removed 'ctx-kill'; it is obsoleted through 'vkill'
+       * util-vserver/lib/fscompat_getiattr.c,
+         util-vserver/lib/fscompat_setiattr.c: cleanups; use CALL_VC()
+         macro
 
-2003-12-30 18:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 18:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/ctx-kill.c[DEAD]:
+       * util-vserver/lib/checkversion.c,
+         util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/getversion.c,
+         util-vserver/lib/ioctl-getext2flags.hc,
+         util-vserver/lib/ioctl-getfilecontext.hc,
+         util-vserver/lib/ioctl-getxflg.hc,
+         util-vserver/lib/ioctl-setext2flags.hc,
+         util-vserver/lib/ioctl-setfilecontext.hc,
+         util-vserver/lib/ioctl-setxflg.hc,
+         util-vserver/lib/syscall-compat.hc, util-vserver/lib/syscall.c,
+         util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_setiattr-v13.hc: cleanups; fixed/changed
+         "vserver-internal.h" including
 
-       replaced by 'vkill'
+2004-01-21 18:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added get_task_xid & get_vc_info
+         files
+         removed obsoleted getctx/getinitpid files
+         renamed some -v11 files to -fscompat
 
-       * compat.h:
+2004-01-21 18:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use results from dietlib's C99 compatibility-check
+       * util-vserver/lib/getctx-compat.hc,
+         util-vserver/lib/getctx-legacy.hc, util-vserver/lib/getctx.c,
+         util-vserver/lib/getinitpid-compat.hc,
+         util-vserver/lib/getinitpid-legacy.hc,
+         util-vserver/lib/getinitpid.c: obsoleted by v13/oldproc functions
 
-2003-12-30 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 18:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_dietlibc.m4:
+       * util-vserver/lib/fscompat_getiattr-v13.hc,
+         util-vserver/lib/fscompat_setiattr-v13.hc,
+         util-vserver/lib/syscall_gettaskxid-oldproc.hc,
+         util-vserver/lib/syscall_gettaskxid-v13.hc,
+         util-vserver/lib/syscall_gettaskxid.c,
+         util-vserver/lib/syscall_getvxinfo-oldproc.hc,
+         util-vserver/lib/syscall_getvxinfo-v13.hc,
+         util-vserver/lib/syscall_getvxinfo.c: initial checkin
 
-       added check for C99 compatibility
+2004-01-21 18:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fscompat_getiattr-fscompat.hc,
+         util-vserver/lib/fscompat_getiattr-v11.hc,
+         util-vserver/lib/fscompat_setiattr-fscompat.hc,
+         util-vserver/lib/fscompat_setiattr-v11.hc: renamed *-v11 to
+         *-fscompat
 
-       * m4/ensc_fpicsyscall.m4:
+2004-01-21 18:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed AC_LANG_PUSH/POP mismatch
+       * util-vserver, util-vserver/.cvsignore: added 'Build-*'
 
-2003-12-30 17:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 18:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * .cvsignore, lib/.cvsignore, scripts/.cvsignore, src/.cvsignore:
+       * util-vserver/configure.ac: added 'oldproc' API
 
-       updated
+2004-01-21 01:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 17:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files,
+         util-vserver/src/vunify-compare.hc,
+         util-vserver/src/vunify-compare.ic,
+         util-vserver/src/vunify-doit.hc, util-vserver/src/vunify-doit.ic,
+         util-vserver/src/vunify-init.hc, util-vserver/src/vunify-init.ic,
+         util-vserver/src/vunify.c: renamed *.ic to *.hc
 
-       * lib/syscall_kill-v11.hc, lib/syscall_kill.c, src/vkill.c:
+2004-01-21 01:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged with 0.26.90
+       * util-vserver/src/vunify.h: added changes for new API
+         added rsSPECIAL reason
 
-2003-12-30 17:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 01:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/rpm-fake-test.sh:
+       * util-vserver/src/vunify.c: added changes for new API
 
-       fixed LD_PRELOAD path
+2004-01-21 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 17:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vunify-doit.ic: updated to new API
 
-       * scripts/vserver:
+2004-01-21 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated start/stop help-messages
+       * util-vserver/src/vlimit.c: fixed help message
 
-2003-12-30 17:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 01:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/chxid.c, util-vserver/src/fstool.c,
+         util-vserver/src/fstool.h, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c:
+         updated/enhanced for new API
 
-       getAllVservers(): ignore backup vservers
+2004-01-21 01:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 17:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/virtual.h: updated
 
-       * distrib/Makefile.am:
+2004-01-21 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed multiple 'make install' by using '-f' on 'ln'
+       * util-vserver/lib/vserver-internal.h: added v13 API
 
-2003-12-30 17:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/lib/vserver.h: added fscompat and v13 functions
+         removed ioctl functions
 
-       - merged with 0.26.90 (fixed --enable-apis, renamed ctx_t to xid_t,
-         renamed syscall, use C++ for ext2fs.h test)
-       - libtool'ized it
+2004-01-21 01:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 17:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added fscompat and v13 functions
 
-       * src/Makefile-files:
+2004-01-21 01:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * added vkill (merged from 0.26.90)
-       * libtool'ized it
+       * util-vserver/lib/ioctl-getext2flags.c,
+         util-vserver/lib/ioctl-getext2flags.hc,
+         util-vserver/lib/ioctl-getfilecontext.c,
+         util-vserver/lib/ioctl-getfilecontext.hc,
+         util-vserver/lib/ioctl-setext2flags.c,
+         util-vserver/lib/ioctl-setext2flags.hc,
+         util-vserver/lib/ioctl-setfilecontext.c,
+         util-vserver/lib/ioctl-setfilecontext.hc: do not provide the
+         ioctl-functions anymore; use them only internally
+         and include them directly. Therefore, renamed them from *.c to
+         *.hc
 
-2003-12-30 17:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 01:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/lib/fscompat_getiattr-v11.hc,
+         util-vserver/lib/fscompat_getiattr.c,
+         util-vserver/lib/fscompat_setiattr-v11.hc,
+         util-vserver/lib/fscompat_setiattr.c,
+         util-vserver/lib/ioctl-getxflg.hc,
+         util-vserver/lib/ioctl-setxflg.hc,
+         util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_getiattr.c,
+         util-vserver/lib/syscall_setiattr-v13.hc,
+         util-vserver/lib/syscall_setiattr.c: initial checkin
 
-       * added vc_kill() syscall (merged from 0.26.90)
-       * libtool'ized it
+2004-01-21 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 16:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: added v13 & fscompat APIs
 
-       * Makefile.am:
+2004-01-19 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * added legacy-dir (merged from 0.26.90)
-       * libtool'ized it
+       * util-vserver/distrib/misc/vunify-exclude: added .rpmdb
 
-2003-12-30 16:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-19 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: .cvsignore, ctx-kill.c, rpm-fake-resolver.c, rpm-fake.c,
-         save_ctxinfo.c, vlimit.c, vserver-stat.c, wrappers-vserver.h:
+       * util-vserver/src/chxid.c, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c:
+         s/S_ISLNK/!S_ISREG/ -> ignore any non-regular files
 
-       merged with 0.26.90
+2004-01-19 18:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 16:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: removed vunify-operations
 
-       * tests/getctx.c, compat.h, lib/getctx-compat.hc,
-         lib/getctx-legacy.hc, lib/getctx.c, lib/getversion-internal.hc,
-         lib/getversion.c, lib/getvserverbyctx.c, lib/getvserverctx.c,
-         lib/syscall-compat.hc, lib/syscall-legacy.hc, lib/syscall.c,
-         lib/syscall_rlimit-v11.hc, lib/syscall_rlimit.c, lib/virtual.h,
-         lib/vserver-internal.h, lib/vserver.h, scripts/Makefile-files,
-         scripts/vps.pathsubst, scripts/vserver-legacy:
+2004-01-19 18:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged with 0.26.90
+       * util-vserver/src/vunify.h: cleanups; moved structure declarations
+         from vunify.c into this headerfile
 
-2003-12-29 20:02  uid68581
+2004-01-19 18:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/capchroot.c:
+       * util-vserver/src/vunify.c: cleanups
+         added 'skip_reason' support
+         added debug output
 
-       do not use vc_chrootsafe() anymore
+2004-01-19 18:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-29 20:01  uid68581
+       * util-vserver/src/vunify-init.ic: added debug output
+         fixed descriptor leak
 
-       * tests/Makefile-files:
+2004-01-19 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed chrootsafe
-       libtool'ized
+       * util-vserver/src/vunify-compare.ic,
+         util-vserver/src/vunify-doit.ic: initial checkin
 
-2003-12-26 01:49  uid68581
+2004-01-19 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat-c99.h, src/testsuite/Makefile-files,
-         src/testsuite/rpm-fake-test.c, src/testsuite/rpm-fake-test.sh,
-         src/testsuite/vunify-functest.c, src/testsuite/vunify-test.sh,
-         src/testsuite/data/rpm-fake-test.inp,
-         src/testsuite/data/rpm-fake-test.out:
+       * util-vserver/src/vunify-operations.c,
+         util-vserver/src/vunify-operations.h: obsoleted by more
+         straight-forward code
 
-       initial checkin
+2004-01-19 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:49  uid68581
+       * util-vserver/src/vlimit.c: fixed copy&paste error
 
-       * pathconfig.h.pathsubst:
+2004-01-17 05:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added RESOLVER_PROG
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.27.196
 
-2003-12-26 01:48  uid68581
+2004-01-17 05:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vprofile[DEAD]:
+       * util-vserver/tests/vserver-info.c: updated to new
+         vc_getVserverVdir() API
 
-       removed since obsoleted
+2004-01-17 05:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:48  uid68581
+       * util-vserver/src/vunify.c: moved init*() functions to
+         vunify-init.c
 
-       * tests/: escaperoot.c, forkbomb.c, testlimit.c, testopenf.c:
+2004-01-17 05:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       used workarounds to make it compilable with non-C99 compilers
+       * util-vserver/src/vunify-operations.c: compareUnify(): check mtime
+         too
 
-2003-12-26 01:47  uid68581
+2004-01-17 05:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/src/vunify-matchlist.h: made 'buf' constant
 
-       added setgid/setuid/setgroups wrappers
+2004-01-17 05:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:47  uid68581
+       * util-vserver/src/vunify-matchlist.c: allow cmp-pointer to be NULL
 
-       * src/util.h:
+2004-01-17 05:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added Xmemcpy()
-       added safeChdir() prototype
+       * util-vserver/src/vunify-init.ic: use VPKG_PROG instead of
+         PKGMGMT_INFO_PROG
+         register 'vdir'
+         use default exclude-lists
 
-2003-12-26 01:46  uid68581
+2004-01-17 05:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake.c:
+       * util-vserver/src/vunify-debug.c: added a const_cast
 
-       rewrote large parts
-       added NSS functions (getpwnam(), getgrnam(), ...)
+2004-01-17 05:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:45  uid68581
+       * util-vserver/src/vserver-info.c: updated VDIR tag to new
+         interface
 
-       * src/fakerunlevel.c:
+2004-01-17 05:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use setgroups() also
+       * util-vserver/scripts/vserver: added 'unify' and 'pkg' commands
 
-2003-12-26 01:45  uid68581
+2004-01-17 05:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chroot-rm.c:
+       * util-vserver/scripts/vpkg: initial checkin
 
-       added '--help' and '--version'
+2004-01-17 05:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:44  uid68581
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added $_VUNIFY
+         and $_VPKG
 
-       * src/.cvsignore:
+2004-01-17 05:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added exec-cd and rpm-fake-resolver
-       removed secure-umount
+       * util-vserver/scripts/distrib-info,
+         util-vserver/scripts/legacy/distrib-info: moved distrib-info to
+         legacy/
 
-2003-12-26 01:41  uid68581
+2004-01-17 05:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: exec-cd.c, rpm-fake-resolver.c, vunify-matchlist.c,
-         vunify-matchlist.h, vunify-operations.c, vunify-operations.h,
-         vunify.c, wrappers-dirent.h, util-safechdir.c:
+       * util-vserver/scripts/Makefile-files: moved distrib-info to
+         legacy/
+         added vpkg
 
-       initial checkin
+2004-01-17 05:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:38  uid68581
+       * util-vserver/lib/getvservervdir.c, util-vserver/lib/vserver.h:
+         added 'physical' parameter to vc_getVserverVdir() which resolves
+         the
+         complete physical path of the vdir
 
-       * src/Makefile-files:
+2004-01-17 05:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed secure-umount
-       added exec-cd
-       vunify will be a dietlibc program soonly
+       * util-vserver/distrib/misc/vunify-exclude: initial checkin
 
-2003-12-26 01:34  uid68581
+2004-01-17 05:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vsysvwrapper, vtop:
+       * util-vserver/distrib/Makefile.am: added vunify-exclude
 
-       fixed quoting
+2004-01-17 05:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:34  uid68581
+       * util-vserver/util-vserver.spec.in: use manifest-data for -legacy
 
-       * scripts/vserver.functions:
+2004-01-17 05:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'exec-cd' instead of 'secure-umount'
+       * util-vserver/pathconfig.h.pathsubst: added VPKG_PROG
+         minor cleanups
 
-2003-12-26 01:33  uid68581
+2004-01-16 18:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions.apt:
+       * util-vserver/src/testsuite/vunify-test.sh: applied new calling
+         scheme
 
-       fixed initVariablesApt()
-       added support for default apt.conf
+2004-01-16 18:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:33  uid68581
+       * util-vserver/src/testsuite/vunify-functest.c: added
+         wrapper_exit_code
 
-       * scripts/vserver-build.functions:
+2004-01-16 18:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rename package-cfg directory on '--force' also
+       * util-vserver/src/wrappers.h: Elseek(), Emkstemp(): added
+         Emalloc(), Erealloc(): fixed declarations
 
-2003-12-26 01:32  uid68581
+2004-01-16 18:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.apt-rpm:
+       * util-vserver/src/vunify-matchlist.c,
+         util-vserver/src/vunify-matchlist.h,
+         util-vserver/src/vunify-operations.c, util-vserver/src/vunify.c:
+         added exclude-list support
 
-       added '--debug' option
+2004-01-16 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:32  uid68581
+       * util-vserver/src/vserver-info.c: added APPDIR tag
+         made it possible to supply additional paramaters
 
-       * scripts/vserver:
+2004-01-16 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added package-management options (atleast their documention)
+       * util-vserver/src/new-namespace.c, util-vserver/src/rpm-fake.c: do
+         not use CLONE_VFORK in debug mode; lockups with 'strace' are too
+         annoying
 
-2003-12-26 01:30  uid68581
+2004-01-16 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vapt-get-worker:
+       * util-vserver/src/Makefile-files: updated vunify setup
+         added files for vunify
 
-       set RPM::PM to 'external'
+2004-01-16 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:29  uid68581
+       * util-vserver/lib/getvserverappdir.c,
+         util-vserver/lib/getvservercfgdir.c,
+         util-vserver/lib/isdirectory.c, util-vserver/scripts/legacy,
+         util-vserver/scripts/legacy/.cvsignore,
+         util-vserver/src/vunify-debug.c, util-vserver/src/vunify-init.ic,
+         util-vserver/src/vunify.h, util-vserver/src/wrappers-io.h:
+         initial checkin
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-01-16 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added _EXEC_CD
-       removed _SECURE_UMOUNT
+       * util-vserver/scripts/functions: accept vservers beginning with
+         './'
 
-2003-12-26 01:29  uid68581
+2004-01-16 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: rootshell, vpstree:
+       * util-vserver/lib/vserver.h: added new management functions + doc
 
-       fixed quoting
+2004-01-16 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:29  uid68581
+       * util-vserver/lib/internal.h: added utilvserver_isDirectory()
+         prototype
 
-       * scripts/functions:
+2004-01-16 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for default apt.conf
+       * util-vserver/lib/getvservervdir.c: use utilvserver_isDirectory()
 
-2003-12-26 01:23  uid68581
+2004-01-16 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/lib/Makefile-files: added new management sources
 
-       removed vprofile
+2004-01-16 17:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:22  uid68581
+       * util-vserver/util-vserver.spec.in: use filelists from
+         contrib/make-manifest
 
-       * m4/: ensc_cflags.m4, ensc_dietlibc.m4, ensc_kerneldir.m4,
-         ensc_release.m4, ensc_uv_vrootdir.m4:
+2004-01-16 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed broken quoting which is complained by recent automake
+       * util-vserver/configure.ac: fixed CVS tag
 
-2003-12-26 01:22  uid68581
+2004-01-16 17:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getvserverbyctx.c, getvserverctx.c:
+       * util-vserver/Makefile.am: added contrib/ dir
+         substitute MANDIR too
 
-       added workarounds for non-C99 compilers
+2004-01-14 02:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:21  uid68581
+       * util-vserver/src/util-exitlikeprocess.c: added missing <signal.h>
 
-       * distrib/defaults/apt/apt.conf:
+2004-01-14 02:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/fstool.h: added 'local_fs' struct-member
 
-2003-12-26 01:20  uid68581
+2004-01-14 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/src/fstool.c: added support for '-x' (do not cross
+         filesystems)
+         fixed invocation with directory-name
+         implemented '-a' (show dot)
 
-       added default apt.conf
+2004-01-14 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:20  uid68581
+       * util-vserver/src/vps.c: minor documentation fix
 
-       * compat.h:
+2004-01-14 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       differ between >=3.3 and below at certain options
-       added 'restrict' workarounds
+       * util-vserver/src/chxid.c, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c: added
+         and documented '-x' switch
 
-2003-12-26 01:19  uid68581
+2004-01-14 00:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/src/vps.c: makde it compilable with gcc296
 
-       - removed m4_FILES; it is handled by automake >=2.8 automatically
-       - added basic test support
+2004-01-14 00:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-02 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: added -legacy subpackage
 
-       * scripts/vserver.functions:
+2004-01-14 00:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       evaluate CHBIND_OPTS lazily
+       * util-vserver/Makefile.am: removed timestamps in legacy-dir also
+         substitute LEGACYDIR and PS
 
-2003-12-02 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-14 00:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservername.c:
+       * util-vserver/src/vps.c: added native '--version' and '--help'
 
-       getRecentName(): return basename of directory but not this of the link anymore
+2004-01-14 00:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-22 03:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: added legacy-scripts to
+         $(scripts_OPTIONS_EXEMPT)
+         added scripts_legacy_gen_SCRPTS to $(scripts_CLEANFILES)
 
-       * NEWS, configure.ac:
+2004-01-14 00:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.26.193
+       * util-vserver/m4/validate.am: fixed parallel build
 
-2003-11-22 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/ifspec.c, configure.ac, Makefile.am, .cvsignore:
+       * util-vserver/configure.ac: added check for PS
 
-       merged with 0.26
+2004-01-13 23:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-22 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: added PS_PROG
 
-       * Makefile.am:
+2004-01-13 23:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       generate some .defaults symlinks
+       * util-vserver/src, util-vserver/src/.cvsignore: added vps
 
-2003-11-22 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/src/Makefile-files: made vps a dietprog
 
-       generate %ghost symlinks in %post
-       added vlimit
-       added some .default directories
+2004-01-13 23:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-22 03:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getctx.c: minor code cleanups
 
-       * lib/getvserverctx.c:
+2004-01-13 23:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing includes
+       * util-vserver/lib/getctx.c: added VC_BE_VALGRIND_FRIENDLY support
 
-2003-11-22 03:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-setup.functions:
+       * util-vserver/lib/vserver.h: vc_get_securecaps(): added prototype
 
-       use '$CONFDIR/.defaults/run.rev' instead of '$PKGSTATEREVDIR'
+2004-01-13 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver-internal.h: made CALL_VC-macro a block
 
-       * util-vserver.spec.in:
+2004-01-13 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'vservers.rev' directory instead of 'vservers/rev'
+       * util-vserver/src/util-exitlikeprocess.c: include <unistd.h>
 
-2003-11-20 19:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-setup.functions:
+       * util-vserver/scripts/Makefile-files: moved legacy scripts into
+         legacy/ and updated variables
 
-       use PKGSTATEREVDIR
+2004-01-13 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: updated legacy
+         paths
 
-       * scripts/.cvsignore:
+2004-01-13 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vps
+       * util-vserver/src/Makefile-files: added vps
 
-2003-11-20 19:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/src/util.h: exitLikeProcess(): added prototype
 
-       added separate 'pkgstaterevdir' variable
+2004-01-13 23:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/wrappers.h: Emalloc(), Erealloc(): added
 
-       * pathconfig.h.pathsubst:
+2004-01-13 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added DEFAULT_PKGSTATEREVDIR
+       * util-vserver/src/util-exitlikeprocess.c, util-vserver/src/vps.c:
+         initial checkin
 
-2003-11-20 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/scripts/save_s_context,
+         util-vserver/scripts/vps.pathsubst,
+         util-vserver/scripts/vserver-legacy,
+         util-vserver/scripts/vserverkillall: moved into legacy
 
-       added getvserverctx & getvserverbyctx files
-       added fmtx* files
+2004-01-13 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/legacy,
+         util-vserver/scripts/legacy/save_s_context,
+         util-vserver/scripts/legacy/vps.pathsubst,
+         util-vserver/scripts/legacy/vserver,
+         util-vserver/scripts/legacy/vserverkillall: initial checkin
+         (moved from ../)
 
-       * lib/syscall-legacy.hc:
+2004-01-13 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       has_chrootsafe(), call_set_ctxlimit(): removed
+       * util-vserver/scripts/vserver-legacy: use 'exec' to call commands
+         on 'suexec' (patch by Alec Thomas)
 
-2003-11-20 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 14:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/src/Makefile-files: added missing fstool.h header
 
-       vc_getVserverByCtx(), vc_getVserverCtx(): added
+2004-01-13 14:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/virtual.h: updated (added scheduler stuff)
 
-       * lib/: fmt.h, fmt.hc:
+2004-01-13 14:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added/use specialized hex-formating functions
+       * util-vserver/src/vkill.c: removed warnings about unused
+         parameters
 
-2003-11-20 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 14:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fmt-internal.h, fmtx-32.c, fmtx-64.c, fmtx.hc,
-         getvserverbyctx.c, getvserverctx.c:
+       * util-vserver/lib/getvserverbyctx.c,
+         util-vserver/lib/getvserverctx.c, util-vserver/src/exec-cd.c,
+         util-vserver/tests/escaperoot.c, util-vserver/tests/testipc.c,
+         util-vserver/tests/testlimit.c, util-vserver/tests/testopenf.c:
+         made it compilable with gcc296
 
-       initial checkin
+2004-01-13 14:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: use $(src_sbin_SCRPTS)
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-01-13 14:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added PKGSTATEREVDIR
+       * util-vserver/lib/vserver.h: added declarations for the ext2fs
+         functions
 
-2003-11-20 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 14:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-stat.c:
+       * util-vserver/lib/vserver-internal.h: added EXT2FS macros
 
-       rewrote it to
-       * use the new management function
-       * remove all traces of printf()
-       * remove stacked functions
+2004-01-13 14:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fmt.h: fixed xulong/xlong declarations
 
-       * src/vlimit.c:
+2004-01-13 14:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use the specialized utilvserver_fmt_xuint64() function
+       * util-vserver/lib/Makefile-files: added the ioctl-* files
+         added ext2fs.h
 
-2003-11-20 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 14:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/src, util-vserver/src/.cvsignore: updated
 
-       made 'vserver-stat' a dietlibc-compiled program
+2004-01-13 14:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 16:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: removed ext2fs.h
+         added the fstools (lsxid,chxid,showattr,setattr) plus deps
 
-       * compat.h:
+2004-01-13 14:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       define FMT_PREFIX
+       * util-vserver/src/chxid.c, util-vserver/src/fstool.c,
+         util-vserver/src/fstool.h, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c:
+         minor/medium cleanups
 
-2003-11-20 16:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 14:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/getinitpid.c, tests/getctx.c, src/save_ctxinfo.c,
-         src/vlimit.c, lib/getprocentry-legacy.c, lib/Makefile-files,
-         lib/fmt-32.c, lib/fmt-64.c, lib/fmt.h, lib/fmt.hc,
-         lib/int2str.c[DEAD], lib/internal.h, lib/uint2str.c[DEAD]:
+       * util-vserver/src/fstool-resolvectx.c: initial checkin
 
-       use fmt_*() functions instead of *int2str()
+2004-01-13 13:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 03:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/showattr.c: rewrote completely
 
-       * scripts/vps[DEAD]:
+2004-01-13 13:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed since autogenerated from vps.pathsubst
+       * util-vserver/lib/ext2fs.h, util-vserver/src/ext2fs.h: moved
+         ext2fs.h from src/ into lib/ directory; we are providing the
+         needed functionality through libvserver now
 
-2003-11-19 00:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 13:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/fc1/: apt/rpmpriorities, apt/sources.list, pkgs/01,
-         pkgs/02:
+       * util-vserver/lib/ioctl-getext2flags.c,
+         util-vserver/lib/ioctl-getfilecontext.c,
+         util-vserver/lib/ioctl-setext2flags.c,
+         util-vserver/lib/ioctl-setfilecontext.c,
+         util-vserver/src/chxid.c, util-vserver/src/fstool.c,
+         util-vserver/src/fstool.h, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c: initial checkin
 
-       initial checkin (based on fdr0.95)
+2004-01-07 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-19 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added URL which describes
+         context-creation
 
-       * distrib/Makefile.am:
+2004-01-07 15:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added Fedora Core 1
-       removed Fedora Beta
+       * util-vserver/src/chcontext.c: * removed obsolete and unused
+         'fakeinit' variable
+         * fixed ctx-creation with fakeinit and static ctx-id's; fakeinit
+         requires a second call for ctx -2 to take effect
 
-2003-11-19 00:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vapt-get:
+       * util-vserver/util-vserver.spec.in: added vserver-info
 
-       do not set $_APT_GET
+2004-01-05 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-19 00:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: updated
 
-       * compat.h:
+2004-01-05 22:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged/added from 0.25
-       added workaround for broken 'long long' handling of dietlibc
+       * util-vserver/src/wrappers.h: Edup2(): added
 
-2003-11-19 00:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 22:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files, lib/syscall-compat.hc,
-         lib/syscall_rlimit-v11.hc, lib/syscall_rlimit.c, lib/virtual.h,
-         lib/vserver-internal.h, lib/vserver.h, Makefile.am, THANKS,
-         configure.ac, util-vserver.spec.in:
+       * util-vserver/src/vserver-stat.c: use existing syscall-wrappers
+         instead of checking return-codes manually
 
-       merged/added from 0.25
+2004-01-05 22:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-19 00:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: initial checkin
 
-       * src/.cvsignore, src/Makefile-files, src/showattr.c, src/vutil.cc,
-         src/ext2fs.h, src/setctxlimit.c[DEAD], src/vlimit.c,
-         scripts/vserver-legacy:
+2004-01-05 22:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged/added from 0.25
+       * util-vserver/src/rpm-fake.c: use fd3 for synchronization with
+         resolver
+         adding some missing '\n' in messages
+         ignore empty environment variables too
+         exitRPMFake(): conditionalized debug-message
 
-2003-11-19 00:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 22:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/: rebootmgr.subst, vservers.subst:
+       * util-vserver/src/rpm-fake-resolver.c: daemonize(): child waits
+         for parent to finish now
+         use fd3 for synchronisation
+         enable fork on default
 
-       merged in changes from 0.25
+2004-01-05 22:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-05 00:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: added vserver-info
+         minor cosmetical fixes
 
-       * NEWS, configure.ac:
+2004-01-05 22:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.24.191
+       * util-vserver/scripts/vserver.stop: fixed error-handling
 
-2003-11-05 00:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 22:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/scripts/vserver-setup.functions: added '--context'
+         option
+         minor cosmetical cleanups
 
-       added '--without dietlibc' option
+2004-01-05 22:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-05 00:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions.apt:
+         initVariablesApt(): fixed empty function body
 
-       * m4/ensc_dietlibc.m4:
+2004-01-05 21:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed typos ('withval' instead of 'enableval')
+       * util-vserver/scripts/vrpm-preload: major cleanups; use
+         'vserver-info' to retrieve information about vserver
 
-2003-11-05 00:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 21:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getvservername.c, getvservervdir.c:
+       * util-vserver/scripts/vapt-get-worker: removed old, unused debug
+         code
 
-       added '#include <unistd.h>' to fix compilation problems with glibc
+2004-01-05 21:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 14:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vapt-get, util-vserver/scripts/vrpm: use
+         modern '--help' & '--version' output
 
-       * NEWS, configure.ac:
+2004-01-05 21:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.24.190
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_VSERVER_INFO
 
-2003-11-04 14:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 21:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * .cvsignore:
+       * util-vserver/scripts/functions: getVserverStatus(): fixed usage
+         of 2nd parameter
 
-       added linuxcaps.h (merged from stable)
+2004-01-05 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 14:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fmtx.hc, util-vserver/lib/getvserverbyctx.c,
+         util-vserver/lib/getvserverctx.c,
+         util-vserver/lib/vserver-internal.h, util-vserver/lib/vserver.h:
+         small cosmetical fix
 
-       * Makefile.am:
+2003-12-30 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - separated and completed m4_FILES
-       - added '--show-dead' to cvs2cl params
-       - fix linuxcaps.h (merged from stable)
+       * util-vserver/configure.ac: version 0.27.190
 
-2003-11-04 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 19:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservercfgstyle.c:
+       * util-vserver/util-vserver.spec.in: - since dynamic libraries will
+         be installed now, call /sbin/ldconfig
+         - other updates...
 
-       added some additional logic
+2003-12-30 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/compat-pivot_root.h: use <asm/unistd.h> instead
+         of <linux/unistd.h> to fix problems with
+         RH's headers
 
-       * lib/virtual.h:
+2003-12-30 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not include the <linux/types.h> kernel-header anymore
+       * util-vserver/src/testsuite/vunify-test.sh: fixed paths
 
-2003-11-04 14:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/scripts/vserver.stop: use sendKillSequence instead
+         of ctx-kill
 
-       - getAllVservers: use _tmp instead of tmp to avoid clashes when caller
-         wants to have results in 'tmp', fixed array assignment
+2003-12-30 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 14:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: sendKillSequence(): added
 
-       * src/rebootmgr.c:
+2003-12-30 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed typo
+       * util-vserver/scripts/util-vserver-vars.pathsubst: removed
+         _CTX_KILL
+         added _VKILL
 
-2003-11-04 14:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/vserver-info.c:
+       * util-vserver/scripts/functions: getVserverStatus(): fixed usage
+         if ctx
+         isCtxRunning(): added
 
-       added '--help' and '--version'
+2003-12-30 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 02:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added missing compat-c99.h header-file
 
-       * configure.ac:
+2003-12-30 17:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged from SYSCALL_SWITCH
+       * util-vserver/src/chroot-rm.c: fixed order of chroot() and
+         parameter evaluation so that '--version'
+         and '--help' are working as non-root also
 
-2003-11-04 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_changelog.m4:
+       * util-vserver/src/Makefile-files: added missing headers
+         removed 'ctx-kill'; it is obsoleted through 'vkill'
 
-       merged from SYSCALL_SWITCH
+2003-12-30 17:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 02:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/ctx-kill.c: replaced by 'vkill'
 
-       * scripts/distrib-info, scripts/vserver-copy,
-         scripts/vserver-legacy, scripts/vservers.grabinfo.sh,
-         src/rebootmgr.c, sysv/Makefile-files, sysv/rebootmgr.subst:
+2003-12-30 17:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged in changes from 0.23.96 (/vservers -> $DEFAULT_VSERVERDIR)
+       * util-vserver/compat.h: use results from dietlib's C99
+         compatibility-check
 
-2003-11-04 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 17:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/validate.am:
+       * util-vserver/m4/ensc_dietlibc.m4: added check for C99
+         compatibility
 
-       updated from vserver-djinni
+2003-12-30 17:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_fpicsyscall.m4: fixed AC_LANG_PUSH/POP
+         mismatch
 
-       * lib/vserver-internal.h:
+2003-12-30 16:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       ignore lower 8bit on version
+       * util-vserver, util-vserver/.cvsignore, util-vserver/lib,
+         util-vserver/lib/.cvsignore, util-vserver/scripts,
+         util-vserver/scripts/.cvsignore, util-vserver/src,
+         util-vserver/src/.cvsignore: updated
 
-2003-11-03 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 16:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/lib/syscall_kill-v11.hc,
+         util-vserver/lib/syscall_kill.c, util-vserver/src/vkill.c: merged
+         with 0.26.90
 
-       removed 'vkill' for now
-       call 'install-vserverdir'
+2003-12-30 16:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-03 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/rpm-fake-test.sh: fixed LD_PRELOAD
+         path
 
-       * distrib/redhat/initpost:
+2003-12-30 16:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       create /etc/sysconfig/network
+       * util-vserver/scripts/vserver: updated start/stop help-messages
 
-2003-11-03 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 16:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/scripts/functions: getAllVservers(): ignore backup
+         vservers
 
-       - fixed some statements which would fail with 'set -e'
-       - made 'disableInterface' smart so that it calculates parameters
-         automatically
+2003-12-30 16:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-03 20:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: fixed multiple 'make install'
+         by using '-f' on 'ln'
 
-       * scripts/vserver-setup.functions:
+2003-12-30 16:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for '--netbcast'
+       * util-vserver/configure.ac: - merged with 0.26.90 (fixed
+         --enable-apis, renamed ctx_t to xid_t,
+         renamed syscall, use C++ for ext2fs.h test)
+         - libtool'ized it
 
-2003-11-03 20:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 16:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservername.c:
+       * util-vserver/src/Makefile-files: * added vkill (merged from
+         0.26.90)
+         * libtool'ized it
 
-       terminate name with '\0'
+2003-12-30 16:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-30 18:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: * added vc_kill() syscall
+         (merged from 0.26.90)
+         * libtool'ized it
 
-       * scripts/vserver-legacy:
+2003-12-30 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged from 0.23.95:
-       - reenabled the copy-all mode; can be disabled by setting the
-         $UTIL_VSERVER_AVOID_COPY environment variable
-       - use '-HS' ulimit switch for newly created vservers
+       * util-vserver/Makefile.am: * added legacy-dir (merged from
+         0.26.90)
+         * libtool'ized it
 
-2003-10-30 18:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/compat.h, util-vserver/lib/getctx-compat.hc,
+         util-vserver/lib/getctx-legacy.hc, util-vserver/lib/getctx.c,
+         util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/getversion.c,
+         util-vserver/lib/getvserverbyctx.c,
+         util-vserver/lib/getvserverctx.c,
+         util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall-legacy.hc, util-vserver/lib/syscall.c,
+         util-vserver/lib/syscall_rlimit-v11.hc,
+         util-vserver/lib/syscall_rlimit.c, util-vserver/lib/virtual.h,
+         util-vserver/lib/vserver-internal.h, util-vserver/lib/vserver.h,
+         util-vserver/scripts/Makefile-files,
+         util-vserver/scripts/vps.pathsubst,
+         util-vserver/scripts/vserver-legacy, util-vserver/src,
+         util-vserver/src/.cvsignore, util-vserver/src/ctx-kill.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c, util-vserver/src/save_ctxinfo.c,
+         util-vserver/src/vlimit.c, util-vserver/src/vserver-stat.c,
+         util-vserver/src/wrappers-vserver.h, util-vserver/tests/getctx.c:
+         merged with 0.26.90
 
-       - large cleanup; use changed variables from scripts/Makefile
-       - try to keep modes of pathsubstituted files
-       - create own install-rule for vserver-dir; 'make distcheck' does not
-         like /vservers...
+2003-12-29 19:02  uid68581
 
-2003-10-30 18:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/capchroot.c: do not use vc_chrootsafe() anymore
 
-       * src/reducecap.c:
+2003-12-29 19:01  uid68581
 
-       use QUOTACTL (merged from 0.23.94)
+       * util-vserver/tests/Makefile-files: removed chrootsafe
+         libtool'ized
 
-2003-10-30 18:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:50  uid68581
 
-       * src/rebootmgr.c:
+       * util-vserver/compat-c99.h, util-vserver/src/testsuite,
+         util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/data,
+         util-vserver/src/testsuite/data/rpm-fake-test.inp,
+         util-vserver/src/testsuite/data/rpm-fake-test.out,
+         util-vserver/src/testsuite/rpm-fake-test.c,
+         util-vserver/src/testsuite/rpm-fake-test.sh,
+         util-vserver/src/testsuite/vunify-functest.c,
+         util-vserver/src/testsuite/vunify-test.sh: initial checkin
 
-       use configured SBINDIR instead of hardcoded /usr/sbin
+2003-12-26 00:49  uid68581
 
-2003-10-30 18:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: added RESOLVER_PROG
 
-       * src/chcontext.c:
+2003-12-26 00:48  uid68581
 
-       added QUOTACTL to 'secure' caps (merged from 0.23.94)
+       * util-vserver/scripts/vprofile: removed since obsoleted
 
-2003-10-30 18:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:48  uid68581
 
-       * src/Makefile-files:
+       * util-vserver/tests/escaperoot.c, util-vserver/tests/forkbomb.c,
+         util-vserver/tests/testlimit.c, util-vserver/tests/testopenf.c:
+         used workarounds to make it compilable with non-C99 compilers
 
-       create 'setattr' program
+2003-12-26 00:47  uid68581
 
-2003-10-30 18:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/wrappers.h: added setgid/setuid/setgroups
+         wrappers
 
-       * scripts/: distrib-info, rootshell, vpstree, vserver-copy,
-         vsysvwrapper, vtop:
+2003-12-26 00:47  uid68581
 
-       merged in changes from 0.24.94 (s!/usr/sbin!$SBINDIR!)
+       * util-vserver/src/util.h: added Xmemcpy()
+         added safeChdir() prototype
 
-2003-10-30 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:46  uid68581
 
-       * scripts/: vserver.start, vserver.stop:
+       * util-vserver/src/rpm-fake.c: rewrote large parts
+         added NSS functions (getpwnam(), getgrnam(), ...)
 
-       use 'set -e' instead of 'set +e'
+2003-12-26 00:45  uid68581
 
-2003-10-30 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/fakerunlevel.c: use setgroups() also
 
-       * scripts/functions:
+2003-12-26 00:45  uid68581
 
-       added 'checkComponents()' function
+       * util-vserver/src/chroot-rm.c: added '--help' and '--version'
 
-2003-10-30 18:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:44  uid68581
 
-       * scripts/vps.pathsubst:
+       * util-vserver/src, util-vserver/src/.cvsignore: added exec-cd and
+         rpm-fake-resolver
+         removed secure-umount
 
-       initial check (was: vps)
+2003-12-26 00:42  uid68581
 
-2003-10-30 18:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/exec-cd.c, util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/util-safechdir.c,
+         util-vserver/src/vunify-matchlist.c,
+         util-vserver/src/vunify-matchlist.h,
+         util-vserver/src/vunify-operations.c,
+         util-vserver/src/vunify-operations.h, util-vserver/src/vunify.c,
+         util-vserver/src/wrappers-dirent.h: initial checkin
 
-       * scripts/vkill[DEAD]:
+2003-12-26 00:38  uid68581
 
-       removed; is obsoleted by ctx-kill
+       * util-vserver/src/Makefile-files: removed secure-umount
+         added exec-cd
+         vunify will be a dietlibc program soonly
 
-2003-10-30 18:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:34  uid68581
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/scripts/rootshell, util-vserver/scripts/vpstree,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop:
+         fixed quoting
 
-       added INITRDDIR, LIBDIR and INCLUDEDIR
+2003-12-26 00:34  uid68581
 
-2003-10-30 18:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: use 'exec-cd' instead of
+         'secure-umount'
 
-       * scripts/Makefile-files:
+2003-12-26 00:33  uid68581
 
-       large cleanup
-       removed 'vkill' (obsoleted by ctx-kill)
-       vps is now vps.subst
+       * util-vserver/scripts/vserver-build.functions.apt: fixed
+         initVariablesApt()
+         added support for default apt.conf
 
-2003-10-30 18:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:33  uid68581
 
-       * lib/capabilities.c, lib/vserver.h, man/reducecap.8:
+       * util-vserver/scripts/vserver-build.functions: rename package-cfg
+         directory on '--force' also
 
-       use CAP_QUOTACTL instead of CAP_OPENDEV
+2003-12-26 00:32  uid68581
 
-2003-10-30 15:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm: added '--debug'
+         option
 
-       * Makefile.am:
+2003-12-26 00:32  uid68581
 
-       use ENSC_UV_VROOTDIR to set 'vserverdir'
-       added missing path-substitutions
+       * util-vserver/scripts/vserver: added package-management options
+         (atleast their documention)
 
-2003-10-30 15:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:30  uid68581
 
-       * configure.ac:
+       * util-vserver/scripts/vapt-get-worker: set RPM::PM to 'external'
 
-       use ENSC_UV_VROOTDIR to set 'vserverdir'
+2003-12-26 00:29  uid68581
 
-2003-10-30 15:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added _EXEC_CD
+         removed _SECURE_UMOUNT
 
-       * m4/ensc_uv_vrootdir.m4:
+2003-12-26 00:29  uid68581
 
-       initial checkin
+       * util-vserver/scripts/functions: added support for default
+         apt.conf
 
-2003-10-23 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:23  uid68581
 
-       * tests/vserver-info.c:
+       * util-vserver/scripts/Makefile-files: removed vprofile
 
-       initial checkin
+2003-12-26 00:22  uid68581
 
-2003-10-23 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_cflags.m4, util-vserver/m4/ensc_dietlibc.m4,
+         util-vserver/m4/ensc_kerneldir.m4,
+         util-vserver/m4/ensc_release.m4,
+         util-vserver/m4/ensc_uv_vrootdir.m4: fixed broken quoting which
+         is complained by recent automake
 
-       * tests/: Makefile-files, .cvsignore:
+2003-12-26 00:22  uid68581
 
-       added vserver-info
+       * util-vserver/lib/getvserverbyctx.c,
+         util-vserver/lib/getvserverctx.c: added workarounds for non-C99
+         compilers
 
-2003-10-23 22:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:21  uid68581
 
-       * compat.h:
+       * util-vserver/distrib/defaults/apt,
+         util-vserver/distrib/defaults/apt/apt.conf: initial checkin
 
-       define TEMP_FAILURE_RETRY for dietlibc-compilation
+2003-12-26 00:20  uid68581
 
-2003-10-23 22:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added default apt.conf
 
-       * pathconfig.h.pathsubst:
+2003-12-26 00:20  uid68581
 
-       define DEFAULT_VSERVERDIR and DEFAULT_VSERVERPKGDIR
+       * util-vserver/compat.h: differ between >=3.3 and below at certain
+         options
+         added 'restrict' workarounds
 
-2003-10-23 22:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:19  uid68581
 
-       * lib/Makefile-files:
+       * util-vserver/Makefile.am: - removed m4_FILES; it is handled by
+         automake >=2.8 automatically
+         - added basic test support
 
-       added files for higher-level management
+2003-12-02 02:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 22:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: evaluate CHBIND_OPTS
+         lazily
 
-       * lib/vserver.h:
+2003-12-02 02:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added functions for vserver-management
+       * util-vserver/lib/getvservername.c: getRecentName(): return
+         basename of directory but not this of the link anymore
 
-2003-10-23 22:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-22 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getvservercfgstyle.c, getvservername.c, getvservervdir.c:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.26.193
 
-       initial checkin
+2003-11-22 02:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver, util-vserver/.cvsignore, util-vserver/Makefile.am,
+         util-vserver/configure.ac, util-vserver/src/ifspec.c: merged with
+         0.26
 
-       * scripts/: vserver.start, vserver.stop, vserver.suexec:
+2003-11-22 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; go into vserver-dir before *and* after executing scriptlets
+       * util-vserver/Makefile.am: generate some .defaults symlinks
 
-2003-10-23 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-22 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver-build, vserver-build.functions:
+       * util-vserver/util-vserver.spec.in: generate %ghost symlinks in
+         %post
+         added vlimit
+         added some .default directories
 
-       used $DEFAULT_VSERVERDIR and $DEFAULT_VSERVERPKGDIR instead of the
-       hardcoded '/vservers' values
+2003-11-22 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 00:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvserverctx.c: added missing includes
 
-       * util-vserver.spec.in:
+2003-11-22 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rewrote it
-       added -build subpackage
+       * util-vserver/scripts/vserver-setup.functions: use
+         '$CONFDIR/.defaults/run.rev' instead of '$PKGSTATEREVDIR'
 
-2003-10-23 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 18:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/util-vserver.spec.in: use 'vservers.rev' directory
+         instead of 'vservers/rev'
 
-       moved ENSC_INITRDDIR, ENSC_RELEASE, ENSC_ENABLE_DIETLIBC and
-       ENSC_KERNEL_HEADERS checks into own m4/* files
+2003-11-20 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 00:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-setup.functions: use PKGSTATEREVDIR
 
-       * Makefile.am:
+2003-11-20 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed sysvdir to initrddir
-       use $(RELEASE_CPPFLAGS) (-DNDEBUG)
-       substitute $(vserverdir) and $(vserverpkgdir)
-       create the $(vserverdir) and $(vserverpkgdir) directories
+       * util-vserver/scripts, util-vserver/scripts/.cvsignore: added vps
 
-2003-10-23 00:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/Makefile.am: added separate 'pkgstaterevdir'
+         variable
 
-       added sample 'mtab' file
-       create the config-dirs
+2003-11-20 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 00:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: added DEFAULT_PKGSTATEREVDIR
 
-       * distrib/redhat/initpost:
+2003-11-20 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       $2 is no longer $_VSERVER but the 'util-vserver-vars' file
+       * util-vserver/lib/Makefile-files: added getvserverctx &
+         getvserverbyctx files
+         added fmtx* files
 
-2003-10-23 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/rh9/apt/sources.list:
+       * util-vserver/lib/syscall-legacy.hc: has_chrootsafe(),
+         call_set_ctxlimit(): removed
 
-       added some mirrors
+2003-11-20 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 00:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: vc_getVserverByCtx(),
+         vc_getVserverCtx(): added
 
-       * m4/ensc_dietlibc.m4, m4/ensc_initrddir.m4, m4/ensc_kerneldir.m4,
-         m4/ensc_release.m4, distrib/misc/mtab:
+2003-11-20 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/fmt.h, util-vserver/lib/fmt.hc: added/use
+         specialized hex-formating functions
 
-2003-10-23 00:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/lib/fmt-internal.h, util-vserver/lib/fmtx-32.c,
+         util-vserver/lib/fmtx-64.c, util-vserver/lib/fmtx.hc,
+         util-vserver/lib/getvserverbyctx.c,
+         util-vserver/lib/getvserverctx.c: initial checkin
 
-       added DEFAULT_VSERVERDIR and DEFAULT_VSERVERPKGDIR
+2003-11-20 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 00:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         PKGSTATEREVDIR
 
-       * scripts/vserver-build.apt-rpm:
+2003-11-20 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call pre/post scriplets with "$UTIL_VSERVER_VARS" as second param
-       instead of "$_VSERVER"
+       * util-vserver/src/vserver-stat.c: rewrote it to
+         * use the new management function
+         * remove all traces of printf()
+         * remove stacked functions
 
-2003-10-23 00:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions:
+       * util-vserver/src/vlimit.c: use the specialized
+         utilvserver_fmt_xuint64() function
 
-       fixed broken quotes
+2003-11-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-22 20:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: made 'vserver-stat' a
+         dietlibc-compiled program
 
-       * scripts/: vserver.functions, vserver.start:
+2003-11-20 15:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - reorganized CHCONTEXT_INIT_OPTS/CHCONTEXT_DISCONNECT: dropped the
-         separate CHCONTEXT_DISCONNECT variable completetly and put '--flag
-         fakeinit --disconnect' into CHCONTEXT_INIT_OPTS, which is used by
-         'vserver ... start' command only
+       * util-vserver/compat.h: define FMT_PREFIX
 
-2003-10-22 20:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 15:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-umount.c:
+       * util-vserver/lib/Makefile-files, util-vserver/lib/fmt-32.c,
+         util-vserver/lib/fmt-64.c, util-vserver/lib/fmt.h,
+         util-vserver/lib/fmt.hc, util-vserver/lib/getprocentry-legacy.c,
+         util-vserver/lib/int2str.c, util-vserver/lib/internal.h,
+         util-vserver/lib/uint2str.c, util-vserver/src/save_ctxinfo.c,
+         util-vserver/src/vlimit.c, util-vserver/tests/getctx.c,
+         util-vserver/tests/getinitpid.c: use fmt_*() functions instead of
+         *int2str()
 
-       use real 'umount' program to unmount directories
+2003-11-20 02:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-22 20:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vps: removed since autogenerated from
+         vps.pathsubst
 
-       * src/exec-ulimit.c:
+2003-11-18 23:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added [mMkK] modifies for limits
+       * util-vserver/distrib/fdr0.95, util-vserver/distrib/rh9.0.93:
+         obsoleted by fc1
 
-2003-10-22 20:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-18 23:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions:
+       * util-vserver/distrib/fc1, util-vserver/distrib/fc1/apt,
+         util-vserver/distrib/fc1/apt/rpmpriorities,
+         util-vserver/distrib/fc1/apt/sources.list,
+         util-vserver/distrib/fc1/pkgs, util-vserver/distrib/fc1/pkgs/01,
+         util-vserver/distrib/fc1/pkgs/02: initial checkin (based on
+         fdr0.95)
 
-       added support for copying some default files (resolv.conf, localtime,
-       krb-conf,...)
+2003-11-18 23:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-22 20:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added Fedora Core 1
+         removed Fedora Beta
 
-       * scripts/: vserver-build, vserver-setup.functions:
+2003-11-18 23:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed getopt long-option string
+       * util-vserver/scripts/vapt-get: do not set $_APT_GET
 
-2003-10-22 20:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-18 23:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/compat.h: merged/added from 0.25
+         added workaround for broken 'long long' handling of dietlibc
 
-       implemented findAndCopy
+2003-11-18 23:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 16:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am, util-vserver/THANKS,
+         util-vserver/configure.ac, util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall_rlimit-v11.hc,
+         util-vserver/lib/syscall_rlimit.c, util-vserver/lib/virtual.h,
+         util-vserver/lib/vserver-internal.h, util-vserver/lib/vserver.h,
+         util-vserver/scripts/vserver-legacy, util-vserver/src,
+         util-vserver/src/.cvsignore, util-vserver/src/Makefile-files,
+         util-vserver/src/ext2fs.h, util-vserver/src/setctxlimit.c,
+         util-vserver/src/showattr.c, util-vserver/src/vlimit.c,
+         util-vserver/src/vutil.cc, util-vserver/util-vserver.spec.in:
+         merged/added from 0.25
 
-       * NEWS, configure.ac:
+2003-11-18 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.23.194
+       * util-vserver/sysv/rebootmgr.subst,
+         util-vserver/sysv/vservers.subst: merged in changes from 0.25
 
-2003-10-21 16:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.24.191
 
-       added scripts to AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
+2003-11-04 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 16:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: added '--without dietlibc'
+         option
 
-       * src/exec-ulimit.c:
+2003-11-04 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented '--help' and '--version'
+       * util-vserver/m4/ensc_dietlibc.m4: fixed typos ('withval' instead
+         of 'enableval')
 
-2003-10-21 15:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 23:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vbuild.cc:
+       * util-vserver/lib/getvservername.c,
+         util-vserver/lib/getvservervdir.c: added '#include <unistd.h>' to
+         fix compilation problems with glibc
 
-       removed warning about unused parameters
+2003-11-04 13:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.24.190
 
-       * tests/Makefile-files:
+2003-11-04 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed to .cc files to .c
+       * util-vserver, util-vserver/.cvsignore: added linuxcaps.h (merged
+         from stable)
 
-2003-10-21 15:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/: chrootsafe.c, chrootsafe.cc[DEAD], escaperoot.c,
-         escaperoot.cc[DEAD], forkbomb.c, forkbomb.cc[DEAD], testipc.c,
-         testipc.cc[DEAD], testlimit.c, testlimit.cc[DEAD], testopenf.c,
-         testopenf.cc[DEAD]:
+       * util-vserver/Makefile.am: - separated and completed m4_FILES
+         - added '--show-dead' to cvs2cl params
+         - fix linuxcaps.h (merged from stable)
 
-       renamed to .cc files to .c and made some little changes to make them
-       compilable with C compilers
+2003-11-04 13:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvservercfgstyle.c: added some additional
+         logic
 
-       * Makefile.am:
+2003-11-04 13:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added new m4/*.m4 macros
-       added conditional build of CXX files
-       added support for libtool
+       * util-vserver/lib/virtual.h: do not include the <linux/types.h>
+         kernel-header anymore
 
-2003-10-21 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 13:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/redhat/initpost:
+       * util-vserver/scripts/functions: - getAllVservers: use _tmp
+         instead of tmp to avoid clashes when caller
+         wants to have results in 'tmp', fixed array assignment
 
-       initial checkin
+2003-11-04 13:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rebootmgr.c: fixed typo
 
-       * distrib/Makefile.am:
+2003-11-04 13:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added Fedora Core 0.95
-       removed Red Hat 9.0.93
-       use common redhat/initpost script
+       * util-vserver/tests/vserver-info.c: added '--help' and '--version'
 
-2003-10-21 15:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 01:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/configure.ac: merged from SYSCALL_SWITCH
 
-       - use dietlibc compilation only for library-built, but not e.g. when
-         building object for rpm-fake.so. This is very dark magic...
+2003-11-04 01:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_changelog.m4: merged from SYSCALL_SWITCH
 
-       * scripts/Makefile-files:
+2003-11-04 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed vunify.old.sh
+       * util-vserver/scripts/distrib-info,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vserver-legacy,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/src/rebootmgr.c, util-vserver/sysv/Makefile-files,
+         util-vserver/sysv/rebootmgr.subst: merged in changes from 0.23.96
+         (/vservers -> $DEFAULT_VSERVERDIR)
 
-2003-10-21 15:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/m4/validate.am: updated from vserver-djinni
 
-       - conditionalized built of C++ programs
-       - added very dark magic to build everything of rpm-fake.so with '-fPIC'
-         flag (when possible); on ia32 this will not work/is not necessarily
-         but x86_64 seems to have problems with current method
+2003-11-04 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver-internal.h: ignore lower 8bit on version
 
-       * configure.ac:
+2003-11-03 19:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added check for C++ compiler
-       added some CXX flags
-       use ENSC_FPIC_SYSCALL
+       * util-vserver/util-vserver.spec.in: removed 'vkill' for now
+         call 'install-vserverdir'
 
-2003-10-21 15:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-03 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/checkversion.c:
+       * util-vserver/distrib/redhat/initpost: create
+         /etc/sysconfig/network
 
-       fixed stupid thinko (EAGAIN vs. EINVAL)
+2003-11-03 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: - fixed some statements
+         which would fail with 'set -e'
+         - made 'disableInterface' smart so that it calculates parameters
+         automatically
 
-       * m4/ensc_cxxcompiler.m4, m4/ensc_fpicsyscall.m4, src/vserver.cc,
-         src/vserver.hh:
+2003-11-03 19:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver-setup.functions: added support for
+         '--netbcast'
 
-2003-10-21 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-03 19:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake.c:
+       * util-vserver/lib/getvservername.c: terminate name with '\0'
 
-       made it compilabe with non-C99 compilers and older kernels
+2003-10-30 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-legacy: merged from 0.23.95:
+         - reenabled the copy-all mode; can be disabled by setting the
+         $UTIL_VSERVER_AVOID_COPY environment variable
+         - use '-HS' ulimit switch for newly created vservers
 
-       * src/secure-mount.c:
+2003-10-30 17:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made it compilabe with non-C99 compilers
+       * util-vserver/Makefile.am: - large cleanup; use changed variables
+         from scripts/Makefile
+         - try to keep modes of pathsubstituted files
+         - create own install-rule for vserver-dir; 'make distcheck' does
+         not
+         like /vservers...
 
-2003-10-21 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-30 17:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vbuild.cc:
+       * util-vserver/src/reducecap.c: use QUOTACTL (merged from 0.23.94)
 
-       use 'Vserver' class instead of 'string'
-       !!BROKE LOTS OF THINGS!! this version does not work yet
+2003-10-30 17:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rebootmgr.c: use configured SBINDIR instead of
+         hardcoded /usr/sbin
 
-       * src/vunify.cc:
+2003-10-30 17:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'Vserver' class instead of 'string'
-       use getopt()
-       reindented large parts
+       * util-vserver/src/chcontext.c: added QUOTACTL to 'secure' caps
+         (merged from 0.23.94)
 
-2003-10-21 15:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-30 17:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vutil.cc:
+       * util-vserver/src/Makefile-files: create 'setattr' program
 
-       use 'Vserver' class instead of 'string'
-       fixed format-string error
+2003-10-30 17:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/distrib-info,
+         util-vserver/scripts/rootshell, util-vserver/scripts/vpstree,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop:
+         merged in changes from 0.24.94 (s!/usr/sbin!$SBINDIR!)
 
-       * src/: vutil.p, vutil.h:
+2003-10-30 17:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'Vserver' class instead of 'string'
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: use 'set -e' instead of 'set
+         +e'
 
-2003-10-21 15:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-30 17:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/scripts/functions: added 'checkComponents()'
+         function
 
-       make it compilable with non-C99 compilers
+2003-10-30 17:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vps.pathsubst: initial check (was: vps)
 
-       * doc/configuration.xml:
+2003-10-30 17:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented 'ulimits' directory
+       * util-vserver/scripts/vkill: removed; is obsoleted by ctx-kill
 
-2003-10-21 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-30 17:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vunify.old.sh[DEAD]:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         INITRDDIR, LIBDIR and INCLUDEDIR
 
-       as the name ('*old*') is saying already: it is old and obsoleted...
+2003-10-30 17:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 00:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: large cleanup
+         removed 'vkill' (obsoleted by ctx-kill)
+         vps is now vps.subst
 
-       * scripts/: vserver.start, vserver.stop, vserver.suexec:
+2003-10-30 17:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added ulimits support
+       * util-vserver/lib/capabilities.c, util-vserver/lib/vserver.h,
+         util-vserver/man/reducecap.8: use CAP_QUOTACTL instead of
+         CAP_OPENDEV
 
-2003-10-21 00:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-30 14:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/Makefile.am: use ENSC_UV_VROOTDIR to set
+         'vserverdir'
+         added missing path-substitutions
 
-       added _EXEC_ULIMIT
+2003-10-30 14:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 00:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: use ENSC_UV_VROOTDIR to set
+         'vserverdir'
 
-       * src/exec-ulimit.c:
+2003-10-30 14:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       work also, when ulimit-directory does not exist
+       * util-vserver/m4/ensc_uv_vrootdir.m4: initial checkin
 
-2003-10-21 00:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-23 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/lib/getvservercfgstyle.c,
+         util-vserver/lib/getvservername.c,
+         util-vserver/lib/getvservervdir.c,
+         util-vserver/tests/vserver-info.c: initial checkin
 
-       added exec-ulimit
+2003-10-23 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 00:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests, util-vserver/tests/.cvsignore,
+         util-vserver/tests/Makefile-files: added vserver-info
 
-       * src/exec-ulimit.c:
+2003-10-23 20:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/compat.h: define TEMP_FAILURE_RETRY for
+         dietlibc-compilation
 
-2003-10-21 00:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-23 20:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/pathconfig.h.pathsubst: define DEFAULT_VSERVERDIR
+         and DEFAULT_VSERVERPKGDIR
 
-       added exec-ulimit.c
+2003-10-23 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 00:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added files for higher-level
+         management
 
-       * src/wrappers.h:
+2003-10-23 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Egetrlimit(),Esetrlimit(): added
+       * util-vserver/lib/vserver.h: added functions for
+         vserver-management
 
-2003-10-20 23:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 23:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/reducecap.c:
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: cleanups; go into
+         vserver-dir before *and* after executing scriptlets
 
-       use capability support from the library as far as possible
+2003-10-22 23:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.functions: used
+         $DEFAULT_VSERVERDIR and $DEFAULT_VSERVERPKGDIR instead of the
+         hardcoded '/vservers' values
 
-       * src/: capchroot.c, chcontext.c:
+2003-10-22 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use capability support from the library instead of including
-       kernel-headers
+       * util-vserver/util-vserver.spec.in: rewrote it
+         added -build subpackage
 
-2003-10-20 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 22:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/capabilities.c:
+       * util-vserver/configure.ac: moved ENSC_INITRDDIR, ENSC_RELEASE,
+         ENSC_ENABLE_DIETLIBC and
+         ENSC_KERNEL_HEADERS checks into own m4/* files
 
-       initial checkin
+2003-10-22 22:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: renamed sysvdir to initrddir
+         use $(RELEASE_CPPFLAGS) (-DNDEBUG)
+         substitute $(vserverdir) and $(vserverpkgdir)
+         create the $(vserverdir) and $(vserverpkgdir) directories
 
-       * lib/vserver.h:
+2003-10-22 22:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added capability support
+       * util-vserver/distrib/Makefile.am: added sample 'mtab' file
+         create the config-dirs
 
-2003-10-20 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 22:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/distrib/redhat/initpost: $2 is no longer $_VSERVER
+         but the 'util-vserver-vars' file
 
-       added support for '-DNDEBUG' in the library
-       added capability.c
+2003-10-22 22:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/rh9/apt/sources.list: added some mirrors
 
-       * configure.ac:
+2003-10-22 22:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for '-DNDEBUG' in the library
+       * util-vserver/distrib/fdr0.95, util-vserver/distrib/fdr0.95/apt,
+         util-vserver/distrib/fdr0.95/apt/rpmpriorities,
+         util-vserver/distrib/fdr0.95/apt/sources.list,
+         util-vserver/distrib/fdr0.95/pkgs,
+         util-vserver/distrib/fdr0.95/pkgs/01,
+         util-vserver/distrib/fdr0.95/pkgs/02, util-vserver/distrib/misc,
+         util-vserver/distrib/misc/mtab, util-vserver/m4/ensc_dietlibc.m4,
+         util-vserver/m4/ensc_initrddir.m4,
+         util-vserver/m4/ensc_kerneldir.m4,
+         util-vserver/m4/ensc_release.m4: initial checkin
 
-2003-10-20 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 22:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         DEFAULT_VSERVERDIR and DEFAULT_VSERVERPKGDIR
 
-       added PKGSTATEDIR substitution
+2003-10-22 22:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm: call pre/post
+         scriplets with "$UTIL_VSERVER_VARS" as second param
+         instead of "$_VSERVER"
 
-       * scripts/vserver-build.apt-rpm, scripts/vserver-build.functions,
-         scripts/vserver-build.functions.apt,
-         scripts/vserver-build.functions.rpm,
-         scripts/vserver-setup.functions, doc/cfgdirdoc.dtd,
-         doc/configuration.xml:
+2003-10-22 22:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver-build.functions: fixed broken quotes
 
-2003-10-20 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 18:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start: - reorganized
+         CHCONTEXT_INIT_OPTS/CHCONTEXT_DISCONNECT: dropped the
+         separate CHCONTEXT_DISCONNECT variable completetly and put
+         '--flag
+         fakeinit --disconnect' into CHCONTEXT_INIT_OPTS, which is used by
+         'vserver ... start' command only
 
-       - removed vserver-init file
-       - added vserver-build* files
+2003-10-22 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-umount.c: use real 'umount' program to
+         unmount directories
 
-       * scripts/util-vserver-vars.pathsubst:
+2003-10-22 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added PKGSTATEDIR, RUNDIR, LIB_VSERVER_SETUP_FUNCTIONS,
-         LIB_VSERVER_BUILD_FUNCTIONS* and _VSERVER variables
-       - added WORKAROUND_APT_DBPATH variable
+       * util-vserver/src/exec-ulimit.c: added [mMkK] modifies for limits
 
-2003-10-20 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build:
+       * util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-setup.functions: fixed getopt
+         long-option string
 
-       implemented it...
+2003-10-22 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions: added support for
+         copying some default files (resolv.conf, localtime,
+         krb-conf,...)
 
-       * scripts/vserver:
+2003-10-22 18:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added '--sync' and '--verbose' options
-       sync the 'stop' stage on restart
-       fixed invocation of 'vserver-build'
+       * util-vserver/scripts/functions: implemented findAndCopy
 
-2003-10-20 20:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 14:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vapt-get, vrpm:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.23.194
 
-       made it more mature by using arrays for the vserver-list
+2003-10-21 14:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added scripts to
+         AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
 
-       * scripts/vserver.functions:
+2003-10-21 14:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - moved getFileValue/getFileArray from 'vserver.functions' into 'functions'
+       * util-vserver/src/exec-ulimit.c: implemented '--help' and
+         '--version'
 
-2003-10-20 20:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/vbuild.cc: removed warning about unused
+         parameters
 
-       - moved getFileValue/getFileArray from 'vserver.functions' into 'functions'
-       - implemented '/<path>' style vserver specification
-       - made getAllVservers more mature by using arrays
+2003-10-21 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests/Makefile-files: renamed to .cc files to .c
 
-       * scripts/vserver-init[DEAD]:
+2003-10-21 13:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved 'vserver-init' functionality into the more general vserver-build*
-       files
+       * util-vserver/tests/chrootsafe.c,
+         util-vserver/tests/chrootsafe.cc,
+         util-vserver/tests/escaperoot.c,
+         util-vserver/tests/escaperoot.cc, util-vserver/tests/forkbomb.c,
+         util-vserver/tests/forkbomb.cc, util-vserver/tests/testipc.c,
+         util-vserver/tests/testipc.cc, util-vserver/tests/testlimit.c,
+         util-vserver/tests/testlimit.cc, util-vserver/tests/testopenf.c,
+         util-vserver/tests/testopenf.cc: renamed to .cc files to .c and
+         made some little changes to make them
+         compilable with C compilers
 
-2003-10-18 04:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/Makefile.am: added new m4/*.m4 macros
+         added conditional build of CXX files
+         added support for libtool
 
-       gnit'ified
+2003-10-21 13:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat,
+         util-vserver/distrib/redhat/initpost: initial checkin
 
-       * src/.cvsignore:
+2003-10-21 13:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added pipe-sync
+       * util-vserver/distrib/Makefile.am: added Fedora Core 0.95
+         removed Red Hat 9.0.93
+         use common redhat/initpost script
 
-2003-10-18 04:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/lib/Makefile-files: - use dietlibc compilation only
+         for library-built, but not e.g. when
+         building object for rpm-fake.so. This is very dark magic...
 
-       gnit'ified
-       added pipe-sync
+2003-10-21 13:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: removed vunify.old.sh
 
-       * src/chroot-cat.c:
+2003-10-21 13:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor cosmetical changes
+       * util-vserver/src/Makefile-files: - conditionalized built of C++
+         programs
+         - added very dark magic to build everything of rpm-fake.so with
+         '-fPIC'
+         flag (when possible); on ia32 this will not work/is not
+         necessarily
+         but x86_64 seems to have problems with current method
 
-2003-10-18 04:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chroot-rm.c:
+       * util-vserver/configure.ac: added check for C++ compiler
+         added some CXX flags
+         use ENSC_FPIC_SYSCALL
 
-       use "wrapper.h"
+2003-10-21 13:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/checkversion.c: fixed stupid thinko (EAGAIN vs.
+         EINVAL)
 
-       * src/wrappers.h:
+2003-10-21 13:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Eunlink(): added
+       * util-vserver/m4/ensc_cxxcompiler.m4,
+         util-vserver/m4/ensc_fpicsyscall.m4, util-vserver/src/vserver.cc,
+         util-vserver/src/vserver.hh: initial checkin
 
-2003-10-18 04:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/src/rpm-fake.c: made it compilabe with non-C99
+         compilers and older kernels
 
-       added $_VSERVER_BUILD
+2003-10-21 13:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: made it compilabe with non-C99
+         compilers
 
-       * scripts/vserver:
+2003-10-21 13:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added help/version
-       added 'build' option
-       made 'running' silently
+       * util-vserver/src/vbuild.cc: use 'Vserver' class instead of
+         'string'
+         !!BROKE LOTS OF THINGS!! this version does not work yet
 
-2003-10-18 04:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/pipe-sync.c, scripts/vserver-build:
+       * util-vserver/src/vunify.cc: use 'Vserver' class instead of
+         'string'
+         use getopt()
+         reindented large parts
 
-       initial checkin
+2003-10-21 13:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vutil.cc: use 'Vserver' class instead of
+         'string'
+         fixed format-string error
 
-       * Makefile.am:
+2003-10-21 13:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - gnit'ified it
+       * util-vserver/src/vutil.h, util-vserver/src/vutil.p: use 'Vserver'
+         class instead of 'string'
 
-2003-10-18 04:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/src/wrappers.h: make it compilable with non-C99
+         compilers
 
-       - gnit'ified it
-       - added vserver-build
+2003-10-20 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: documented 'ulimits'
+         directory
 
-       * sysv/Makefile-files:
+2003-10-20 22:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       gnit'ified it
+       * util-vserver/scripts/vunify.old.sh: as the name ('*old*') is
+         saying already: it is old and obsoleted...
 
-2003-10-18 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/checkversion.c:
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: added ulimits support
 
-       restored compatibility for case when old syscall interface uses the
-       new syscall-number (merged from SYSCALL_SWITCH branch)
+2003-10-20 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         _EXEC_ULIMIT
 
-       * configure.ac:
+2003-10-20 22:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       add '#include "compat.h'" at bottom of config.h
-       version 0.23.191
+       * util-vserver/src/exec-ulimit.c: work also, when ulimit-directory
+         does not exist
 
-2003-10-17 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 22:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/src, util-vserver/src/.cvsignore: added exec-ulimit
 
-       cleaned up pathsubst rule
+2003-10-20 22:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/exec-ulimit.c: initial checkin
 
-       * scripts/util-vserver-vars.pathsubst:
+2003-10-20 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added _CHROOT_CAT
+       * util-vserver/src/Makefile-files: added exec-ulimit.c
 
-2003-10-17 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-init:
+       * util-vserver/src/wrappers.h: Egetrlimit(),Esetrlimit(): added
 
-       create link to reverse ctx->vserver mapping
+2003-10-20 21:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/reducecap.c: use capability support from the
+         library as far as possible
 
-       * scripts/vserver.functions:
+2003-10-20 21:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - removed '#! /bin/bash' header
-       - added separate CHCONTEXT_DISCONNECT option
-       - use default runlevels only when sysv init-style is used
-       - create/empty mtab file before mounting the vserver
+       * util-vserver/src/capchroot.c, util-vserver/src/chcontext.c: use
+         capability support from the library instead of including
+         kernel-headers
 
-2003-10-17 23:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 21:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/lib/capabilities.c: initial checkin
 
-       - removed '#! /bin/bash' header
-       - added separate CHCONTEXT_DISCONNECT option
+2003-10-20 21:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added capability support
 
-       * scripts/vserver.stop:
+2003-10-20 21:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - removed '#! /bin/bash' header
-       - disable interfaces when vserver is not running
+       * util-vserver/lib/Makefile-files: added support for '-DNDEBUG' in
+         the library
+         added capability.c
 
-2003-10-17 23:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 21:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.suexec:
+       * util-vserver/configure.ac: added support for '-DNDEBUG' in the
+         library
 
-       removed '#! /bin/bash' header
+2003-10-20 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added PKGSTATEDIR substitution
 
-       * src/.cvsignore:
+2003-10-20 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chroot-cat
+       * util-vserver/doc/cfgdirdoc.dtd,
+         util-vserver/doc/configuration.xml,
+         util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.functions.apt,
+         util-vserver/scripts/vserver-build.functions.rpm,
+         util-vserver/scripts/vserver-setup.functions: initial checkin
 
-2003-10-17 23:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/vservers.subst:
+       * util-vserver/scripts/Makefile-files: - removed vserver-init file
+         - added vserver-build* files
 
-       stop vservers only, when they do not have the ONSTOP flag
+2003-10-20 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: - added
+         PKGSTATEDIR, RUNDIR, LIB_VSERVER_SETUP_FUNCTIONS,
+         LIB_VSERVER_BUILD_FUNCTIONS* and _VSERVER variables
+         - added WORKAROUND_APT_DBPATH variable
 
-       * sysv/Makefile-files:
+2003-10-20 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed some noise from the substrule
+       * util-vserver/scripts/vserver-build: implemented it...
 
-2003-10-17 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/scripts/vserver: added '--sync' and '--verbose'
+         options
+         sync the 'stop' stage on restart
+         fixed invocation of 'vserver-build'
 
-       added chroot-cat
+2003-10-20 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vapt-get, util-vserver/scripts/vrpm: made it
+         more mature by using arrays for the vserver-list
 
-       * src/chroot-cat.c:
+2003-10-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: - moved
+         getFileValue/getFileArray from 'vserver.functions' into
+         'functions'
 
-2003-10-17 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/scripts/functions: - moved getFileValue/getFileArray
+         from 'vserver.functions' into 'functions'
+         - implemented '/<path>' style vserver specification
+         - made getAllVservers more mature by using arrays
 
-       Ereadlink(), Esymlink(): added
+2003-10-20 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 22:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-init: moved 'vserver-init'
+         functionality into the more general vserver-build*
+         files
 
-       * src/wrappers-vserver.h:
+2003-10-18 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added Evc_X_getctx() wrapper
+       * util-vserver/configure.ac: gnit'ified
 
-2003-10-17 22:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-18 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-mount.c:
+       * util-vserver/src, util-vserver/src/.cvsignore: added pipe-sync
 
-       - removed '#include <compat.h>'; it's now in global <config.h>
-       - fixed problems with dietlibc's strtok_r() implementation
-       - do not set '-o <...>' mount-flag when 'defaults' is the only flag
+2003-10-18 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: gnit'ified
+         added pipe-sync
 
-       * src/save_ctxinfo.c:
+2003-10-18 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - removed '#include <compat.h>'; it's now in global <config.h>
-       - use "wrappers.h" functions
-       - implemented reverse-symlink file
+       * util-vserver/src/chroot-cat.c: minor cosmetical changes
 
-2003-10-17 22:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-18 02:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getctx.c, getinitpid.c, getprocentry-legacy.c:
+       * util-vserver/src/chroot-rm.c: use "wrapper.h"
 
-       - moved pid==0 handling into getprocentry-legacy.c and access /proc/self
-         instead of /proc/<self-pid> there; this solves problems when 'fakeinit'
-         flag is used
-       - removed '#include <compat.h>'; it's now in global <config.h>
+2003-10-18 02:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/wrappers.h: Eunlink(): added
 
-       * scripts/Makefile-files:
+2003-10-18 02:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vserver-legacy and vserver.suexec
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_VSERVER_BUILD
 
-2003-10-17 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-18 02:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/ctx-kill.c:
+       * util-vserver/scripts/vserver: added help/version
+         added 'build' option
+         made 'running' silently
 
-       kill init-pid
-       more sanity checks
+2003-10-18 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build, util-vserver/src/pipe-sync.c:
+         initial checkin
 
-       * scripts/vserver.stop:
+2003-10-18 02:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for kill-signal sequence
+       * util-vserver/Makefile.am: - gnit'ified it
 
-2003-10-17 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-18 02:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/scripts/Makefile-files: - gnit'ified it
+         - added vserver-build
 
-       added getEnterShell() function
-       added support for kill-signal sequence
+2003-10-18 02:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 02:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/Makefile-files: gnit'ified it
 
-       * scripts/vserver:
+2003-10-18 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added legacy support
-       - added support for suexec,restart,condrestart,exec,chkconfig,enter,running
-         and status
+       * util-vserver/lib/checkversion.c: restored compatibility for case
+         when old syscall interface uses the
+         new syscall-number (merged from SYSCALL_SWITCH branch)
 
-2003-10-17 02:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/configure.ac: add '#include "compat.h'" at bottom of
+         config.h
+         version 0.23.191
 
-       added _CTX_KILL, _FILETIME and _VSERVER_LEGACY
+2003-10-17 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 02:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: cleaned up pathsubst rule
 
-       * scripts/: vserver-legacy, vserver.suexec:
+2003-10-17 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         _CHROOT_CAT
 
-2003-10-16 17:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/.cvsignore:
+       * util-vserver/scripts/vserver-init: create link to reverse
+         ctx->vserver mapping
 
-       added getinitpid
+2003-10-17 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 17:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: - removed '#! /bin/bash'
+         header
+         - added separate CHCONTEXT_DISCONNECT option
+         - use default runlevels only when sysv init-style is used
+         - create/empty mtab file before mounting the vserver
 
-       * lib/Makefile-files:
+2003-10-17 21:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added int2str.c
+       * util-vserver/scripts/vserver.start: - removed '#! /bin/bash'
+         header
+         - added separate CHCONTEXT_DISCONNECT option
 
-2003-10-16 17:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 21:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/internal.h:
+       * util-vserver/scripts/vserver.stop: - removed '#! /bin/bash'
+         header
+         - disable interfaces when vserver is not running
 
-       added utilvserver_int2str()
+2003-10-17 21:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 17:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.suexec: removed '#! /bin/bash'
+         header
 
-       * lib/int2str.c, tests/getinitpid.c:
+2003-10-17 21:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src, util-vserver/src/.cvsignore: added chroot-cat
 
-2003-10-16 17:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 21:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/getctx.c:
+       * util-vserver/sysv/vservers.subst: stop vservers only, when they
+         do not have the ONSTOP flag
 
-       removed all traces of <stdio.h>
+2003-10-17 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 17:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/Makefile-files: removed some noise from the
+         substrule
 
-       * tests/Makefile-files:
+2003-10-17 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       generalized building with dietlibc
-       added getinitpid
+       * util-vserver/src/Makefile-files: added chroot-cat
 
-2003-10-16 16:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am, src/Makefile-files:
+       * util-vserver/src/chroot-cat.c: initial checkin
 
-       generalized building with dietlibc
+2003-10-17 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/wrappers.h: Ereadlink(), Esymlink(): added
 
-       * lib/Makefile-files:
+2003-10-17 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added getinitpid* files
-       added getprocentry* files
-       added utils-legacy.h
+       * util-vserver/src/wrappers-vserver.h: - added Evc_X_getctx()
+         wrapper
 
-2003-10-16 16:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getinitpid-compat.hc, getinitpid-legacy.hc, getinitpid.c,
-         getprocentry-legacy.c, utils-legacy.h:
+       * util-vserver/src/secure-mount.c: - removed '#include <compat.h>';
+         it's now in global <config.h>
+         - fixed problems with dietlibc's strtok_r() implementation
+         - do not set '-o <...>' mount-flag when 'defaults' is the only
+         flag
 
-       initial checkin
+2003-10-17 20:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 16:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/save_ctxinfo.c: - removed '#include <compat.h>';
+         it's now in global <config.h>
+         - use "wrappers.h" functions
+         - implemented reverse-symlink file
 
-       * src/save_ctxinfo.c, tests/getctx.c:
+2003-10-17 20:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       s!vc_X_getcctx()!vc_X_getctx(0)!
+       * util-vserver/lib/getctx.c, util-vserver/lib/getinitpid.c,
+         util-vserver/lib/getprocentry-legacy.c: - moved pid==0 handling
+         into getprocentry-legacy.c and access /proc/self
+         instead of /proc/<self-pid> there; this solves problems when
+         'fakeinit'
+         flag is used
+         - removed '#include <compat.h>'; it's now in global <config.h>
 
-2003-10-16 16:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 00:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/Makefile-files: added vserver-legacy and
+         vserver.suexec
 
-       added vc_X_getinitpid() pseudo-syscall
-       removed vc_X_getcctx() since it is obsoleted by vc_X_getctx(0) now
+2003-10-17 00:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 16:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/ctx-kill.c: kill init-pid
+         more sanity checks
 
-       * lib/syscall-legacy.hc:
+2003-10-17 00:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed all traces of <stdio.h> usage
+       * util-vserver/scripts/vserver.stop: added support for kill-signal
+         sequence
 
-2003-10-16 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 00:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getctx.c:
+       * util-vserver/scripts/vserver.functions: added getEnterShell()
+         function
+         added support for kill-signal sequence
 
-       cleanups
-       recognize pid==0 as current pid
+2003-10-17 00:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: - added legacy support
+         - added support for
+         suexec,restart,condrestart,exec,chkconfig,enter,running
+         and status
 
-       * lib/getctx-legacy.hc:
+2003-10-17 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new utilvserver_getProcEntry() function
-       recall vc_X_getctx_legacy() automatically when buffersize was too small
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         _CTX_KILL, _FILETIME and _VSERVER_LEGACY
 
-2003-10-16 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/scripts/vserver-legacy,
+         util-vserver/scripts/vserver.suexec: initial checkin
 
-       added substitution for UMOUNT
+2003-10-16 15:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests, util-vserver/tests/.cvsignore: added
+         getinitpid
 
-       * src/.cvsignore:
+2003-10-16 15:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated
+       * util-vserver/lib/Makefile-files: added int2str.c
 
-2003-10-16 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-mount.c:
+       * util-vserver/lib/internal.h: added utilvserver_int2str()
 
-       small signed/unsigned fixes for pedantic warning setups
-       give '--help' message out on fd 1 instead of 2
+2003-10-16 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/int2str.c, util-vserver/tests/getinitpid.c:
+         initial checkin
 
-       * src/save_ctxinfo.c:
+2003-10-16 15:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       small signed/unsigned fixes for pedantic warning setups
+       * util-vserver/tests/getctx.c: removed all traces of <stdio.h>
 
-2003-10-16 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 15:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/new-namespace.c:
+       * util-vserver/tests/Makefile-files: generalized building with
+         dietlibc
+         added getinitpid
 
-       use "wrappers.h"
-       use STACK_START macro
+2003-10-16 14:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am, util-vserver/src/Makefile-files:
+         generalized building with dietlibc
 
-       * src/listdevip.c:
+2003-10-16 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       small fixes for pedantic warning-setups
+       * util-vserver/lib/Makefile-files: added getinitpid* files
+         added getprocentry* files
+         added utils-legacy.h
 
-2003-10-16 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 14:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: ctx-kill.c, compat-pivot_root.h, secure-umount.c,
-         stack-start.h, wrappers-vserver.h, wrappers.h:
+       * util-vserver/lib/getinitpid-compat.hc,
+         util-vserver/lib/getinitpid-legacy.hc,
+         util-vserver/lib/getinitpid.c,
+         util-vserver/lib/getprocentry-legacy.c,
+         util-vserver/lib/utils-legacy.h: initial checkin
 
-       initial checkin
+2003-10-16 14:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/save_ctxinfo.c, util-vserver/tests/getctx.c:
+         s!vc_X_getcctx()!vc_X_getctx(0)!
 
-       * src/Makefile-files:
+2003-10-16 14:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added secure-umount + ctx-kill programs
-       added lots of headers
-       generalized dietlibc handling
+       * util-vserver/lib/vserver.h: added vc_X_getinitpid()
+         pseudo-syscall
+         removed vc_X_getcctx() since it is obsoleted by vc_X_getctx(0)
+         now
 
-2003-10-16 04:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 14:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver, vserver.functions, vserver.start,
-         vserver.stop, functions:
+       * util-vserver/lib/syscall-legacy.hc: removed all traces of
+         <stdio.h> usage
 
-       basic 'vserver ... start|stop' function should work now...
+2003-10-16 13:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getctx.c: cleanups
+         recognize pid==0 as current pid
 
-       * scripts/util-vserver-vars.pathsubst:
+2003-10-16 13:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added _SECURE_UMOUNT and _UMOUNT
+       * util-vserver/lib/getctx-legacy.hc: use new
+         utilvserver_getProcEntry() function
+         recall vc_X_getctx_legacy() automatically when buffersize was too
+         small
 
-2003-10-16 04:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/Makefile.am: added substitution for UMOUNT
 
-       added vservers.{functions,stop}
+2003-10-16 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: updated
 
-       * lib/vserver.h:
+2003-10-16 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lots of S_CTX_INFO_* macros
+       * util-vserver/src/secure-mount.c: small signed/unsigned fixes for
+         pedantic warning setups
+         give '--help' message out on fd 1 instead of 2
 
-2003-10-16 04:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/src/save_ctxinfo.c: small signed/unsigned fixes for
+         pedantic warning setups
 
-       added missing 'lib/internal.h'
+2003-10-16 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/new-namespace.c: use "wrappers.h"
+         use STACK_START macro
 
-       * pathconfig.h.pathsubst:
+2003-10-16 02:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added UMOUNT_PROG macro
+       * util-vserver/src/listdevip.c: small fixes for pedantic
+         warning-setups
 
-2003-10-16 04:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/src/compat-pivot_root.h,
+         util-vserver/src/ctx-kill.c, util-vserver/src/secure-umount.c,
+         util-vserver/src/stack-start.h,
+         util-vserver/src/wrappers-vserver.h, util-vserver/src/wrappers.h:
+         initial checkin
 
-       added check for UMOUNT
-       added pedantic warn-flags
-       added template for HAVE_GROWING_STACK check
+2003-10-16 02:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: added secure-umount + ctx-kill
+         programs
+         added lots of headers
+         generalized dietlibc handling
 
-       * compat.h:
+2003-10-16 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do '#undef inline' for '--std=c99' dietlibc compilations
+       * util-vserver/scripts/functions, util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: basic 'vserver ... start|stop'
+         function should work now...
 
-2003-10-14 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake.c:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         _SECURE_UMOUNT and _UMOUNT
 
-       use vc_init_internal_legacy() to initialize legacy-lib without parsing
-       /proc
+2003-10-16 02:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-14 20:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: added
+         vservers.{functions,stop}
 
-       * lib/syscall-legacy.hc:
+2003-10-16 02:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added inofficial vc_init_internal_legacy() function
+       * util-vserver/lib/vserver.h: added lots of S_CTX_INFO_* macros
 
-2003-10-14 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getctx-legacy.hc, syscall.c:
+       * util-vserver/lib/Makefile-files: added missing 'lib/internal.h'
 
-       include "internal.h"
+2003-10-16 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-14 20:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: added UMOUNT_PROG macro
 
-       * lib/: internal.h, vserver-internal.h:
+2003-10-16 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved declarations of general functions from vserver-internal.h into
-       internal.h
+       * util-vserver/configure.ac: added check for UMOUNT
+         added pedantic warn-flags
+         added template for HAVE_GROWING_STACK check
 
-2003-10-14 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getversion-internal.hc, int2str.c[DEAD], internal.h[DEAD],
-         syscall.c:
+       * util-vserver/compat.h: do '#undef inline' for '--std=c99'
+         dietlibc compilations
 
-       Merged with SYSCALL_SWITCH branch (sswitch_merge tag)
+2003-10-14 18:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-14 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: use vc_init_internal_legacy() to
+         initialize legacy-lib without parsing
+         /proc
 
-       * lib/vserver.h:
+2003-10-14 18:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed vc_X_getcctx()
+       * util-vserver/lib/syscall-legacy.hc: added inofficial
+         vc_init_internal_legacy() function
 
-2003-10-14 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-14 18:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files, src/rpm-fake.c, src/save_ctxinfo.c,
-         tests/getctx.c:
+       * util-vserver/lib/getctx-legacy.hc, util-vserver/lib/syscall.c:
+         include "internal.h"
 
-       Merged with SYSCALL_SWITCH branch (sswitch_merge tag)
+2003-10-14 18:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-14 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/internal.h, util-vserver/lib/vserver-internal.h:
+         moved declarations of general functions from vserver-internal.h
+         into
+         internal.h
 
-       * .cvsignore, Makefile.am, NEWS, compat.h, configure.ac,
-         util-vserver.spec.in, lib/Makefile-files, lib/checkversion.c,
-         lib/getctx-compat.hc, lib/getctx-legacy.hc, lib/getctx.c,
-         lib/getversion-internal.hc, lib/getversion.c,
-         lib/safechroot-internal.hc, lib/syscall-compat.hc,
-         lib/syscall-legacy.hc, lib/syscall.c, lib/uint2str.c,
-         lib/virtual.h, lib/vserver-internal.h, lib/vserver.h,
-         scripts/.cvsignore, src/Makefile-files, src/capchroot.c,
-         src/chbind.c, src/chcontext.c, src/rebootmgr.c, src/reducecap.c,
-         src/vserver-stat.c, sysv/Makefile-files, tests/chrootsafe.cc:
+2003-10-14 16:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Merged with SYSCALL_SWITCH branch (sswitch_merge tag)
+       * util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/int2str.c, util-vserver/lib/internal.h,
+         util-vserver/lib/syscall.c: Merged with SYSCALL_SWITCH branch
+         (sswitch_merge tag)
 
-2003-10-13 22:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-14 16:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/lib/vserver.h: fixed vc_X_getcctx()
 
-       added rcs2log support
-       added checks for MS_MOVE and ctx_t
-       define UTMP_GID as 22 for now
+2003-10-14 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 22:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files, util-vserver/src/rpm-fake.c,
+         util-vserver/src/save_ctxinfo.c, util-vserver/tests/getctx.c:
+         Merged with SYSCALL_SWITCH branch (sswitch_merge tag)
 
-       * Makefile.am:
+2003-10-14 15:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $(lib_XHDRS) and compat.h
-       create /var/run/vservers on 'make install'
-       use m4/pkgconfig.am
+       * util-vserver, util-vserver/.cvsignore, util-vserver/Makefile.am,
+         util-vserver/NEWS, util-vserver/compat.h,
+         util-vserver/configure.ac, util-vserver/lib/Makefile-files,
+         util-vserver/lib/checkversion.c,
+         util-vserver/lib/getctx-compat.hc,
+         util-vserver/lib/getctx-legacy.hc, util-vserver/lib/getctx.c,
+         util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/getversion.c,
+         util-vserver/lib/safechroot-internal.hc,
+         util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall-legacy.hc, util-vserver/lib/syscall.c,
+         util-vserver/lib/uint2str.c, util-vserver/lib/virtual.h,
+         util-vserver/lib/vserver-internal.h, util-vserver/lib/vserver.h,
+         util-vserver/scripts, util-vserver/scripts/.cvsignore,
+         util-vserver/src/Makefile-files, util-vserver/src/capchroot.c,
+         util-vserver/src/chbind.c, util-vserver/src/chcontext.c,
+         util-vserver/src/rebootmgr.c, util-vserver/src/reducecap.c,
+         util-vserver/src/vserver-stat.c,
+         util-vserver/sysv/Makefile-files,
+         util-vserver/tests/chrootsafe.cc,
+         util-vserver/util-vserver.spec.in: Merged with SYSCALL_SWITCH
+         branch (sswitch_merge tag)
 
-2003-10-13 21:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-13 20:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/fakerunlevel.c:
+       * util-vserver/configure.ac: added rcs2log support
+         added checks for MS_MOVE and ctx_t
+         define UTMP_GID as 22 for now
 
-       made it secure (go into chroot before accessing file)
-       dietlibc'ized
-       other cleanups
+2003-10-13 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added $(lib_XHDRS) and compat.h
+         create /var/run/vservers on 'make install'
+         use m4/pkgconfig.am
 
-       * src/Makefile-files:
+2003-10-13 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added chroot-rm
-       - compile fakerunlevel with dietlibc
+       * util-vserver/src/fakerunlevel.c: made it secure (go into chroot
+         before accessing file)
+         dietlibc'ized
+         other cleanups
 
-2003-10-13 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-13 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/src/Makefile-files: - added chroot-rm
+         - compile fakerunlevel with dietlibc
 
-       made it working...
+2003-10-13 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: made it working...
 
-       * scripts/vserver-init:
+2003-10-13 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - removed unused variables
-       - added lockfile-creation
-       - create symlink from /var/lib/rpm to $rpmdb_path (until all apt-versions
+       * util-vserver/scripts/vserver-init: - removed unused variables
+         - added lockfile-creation
+         - create symlink from /var/lib/rpm to $rpmdb_path (until all
+         apt-versions
          are having the %_dbpath patch)
 
-2003-10-13 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added variables for _CHROOT_RM and _FAKE_RUNLEVEL
+2003-10-13 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added variables
+         for _CHROOT_RM and _FAKE_RUNLEVEL
 
-       * scripts/functions:
+2003-10-13 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new secure-mount syntax
+       * util-vserver/scripts/functions: use new secure-mount syntax
 
-2003-10-13 21:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-13 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/scripts/Makefile-files: added statements to install
+         vserver.start
 
-       added statements to install vserver.start
+2003-10-13 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/pkgconfig.am: initial checkin
 
-       * m4/pkgconfig.am:
+2003-10-13 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/m4/changelog.am: conditionalize RCS2LOG variant also
 
-2003-10-13 21:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-13 19:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/changelog.am:
+       * util-vserver/lib/vserver.h: removed ctx_t typedef; this must be
+         now done by each package
+         inidividually. For util-vserver, the declaration is in compat.h
+         and detection in configure.ac
 
-       conditionalize RCS2LOG variant also
+2003-10-13 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib, util-vserver/lib/.cvsignore, util-vserver/src,
+         util-vserver/src/.cvsignore: updated
 
-       * lib/vserver.h:
+2003-10-13 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed ctx_t typedef; this must be now done by each package
-       inidividually. For util-vserver, the declaration is in compat.h
-       and detection in configure.ac
+       * util-vserver/lib/util-vserver.pc.subst,
+         util-vserver/src/chroot-rm.c: initial checkin
 
-2003-10-13 21:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-13 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/.cvsignore, src/.cvsignore:
+       * util-vserver/compat.h, util-vserver/src/compat.h: moved compat.h
+         from src/ to toplevel-dir
 
-       updated
+2003-10-13 19:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getctx.c, util-vserver/lib/syscall.c,
+         util-vserver/src/capchroot.c, util-vserver/src/chbind.c,
+         util-vserver/src/chcontext.c, util-vserver/src/reducecap.c,
+         util-vserver/src/save_ctxinfo.c, util-vserver/src/secure-mount.c,
+         util-vserver/src/setctxlimit.c, util-vserver/tests/chrootsafe.cc,
+         util-vserver/tests/getctx.c: include "compat.h"
 
-       * lib/util-vserver.pc.subst, src/chroot-rm.c:
+2003-10-13 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/Makefile-files: added PGKCONFIG_FILES
 
-2003-10-13 21:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h, src/compat.h[DEAD]:
+       * util-vserver/src/compat.h: initial checkin
 
-       moved compat.h from src/ to toplevel-dir
+2003-10-09 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: use absolute default-path for
+         /bin/mount since it is required by
+         execv() in secure-mount
 
-       * lib/getctx.c, lib/syscall.c, src/capchroot.c, src/chbind.c,
-         src/chcontext.c, src/reducecap.c, src/save_ctxinfo.c,
-         src/secure-mount.c, src/setctxlimit.c, tests/chrootsafe.cc,
-         tests/getctx.c:
+2003-10-09 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       include "compat.h"
+       * util-vserver/pathconfig.h.pathsubst: added MOUNT_PROG
 
-2003-10-13 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/tests/getctx.c: added '#include <stdlib.h>'
 
-       added PGKCONFIG_FILES
+2003-10-09 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-10 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/compat.h:
-
-       initial checkin
-
-2003-10-10 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       use absolute default-path for /bin/mount since it is required by
-       execv() in secure-mount
-
-2003-10-10 01:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * pathconfig.h.pathsubst:
-
-       added MOUNT_PROG
-
-2003-10-10 01:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * tests/getctx.c:
-
-       added '#include <stdlib.h>'
-
-2003-10-10 01:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/util.h:
-
-       - added *_cast macros
-       - mark writeStr() as __attribute__((__unused__)) to prevent compiler
+       * util-vserver/src/util.h: - added *_cast macros
+         - mark writeStr() as __attribute__((__unused__)) to prevent
+         compiler
          warnings
-       - fixed off-by-one error in WRITE_MSG
-
-2003-10-10 01:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
+         - fixed off-by-one error in WRITE_MSG
 
-       rewrote it completely; it emulates now nearly the usual mount(8)
-       functionality but provides the enhanced '--secure', '--chdir ...',
-       ... options which are needed for vservers
+2003-10-09 23:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: rewrote it completely; it
+         emulates now nearly the usual mount(8)
+         functionality but provides the enhanced '--secure', '--chdir
+         ...',
+         ... options which are needed for vservers
 
-       * doc/cfg.txt:
+2003-10-09 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added documentation about <interfaces> and basic vserver-variables
+       * util-vserver/doc/cfg.txt: added documentation about <interfaces>
+         and basic vserver-variables
 
-2003-10-09 03:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 01:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/scripts/vserver.start: initial checkin
 
-       initial checkin
+2003-10-09 01:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: complete rewrite
 
-       * scripts/vserver:
+2003-10-09 01:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       complete rewrite
+       * util-vserver/Makefile.am: added some standard-tools to the
+         %.pathsubst rules
 
-2003-10-09 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 01:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/configure.ac: added checks for some standard-tools
 
-       added some standard-tools to the %.pathsubst rules
+2003-10-09 01:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests, util-vserver/tests/.cvsignore,
+         util-vserver/tests/Makefile-files: added getctx
 
-       * configure.ac:
+2003-10-09 01:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added checks for some standard-tools
+       * util-vserver/src/Makefile-files: added save_ctxinfo and
+         mask2prefix
 
-2003-10-09 03:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 01:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/Makefile-files:
+       * util-vserver/src, util-vserver/src/.cvsignore: added mask2prefix
+         and save_ctxinfo
 
-       added getctx
+2003-10-09 01:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added CVS tags
 
-       * src/Makefile-files:
+2003-10-09 01:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added save_ctxinfo and mask2prefix
+       * util-vserver/lib/getctx.c, util-vserver/lib/int2str.c,
+         util-vserver/lib/internal.h, util-vserver/src/mask2prefix.c,
+         util-vserver/src/save_ctxinfo.c, util-vserver/tests/getctx.c:
+         initial checkin
 
-2003-10-09 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 01:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/.cvsignore:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         _CAPCHROOT, _CHBIND, _CHCONTEXT, _MASK2PREFIX, _SAVE_S_CONTEXT,
+         _SAVE_CTXINFO, _VPS and standard-tool macros
 
-       added getctx
+2003-10-09 01:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: added isVserverRunning function
 
-       * src/.cvsignore:
+2003-10-09 01:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added mask2prefix and save_ctxinfo
+       * util-vserver/lib/vserver.h: added CTX_NOCTX macro
+         added getctx()/getcctx() functions
+         added ctx_t datatype
 
-2003-10-09 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 01:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/lib/Makefile-files: added getctx and int2str +
+         helper headers
 
-       added CVS tags
+2003-10-06 22:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added install-rules for the
+         distributions
 
-       * src/mask2prefix.c, src/save_ctxinfo.c, tests/getctx.c:
+2003-10-06 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/distrib/rh9/apt,
+         util-vserver/distrib/rh9/apt/rpmpriorities,
+         util-vserver/distrib/rh9/apt/sources.list: initial checkin
 
-2003-10-09 03:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-06 19:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/util-vserver.spec.in: - fixed Source0 URL
+         - added -sysv and -devel subpackages
+         - moved /etc/init.d to %_initrddir
 
-       added _CAPCHROOT, _CHBIND, _CHCONTEXT, _MASK2PREFIX, _SAVE_S_CONTEXT,
-       _SAVE_CTXINFO, _VPS and standard-tool macros
+2003-10-06 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: - added more pathsubst variables
+         - added $(scripts_DTA)
 
-       * scripts/functions:
+2003-10-06 19:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added isVserverRunning function
+       * util-vserver/distrib/defaults/rpm/macros: added notes regarding
+         %_install_langs and added some other "main"-languages
 
-2003-10-09 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-06 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/doc/cfg.txt: added apps/vunify documentation
 
-       added CTX_NOCTX macro
-       added getctx()/getcctx() functions
-       added ctx_t datatype
+2003-10-06 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/Makefile-files:
-
-       added getctx and int2str + helper headers
-
-2003-10-09 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: getctx.c, int2str.c, internal.h:
-
-       initial checkin
-
-2003-10-07 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       added install-rules for the distributions
-
-2003-10-07 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/rh9/apt/: rpmpriorities, sources.list:
-
-       initial checkin
-
-2003-10-06 21:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       - fixed Source0 URL
-       - added -sysv and -devel subpackages
-       - moved /etc/init.d to %_initrddir
-
-2003-10-06 21:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       - added more pathsubst variables
-       - added $(scripts_DTA)
-
-2003-10-06 21:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/defaults/rpm/macros:
-
-       added notes regarding %_install_langs and added some other "main"-languages
-
-2003-10-06 21:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/cfg.txt:
-
-       added apps/vunify documentation
-
-2003-10-06 21:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-init:
-
-       - added metadata to track if root-/pkgcfgbase-links shall be made
+       * util-vserver/scripts/vserver-init: - added metadata to track if
+         root-/pkgcfgbase-links shall be made
          relative
-       - added gpg-key import
-       - create dev/pts directory
-
-2003-10-06 21:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vapt-get:
-
-       improved '--help'/'--version' messages
-
-2003-10-06 21:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added PACKAGE_* variables
-       made DISTRIBDIR "$PKGLIBDIR/distributions" (instead of "$PKGLIBDIR")
-       added _VRPM
-       reordered the _* variables alphabetically
+         - added gpg-key import
+         - create dev/pts directory
 
-2003-10-06 21:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-06 19:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/scripts/vapt-get: improved '--help'/'--version'
+         messages
 
-       installed missing files (functions, vapt-get*, vrpm*)
+2003-10-06 19:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-02 17:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added PACKAGE_*
+         variables
+         made DISTRIBDIR "$PKGLIBDIR/distributions" (instead of
+         "$PKGLIBDIR")
+         added _VRPM
+         reordered the _* variables alphabetically
 
-       * src/secure-mount.c:
+2003-10-06 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rewrote it completely
+       * util-vserver/scripts/Makefile-files: installed missing files
+         (functions, vapt-get*, vrpm*)
 
-2003-10-02 17:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-02 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake.c:
+       * util-vserver/src/secure-mount.c: rewrote it completely
 
-       - set default-signal handler for SIGCHLD
-       - minor cosmetical cleanups
-       - use wait4(2) instead of waitpid(2)
+2003-10-02 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-02 17:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: - set default-signal handler for
+         SIGCHLD
+         - minor cosmetical cleanups
+         - use wait4(2) instead of waitpid(2)
 
-       * scripts/vserver-init:
+2003-10-02 15:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - renamed 'makeInode' to 'makeDevEntry' which is more flexible
-       - added workaround for
+       * util-vserver/scripts/vserver-init: - renamed 'makeInode' to
+         'makeDevEntry' which is more flexible
+         - added workaround for
          https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=106057
-       - content of *all* rpm and apt template directories will be copied now
-       - use '-y' flag on 'apt-get' invocation
+         - content of *all* rpm and apt template directories will be
+         copied now
+         - use '-y' flag on 'apt-get' invocation
 
-2003-10-02 17:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-02 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vrpm-preload:
+       * util-vserver/scripts/vapt-get, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vrpm-worker: minor cosmetical cleanups
 
-       minor cosmetical cleanups
-       added copyright
+2003-10-02 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-02 17:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vrpm-preload: minor cosmetical cleanups
+         added copyright
 
-       * scripts/vapt-get-worker:
+2003-10-02 15:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor cosmetical cleanups
-       removed debug code
+       * util-vserver/scripts/vapt-get-worker: minor cosmetical cleanups
+         removed debug code
 
-2003-10-02 17:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-02 15:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vapt-get, vrpm, vrpm-worker:
-
-       minor cosmetical cleanups
-
-2003-10-02 17:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: functions, util-vserver-vars.pathsubst:
-
-       added workaround for https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=106057
-
-2003-10-01 12:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * .cvsignore:
-
-       updated to reflect changes in CVSROOT/cvsignores
-
-2003-10-01 12:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions,
+         util-vserver/scripts/util-vserver-vars.pathsubst: added
+         workaround for
+         https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=106057
 
-       * man/Makefile-files:
+2003-10-01 10:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed last traces of newvserver
+       * util-vserver, util-vserver/.cvsignore: updated to reflect changes
+         in CVSROOT/cvsignores
 
-2003-10-01 12:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-01 10:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/changelog.am, configure.ac:
+       * util-vserver/man/Makefile-files: removed last traces of
+         newvserver
 
-       added cvs2cl support
+2003-10-01 10:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-01 12:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac, util-vserver/m4/changelog.am: added
+         cvs2cl support
 
-       * scripts/Makefile-files:
+2003-10-01 10:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - changed pathsubst rules so that files will not be updated on every
+       * util-vserver/scripts/Makefile-files: - changed pathsubst rules so
+         that files will not be updated on every
          'make' anymore
 
-2003-10-01 12:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
+2003-10-01 10:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added cvs2cl support
-       - changed pathsubst rules so that files will not be updated on every
+       * util-vserver/Makefile.am: - added cvs2cl support
+         - changed pathsubst rules so that files will not be updated on
+         every
          'make' anymore
 
-2003-10-01 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       explicitly cast result of dlsym() to prevent compiler warnings
-
-2003-10-01 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/new-namespace.c:
-
-       small fix in error-message
-
-2003-10-01 02:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-01 00:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rebootmgr.c:
+       * util-vserver/src/rpm-fake.c: explicitly cast result of dlsym() to
+         prevent compiler warnings
 
-       fixed small size_t vs. socklen_t type-clash
+2003-10-01 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-01 02:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/new-namespace.c: small fix in error-message
 
-       * Makefile.am, configure.ac, .cvsignore:
+2003-10-01 00:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed vserver.spec.in to util-vserver.spec.in
+       * util-vserver/src/rebootmgr.c: fixed small size_t vs. socklen_t
+         type-clash
 
-2003-10-01 02:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-01 00:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * newvserver.defaults[DEAD], man/newvserver.8[DEAD]:
+       * util-vserver, util-vserver/.cvsignore, util-vserver/Makefile.am,
+         util-vserver/configure.ac: renamed vserver.spec.in to
+         util-vserver.spec.in
 
-       removed since linuxconf support was dropped
+2003-10-01 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-01 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/man/newvserver.8, util-vserver/newvserver.defaults:
+         removed since linuxconf support was dropped
 
-       * util-vserver.spec.in, vserver.spec.in[DEAD]:
+2003-09-30 23:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed vserver.spec.in to util-vserver.spec.in and updated it
+       * util-vserver/util-vserver.spec.in, util-vserver/vserver.spec.in:
+         renamed vserver.spec.in to util-vserver.spec.in and updated it
 
-2003-09-30 22:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-09-30 20:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: new-namespace.c, secure-mount.c:
+       * util-vserver/src/new-namespace.c,
+         util-vserver/src/secure-mount.c: modified showVersion() to show
+         current version instead of an hardcoded
+         value
 
-       modified showVersion() to show current version instead of an hardcoded
-       value
+2003-09-30 20:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-09-30 22:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver, util-vserver/.cvsignore: updated
 
-       * .cvsignore:
+2003-09-30 20:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated
+       * util-vserver/Makefile.am: added general rule for %.pathsubst
+         files
+         updated file-lists
 
-2003-09-30 22:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-09-30 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/configure.ac: added distrib/Makefile
 
-       added general rule for %.pathsubst files
-       updated file-lists
+2003-09-30 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-09-30 22:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: initial checkin
 
-       * configure.ac:
+2003-09-30 20:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added distrib/Makefile
-
-2003-09-30 22:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * pathconfig.h.pathsubst:
-
-       initial checkin
-
-2003-09-30 22:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/Makefile-files:
-
-       - renamed util-vserver-vars.subst to util-vserver-vars.pathsubst; this
+       * util-vserver/scripts/Makefile-files: - renamed
+         util-vserver-vars.subst to util-vserver-vars.pathsubst; this
          makes it easier to use general makefile-rules
-       - removed the old rules for util-vserver-vars
-
-2003-09-30 22:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: util-vserver-vars.pathsubst,
-         util-vserver-vars.subst[DEAD]:
+         - removed the old rules for util-vserver-vars
 
-       renamed util-vserver-vars.subst to util-vserver-vars.pathsubst; this
-       makes it easier to use general makefile-rules
+2003-09-30 20:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-09-30 22:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: capchroot.c, chbind.c, chcontext.c, fakerunlevel.c,
-         filetime.c, ifspec.c, rebootmgr.c, reducecap.c, setctxlimit.c,
-         showperm.c, vdu.c, vreboot.c, vserver-stat.c:
+       * util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/util-vserver-vars.subst: renamed
+         util-vserver-vars.subst to util-vserver-vars.pathsubst; this
+         makes it easier to use general makefile-rules
 
-       include <config.h>
+2003-09-30 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-09-30 22:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/capchroot.c, util-vserver/src/chbind.c,
+         util-vserver/src/chcontext.c, util-vserver/src/fakerunlevel.c,
+         util-vserver/src/filetime.c, util-vserver/src/ifspec.c,
+         util-vserver/src/rebootmgr.c, util-vserver/src/reducecap.c,
+         util-vserver/src/setctxlimit.c, util-vserver/src/showperm.c,
+         util-vserver/src/vdu.c, util-vserver/src/vreboot.c,
+         util-vserver/src/vserver-stat.c: include <config.h>
 
-       * src/: vbuild.cc, vcheck.cc, vfiles.cc, vunify.cc, vutil.cc:
+2003-09-30 20:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - renamed 'PACKAGE' class to 'Package' to avoid naming-clashes with
+       * util-vserver/src/vbuild.cc, util-vserver/src/vcheck.cc,
+         util-vserver/src/vfiles.cc, util-vserver/src/vunify.cc,
+         util-vserver/src/vutil.cc: - renamed 'PACKAGE' class to 'Package'
+         to avoid naming-clashes with
          the standard autoconf macro
-       - include <config.h>
-
-2003-09-30 22:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: vutil.h, vutil.p:
+         - include <config.h>
 
-       renamed 'PACKAGE' class to 'Package' to avoid naming-clashes with the
-       standard autoconf macro
+2003-09-30 20:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-09-30 21:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vutil.h, util-vserver/src/vutil.p: renamed
+         'PACKAGE' class to 'Package' to avoid naming-clashes with the
+         standard autoconf macro
 
-       * src/rpm-fake.c:
+2003-09-30 19:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - removed debug-output
-       - do not fail on umount() errors; CLONE_NEWNS has unexpected/strange
+       * util-vserver/src/rpm-fake.c: - removed debug-output
+         - do not fail on umount() errors; CLONE_NEWNS has
+         unexpected/strange
          behavior in combination with chroot() so that mountpoints within
          chroots *can* disappear automatically
 
-2003-09-30 21:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       use recursive make for distrib: added it to SUBDIRS and remove old
-       $(distrib_*) variables
-
-2003-09-30 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/.cvsignore:
-
-       initial checkin
-
-2003-09-30 20:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/: Makefile-files[DEAD], Makefile.am,
-         install-mdk8.2[DEAD], install-post.sh[DEAD],
-         install-pre.sh[DEAD], install-rh7.2[DEAD], install-rh7.3[DEAD],
-         install-rh8.0[DEAD], install-rh9.0[DEAD], mdk8.2-minimum[DEAD],
-         rh7.3-minimum[DEAD], rh8.0-minimum[DEAD], rh9.0-minimum[DEAD],
-         sample.conf[DEAD], sample.sh[DEAD], defaults/devs,
-         defaults/rpm/macros, rh9/pkgs/01, rh9/pkgs/02:
-
-       Replaced the install-* and *-minimum files with configuration files
-       for the new vserver-init tool in the scripts directory. To ease the
-       'install:'-make target, it is necessarily to use recursive make for
-       this directory.
-
-2003-09-30 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       added dietlibc support
-       version 0.23.89.1
-
-2003-09-30 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * .cvsignore:
-
-       added Makefile
-
-2003-09-30 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/.cvsignore, scripts/functions, scripts/vapt-get,
-         scripts/vapt-get-worker, scripts/vrpm-preload,
-         scripts/vrpm-worker, scripts/vserver-init, src/.cvsignore,
-         src/new-namespace.c, src/rpm-fake.c, src/secure-mount.c,
-         src/util.h, lib/.cvsignore, sysv/.cvsignore, tests/.cvsignore:
-
-       initial checkin
-
-2003-09-30 17:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       updated to new -devel branch
-       added dietlibc support
-
-2003-09-30 17:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/Makefile-files:
-
-       added secure-mount, new-namespace and rpm-fake.so rules
-
-2003-09-30 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vrpm:
-
-       replaced with new version
-
-2003-09-30 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.subst:
-
-       added more variables
-
-2003-09-30 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/Makefile-files:
-
-       added more substitutions
-
-2003-09-30 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/cfg.txt:
-
-       initial checkin
-
-2003-09-30 00:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-09-30 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/intro.txt, lib/Makefile-files, lib/syscall.c, lib/vserver.h,
-         m4/changelog.am, m4/ensc_cflags.m4, m4/gpgsig.am, m4/validate.am,
-         man/Makefile-files, man/chbind.8, man/chcontext.8,
-         man/distrib-info.8, man/newvserver.8, man/rebootmgr.8,
-         man/reducecap.8, man/vps.8, man/vpstree.8, man/vrpm.8,
-         man/vserver-copy.8, man/vserver-stat.8, man/vserver.8,
-         man/vtop.8, scripts/Makefile-files, scripts/distrib-info,
-         scripts/rootshell, scripts/save_s_context,
-         scripts/util-vserver-vars.subst, scripts/vkill, scripts/vprofile,
-         scripts/vps, scripts/vpstree, scripts/vrpm, scripts/vserver,
-         scripts/vserver-copy, scripts/vserverkillall,
-         scripts/vservers.grabinfo.sh, scripts/vsysvwrapper, scripts/vtop,
-         scripts/vunify.old.sh, src/Makefile-files, src/capchroot.c,
-         src/chbind.c, src/chcontext.c, src/fakerunlevel.c,
-         src/filetime.c, src/ifspec.c, src/listdevip.c,
-         src/parserpmdump.c, src/readlink.c, src/rebootmgr.c,
-         src/reducecap.c, src/setctxlimit.c, src/showattr.c,
-         src/showperm.c, src/vbuild.cc, src/vcheck.cc, src/vdu.c,
-         src/vfiles.cc, src/vreboot.c, src/vserver-stat.c, src/vunify.cc,
-         src/vutil.cc, src/vutil.h, src/vutil.p, sysv/Makefile-files,
-         sysv/rebootmgr.subst, sysv/v_gated.subst, sysv/v_httpd.subst,
-         sysv/v_named.subst, sysv/v_portmap.subst, sysv/v_sendmail.subst,
-         sysv/v_smb.subst, sysv/v_sshd.subst, sysv/v_xinetd.subst,
-         sysv/vservers.conf, sysv/vservers.subst, tests/Makefile-files,
-         tests/chrootsafe.cc, tests/escaperoot.cc, tests/forkbomb.cc,
-         tests/testipc.cc, tests/testlimit.cc, tests/testopenf.cc,
-         vserver.spec.in, distrib/Makefile-files, distrib/install-mdk8.2,
-         distrib/install-post.sh, distrib/install-pre.sh,
-         distrib/install-rh7.2, distrib/install-rh7.3,
-         distrib/install-rh8.0, distrib/install-rh9.0,
-         distrib/mdk8.2-minimum, distrib/rh7.3-minimum,
-         distrib/rh8.0-minimum, distrib/rh9.0-minimum,
-         distrib/sample.conf, distrib/sample.sh, doc/FAQ.txt,
-         doc/Makefile-files, doc/changelog.txt, .cvsignore, AUTHORS,
-         Makefile.am, NEWS, README, THANKS, configure.ac,
-         newvserver.defaults:
+       * util-vserver/Makefile.am: use recursive make for distrib: added
+         it to SUBDIRS and remove old
+         $(distrib_*) variables
 
-       initial checkin
+2003-09-30 18:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/distrib, util-vserver/distrib/.cvsignore: initial
+         checkin
+
+2003-09-30 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/distrib/Makefile-files,
+         util-vserver/distrib/Makefile.am, util-vserver/distrib/defaults,
+         util-vserver/distrib/defaults/devs,
+         util-vserver/distrib/defaults/rpm,
+         util-vserver/distrib/defaults/rpm/macros,
+         util-vserver/distrib/install-mdk8.2,
+         util-vserver/distrib/install-post.sh,
+         util-vserver/distrib/install-pre.sh,
+         util-vserver/distrib/install-rh7.2,
+         util-vserver/distrib/install-rh7.3,
+         util-vserver/distrib/install-rh8.0,
+         util-vserver/distrib/install-rh9.0,
+         util-vserver/distrib/mdk8.2-minimum,
+         util-vserver/distrib/rh7.3-minimum,
+         util-vserver/distrib/rh8.0-minimum, util-vserver/distrib/rh9,
+         util-vserver/distrib/rh9.0-minimum,
+         util-vserver/distrib/rh9.0.93, util-vserver/distrib/rh9.0.93/apt,
+         util-vserver/distrib/rh9.0.93/apt/rpmpriorities,
+         util-vserver/distrib/rh9.0.93/apt/sources.list,
+         util-vserver/distrib/rh9.0.93/pkgs,
+         util-vserver/distrib/rh9.0.93/pkgs/01,
+         util-vserver/distrib/rh9.0.93/pkgs/02,
+         util-vserver/distrib/rh9/pkgs, util-vserver/distrib/rh9/pkgs/01,
+         util-vserver/distrib/rh9/pkgs/02,
+         util-vserver/distrib/sample.conf, util-vserver/distrib/sample.sh:
+         Replaced the install-* and *-minimum files with configuration
+         files
+         for the new vserver-init tool in the scripts directory. To ease
+         the
+         'install:'-make target, it is necessarily to use recursive make
+         for
+         this directory.
+
+2003-09-30 16:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/configure.ac: added dietlibc support
+         version 0.23.89.1
+
+2003-09-30 16:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver, util-vserver/.cvsignore: added Makefile
+
+2003-09-30 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/lib, util-vserver/lib/.cvsignore,
+         util-vserver/scripts, util-vserver/scripts/.cvsignore,
+         util-vserver/scripts/functions, util-vserver/scripts/vapt-get,
+         util-vserver/scripts/vapt-get-worker,
+         util-vserver/scripts/vrpm-preload,
+         util-vserver/scripts/vrpm-worker,
+         util-vserver/scripts/vserver-init, util-vserver/src,
+         util-vserver/src/.cvsignore, util-vserver/src/new-namespace.c,
+         util-vserver/src/rpm-fake.c, util-vserver/src/secure-mount.c,
+         util-vserver/src/util.h, util-vserver/sysv,
+         util-vserver/sysv/.cvsignore, util-vserver/tests,
+         util-vserver/tests/.cvsignore: initial checkin
+
+2003-09-30 15:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/Makefile.am: updated to new -devel branch
+         added dietlibc support
+
+2003-09-30 15:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/Makefile-files: added secure-mount,
+         new-namespace and rpm-fake.so rules
+
+2003-09-30 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/vrpm: replaced with new version
+
+2003-09-30 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/util-vserver-vars.subst: added more
+         variables
+
+2003-09-30 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/Makefile-files: added more substitutions
+
+2003-09-30 12:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/doc/cfg.txt: initial checkin
+
+2003-09-29 22:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver, util-vserver/.cvsignore, util-vserver/AUTHORS,
+         util-vserver/Makefile.am, util-vserver/NEWS, util-vserver/README,
+         util-vserver/THANKS, util-vserver/configure.ac,
+         util-vserver/distrib, util-vserver/distrib/Makefile-files,
+         util-vserver/distrib/install-mdk8.2,
+         util-vserver/distrib/install-post.sh,
+         util-vserver/distrib/install-pre.sh,
+         util-vserver/distrib/install-rh7.2,
+         util-vserver/distrib/install-rh7.3,
+         util-vserver/distrib/install-rh8.0,
+         util-vserver/distrib/install-rh9.0,
+         util-vserver/distrib/mdk8.2-minimum,
+         util-vserver/distrib/rh7.3-minimum,
+         util-vserver/distrib/rh8.0-minimum,
+         util-vserver/distrib/rh9.0-minimum,
+         util-vserver/distrib/sample.conf, util-vserver/distrib/sample.sh,
+         util-vserver/doc, util-vserver/doc/FAQ.txt,
+         util-vserver/doc/Makefile-files, util-vserver/doc/changelog.txt,
+         util-vserver/doc/intro.txt, util-vserver/lib,
+         util-vserver/lib/Makefile-files, util-vserver/lib/syscall.c,
+         util-vserver/lib/vserver.h, util-vserver/m4,
+         util-vserver/m4/changelog.am, util-vserver/m4/ensc_cflags.m4,
+         util-vserver/m4/gpgsig.am, util-vserver/m4/validate.am,
+         util-vserver/man, util-vserver/man/Makefile-files,
+         util-vserver/man/chbind.8, util-vserver/man/chcontext.8,
+         util-vserver/man/distrib-info.8, util-vserver/man/newvserver.8,
+         util-vserver/man/rebootmgr.8, util-vserver/man/reducecap.8,
+         util-vserver/man/vps.8, util-vserver/man/vpstree.8,
+         util-vserver/man/vrpm.8, util-vserver/man/vserver-copy.8,
+         util-vserver/man/vserver-stat.8, util-vserver/man/vserver.8,
+         util-vserver/man/vtop.8, util-vserver/newvserver.defaults,
+         util-vserver/scripts, util-vserver/scripts/Makefile-files,
+         util-vserver/scripts/distrib-info,
+         util-vserver/scripts/rootshell,
+         util-vserver/scripts/save_s_context,
+         util-vserver/scripts/util-vserver-vars.subst,
+         util-vserver/scripts/vkill, util-vserver/scripts/vprofile,
+         util-vserver/scripts/vps, util-vserver/scripts/vpstree,
+         util-vserver/scripts/vrpm, util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vserverkillall,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop,
+         util-vserver/scripts/vunify.old.sh, util-vserver/src,
+         util-vserver/src/Makefile-files, util-vserver/src/capchroot.c,
+         util-vserver/src/chbind.c, util-vserver/src/chcontext.c,
+         util-vserver/src/fakerunlevel.c, util-vserver/src/filetime.c,
+         util-vserver/src/ifspec.c, util-vserver/src/listdevip.c,
+         util-vserver/src/parserpmdump.c, util-vserver/src/readlink.c,
+         util-vserver/src/rebootmgr.c, util-vserver/src/reducecap.c,
+         util-vserver/src/setctxlimit.c, util-vserver/src/showattr.c,
+         util-vserver/src/showperm.c, util-vserver/src/vbuild.cc,
+         util-vserver/src/vcheck.cc, util-vserver/src/vdu.c,
+         util-vserver/src/vfiles.cc, util-vserver/src/vreboot.c,
+         util-vserver/src/vserver-stat.c, util-vserver/src/vunify.cc,
+         util-vserver/src/vutil.cc, util-vserver/src/vutil.h,
+         util-vserver/src/vutil.p, util-vserver/sysv,
+         util-vserver/sysv/Makefile-files,
+         util-vserver/sysv/rebootmgr.subst,
+         util-vserver/sysv/v_gated.subst, util-vserver/sysv/v_httpd.subst,
+         util-vserver/sysv/v_named.subst,
+         util-vserver/sysv/v_portmap.subst,
+         util-vserver/sysv/v_sendmail.subst,
+         util-vserver/sysv/v_smb.subst, util-vserver/sysv/v_sshd.subst,
+         util-vserver/sysv/v_xinetd.subst,
+         util-vserver/sysv/vservers.conf,
+         util-vserver/sysv/vservers.subst, util-vserver/tests,
+         util-vserver/tests/Makefile-files,
+         util-vserver/tests/chrootsafe.cc,
+         util-vserver/tests/escaperoot.cc, util-vserver/tests/forkbomb.cc,
+         util-vserver/tests/testipc.cc, util-vserver/tests/testlimit.cc,
+         util-vserver/tests/testopenf.cc, util-vserver/vserver.spec.in:
+         initial checkin
+
+2003-09-29 22:01  
+
+       * branches, tags, .: New repository initialized by cvs2svn.
 
diff --git a/INSTALL b/INSTALL
index 56b077d..23e5f25 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -102,16 +102,16 @@ for another architecture.
 Installation Names
 ==================
 
-By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc.  You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PREFIX'.
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
 
    You can specify separate installation prefixes for
 architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PREFIX', the package will
-use PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
 
    In addition, if you use an unusual directory layout you can give
 options like `--bindir=DIR' to specify different values for particular
@@ -159,7 +159,7 @@ where SYSTEM can have one of these forms:
 need to know the machine type.
 
    If you are _building_ compiler tools for cross-compiling, you should
-use the `--target=TYPE' option to select the type of system they will
+use the option `--target=TYPE' to select the type of system they will
 produce code for.
 
    If you want to _use_ a cross compiler, that generates code for a
index 068605c..2dc9a8f 100644 (file)
@@ -1,6 +1,6 @@
-## $Id: Makefile.am,v 1.70 2005/07/03 17:51:00 ensc Exp $
+## $Id: Makefile.am 2482 2007-01-29 23:37:07Z dhozac $
 
-# Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+# Copyright (C) 2003,2004,2005,2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -20,8 +20,8 @@
 ACLOCAL_AMFLAGS                =  -I m4
 SUBDIRS                        =  . distrib
 
-CVS2CL_AMFLAGS         =  $(CVS2CL_TAG) -U cvsusers.map --show-dead -S --no-wrap
-CVS2CL_ALLFLAGS        :=  $(CVS2CL_AMFLAGS) $(CVS2CL_FLAGS)
+SVN2CL_AMFLAGS         =  $(SVN2CL_TAG) --authors=svnusers.map
+SVN2CL_ALLFLAGS        :=  $(SVN2CL_AMFLAGS) $(SVN2CL_FLAGS)
 
 confdir                        =  $(sysconfdir)/vservers
 confdefaultsdir                =  $(confdir)/.defaults
@@ -53,36 +53,12 @@ sysconf_DATA =
 
 DIETPROGS =            $(LIBENSCVECTOR_DIET)
 
-BUILT_SOURCES =                pathconfig.h linuxvirtual.h \
+BUILT_SOURCES =                pathconfig.h \
                        .fixups
 
 man_MANS =
 
-kernel_HDRS =          kernel/context.h        \
-                       kernel/context_cmd.h    \
-                       kernel/cvirt.h          \
-                       kernel/cvirt_cmd.h      \
-                       kernel/cvirt_def.h      \
-                       kernel/debug.h          \
-                       kernel/debug_cmd.h      \
-                       kernel/dlimit.h         \
-                       kernel/dlimit_cmd.h     \
-                       kernel/inode.h          \
-                       kernel/inode_cmd.h      \
-                       kernel/legacy.h         \
-                       kernel/limit.h          \
-                       kernel/limit_cmd.h      \
-                       kernel/limit_def.h      \
-                       kernel/namespace.h      \
-                       kernel/namespace_cmd.h  \
-                       kernel/network.h        \
-                       kernel/network_cmd.h    \
-                       kernel/sched.h          \
-                       kernel/sched_cmd.h      \
-                       kernel/sched_def.h      \
-                       kernel/signal_cmd.h     \
-                       kernel/switch.h         \
-                       kernel/xid.h
+kernel_HDRS =          $(wildcard kernel/*.h)
 
 
 EXTRA_PROGRAMS =
@@ -127,23 +103,16 @@ endif
 VSERVER_LDADDS =       $(LIBVSERVER) $(DIET_COMPAT_LDADDS)
 
 silent.%:              FORCE
-                       @t=$$(mktemp /tmp/build.XXXXXX) && \
-                       $(MAKE) '$*' -s 2>$$t >/dev/null && \
-                       ( cat $$t | \
-                               grep -v ': In function' | \
-                               grep -v 'your code still has assertions enabled' | \
-                               grep -v ' is obsoleted' | \
-                               grep -v 'warning: #warning'; \
-                               rm -f $$t || : )
-
-
-linuxvirtual.h:
-if ENSC_ENABLE_INTERNAL_HEADERS
-                       ln -sf '$(top_srcdir)/lib/virtual.h' '$@'
-else
-                       ln -sf '$(kernelincludedir)/linux/virtual.h' '$@' && test -e '$@' || \
-                       ln -sf '$(top_srcdir)/lib/virtual.h' '$@'
-endif
+                       @t=$$($(MKTEMP) -d /tmp/build.XXXXXX) && \
+                       trap "rm -rf $$t" EXIT && \
+                       mkfifo $$t/fifo && \
+                       ( grep --line-buffered -v \
+                                    -e ': In function' \
+                                    -e 'your code still has assertions enabled' \
+                                    -e ' is obsoleted' \
+                                    -e 'warning: #warning' <$$t/fifo & ) && \
+                       exec 2>$$t/fifo && \
+                       $(MAKE) '$*' -s >/dev/null
 
 pathsubst_RULES =      s!@'PKGLIBDIR'@!$(pkglibdir)!g; \
                        s!@'LEGACYDIR'@!$(legacydir)!g; \
@@ -151,6 +120,7 @@ pathsubst_RULES =   s!@'PKGLIBDIR'@!$(pkglibdir)!g; \
                        s!@'CONFDIR'@!$(confdir)!g; \
                        s!@'SYSCONFDIR'@!$(sysconfdir)!g; \
                        s!@'PKGSTATEDIR'@!$(pkgstatedir)!g; \
+                       s!@'PKGCACHEDIR'@!$(pkgcachedir)!g; \
                        s!@'PKGSTATEREVDIR'@!$(pkgstaterevdir)!g; \
                        s!@'VSERVERDIR'@!$(vserverdir)!g; \
                        s!@'VSERVERPKGDIR'@!$(vserverpkgdir)!g; \
@@ -187,6 +157,7 @@ pathconfig.h:               .pathconfig.h.pathsubst.stamp
                        @chmod a-w '$*'
                        @touch '$@'
 
+pkgcachedir =          $(localstatedir)/cache/vservers
 pkgstatedir =          $(localstatedir)/run/vservers
 pkgstaterevdir =       $(confdefaultsdir)/run.rev
 vserverpkgdir =                $(vserverdir)/.pkg
@@ -203,10 +174,12 @@ update-doc:               doc
 install-data-hook:     install-fix-script-paths install-create-dirs
 
 install-create-dirs:
-                       $(mkinstalldirs) -m 755 $(DESTDIR)$(pkgstatedir) $(DESTDIR)$(pkgstatedir).rev $(DESTDIR)$(vshelperstatedir)
-                       $(mkinstalldirs) -m 755 $(DESTDIR)$(confdefaultsdir)
-                       f=$(DESTDIR)$(confdefaultsdir)/vdirbase; test -e "$$f" || ln -sf '$(vserverdir)'      "$$f"
-                       f=$(DESTDIR)$(pkgstaterevdir);           test -e "$$f" || ln -sf '$(pkgstatedir).rev' "$$f"
+                       $(mkinstalldirs) -m 0755 $(DESTDIR)$(pkgstatedir) $(DESTDIR)$(pkgstatedir).rev $(DESTDIR)$(vshelperstatedir)
+                       $(mkinstalldirs) -m 0700 $(DESTDIR)$(pkgcachedir)
+                       $(mkinstalldirs) -m 0755 $(DESTDIR)$(confdefaultsdir)
+                       f=$(DESTDIR)$(confdefaultsdir)/vdirbase;  test -e "$$f" || ln -sf '$(vserverdir)'      "$$f"
+                       f=$(DESTDIR)$(confdefaultsdir)/cachebase; test -e "$$f" || ln -sf '$(pkgcachedir)'     "$$f"
+                       f=$(DESTDIR)$(pkgstaterevdir);            test -e "$$f" || ln -sf '$(pkgstatedir).rev' "$$f"
 
 install-fix-script-paths:
                        test "/usr/lib/util-vserver" = "$(pkglibdir)" || \
@@ -263,6 +236,7 @@ include $(top_srcdir)/ensc_wrappers/Makefile-files
 include $(top_srcdir)/ensc_fmt/Makefile-files
 include $(top_srcdir)/lib_internal/Makefile-files
 include $(top_srcdir)/vserver-start/Makefile-files
+include $(top_srcdir)/gentoo/Makefile-files
 
 include $(top_srcdir)/m4/gpgsig.am
 include $(top_srcdir)/m4/validate.am
index 216d348..7895288 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+# Copyright (C) 2003,2004,2005,2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -36,8 +36,6 @@
 
 
 
-SOURCES = $(nodist_lib_dietlibc_not_enabled_error_a_SOURCES) $(nodist_lib_glibc_not_enabled_error_a_SOURCES) $(lib_libvserver_a_SOURCES) $(lib_internal_libinternal_diet_a_SOURCES) $(lib_internal_libinternal_glibc_a_SOURCES) $(libensc_vector_diet_a_SOURCES) $(libensc_vector_glibc_a_SOURCES) $(lib_libvserver_la_SOURCES) $(src_rpm_fake_la_SOURCES) $(ensc_vector_testsuite_test1_SOURCES) $(ensc_vector_testsuite_test2_SOURCES) $(lib_testsuite_cflags_SOURCES) $(lib_testsuite_fmt_SOURCES) $(lib_testsuite_parselimit_SOURCES) $(lib_testsuite_personality_SOURCES) $(lib_internal_testsuite_command_SOURCES) $(lib_internal_testsuite_copy_SOURCES) $(lib_internal_testsuite_filecfg_ml_SOURCES) $(lib_internal_testsuite_sigbus_SOURCES) $(src_capchroot_SOURCES) $(src_chain_echo_SOURCES) $(src_chbind_SOURCES) $(src_chcontext_compat_SOURCES) src/check-unixfile.c $(src_chroot_sh_SOURCES) $(src_chxid_SOURCES) $(src_exec_cd_SOURCES) $(src_exec_ulimit_SOURCES) $(src_fakerunlevel_SOURCES) $(src_filetime_SOURCES) $(src_ifspec_SOURCES) $(src_keep_ctx_alive_SOURCES) $(src_listdevip_SOURCES) $(src_lockfile_SOURCES) $(src_lsxid_SOURCES) $(src_mask2prefix_SOURCES) $(src_parserpmdump_SOURCES) $(src_readlink_SOURCES) $(src_rebootmgr_SOURCES) $(src_reducecap_SOURCES) $(src_rpm_fake_resolver_SOURCES) $(src_save_ctxinfo_SOURCES) $(src_secure_mount_SOURCES) $(src_setattr_SOURCES) $(src_showattr_SOURCES) src/showperm.c src/sigexec.c $(src_testsuite_chbind_test_SOURCES) $(src_testsuite_chcontext_test_SOURCES) $(src_testsuite_rpm_fake_test_SOURCES) $(src_testsuite_vunify_functest_SOURCES) $(src_vattribute_SOURCES) $(src_vbuild_SOURCES) $(src_vcontext_SOURCES) $(src_vcopy_SOURCES) $(src_vdlimit_SOURCES) $(src_vdu_SOURCES) $(src_vhashify_SOURCES) $(src_vkill_SOURCES) $(src_vlimit_SOURCES) $(src_vnamespace_SOURCES) $(src_vps_SOURCES) $(src_vreboot_SOURCES) src/vrsetup.c $(src_vsched_SOURCES) $(src_vserver_info_SOURCES) $(src_vserver_stat_SOURCES) $(src_vsh_SOURCES) $(src_vshelper_sync_SOURCES) $(src_vuname_SOURCES) $(src_vunify_SOURCES) $(src_vwait_SOURCES) $(tests_escaperoot_SOURCES) $(tests_forkbomb_SOURCES) $(tests_getctx_SOURCES) $(tests_getinitpid_SOURCES) $(tests_testipc_SOURCES) $(tests_testlimit_SOURCES) $(tests_testopenf_SOURCES) $(tests_vserver_info_SOURCES) $(vserver_start_vserver_start_bin_SOURCES)
-
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
 VPATH = @srcdir@
@@ -68,25 +66,27 @@ pkglib_PROGRAMS = src/capchroot$(EXEEXT) src/chain-echo$(EXEEXT) \
        src/save_ctxinfo$(EXEEXT) src/secure-mount$(EXEEXT) \
        src/mask2prefix$(EXEEXT) src/exec-ulimit$(EXEEXT) \
        src/rpm-fake-resolver$(EXEEXT) src/vshelper-sync$(EXEEXT) \
-       src/sigexec$(EXEEXT) $(am__EXEEXT_8) $(am__EXEEXT_9) \
-       $(am__EXEEXT_10) $(am__EXEEXT_11)
+       src/sigexec$(EXEEXT) src/chbind-compat$(EXEEXT) \
+       src/vsysctl$(EXEEXT) $(am__EXEEXT_8) $(am__EXEEXT_1) \
+       $(am__EXEEXT_9) $(am__EXEEXT_10)
 legacy_PROGRAMS = src/ifspec$(EXEEXT) src/listdevip$(EXEEXT) \
        src/parserpmdump$(EXEEXT) src/rebootmgr$(EXEEXT) \
        src/showperm$(EXEEXT) src/vreboot$(EXEEXT)
-sbin_PROGRAMS = src/chbind$(EXEEXT) src/exec-cd$(EXEEXT) \
-       src/lsxid$(EXEEXT) src/chxid$(EXEEXT) src/vps$(EXEEXT) \
-       src/showattr$(EXEEXT) src/setattr$(EXEEXT) \
-       src/reducecap$(EXEEXT) src/vdu$(EXEEXT) \
+sbin_PROGRAMS = src/exec-cd$(EXEEXT) src/lsxid$(EXEEXT) \
+       src/chxid$(EXEEXT) src/vps$(EXEEXT) src/showattr$(EXEEXT) \
+       src/setattr$(EXEEXT) src/reducecap$(EXEEXT) src/vdu$(EXEEXT) \
        src/vattribute$(EXEEXT) src/vcontext$(EXEEXT) \
        src/vlimit$(EXEEXT) src/vkill$(EXEEXT) src/vnamespace$(EXEEXT) \
        src/vrsetup$(EXEEXT) src/vsched$(EXEEXT) \
        src/vserver-stat$(EXEEXT) src/vserver-info$(EXEEXT) \
        src/vuname$(EXEEXT) src/vsh$(EXEEXT) src/vwait$(EXEEXT) \
-       $(am__EXEEXT_12) $(am__EXEEXT_13)
+       src/ncontext$(EXEEXT) src/nattribute$(EXEEXT) \
+       src/naddress$(EXEEXT) src/vdevmap$(EXEEXT) $(am__EXEEXT_11) \
+       $(am__EXEEXT_12)
 noinst_PROGRAMS = tests/escaperoot$(EXEEXT) tests/forkbomb$(EXEEXT) \
        tests/testipc$(EXEEXT) tests/testlimit$(EXEEXT) \
        tests/testopenf$(EXEEXT) $(am__EXEEXT_6)
-EXTRA_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
+EXTRA_PROGRAMS = $(am__EXEEXT_1)
 check_PROGRAMS = lib/testsuite/cflags$(EXEEXT) \
        lib/testsuite/personality$(EXEEXT) lib/testsuite/fmt$(EXEEXT) \
        lib/testsuite/parselimit$(EXEEXT) $(am__EXEEXT_3) \
@@ -105,6 +105,7 @@ DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \
        $(top_srcdir)/ensc_fmt/Makefile-files \
        $(top_srcdir)/ensc_vector/Makefile-files \
        $(top_srcdir)/ensc_wrappers/Makefile-files \
+       $(top_srcdir)/gentoo/Makefile-files \
        $(top_srcdir)/lib/Makefile-files \
        $(top_srcdir)/lib/apidoc/Doxyfile.in \
        $(top_srcdir)/lib_internal/Makefile-files \
@@ -134,21 +135,38 @@ DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \
 @ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@am__append_3 = src/vhashify
 @ENSC_HAVE_BEECRYPT_TRUE@@ENSC_HAVE_C99_COMPILER_TRUE@am__append_4 = src/vhashify
 @ENSC_HAVE_C99_COMPILER_TRUE@am__append_5 = src/vdlimit
-@HAVE_XSLTP_TRUE@am__append_6 = $(doc_gen_DOCS)
-@HAVE_XSLTPROC_TRUE@@HAVE_XSLTP_FALSE@am__append_7 = $(doc_gen_DOCS)
-@ENSC_USE_GLIBC_TRUE@am__append_8 = $(LIBENSCVECTOR_GLIBC)
-@ENSC_USE_DIETLIBC_TRUE@am__append_9 = $(LIBENSCVECTOR_DIET)
-@USE_DIETLIBC_TRUE@am__append_10 = $(LIBINTERNAL_DIET)
-@ENSC_HAVE_C99_COMPILER_TRUE@am__append_11 = lib_internal/testsuite/filecfg-ml \
+@ENSC_HAVE_BEECRYPT_TRUE@@ENSC_HAVE_C99_COMPILER_TRUE@am__append_6 = src/testsuite/hashcalc            \
+@ENSC_HAVE_BEECRYPT_TRUE@@ENSC_HAVE_C99_COMPILER_TRUE@                                 src/testsuite/hashcalc-plain
+
+@ENSC_HAVE_BEECRYPT_TRUE@@ENSC_HAVE_C99_COMPILER_TRUE@am__append_7 = src/testsuite/hashcalc-plain.sh           \
+@ENSC_HAVE_BEECRYPT_TRUE@@ENSC_HAVE_C99_COMPILER_TRUE@                                 src/testsuite/hashcalc.sh
+
+@HAVE_XSLTP_TRUE@am__append_8 = $(doc_gen_DOCS)
+@HAVE_XSLTPROC_TRUE@@HAVE_XSLTP_FALSE@am__append_9 = $(doc_gen_DOCS)
+@HAVE_SYSV_INIT_TRUE@am__append_10 = $(sysv_conf_DTA)
+@HAVE_SYSV_INIT_TRUE@am__append_11 = $(sysv_src_SCRPTS) \
+@HAVE_SYSV_INIT_TRUE@                  $(sysv_gen_SCRPTS)
+
+@ENSC_USE_GLIBC_TRUE@am__append_12 = $(LIBENSCVECTOR_GLIBC)
+@ENSC_USE_DIETLIBC_TRUE@am__append_13 = $(LIBENSCVECTOR_DIET)
+@USE_DIETLIBC_TRUE@am__append_14 = $(LIBINTERNAL_DIET)
+@ENSC_HAVE_C99_COMPILER_TRUE@am__append_15 = lib_internal/testsuite/filecfg-ml \
 @ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/copy \
-@ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/sigbus
+@ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/isnumber \
+@ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/isnumber-gnu \
+@ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/sigbus \
+@ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/sigbus-gnu
 
-@ENSC_HAVE_C99_COMPILER_TRUE@am__append_12 = lib_internal/testsuite/filecfg-ml \
+@ENSC_HAVE_C99_COMPILER_TRUE@am__append_16 = lib_internal/testsuite/filecfg-ml \
 @ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/copy-check \
-@ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/sigbus
-
-@ENSC_HAVE_C99_COMPILER_TRUE@am__append_13 = vserver-start/vserver.start.bin
-@ENSC_HAVE_C99_COMPILER_TRUE@am__append_14 = vserver-start/vserver.start.bin
+@ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/isnumber \
+@ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/isnumber-gnu \
+@ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/sigbus \
+@ENSC_HAVE_C99_COMPILER_TRUE@                          lib_internal/testsuite/sigbus-gnu
+
+@ENSC_HAVE_C99_COMPILER_TRUE@am__append_17 = vserver-start/vserver.start.bin
+@ENSC_HAVE_C99_COMPILER_TRUE@am__append_18 = vserver-start/vserver.start.bin
+@HAVE_GENTOO_INIT_TRUE@am__append_19 = $(gentoo_src_SCRPTS)
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ensc_cflags.m4 \
@@ -158,7 +176,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ensc_cflags.m4 \
        $(top_srcdir)/m4/ensc_dietlibc_compat.m4 \
        $(top_srcdir)/m4/ensc_e2fscheck.m4 \
        $(top_srcdir)/m4/ensc_initrddir.m4 \
-       $(top_srcdir)/m4/ensc_kerneldir.m4 \
        $(top_srcdir)/m4/ensc_pathprog.m4 \
        $(top_srcdir)/m4/ensc_personality.m4 \
        $(top_srcdir)/m4/ensc_release.m4 \
@@ -205,7 +222,7 @@ lib_glibc_not_enabled_error_a_OBJECTS =  \
 lib_libvserver_a_AR = $(AR) $(ARFLAGS)
 lib_libvserver_a_LIBADD =
 am__lib_libvserver_a_SOURCES_DIST = lib/syscall.c lib/checkversion.c \
-       lib/isdirectory.c lib/isfile.c lib/islink.c \
+       lib/checkconfig.c lib/isdirectory.c lib/isfile.c lib/islink.c \
        lib/getnbipv4root.c lib/getversion.c lib/capabilities.c \
        lib/getfilecontext.c lib/getinsecurebcaps.c lib/getxidtype.c \
        lib/isdynamicxid.c lib/issupported.c lib/issupportedstring.c \
@@ -216,15 +233,16 @@ am__lib_libvserver_a_SOURCES_DIST = lib/syscall.c lib/checkversion.c \
        lib/val2text-v2t-uint32.c lib/val2text-v2t-uint64.c \
        lib/parselimit.c lib/planetlab.c lib/getprocentry-legacy.c \
        lib/cflags-compat.c lib/cflags_list-compat.c \
-       lib/createskeleton.c lib/getvserverbyctx.c \
-       lib/getvserverbyctx-compat.hc lib/getvserverbyctx-v13.hc \
-       lib/getvservercfgstyle.c lib/getvserverappdir.c \
-       lib/getvservercfgdir.c lib/getvserverctx.c \
-       lib/getvservername.c lib/getvservervdir.c lib/xidopt2xid.c \
-       lib/syscall_rlimit.c lib/syscall_rlimit-v11.hc \
-       lib/syscall_kill.c lib/syscall_kill-v11.hc \
-       lib/syscall_ctxcreate.c lib/syscall_ctxcreate-v13.hc \
-       lib/syscall_ctxmigrate.c lib/syscall_ctxmigrate-v13.hc \
+       lib/comparevserverbyid.c lib/createskeleton.c \
+       lib/getvserverbyctx.c lib/getvserverbyctx-compat.hc \
+       lib/getvserverbyctx-v13.hc lib/getvservercfgstyle.c \
+       lib/getvserverappdir.c lib/getvservercfgdir.c \
+       lib/getvserverctx.c lib/getvservername.c lib/getvservervdir.c \
+       lib/xidopt2xid.c lib/nidopt2nid.c lib/syscall_rlimit.c \
+       lib/syscall_rlimit-v11.hc lib/syscall_kill.c \
+       lib/syscall_kill-v11.hc lib/syscall_ctxcreate.c \
+       lib/syscall_ctxcreate-v13.hc lib/syscall_ctxmigrate.c \
+       lib/syscall_ctxmigrate-v13.hc \
        lib/syscall_cleanupnamespace-v13.hc \
        lib/syscall_cleanupnamespace.c \
        lib/syscall_enternamespace-v13.hc lib/syscall_enternamespace.c \
@@ -251,25 +269,37 @@ am__lib_libvserver_a_SOURCES_DIST = lib/syscall.c lib/checkversion.c \
        lib/syscall_setnamespace.c lib/syscall_setncaps-net.hc \
        lib/syscall_setncaps.c lib/syscall_setnflags-net.hc \
        lib/syscall_setnflags.c lib/syscall_setsched-v13.hc \
-       lib/syscall_setsched.c lib/syscall_setvhiname-olduts.hc \
-       lib/syscall_setvhiname-v13.hc lib/syscall_setvhiname.c \
-       lib/syscall_waitexit.c lib/syscall_waitexit-v13.hc \
-       lib/bcaps-v13.c lib/bcaps_list-v13.c lib/ccaps-v13.c \
-       lib/ccaps_list-v13.c lib/cflags-v13.c lib/cflags_list-v13.c \
-       lib/ncaps-net.c lib/ncaps_list-net.c lib/nflags-net.c \
-       lib/nflags_list-net.c lib/syscall_adddlimit-v13.hc \
-       lib/syscall_adddlimit.c lib/syscall_getdlimit-v13.hc \
-       lib/syscall_getdlimit.c lib/syscall_remdlimit-v13.hc \
-       lib/syscall_remdlimit.c lib/syscall_setdlimit-v13.hc \
-       lib/syscall_setdlimit.c ensc_fmt/fmt-32.c ensc_fmt/fmt-64.c \
-       ensc_fmt/fmtx-32.c ensc_fmt/fmtx-64.c ensc_fmt/fmt-tai64n.c \
-       ensc_fmt/fmt.h ensc_fmt/fmt.hc ensc_fmt/fmtx.hc \
-       ensc_fmt/fmt-internal.h
+       lib/syscall_setsched-v13obs.hc lib/syscall_setsched.c \
+       lib/syscall_setvhiname-olduts.hc lib/syscall_setvhiname-v13.hc \
+       lib/syscall_setvhiname.c lib/syscall_waitexit.c \
+       lib/syscall_waitexit-v13.hc lib/bcaps-v13.c \
+       lib/bcaps_list-v13.c lib/ccaps-v13.c lib/ccaps_list-v13.c \
+       lib/cflags-v13.c lib/cflags_list-v13.c lib/ncaps-net.c \
+       lib/ncaps_list-net.c lib/nflags-net.c lib/nflags_list-net.c \
+       lib/syscall_adddlimit-v13.hc lib/syscall_adddlimit.c \
+       lib/syscall_getdlimit-v13.hc lib/syscall_getdlimit.c \
+       lib/syscall_remdlimit-v13.hc lib/syscall_remdlimit.c \
+       lib/syscall_setdlimit-v13.hc lib/syscall_setdlimit.c \
+       lib/syscall_setccaps-v21.hc lib/syscall_setsched-v21.hc \
+       lib/syscall_rlimitstat.c lib/syscall_rlimitstat-v21.hc \
+       lib/syscall_resetminmax.c lib/syscall_resetminmax-v21.hc \
+       lib/syscall_getvci.c lib/syscall_getvci-v21.hc \
+       lib/syscall_virtstat.c lib/syscall_virtstat-v21.hc \
+       lib/syscall_ctxstat.c lib/syscall_ctxstat-v21.hc \
+       lib/syscall_getspacemask.c lib/syscall_getspacemask-v21.hc \
+       lib/syscall_enternamespace-v21.hc \
+       lib/syscall_setnamespace-v21.hc lib/syscall_ctxmigrate-v21.hc \
+       lib/syscall_setmapping.c lib/syscall_setmapping-v21.hc \
+       lib/syscall_schedinfo.c lib/syscall_schedinfo-v21.hc \
+       ensc_fmt/fmt-32.c ensc_fmt/fmt-64.c ensc_fmt/fmtx-32.c \
+       ensc_fmt/fmtx-64.c ensc_fmt/fmt-tai64n.c ensc_fmt/fmt.h \
+       ensc_fmt/fmt.hc ensc_fmt/fmtx.hc ensc_fmt/fmt-internal.h
 am__dirstamp = $(am__leading_dot)dirstamp
 am__objects_1 = lib/lib_libvserver_a-getprocentry-legacy.$(OBJEXT)
 am__objects_2 = lib/lib_libvserver_a-cflags-compat.$(OBJEXT) \
        lib/lib_libvserver_a-cflags_list-compat.$(OBJEXT)
-am__objects_3 = lib/lib_libvserver_a-createskeleton.$(OBJEXT) \
+am__objects_3 = lib/lib_libvserver_a-comparevserverbyid.$(OBJEXT) \
+       lib/lib_libvserver_a-createskeleton.$(OBJEXT) \
        lib/lib_libvserver_a-getvserverbyctx.$(OBJEXT) \
        lib/lib_libvserver_a-getvservercfgstyle.$(OBJEXT) \
        lib/lib_libvserver_a-getvserverappdir.$(OBJEXT) \
@@ -277,7 +307,8 @@ am__objects_3 = lib/lib_libvserver_a-createskeleton.$(OBJEXT) \
        lib/lib_libvserver_a-getvserverctx.$(OBJEXT) \
        lib/lib_libvserver_a-getvservername.$(OBJEXT) \
        lib/lib_libvserver_a-getvservervdir.$(OBJEXT) \
-       lib/lib_libvserver_a-xidopt2xid.$(OBJEXT)
+       lib/lib_libvserver_a-xidopt2xid.$(OBJEXT) \
+       lib/lib_libvserver_a-nidopt2nid.$(OBJEXT)
 am__objects_4 = lib/lib_libvserver_a-syscall_rlimit.$(OBJEXT) \
        lib/lib_libvserver_a-syscall_kill.$(OBJEXT)
 @ENSC_HAVE_C99_COMPILER_TRUE@am__objects_5 = lib/lib_libvserver_a-syscall_adddlimit.$(OBJEXT) \
@@ -322,13 +353,22 @@ am__objects_6 = lib/lib_libvserver_a-syscall_ctxcreate.$(OBJEXT) \
        lib/lib_libvserver_a-nflags-net.$(OBJEXT) \
        lib/lib_libvserver_a-nflags_list-net.$(OBJEXT) \
        $(am__objects_5)
-am__objects_7 = ensc_fmt/lib_libvserver_a-fmt-32.$(OBJEXT) \
+am__objects_7 = lib/lib_libvserver_a-syscall_rlimitstat.$(OBJEXT) \
+       lib/lib_libvserver_a-syscall_resetminmax.$(OBJEXT) \
+       lib/lib_libvserver_a-syscall_getvci.$(OBJEXT) \
+       lib/lib_libvserver_a-syscall_virtstat.$(OBJEXT) \
+       lib/lib_libvserver_a-syscall_ctxstat.$(OBJEXT) \
+       lib/lib_libvserver_a-syscall_getspacemask.$(OBJEXT) \
+       lib/lib_libvserver_a-syscall_setmapping.$(OBJEXT) \
+       lib/lib_libvserver_a-syscall_schedinfo.$(OBJEXT)
+am__objects_8 = ensc_fmt/lib_libvserver_a-fmt-32.$(OBJEXT) \
        ensc_fmt/lib_libvserver_a-fmt-64.$(OBJEXT) \
        ensc_fmt/lib_libvserver_a-fmtx-32.$(OBJEXT) \
        ensc_fmt/lib_libvserver_a-fmtx-64.$(OBJEXT) \
        ensc_fmt/lib_libvserver_a-fmt-tai64n.$(OBJEXT)
-am__objects_8 = lib/lib_libvserver_a-syscall.$(OBJEXT) \
+am__objects_9 = lib/lib_libvserver_a-syscall.$(OBJEXT) \
        lib/lib_libvserver_a-checkversion.$(OBJEXT) \
+       lib/lib_libvserver_a-checkconfig.$(OBJEXT) \
        lib/lib_libvserver_a-isdirectory.$(OBJEXT) \
        lib/lib_libvserver_a-isfile.$(OBJEXT) \
        lib/lib_libvserver_a-islink.$(OBJEXT) \
@@ -354,8 +394,8 @@ am__objects_8 = lib/lib_libvserver_a-syscall.$(OBJEXT) \
        lib/lib_libvserver_a-parselimit.$(OBJEXT) \
        lib/lib_libvserver_a-planetlab.$(OBJEXT) $(am__objects_1) \
        $(am__objects_2) $(am__objects_3) $(am__objects_4) \
-       $(am__objects_6) $(am__objects_7)
-am_lib_libvserver_a_OBJECTS = $(am__objects_8)
+       $(am__objects_6) $(am__objects_7) $(am__objects_8)
+am_lib_libvserver_a_OBJECTS = $(am__objects_9)
 lib_libvserver_a_OBJECTS = $(am_lib_libvserver_a_OBJECTS)
 lib_internal_libinternal_diet_a_AR = $(AR) $(ARFLAGS)
 lib_internal_libinternal_diet_a_LIBADD =
@@ -375,8 +415,9 @@ am__lib_internal_libinternal_diet_a_SOURCES_DIST =  \
        lib_internal/unify-isiunlinkable.c \
        lib_internal/util-canonify.c \
        lib_internal/util-exitlikeprocess.c \
-       lib_internal/util-isnumber.c lib_internal/util-lockfile.c \
-       lib_internal/util-safechdir.c \
+       lib_internal/util-isnumber.hc lib_internal/util-isnumber.c \
+       lib_internal/util-isnumberunsigned.c \
+       lib_internal/util-lockfile.c lib_internal/util-safechdir.c \
        lib_internal/command-appendparameter.c \
        lib_internal/command-setparams.c lib_internal/command-exec.c \
        lib_internal/command-free.c lib_internal/command-init.c \
@@ -387,20 +428,20 @@ am__lib_internal_libinternal_diet_a_SOURCES_DIST =  \
        lib_internal/filecfg-readentrystr.c \
        lib_internal/matchlist-initbyvserver.c \
        lib_internal/matchvserverinfo-init.c lib_internal/unify-copy.c
-am__objects_9 = lib_internal/lib_internal_libinternal_diet_a-command-appendparameter.$(OBJEXT) \
+am__objects_10 = lib_internal/lib_internal_libinternal_diet_a-command-appendparameter.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-command-setparams.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-command-exec.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-command-free.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-command-init.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-command-reset.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-command-wait.$(OBJEXT)
-@ENSC_HAVE_C99_COMPILER_TRUE@am__objects_10 = lib_internal/lib_internal_libinternal_diet_a-filecfg-iteratemultiline.$(OBJEXT) \
+@ENSC_HAVE_C99_COMPILER_TRUE@am__objects_11 = lib_internal/lib_internal_libinternal_diet_a-filecfg-iteratemultiline.$(OBJEXT) \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/lib_internal_libinternal_diet_a-filecfg-readentryflag.$(OBJEXT) \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/lib_internal_libinternal_diet_a-filecfg-readentrystr.$(OBJEXT) \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/lib_internal_libinternal_diet_a-matchlist-initbyvserver.$(OBJEXT) \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/lib_internal_libinternal_diet_a-matchvserverinfo-init.$(OBJEXT) \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/lib_internal_libinternal_diet_a-unify-copy.$(OBJEXT)
-am__objects_11 = lib_internal/lib_internal_libinternal_diet_a-errinfo-writeerrno.$(OBJEXT) \
+am__objects_12 = lib_internal/lib_internal_libinternal_diet_a-errinfo-writeerrno.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-jailintotempdir.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-matchlist-appendfiles.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-matchlist-compare.$(OBJEXT) \
@@ -420,10 +461,11 @@ am__objects_11 = lib_internal/lib_internal_libinternal_diet_a-errinfo-writeerrno
        lib_internal/lib_internal_libinternal_diet_a-util-canonify.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-util-exitlikeprocess.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-util-isnumber.$(OBJEXT) \
+       lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-util-lockfile.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_diet_a-util-safechdir.$(OBJEXT) \
-       $(am__objects_9) $(am__objects_10)
-am_lib_internal_libinternal_diet_a_OBJECTS = $(am__objects_11)
+       $(am__objects_10) $(am__objects_11)
+am_lib_internal_libinternal_diet_a_OBJECTS = $(am__objects_12)
 lib_internal_libinternal_diet_a_OBJECTS =  \
        $(am_lib_internal_libinternal_diet_a_OBJECTS)
 lib_internal_libinternal_glibc_a_AR = $(AR) $(ARFLAGS)
@@ -444,8 +486,9 @@ am__lib_internal_libinternal_glibc_a_SOURCES_DIST =  \
        lib_internal/unify-isiunlinkable.c \
        lib_internal/util-canonify.c \
        lib_internal/util-exitlikeprocess.c \
-       lib_internal/util-isnumber.c lib_internal/util-lockfile.c \
-       lib_internal/util-safechdir.c \
+       lib_internal/util-isnumber.hc lib_internal/util-isnumber.c \
+       lib_internal/util-isnumberunsigned.c \
+       lib_internal/util-lockfile.c lib_internal/util-safechdir.c \
        lib_internal/command-appendparameter.c \
        lib_internal/command-setparams.c lib_internal/command-exec.c \
        lib_internal/command-free.c lib_internal/command-init.c \
@@ -456,20 +499,20 @@ am__lib_internal_libinternal_glibc_a_SOURCES_DIST =  \
        lib_internal/filecfg-readentrystr.c \
        lib_internal/matchlist-initbyvserver.c \
        lib_internal/matchvserverinfo-init.c lib_internal/unify-copy.c
-am__objects_12 = lib_internal/lib_internal_libinternal_glibc_a-command-appendparameter.$(OBJEXT) \
+am__objects_13 = lib_internal/lib_internal_libinternal_glibc_a-command-appendparameter.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-command-setparams.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-command-exec.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-command-free.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-command-init.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-command-reset.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-command-wait.$(OBJEXT)
-@ENSC_HAVE_C99_COMPILER_TRUE@am__objects_13 = lib_internal/lib_internal_libinternal_glibc_a-filecfg-iteratemultiline.$(OBJEXT) \
+@ENSC_HAVE_C99_COMPILER_TRUE@am__objects_14 = lib_internal/lib_internal_libinternal_glibc_a-filecfg-iteratemultiline.$(OBJEXT) \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/lib_internal_libinternal_glibc_a-filecfg-readentryflag.$(OBJEXT) \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/lib_internal_libinternal_glibc_a-filecfg-readentrystr.$(OBJEXT) \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/lib_internal_libinternal_glibc_a-matchlist-initbyvserver.$(OBJEXT) \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/lib_internal_libinternal_glibc_a-matchvserverinfo-init.$(OBJEXT) \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/lib_internal_libinternal_glibc_a-unify-copy.$(OBJEXT)
-am__objects_14 = lib_internal/lib_internal_libinternal_glibc_a-errinfo-writeerrno.$(OBJEXT) \
+am__objects_15 = lib_internal/lib_internal_libinternal_glibc_a-errinfo-writeerrno.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-jailintotempdir.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-matchlist-appendfiles.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-matchlist-compare.$(OBJEXT) \
@@ -489,15 +532,16 @@ am__objects_14 = lib_internal/lib_internal_libinternal_glibc_a-errinfo-writeerrn
        lib_internal/lib_internal_libinternal_glibc_a-util-canonify.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-util-exitlikeprocess.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-util-isnumber.$(OBJEXT) \
+       lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-util-lockfile.$(OBJEXT) \
        lib_internal/lib_internal_libinternal_glibc_a-util-safechdir.$(OBJEXT) \
-       $(am__objects_12) $(am__objects_13)
-am_lib_internal_libinternal_glibc_a_OBJECTS = $(am__objects_14)
+       $(am__objects_13) $(am__objects_14)
+am_lib_internal_libinternal_glibc_a_OBJECTS = $(am__objects_15)
 lib_internal_libinternal_glibc_a_OBJECTS =  \
        $(am_lib_internal_libinternal_glibc_a_OBJECTS)
 libensc_vector_diet_a_AR = $(AR) $(ARFLAGS)
 libensc_vector_diet_a_LIBADD =
-am__objects_15 =  \
+am__objects_16 =  \
        ensc_vector/libensc_vector_diet_a-vector-clear.$(OBJEXT) \
        ensc_vector/libensc_vector_diet_a-vector-foreach.$(OBJEXT) \
        ensc_vector/libensc_vector_diet_a-vector-free.$(OBJEXT) \
@@ -518,11 +562,11 @@ am__objects_15 =  \
        ensc_vector/libensc_vector_diet_a-list-insertinternal.$(OBJEXT) \
        ensc_vector/libensc_vector_diet_a-list-search.$(OBJEXT) \
        ensc_vector/libensc_vector_diet_a-list-searchselforg.$(OBJEXT)
-am_libensc_vector_diet_a_OBJECTS = $(am__objects_15)
+am_libensc_vector_diet_a_OBJECTS = $(am__objects_16)
 libensc_vector_diet_a_OBJECTS = $(am_libensc_vector_diet_a_OBJECTS)
 libensc_vector_glibc_a_AR = $(AR) $(ARFLAGS)
 libensc_vector_glibc_a_LIBADD =
-am__objects_16 =  \
+am__objects_17 =  \
        ensc_vector/libensc_vector_glibc_a-vector-clear.$(OBJEXT) \
        ensc_vector/libensc_vector_glibc_a-vector-foreach.$(OBJEXT) \
        ensc_vector/libensc_vector_glibc_a-vector-free.$(OBJEXT) \
@@ -543,14 +587,14 @@ am__objects_16 =  \
        ensc_vector/libensc_vector_glibc_a-list-insertinternal.$(OBJEXT) \
        ensc_vector/libensc_vector_glibc_a-list-search.$(OBJEXT) \
        ensc_vector/libensc_vector_glibc_a-list-searchselforg.$(OBJEXT)
-am_libensc_vector_glibc_a_OBJECTS = $(am__objects_16)
+am_libensc_vector_glibc_a_OBJECTS = $(am__objects_17)
 libensc_vector_glibc_a_OBJECTS = $(am_libensc_vector_glibc_a_OBJECTS)
 libLTLIBRARIES_INSTALL = $(INSTALL)
 pkglibLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES) $(pkglib_LTLIBRARIES)
 lib_libvserver_la_LIBADD =
 am__lib_libvserver_la_SOURCES_DIST = lib/syscall.c lib/checkversion.c \
-       lib/isdirectory.c lib/isfile.c lib/islink.c \
+       lib/checkconfig.c lib/isdirectory.c lib/isfile.c lib/islink.c \
        lib/getnbipv4root.c lib/getversion.c lib/capabilities.c \
        lib/getfilecontext.c lib/getinsecurebcaps.c lib/getxidtype.c \
        lib/isdynamicxid.c lib/issupported.c lib/issupportedstring.c \
@@ -561,15 +605,16 @@ am__lib_libvserver_la_SOURCES_DIST = lib/syscall.c lib/checkversion.c \
        lib/val2text-v2t-uint32.c lib/val2text-v2t-uint64.c \
        lib/parselimit.c lib/planetlab.c lib/getprocentry-legacy.c \
        lib/cflags-compat.c lib/cflags_list-compat.c \
-       lib/createskeleton.c lib/getvserverbyctx.c \
-       lib/getvserverbyctx-compat.hc lib/getvserverbyctx-v13.hc \
-       lib/getvservercfgstyle.c lib/getvserverappdir.c \
-       lib/getvservercfgdir.c lib/getvserverctx.c \
-       lib/getvservername.c lib/getvservervdir.c lib/xidopt2xid.c \
-       lib/syscall_rlimit.c lib/syscall_rlimit-v11.hc \
-       lib/syscall_kill.c lib/syscall_kill-v11.hc \
-       lib/syscall_ctxcreate.c lib/syscall_ctxcreate-v13.hc \
-       lib/syscall_ctxmigrate.c lib/syscall_ctxmigrate-v13.hc \
+       lib/comparevserverbyid.c lib/createskeleton.c \
+       lib/getvserverbyctx.c lib/getvserverbyctx-compat.hc \
+       lib/getvserverbyctx-v13.hc lib/getvservercfgstyle.c \
+       lib/getvserverappdir.c lib/getvservercfgdir.c \
+       lib/getvserverctx.c lib/getvservername.c lib/getvservervdir.c \
+       lib/xidopt2xid.c lib/nidopt2nid.c lib/syscall_rlimit.c \
+       lib/syscall_rlimit-v11.hc lib/syscall_kill.c \
+       lib/syscall_kill-v11.hc lib/syscall_ctxcreate.c \
+       lib/syscall_ctxcreate-v13.hc lib/syscall_ctxmigrate.c \
+       lib/syscall_ctxmigrate-v13.hc \
        lib/syscall_cleanupnamespace-v13.hc \
        lib/syscall_cleanupnamespace.c \
        lib/syscall_enternamespace-v13.hc lib/syscall_enternamespace.c \
@@ -596,24 +641,36 @@ am__lib_libvserver_la_SOURCES_DIST = lib/syscall.c lib/checkversion.c \
        lib/syscall_setnamespace.c lib/syscall_setncaps-net.hc \
        lib/syscall_setncaps.c lib/syscall_setnflags-net.hc \
        lib/syscall_setnflags.c lib/syscall_setsched-v13.hc \
-       lib/syscall_setsched.c lib/syscall_setvhiname-olduts.hc \
-       lib/syscall_setvhiname-v13.hc lib/syscall_setvhiname.c \
-       lib/syscall_waitexit.c lib/syscall_waitexit-v13.hc \
-       lib/bcaps-v13.c lib/bcaps_list-v13.c lib/ccaps-v13.c \
-       lib/ccaps_list-v13.c lib/cflags-v13.c lib/cflags_list-v13.c \
-       lib/ncaps-net.c lib/ncaps_list-net.c lib/nflags-net.c \
-       lib/nflags_list-net.c lib/syscall_adddlimit-v13.hc \
-       lib/syscall_adddlimit.c lib/syscall_getdlimit-v13.hc \
-       lib/syscall_getdlimit.c lib/syscall_remdlimit-v13.hc \
-       lib/syscall_remdlimit.c lib/syscall_setdlimit-v13.hc \
-       lib/syscall_setdlimit.c ensc_fmt/fmt-32.c ensc_fmt/fmt-64.c \
-       ensc_fmt/fmtx-32.c ensc_fmt/fmtx-64.c ensc_fmt/fmt-tai64n.c \
-       ensc_fmt/fmt.h ensc_fmt/fmt.hc ensc_fmt/fmtx.hc \
-       ensc_fmt/fmt-internal.h
-am__objects_17 = lib/lib_libvserver_la-getprocentry-legacy.lo
-am__objects_18 = lib/lib_libvserver_la-cflags-compat.lo \
+       lib/syscall_setsched-v13obs.hc lib/syscall_setsched.c \
+       lib/syscall_setvhiname-olduts.hc lib/syscall_setvhiname-v13.hc \
+       lib/syscall_setvhiname.c lib/syscall_waitexit.c \
+       lib/syscall_waitexit-v13.hc lib/bcaps-v13.c \
+       lib/bcaps_list-v13.c lib/ccaps-v13.c lib/ccaps_list-v13.c \
+       lib/cflags-v13.c lib/cflags_list-v13.c lib/ncaps-net.c \
+       lib/ncaps_list-net.c lib/nflags-net.c lib/nflags_list-net.c \
+       lib/syscall_adddlimit-v13.hc lib/syscall_adddlimit.c \
+       lib/syscall_getdlimit-v13.hc lib/syscall_getdlimit.c \
+       lib/syscall_remdlimit-v13.hc lib/syscall_remdlimit.c \
+       lib/syscall_setdlimit-v13.hc lib/syscall_setdlimit.c \
+       lib/syscall_setccaps-v21.hc lib/syscall_setsched-v21.hc \
+       lib/syscall_rlimitstat.c lib/syscall_rlimitstat-v21.hc \
+       lib/syscall_resetminmax.c lib/syscall_resetminmax-v21.hc \
+       lib/syscall_getvci.c lib/syscall_getvci-v21.hc \
+       lib/syscall_virtstat.c lib/syscall_virtstat-v21.hc \
+       lib/syscall_ctxstat.c lib/syscall_ctxstat-v21.hc \
+       lib/syscall_getspacemask.c lib/syscall_getspacemask-v21.hc \
+       lib/syscall_enternamespace-v21.hc \
+       lib/syscall_setnamespace-v21.hc lib/syscall_ctxmigrate-v21.hc \
+       lib/syscall_setmapping.c lib/syscall_setmapping-v21.hc \
+       lib/syscall_schedinfo.c lib/syscall_schedinfo-v21.hc \
+       ensc_fmt/fmt-32.c ensc_fmt/fmt-64.c ensc_fmt/fmtx-32.c \
+       ensc_fmt/fmtx-64.c ensc_fmt/fmt-tai64n.c ensc_fmt/fmt.h \
+       ensc_fmt/fmt.hc ensc_fmt/fmtx.hc ensc_fmt/fmt-internal.h
+am__objects_18 = lib/lib_libvserver_la-getprocentry-legacy.lo
+am__objects_19 = lib/lib_libvserver_la-cflags-compat.lo \
        lib/lib_libvserver_la-cflags_list-compat.lo
-am__objects_19 = lib/lib_libvserver_la-createskeleton.lo \
+am__objects_20 = lib/lib_libvserver_la-comparevserverbyid.lo \
+       lib/lib_libvserver_la-createskeleton.lo \
        lib/lib_libvserver_la-getvserverbyctx.lo \
        lib/lib_libvserver_la-getvservercfgstyle.lo \
        lib/lib_libvserver_la-getvserverappdir.lo \
@@ -621,14 +678,15 @@ am__objects_19 = lib/lib_libvserver_la-createskeleton.lo \
        lib/lib_libvserver_la-getvserverctx.lo \
        lib/lib_libvserver_la-getvservername.lo \
        lib/lib_libvserver_la-getvservervdir.lo \
-       lib/lib_libvserver_la-xidopt2xid.lo
-am__objects_20 = lib/lib_libvserver_la-syscall_rlimit.lo \
+       lib/lib_libvserver_la-xidopt2xid.lo \
+       lib/lib_libvserver_la-nidopt2nid.lo
+am__objects_21 = lib/lib_libvserver_la-syscall_rlimit.lo \
        lib/lib_libvserver_la-syscall_kill.lo
-@ENSC_HAVE_C99_COMPILER_TRUE@am__objects_21 = lib/lib_libvserver_la-syscall_adddlimit.lo \
+@ENSC_HAVE_C99_COMPILER_TRUE@am__objects_22 = lib/lib_libvserver_la-syscall_adddlimit.lo \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib/lib_libvserver_la-syscall_getdlimit.lo \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib/lib_libvserver_la-syscall_remdlimit.lo \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib/lib_libvserver_la-syscall_setdlimit.lo
-am__objects_22 = lib/lib_libvserver_la-syscall_ctxcreate.lo \
+am__objects_23 = lib/lib_libvserver_la-syscall_ctxcreate.lo \
        lib/lib_libvserver_la-syscall_ctxmigrate.lo \
        lib/lib_libvserver_la-syscall_cleanupnamespace.lo \
        lib/lib_libvserver_la-syscall_enternamespace.lo \
@@ -664,14 +722,23 @@ am__objects_22 = lib/lib_libvserver_la-syscall_ctxcreate.lo \
        lib/lib_libvserver_la-ncaps-net.lo \
        lib/lib_libvserver_la-ncaps_list-net.lo \
        lib/lib_libvserver_la-nflags-net.lo \
-       lib/lib_libvserver_la-nflags_list-net.lo $(am__objects_21)
-am__objects_23 = ensc_fmt/lib_libvserver_la-fmt-32.lo \
+       lib/lib_libvserver_la-nflags_list-net.lo $(am__objects_22)
+am__objects_24 = lib/lib_libvserver_la-syscall_rlimitstat.lo \
+       lib/lib_libvserver_la-syscall_resetminmax.lo \
+       lib/lib_libvserver_la-syscall_getvci.lo \
+       lib/lib_libvserver_la-syscall_virtstat.lo \
+       lib/lib_libvserver_la-syscall_ctxstat.lo \
+       lib/lib_libvserver_la-syscall_getspacemask.lo \
+       lib/lib_libvserver_la-syscall_setmapping.lo \
+       lib/lib_libvserver_la-syscall_schedinfo.lo
+am__objects_25 = ensc_fmt/lib_libvserver_la-fmt-32.lo \
        ensc_fmt/lib_libvserver_la-fmt-64.lo \
        ensc_fmt/lib_libvserver_la-fmtx-32.lo \
        ensc_fmt/lib_libvserver_la-fmtx-64.lo \
        ensc_fmt/lib_libvserver_la-fmt-tai64n.lo
-am__objects_24 = lib/lib_libvserver_la-syscall.lo \
+am__objects_26 = lib/lib_libvserver_la-syscall.lo \
        lib/lib_libvserver_la-checkversion.lo \
+       lib/lib_libvserver_la-checkconfig.lo \
        lib/lib_libvserver_la-isdirectory.lo \
        lib/lib_libvserver_la-isfile.lo \
        lib/lib_libvserver_la-islink.lo \
@@ -695,35 +762,39 @@ am__objects_24 = lib/lib_libvserver_la-syscall.lo \
        lib/lib_libvserver_la-val2text-v2t-uint32.lo \
        lib/lib_libvserver_la-val2text-v2t-uint64.lo \
        lib/lib_libvserver_la-parselimit.lo \
-       lib/lib_libvserver_la-planetlab.lo $(am__objects_17) \
-       $(am__objects_18) $(am__objects_19) $(am__objects_20) \
-       $(am__objects_22) $(am__objects_23)
-am_lib_libvserver_la_OBJECTS = $(am__objects_24)
+       lib/lib_libvserver_la-planetlab.lo $(am__objects_18) \
+       $(am__objects_19) $(am__objects_20) $(am__objects_21) \
+       $(am__objects_23) $(am__objects_24) $(am__objects_25)
+am_lib_libvserver_la_OBJECTS = $(am__objects_26)
 lib_libvserver_la_OBJECTS = $(am_lib_libvserver_la_OBJECTS)
 am__DEPENDENCIES_1 = lib/libvserver.la
 src_rpm_fake_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
 am_src_rpm_fake_la_OBJECTS = src/src_rpm_fake_la-rpm-fake.lo
 src_rpm_fake_la_OBJECTS = $(am_src_rpm_fake_la_OBJECTS)
 am__EXEEXT_1 =
-am__EXEEXT_2 = src/vbuild$(EXEEXT)
-am__EXEEXT_3 = src/testsuite/rpm-fake-test$(EXEEXT)
+@ENSC_HAVE_BEECRYPT_TRUE@@ENSC_HAVE_C99_COMPILER_TRUE@am__EXEEXT_2 = src/testsuite/hashcalc$(EXEEXT) \
+@ENSC_HAVE_BEECRYPT_TRUE@@ENSC_HAVE_C99_COMPILER_TRUE@ src/testsuite/hashcalc-plain$(EXEEXT)
+am__EXEEXT_3 = src/testsuite/rpm-fake-test$(EXEEXT) $(am__EXEEXT_2)
 am__EXEEXT_4 = src/testsuite/vunify-functest$(EXEEXT) \
        src/testsuite/chcontext-test$(EXEEXT) \
        src/testsuite/chbind-test$(EXEEXT)
 @ENSC_HAVE_C99_COMPILER_TRUE@am__EXEEXT_5 = lib_internal/testsuite/filecfg-ml$(EXEEXT) \
 @ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/testsuite/copy$(EXEEXT) \
-@ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/testsuite/sigbus$(EXEEXT)
+@ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/testsuite/isnumber$(EXEEXT) \
+@ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/testsuite/isnumber-gnu$(EXEEXT) \
+@ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/testsuite/sigbus$(EXEEXT) \
+@ENSC_HAVE_C99_COMPILER_TRUE@  lib_internal/testsuite/sigbus-gnu$(EXEEXT)
 legacyPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 am__EXEEXT_6 = tests/getctx$(EXEEXT) tests/getinitpid$(EXEEXT) \
        tests/vserver-info$(EXEEXT)
-am__EXEEXT_7 = src/vunify$(EXEEXT) src/vcopy$(EXEEXT)
+am__EXEEXT_7 = src/vunify$(EXEEXT) src/vcopy$(EXEEXT) \
+       src/vclone$(EXEEXT)
 @ENSC_HAVE_C99_COMPILER_TRUE@am__EXEEXT_8 = $(am__EXEEXT_7)
-@ENSC_HAVE_CXX_COMPILER_TRUE@am__EXEEXT_9 = $(am__EXEEXT_2)
-@ENSC_HAVE_BEECRYPT_TRUE@@ENSC_HAVE_C99_COMPILER_TRUE@am__EXEEXT_10 = src/vhashify$(EXEEXT)
-@ENSC_HAVE_C99_COMPILER_TRUE@am__EXEEXT_11 = vserver-start/vserver.start.bin$(EXEEXT)
+@ENSC_HAVE_BEECRYPT_TRUE@@ENSC_HAVE_C99_COMPILER_TRUE@am__EXEEXT_9 = src/vhashify$(EXEEXT)
+@ENSC_HAVE_C99_COMPILER_TRUE@am__EXEEXT_10 = vserver-start/vserver.start.bin$(EXEEXT)
 pkglibPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-@ENSC_HAVE_CXX_COMPILER_TRUE@am__EXEEXT_12 = $(am__EXEEXT_1)
-@ENSC_HAVE_C99_COMPILER_TRUE@am__EXEEXT_13 = src/vdlimit$(EXEEXT)
+@ENSC_HAVE_CXX_COMPILER_TRUE@am__EXEEXT_11 = $(am__EXEEXT_1)
+@ENSC_HAVE_C99_COMPILER_TRUE@am__EXEEXT_12 = src/vdlimit$(EXEEXT)
 sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(legacy_PROGRAMS) $(noinst_PROGRAMS) $(pkglib_PROGRAMS) \
        $(sbin_PROGRAMS)
@@ -787,41 +858,57 @@ lib_internal_testsuite_filecfg_ml_OBJECTS =  \
        $(am_lib_internal_testsuite_filecfg_ml_OBJECTS)
 lib_internal_testsuite_filecfg_ml_DEPENDENCIES =  \
        $(am__DEPENDENCIES_7)
+am_lib_internal_testsuite_isnumber_OBJECTS =  \
+       lib_internal/testsuite/isnumber.$(OBJEXT)
+lib_internal_testsuite_isnumber_OBJECTS =  \
+       $(am_lib_internal_testsuite_isnumber_OBJECTS)
+@USE_DIETLIBC_FALSE@am__DEPENDENCIES_8 =  \
+@USE_DIETLIBC_FALSE@   lib-dietlibc-not-enabled-error.a
+@USE_DIETLIBC_TRUE@am__DEPENDENCIES_8 =  \
+@USE_DIETLIBC_TRUE@    lib_internal/libinternal-diet.a
+@USE_DIETLIBC_FALSE@am__DEPENDENCIES_9 = $(am__DEPENDENCIES_7)
+@USE_DIETLIBC_TRUE@am__DEPENDENCIES_9 = $(am__DEPENDENCIES_8)
+lib_internal_testsuite_isnumber_DEPENDENCIES = $(am__DEPENDENCIES_9)
+am_lib_internal_testsuite_isnumber_gnu_OBJECTS =  \
+       lib_internal/testsuite/isnumber.$(OBJEXT)
+lib_internal_testsuite_isnumber_gnu_OBJECTS =  \
+       $(am_lib_internal_testsuite_isnumber_gnu_OBJECTS)
+lib_internal_testsuite_isnumber_gnu_DEPENDENCIES =  \
+       $(am__DEPENDENCIES_7)
 am_lib_internal_testsuite_sigbus_OBJECTS =  \
        lib_internal/testsuite/sigbus.$(OBJEXT)
 lib_internal_testsuite_sigbus_OBJECTS =  \
        $(am_lib_internal_testsuite_sigbus_OBJECTS)
 lib_internal_testsuite_sigbus_LDADD = $(LDADD)
+am_lib_internal_testsuite_sigbus_gnu_OBJECTS =  \
+       lib_internal/testsuite/sigbus.$(OBJEXT)
+lib_internal_testsuite_sigbus_gnu_OBJECTS =  \
+       $(am_lib_internal_testsuite_sigbus_gnu_OBJECTS)
+lib_internal_testsuite_sigbus_gnu_LDADD = $(LDADD)
 am_src_capchroot_OBJECTS = src/capchroot.$(OBJEXT)
 src_capchroot_OBJECTS = $(am_src_capchroot_OBJECTS)
-am__DEPENDENCIES_8 =
-am__DEPENDENCIES_9 = $(am__DEPENDENCIES_6) $(am__DEPENDENCIES_8)
-src_capchroot_DEPENDENCIES = $(am__DEPENDENCIES_9)
+am__DEPENDENCIES_10 =
+am__DEPENDENCIES_11 = $(am__DEPENDENCIES_6) $(am__DEPENDENCIES_10)
+src_capchroot_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_chain_echo_OBJECTS = src/chain-echo.$(OBJEXT)
 src_chain_echo_OBJECTS = $(am_src_chain_echo_OBJECTS)
 src_chain_echo_LDADD = $(LDADD)
-am_src_chbind_OBJECTS = src/chbind.$(OBJEXT)
-src_chbind_OBJECTS = $(am_src_chbind_OBJECTS)
-src_chbind_DEPENDENCIES = $(am__DEPENDENCIES_9)
+am_src_chbind_compat_OBJECTS = src/chbind.$(OBJEXT)
+src_chbind_compat_OBJECTS = $(am_src_chbind_compat_OBJECTS)
+src_chbind_compat_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_chcontext_compat_OBJECTS = src/chcontext.$(OBJEXT)
 src_chcontext_compat_OBJECTS = $(am_src_chcontext_compat_OBJECTS)
-@USE_DIETLIBC_FALSE@am__DEPENDENCIES_10 =  \
-@USE_DIETLIBC_FALSE@   lib-dietlibc-not-enabled-error.a
-@USE_DIETLIBC_TRUE@am__DEPENDENCIES_10 =  \
-@USE_DIETLIBC_TRUE@    lib_internal/libinternal-diet.a
-@USE_DIETLIBC_FALSE@am__DEPENDENCIES_11 = $(am__DEPENDENCIES_7)
-@USE_DIETLIBC_TRUE@am__DEPENDENCIES_11 = $(am__DEPENDENCIES_10)
-src_chcontext_compat_DEPENDENCIES = $(am__DEPENDENCIES_9) \
-       $(am__DEPENDENCIES_11)
+src_chcontext_compat_DEPENDENCIES = $(am__DEPENDENCIES_11) \
+       $(am__DEPENDENCIES_9)
 src_check_unixfile_SOURCES = src/check-unixfile.c
 src_check_unixfile_OBJECTS = src/check-unixfile.$(OBJEXT)
 src_check_unixfile_LDADD = $(LDADD)
 am_src_chroot_sh_OBJECTS = src/chroot-sh.$(OBJEXT)
 src_chroot_sh_OBJECTS = $(am_src_chroot_sh_OBJECTS)
-src_chroot_sh_LDADD = $(LDADD)
+src_chroot_sh_DEPENDENCIES = $(am__DEPENDENCIES_9)
 am_src_chxid_OBJECTS = src/fstool.$(OBJEXT) src/chxid.$(OBJEXT)
 src_chxid_OBJECTS = $(am_src_chxid_OBJECTS)
-src_chxid_DEPENDENCIES = $(am__DEPENDENCIES_11) $(am__DEPENDENCIES_9)
+src_chxid_DEPENDENCIES = $(am__DEPENDENCIES_9) $(am__DEPENDENCIES_11)
 am_src_exec_cd_OBJECTS = src/exec-cd.$(OBJEXT)
 src_exec_cd_OBJECTS = $(am_src_exec_cd_OBJECTS)
 src_exec_cd_LDADD = $(LDADD)
@@ -833,13 +920,13 @@ src_fakerunlevel_OBJECTS = $(am_src_fakerunlevel_OBJECTS)
 src_fakerunlevel_LDADD = $(LDADD)
 am_src_filetime_OBJECTS = src/filetime.$(OBJEXT)
 src_filetime_OBJECTS = $(am_src_filetime_OBJECTS)
-src_filetime_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_filetime_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_ifspec_OBJECTS = src/ifspec.$(OBJEXT)
 src_ifspec_OBJECTS = $(am_src_ifspec_OBJECTS)
 src_ifspec_LDADD = $(LDADD)
 am_src_keep_ctx_alive_OBJECTS = src/keep-ctx-alive.$(OBJEXT)
 src_keep_ctx_alive_OBJECTS = $(am_src_keep_ctx_alive_OBJECTS)
-src_keep_ctx_alive_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_keep_ctx_alive_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_listdevip_OBJECTS = src/listdevip.$(OBJEXT)
 src_listdevip_OBJECTS = $(am_src_listdevip_OBJECTS)
 src_listdevip_LDADD = $(LDADD)
@@ -848,11 +935,22 @@ src_lockfile_OBJECTS = $(am_src_lockfile_OBJECTS)
 src_lockfile_LDADD = $(LDADD)
 am_src_lsxid_OBJECTS = src/fstool.$(OBJEXT) src/lsxid.$(OBJEXT)
 src_lsxid_OBJECTS = $(am_src_lsxid_OBJECTS)
-src_lsxid_DEPENDENCIES = $(am__DEPENDENCIES_11) $(am__DEPENDENCIES_9) \
+src_lsxid_DEPENDENCIES = $(am__DEPENDENCIES_9) $(am__DEPENDENCIES_11) \
        $(am__DEPENDENCIES_4)
 am_src_mask2prefix_OBJECTS = src/mask2prefix.$(OBJEXT)
 src_mask2prefix_OBJECTS = $(am_src_mask2prefix_OBJECTS)
 src_mask2prefix_LDADD = $(LDADD)
+am_src_naddress_OBJECTS = src/naddress.$(OBJEXT)
+src_naddress_OBJECTS = $(am_src_naddress_OBJECTS)
+src_naddress_DEPENDENCIES = $(am__DEPENDENCIES_11) \
+       $(am__DEPENDENCIES_9)
+am_src_nattribute_OBJECTS = src/nattribute.$(OBJEXT)
+src_nattribute_OBJECTS = $(am_src_nattribute_OBJECTS)
+src_nattribute_DEPENDENCIES = $(am__DEPENDENCIES_11)
+am_src_ncontext_OBJECTS = src/ncontext.$(OBJEXT)
+src_ncontext_OBJECTS = $(am_src_ncontext_OBJECTS)
+src_ncontext_DEPENDENCIES = $(am__DEPENDENCIES_11) \
+       $(am__DEPENDENCIES_9)
 am_src_parserpmdump_OBJECTS = src/parserpmdump.$(OBJEXT)
 src_parserpmdump_OBJECTS = $(am_src_parserpmdump_OBJECTS)
 src_parserpmdump_LDADD = $(LDADD)
@@ -864,24 +962,24 @@ src_rebootmgr_OBJECTS = $(am_src_rebootmgr_OBJECTS)
 src_rebootmgr_LDADD = $(LDADD)
 am_src_reducecap_OBJECTS = src/reducecap.$(OBJEXT)
 src_reducecap_OBJECTS = $(am_src_reducecap_OBJECTS)
-src_reducecap_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_reducecap_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_rpm_fake_resolver_OBJECTS = src/rpm-fake-resolver.$(OBJEXT)
 src_rpm_fake_resolver_OBJECTS = $(am_src_rpm_fake_resolver_OBJECTS)
-src_rpm_fake_resolver_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_rpm_fake_resolver_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_save_ctxinfo_OBJECTS = src/save_ctxinfo.$(OBJEXT)
 src_save_ctxinfo_OBJECTS = $(am_src_save_ctxinfo_OBJECTS)
-src_save_ctxinfo_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_save_ctxinfo_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_secure_mount_OBJECTS = src/secure-mount.$(OBJEXT)
 src_secure_mount_OBJECTS = $(am_src_secure_mount_OBJECTS)
-src_secure_mount_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_secure_mount_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_setattr_OBJECTS = src/fstool.$(OBJEXT) src/setattr.$(OBJEXT)
 src_setattr_OBJECTS = $(am_src_setattr_OBJECTS)
-src_setattr_DEPENDENCIES = $(am__DEPENDENCIES_11) \
-       $(am__DEPENDENCIES_9)
+src_setattr_DEPENDENCIES = $(am__DEPENDENCIES_9) \
+       $(am__DEPENDENCIES_11)
 am_src_showattr_OBJECTS = src/fstool.$(OBJEXT) src/showattr.$(OBJEXT)
 src_showattr_OBJECTS = $(am_src_showattr_OBJECTS)
-src_showattr_DEPENDENCIES = $(am__DEPENDENCIES_11) \
-       $(am__DEPENDENCIES_9)
+src_showattr_DEPENDENCIES = $(am__DEPENDENCIES_9) \
+       $(am__DEPENDENCIES_11)
 src_showperm_SOURCES = src/showperm.c
 src_showperm_OBJECTS = src/showperm.$(OBJEXT)
 src_showperm_LDADD = $(LDADD)
@@ -898,7 +996,29 @@ am_src_testsuite_chcontext_test_OBJECTS =  \
 src_testsuite_chcontext_test_OBJECTS =  \
        $(am_src_testsuite_chcontext_test_OBJECTS)
 src_testsuite_chcontext_test_DEPENDENCIES = lib/libvserver.la \
-       $(am__DEPENDENCIES_11)
+       $(am__DEPENDENCIES_9)
+am_src_testsuite_hashcalc_OBJECTS = src/testsuite/hashcalc.$(OBJEXT)
+src_testsuite_hashcalc_OBJECTS = $(am_src_testsuite_hashcalc_OBJECTS)
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@src_testsuite_hashcalc_DEPENDENCIES =  \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@        $(am__DEPENDENCIES_7) \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@        $(am__DEPENDENCIES_2) \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@        $(am__DEPENDENCIES_1)
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@src_testsuite_hashcalc_DEPENDENCIES =  \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@ $(am__DEPENDENCIES_9) \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@ $(am__DEPENDENCIES_4) \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@ $(am__DEPENDENCIES_11)
+am_src_testsuite_hashcalc_plain_OBJECTS =  \
+       src/testsuite/hashcalc-plain.$(OBJEXT)
+src_testsuite_hashcalc_plain_OBJECTS =  \
+       $(am_src_testsuite_hashcalc_plain_OBJECTS)
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@src_testsuite_hashcalc_plain_DEPENDENCIES =  \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@        $(am__DEPENDENCIES_7) \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@        $(am__DEPENDENCIES_2) \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@        $(am__DEPENDENCIES_1)
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@src_testsuite_hashcalc_plain_DEPENDENCIES =  \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@ $(am__DEPENDENCIES_9) \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@ $(am__DEPENDENCIES_4) \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@ $(am__DEPENDENCIES_11)
 am_src_testsuite_rpm_fake_test_OBJECTS =  \
        src/testsuite/rpm-fake-test.$(OBJEXT)
 src_testsuite_rpm_fake_test_OBJECTS =  \
@@ -907,27 +1027,30 @@ src_testsuite_rpm_fake_test_LDADD = $(LDADD)
 am_src_testsuite_vunify_functest_OBJECTS = src/testsuite/src_testsuite_vunify_functest-vunify-functest.$(OBJEXT)
 src_testsuite_vunify_functest_OBJECTS =  \
        $(am_src_testsuite_vunify_functest_OBJECTS)
-src_testsuite_vunify_functest_DEPENDENCIES = $(am__DEPENDENCIES_11)
+src_testsuite_vunify_functest_DEPENDENCIES = $(am__DEPENDENCIES_9)
 am_src_vattribute_OBJECTS = src/vattribute.$(OBJEXT)
 src_vattribute_OBJECTS = $(am_src_vattribute_OBJECTS)
-src_vattribute_DEPENDENCIES = $(am__DEPENDENCIES_9)
-am_src_vbuild_OBJECTS = src/vbuild.$(OBJEXT) src/vutil.$(OBJEXT) \
-       src/vserver.$(OBJEXT)
-src_vbuild_OBJECTS = $(am_src_vbuild_OBJECTS)
-src_vbuild_LDADD = $(LDADD)
-am_src_vcontext_OBJECTS = src/vcontext.$(OBJEXT)
+src_vattribute_DEPENDENCIES = $(am__DEPENDENCIES_11)
+am_src_vclone_OBJECTS = src/vclone.$(OBJEXT)
+src_vclone_OBJECTS = $(am_src_vclone_OBJECTS)
+src_vclone_DEPENDENCIES = $(am__DEPENDENCIES_9) $(am__DEPENDENCIES_11)
+am_src_vcontext_OBJECTS = src/vcontext.$(OBJEXT) src/vlogin.$(OBJEXT)
 src_vcontext_OBJECTS = $(am_src_vcontext_OBJECTS)
-src_vcontext_DEPENDENCIES = $(am__DEPENDENCIES_9) \
-       $(am__DEPENDENCIES_11)
+src_vcontext_DEPENDENCIES = $(am__DEPENDENCIES_11) \
+       $(am__DEPENDENCIES_9)
 am_src_vcopy_OBJECTS = src/vcopy.$(OBJEXT)
 src_vcopy_OBJECTS = $(am_src_vcopy_OBJECTS)
-src_vcopy_DEPENDENCIES = $(am__DEPENDENCIES_11) $(am__DEPENDENCIES_9)
+src_vcopy_DEPENDENCIES = $(am__DEPENDENCIES_9) $(am__DEPENDENCIES_11)
+am_src_vdevmap_OBJECTS = src/vdevmap.$(OBJEXT)
+src_vdevmap_OBJECTS = $(am_src_vdevmap_OBJECTS)
+src_vdevmap_DEPENDENCIES = $(am__DEPENDENCIES_11) \
+       $(am__DEPENDENCIES_9)
 am_src_vdlimit_OBJECTS = src/vdlimit.$(OBJEXT)
 src_vdlimit_OBJECTS = $(am_src_vdlimit_OBJECTS)
-src_vdlimit_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_vdlimit_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_vdu_OBJECTS = src/vdu.$(OBJEXT)
 src_vdu_OBJECTS = $(am_src_vdu_OBJECTS)
-src_vdu_LDADD = $(LDADD)
+src_vdu_DEPENDENCIES = $(am__DEPENDENCIES_11) $(am__DEPENDENCIES_9)
 am_src_vhashify_OBJECTS = src/vhashify.$(OBJEXT)
 src_vhashify_OBJECTS = $(am_src_vhashify_OBJECTS)
 @ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@src_vhashify_DEPENDENCIES =  \
@@ -935,22 +1058,22 @@ src_vhashify_OBJECTS = $(am_src_vhashify_OBJECTS)
 @ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@        $(am__DEPENDENCIES_2) \
 @ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@        $(am__DEPENDENCIES_1)
 @ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@src_vhashify_DEPENDENCIES =  \
-@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@ $(am__DEPENDENCIES_11) \
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@ $(am__DEPENDENCIES_9) \
 @ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@ $(am__DEPENDENCIES_4) \
-@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@ $(am__DEPENDENCIES_9)
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@ $(am__DEPENDENCIES_11)
 am_src_vkill_OBJECTS = src/src_vkill-vkill.$(OBJEXT)
 src_vkill_OBJECTS = $(am_src_vkill_OBJECTS)
-src_vkill_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_vkill_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_vlimit_OBJECTS = src/vlimit.$(OBJEXT)
 src_vlimit_OBJECTS = $(am_src_vlimit_OBJECTS)
-src_vlimit_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_vlimit_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_vnamespace_OBJECTS = src/vnamespace.$(OBJEXT)
 src_vnamespace_OBJECTS = $(am_src_vnamespace_OBJECTS)
-src_vnamespace_DEPENDENCIES = $(am__DEPENDENCIES_9) \
-       $(am__DEPENDENCIES_11)
+src_vnamespace_DEPENDENCIES = $(am__DEPENDENCIES_11) \
+       $(am__DEPENDENCIES_9)
 am_src_vps_OBJECTS = src/vps.$(OBJEXT)
 src_vps_OBJECTS = $(am_src_vps_OBJECTS)
-src_vps_DEPENDENCIES = $(am__DEPENDENCIES_11) $(am__DEPENDENCIES_9)
+src_vps_DEPENDENCIES = $(am__DEPENDENCIES_9) $(am__DEPENDENCIES_11)
 am_src_vreboot_OBJECTS = src/vreboot.$(OBJEXT)
 src_vreboot_OBJECTS = $(am_src_vreboot_OBJECTS)
 src_vreboot_LDADD = $(LDADD)
@@ -959,30 +1082,33 @@ src_vrsetup_OBJECTS = src/vrsetup.$(OBJEXT)
 src_vrsetup_LDADD = $(LDADD)
 am_src_vsched_OBJECTS = src/vsched.$(OBJEXT)
 src_vsched_OBJECTS = $(am_src_vsched_OBJECTS)
-src_vsched_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_vsched_DEPENDENCIES = $(am__DEPENDENCIES_11) $(am__DEPENDENCIES_9)
 am_src_vserver_info_OBJECTS = src/vserver-info.$(OBJEXT)
 src_vserver_info_OBJECTS = $(am_src_vserver_info_OBJECTS)
-src_vserver_info_DEPENDENCIES = $(am__DEPENDENCIES_11) \
-       $(am__DEPENDENCIES_9)
+src_vserver_info_DEPENDENCIES = $(am__DEPENDENCIES_9) \
+       $(am__DEPENDENCIES_11)
 am_src_vserver_stat_OBJECTS = src/vserver-stat.$(OBJEXT)
 src_vserver_stat_OBJECTS = $(am_src_vserver_stat_OBJECTS)
-src_vserver_stat_DEPENDENCIES = $(am__DEPENDENCIES_11) \
-       $(am__DEPENDENCIES_9) $(am__DEPENDENCIES_4)
+src_vserver_stat_DEPENDENCIES = $(am__DEPENDENCIES_9) \
+       $(am__DEPENDENCIES_11) $(am__DEPENDENCIES_4)
 am_src_vsh_OBJECTS = src/vsh.$(OBJEXT)
 src_vsh_OBJECTS = $(am_src_vsh_OBJECTS)
-src_vsh_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_vsh_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_vshelper_sync_OBJECTS = src/vshelper-sync.$(OBJEXT)
 src_vshelper_sync_OBJECTS = $(am_src_vshelper_sync_OBJECTS)
 src_vshelper_sync_LDADD = $(LDADD)
+am_src_vsysctl_OBJECTS = src/vsysctl.$(OBJEXT)
+src_vsysctl_OBJECTS = $(am_src_vsysctl_OBJECTS)
+src_vsysctl_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_vuname_OBJECTS = src/vuname.$(OBJEXT)
 src_vuname_OBJECTS = $(am_src_vuname_OBJECTS)
-src_vuname_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_vuname_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_src_vunify_OBJECTS = src/vunify.$(OBJEXT)
 src_vunify_OBJECTS = $(am_src_vunify_OBJECTS)
-src_vunify_DEPENDENCIES = $(am__DEPENDENCIES_11) $(am__DEPENDENCIES_9)
+src_vunify_DEPENDENCIES = $(am__DEPENDENCIES_9) $(am__DEPENDENCIES_11)
 am_src_vwait_OBJECTS = src/vwait.$(OBJEXT)
 src_vwait_OBJECTS = $(am_src_vwait_OBJECTS)
-src_vwait_DEPENDENCIES = $(am__DEPENDENCIES_9)
+src_vwait_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_tests_escaperoot_OBJECTS = tests/escaperoot.$(OBJEXT)
 tests_escaperoot_OBJECTS = $(am_tests_escaperoot_OBJECTS)
 tests_escaperoot_LDADD = $(LDADD)
@@ -991,10 +1117,10 @@ tests_forkbomb_OBJECTS = $(am_tests_forkbomb_OBJECTS)
 tests_forkbomb_LDADD = $(LDADD)
 am_tests_getctx_OBJECTS = tests/getctx.$(OBJEXT)
 tests_getctx_OBJECTS = $(am_tests_getctx_OBJECTS)
-tests_getctx_DEPENDENCIES = $(am__DEPENDENCIES_9)
+tests_getctx_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_tests_getinitpid_OBJECTS = tests/getinitpid.$(OBJEXT)
 tests_getinitpid_OBJECTS = $(am_tests_getinitpid_OBJECTS)
-tests_getinitpid_DEPENDENCIES = $(am__DEPENDENCIES_9)
+tests_getinitpid_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_tests_testipc_OBJECTS = tests/testipc.$(OBJEXT)
 tests_testipc_OBJECTS = $(am_tests_testipc_OBJECTS)
 tests_testipc_LDADD = $(LDADD)
@@ -1006,7 +1132,7 @@ tests_testopenf_OBJECTS = $(am_tests_testopenf_OBJECTS)
 tests_testopenf_LDADD = $(LDADD)
 am_tests_vserver_info_OBJECTS = tests/vserver-info.$(OBJEXT)
 tests_vserver_info_OBJECTS = $(am_tests_vserver_info_OBJECTS)
-tests_vserver_info_DEPENDENCIES = $(am__DEPENDENCIES_9)
+tests_vserver_info_DEPENDENCIES = $(am__DEPENDENCIES_11)
 am_vserver_start_vserver_start_bin_OBJECTS =  \
        vserver-start/main.$(OBJEXT) vserver-start/mount.$(OBJEXT) \
        vserver-start/defaulttty.$(OBJEXT) \
@@ -1021,8 +1147,8 @@ am_vserver_start_vserver_start_bin_OBJECTS =  \
        vserver-start/configuration-init.$(OBJEXT)
 vserver_start_vserver_start_bin_OBJECTS =  \
        $(am_vserver_start_vserver_start_bin_OBJECTS)
-vserver_start_vserver_start_bin_DEPENDENCIES = $(am__DEPENDENCIES_9) \
-       $(am__DEPENDENCIES_11) $(am__DEPENDENCIES_4)
+vserver_start_vserver_start_bin_DEPENDENCIES = $(am__DEPENDENCIES_11) \
+       $(am__DEPENDENCIES_9) $(am__DEPENDENCIES_4)
 initrdSCRIPT_INSTALL = $(INSTALL_SCRIPT)
 legacySCRIPT_INSTALL = $(INSTALL_SCRIPT)
 pkglibSCRIPT_INSTALL = $(INSTALL_SCRIPT)
@@ -1040,14 +1166,6 @@ LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
 CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
-       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-       $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-       $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(nodist_lib_dietlibc_not_enabled_error_a_SOURCES) \
        $(nodist_lib_glibc_not_enabled_error_a_SOURCES) \
        $(lib_libvserver_a_SOURCES) \
@@ -1064,33 +1182,41 @@ SOURCES = $(nodist_lib_dietlibc_not_enabled_error_a_SOURCES) \
        $(lib_internal_testsuite_command_SOURCES) \
        $(lib_internal_testsuite_copy_SOURCES) \
        $(lib_internal_testsuite_filecfg_ml_SOURCES) \
+       $(lib_internal_testsuite_isnumber_SOURCES) \
+       $(lib_internal_testsuite_isnumber_gnu_SOURCES) \
        $(lib_internal_testsuite_sigbus_SOURCES) \
+       $(lib_internal_testsuite_sigbus_gnu_SOURCES) \
        $(src_capchroot_SOURCES) $(src_chain_echo_SOURCES) \
-       $(src_chbind_SOURCES) $(src_chcontext_compat_SOURCES) \
+       $(src_chbind_compat_SOURCES) $(src_chcontext_compat_SOURCES) \
        src/check-unixfile.c $(src_chroot_sh_SOURCES) \
        $(src_chxid_SOURCES) $(src_exec_cd_SOURCES) \
        $(src_exec_ulimit_SOURCES) $(src_fakerunlevel_SOURCES) \
        $(src_filetime_SOURCES) $(src_ifspec_SOURCES) \
        $(src_keep_ctx_alive_SOURCES) $(src_listdevip_SOURCES) \
        $(src_lockfile_SOURCES) $(src_lsxid_SOURCES) \
-       $(src_mask2prefix_SOURCES) $(src_parserpmdump_SOURCES) \
-       $(src_readlink_SOURCES) $(src_rebootmgr_SOURCES) \
-       $(src_reducecap_SOURCES) $(src_rpm_fake_resolver_SOURCES) \
-       $(src_save_ctxinfo_SOURCES) $(src_secure_mount_SOURCES) \
-       $(src_setattr_SOURCES) $(src_showattr_SOURCES) src/showperm.c \
-       src/sigexec.c $(src_testsuite_chbind_test_SOURCES) \
+       $(src_mask2prefix_SOURCES) $(src_naddress_SOURCES) \
+       $(src_nattribute_SOURCES) $(src_ncontext_SOURCES) \
+       $(src_parserpmdump_SOURCES) $(src_readlink_SOURCES) \
+       $(src_rebootmgr_SOURCES) $(src_reducecap_SOURCES) \
+       $(src_rpm_fake_resolver_SOURCES) $(src_save_ctxinfo_SOURCES) \
+       $(src_secure_mount_SOURCES) $(src_setattr_SOURCES) \
+       $(src_showattr_SOURCES) src/showperm.c src/sigexec.c \
+       $(src_testsuite_chbind_test_SOURCES) \
        $(src_testsuite_chcontext_test_SOURCES) \
+       $(src_testsuite_hashcalc_SOURCES) \
+       $(src_testsuite_hashcalc_plain_SOURCES) \
        $(src_testsuite_rpm_fake_test_SOURCES) \
        $(src_testsuite_vunify_functest_SOURCES) \
-       $(src_vattribute_SOURCES) $(src_vbuild_SOURCES) \
+       $(src_vattribute_SOURCES) $(src_vclone_SOURCES) \
        $(src_vcontext_SOURCES) $(src_vcopy_SOURCES) \
-       $(src_vdlimit_SOURCES) $(src_vdu_SOURCES) \
-       $(src_vhashify_SOURCES) $(src_vkill_SOURCES) \
-       $(src_vlimit_SOURCES) $(src_vnamespace_SOURCES) \
-       $(src_vps_SOURCES) $(src_vreboot_SOURCES) src/vrsetup.c \
-       $(src_vsched_SOURCES) $(src_vserver_info_SOURCES) \
-       $(src_vserver_stat_SOURCES) $(src_vsh_SOURCES) \
-       $(src_vshelper_sync_SOURCES) $(src_vuname_SOURCES) \
+       $(src_vdevmap_SOURCES) $(src_vdlimit_SOURCES) \
+       $(src_vdu_SOURCES) $(src_vhashify_SOURCES) \
+       $(src_vkill_SOURCES) $(src_vlimit_SOURCES) \
+       $(src_vnamespace_SOURCES) $(src_vps_SOURCES) \
+       $(src_vreboot_SOURCES) src/vrsetup.c $(src_vsched_SOURCES) \
+       $(src_vserver_info_SOURCES) $(src_vserver_stat_SOURCES) \
+       $(src_vsh_SOURCES) $(src_vshelper_sync_SOURCES) \
+       $(src_vsysctl_SOURCES) $(src_vuname_SOURCES) \
        $(src_vunify_SOURCES) $(src_vwait_SOURCES) \
        $(tests_escaperoot_SOURCES) $(tests_forkbomb_SOURCES) \
        $(tests_getctx_SOURCES) $(tests_getinitpid_SOURCES) \
@@ -1112,33 +1238,41 @@ DIST_SOURCES = $(am__lib_libvserver_a_SOURCES_DIST) \
        $(lib_internal_testsuite_command_SOURCES) \
        $(lib_internal_testsuite_copy_SOURCES) \
        $(lib_internal_testsuite_filecfg_ml_SOURCES) \
+       $(lib_internal_testsuite_isnumber_SOURCES) \
+       $(lib_internal_testsuite_isnumber_gnu_SOURCES) \
        $(lib_internal_testsuite_sigbus_SOURCES) \
+       $(lib_internal_testsuite_sigbus_gnu_SOURCES) \
        $(src_capchroot_SOURCES) $(src_chain_echo_SOURCES) \
-       $(src_chbind_SOURCES) $(src_chcontext_compat_SOURCES) \
+       $(src_chbind_compat_SOURCES) $(src_chcontext_compat_SOURCES) \
        src/check-unixfile.c $(src_chroot_sh_SOURCES) \
        $(src_chxid_SOURCES) $(src_exec_cd_SOURCES) \
        $(src_exec_ulimit_SOURCES) $(src_fakerunlevel_SOURCES) \
        $(src_filetime_SOURCES) $(src_ifspec_SOURCES) \
        $(src_keep_ctx_alive_SOURCES) $(src_listdevip_SOURCES) \
        $(src_lockfile_SOURCES) $(src_lsxid_SOURCES) \
-       $(src_mask2prefix_SOURCES) $(src_parserpmdump_SOURCES) \
-       $(src_readlink_SOURCES) $(src_rebootmgr_SOURCES) \
-       $(src_reducecap_SOURCES) $(src_rpm_fake_resolver_SOURCES) \
-       $(src_save_ctxinfo_SOURCES) $(src_secure_mount_SOURCES) \
-       $(src_setattr_SOURCES) $(src_showattr_SOURCES) src/showperm.c \
-       src/sigexec.c $(src_testsuite_chbind_test_SOURCES) \
+       $(src_mask2prefix_SOURCES) $(src_naddress_SOURCES) \
+       $(src_nattribute_SOURCES) $(src_ncontext_SOURCES) \
+       $(src_parserpmdump_SOURCES) $(src_readlink_SOURCES) \
+       $(src_rebootmgr_SOURCES) $(src_reducecap_SOURCES) \
+       $(src_rpm_fake_resolver_SOURCES) $(src_save_ctxinfo_SOURCES) \
+       $(src_secure_mount_SOURCES) $(src_setattr_SOURCES) \
+       $(src_showattr_SOURCES) src/showperm.c src/sigexec.c \
+       $(src_testsuite_chbind_test_SOURCES) \
        $(src_testsuite_chcontext_test_SOURCES) \
+       $(src_testsuite_hashcalc_SOURCES) \
+       $(src_testsuite_hashcalc_plain_SOURCES) \
        $(src_testsuite_rpm_fake_test_SOURCES) \
        $(src_testsuite_vunify_functest_SOURCES) \
-       $(src_vattribute_SOURCES) $(src_vbuild_SOURCES) \
+       $(src_vattribute_SOURCES) $(src_vclone_SOURCES) \
        $(src_vcontext_SOURCES) $(src_vcopy_SOURCES) \
-       $(src_vdlimit_SOURCES) $(src_vdu_SOURCES) \
-       $(src_vhashify_SOURCES) $(src_vkill_SOURCES) \
-       $(src_vlimit_SOURCES) $(src_vnamespace_SOURCES) \
-       $(src_vps_SOURCES) $(src_vreboot_SOURCES) src/vrsetup.c \
-       $(src_vsched_SOURCES) $(src_vserver_info_SOURCES) \
-       $(src_vserver_stat_SOURCES) $(src_vsh_SOURCES) \
-       $(src_vshelper_sync_SOURCES) $(src_vuname_SOURCES) \
+       $(src_vdevmap_SOURCES) $(src_vdlimit_SOURCES) \
+       $(src_vdu_SOURCES) $(src_vhashify_SOURCES) \
+       $(src_vkill_SOURCES) $(src_vlimit_SOURCES) \
+       $(src_vnamespace_SOURCES) $(src_vps_SOURCES) \
+       $(src_vreboot_SOURCES) src/vrsetup.c $(src_vsched_SOURCES) \
+       $(src_vserver_info_SOURCES) $(src_vserver_stat_SOURCES) \
+       $(src_vsh_SOURCES) $(src_vshelper_sync_SOURCES) \
+       $(src_vsysctl_SOURCES) $(src_vuname_SOURCES) \
        $(src_vunify_SOURCES) $(src_vwait_SOURCES) \
        $(tests_escaperoot_SOURCES) $(tests_forkbomb_SOURCES) \
        $(tests_getctx_SOURCES) $(tests_getinitpid_SOURCES) \
@@ -1183,6 +1317,7 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BZIP2 = @BZIP2@
 CAT = @CAT@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
@@ -1190,10 +1325,9 @@ CFLAGS = @CFLAGS@
 CHOWN = @CHOWN@
 CMP = @CMP@
 CP = @CP@
+CPIO = @CPIO@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
-CVS2CL = @CVS2CL@
-CVS2CL_TAG = @CVS2CL_TAG@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -1230,12 +1364,16 @@ ENV = @ENV@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
+FILE = @FILE@
 GPG_KEY = @GPG_KEY@
 GREP = @GREP@
-HAVE_CVS2CL_FALSE = @HAVE_CVS2CL_FALSE@
-HAVE_CVS2CL_TRUE = @HAVE_CVS2CL_TRUE@
-HAVE_RCS2LOG_FALSE = @HAVE_RCS2LOG_FALSE@
-HAVE_RCS2LOG_TRUE = @HAVE_RCS2LOG_TRUE@
+GZIP = @GZIP@
+HAVE_GENTOO_INIT_FALSE = @HAVE_GENTOO_INIT_FALSE@
+HAVE_GENTOO_INIT_TRUE = @HAVE_GENTOO_INIT_TRUE@
+HAVE_SVN2CL_FALSE = @HAVE_SVN2CL_FALSE@
+HAVE_SVN2CL_TRUE = @HAVE_SVN2CL_TRUE@
+HAVE_SYSV_INIT_FALSE = @HAVE_SYSV_INIT_FALSE@
+HAVE_SYSV_INIT_TRUE = @HAVE_SYSV_INIT_TRUE@
 HAVE_XSLTPROC_FALSE = @HAVE_XSLTPROC_FALSE@
 HAVE_XSLTPROC_TRUE = @HAVE_XSLTPROC_TRUE@
 HAVE_XSLTP_FALSE = @HAVE_XSLTP_FALSE@
@@ -1282,16 +1420,18 @@ PYTHON_PLATFORM = @PYTHON_PLATFORM@
 PYTHON_PREFIX = @PYTHON_PREFIX@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
-RCS2LOG = @RCS2LOG@
 RELEASE_CPPFLAGS = @RELEASE_CPPFLAGS@
+RESTORE = @RESTORE@
 RM = @RM@
 RMDIR = @RMDIR@
 RMMOD = @RMMOD@
+RSYNC = @RSYNC@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SH = @SH@
 SHELL = @SHELL@
 STRIP = @STRIP@
+SVN2CL = @SVN2CL@
 TAC = @TAC@
 TAR = @TAR@
 TOUCH = @TOUCH@
@@ -1339,7 +1479,6 @@ includedir = @includedir@
 infodir = @infodir@
 initrddir = @initrddir@
 install_sh = @install_sh@
-kernelincludedir = @kernelincludedir@
 libdir = @libdir@
 libexecdir = @libexecdir@
 localstatedir = @localstatedir@
@@ -1359,8 +1498,8 @@ target_alias = @target_alias@
 vserverdir = @vserverdir@
 ACLOCAL_AMFLAGS = -I m4
 SUBDIRS = . distrib
-CVS2CL_AMFLAGS = $(CVS2CL_TAG) -U cvsusers.map --show-dead -S --no-wrap
-CVS2CL_ALLFLAGS := $(CVS2CL_AMFLAGS) $(CVS2CL_FLAGS)
+SVN2CL_AMFLAGS = $(SVN2CL_TAG) --authors=svnusers.map
+SVN2CL_ALLFLAGS := $(SVN2CL_AMFLAGS) $(SVN2CL_FLAGS)
 confdir = $(sysconfdir)/vservers
 confdefaultsdir = $(confdir)/.defaults
 sbincfgdir = $(sbindir)
@@ -1368,13 +1507,13 @@ legacydir = $(pkglibdir)/legacy
 include_HEADERS = lib/vserver.h
 noinst_HEADERS = $(ENSC_VECTOR_HDRS) compat.h compat-c99.h \
        lib/syscall-compat.hc lib/syscall-legacy.hc \
-       lib/createskeleton-full.hc lib/createskeleton-short.hc \
-       lib/fmt.h lib/getversion-internal.hc \
-       lib/safechroot-internal.hc lib/ioctl-getext2flags.hc \
-       lib/ioctl-getfilecontext.hc lib/ioctl-setext2flags.hc \
-       lib/ioctl-setfilecontext.hc lib/ioctl-getxflg.hc \
-       lib/ioctl-setxflg.hc lib/ext2fs.h lib/listparser.hc \
-       lib/val2text.hc lib/virtual.h lib/internal.h \
+       lib/syscall-fallback.h lib/createskeleton-full.hc \
+       lib/createskeleton-short.hc lib/fmt.h \
+       lib/getversion-internal.hc lib/safechroot-internal.hc \
+       lib/ioctl-getext2flags.hc lib/ioctl-getfilecontext.hc \
+       lib/ioctl-setext2flags.hc lib/ioctl-setfilecontext.hc \
+       lib/ioctl-getxflg.hc lib/ioctl-setxflg.hc lib/ext2fs.h \
+       lib/listparser.hc lib/val2text.hc lib/virtual.h lib/internal.h \
        lib/syscall-alternative.h lib/syscall-wrap.h \
        lib/utils-legacy.h lib/planetlab.h lib/vserver-internal.h \
        src/capability-compat.h src/util.h src/fstool.h \
@@ -1390,8 +1529,10 @@ noinst_HEADERS = $(ENSC_VECTOR_HDRS) compat.h compat-c99.h \
        ensc_wrappers/wrappers-pivot.hc \
        ensc_wrappers/wrappers-resource.hc \
        ensc_wrappers/wrappers-socket.hc \
+       ensc_wrappers/wrappers-stat.hc \
        ensc_wrappers/wrappers-stdlib.hc \
        ensc_wrappers/wrappers-string.hc \
+       ensc_wrappers/wrappers-termios.hc \
        ensc_wrappers/wrappers-unistd.hc \
        ensc_wrappers/wrappers-vserver.hc \
        ensc_wrappers/wrappers-wait.hc ensc_wrappers/wrappers.h \
@@ -1409,7 +1550,7 @@ noinst_HEADERS = $(ENSC_VECTOR_HDRS) compat.h compat-c99.h \
        lib_internal/util-perror.h lib_internal/util-safechdir.h \
        lib_internal/util-unixsock.h lib_internal/string.hc
 noinst_LIBRARIES = $(ENSC_VECTOR_LIBS) $(LIBINTERNAL_GLIBC) \
-       $(am__append_10)
+       $(am__append_14)
 lib_LIBRARIES = $(am__append_2)
 lib_LTLIBRARIES = $(LIBVSERVER_GLIBC)
 pkglib_LTLIBRARIES = src/rpm-fake.la
@@ -1421,55 +1562,36 @@ legacy_SCRIPTS = $(scripts_legacy_src_SCRPTS) \
 sbin_SCRIPTS = $(scripts_sbin_src_PRGS) $(scripts_sbin_gen_PRGS) \
        $(scripts_legacy_src_PRGS)
 noinst_DATA = $(contrib_gen_DTA)
-initrd_SCRIPTS = $(sysv_src_SCRPTS) $(sysv_gen_SCRPTS)
-sysconf_DATA = $(sysv_conf_DTA)
+initrd_SCRIPTS = $(am__append_11) $(am__append_19)
+sysconf_DATA = $(am__append_10)
 DIETPROGS = $(LIBENSCVECTOR_DIET) lib/lib_libvserver_a-% \
-       lib/testsuite/cflags lib/testsuite/personality \
-       lib/testsuite/fmt src/chcontext-compat src/capchroot \
-       src/chain-echo src/check-unixfile src/chroot-sh src/filetime \
-       src/lockfile src/readlink src/secure-mount src/save_ctxinfo \
-       src/mask2prefix src/chbind src/exec-cd src/fakerunlevel \
+       ensc_fmt/lib_libvserver_a-% lib/testsuite/cflags \
+       lib/testsuite/personality lib/testsuite/fmt \
+       src/chcontext-compat src/capchroot src/chain-echo \
+       src/check-unixfile src/chroot-sh src/filetime src/lockfile \
+       src/readlink src/secure-mount src/save_ctxinfo src/mask2prefix \
+       src/chbind-compat src/exec-cd src/fakerunlevel \
        src/keep-ctx-alive src/exec-ulimit src/vps src/lsxid src/chxid \
        src/reducecap src/showattr src/setattr src/sigexec \
        src/vattribute src/vlimit src/vnamespace src/vunify src/vuname \
        src/rpm-fake-resolver src/vcontext src/vcopy src/vkill \
        src/vsched src/vshelper-sync src/vrsetup src/vserver-stat \
-       src/vserver-info src/vdlimit src/vsh src/vwait $(am__append_3) \
-       $(tests_dietprogs) lib_internal/libinternal-diet.a \
-       $(am__append_13)
-BUILT_SOURCES = pathconfig.h linuxvirtual.h \
+       src/vserver-info src/vdlimit src/vsh src/vdu src/vwait \
+       src/ncontext src/nattribute src/naddress src/vdevmap \
+       src/vsysctl src/vclone $(am__append_3) $(tests_dietprogs) \
+       lib_internal/libinternal-diet.a \
+       lib_internal/testsuite/isnumber lib_internal/testsuite/sigbus \
+       $(am__append_17)
+BUILT_SOURCES = pathconfig.h \
                        .fixups
 
 man_MANS = $(man_pages)
-kernel_HDRS = kernel/context.h \
-                       kernel/context_cmd.h    \
-                       kernel/cvirt.h          \
-                       kernel/cvirt_cmd.h      \
-                       kernel/cvirt_def.h      \
-                       kernel/debug.h          \
-                       kernel/debug_cmd.h      \
-                       kernel/dlimit.h         \
-                       kernel/dlimit_cmd.h     \
-                       kernel/inode.h          \
-                       kernel/inode_cmd.h      \
-                       kernel/legacy.h         \
-                       kernel/limit.h          \
-                       kernel/limit_cmd.h      \
-                       kernel/limit_def.h      \
-                       kernel/namespace.h      \
-                       kernel/namespace_cmd.h  \
-                       kernel/network.h        \
-                       kernel/network_cmd.h    \
-                       kernel/sched.h          \
-                       kernel/sched_cmd.h      \
-                       kernel/sched_def.h      \
-                       kernel/signal_cmd.h     \
-                       kernel/switch.h         \
-                       kernel/xid.h
-
+kernel_HDRS = $(wildcard kernel/*.h)
 EXTRA_DIST = pathconfig.h.pathsubst util-vserver.spec THANKS \
        REQUIREMENTS $(kernel_HDRS) lib/apidoc/list2xxx.syntax \
-       $(src_testsuite_check_src_SCRPTS) $(doc_compatibility_SRCS) \
+       $(src_testsuite_check_src_SCRPTS) src/testsuite/vunify-test.sh \
+       src/testsuite/hashcalc.sh src/testsuite/hashcalc-plain.sh \
+       src/testsuite/vwait-test.sh $(doc_compatibility_SRCS) \
        $(doc_configuration_SRCS) $(doc_old_doc) $(doc_gen_DOCS) \
        $(man_pages) $(scripts_pkglib_src_DTA) \
        $(scripts_pkglib_src_SCRPTS) $(scripts_legacy_src_SCRPTS) \
@@ -1480,9 +1602,10 @@ EXTRA_DIST = pathconfig.h.pathsubst util-vserver.spec THANKS \
        $(sysv_src_SCRPTS) $(sysv_conf_DTA) $(contrib_subst_SRCS) \
        contrib/make-manifest contrib/yum-2.2.1-chroot.patch \
        contrib/yum-2.3.2-chroot.patch contrib/yum-2.3.3-chroot.patch \
-       contrib/yum-2.3.4-chroot.patch \
-       lib_internal/testsuite/copy-check $(addsuffix .pc.subst, \
-       $(PKGCONFIG_FILES))
+       contrib/yum-2.3.4-chroot.patch contrib/yum-2.6.0-chroot.patch \
+       contrib/yum-2.9.6-chroot.patch contrib/yum-3.0.3-chroot.patch \
+       lib_internal/testsuite/copy-check $(gentoo_src_SCRPTS) \
+       $(addsuffix .pc.subst, $(PKGCONFIG_FILES))
 check_SCRIPTS = $(src_testsuite_check_src_SCRPTS) \
        $(src_testsuite_check_gen_SCRPTS)
 TESTS_DEBUG = no
@@ -1491,7 +1614,7 @@ TESTS = lib/testsuite/cflags lib/testsuite/personality \
        $(src_testsuite_check_active_PRGS) \
        $(src_testsuite_check_src_SCRPTS) \
        $(src_testsuite_check_gen_SCRPTS) ensc_vector/testsuite/test1 \
-       ensc_vector/testsuite/test2 $(am__append_12)
+       ensc_vector/testsuite/test2 $(am__append_16)
 TESTS_ENVIRONMENT =  \
        ensc_use_expensive_tests="$(ENSC_USE_EXPENSIVE_TESTS)" \
        ensc_test_debug="$(TESTS_DEBUG)" \
@@ -1503,7 +1626,7 @@ AM_CPPFLAGS = -I $(top_srcdir)/lib -I $(top_srcdir)/ensc_wrappers \
 CLEANFILES = $(BUILT_SOURCES) .*.pathsubst.stamp */.*.pathsubst.stamp \
        */*/.*.pathsubst.stamp pathconfig.h .fixups lib/libvserver.la \
        lib/libvserver.a lib/apidoc/.apidoc doc/*.raw.html* \
-       doc/*.html.tmp $(am__append_6) $(am__append_7) \
+       doc/*.html.tmp $(am__append_8) $(am__append_9) \
        $(scripts_pkglib_gen_DTA) $(scripts_sbin_gen_PRGS) \
        $(scripts_sbincfg_gen_DTA) $(scripts_legacy_gen_SCRPTS) \
        $(sysv_gen_SCRPTS) $(contrib_gen_DTA) libensc_vector-diet.a \
@@ -1512,17 +1635,17 @@ CLEANFILES = $(BUILT_SOURCES) .*.pathsubst.stamp */.*.pathsubst.stamp \
        $(PKGCONFIG_FILES))
 DISTCLEANFILES = FEATURES.txt
 AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = src/parserpmdump src/showperm \
-       src/vbuild src/vcheck src/vreboot src/save_ctxinfo \
-       src/mask2prefix src/ifspec src/rebootmgr src/vdu src/vfiles \
-       scripts/vapt-get-worker scripts/vrpm-worker \
-       scripts/vyum-worker scripts/vrpm-preload \
+       src/vcheck src/vreboot src/save_ctxinfo src/mask2prefix \
+       src/ifspec src/rebootmgr src/vfiles scripts/vapt-get-worker \
+       scripts/vrpm-worker scripts/vyum-worker scripts/vrpm-preload \
        scripts/save_s_context scripts/vservers.grabinfo.sh \
        scripts/vpstree scripts/vserver-wrapper scripts/vsysvwrapper \
        scripts/vtop scripts/legacy/distrib-info scripts/legacy/vps \
        scripts/legacy/save_s_context scripts/legacy/vserver \
        scripts/legacy/rootshell scripts/legacy/vserver-copy \
        scripts/legacy/vserverkillall $(sysv_src_SCRPTS) \
-       $(sysv_gen_SCRPTS) vserver-start/vserver.start.bin
+       $(sysv_gen_SCRPTS) vserver-start/vserver.start.bin \
+       $(gentoo_src_SCRPTS)
 @USE_DIETLIBC_TRUE@DIET_CC := $(DIET) $(DIETFLAGS) $(CC)
 @USE_DIETLIBC_FALSE@VSERVER_LDFLGS := 
 @USE_DIETLIBC_TRUE@VSERVER_LDFLGS := -static
@@ -1535,6 +1658,7 @@ pathsubst_RULES = s!@'PKGLIBDIR'@!$(pkglibdir)!g; \
                        s!@'CONFDIR'@!$(confdir)!g; \
                        s!@'SYSCONFDIR'@!$(sysconfdir)!g; \
                        s!@'PKGSTATEDIR'@!$(pkgstatedir)!g; \
+                       s!@'PKGCACHEDIR'@!$(pkgcachedir)!g; \
                        s!@'PKGSTATEREVDIR'@!$(pkgstaterevdir)!g; \
                        s!@'VSERVERDIR'@!$(vserverdir)!g; \
                        s!@'VSERVERPKGDIR'@!$(vserverpkgdir)!g; \
@@ -1556,6 +1680,7 @@ pathsubst_RULES = s!@'PKGLIBDIR'@!$(pkglibdir)!g; \
                        s!@'ENSC_HAVE_CXX_COMPILER_FALSE'@!\@ENSC_HAVE_CXX_COMPILER_FALSE@ !g; \
                        $(ENSC_PATHPROG_SED)
 
+pkgcachedir = $(localstatedir)/cache/vservers
 pkgstatedir = $(localstatedir)/run/vservers
 pkgstaterevdir = $(confdefaultsdir)/run.rev
 vserverpkgdir = $(vserverdir)/.pkg
@@ -1576,7 +1701,8 @@ lib_compat_SRCS = lib/cflags-compat.c \
                                lib/cflags_list-compat.c
 
 lib_legacy_SRCS = lib/getprocentry-legacy.c
-lib_management_SRCS = lib/createskeleton.c \
+lib_management_SRCS = lib/comparevserverbyid.c \
+                               lib/createskeleton.c \
                                lib/getvserverbyctx.c \
                                lib/getvserverbyctx-compat.hc \
                                lib/getvserverbyctx-v13.hc \
@@ -1586,7 +1712,8 @@ lib_management_SRCS = lib/createskeleton.c \
                                lib/getvserverctx.c \
                                lib/getvservername.c \
                                lib/getvservervdir.c \
-                               lib/xidopt2xid.c
+                               lib/xidopt2xid.c \
+                               lib/nidopt2nid.c
 
 lib_v11_SRCS = lib/syscall_rlimit.c \
                                lib/syscall_rlimit-v11.hc \
@@ -1621,16 +1748,40 @@ lib_v13_SRCS = lib/syscall_ctxcreate.c lib/syscall_ctxcreate-v13.hc \
        lib/syscall_setnamespace.c lib/syscall_setncaps-net.hc \
        lib/syscall_setncaps.c lib/syscall_setnflags-net.hc \
        lib/syscall_setnflags.c lib/syscall_setsched-v13.hc \
-       lib/syscall_setsched.c lib/syscall_setvhiname-olduts.hc \
-       lib/syscall_setvhiname-v13.hc lib/syscall_setvhiname.c \
-       lib/syscall_waitexit.c lib/syscall_waitexit-v13.hc \
-       lib/bcaps-v13.c lib/bcaps_list-v13.c lib/ccaps-v13.c \
-       lib/ccaps_list-v13.c lib/cflags-v13.c lib/cflags_list-v13.c \
-       lib/ncaps-net.c lib/ncaps_list-net.c lib/nflags-net.c \
-       lib/nflags_list-net.c $(am__append_1)
+       lib/syscall_setsched-v13obs.hc lib/syscall_setsched.c \
+       lib/syscall_setvhiname-olduts.hc lib/syscall_setvhiname-v13.hc \
+       lib/syscall_setvhiname.c lib/syscall_waitexit.c \
+       lib/syscall_waitexit-v13.hc lib/bcaps-v13.c \
+       lib/bcaps_list-v13.c lib/ccaps-v13.c lib/ccaps_list-v13.c \
+       lib/cflags-v13.c lib/cflags_list-v13.c lib/ncaps-net.c \
+       lib/ncaps_list-net.c lib/nflags-net.c lib/nflags_list-net.c \
+       $(am__append_1)
+lib_v21_SRCS = lib/syscall_setccaps-v21.hc \
+                               lib/syscall_setsched-v21.hc \
+                               lib/syscall_rlimitstat.c \
+                               lib/syscall_rlimitstat-v21.hc \
+                               lib/syscall_resetminmax.c \
+                               lib/syscall_resetminmax-v21.hc \
+                               lib/syscall_getvci.c \
+                               lib/syscall_getvci-v21.hc \
+                               lib/syscall_virtstat.c \
+                               lib/syscall_virtstat-v21.hc \
+                               lib/syscall_ctxstat.c \
+                               lib/syscall_ctxstat-v21.hc \
+                               lib/syscall_getspacemask.c \
+                               lib/syscall_getspacemask-v21.hc \
+                               lib/syscall_enternamespace-v21.hc \
+                               lib/syscall_setnamespace-v21.hc \
+                               lib/syscall_ctxmigrate-v21.hc \
+                               lib/syscall_setmapping.c \
+                               lib/syscall_setmapping-v21.hc \
+                               lib/syscall_schedinfo.c \
+                               lib/syscall_schedinfo-v21.hc
+
 PKGCONFIG_FILES = lib/util-vserver
 lib_SRCS = lib/syscall.c \
                                lib/checkversion.c \
+                               lib/checkconfig.c \
                                lib/isdirectory.c \
                                lib/isfile.c \
                                lib/islink.c \
@@ -1660,6 +1811,7 @@ lib_SRCS = lib/syscall.c \
                                $(lib_management_SRCS) \
                                $(lib_v11_SRCS) \
                                $(lib_v13_SRCS) \
+                               $(lib_v21_SRCS) \
                                $(ensc_fmt_SRCS)
 
 LIBVSERVER_GLIBC = lib/libvserver.la
@@ -1689,28 +1841,28 @@ lib_testsuite_parselimit_LDADD = $(LIBVSERVER)
 lib_testsuite_parselimit_LDFLAGS = $(VSERVER_LDFLGS)
 lib_testsuite_parselimit_CPPFLAGS = $(AM_CPPFLAGS) -DENSC_TESTSUITE
 src_sbin_CXX_PROGS = 
-src_pkglib_CXX_PROGS = src/vbuild
-src_pkglib_C99_PROGS = src/vunify src/vcopy
+src_pkglib_C99_PROGS = src/vunify src/vcopy src/vclone
 src_capchroot_SOURCES = src/capchroot.c
 src_capchroot_LDADD = $(VSERVER_LDADDS)
 src_capchroot_LDFLAGS = $(VSERVER_LDFLGS)
-src_chbind_SOURCES = src/chbind.c
-src_chbind_LDADD = $(VSERVER_LDADDS)
-src_chbind_LDFLAGS = $(VSERVER_LDFLGS)
+src_chbind_compat_SOURCES = src/chbind.c
+src_chbind_compat_LDADD = $(VSERVER_LDADDS)
+src_chbind_compat_LDFLAGS = $(VSERVER_LDFLGS)
 src_chcontext_compat_SOURCES = src/chcontext.c
 src_chcontext_compat_LDADD = $(VSERVER_LDADDS) $(LIBINTERNAL)
 src_chcontext_compat_LDFLAGS = $(VSERVER_LDFLGS)
-src_vcontext_SOURCES = src/vcontext.c
+src_vcontext_SOURCES = src/vcontext.c src/vlogin.c
 src_vcontext_LDADD = $(VSERVER_LDADDS) $(LIBINTERNAL)
 src_vcontext_LDFLAGS = $(VSERVER_LDFLGS)
 src_vsched_SOURCES = src/vsched.c
-src_vsched_LDADD = $(VSERVER_LDADDS)
+src_vsched_LDADD = $(VSERVER_LDADDS) $(LIBINTERNAL)
 src_vsched_LDFLAGS = $(VSERVER_LDFLGS)
 src_filetime_SOURCES = src/filetime.c
 src_filetime_LDADD = $(VSERVER_LDADDS)
 src_filetime_LDFLAGS = $(VSERVER_LDFLGS)
 src_chain_echo_SOURCES = src/chain-echo.c
 src_chroot_sh_SOURCES = src/chroot-sh.c
+src_chroot_sh_LDADD = $(LIBINTERNAL)
 src_exec_cd_SOURCES = src/exec-cd.c
 src_fakerunlevel_SOURCES = src/fakerunlevel.c
 src_ifspec_SOURCES = src/ifspec.c
@@ -1726,7 +1878,7 @@ src_reducecap_LDADD = $(VSERVER_LDADDS)
 src_reducecap_LDFLAGS = $(VSERVER_LDFLGS)
 src_vkill_SOURCES = src/vkill.c
 src_vkill_LDADD = $(VSERVER_LDADDS)
-src_vkill_LDFLAGS = $(VSERVER_LDFLGS)
+src_vkill_LDFLAGS = $(VSERVER_LDFLGS) $(LIBINTERNAL)
 src_vkill_CPPFLAGS = $(AM_CPPFLAGS) -DLEGACYDIR=\"$(legacydir)\"
 src_vlimit_SOURCES = src/vlimit.c
 src_vlimit_LDADD = $(VSERVER_LDADDS)
@@ -1735,6 +1887,8 @@ src_save_ctxinfo_SOURCES = src/save_ctxinfo.c
 src_save_ctxinfo_LDADD = $(VSERVER_LDADDS)
 src_save_ctxinfo_LDFLAGS = $(VSERVER_LDFLGS)
 src_vdu_SOURCES = src/vdu.c
+src_vdu_LDADD = $(VSERVER_LDADDS) $(LIBINTERNAL)
+src_vdu_LDFLAGS = $(VSERVER_LDFLGS)
 src_vreboot_SOURCES = src/vreboot.c
 src_secure_mount_SOURCES = src/secure-mount.c
 src_secure_mount_LDADD = $(VSERVER_LDADDS)
@@ -1758,7 +1912,6 @@ src_vserver_info_LDFLAGS = $(VSERVER_LDFLGS)
 src_vserver_stat_SOURCES = src/vserver-stat.c
 src_vserver_stat_LDADD = $(LIBINTERNAL) $(VSERVER_LDADDS) $(LIBENSCVECTOR)
 src_vserver_stat_LDFLAGS = $(VSERVER_LDFLGS)
-src_vbuild_SOURCES = src/vbuild.cc src/vutil.cc src/vserver.cc
 src_lsxid_SOURCES = src/fstool.c src/lsxid.c
 src_lsxid_LDADD = $(LIBINTERNAL) $(VSERVER_LDADDS) $(LIBENSCVECTOR)
 src_lsxid_LDFLAGS = $(VSERVER_LDFLGS) 
@@ -1801,6 +1954,24 @@ src_vsh_LDFLAGS = $(VSERVER_LDFLGS)
 src_vwait_SOURCES = src/vwait.c
 src_vwait_LDADD = $(VSERVER_LDADDS)
 src_vwait_LDFLAGS = $(VSERVER_LDFLGS)
+src_ncontext_SOURCES = src/ncontext.c
+src_ncontext_LDADD = $(VSERVER_LDADDS) $(LIBINTERNAL)
+src_ncontext_LDFLAGS = $(VSERVER_LDFLGS)
+src_nattribute_SOURCES = src/nattribute.c
+src_nattribute_LDADD = $(VSERVER_LDADDS)
+src_nattribute_LDFLAGS = $(VSERVER_LDFLGS)
+src_naddress_SOURCES = src/naddress.c
+src_naddress_LDADD = $(VSERVER_LDADDS) $(LIBINTERNAL)
+src_naddress_LDFLAGS = $(VSERVER_LDFLGS)
+src_vdevmap_SOURCES = src/vdevmap.c
+src_vdevmap_LDADD = $(VSERVER_LDADDS) $(LIBINTERNAL)
+src_vdevmap_LDFLAGS = $(VSERVER_LDFLGS)
+src_vsysctl_SOURCES = src/vsysctl.c
+src_vsysctl_LDADD = $(VSERVER_LDADDS)
+src_vsysctl_LDFLAGS = $(VSERVER_LDFLGS)
+src_vclone_SOURCES = src/vclone.c
+src_vclone_LDADD = $(LIBINTERNAL) $(VSERVER_LDADDS)
+src_vclone_LDFLAGS = $(VSERVER_LDLFGS)
 @ENSC_HAVE_C99_COMPILER_FALSE@src_sbin_C99_X_PROGS = 
 @ENSC_HAVE_C99_COMPILER_TRUE@src_sbin_C99_X_PROGS = $(src_sbin_C99_PROGS)
 @ENSC_HAVE_C99_COMPILER_FALSE@src_pkglib_C99_X_PROGS = 
@@ -1813,9 +1984,12 @@ src_testsuite_check_active_PRGS = src/testsuite/vunify-functest \
                                        src/testsuite/chcontext-test \
                                        src/testsuite/chbind-test
 
-src_testsuite_check_passive_PRGS = src/testsuite/rpm-fake-test
+src_testsuite_check_passive_PRGS = src/testsuite/rpm-fake-test \
+       $(am__append_6)
 @ENSC_HAVE_C99_COMPILER_FALSE@src_testsuite_check_src_C99_SCRPTS = 
-@ENSC_HAVE_C99_COMPILER_TRUE@src_testsuite_check_src_C99_SCRPTS = src/testsuite/vunify-test.sh
+@ENSC_HAVE_C99_COMPILER_TRUE@src_testsuite_check_src_C99_SCRPTS =  \
+@ENSC_HAVE_C99_COMPILER_TRUE@  src/testsuite/vunify-test.sh \
+@ENSC_HAVE_C99_COMPILER_TRUE@  $(am__append_7)
 src_testsuite_check_src_SCRPTS = $(src_testsuite_check_src_C99_SCRPTS)
 src_testsuite_check_gen_SCRPTS = 
 src_testsuite_rpm_fake_test_SOURCES = src/testsuite/rpm-fake-test.c
@@ -1826,6 +2000,16 @@ src_testsuite_chcontext_test_SOURCES = src/testsuite/chcontext-test.c
 src_testsuite_chcontext_test_LDADD = lib/libvserver.la $(LIBINTERNAL)
 src_testsuite_chbind_test_SOURCES = src/testsuite/chbind-test.c
 src_testsuite_chbind_test_LDADD = lib/libvserver.la
+src_testsuite_hashcalc_SOURCES = src/testsuite/hashcalc.c
+src_testsuite_hashcalc_plain_SOURCES = src/testsuite/hashcalc-plain.c
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@src_testsuite_hashcalc_LDADD = $(LIBINTERNAL_GLIBC) $(LIBENSCVECTOR_GLIBC) $(LIBVSERVER_GLIBC) -lbeecrypt
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@src_testsuite_hashcalc_LDADD = $(LIBINTERNAL) $(LIBENSCVECTOR) -lbeecrypt $(VSERVER_LDADDS)
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@src_testsuite_hashcalc_LDFLAGS = 
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@src_testsuite_hashcalc_LDFLAGS = $(VSERVER_LDFLGS)
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@src_testsuite_hashcalc_plain_LDADD = $(LIBINTERNAL_GLIBC) $(LIBENSCVECTOR_GLIBC) $(LIBVSERVER_GLIBC) -lbeecrypt
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@src_testsuite_hashcalc_plain_LDADD = $(LIBINTERNAL) $(LIBENSCVECTOR) -lbeecrypt $(VSERVER_LDADDS)
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@src_testsuite_hashcalc_plain_LDFLAGS = 
+@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@src_testsuite_hashcalc_plain_LDFLAGS = $(VSERVER_LDFLGS)
 src_testsuite_CPPFLAGS = -I $(top_srcdir)/src -D ENSC_TESTSUITE
 doc_old_doc = doc/intro.txt
 XSLT_AMFLAGS = --stringparam confdir '$(sysconfdir)/vservers'
@@ -1837,7 +2021,8 @@ doc_configuration_SRCS = doc/configuration.xml \
                                doc/configuration.xsd \
                                doc/configuration.dtd \
                                doc/configuration.css \
-                               doc/configuration-xhtml.xsl
+                               doc/configuration-xhtml.xsl \
+                               doc/configuration-wiki.xsl
 
 doc_compatibility_SRCS = doc/compatibility.xml \
                                doc/compatibility.dtd \
@@ -1856,11 +2041,16 @@ man_pages = man/chbind.8 \
                           man/vtop.8
 
 scripts_pkglib_src_DTA = scripts/functions \
+                               scripts/magic.mime \
                                scripts/vserver-build.apt-rpm \
                                scripts/vserver-build.skeleton \
                                scripts/vserver-build.debootstrap \
+                               scripts/vserver-build.fai \
                                scripts/vserver-build.rpm \
                                scripts/vserver-build.yum \
+                               scripts/vserver-build.template \
+                               scripts/vserver-build.rsync \
+                               scripts/vserver-build.clone \
                                scripts/vserver-build.functions \
                                scripts/vserver-build.functions.apt \
                                scripts/vserver-build.functions.rpm \
@@ -1870,7 +2060,9 @@ scripts_pkglib_src_DTA = scripts/functions \
                                scripts/vserver.functions \
                                scripts/vserver.start \
                                scripts/vserver.stop \
-                               scripts/vserver.suexec
+                               scripts/vserver.suexec \
+                               scripts/vserver.delete \
+                               scripts/vserver-init.functions
 
 scripts_pkglib_gen_DTA = scripts/util-vserver-vars
 scripts_pkglib_src_SCRPTS = scripts/pkgmgmt \
@@ -1895,14 +2087,19 @@ scripts_legacy_src_SCRPTS = scripts/legacy/save_s_context \
 
 scripts_legacy_gen_SCRPTS = scripts/legacy/vps
 scripts_legacy_src_PRGS = scripts/legacy/vserver-copy
-scripts_sbin_src_PRGS = scripts/chcontext \
+scripts_sbin_src_PRGS = scripts/chbind \
+                               scripts/chcontext \
                                scripts/vapt-get \
+                               scripts/vdispatch-conf \
+                               scripts/vemerge \
+                               scripts/vesync \
                                scripts/vpstree \
                                scripts/vrpm \
                                scripts/vserver \
                                scripts/vsomething \
                                scripts/vtop \
                                scripts/vcached \
+                               scripts/vupdateworld \
                                scripts/vuseradd \
                                scripts/vuserdel \
                                scripts/vyum
@@ -1934,7 +2131,8 @@ tests_vserver_info_LDFLAGS = $(VSERVER_LDFLGS)
 sysv_src_SCRPTS = sysv/rebootmgr \
                        sysv/vprocunhide \
                        sysv/vservers-default \
-                       sysv/vservers-legacy
+                       sysv/vservers-legacy \
+                       sysv/util-vserver
 
 sysv_gen_SCRPTS = sysv/v_gated \
                        sysv/v_httpd \
@@ -1985,7 +2183,7 @@ libensc_vector_glibc_a_SOURCES = $(ENSC_VECTOR_SRCS)
 libensc_vector_glibc_a_CPPFLAGS = $(AM_CPPFLAGS)
 libensc_vector_diet_a_SOURCES = $(ENSC_VECTOR_SRCS)
 libensc_vector_diet_a_CPPFLAGS = $(AM_CPPFLAGS)
-ENSC_VECTOR_LIBS = $(am__append_8) $(am__append_9)
+ENSC_VECTOR_LIBS = $(am__append_12) $(am__append_13)
 @ENSC_USE_GLIBC_FALSE@LIBENSCVECTOR_GLIBC = lib-glibc-not-enabled-error.a
 @ENSC_USE_GLIBC_TRUE@LIBENSCVECTOR_GLIBC = libensc_vector-glibc.a
 @ENSC_USE_DIETLIBC_FALSE@LIBENSCVECTOR_DIET = lib-dietlibc-not-enabled-error.a
@@ -2050,7 +2248,9 @@ lib_internal_libinternal_common_SRCS = \
                                lib_internal/unify-isiunlinkable.c \
                                lib_internal/util-canonify.c \
                                lib_internal/util-exitlikeprocess.c \
+                               lib_internal/util-isnumber.hc \
                                lib_internal/util-isnumber.c \
+                               lib_internal/util-isnumberunsigned.c \
                                lib_internal/util-lockfile.c \
                                lib_internal/util-safechdir.c \
                                $(command_SRCS) \
@@ -2072,7 +2272,12 @@ lib_internal_testsuite_filecfg_ml_SOURCES = lib_internal/testsuite/filecfg-ml.c
 lib_internal_testsuite_filecfg_ml_LDADD = $(LIBINTERNAL_GLIBC)
 lib_internal_testsuite_copy_SOURCES = lib_internal/testsuite/copy.c
 lib_internal_testsuite_copy_LDADD = $(LIBINTERNAL_GLIBC)
+lib_internal_testsuite_isnumber_SOURCES = lib_internal/testsuite/isnumber.c
+lib_internal_testsuite_isnumber_LDADD = $(LIBINTERNAL)
+lib_internal_testsuite_isnumber_gnu_SOURCES = lib_internal/testsuite/isnumber.c
+lib_internal_testsuite_isnumber_gnu_LDADD = $(LIBINTERNAL_GLIBC)
 lib_internal_testsuite_sigbus_SOURCES = lib_internal/testsuite/sigbus.c
+lib_internal_testsuite_sigbus_gnu_SOURCES = lib_internal/testsuite/sigbus.c
 vserver_start_vserver_start_bin_SOURCES = \
                                                vserver-start/main.c \
                                                vserver-start/mount.c \
@@ -2101,10 +2306,25 @@ vserver_start_vserver_start_bin_LDADD = $(VSERVER_LDADDS) \
                                                $(LIBENSCVECTOR)
 
 vserver_start_vserver_start_bin_LDFLAGS = $(VSERVER_LDFLGS)
+gentoo_src_SCRPTS = gentoo/vprocunhide \
+                       gentoo/vservers.default \
+                       gentoo/util-vserver
+
 BAD_INC_PATHS = /usr/include|/usr/local/include
 BAD_LIB_PATHS = /usr/lib
 pkgconfdir = $(libdir)/pkgconfig
 pkgconf_DATA = $(addsuffix .pc, $(PKGCONFIG_FILES))
+pkgconf_SUBST = s!@'PACKAGE'@!$(PACKAGE)!g;                                    \
+                       s!@'VERSION'@!$(VERSION)!g;                                     \
+                       s!@'prefix'@!$(prefix)!g;                                       \
+                       s!@'exec_prefix'@!$(exec_prefix)!g;                             \
+                       s!@'libdir'@!$(libdir)!g;                                       \
+                       s!@'includedir'@!$(includedir)!g;                               \
+                       s!@'libflags"@!$${libflags}$(pkgconf_LIBFLAGS)!g;"'             \
+                       s!@'incflags"@!$${incflags}$(pkgconf_INCFLAGS)!g;"'             \
+                       s!@'pkgincflags"@!$${pkgincflags}$(pkgconf_PKGINCFLAGS)!g;"'    \
+                       s!@'pkgincludedir'@!$(pkgincludedir)!g
+
 @ENSC_USE_GLIBC_FALSE@nodist_lib_glibc_not_enabled_error_a_SOURCES = \
 @ENSC_USE_GLIBC_FALSE@                         lib-glibc-not-enabled-error.c
 
@@ -2112,10 +2332,10 @@ all: $(BUILT_SOURCES) config.h
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .c .cc .lo .o .obj
+.SUFFIXES: .c .lo .o .obj
 am--refresh:
        @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/lib/Makefile-files $(srcdir)/lib/apidoc/Makefile-files $(srcdir)/lib/testsuite/Makefile-files $(top_srcdir)/src/Makefile-files $(top_srcdir)/src/testsuite/Makefile-files $(top_srcdir)/doc/Makefile-files $(top_srcdir)/man/Makefile-files $(top_srcdir)/scripts/Makefile-files $(top_srcdir)/tests/Makefile-files $(top_srcdir)/sysv/Makefile-files $(top_srcdir)/contrib/Makefile-files $(top_srcdir)/ensc_vector/Makefile-files $(srcdir)/ensc_vector/testsuite/Makefile-files $(top_srcdir)/ensc_wrappers/Makefile-files $(top_srcdir)/ensc_fmt/Makefile-files $(top_srcdir)/lib_internal/Makefile-files $(top_srcdir)/lib_internal/testsuite/Makefile-files $(top_srcdir)/vserver-start/Makefile-files $(top_srcdir)/m4/gpgsig.am $(top_srcdir)/m4/validate.am $(top_srcdir)/m4/changelog.am $(top_srcdir)/m4/pkgconfig.am $(top_srcdir)/m4/libsel.am $(top_srcdir)/m4/install-notify.am $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/lib/Makefile-files $(srcdir)/lib/apidoc/Makefile-files $(srcdir)/lib/testsuite/Makefile-files $(top_srcdir)/src/Makefile-files $(top_srcdir)/src/testsuite/Makefile-files $(top_srcdir)/doc/Makefile-files $(top_srcdir)/man/Makefile-files $(top_srcdir)/scripts/Makefile-files $(top_srcdir)/tests/Makefile-files $(top_srcdir)/sysv/Makefile-files $(top_srcdir)/contrib/Makefile-files $(top_srcdir)/ensc_vector/Makefile-files $(srcdir)/ensc_vector/testsuite/Makefile-files $(top_srcdir)/ensc_wrappers/Makefile-files $(top_srcdir)/ensc_fmt/Makefile-files $(top_srcdir)/lib_internal/Makefile-files $(top_srcdir)/lib_internal/testsuite/Makefile-files $(top_srcdir)/vserver-start/Makefile-files $(top_srcdir)/gentoo/Makefile-files $(top_srcdir)/m4/gpgsig.am $(top_srcdir)/m4/validate.am $(top_srcdir)/m4/changelog.am $(top_srcdir)/m4/pkgconfig.am $(top_srcdir)/m4/libsel.am $(top_srcdir)/m4/install-notify.am $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -2217,6 +2437,8 @@ lib/lib_libvserver_a-syscall.$(OBJEXT): lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_a-checkversion.$(OBJEXT): lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_a-checkconfig.$(OBJEXT): lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_a-isdirectory.$(OBJEXT): lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_a-isfile.$(OBJEXT): lib/$(am__dirstamp) \
@@ -2271,6 +2493,8 @@ lib/lib_libvserver_a-cflags-compat.$(OBJEXT): lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_a-cflags_list-compat.$(OBJEXT):  \
        lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_a-comparevserverbyid.$(OBJEXT):  \
+       lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_a-createskeleton.$(OBJEXT): lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_a-getvserverbyctx.$(OBJEXT): lib/$(am__dirstamp) \
@@ -2289,6 +2513,8 @@ lib/lib_libvserver_a-getvservervdir.$(OBJEXT): lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_a-xidopt2xid.$(OBJEXT): lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_a-nidopt2nid.$(OBJEXT): lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_a-syscall_rlimit.$(OBJEXT): lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_a-syscall_kill.$(OBJEXT): lib/$(am__dirstamp) \
@@ -2375,6 +2601,22 @@ lib/lib_libvserver_a-syscall_remdlimit.$(OBJEXT): lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_a-syscall_setdlimit.$(OBJEXT): lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_a-syscall_rlimitstat.$(OBJEXT):  \
+       lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_a-syscall_resetminmax.$(OBJEXT):  \
+       lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_a-syscall_getvci.$(OBJEXT): lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_a-syscall_virtstat.$(OBJEXT): lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_a-syscall_ctxstat.$(OBJEXT): lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_a-syscall_getspacemask.$(OBJEXT):  \
+       lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_a-syscall_setmapping.$(OBJEXT):  \
+       lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_a-syscall_schedinfo.$(OBJEXT): lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
 ensc_fmt/$(am__dirstamp):
        @$(mkdir_p) ensc_fmt
        @: > ensc_fmt/$(am__dirstamp)
@@ -2461,6 +2703,9 @@ lib_internal/lib_internal_libinternal_diet_a-util-exitlikeprocess.$(OBJEXT):  \
 lib_internal/lib_internal_libinternal_diet_a-util-isnumber.$(OBJEXT):  \
        lib_internal/$(am__dirstamp) \
        lib_internal/$(DEPDIR)/$(am__dirstamp)
+lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.$(OBJEXT):  \
+       lib_internal/$(am__dirstamp) \
+       lib_internal/$(DEPDIR)/$(am__dirstamp)
 lib_internal/lib_internal_libinternal_diet_a-util-lockfile.$(OBJEXT):  \
        lib_internal/$(am__dirstamp) \
        lib_internal/$(DEPDIR)/$(am__dirstamp)
@@ -2570,6 +2815,9 @@ lib_internal/lib_internal_libinternal_glibc_a-util-exitlikeprocess.$(OBJEXT):  \
 lib_internal/lib_internal_libinternal_glibc_a-util-isnumber.$(OBJEXT):  \
        lib_internal/$(am__dirstamp) \
        lib_internal/$(DEPDIR)/$(am__dirstamp)
+lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.$(OBJEXT):  \
+       lib_internal/$(am__dirstamp) \
+       lib_internal/$(DEPDIR)/$(am__dirstamp)
 lib_internal/lib_internal_libinternal_glibc_a-util-lockfile.$(OBJEXT):  \
        lib_internal/$(am__dirstamp) \
        lib_internal/$(DEPDIR)/$(am__dirstamp)
@@ -2811,6 +3059,8 @@ lib/lib_libvserver_la-syscall.lo: lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_la-checkversion.lo: lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_la-checkconfig.lo: lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_la-isdirectory.lo: lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_la-isfile.lo: lib/$(am__dirstamp) \
@@ -2865,6 +3115,8 @@ lib/lib_libvserver_la-cflags-compat.lo: lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_la-cflags_list-compat.lo: lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_la-comparevserverbyid.lo: lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_la-createskeleton.lo: lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_la-getvserverbyctx.lo: lib/$(am__dirstamp) \
@@ -2883,6 +3135,8 @@ lib/lib_libvserver_la-getvservervdir.lo: lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_la-xidopt2xid.lo: lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_la-nidopt2nid.lo: lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_la-syscall_rlimit.lo: lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_la-syscall_kill.lo: lib/$(am__dirstamp) \
@@ -2969,6 +3223,22 @@ lib/lib_libvserver_la-syscall_remdlimit.lo: lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
 lib/lib_libvserver_la-syscall_setdlimit.lo: lib/$(am__dirstamp) \
        lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_la-syscall_rlimitstat.lo: lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_la-syscall_resetminmax.lo: lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_la-syscall_getvci.lo: lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_la-syscall_virtstat.lo: lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_la-syscall_ctxstat.lo: lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_la-syscall_getspacemask.lo: lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_la-syscall_setmapping.lo: lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
+lib/lib_libvserver_la-syscall_schedinfo.lo: lib/$(am__dirstamp) \
+       lib/$(DEPDIR)/$(am__dirstamp)
 ensc_fmt/lib_libvserver_la-fmt-32.lo: ensc_fmt/$(am__dirstamp) \
        ensc_fmt/$(DEPDIR)/$(am__dirstamp)
 ensc_fmt/lib_libvserver_la-fmt-64.lo: ensc_fmt/$(am__dirstamp) \
@@ -3209,12 +3479,24 @@ lib_internal/testsuite/filecfg-ml.$(OBJEXT):  \
 lib_internal/testsuite/filecfg-ml$(EXEEXT): $(lib_internal_testsuite_filecfg_ml_OBJECTS) $(lib_internal_testsuite_filecfg_ml_DEPENDENCIES) lib_internal/testsuite/$(am__dirstamp)
        @rm -f lib_internal/testsuite/filecfg-ml$(EXEEXT)
        $(LINK) $(lib_internal_testsuite_filecfg_ml_LDFLAGS) $(lib_internal_testsuite_filecfg_ml_OBJECTS) $(lib_internal_testsuite_filecfg_ml_LDADD) $(LIBS)
+lib_internal/testsuite/isnumber.$(OBJEXT):  \
+       lib_internal/testsuite/$(am__dirstamp) \
+       lib_internal/testsuite/$(DEPDIR)/$(am__dirstamp)
+lib_internal/testsuite/isnumber$(EXEEXT): $(lib_internal_testsuite_isnumber_OBJECTS) $(lib_internal_testsuite_isnumber_DEPENDENCIES) lib_internal/testsuite/$(am__dirstamp)
+       @rm -f lib_internal/testsuite/isnumber$(EXEEXT)
+       $(LINK) $(lib_internal_testsuite_isnumber_LDFLAGS) $(lib_internal_testsuite_isnumber_OBJECTS) $(lib_internal_testsuite_isnumber_LDADD) $(LIBS)
+lib_internal/testsuite/isnumber-gnu$(EXEEXT): $(lib_internal_testsuite_isnumber_gnu_OBJECTS) $(lib_internal_testsuite_isnumber_gnu_DEPENDENCIES) lib_internal/testsuite/$(am__dirstamp)
+       @rm -f lib_internal/testsuite/isnumber-gnu$(EXEEXT)
+       $(LINK) $(lib_internal_testsuite_isnumber_gnu_LDFLAGS) $(lib_internal_testsuite_isnumber_gnu_OBJECTS) $(lib_internal_testsuite_isnumber_gnu_LDADD) $(LIBS)
 lib_internal/testsuite/sigbus.$(OBJEXT):  \
        lib_internal/testsuite/$(am__dirstamp) \
        lib_internal/testsuite/$(DEPDIR)/$(am__dirstamp)
 lib_internal/testsuite/sigbus$(EXEEXT): $(lib_internal_testsuite_sigbus_OBJECTS) $(lib_internal_testsuite_sigbus_DEPENDENCIES) lib_internal/testsuite/$(am__dirstamp)
        @rm -f lib_internal/testsuite/sigbus$(EXEEXT)
        $(LINK) $(lib_internal_testsuite_sigbus_LDFLAGS) $(lib_internal_testsuite_sigbus_OBJECTS) $(lib_internal_testsuite_sigbus_LDADD) $(LIBS)
+lib_internal/testsuite/sigbus-gnu$(EXEEXT): $(lib_internal_testsuite_sigbus_gnu_OBJECTS) $(lib_internal_testsuite_sigbus_gnu_DEPENDENCIES) lib_internal/testsuite/$(am__dirstamp)
+       @rm -f lib_internal/testsuite/sigbus-gnu$(EXEEXT)
+       $(LINK) $(lib_internal_testsuite_sigbus_gnu_LDFLAGS) $(lib_internal_testsuite_sigbus_gnu_OBJECTS) $(lib_internal_testsuite_sigbus_gnu_LDADD) $(LIBS)
 src/capchroot.$(OBJEXT): src/$(am__dirstamp) \
        src/$(DEPDIR)/$(am__dirstamp)
 src/capchroot$(EXEEXT): $(src_capchroot_OBJECTS) $(src_capchroot_DEPENDENCIES) src/$(am__dirstamp)
@@ -3227,9 +3509,9 @@ src/chain-echo$(EXEEXT): $(src_chain_echo_OBJECTS) $(src_chain_echo_DEPENDENCIES
        $(LINK) $(src_chain_echo_LDFLAGS) $(src_chain_echo_OBJECTS) $(src_chain_echo_LDADD) $(LIBS)
 src/chbind.$(OBJEXT): src/$(am__dirstamp) \
        src/$(DEPDIR)/$(am__dirstamp)
-src/chbind$(EXEEXT): $(src_chbind_OBJECTS) $(src_chbind_DEPENDENCIES) src/$(am__dirstamp)
-       @rm -f src/chbind$(EXEEXT)
-       $(LINK) $(src_chbind_LDFLAGS) $(src_chbind_OBJECTS) $(src_chbind_LDADD) $(LIBS)
+src/chbind-compat$(EXEEXT): $(src_chbind_compat_OBJECTS) $(src_chbind_compat_DEPENDENCIES) src/$(am__dirstamp)
+       @rm -f src/chbind-compat$(EXEEXT)
+       $(LINK) $(src_chbind_compat_LDFLAGS) $(src_chbind_compat_OBJECTS) $(src_chbind_compat_LDADD) $(LIBS)
 src/chcontext.$(OBJEXT): src/$(am__dirstamp) \
        src/$(DEPDIR)/$(am__dirstamp)
 src/chcontext-compat$(EXEEXT): $(src_chcontext_compat_OBJECTS) $(src_chcontext_compat_DEPENDENCIES) src/$(am__dirstamp)
@@ -3300,6 +3582,21 @@ src/mask2prefix.$(OBJEXT): src/$(am__dirstamp) \
 src/mask2prefix$(EXEEXT): $(src_mask2prefix_OBJECTS) $(src_mask2prefix_DEPENDENCIES) src/$(am__dirstamp)
        @rm -f src/mask2prefix$(EXEEXT)
        $(LINK) $(src_mask2prefix_LDFLAGS) $(src_mask2prefix_OBJECTS) $(src_mask2prefix_LDADD) $(LIBS)
+src/naddress.$(OBJEXT): src/$(am__dirstamp) \
+       src/$(DEPDIR)/$(am__dirstamp)
+src/naddress$(EXEEXT): $(src_naddress_OBJECTS) $(src_naddress_DEPENDENCIES) src/$(am__dirstamp)
+       @rm -f src/naddress$(EXEEXT)
+       $(LINK) $(src_naddress_LDFLAGS) $(src_naddress_OBJECTS) $(src_naddress_LDADD) $(LIBS)
+src/nattribute.$(OBJEXT): src/$(am__dirstamp) \
+       src/$(DEPDIR)/$(am__dirstamp)
+src/nattribute$(EXEEXT): $(src_nattribute_OBJECTS) $(src_nattribute_DEPENDENCIES) src/$(am__dirstamp)
+       @rm -f src/nattribute$(EXEEXT)
+       $(LINK) $(src_nattribute_LDFLAGS) $(src_nattribute_OBJECTS) $(src_nattribute_LDADD) $(LIBS)
+src/ncontext.$(OBJEXT): src/$(am__dirstamp) \
+       src/$(DEPDIR)/$(am__dirstamp)
+src/ncontext$(EXEEXT): $(src_ncontext_OBJECTS) $(src_ncontext_DEPENDENCIES) src/$(am__dirstamp)
+       @rm -f src/ncontext$(EXEEXT)
+       $(LINK) $(src_ncontext_LDFLAGS) $(src_ncontext_OBJECTS) $(src_ncontext_LDADD) $(LIBS)
 src/parserpmdump.$(OBJEXT): src/$(am__dirstamp) \
        src/$(DEPDIR)/$(am__dirstamp)
 src/parserpmdump$(EXEEXT): $(src_parserpmdump_OBJECTS) $(src_parserpmdump_DEPENDENCIES) src/$(am__dirstamp)
@@ -3371,6 +3668,16 @@ src/testsuite/chcontext-test.$(OBJEXT): src/testsuite/$(am__dirstamp) \
 src/testsuite/chcontext-test$(EXEEXT): $(src_testsuite_chcontext_test_OBJECTS) $(src_testsuite_chcontext_test_DEPENDENCIES) src/testsuite/$(am__dirstamp)
        @rm -f src/testsuite/chcontext-test$(EXEEXT)
        $(LINK) $(src_testsuite_chcontext_test_LDFLAGS) $(src_testsuite_chcontext_test_OBJECTS) $(src_testsuite_chcontext_test_LDADD) $(LIBS)
+src/testsuite/hashcalc.$(OBJEXT): src/testsuite/$(am__dirstamp) \
+       src/testsuite/$(DEPDIR)/$(am__dirstamp)
+src/testsuite/hashcalc$(EXEEXT): $(src_testsuite_hashcalc_OBJECTS) $(src_testsuite_hashcalc_DEPENDENCIES) src/testsuite/$(am__dirstamp)
+       @rm -f src/testsuite/hashcalc$(EXEEXT)
+       $(LINK) $(src_testsuite_hashcalc_LDFLAGS) $(src_testsuite_hashcalc_OBJECTS) $(src_testsuite_hashcalc_LDADD) $(LIBS)
+src/testsuite/hashcalc-plain.$(OBJEXT): src/testsuite/$(am__dirstamp) \
+       src/testsuite/$(DEPDIR)/$(am__dirstamp)
+src/testsuite/hashcalc-plain$(EXEEXT): $(src_testsuite_hashcalc_plain_OBJECTS) $(src_testsuite_hashcalc_plain_DEPENDENCIES) src/testsuite/$(am__dirstamp)
+       @rm -f src/testsuite/hashcalc-plain$(EXEEXT)
+       $(LINK) $(src_testsuite_hashcalc_plain_LDFLAGS) $(src_testsuite_hashcalc_plain_OBJECTS) $(src_testsuite_hashcalc_plain_LDADD) $(LIBS)
 src/testsuite/rpm-fake-test.$(OBJEXT): src/testsuite/$(am__dirstamp) \
        src/testsuite/$(DEPDIR)/$(am__dirstamp)
 src/testsuite/rpm-fake-test$(EXEEXT): $(src_testsuite_rpm_fake_test_OBJECTS) $(src_testsuite_rpm_fake_test_DEPENDENCIES) src/testsuite/$(am__dirstamp)
@@ -3387,16 +3694,15 @@ src/vattribute.$(OBJEXT): src/$(am__dirstamp) \
 src/vattribute$(EXEEXT): $(src_vattribute_OBJECTS) $(src_vattribute_DEPENDENCIES) src/$(am__dirstamp)
        @rm -f src/vattribute$(EXEEXT)
        $(LINK) $(src_vattribute_LDFLAGS) $(src_vattribute_OBJECTS) $(src_vattribute_LDADD) $(LIBS)
-src/vbuild.$(OBJEXT): src/$(am__dirstamp) \
+src/vclone.$(OBJEXT): src/$(am__dirstamp) \
        src/$(DEPDIR)/$(am__dirstamp)
-src/vutil.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/vserver.$(OBJEXT): src/$(am__dirstamp) \
-       src/$(DEPDIR)/$(am__dirstamp)
-src/vbuild$(EXEEXT): $(src_vbuild_OBJECTS) $(src_vbuild_DEPENDENCIES) src/$(am__dirstamp)
-       @rm -f src/vbuild$(EXEEXT)
-       $(CXXLINK) $(src_vbuild_LDFLAGS) $(src_vbuild_OBJECTS) $(src_vbuild_LDADD) $(LIBS)
+src/vclone$(EXEEXT): $(src_vclone_OBJECTS) $(src_vclone_DEPENDENCIES) src/$(am__dirstamp)
+       @rm -f src/vclone$(EXEEXT)
+       $(LINK) $(src_vclone_LDFLAGS) $(src_vclone_OBJECTS) $(src_vclone_LDADD) $(LIBS)
 src/vcontext.$(OBJEXT): src/$(am__dirstamp) \
        src/$(DEPDIR)/$(am__dirstamp)
+src/vlogin.$(OBJEXT): src/$(am__dirstamp) \
+       src/$(DEPDIR)/$(am__dirstamp)
 src/vcontext$(EXEEXT): $(src_vcontext_OBJECTS) $(src_vcontext_DEPENDENCIES) src/$(am__dirstamp)
        @rm -f src/vcontext$(EXEEXT)
        $(LINK) $(src_vcontext_LDFLAGS) $(src_vcontext_OBJECTS) $(src_vcontext_LDADD) $(LIBS)
@@ -3404,6 +3710,11 @@ src/vcopy.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
 src/vcopy$(EXEEXT): $(src_vcopy_OBJECTS) $(src_vcopy_DEPENDENCIES) src/$(am__dirstamp)
        @rm -f src/vcopy$(EXEEXT)
        $(LINK) $(src_vcopy_LDFLAGS) $(src_vcopy_OBJECTS) $(src_vcopy_LDADD) $(LIBS)
+src/vdevmap.$(OBJEXT): src/$(am__dirstamp) \
+       src/$(DEPDIR)/$(am__dirstamp)
+src/vdevmap$(EXEEXT): $(src_vdevmap_OBJECTS) $(src_vdevmap_DEPENDENCIES) src/$(am__dirstamp)
+       @rm -f src/vdevmap$(EXEEXT)
+       $(LINK) $(src_vdevmap_LDFLAGS) $(src_vdevmap_OBJECTS) $(src_vdevmap_LDADD) $(LIBS)
 src/vdlimit.$(OBJEXT): src/$(am__dirstamp) \
        src/$(DEPDIR)/$(am__dirstamp)
 src/vdlimit$(EXEEXT): $(src_vdlimit_OBJECTS) $(src_vdlimit_DEPENDENCIES) src/$(am__dirstamp)
@@ -3471,6 +3782,11 @@ src/vshelper-sync.$(OBJEXT): src/$(am__dirstamp) \
 src/vshelper-sync$(EXEEXT): $(src_vshelper_sync_OBJECTS) $(src_vshelper_sync_DEPENDENCIES) src/$(am__dirstamp)
        @rm -f src/vshelper-sync$(EXEEXT)
        $(LINK) $(src_vshelper_sync_LDFLAGS) $(src_vshelper_sync_OBJECTS) $(src_vshelper_sync_LDADD) $(LIBS)
+src/vsysctl.$(OBJEXT): src/$(am__dirstamp) \
+       src/$(DEPDIR)/$(am__dirstamp)
+src/vsysctl$(EXEEXT): $(src_vsysctl_OBJECTS) $(src_vsysctl_DEPENDENCIES) src/$(am__dirstamp)
+       @rm -f src/vsysctl$(EXEEXT)
+       $(LINK) $(src_vsysctl_LDFLAGS) $(src_vsysctl_OBJECTS) $(src_vsysctl_LDADD) $(LIBS)
 src/vuname.$(OBJEXT): src/$(am__dirstamp) \
        src/$(DEPDIR)/$(am__dirstamp)
 src/vuname$(EXEEXT): $(src_vuname_OBJECTS) $(src_vuname_DEPENDENCIES) src/$(am__dirstamp)
@@ -3774,7 +4090,9 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_a-cflags-v13.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-cflags_list-compat.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-cflags_list-v13.$(OBJEXT)
+       -rm -f lib/lib_libvserver_a-checkconfig.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-checkversion.$(OBJEXT)
+       -rm -f lib/lib_libvserver_a-comparevserverbyid.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-createskeleton.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-getfilecontext.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-getinsecurebcaps.$(OBJEXT)
@@ -3801,6 +4119,7 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_a-ncaps_list-net.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-nflags-net.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-nflags_list-net.$(OBJEXT)
+       -rm -f lib/lib_libvserver_a-nidopt2nid.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-parselimit.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-personalityflag.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-personalityflag_list.$(OBJEXT)
@@ -3812,6 +4131,7 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_a-syscall_cleanupnamespace.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_ctxcreate.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_ctxmigrate.$(OBJEXT)
+       -rm -f lib/lib_libvserver_a-syscall_ctxstat.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_enternamespace.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_getccaps.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_getcflags.$(OBJEXT)
@@ -3820,8 +4140,10 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_a-syscall_getncaps.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_getnflags.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_getnxinfo.$(OBJEXT)
+       -rm -f lib/lib_libvserver_a-syscall_getspacemask.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_gettasknid.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_gettaskxid.$(OBJEXT)
+       -rm -f lib/lib_libvserver_a-syscall_getvci.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_getvhiname.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_getvxinfo.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_kill.$(OBJEXT)
@@ -3830,16 +4152,21 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_a-syscall_netmigrate.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_netremove.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_remdlimit.$(OBJEXT)
+       -rm -f lib/lib_libvserver_a-syscall_resetminmax.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_rlimit.$(OBJEXT)
+       -rm -f lib/lib_libvserver_a-syscall_rlimitstat.$(OBJEXT)
+       -rm -f lib/lib_libvserver_a-syscall_schedinfo.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_setccaps.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_setcflags.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_setdlimit.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_setiattr.$(OBJEXT)
+       -rm -f lib/lib_libvserver_a-syscall_setmapping.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_setnamespace.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_setncaps.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_setnflags.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_setsched.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_setvhiname.$(OBJEXT)
+       -rm -f lib/lib_libvserver_a-syscall_virtstat.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-syscall_waitexit.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-val2text-t2v-uint32.$(OBJEXT)
        -rm -f lib/lib_libvserver_a-val2text-t2v-uint64.$(OBJEXT)
@@ -3864,8 +4191,12 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_la-cflags_list-compat.lo
        -rm -f lib/lib_libvserver_la-cflags_list-v13.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-cflags_list-v13.lo
+       -rm -f lib/lib_libvserver_la-checkconfig.$(OBJEXT)
+       -rm -f lib/lib_libvserver_la-checkconfig.lo
        -rm -f lib/lib_libvserver_la-checkversion.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-checkversion.lo
+       -rm -f lib/lib_libvserver_la-comparevserverbyid.$(OBJEXT)
+       -rm -f lib/lib_libvserver_la-comparevserverbyid.lo
        -rm -f lib/lib_libvserver_la-createskeleton.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-createskeleton.lo
        -rm -f lib/lib_libvserver_la-getfilecontext.$(OBJEXT)
@@ -3918,6 +4249,8 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_la-nflags-net.lo
        -rm -f lib/lib_libvserver_la-nflags_list-net.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-nflags_list-net.lo
+       -rm -f lib/lib_libvserver_la-nidopt2nid.$(OBJEXT)
+       -rm -f lib/lib_libvserver_la-nidopt2nid.lo
        -rm -f lib/lib_libvserver_la-parselimit.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-parselimit.lo
        -rm -f lib/lib_libvserver_la-personalityflag.$(OBJEXT)
@@ -3940,6 +4273,8 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_la-syscall_ctxcreate.lo
        -rm -f lib/lib_libvserver_la-syscall_ctxmigrate.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_ctxmigrate.lo
+       -rm -f lib/lib_libvserver_la-syscall_ctxstat.$(OBJEXT)
+       -rm -f lib/lib_libvserver_la-syscall_ctxstat.lo
        -rm -f lib/lib_libvserver_la-syscall_enternamespace.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_enternamespace.lo
        -rm -f lib/lib_libvserver_la-syscall_getccaps.$(OBJEXT)
@@ -3956,10 +4291,14 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_la-syscall_getnflags.lo
        -rm -f lib/lib_libvserver_la-syscall_getnxinfo.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_getnxinfo.lo
+       -rm -f lib/lib_libvserver_la-syscall_getspacemask.$(OBJEXT)
+       -rm -f lib/lib_libvserver_la-syscall_getspacemask.lo
        -rm -f lib/lib_libvserver_la-syscall_gettasknid.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_gettasknid.lo
        -rm -f lib/lib_libvserver_la-syscall_gettaskxid.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_gettaskxid.lo
+       -rm -f lib/lib_libvserver_la-syscall_getvci.$(OBJEXT)
+       -rm -f lib/lib_libvserver_la-syscall_getvci.lo
        -rm -f lib/lib_libvserver_la-syscall_getvhiname.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_getvhiname.lo
        -rm -f lib/lib_libvserver_la-syscall_getvxinfo.$(OBJEXT)
@@ -3976,8 +4315,14 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_la-syscall_netremove.lo
        -rm -f lib/lib_libvserver_la-syscall_remdlimit.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_remdlimit.lo
+       -rm -f lib/lib_libvserver_la-syscall_resetminmax.$(OBJEXT)
+       -rm -f lib/lib_libvserver_la-syscall_resetminmax.lo
        -rm -f lib/lib_libvserver_la-syscall_rlimit.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_rlimit.lo
+       -rm -f lib/lib_libvserver_la-syscall_rlimitstat.$(OBJEXT)
+       -rm -f lib/lib_libvserver_la-syscall_rlimitstat.lo
+       -rm -f lib/lib_libvserver_la-syscall_schedinfo.$(OBJEXT)
+       -rm -f lib/lib_libvserver_la-syscall_schedinfo.lo
        -rm -f lib/lib_libvserver_la-syscall_setccaps.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_setccaps.lo
        -rm -f lib/lib_libvserver_la-syscall_setcflags.$(OBJEXT)
@@ -3986,6 +4331,8 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_la-syscall_setdlimit.lo
        -rm -f lib/lib_libvserver_la-syscall_setiattr.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_setiattr.lo
+       -rm -f lib/lib_libvserver_la-syscall_setmapping.$(OBJEXT)
+       -rm -f lib/lib_libvserver_la-syscall_setmapping.lo
        -rm -f lib/lib_libvserver_la-syscall_setnamespace.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_setnamespace.lo
        -rm -f lib/lib_libvserver_la-syscall_setncaps.$(OBJEXT)
@@ -3996,6 +4343,8 @@ mostlyclean-compile:
        -rm -f lib/lib_libvserver_la-syscall_setsched.lo
        -rm -f lib/lib_libvserver_la-syscall_setvhiname.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_setvhiname.lo
+       -rm -f lib/lib_libvserver_la-syscall_virtstat.$(OBJEXT)
+       -rm -f lib/lib_libvserver_la-syscall_virtstat.lo
        -rm -f lib/lib_libvserver_la-syscall_waitexit.$(OBJEXT)
        -rm -f lib/lib_libvserver_la-syscall_waitexit.lo
        -rm -f lib/lib_libvserver_la-val2text-t2v-uint32.$(OBJEXT)
@@ -4045,6 +4394,7 @@ mostlyclean-compile:
        -rm -f lib_internal/lib_internal_libinternal_diet_a-util-canonify.$(OBJEXT)
        -rm -f lib_internal/lib_internal_libinternal_diet_a-util-exitlikeprocess.$(OBJEXT)
        -rm -f lib_internal/lib_internal_libinternal_diet_a-util-isnumber.$(OBJEXT)
+       -rm -f lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.$(OBJEXT)
        -rm -f lib_internal/lib_internal_libinternal_diet_a-util-lockfile.$(OBJEXT)
        -rm -f lib_internal/lib_internal_libinternal_diet_a-util-safechdir.$(OBJEXT)
        -rm -f lib_internal/lib_internal_libinternal_glibc_a-command-appendparameter.$(OBJEXT)
@@ -4080,11 +4430,13 @@ mostlyclean-compile:
        -rm -f lib_internal/lib_internal_libinternal_glibc_a-util-canonify.$(OBJEXT)
        -rm -f lib_internal/lib_internal_libinternal_glibc_a-util-exitlikeprocess.$(OBJEXT)
        -rm -f lib_internal/lib_internal_libinternal_glibc_a-util-isnumber.$(OBJEXT)
+       -rm -f lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.$(OBJEXT)
        -rm -f lib_internal/lib_internal_libinternal_glibc_a-util-lockfile.$(OBJEXT)
        -rm -f lib_internal/lib_internal_libinternal_glibc_a-util-safechdir.$(OBJEXT)
        -rm -f lib_internal/testsuite/command.$(OBJEXT)
        -rm -f lib_internal/testsuite/copy.$(OBJEXT)
        -rm -f lib_internal/testsuite/filecfg-ml.$(OBJEXT)
+       -rm -f lib_internal/testsuite/isnumber.$(OBJEXT)
        -rm -f lib_internal/testsuite/sigbus.$(OBJEXT)
        -rm -f src/capchroot.$(OBJEXT)
        -rm -f src/chain-echo.$(OBJEXT)
@@ -4104,6 +4456,9 @@ mostlyclean-compile:
        -rm -f src/lockfile.$(OBJEXT)
        -rm -f src/lsxid.$(OBJEXT)
        -rm -f src/mask2prefix.$(OBJEXT)
+       -rm -f src/naddress.$(OBJEXT)
+       -rm -f src/nattribute.$(OBJEXT)
+       -rm -f src/ncontext.$(OBJEXT)
        -rm -f src/parserpmdump.$(OBJEXT)
        -rm -f src/readlink.$(OBJEXT)
        -rm -f src/rebootmgr.$(OBJEXT)
@@ -4120,16 +4475,20 @@ mostlyclean-compile:
        -rm -f src/src_vkill-vkill.$(OBJEXT)
        -rm -f src/testsuite/chbind-test.$(OBJEXT)
        -rm -f src/testsuite/chcontext-test.$(OBJEXT)
+       -rm -f src/testsuite/hashcalc-plain.$(OBJEXT)
+       -rm -f src/testsuite/hashcalc.$(OBJEXT)
        -rm -f src/testsuite/rpm-fake-test.$(OBJEXT)
        -rm -f src/testsuite/src_testsuite_vunify_functest-vunify-functest.$(OBJEXT)
        -rm -f src/vattribute.$(OBJEXT)
-       -rm -f src/vbuild.$(OBJEXT)
+       -rm -f src/vclone.$(OBJEXT)
        -rm -f src/vcontext.$(OBJEXT)
        -rm -f src/vcopy.$(OBJEXT)
+       -rm -f src/vdevmap.$(OBJEXT)
        -rm -f src/vdlimit.$(OBJEXT)
        -rm -f src/vdu.$(OBJEXT)
        -rm -f src/vhashify.$(OBJEXT)
        -rm -f src/vlimit.$(OBJEXT)
+       -rm -f src/vlogin.$(OBJEXT)
        -rm -f src/vnamespace.$(OBJEXT)
        -rm -f src/vps.$(OBJEXT)
        -rm -f src/vreboot.$(OBJEXT)
@@ -4137,12 +4496,11 @@ mostlyclean-compile:
        -rm -f src/vsched.$(OBJEXT)
        -rm -f src/vserver-info.$(OBJEXT)
        -rm -f src/vserver-stat.$(OBJEXT)
-       -rm -f src/vserver.$(OBJEXT)
        -rm -f src/vsh.$(OBJEXT)
        -rm -f src/vshelper-sync.$(OBJEXT)
+       -rm -f src/vsysctl.$(OBJEXT)
        -rm -f src/vuname.$(OBJEXT)
        -rm -f src/vunify.$(OBJEXT)
-       -rm -f src/vutil.$(OBJEXT)
        -rm -f src/vwait.$(OBJEXT)
        -rm -f tests/escaperoot.$(OBJEXT)
        -rm -f tests/forkbomb.$(OBJEXT)
@@ -4232,7 +4590,9 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-cflags-v13.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-cflags_list-compat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-cflags_list-v13.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-checkconfig.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-checkversion.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-comparevserverbyid.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-createskeleton.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-getfilecontext.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-getinsecurebcaps.Po@am__quote@
@@ -4259,6 +4619,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-ncaps_list-net.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-nflags-net.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-nflags_list-net.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-nidopt2nid.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-parselimit.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-personalityflag.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-personalityflag_list.Po@am__quote@
@@ -4270,6 +4631,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_cleanupnamespace.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_ctxcreate.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_ctxmigrate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_ctxstat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_enternamespace.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_getccaps.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_getcflags.Po@am__quote@
@@ -4278,8 +4640,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_getncaps.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_getnflags.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_getnxinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_getspacemask.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_gettasknid.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_gettaskxid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_getvci.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_getvhiname.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_getvxinfo.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_kill.Po@am__quote@
@@ -4288,16 +4652,21 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_netmigrate.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_netremove.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_remdlimit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_resetminmax.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimitstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_schedinfo.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_setccaps.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_setcflags.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_setdlimit.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_setiattr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_setmapping.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_setnamespace.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_setncaps.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_setnflags.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_setsched.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_setvhiname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_virtstat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-syscall_waitexit.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-val2text-t2v-uint32.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_a-val2text-t2v-uint64.Po@am__quote@
@@ -4313,7 +4682,9 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-cflags-v13.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-cflags_list-compat.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-cflags_list-v13.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-checkconfig.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-checkversion.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-comparevserverbyid.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-createskeleton.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-getfilecontext.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-getinsecurebcaps.Plo@am__quote@
@@ -4340,6 +4711,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-ncaps_list-net.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-nflags-net.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-nflags_list-net.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-nidopt2nid.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-parselimit.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-personalityflag.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-personalityflag_list.Plo@am__quote@
@@ -4351,6 +4723,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_cleanupnamespace.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_ctxcreate.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_ctxmigrate.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_ctxstat.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_enternamespace.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_getccaps.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_getcflags.Plo@am__quote@
@@ -4359,8 +4732,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_getncaps.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_getnflags.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_getnxinfo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_getspacemask.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_gettasknid.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_gettaskxid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_getvci.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_getvhiname.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_getvxinfo.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_kill.Plo@am__quote@
@@ -4369,16 +4744,21 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_netmigrate.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_netremove.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_remdlimit.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_resetminmax.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_rlimit.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_rlimitstat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_schedinfo.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_setccaps.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_setcflags.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_setdlimit.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_setiattr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_setmapping.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_setnamespace.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_setncaps.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_setnflags.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_setsched.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_setvhiname.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_virtstat.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-syscall_waitexit.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-val2text-t2v-uint32.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lib_libvserver_la-val2text-t2v-uint64.Plo@am__quote@
@@ -4422,6 +4802,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-canonify.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-exitlikeprocess.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-isnumber.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-isnumberunsigned.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-lockfile.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-safechdir.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-command-appendparameter.Po@am__quote@
@@ -4457,11 +4838,13 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-canonify.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-exitlikeprocess.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-isnumber.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-isnumberunsigned.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-lockfile.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-safechdir.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/testsuite/$(DEPDIR)/command.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/testsuite/$(DEPDIR)/copy.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/testsuite/$(DEPDIR)/filecfg-ml.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lib_internal/testsuite/$(DEPDIR)/isnumber.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@lib_internal/testsuite/$(DEPDIR)/sigbus.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/capchroot.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/chain-echo.Po@am__quote@
@@ -4481,6 +4864,9 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/lockfile.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/lsxid.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/mask2prefix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/naddress.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/nattribute.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ncontext.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/parserpmdump.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/readlink.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/rebootmgr.Po@am__quote@
@@ -4495,13 +4881,15 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_rpm_fake_la-rpm-fake.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_vkill-vkill.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vattribute.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vbuild.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vclone.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vcontext.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vcopy.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vdevmap.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vdlimit.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vdu.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vhashify.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vlimit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vlogin.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vnamespace.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vps.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vreboot.Po@am__quote@
@@ -4509,15 +4897,16 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vsched.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vserver-info.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vserver-stat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vserver.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vsh.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vshelper-sync.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vsysctl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vuname.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vunify.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vutil.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vwait.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/testsuite/$(DEPDIR)/chbind-test.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/testsuite/$(DEPDIR)/chcontext-test.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/testsuite/$(DEPDIR)/hashcalc-plain.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/testsuite/$(DEPDIR)/hashcalc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/testsuite/$(DEPDIR)/rpm-fake-test.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/testsuite/$(DEPDIR)/src_testsuite_vunify_functest-vunify-functest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/escaperoot.Po@am__quote@
@@ -4594,6 +4983,20 @@ lib/lib_libvserver_a-checkversion.obj: lib/checkversion.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-checkversion.obj `if test -f 'lib/checkversion.c'; then $(CYGPATH_W) 'lib/checkversion.c'; else $(CYGPATH_W) '$(srcdir)/lib/checkversion.c'; fi`
 
+lib/lib_libvserver_a-checkconfig.o: lib/checkconfig.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-checkconfig.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-checkconfig.Tpo" -c -o lib/lib_libvserver_a-checkconfig.o `test -f 'lib/checkconfig.c' || echo '$(srcdir)/'`lib/checkconfig.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-checkconfig.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-checkconfig.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-checkconfig.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/checkconfig.c' object='lib/lib_libvserver_a-checkconfig.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-checkconfig.o `test -f 'lib/checkconfig.c' || echo '$(srcdir)/'`lib/checkconfig.c
+
+lib/lib_libvserver_a-checkconfig.obj: lib/checkconfig.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-checkconfig.obj -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-checkconfig.Tpo" -c -o lib/lib_libvserver_a-checkconfig.obj `if test -f 'lib/checkconfig.c'; then $(CYGPATH_W) 'lib/checkconfig.c'; else $(CYGPATH_W) '$(srcdir)/lib/checkconfig.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-checkconfig.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-checkconfig.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-checkconfig.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/checkconfig.c' object='lib/lib_libvserver_a-checkconfig.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-checkconfig.obj `if test -f 'lib/checkconfig.c'; then $(CYGPATH_W) 'lib/checkconfig.c'; else $(CYGPATH_W) '$(srcdir)/lib/checkconfig.c'; fi`
+
 lib/lib_libvserver_a-isdirectory.o: lib/isdirectory.c
 @am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-isdirectory.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-isdirectory.Tpo" -c -o lib/lib_libvserver_a-isdirectory.o `test -f 'lib/isdirectory.c' || echo '$(srcdir)/'`lib/isdirectory.c; \
 @am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-isdirectory.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-isdirectory.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-isdirectory.Tpo"; exit 1; fi
@@ -4972,6 +5375,20 @@ lib/lib_libvserver_a-cflags_list-compat.obj: lib/cflags_list-compat.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-cflags_list-compat.obj `if test -f 'lib/cflags_list-compat.c'; then $(CYGPATH_W) 'lib/cflags_list-compat.c'; else $(CYGPATH_W) '$(srcdir)/lib/cflags_list-compat.c'; fi`
 
+lib/lib_libvserver_a-comparevserverbyid.o: lib/comparevserverbyid.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-comparevserverbyid.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-comparevserverbyid.Tpo" -c -o lib/lib_libvserver_a-comparevserverbyid.o `test -f 'lib/comparevserverbyid.c' || echo '$(srcdir)/'`lib/comparevserverbyid.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-comparevserverbyid.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-comparevserverbyid.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-comparevserverbyid.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/comparevserverbyid.c' object='lib/lib_libvserver_a-comparevserverbyid.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-comparevserverbyid.o `test -f 'lib/comparevserverbyid.c' || echo '$(srcdir)/'`lib/comparevserverbyid.c
+
+lib/lib_libvserver_a-comparevserverbyid.obj: lib/comparevserverbyid.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-comparevserverbyid.obj -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-comparevserverbyid.Tpo" -c -o lib/lib_libvserver_a-comparevserverbyid.obj `if test -f 'lib/comparevserverbyid.c'; then $(CYGPATH_W) 'lib/comparevserverbyid.c'; else $(CYGPATH_W) '$(srcdir)/lib/comparevserverbyid.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-comparevserverbyid.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-comparevserverbyid.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-comparevserverbyid.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/comparevserverbyid.c' object='lib/lib_libvserver_a-comparevserverbyid.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-comparevserverbyid.obj `if test -f 'lib/comparevserverbyid.c'; then $(CYGPATH_W) 'lib/comparevserverbyid.c'; else $(CYGPATH_W) '$(srcdir)/lib/comparevserverbyid.c'; fi`
+
 lib/lib_libvserver_a-createskeleton.o: lib/createskeleton.c
 @am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-createskeleton.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-createskeleton.Tpo" -c -o lib/lib_libvserver_a-createskeleton.o `test -f 'lib/createskeleton.c' || echo '$(srcdir)/'`lib/createskeleton.c; \
 @am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-createskeleton.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-createskeleton.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-createskeleton.Tpo"; exit 1; fi
@@ -5098,6 +5515,20 @@ lib/lib_libvserver_a-xidopt2xid.obj: lib/xidopt2xid.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-xidopt2xid.obj `if test -f 'lib/xidopt2xid.c'; then $(CYGPATH_W) 'lib/xidopt2xid.c'; else $(CYGPATH_W) '$(srcdir)/lib/xidopt2xid.c'; fi`
 
+lib/lib_libvserver_a-nidopt2nid.o: lib/nidopt2nid.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-nidopt2nid.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-nidopt2nid.Tpo" -c -o lib/lib_libvserver_a-nidopt2nid.o `test -f 'lib/nidopt2nid.c' || echo '$(srcdir)/'`lib/nidopt2nid.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-nidopt2nid.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-nidopt2nid.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-nidopt2nid.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/nidopt2nid.c' object='lib/lib_libvserver_a-nidopt2nid.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-nidopt2nid.o `test -f 'lib/nidopt2nid.c' || echo '$(srcdir)/'`lib/nidopt2nid.c
+
+lib/lib_libvserver_a-nidopt2nid.obj: lib/nidopt2nid.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-nidopt2nid.obj -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-nidopt2nid.Tpo" -c -o lib/lib_libvserver_a-nidopt2nid.obj `if test -f 'lib/nidopt2nid.c'; then $(CYGPATH_W) 'lib/nidopt2nid.c'; else $(CYGPATH_W) '$(srcdir)/lib/nidopt2nid.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-nidopt2nid.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-nidopt2nid.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-nidopt2nid.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/nidopt2nid.c' object='lib/lib_libvserver_a-nidopt2nid.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-nidopt2nid.obj `if test -f 'lib/nidopt2nid.c'; then $(CYGPATH_W) 'lib/nidopt2nid.c'; else $(CYGPATH_W) '$(srcdir)/lib/nidopt2nid.c'; fi`
+
 lib/lib_libvserver_a-syscall_rlimit.o: lib/syscall_rlimit.c
 @am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_rlimit.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimit.Tpo" -c -o lib/lib_libvserver_a-syscall_rlimit.o `test -f 'lib/syscall_rlimit.c' || echo '$(srcdir)/'`lib/syscall_rlimit.c; \
 @am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimit.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimit.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimit.Tpo"; exit 1; fi
@@ -5700,6 +6131,118 @@ lib/lib_libvserver_a-syscall_setdlimit.obj: lib/syscall_setdlimit.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_setdlimit.obj `if test -f 'lib/syscall_setdlimit.c'; then $(CYGPATH_W) 'lib/syscall_setdlimit.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_setdlimit.c'; fi`
 
+lib/lib_libvserver_a-syscall_rlimitstat.o: lib/syscall_rlimitstat.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_rlimitstat.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimitstat.Tpo" -c -o lib/lib_libvserver_a-syscall_rlimitstat.o `test -f 'lib/syscall_rlimitstat.c' || echo '$(srcdir)/'`lib/syscall_rlimitstat.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimitstat.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimitstat.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimitstat.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_rlimitstat.c' object='lib/lib_libvserver_a-syscall_rlimitstat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_rlimitstat.o `test -f 'lib/syscall_rlimitstat.c' || echo '$(srcdir)/'`lib/syscall_rlimitstat.c
+
+lib/lib_libvserver_a-syscall_rlimitstat.obj: lib/syscall_rlimitstat.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_rlimitstat.obj -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimitstat.Tpo" -c -o lib/lib_libvserver_a-syscall_rlimitstat.obj `if test -f 'lib/syscall_rlimitstat.c'; then $(CYGPATH_W) 'lib/syscall_rlimitstat.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_rlimitstat.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimitstat.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimitstat.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_rlimitstat.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_rlimitstat.c' object='lib/lib_libvserver_a-syscall_rlimitstat.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_rlimitstat.obj `if test -f 'lib/syscall_rlimitstat.c'; then $(CYGPATH_W) 'lib/syscall_rlimitstat.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_rlimitstat.c'; fi`
+
+lib/lib_libvserver_a-syscall_resetminmax.o: lib/syscall_resetminmax.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_resetminmax.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_resetminmax.Tpo" -c -o lib/lib_libvserver_a-syscall_resetminmax.o `test -f 'lib/syscall_resetminmax.c' || echo '$(srcdir)/'`lib/syscall_resetminmax.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_resetminmax.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_resetminmax.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_resetminmax.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_resetminmax.c' object='lib/lib_libvserver_a-syscall_resetminmax.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_resetminmax.o `test -f 'lib/syscall_resetminmax.c' || echo '$(srcdir)/'`lib/syscall_resetminmax.c
+
+lib/lib_libvserver_a-syscall_resetminmax.obj: lib/syscall_resetminmax.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_resetminmax.obj -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_resetminmax.Tpo" -c -o lib/lib_libvserver_a-syscall_resetminmax.obj `if test -f 'lib/syscall_resetminmax.c'; then $(CYGPATH_W) 'lib/syscall_resetminmax.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_resetminmax.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_resetminmax.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_resetminmax.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_resetminmax.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_resetminmax.c' object='lib/lib_libvserver_a-syscall_resetminmax.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_resetminmax.obj `if test -f 'lib/syscall_resetminmax.c'; then $(CYGPATH_W) 'lib/syscall_resetminmax.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_resetminmax.c'; fi`
+
+lib/lib_libvserver_a-syscall_getvci.o: lib/syscall_getvci.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_getvci.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_getvci.Tpo" -c -o lib/lib_libvserver_a-syscall_getvci.o `test -f 'lib/syscall_getvci.c' || echo '$(srcdir)/'`lib/syscall_getvci.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_getvci.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_getvci.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_getvci.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_getvci.c' object='lib/lib_libvserver_a-syscall_getvci.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_getvci.o `test -f 'lib/syscall_getvci.c' || echo '$(srcdir)/'`lib/syscall_getvci.c
+
+lib/lib_libvserver_a-syscall_getvci.obj: lib/syscall_getvci.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_getvci.obj -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_getvci.Tpo" -c -o lib/lib_libvserver_a-syscall_getvci.obj `if test -f 'lib/syscall_getvci.c'; then $(CYGPATH_W) 'lib/syscall_getvci.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_getvci.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_getvci.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_getvci.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_getvci.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_getvci.c' object='lib/lib_libvserver_a-syscall_getvci.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_getvci.obj `if test -f 'lib/syscall_getvci.c'; then $(CYGPATH_W) 'lib/syscall_getvci.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_getvci.c'; fi`
+
+lib/lib_libvserver_a-syscall_virtstat.o: lib/syscall_virtstat.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_virtstat.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_virtstat.Tpo" -c -o lib/lib_libvserver_a-syscall_virtstat.o `test -f 'lib/syscall_virtstat.c' || echo '$(srcdir)/'`lib/syscall_virtstat.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_virtstat.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_virtstat.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_virtstat.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_virtstat.c' object='lib/lib_libvserver_a-syscall_virtstat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_virtstat.o `test -f 'lib/syscall_virtstat.c' || echo '$(srcdir)/'`lib/syscall_virtstat.c
+
+lib/lib_libvserver_a-syscall_virtstat.obj: lib/syscall_virtstat.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_virtstat.obj -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_virtstat.Tpo" -c -o lib/lib_libvserver_a-syscall_virtstat.obj `if test -f 'lib/syscall_virtstat.c'; then $(CYGPATH_W) 'lib/syscall_virtstat.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_virtstat.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_virtstat.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_virtstat.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_virtstat.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_virtstat.c' object='lib/lib_libvserver_a-syscall_virtstat.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_virtstat.obj `if test -f 'lib/syscall_virtstat.c'; then $(CYGPATH_W) 'lib/syscall_virtstat.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_virtstat.c'; fi`
+
+lib/lib_libvserver_a-syscall_ctxstat.o: lib/syscall_ctxstat.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_ctxstat.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_ctxstat.Tpo" -c -o lib/lib_libvserver_a-syscall_ctxstat.o `test -f 'lib/syscall_ctxstat.c' || echo '$(srcdir)/'`lib/syscall_ctxstat.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_ctxstat.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_ctxstat.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_ctxstat.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_ctxstat.c' object='lib/lib_libvserver_a-syscall_ctxstat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_ctxstat.o `test -f 'lib/syscall_ctxstat.c' || echo '$(srcdir)/'`lib/syscall_ctxstat.c
+
+lib/lib_libvserver_a-syscall_ctxstat.obj: lib/syscall_ctxstat.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_ctxstat.obj -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_ctxstat.Tpo" -c -o lib/lib_libvserver_a-syscall_ctxstat.obj `if test -f 'lib/syscall_ctxstat.c'; then $(CYGPATH_W) 'lib/syscall_ctxstat.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_ctxstat.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_ctxstat.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_ctxstat.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_ctxstat.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_ctxstat.c' object='lib/lib_libvserver_a-syscall_ctxstat.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_ctxstat.obj `if test -f 'lib/syscall_ctxstat.c'; then $(CYGPATH_W) 'lib/syscall_ctxstat.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_ctxstat.c'; fi`
+
+lib/lib_libvserver_a-syscall_getspacemask.o: lib/syscall_getspacemask.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_getspacemask.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_getspacemask.Tpo" -c -o lib/lib_libvserver_a-syscall_getspacemask.o `test -f 'lib/syscall_getspacemask.c' || echo '$(srcdir)/'`lib/syscall_getspacemask.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_getspacemask.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_getspacemask.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_getspacemask.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_getspacemask.c' object='lib/lib_libvserver_a-syscall_getspacemask.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_getspacemask.o `test -f 'lib/syscall_getspacemask.c' || echo '$(srcdir)/'`lib/syscall_getspacemask.c
+
+lib/lib_libvserver_a-syscall_getspacemask.obj: lib/syscall_getspacemask.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_getspacemask.obj -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_getspacemask.Tpo" -c -o lib/lib_libvserver_a-syscall_getspacemask.obj `if test -f 'lib/syscall_getspacemask.c'; then $(CYGPATH_W) 'lib/syscall_getspacemask.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_getspacemask.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_getspacemask.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_getspacemask.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_getspacemask.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_getspacemask.c' object='lib/lib_libvserver_a-syscall_getspacemask.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_getspacemask.obj `if test -f 'lib/syscall_getspacemask.c'; then $(CYGPATH_W) 'lib/syscall_getspacemask.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_getspacemask.c'; fi`
+
+lib/lib_libvserver_a-syscall_setmapping.o: lib/syscall_setmapping.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_setmapping.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_setmapping.Tpo" -c -o lib/lib_libvserver_a-syscall_setmapping.o `test -f 'lib/syscall_setmapping.c' || echo '$(srcdir)/'`lib/syscall_setmapping.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_setmapping.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_setmapping.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_setmapping.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_setmapping.c' object='lib/lib_libvserver_a-syscall_setmapping.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_setmapping.o `test -f 'lib/syscall_setmapping.c' || echo '$(srcdir)/'`lib/syscall_setmapping.c
+
+lib/lib_libvserver_a-syscall_setmapping.obj: lib/syscall_setmapping.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_setmapping.obj -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_setmapping.Tpo" -c -o lib/lib_libvserver_a-syscall_setmapping.obj `if test -f 'lib/syscall_setmapping.c'; then $(CYGPATH_W) 'lib/syscall_setmapping.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_setmapping.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_setmapping.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_setmapping.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_setmapping.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_setmapping.c' object='lib/lib_libvserver_a-syscall_setmapping.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_setmapping.obj `if test -f 'lib/syscall_setmapping.c'; then $(CYGPATH_W) 'lib/syscall_setmapping.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_setmapping.c'; fi`
+
+lib/lib_libvserver_a-syscall_schedinfo.o: lib/syscall_schedinfo.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_schedinfo.o -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_schedinfo.Tpo" -c -o lib/lib_libvserver_a-syscall_schedinfo.o `test -f 'lib/syscall_schedinfo.c' || echo '$(srcdir)/'`lib/syscall_schedinfo.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_schedinfo.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_schedinfo.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_schedinfo.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_schedinfo.c' object='lib/lib_libvserver_a-syscall_schedinfo.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_schedinfo.o `test -f 'lib/syscall_schedinfo.c' || echo '$(srcdir)/'`lib/syscall_schedinfo.c
+
+lib/lib_libvserver_a-syscall_schedinfo.obj: lib/syscall_schedinfo.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_a-syscall_schedinfo.obj -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_a-syscall_schedinfo.Tpo" -c -o lib/lib_libvserver_a-syscall_schedinfo.obj `if test -f 'lib/syscall_schedinfo.c'; then $(CYGPATH_W) 'lib/syscall_schedinfo.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_schedinfo.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_schedinfo.Tpo" "lib/$(DEPDIR)/lib_libvserver_a-syscall_schedinfo.Po"; else rm -f "lib/$(DEPDIR)/lib_libvserver_a-syscall_schedinfo.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_schedinfo.c' object='lib/lib_libvserver_a-syscall_schedinfo.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_a-syscall_schedinfo.obj `if test -f 'lib/syscall_schedinfo.c'; then $(CYGPATH_W) 'lib/syscall_schedinfo.c'; else $(CYGPATH_W) '$(srcdir)/lib/syscall_schedinfo.c'; fi`
+
 ensc_fmt/lib_libvserver_a-fmt-32.o: ensc_fmt/fmt-32.c
 @am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ensc_fmt/lib_libvserver_a-fmt-32.o -MD -MP -MF "ensc_fmt/$(DEPDIR)/lib_libvserver_a-fmt-32.Tpo" -c -o ensc_fmt/lib_libvserver_a-fmt-32.o `test -f 'ensc_fmt/fmt-32.c' || echo '$(srcdir)/'`ensc_fmt/fmt-32.c; \
 @am__fastdepCC_TRUE@   then mv -f "ensc_fmt/$(DEPDIR)/lib_libvserver_a-fmt-32.Tpo" "ensc_fmt/$(DEPDIR)/lib_libvserver_a-fmt-32.Po"; else rm -f "ensc_fmt/$(DEPDIR)/lib_libvserver_a-fmt-32.Tpo"; exit 1; fi
@@ -6050,6 +6593,20 @@ lib_internal/lib_internal_libinternal_diet_a-util-isnumber.obj: lib_internal/uti
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_diet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib_internal/lib_internal_libinternal_diet_a-util-isnumber.obj `if test -f 'lib_internal/util-isnumber.c'; then $(CYGPATH_W) 'lib_internal/util-isnumber.c'; else $(CYGPATH_W) '$(srcdir)/lib_internal/util-isnumber.c'; fi`
 
+lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.o: lib_internal/util-isnumberunsigned.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_diet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.o -MD -MP -MF "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-isnumberunsigned.Tpo" -c -o lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.o `test -f 'lib_internal/util-isnumberunsigned.c' || echo '$(srcdir)/'`lib_internal/util-isnumberunsigned.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-isnumberunsigned.Tpo" "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-isnumberunsigned.Po"; else rm -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-isnumberunsigned.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib_internal/util-isnumberunsigned.c' object='lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_diet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.o `test -f 'lib_internal/util-isnumberunsigned.c' || echo '$(srcdir)/'`lib_internal/util-isnumberunsigned.c
+
+lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.obj: lib_internal/util-isnumberunsigned.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_diet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.obj -MD -MP -MF "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-isnumberunsigned.Tpo" -c -o lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.obj `if test -f 'lib_internal/util-isnumberunsigned.c'; then $(CYGPATH_W) 'lib_internal/util-isnumberunsigned.c'; else $(CYGPATH_W) '$(srcdir)/lib_internal/util-isnumberunsigned.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-isnumberunsigned.Tpo" "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-isnumberunsigned.Po"; else rm -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-isnumberunsigned.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib_internal/util-isnumberunsigned.c' object='lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_diet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib_internal/lib_internal_libinternal_diet_a-util-isnumberunsigned.obj `if test -f 'lib_internal/util-isnumberunsigned.c'; then $(CYGPATH_W) 'lib_internal/util-isnumberunsigned.c'; else $(CYGPATH_W) '$(srcdir)/lib_internal/util-isnumberunsigned.c'; fi`
+
 lib_internal/lib_internal_libinternal_diet_a-util-lockfile.o: lib_internal/util-lockfile.c
 @am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_diet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib_internal/lib_internal_libinternal_diet_a-util-lockfile.o -MD -MP -MF "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-lockfile.Tpo" -c -o lib_internal/lib_internal_libinternal_diet_a-util-lockfile.o `test -f 'lib_internal/util-lockfile.c' || echo '$(srcdir)/'`lib_internal/util-lockfile.c; \
 @am__fastdepCC_TRUE@   then mv -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-lockfile.Tpo" "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-lockfile.Po"; else rm -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_diet_a-util-lockfile.Tpo"; exit 1; fi
@@ -6540,6 +7097,20 @@ lib_internal/lib_internal_libinternal_glibc_a-util-isnumber.obj: lib_internal/ut
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_glibc_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib_internal/lib_internal_libinternal_glibc_a-util-isnumber.obj `if test -f 'lib_internal/util-isnumber.c'; then $(CYGPATH_W) 'lib_internal/util-isnumber.c'; else $(CYGPATH_W) '$(srcdir)/lib_internal/util-isnumber.c'; fi`
 
+lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.o: lib_internal/util-isnumberunsigned.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_glibc_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.o -MD -MP -MF "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-isnumberunsigned.Tpo" -c -o lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.o `test -f 'lib_internal/util-isnumberunsigned.c' || echo '$(srcdir)/'`lib_internal/util-isnumberunsigned.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-isnumberunsigned.Tpo" "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-isnumberunsigned.Po"; else rm -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-isnumberunsigned.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib_internal/util-isnumberunsigned.c' object='lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_glibc_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.o `test -f 'lib_internal/util-isnumberunsigned.c' || echo '$(srcdir)/'`lib_internal/util-isnumberunsigned.c
+
+lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.obj: lib_internal/util-isnumberunsigned.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_glibc_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.obj -MD -MP -MF "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-isnumberunsigned.Tpo" -c -o lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.obj `if test -f 'lib_internal/util-isnumberunsigned.c'; then $(CYGPATH_W) 'lib_internal/util-isnumberunsigned.c'; else $(CYGPATH_W) '$(srcdir)/lib_internal/util-isnumberunsigned.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-isnumberunsigned.Tpo" "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-isnumberunsigned.Po"; else rm -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-isnumberunsigned.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib_internal/util-isnumberunsigned.c' object='lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_glibc_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib_internal/lib_internal_libinternal_glibc_a-util-isnumberunsigned.obj `if test -f 'lib_internal/util-isnumberunsigned.c'; then $(CYGPATH_W) 'lib_internal/util-isnumberunsigned.c'; else $(CYGPATH_W) '$(srcdir)/lib_internal/util-isnumberunsigned.c'; fi`
+
 lib_internal/lib_internal_libinternal_glibc_a-util-lockfile.o: lib_internal/util-lockfile.c
 @am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_internal_libinternal_glibc_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib_internal/lib_internal_libinternal_glibc_a-util-lockfile.o -MD -MP -MF "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-lockfile.Tpo" -c -o lib_internal/lib_internal_libinternal_glibc_a-util-lockfile.o `test -f 'lib_internal/util-lockfile.c' || echo '$(srcdir)/'`lib_internal/util-lockfile.c; \
 @am__fastdepCC_TRUE@   then mv -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-lockfile.Tpo" "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-lockfile.Po"; else rm -f "lib_internal/$(DEPDIR)/lib_internal_libinternal_glibc_a-util-lockfile.Tpo"; exit 1; fi
@@ -7324,6 +7895,13 @@ lib/lib_libvserver_la-checkversion.lo: lib/checkversion.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-checkversion.lo `test -f 'lib/checkversion.c' || echo '$(srcdir)/'`lib/checkversion.c
 
+lib/lib_libvserver_la-checkconfig.lo: lib/checkconfig.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-checkconfig.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-checkconfig.Tpo" -c -o lib/lib_libvserver_la-checkconfig.lo `test -f 'lib/checkconfig.c' || echo '$(srcdir)/'`lib/checkconfig.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-checkconfig.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-checkconfig.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-checkconfig.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/checkconfig.c' object='lib/lib_libvserver_la-checkconfig.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-checkconfig.lo `test -f 'lib/checkconfig.c' || echo '$(srcdir)/'`lib/checkconfig.c
+
 lib/lib_libvserver_la-isdirectory.lo: lib/isdirectory.c
 @am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-isdirectory.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-isdirectory.Tpo" -c -o lib/lib_libvserver_la-isdirectory.lo `test -f 'lib/isdirectory.c' || echo '$(srcdir)/'`lib/isdirectory.c; \
 @am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-isdirectory.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-isdirectory.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-isdirectory.Tpo"; exit 1; fi
@@ -7513,6 +8091,13 @@ lib/lib_libvserver_la-cflags_list-compat.lo: lib/cflags_list-compat.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-cflags_list-compat.lo `test -f 'lib/cflags_list-compat.c' || echo '$(srcdir)/'`lib/cflags_list-compat.c
 
+lib/lib_libvserver_la-comparevserverbyid.lo: lib/comparevserverbyid.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-comparevserverbyid.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-comparevserverbyid.Tpo" -c -o lib/lib_libvserver_la-comparevserverbyid.lo `test -f 'lib/comparevserverbyid.c' || echo '$(srcdir)/'`lib/comparevserverbyid.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-comparevserverbyid.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-comparevserverbyid.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-comparevserverbyid.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/comparevserverbyid.c' object='lib/lib_libvserver_la-comparevserverbyid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-comparevserverbyid.lo `test -f 'lib/comparevserverbyid.c' || echo '$(srcdir)/'`lib/comparevserverbyid.c
+
 lib/lib_libvserver_la-createskeleton.lo: lib/createskeleton.c
 @am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-createskeleton.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-createskeleton.Tpo" -c -o lib/lib_libvserver_la-createskeleton.lo `test -f 'lib/createskeleton.c' || echo '$(srcdir)/'`lib/createskeleton.c; \
 @am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-createskeleton.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-createskeleton.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-createskeleton.Tpo"; exit 1; fi
@@ -7576,6 +8161,13 @@ lib/lib_libvserver_la-xidopt2xid.lo: lib/xidopt2xid.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-xidopt2xid.lo `test -f 'lib/xidopt2xid.c' || echo '$(srcdir)/'`lib/xidopt2xid.c
 
+lib/lib_libvserver_la-nidopt2nid.lo: lib/nidopt2nid.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-nidopt2nid.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-nidopt2nid.Tpo" -c -o lib/lib_libvserver_la-nidopt2nid.lo `test -f 'lib/nidopt2nid.c' || echo '$(srcdir)/'`lib/nidopt2nid.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-nidopt2nid.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-nidopt2nid.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-nidopt2nid.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/nidopt2nid.c' object='lib/lib_libvserver_la-nidopt2nid.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-nidopt2nid.lo `test -f 'lib/nidopt2nid.c' || echo '$(srcdir)/'`lib/nidopt2nid.c
+
 lib/lib_libvserver_la-syscall_rlimit.lo: lib/syscall_rlimit.c
 @am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-syscall_rlimit.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-syscall_rlimit.Tpo" -c -o lib/lib_libvserver_la-syscall_rlimit.lo `test -f 'lib/syscall_rlimit.c' || echo '$(srcdir)/'`lib/syscall_rlimit.c; \
 @am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_rlimit.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-syscall_rlimit.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_rlimit.Tpo"; exit 1; fi
@@ -7877,6 +8469,62 @@ lib/lib_libvserver_la-syscall_setdlimit.lo: lib/syscall_setdlimit.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-syscall_setdlimit.lo `test -f 'lib/syscall_setdlimit.c' || echo '$(srcdir)/'`lib/syscall_setdlimit.c
 
+lib/lib_libvserver_la-syscall_rlimitstat.lo: lib/syscall_rlimitstat.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-syscall_rlimitstat.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-syscall_rlimitstat.Tpo" -c -o lib/lib_libvserver_la-syscall_rlimitstat.lo `test -f 'lib/syscall_rlimitstat.c' || echo '$(srcdir)/'`lib/syscall_rlimitstat.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_rlimitstat.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-syscall_rlimitstat.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_rlimitstat.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_rlimitstat.c' object='lib/lib_libvserver_la-syscall_rlimitstat.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-syscall_rlimitstat.lo `test -f 'lib/syscall_rlimitstat.c' || echo '$(srcdir)/'`lib/syscall_rlimitstat.c
+
+lib/lib_libvserver_la-syscall_resetminmax.lo: lib/syscall_resetminmax.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-syscall_resetminmax.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-syscall_resetminmax.Tpo" -c -o lib/lib_libvserver_la-syscall_resetminmax.lo `test -f 'lib/syscall_resetminmax.c' || echo '$(srcdir)/'`lib/syscall_resetminmax.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_resetminmax.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-syscall_resetminmax.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_resetminmax.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_resetminmax.c' object='lib/lib_libvserver_la-syscall_resetminmax.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-syscall_resetminmax.lo `test -f 'lib/syscall_resetminmax.c' || echo '$(srcdir)/'`lib/syscall_resetminmax.c
+
+lib/lib_libvserver_la-syscall_getvci.lo: lib/syscall_getvci.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-syscall_getvci.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-syscall_getvci.Tpo" -c -o lib/lib_libvserver_la-syscall_getvci.lo `test -f 'lib/syscall_getvci.c' || echo '$(srcdir)/'`lib/syscall_getvci.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_getvci.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-syscall_getvci.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_getvci.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_getvci.c' object='lib/lib_libvserver_la-syscall_getvci.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-syscall_getvci.lo `test -f 'lib/syscall_getvci.c' || echo '$(srcdir)/'`lib/syscall_getvci.c
+
+lib/lib_libvserver_la-syscall_virtstat.lo: lib/syscall_virtstat.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-syscall_virtstat.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-syscall_virtstat.Tpo" -c -o lib/lib_libvserver_la-syscall_virtstat.lo `test -f 'lib/syscall_virtstat.c' || echo '$(srcdir)/'`lib/syscall_virtstat.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_virtstat.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-syscall_virtstat.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_virtstat.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_virtstat.c' object='lib/lib_libvserver_la-syscall_virtstat.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-syscall_virtstat.lo `test -f 'lib/syscall_virtstat.c' || echo '$(srcdir)/'`lib/syscall_virtstat.c
+
+lib/lib_libvserver_la-syscall_ctxstat.lo: lib/syscall_ctxstat.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-syscall_ctxstat.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-syscall_ctxstat.Tpo" -c -o lib/lib_libvserver_la-syscall_ctxstat.lo `test -f 'lib/syscall_ctxstat.c' || echo '$(srcdir)/'`lib/syscall_ctxstat.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_ctxstat.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-syscall_ctxstat.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_ctxstat.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_ctxstat.c' object='lib/lib_libvserver_la-syscall_ctxstat.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-syscall_ctxstat.lo `test -f 'lib/syscall_ctxstat.c' || echo '$(srcdir)/'`lib/syscall_ctxstat.c
+
+lib/lib_libvserver_la-syscall_getspacemask.lo: lib/syscall_getspacemask.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-syscall_getspacemask.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-syscall_getspacemask.Tpo" -c -o lib/lib_libvserver_la-syscall_getspacemask.lo `test -f 'lib/syscall_getspacemask.c' || echo '$(srcdir)/'`lib/syscall_getspacemask.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_getspacemask.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-syscall_getspacemask.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_getspacemask.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_getspacemask.c' object='lib/lib_libvserver_la-syscall_getspacemask.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-syscall_getspacemask.lo `test -f 'lib/syscall_getspacemask.c' || echo '$(srcdir)/'`lib/syscall_getspacemask.c
+
+lib/lib_libvserver_la-syscall_setmapping.lo: lib/syscall_setmapping.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-syscall_setmapping.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-syscall_setmapping.Tpo" -c -o lib/lib_libvserver_la-syscall_setmapping.lo `test -f 'lib/syscall_setmapping.c' || echo '$(srcdir)/'`lib/syscall_setmapping.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_setmapping.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-syscall_setmapping.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_setmapping.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_setmapping.c' object='lib/lib_libvserver_la-syscall_setmapping.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-syscall_setmapping.lo `test -f 'lib/syscall_setmapping.c' || echo '$(srcdir)/'`lib/syscall_setmapping.c
+
+lib/lib_libvserver_la-syscall_schedinfo.lo: lib/syscall_schedinfo.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/lib_libvserver_la-syscall_schedinfo.lo -MD -MP -MF "lib/$(DEPDIR)/lib_libvserver_la-syscall_schedinfo.Tpo" -c -o lib/lib_libvserver_la-syscall_schedinfo.lo `test -f 'lib/syscall_schedinfo.c' || echo '$(srcdir)/'`lib/syscall_schedinfo.c; \
+@am__fastdepCC_TRUE@   then mv -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_schedinfo.Tpo" "lib/$(DEPDIR)/lib_libvserver_la-syscall_schedinfo.Plo"; else rm -f "lib/$(DEPDIR)/lib_libvserver_la-syscall_schedinfo.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lib/syscall_schedinfo.c' object='lib/lib_libvserver_la-syscall_schedinfo.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/lib_libvserver_la-syscall_schedinfo.lo `test -f 'lib/syscall_schedinfo.c' || echo '$(srcdir)/'`lib/syscall_schedinfo.c
+
 ensc_fmt/lib_libvserver_la-fmt-32.lo: ensc_fmt/fmt-32.c
 @am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libvserver_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ensc_fmt/lib_libvserver_la-fmt-32.lo -MD -MP -MF "ensc_fmt/$(DEPDIR)/lib_libvserver_la-fmt-32.Tpo" -c -o ensc_fmt/lib_libvserver_la-fmt-32.lo `test -f 'ensc_fmt/fmt-32.c' || echo '$(srcdir)/'`ensc_fmt/fmt-32.c; \
 @am__fastdepCC_TRUE@   then mv -f "ensc_fmt/$(DEPDIR)/lib_libvserver_la-fmt-32.Tpo" "ensc_fmt/$(DEPDIR)/lib_libvserver_la-fmt-32.Plo"; else rm -f "ensc_fmt/$(DEPDIR)/lib_libvserver_la-fmt-32.Tpo"; exit 1; fi
@@ -8003,30 +8651,6 @@ src/src_vkill-vkill.obj: src/vkill.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_vkill_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_vkill-vkill.obj `if test -f 'src/vkill.c'; then $(CYGPATH_W) 'src/vkill.c'; else $(CYGPATH_W) '$(srcdir)/src/vkill.c'; fi`
 
-.cc.o:
-@am__fastdepCXX_TRUE@  depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
-@am__fastdepCXX_TRUE@  if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@  then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
-@am__fastdepCXX_TRUE@  depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \
-@am__fastdepCXX_TRUE@  if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@  then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
-@am__fastdepCXX_TRUE@  depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \
-@am__fastdepCXX_TRUE@  if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@  then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
 mostlyclean-libtool:
        -rm -f *.lo
 
@@ -8367,7 +8991,7 @@ distdir: $(DISTFILES)
        esac
        $(am__remove_distdir)
        mkdir $(distdir)
-       $(mkdir_p) $(distdir)/. $(distdir)/contrib $(distdir)/doc $(distdir)/ensc_fmt $(distdir)/ensc_vector $(distdir)/ensc_vector/testsuite $(distdir)/ensc_wrappers $(distdir)/kernel $(distdir)/lib $(distdir)/lib/apidoc $(distdir)/lib/testsuite $(distdir)/lib_internal $(distdir)/lib_internal/testsuite $(distdir)/m4 $(distdir)/man $(distdir)/scripts $(distdir)/scripts/legacy $(distdir)/src $(distdir)/src/testsuite $(distdir)/sysv $(distdir)/tests $(distdir)/vserver-start
+       $(mkdir_p) $(distdir)/. $(distdir)/contrib $(distdir)/doc $(distdir)/ensc_fmt $(distdir)/ensc_vector $(distdir)/ensc_vector/testsuite $(distdir)/ensc_wrappers $(distdir)/gentoo $(distdir)/kernel $(distdir)/lib $(distdir)/lib/apidoc $(distdir)/lib/testsuite $(distdir)/lib_internal $(distdir)/lib_internal/testsuite $(distdir)/m4 $(distdir)/man $(distdir)/scripts $(distdir)/scripts/legacy $(distdir)/src $(distdir)/src/testsuite $(distdir)/sysv $(distdir)/tests $(distdir)/vserver-start
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
@@ -8688,19 +9312,16 @@ uninstall-man: uninstall-man8
 
 
 silent.%:              FORCE
-                       @t=$$(mktemp /tmp/build.XXXXXX) && \
-                       $(MAKE) '$*' -s 2>$$t >/dev/null && \
-                       ( cat $$t | \
-                               grep -v ': In function' | \
-                               grep -v 'your code still has assertions enabled' | \
-                               grep -v ' is obsoleted' | \
-                               grep -v 'warning: #warning'; \
-                               rm -f $$t || : )
-
-linuxvirtual.h:
-@ENSC_ENABLE_INTERNAL_HEADERS_TRUE@                    ln -sf '$(top_srcdir)/lib/virtual.h' '$@'
-@ENSC_ENABLE_INTERNAL_HEADERS_FALSE@                   ln -sf '$(kernelincludedir)/linux/virtual.h' '$@' && test -e '$@' || \
-@ENSC_ENABLE_INTERNAL_HEADERS_FALSE@                   ln -sf '$(top_srcdir)/lib/virtual.h' '$@'
+                       @t=$$($(MKTEMP) -d /tmp/build.XXXXXX) && \
+                       trap "rm -rf $$t" EXIT && \
+                       mkfifo $$t/fifo && \
+                       ( grep --line-buffered -v \
+                                    -e ': In function' \
+                                    -e 'your code still has assertions enabled' \
+                                    -e ' is obsoleted' \
+                                    -e 'warning: #warning' <$$t/fifo & ) && \
+                       exec 2>$$t/fifo && \
+                       $(MAKE) '$*' -s >/dev/null
 
 pathconfig.h:          .pathconfig.h.pathsubst.stamp
 .%.pathsubst.stamp:    %.pathsubst Makefile
@@ -8723,10 +9344,12 @@ update-doc:             doc
 install-data-hook:     install-fix-script-paths install-create-dirs
 
 install-create-dirs:
-                       $(mkinstalldirs) -m 755 $(DESTDIR)$(pkgstatedir) $(DESTDIR)$(pkgstatedir).rev $(DESTDIR)$(vshelperstatedir)
-                       $(mkinstalldirs) -m 755 $(DESTDIR)$(confdefaultsdir)
-                       f=$(DESTDIR)$(confdefaultsdir)/vdirbase; test -e "$$f" || ln -sf '$(vserverdir)'      "$$f"
-                       f=$(DESTDIR)$(pkgstaterevdir);           test -e "$$f" || ln -sf '$(pkgstatedir).rev' "$$f"
+                       $(mkinstalldirs) -m 0755 $(DESTDIR)$(pkgstatedir) $(DESTDIR)$(pkgstatedir).rev $(DESTDIR)$(vshelperstatedir)
+                       $(mkinstalldirs) -m 0700 $(DESTDIR)$(pkgcachedir)
+                       $(mkinstalldirs) -m 0755 $(DESTDIR)$(confdefaultsdir)
+                       f=$(DESTDIR)$(confdefaultsdir)/vdirbase;  test -e "$$f" || ln -sf '$(vserverdir)'      "$$f"
+                       f=$(DESTDIR)$(confdefaultsdir)/cachebase; test -e "$$f" || ln -sf '$(pkgcachedir)'     "$$f"
+                       f=$(DESTDIR)$(pkgstaterevdir);            test -e "$$f" || ln -sf '$(pkgstatedir).rev' "$$f"
 
 install-fix-script-paths:
                        test "/usr/lib/util-vserver" = "$(pkglibdir)" || \
@@ -8840,14 +9463,10 @@ distclean-uptodate:
 ChangeLog.sed:
                                test "$(srcdir)" != "."
 
-@HAVE_CVS2CL_TRUE@ChangeLog:                   Makefile
-@HAVE_CVS2CL_TRUE@                             if test "$(srcdir)" = "." -a -d CVS; then       \
-@HAVE_CVS2CL_TRUE@                                     $(CVS2CL) $(CVS2CL_ALLFLAGS) -f $@;     \
-@HAVE_CVS2CL_TRUE@                             fi
-@HAVE_CVS2CL_FALSE@@HAVE_RCS2LOG_TRUE@ChangeLog:                       ChangeLog.sed Makefile
-@HAVE_CVS2CL_FALSE@@HAVE_RCS2LOG_TRUE@                         if test "$(srcdir)" = "." -a -d CVS; then       \
-@HAVE_CVS2CL_FALSE@@HAVE_RCS2LOG_TRUE@                                 $(RCS2LOG) -l 0 -c /dev/stdout | sed -f $< >$@; \
-@HAVE_CVS2CL_FALSE@@HAVE_RCS2LOG_TRUE@                         fi
+@HAVE_SVN2CL_TRUE@ChangeLog:                   Makefile
+@HAVE_SVN2CL_TRUE@                             if test "$(srcdir)" = "." -a -d .svn; then      \
+@HAVE_SVN2CL_TRUE@                                     $(SVN2CL) $(SVN2CL_ALLFLAGS) -o $@;     \
+@HAVE_SVN2CL_TRUE@                             fi
 
 .PHONY:        ChangeLog
 
@@ -8865,17 +9484,7 @@ ChangeLog.sed:
                                $(BAD_INC_PATHS))       incflags=;;                             \
                                *)                      incflags='-I$${includedir} ';;          \
                        esac;                                                                   \
-                       sed -e 's!@'PACKAGE'@!$(PACKAGE)!g;                                     \
-                               s!@'VERSION'@!$(VERSION)!g;                                     \
-                               s!@'prefix'@!$(prefix)!g;                                       \
-                               s!@'exec_prefix'@!$(exec_prefix)!g;                             \
-                               s!@'libdir'@!$(libdir)!g;                                       \
-                               s!@'includedir'@!$(includedir)!g;                               \
-                               s!@'libflags"@!$${libflags}$(pkgconf_LIBFLAGS)!g;"'             \
-                               s!@'incflags"@!$${incflags}$(pkgconf_INCFLAGS)!g;"'             \
-                               s!@'pkgincflags"@!$${pkgincflags}$(pkgconf_PKGINCFLAGS)!g;"'    \
-                               s!@'pkgincludedir'@!$(pkgincludedir)!g'                         \
-                        $< >$@
+                       sed -e '$(pkgconf_SUBST)' $< >$@
                        test -z "$(CHMOD_REFERENCE)" || $(CHMOD_REFERENCE) '$<' '$@'
                        chmod a-w $@
 
diff --git a/NEWS b/NEWS
index 4b844e3..dc4d47e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,89 @@
-version 0.30.208
+version 0.30.213
+================
+       - added support for the device mapping feature present in development
+       kernels.
+
+       - further improved Gentoo support, again thanks to Benedikt Böhm.
+
+       - support persistent contexts.
+
+       - add another initscript that creates directories, configures vshelper
+       as well as kills all contexts.
+
+       - new vserver-stat implementation, which uses the accounting APIs
+       available in Linux-VServer 2.2.
+
+       - added support for setting sysctl values in the guest configuration.
+
+       - added a clone build method, which simply links already unified files.
+
+       - implement dynamic contexts in userspace, generating a static one
+       during vserver ... build.
+
+       - fix the endless loop in vlogin.
+
+       - fix Ubuntu builds.
+
+       - improved support for Debian Etch, thanks to Benedikt Böhm.
+
+       - added CentOS 5.
+
+       - use the state change helper to try to cleanup after us if the guest
+       exited on its own.
+
+version 0.30.212
+================
+       - support for the Linux-VServer 2.1 API has been implemented.
+
+       - the scheduler configuration has been split up into multiple files.
+
+       - namespace cleanup is enabled by default. This can be disabled by
+       touch ${sysconfdir}/vservers/.defaults/nonamespace-cleanup
+
+       - all unset ulimits are now reset to infinity, so limits are no longer
+       inherited from the host.
+
+       - much improved Gentoo support, thanks to Benedikt Böhm.
+
+version 0.30.211
+================
+
+       - novlandev is now the default. To reenable the old behaviour of
+       creating VLAN interfaces where used, touch
+       ${sysconfdir}/vservers/.defaults/interfaces/vlandev.
+
+       - vshelper now works correctly with the kernel legacy support turned
+       off.
+
+       - vlogin provides a terminal proxy which allocates a new psuedo-tty
+       on the inside when you enter a guest.
+
+       - and lots of other features/fixes, see ChangeLog.
+
+
+version 0.30.210
+================
+
+       - LEGACY BREAKAGE: by default, only recent kernel APIs will be
+       supported so you have to make sure to use at least the vs2.0.1
+       kernel patch. With older kernels, you have to call 'configure'
+       with '--enable-apis=NOLEGACY'. Some programs will not work anymore
+       with the default settings; these ones are:
+
+            + capchroot
+            * chcontext-context
+            * reducecap
+
+       - dlimit support was integrated into the standard vserver
+       operations. Thanks to Daniel Hokka Zakrisson for his patch.
+
+       - recent kernel API is now used for setting up the network
+       contexts. So it should be now possible to use a kernel compiled
+       without CONFIG_VSERVER_LEGACYNET. Thanks to Daniel Hokka Zakrisson
+       for his patch.  .
+
+
+version 0.30.209
 ================
 
        - large revamping...
diff --git a/README b/README
index 7733231..e99e999 100644 (file)
--- a/README
+++ b/README
@@ -187,4 +187,4 @@ development 2.6 kernel patch.
 
 
 
-## $Id: README,v 1.7 2005/01/27 19:07:05 ensc Exp $
+## $Id: README 2283 2006-09-10 17:07:57Z hollow $
diff --git a/THANKS b/THANKS
index a4232db..5a47f91 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -10,5 +10,15 @@ Sam Vilain,
 Olivier Poitrey
     for his work on the XML/XSD based documentation format
 
+Herbert Poetzl,
+    for providing the alternative syscall.h implementation
+
+Daniel Hokka Zakrisson
+    for his patches which add support for non-legacy network functionality
+    and much better dlimit support
+
+Benedikt Böhm
+    for the much improved Gentoo support
+
 
 all the other people, who contributed to the original 'vserver' package
index e9bebff..a4f9921 100644 (file)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 # 2005  Free Software Foundation, Inc.
@@ -13,7 +13,7 @@
 
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
-# serial 47 AC_PROG_LIBTOOL
+# serial 48 AC_PROG_LIBTOOL
 
 
 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -143,7 +143,7 @@ rm="rm -f"
 default_ofile=libtool
 can_build_shared=yes
 
-# All known linkers require a `.a' archive for static linking (except M$VC,
+# All known linkers require a `.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 ltmain="$ac_aux_dir/ltmain.sh"
@@ -163,6 +163,7 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
 test -z "$AS" && AS=as
 test -z "$CC" && CC=cc
 test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
 test -z "$DLLTOOL" && DLLTOOL=dlltool
 test -z "$LD" && LD=ld
 test -z "$LN_S" && LN_S="ln -s"
@@ -182,10 +183,10 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
   *)
-    old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
     ;;
   esac
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
@@ -233,6 +234,9 @@ AC_DEFUN([_LT_AC_SYS_COMPILER],
 # If no C compiler was specified, use CC.
 LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
 # Allow CC to be a program name with arguments.
 compiler=$CC
 ])# _LT_AC_SYS_COMPILER
@@ -261,7 +265,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 AC_DEFUN([_LT_COMPILER_BOILERPLATE],
 [ac_outfile=conftest.$ac_objext
 printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 ])# _LT_COMPILER_BOILERPLATE
@@ -274,7 +278,7 @@ $rm conftest*
 AC_DEFUN([_LT_LINKER_BOILERPLATE],
 [ac_outfile=conftest.$ac_objext
 printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
 ])# _LT_LINKER_BOILERPLATE
@@ -359,8 +363,8 @@ if test "X${echo_test_string+set}" != Xset; then
 # find a string as large as possible, as long as the shell can cope with it
   for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
     # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
-       echo_test_string="`eval $cmd`" &&
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
        (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
     then
       break
@@ -529,7 +533,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
-    case "`/usr/bin/file conftest.o`" in
+    case `/usr/bin/file conftest.o` in
     *32-bit*)
       case $host in
         x86_64-*linux*)
@@ -580,6 +584,22 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)    LD="${LD-ld} -64" ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
 [*-*-cygwin* | *-*-mingw* | *-*-pw32*)
   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
@@ -611,7 +631,7 @@ AC_CACHE_CHECK([$1], [$2],
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
@@ -622,9 +642,9 @@ AC_CACHE_CHECK([$1], [$2],
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
-     $SED '/^$/d' conftest.err >conftest.er2
-     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        $2=yes
      fi
    fi
@@ -650,13 +670,13 @@ AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
    LDFLAGS="$LDFLAGS $3"
    printf "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The compiler can only warn and ignore the option if not recognized
+     # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp
-       $SED '/^$/d' conftest.err >conftest.er2
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
          $2=yes
        fi
@@ -725,25 +745,42 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     elif test -x /usr/sbin/sysctl; then
       lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
     else
-      lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
+      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
     fi
     # And add a safety zone
     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
     # nice to cause kernel panics so lets avoid the loop below.
     # First set a reasonable default.
     lt_cv_sys_max_cmd_len=16384
-    # 
+    #
     if test -x /sbin/sysconfig; then
       case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
         *1*) lt_cv_sys_max_cmd_len=-1 ;;
       esac
     fi
     ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[       ]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
   *)
     # If test is not a shell built-in, we'll probably end up computing a
     # maximum length that is only half of the actual maximum length, but
@@ -775,7 +812,7 @@ fi
 
 
 # _LT_AC_CHECK_DLFCN
-# --------------------
+# ------------------
 AC_DEFUN([_LT_AC_CHECK_DLFCN],
 [AC_CHECK_HEADERS(dlfcn.h)dnl
 ])# _LT_AC_CHECK_DLFCN
@@ -783,7 +820,7 @@ AC_DEFUN([_LT_AC_CHECK_DLFCN],
 
 # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
 #                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ------------------------------------------------------------------
+# ---------------------------------------------------------------------
 AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
 [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
 if test "$cross_compiling" = yes; then :
@@ -849,17 +886,19 @@ int main ()
       else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
       /* dlclose (self); */
     }
+  else
+    puts (dlerror ());
 
     exit (status);
 }]
 EOF
   if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
     lt_status=$?
     case x$lt_status in
       x$lt_dlno_uscore) $1 ;;
       x$lt_dlneed_uscore) $2 ;;
-      x$lt_unknown|x*) $3 ;;
+      x$lt_dlunknown|x*) $3 ;;
     esac
   else :
     # compilation failed
@@ -871,7 +910,7 @@ rm -fr conftest*
 
 
 # AC_LIBTOOL_DLOPEN_SELF
-# -------------------
+# ----------------------
 AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
 [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
 if test "x$enable_dlopen" != xyes; then
@@ -942,7 +981,7 @@ else
     test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
 
     save_LDFLAGS="$LDFLAGS"
-    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
 
     save_LIBS="$LIBS"
     LIBS="$lt_cv_dlopen_libs $LIBS"
@@ -955,7 +994,7 @@ else
     ])
 
     if test "x$lt_cv_dlopen_self" = xyes; then
-      LDFLAGS="$LDFLAGS $link_static_flag"
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
          lt_cv_dlopen_self_static, [dnl
          _LT_AC_TRY_DLOPEN_SELF(
@@ -1003,7 +1042,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
@@ -1015,13 +1054,13 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
-     $SED '/^$/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
      fi
    fi
-   chmod u+w .
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
    $rm conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
@@ -1281,7 +1320,8 @@ cygwin* | mingw* | pw32*)
       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $rm \$dlpath'
@@ -1334,7 +1374,7 @@ darwin* | rhapsody*)
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
   if test "$GCC" = yes; then
     sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
@@ -1372,7 +1412,14 @@ kfreebsd*-gnu)
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[123]]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
@@ -1394,10 +1441,15 @@ freebsd* | dragonfly*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
-  *) # from 3.2 on
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
   esac
   ;;
 
@@ -1417,7 +1469,7 @@ hpux9* | hpux10* | hpux11*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     shrext_cmds='.so'
     hardcode_into_libs=yes
@@ -1457,6 +1509,18 @@ hpux9* | hpux10* | hpux11*)
   postinstall_cmds='chmod 555 $lib'
   ;;
 
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
 irix5* | irix6* | nonstopux*)
   case $host_os in
     nonstopux*) version_type=nonstopux ;;
@@ -1533,7 +1597,7 @@ linux*)
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
@@ -1595,8 +1659,13 @@ nto-qnx*)
 
 openbsd*)
   version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
   need_lib_prefix=no
-  need_version=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -1634,13 +1703,6 @@ osf3* | osf4* | osf5*)
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
-sco3.2v5*)
-  version_type=osf
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -1666,7 +1728,7 @@ sunos4*)
   need_version=yes
   ;;
 
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
   version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -1699,6 +1761,29 @@ sysv4*MP*)
   fi
   ;;
 
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+       ;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
 uts4*)
   version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -1712,6 +1797,11 @@ uts4*)
 esac
 AC_MSG_RESULT([$dynamic_linker])
 test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
 
 
@@ -1736,6 +1826,9 @@ if test -f "$ltmain" && test -n "$tagnames"; then
       AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
     fi
   fi
+  if test -z "$LTCFLAGS"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+  fi
 
   # Extract list of available tagged configurations in $ofile.
   # Note that this assumes the entire list is on one line.
@@ -1826,7 +1919,7 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN],
 
 # AC_LIBTOOL_WIN32_DLL
 # --------------------
-# declare package support for building win32 dll's
+# declare package support for building win32 DLLs
 AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
 [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
 ])# AC_LIBTOOL_WIN32_DLL
@@ -1864,7 +1957,7 @@ AC_ARG_ENABLE([shared],
 
 # AC_DISABLE_SHARED
 # -----------------
-#- set the default shared flag to --disable-shared
+# set the default shared flag to --disable-shared
 AC_DEFUN([AC_DISABLE_SHARED],
 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
 AC_ENABLE_SHARED(no)
@@ -2000,7 +2093,7 @@ dnl not every word.  This closes a longstanding sh security hole.
       if test -n "$file_magic_test_file"; then
        case $deplibs_check_method in
        "file_magic "*)
-         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
          MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
            $EGREP "$file_magic_regex" > /dev/null; then
@@ -2110,7 +2203,7 @@ AC_CACHE_VAL(lt_cv_path_LD,
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
       lt_cv_path_LD="$ac_dir/$ac_prog"
       # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
+      # but apparently some variants of GNU ld only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
       case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
       *GNU* | *'with BFD'*)
@@ -2142,7 +2235,7 @@ AC_PROG_LD_GNU
 AC_DEFUN([AC_PROG_LD_GNU],
 [AC_REQUIRE([AC_PROG_EGREP])dnl
 AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
   lt_cv_prog_gnu_ld=yes
@@ -2172,7 +2265,7 @@ reload_cmds='$LD$reload_flag -o $output$reload_objs'
 case $host_os in
   darwin*)
     if test "$GCC" = yes; then
-      reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs'
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
     else
       reload_cmds='$LD$reload_flag -o $output$reload_objs'
     fi
@@ -2256,7 +2349,7 @@ gnu*)
 
 hpux10.20* | hpux11*)
   lt_cv_file_magic_cmd=/usr/bin/file
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
     lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
@@ -2272,6 +2365,11 @@ hpux10.20* | hpux11*)
   esac
   ;;
 
+interix3*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
 irix5* | irix6* | nonstopux*)
   case $LD in
   *-32|*"-32 ") libmagic=32-bit;;
@@ -2317,15 +2415,11 @@ osf3* | osf4* | osf5*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-sco3.2v5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
 solaris*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
   case $host_vendor in
   motorola)
     lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
@@ -2346,10 +2440,13 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
   siemens)
     lt_cv_deplibs_check_method=pass_all
     ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
   esac
   ;;
 
-sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*)
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 esac
@@ -2369,36 +2466,43 @@ AC_DEFUN([AC_PROG_NM],
   # Let the user override the test.
   lt_cv_path_NM="$NM"
 else
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    tmp_nm="$ac_dir/${ac_tool_prefix}nm"
-    if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-      # Check to see if the nm accepts a BSD-compat flag.
-      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-      #   nm: unknown option "B" ignored
-      # Tru64's nm complains that /dev/null is an invalid object file
-      case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-      */dev/null* | *'Invalid file or object type'*)
-       lt_cv_path_NM="$tmp_nm -B"
-       break
-        ;;
-      *)
-       case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-       */dev/null*)
-         lt_cv_path_NM="$tmp_nm -p"
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+       # Check to see if the nm accepts a BSD-compat flag.
+       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+       #   nm: unknown option "B" ignored
+       # Tru64's nm complains that /dev/null is an invalid object file
+       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+       */dev/null* | *'Invalid file or object type'*)
+         lt_cv_path_NM="$tmp_nm -B"
          break
          ;;
        *)
-         lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-         continue # so that we can try to find one that supports BSD flags
+         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+         */dev/null*)
+           lt_cv_path_NM="$tmp_nm -p"
+           break
+           ;;
+         *)
+           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+           continue # so that we can try to find one that supports BSD flags
+           ;;
+         esac
          ;;
        esac
-      esac
-    fi
+      fi
+    done
+    IFS="$lt_save_ifs"
   done
-  IFS="$lt_save_ifs"
   test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
 fi])
 NM="$lt_cv_path_NM"
@@ -2430,13 +2534,13 @@ esac
 # -----------------------------------
 # sets LIBLTDL to the link flags for the libltdl convenience library and
 # LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments.  Note that LIBLTDL
-# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If
-# DIRECTORY is not provided, it is assumed to be `libltdl'.  LIBLTDL will
-# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
-# '${top_srcdir}/' (note the single quotes!).  If your package is not
-# flat and you're not using automake, define top_builddir and
-# top_srcdir appropriately in the Makefiles.
+# --enable-ltdl-convenience to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
+# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
+# (note the single quotes!).  If your package is not flat and you're not
+# using automake, define top_builddir and top_srcdir appropriately in
+# the Makefiles.
 AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
   case $enable_ltdl_convenience in
@@ -2455,13 +2559,13 @@ AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
 # -----------------------------------
 # sets LIBLTDL to the link flags for the libltdl installable library and
 # LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments.  Note that LIBLTDL
-# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If
-# DIRECTORY is not provided and an installed libltdl is not found, it is
-# assumed to be `libltdl'.  LIBLTDL will be prefixed with '${top_builddir}/'
-# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
-# quotes!).  If your package is not flat and you're not using automake,
-# define top_builddir and top_srcdir appropriately in the Makefiles.
+# --enable-ltdl-install to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# and an installed libltdl is not found, it is assumed to be `libltdl'.
+# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and top_srcdir
+# appropriately in the Makefiles.
 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
 AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
@@ -2504,7 +2608,7 @@ _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
 ])# _LT_AC_LANG_CXX
 
 # _LT_AC_PROG_CXXCPP
-# ---------------
+# ------------------
 AC_DEFUN([_LT_AC_PROG_CXXCPP],
 [
 AC_REQUIRE([AC_PROG_CXX])
@@ -2553,7 +2657,7 @@ _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
 
 
 # AC_LIBTOOL_RC
-# --------------
+# -------------
 # enable support for Windows resource files
 AC_DEFUN([AC_LIBTOOL_RC],
 [AC_REQUIRE([LT_AC_PROG_RC])
@@ -2590,37 +2694,6 @@ _LT_AC_SYS_COMPILER
 _LT_COMPILER_BOILERPLATE
 _LT_LINKER_BOILERPLATE
 
-#
-# Check for any special shared library compilation flags.
-#
-_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)=
-if test "$GCC" = no; then
-  case $host_os in
-  sco3.2v5*)
-    _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf'
-    ;;
-  esac
-fi
-if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then
-  AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries])
-  if echo "$old_CC $old_CFLAGS " | grep "[[    ]]$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[        ]]" >/dev/null; then :
-  else
-    AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure])
-    _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no
-  fi
-fi
-
-
-#
-# Check to make sure the static flag actually works.
-#
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works],
-  _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
-  $_LT_AC_TAGVAR(lt_prog_compiler_static, $1),
-  [],
-  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-
-
 AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
 AC_LIBTOOL_PROG_COMPILER_PIC($1)
 AC_LIBTOOL_PROG_CC_C_O($1)
@@ -2629,9 +2702,9 @@ AC_LIBTOOL_PROG_LD_SHLIBS($1)
 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
 AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF($1)
+AC_LIBTOOL_DLOPEN_SELF
 
-# Report which librarie types wil actually be built
+# Report which library types will actually be built
 AC_MSG_CHECKING([if libtool supports shared libraries])
 AC_MSG_RESULT([$can_build_shared])
 
@@ -2640,7 +2713,7 @@ test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
 # are all built from PIC.
-case "$host_os" in
+case $host_os in
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
@@ -2690,6 +2763,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
 _LT_AC_TAGVAR(hardcode_automatic, $1)=no
 _LT_AC_TAGVAR(module_cmds, $1)=
 _LT_AC_TAGVAR(module_expsym_cmds, $1)=
@@ -2707,7 +2781,7 @@ _LT_AC_TAGVAR(postdeps, $1)=
 _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
 
 # Source file extension for C++ test sources.
-ac_ext=cc
+ac_ext=cpp
 
 # Object file extension for compiled C++ test sources.
 objext=o
@@ -2717,7 +2791,7 @@ _LT_AC_TAGVAR(objext, $1)=$objext
 lt_simple_compile_test_code="int some_variable = 0;\n"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
@@ -2736,12 +2810,12 @@ lt_save_path_LD=$lt_cv_path_LD
 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
   lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
 else
-  unset lt_cv_prog_gnu_ld
+  $as_unset lt_cv_prog_gnu_ld
 fi
 if test -n "${lt_cv_path_LDCXX+set}"; then
   lt_cv_path_LD=$lt_cv_path_LDCXX
 else
-  unset lt_cv_path_LD
+  $as_unset lt_cv_path_LD
 fi
 test -z "${LDCXX+set}" || LD=$LDCXX
 CC=${CXX-"c++"}
@@ -2836,6 +2910,7 @@ case $host_os in
            ;;
          esac
        done
+       ;;
       esac
 
       exp_sym_flag='-bexport'
@@ -2873,6 +2948,7 @@ case $host_os in
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
        fi
+       ;;
       esac
       shared_flag='-shared'
       if test "$aix_use_runtimelinking" = yes; then
@@ -2904,12 +2980,12 @@ case $host_os in
       _LT_AC_SYS_LIBPATH_AIX
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
 
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
      else
       if test "$host_cpu" = ia64; then
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
        _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
       else
        # Determine the default libpath from the value encoded in an empty executable.
        _LT_AC_SYS_LIBPATH_AIX
@@ -2918,16 +2994,26 @@ case $host_os in
        # -berok will link without error, but may produce a broken library.
        _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-       # -bexpall does not export symbols beginning with underscore (_)
-       _LT_AC_TAGVAR(always_export_symbols, $1)=yes
        # Exported symbols can be pulled into shared objects from archives
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
        _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-       # This is similar to how AIX traditionally builds it's shared libraries.
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+       # This is similar to how AIX traditionally builds its shared libraries.
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
       fi
     fi
     ;;
+
+  beos*)
+    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+    ;;
+
   chorus*)
     case $cc_basename in
       *)
@@ -2937,7 +3023,6 @@ case $host_os in
     esac
     ;;
 
-
   cygwin* | mingw* | pw32*)
     # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
     # as there is no search path for DLLs.
@@ -2947,7 +3032,7 @@ case $host_os in
     _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
 
     if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
       # If the export-symbols file already is a .def file (1st line
       # is EXPORTS), use it as is; otherwise, prepend...
       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -2956,13 +3041,13 @@ case $host_os in
        echo EXPORTS > $output_objdir/$soname.def;
        cat $export_symbols >> $output_objdir/$soname.def;
       fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     else
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
     fi
   ;;
       darwin* | rhapsody*)
-        case "$host_os" in
+        case $host_os in
         rhapsody* | darwin1.[[012]])
          _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
          ;;
@@ -3000,7 +3085,7 @@ case $host_os in
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
         fi
         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
           if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
             _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           else
@@ -3013,7 +3098,7 @@ case $host_os in
          output_verbose_link_cmd='echo'
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
           _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
@@ -3093,34 +3178,23 @@ case $host_os in
     ;;
   hpux10*|hpux11*)
     if test $with_gnu_ld = no; then
-      case "$host_cpu" in
-      hppa*64*)
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+      case $host_cpu in
+      hppa*64*|ia64*)
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-        ;;
-      ia64*)
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         ;;
       *)
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         ;;
       esac
     fi
-    case "$host_cpu" in
-    hppa*64*)
+    case $host_cpu in
+    hppa*64*|ia64*)
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
-    ia64*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-                                             # but as the default
-                                             # location of the library.
-      ;;
     *)
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
@@ -3135,9 +3209,12 @@ case $host_os in
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
       aCC*)
-       case "$host_cpu" in
-       hppa*64*|ia64*)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+       case $host_cpu in
+       hppa*64*)
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+         ;;
+       ia64*)
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
          ;;
        *)
          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -3156,9 +3233,12 @@ case $host_os in
       *)
        if test "$GXX" = yes; then
          if test $with_gnu_ld = no; then
-           case "$host_cpu" in
-           ia64*|hppa*64*)
-             _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+           case $host_cpu in
+           hppa*64*)
+             _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+             ;;
+           ia64*)
+             _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
              ;;
            *)
              _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -3172,6 +3252,20 @@ case $host_os in
        ;;
     esac
     ;;
+  interix3*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+    # Instead, shared libraries are loaded at an image base (0x10000000 by
+    # default) and relocated if they conflict, which is a slow very memory
+    # consuming and fragmenting process.  To avoid this, we pick a random,
+    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    ;;
   irix5* | irix6*)
     case $cc_basename in
       CC*)
@@ -3252,12 +3346,12 @@ case $host_os in
        ;;
       pgCC*)
         # Portland Group C++ compiler
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
         ;;
       cxx*)
        # Compaq C++
@@ -3454,19 +3548,6 @@ case $host_os in
     # FIXME: insert proper C++ library support
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
-  sco*)
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    case $cc_basename in
-      CC*)
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-      *)
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-    esac
-    ;;
   sunos4*)
     case $cc_basename in
       CC*)
@@ -3489,10 +3570,11 @@ case $host_os in
     case $cc_basename in
       CC*)
        # Sun C++ 4.2, 5.x and Centerline C++
+        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
        _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-       $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+       $CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
        _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -3512,15 +3594,7 @@ case $host_os in
        esac
        _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+       output_verbose_link_cmd='echo'
 
        # Archives containing C++ object files must be created using
        # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -3566,8 +3640,59 @@ case $host_os in
        ;;
     esac
     ;;
-  sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
+  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+      *)
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+    esac
+    ;;
+  sysv5* | sco3.2v5* | sco5v6*)
+    # Note: We can NOT use -z defs as we might desire, because we do not
+    # link with -lc, and that would cause any symbols used from libc to
+    # always be unresolved, which means just about no library would
+    # ever link correctly.  If we're not using GNU ld we use -z text
+    # though, which does catch some bad symbols but isn't as heavy-handed
+    # as -z defs.
+    # For security reasons, it is highly recommended that you always
+    # use absolute paths for naming shared libraries, and exclude the
+    # DT_RUNPATH tag from executables and libraries.  But doing so
+    # requires that you compile everything twice, which is a pain.
+    # So that behaviour is only enabled if SCOABSPATH is set to a
+    # non-empty value in the environment.  Most likely only useful for
+    # creating official distributions of packages.
+    # This is a hack until libtool officially supports absolute path
+    # names for shared libraries.
+    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+      *)
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+    esac
     ;;
   tandem*)
     case $cc_basename in
@@ -3604,8 +3729,6 @@ AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
 AC_LIBTOOL_PROG_LD_SHLIBS($1)
 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF($1)
 
 AC_LIBTOOL_CONFIG($1)
 
@@ -3623,7 +3746,7 @@ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
 ])# AC_LIBTOOL_LANG_CXX_CONFIG
 
 # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------
+# ------------------------------------
 # Figure out "hidden" library dependencies from verbose
 # compiler output when linking a shared library.
 # Parse the compiler output and extract the necessary
@@ -3677,7 +3800,7 @@ if AC_TRY_EVAL(ac_compile); then
   # The `*' in the case matches for architectures that use `case' in
   # $output_verbose_cmd can trigger glob expansion during the loop
   # eval without this substitution.
-  output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
 
   for p in `eval $output_verbose_link_cmd`; do
     case $p in
@@ -3753,13 +3876,37 @@ fi
 
 $rm -f confest.$objext
 
+# PORTME: override above test on systems where it is broken
+ifelse([$1],[CXX],
+[case $host_os in
+interix3*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_AC_TAGVAR(predep_objects,$1)=
+  _LT_AC_TAGVAR(postdep_objects,$1)=
+  _LT_AC_TAGVAR(postdeps,$1)=
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+    ;;
+  esac
+  ;;
+esac
+])
+
 case " $_LT_AC_TAGVAR(postdeps, $1) " in
 *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
 esac
 ])# AC_LIBTOOL_POSTDEP_PREDEP
 
 # AC_LIBTOOL_LANG_F77_CONFIG
-# ------------------------
+# --------------------------
 # Ensure that the configuration vars for the C compiler are
 # suitably defined.  Those variables are subsequently used by
 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
@@ -3822,7 +3969,7 @@ test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
 # are all built from PIC.
-case "$host_os" in
+case $host_os in
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
@@ -3843,8 +3990,6 @@ AC_MSG_CHECKING([whether to build static libraries])
 test "$enable_shared" = yes || enable_static=yes
 AC_MSG_RESULT([$enable_static])
 
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
 _LT_AC_TAGVAR(GCC, $1)="$G77"
 _LT_AC_TAGVAR(LD, $1)="$LD"
 
@@ -3854,8 +3999,6 @@ AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
 AC_LIBTOOL_PROG_LD_SHLIBS($1)
 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-
 
 AC_LIBTOOL_CONFIG($1)
 
@@ -3912,8 +4055,6 @@ AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
 AC_LIBTOOL_PROG_LD_SHLIBS($1)
 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF($1)
 
 AC_LIBTOOL_CONFIG($1)
 
@@ -3923,7 +4064,7 @@ CC="$lt_save_CC"
 
 
 # AC_LIBTOOL_LANG_RC_CONFIG
-# --------------------------
+# -------------------------
 # Ensure that the configuration vars for the Windows resource compiler are
 # suitably defined.  Those variables are subsequently used by
 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
@@ -3986,7 +4127,7 @@ if test -f "$ltmain"; then
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
     SED SHELL STRIP \
     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
     old_striplib striplib file_magic_cmd finish_cmds finish_eval \
@@ -4155,12 +4296,18 @@ AR_FLAGS=$lt_AR_FLAGS
 # A C compiler.
 LTCC=$lt_LTCC
 
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
 # A language-specific compiler.
 CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
 
 # Is the compiler the GNU C compiler?
 with_gcc=$_LT_AC_TAGVAR(GCC, $1)
 
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
 # An ERE matcher.
 EGREP=$lt_EGREP
 
@@ -4294,11 +4441,11 @@ striplib=$lt_striplib
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+predep_objects=\`echo $lt_[]_LT_AC_TAGVAR(predep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Dependencies to place after the objects being linked to create a
 # shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+postdep_objects=\`echo $lt_[]_LT_AC_TAGVAR(postdep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
@@ -4310,7 +4457,7 @@ postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
 
 # The library search path used internally by the compiler when linking
 # a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+compiler_lib_search_path=\`echo $lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Method to check whether dependent libraries are shared objects.
 deplibs_check_method=$lt_deplibs_check_method
@@ -4390,7 +4537,7 @@ variables_saved_for_relink="$variables_saved_for_relink"
 link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
 
 # Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Run-time system search path for libraries
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -4528,9 +4675,18 @@ irix* | nonstopux*)
 osf*)
   symcode='[[BCDEGQRST]]'
   ;;
-solaris* | sysv5*)
+solaris*)
   symcode='[[BDRT]]'
   ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
 sysv4)
   symcode='[[DFNSTU]]'
   ;;
@@ -4713,6 +4869,10 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       # DJGPP does not support shared libraries at all
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
       ;;
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
     sysv4*MP*)
       if test -d /usr/nec; then
        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
@@ -4721,7 +4881,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
     hpux*)
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        ;;
       *)
@@ -4782,15 +4942,15 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        case $cc_basename in
          CC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
            if test "$host_cpu" != ia64; then
              _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
            fi
            ;;
          aCC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
-           case "$host_cpu" in
+           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+           case $host_cpu in
            hppa*64*|ia64*)
              # +Z the default
              ;;
@@ -4803,6 +4963,10 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
            ;;
        esac
        ;;
+      interix*)
+       # This is c89, which is MS Visual C++ (no shared libs)
+       # Anyone wants to do a port?
+       ;;
       irix5* | irix6* | nonstopux*)
        case $cc_basename in
          CC*)
@@ -4831,7 +4995,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
            # Portland Group C++ compiler.
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            ;;
          cxx*)
            # Compaq C++
@@ -4882,15 +5046,6 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       psos*)
        ;;
-      sco*)
-       case $cc_basename in
-         CC*)
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
       solaris*)
        case $cc_basename in
          CC*)
@@ -4932,7 +5087,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
            ;;
        esac
        ;;
-      unixware*)
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+       case $cc_basename in
+         CC*)
+           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+           ;;
+       esac
        ;;
       vxworks*)
        ;;
@@ -4979,6 +5141,11 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
       ;;
 
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
     msdosdjgpp*)
       # Just because we use GCC doesn't mean we suddenly get shared libraries
       # on systems that don't support them.
@@ -4995,7 +5162,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
     hpux*)
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -5042,7 +5209,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -5072,12 +5239,12 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
-      pgcc* | pgf77* | pgf90*)
+      pgcc* | pgf77* | pgf90* | pgf95*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         ;;
       ccc*)
         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -5093,11 +5260,6 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
-    sco3.2v5*)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn'
-      ;;
-
     solaris*)
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -5115,7 +5277,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       ;;
 
-    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+    sysv4 | sysv4.2uw2* | sysv4.3*)
       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -5128,6 +5290,12 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       fi
       ;;
 
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
     unicos*)
       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
       _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
@@ -5160,7 +5328,7 @@ if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
     [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
 fi
-case "$host_os" in
+case $host_os in
   # For platforms which do not support PIC, -DPIC is meaningless:
   *djgpp*)
     _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
@@ -5169,6 +5337,16 @@ case "$host_os" in
     _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
     ;;
 esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
+AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
 ])
 
 
@@ -5247,6 +5425,10 @@ ifelse([$1],[CXX],[
       with_gnu_ld=no
     fi
     ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
   openbsd*)
     with_gnu_ld=no
     ;;
@@ -5256,7 +5438,7 @@ ifelse([$1],[CXX],[
   if test "$with_gnu_ld" = yes; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
-    
+
     # Set some defaults for GNU ld with shared library support. These
     # are reset later if shared libraries are not supported. Putting them
     # here allows them to be overridden if necessary.
@@ -5277,7 +5459,7 @@ ifelse([$1],[CXX],[
       *\ 2.11.*) ;; # other 2.11 versions
       *) supports_anon_versioning=yes ;;
     esac
-    
+
     # See if GNU ld supports shared libraries.
     case $host_os in
     aix3* | aix4* | aix5*)
@@ -5331,7 +5513,7 @@ EOF
       _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
        # If the export-symbols file already is a .def file (1st line
        # is EXPORTS), use it as is; otherwise, prepend...
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -5340,22 +5522,38 @@ EOF
          echo EXPORTS > $output_objdir/$soname.def;
          cat $export_symbols >> $output_objdir/$soname.def;
        fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000  ${wl}--out-implib,$lib'
+       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
       else
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
 
+    interix3*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
     linux*)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        tmp_addflag=
        case $cc_basename,$host_cpu in
        pgcc*)                          # Portland Group C compiler
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
          ;;
-       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-         tmp_addflag=' -fpic -Mnomain' ;;
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
@@ -5386,7 +5584,7 @@ EOF
       fi
       ;;
 
-    solaris* | sysv5*)
+    solaris*)
       if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        cat <<EOF 1>&2
@@ -5407,6 +5605,33 @@ EOF
       fi
       ;;
 
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 
+       _LT_AC_TAGVAR(ld_shlibs, $1)=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+       ;;
+       *)
+         if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+         else
+           _LT_AC_TAGVAR(ld_shlibs, $1)=no
+         fi
+       ;;
+      esac
+      ;;
+
     sunos4*)
       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       wlarc=
@@ -5440,7 +5665,7 @@ EOF
       # Note: this linker hardcodes the directories in LIBPATH if there
       # are no directories specified by -L.
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$link_static_flag"; then
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
        # Neither direct hardcoding nor static linking is supported with a
        # broken collect2.
        _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
@@ -5474,6 +5699,7 @@ EOF
            break
          fi
          done
+         ;;
        esac
 
        exp_sym_flag='-bexport'
@@ -5511,6 +5737,7 @@ EOF
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
          fi
+         ;;
        esac
        shared_flag='-shared'
        if test "$aix_use_runtimelinking" = yes; then
@@ -5523,11 +5750,11 @@ EOF
        # chokes on -Wl,-G. The following line is correct:
          shared_flag='-G'
        else
-       if test "$aix_use_runtimelinking" = yes; then
+         if test "$aix_use_runtimelinking" = yes; then
            shared_flag='${wl}-G'
          else
            shared_flag='${wl}-bM:SRE'
-       fi
+         fi
        fi
       fi
 
@@ -5541,12 +5768,12 @@ EOF
        # Determine the default libpath from the value encoded in an empty executable.
        _LT_AC_SYS_LIBPATH_AIX
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
        else
        if test "$host_cpu" = ia64; then
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
          _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
        else
         # Determine the default libpath from the value encoded in an empty executable.
         _LT_AC_SYS_LIBPATH_AIX
@@ -5555,13 +5782,11 @@ EOF
          # -berok will link without error, but may produce a broken library.
          _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
          _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-         # -bexpall does not export symbols beginning with underscore (_)
-         _LT_AC_TAGVAR(always_export_symbols, $1)=yes
          # Exported symbols can be pulled into shared objects from archives
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
          _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-         # This is similar to how AIX traditionally builds it's shared libraries.
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+         # This is similar to how AIX traditionally builds its shared libraries.
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
        fi
       fi
       ;;
@@ -5600,7 +5825,7 @@ EOF
       ;;
 
     darwin* | rhapsody*)
-      case "$host_os" in
+      case $host_os in
         rhapsody* | darwin1.[[012]])
          _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
          ;;
@@ -5629,7 +5854,7 @@ EOF
        output_verbose_link_cmd='echo'
         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
@@ -5638,7 +5863,7 @@ EOF
          output_verbose_link_cmd='echo'
          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
@@ -5702,47 +5927,62 @@ EOF
       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
       ;;
 
-    hpux10* | hpux11*)
+    hpux10*)
       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case "$host_cpu" in
-       hppa*64*|ia64*)
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+       # hardcode_minus_L: Not really in the search PATH,
+       # but as the default location of the library.
+       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       case $host_cpu in
+       hppa*64*)
          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
+       ia64*)
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
        *)
          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        esac
       else
-       case "$host_cpu" in
-       hppa*64*|ia64*)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+       case $host_cpu in
+       hppa*64*)
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        esac
       fi
       if test "$with_gnu_ld" = no; then
-       case "$host_cpu" in
-       hppa*64*)
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+       case $host_cpu in
+       hppa*64*|ia64*)
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
          _LT_AC_TAGVAR(hardcode_direct, $1)=no
          _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
          ;;
-       ia64*)
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-         _LT_AC_TAGVAR(hardcode_direct, $1)=no
-         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-         ;;
        *)
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
          _LT_AC_TAGVAR(hardcode_direct, $1)=yes
          _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
 
@@ -5844,14 +6084,6 @@ EOF
       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
       ;;
 
-    sco3.2v5*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-      runpath_var=LD_RUN_PATH
-      hardcode_runpath_var=yes
-      ;;
-
     solaris*)
       _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
       if test "$GCC" = yes; then
@@ -5937,36 +6169,45 @@ EOF
       fi
       ;;
 
-    sysv4.2uw2*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
+      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      hardcode_runpath_var=yes
-      runpath_var=LD_RUN_PATH
-      ;;
+      runpath_var='LD_RUN_PATH'
 
-   sysv5OpenUNIX8* | sysv5UnixWare7* |  sysv5uw[[78]]* | unixware7*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text'
       if test "$GCC" = yes; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
-      runpath_var='LD_RUN_PATH'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
-    sysv5*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
-      # $CC -shared without GNU ld will not create a library from C++
-      # object files and a static libstdc++, better avoid it by now
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
       runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
       ;;
 
     uts4*)
@@ -5984,11 +6225,6 @@ EOF
 AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
 test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
 
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
 #
 # Do we need to explicitly link libc?
 #
@@ -6016,6 +6252,7 @@ x|xyes)
         libobjs=conftest.$ac_objext
         deplibs=
         wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+       pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
         compiler_flags=-v
         linker_flags=-v
         verstring=
@@ -6136,6 +6373,7 @@ do
     done
   done
 done
+IFS=$as_save_IFS
 lt_ac_max=0
 lt_ac_count=0
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
@@ -6168,6 +6406,7 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
 done
 ])
 SED=$lt_cv_path_SED
+AC_SUBST([SED])
 AC_MSG_RESULT([$SED])
 ])
 
@@ -6188,7 +6427,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
 # Call AM_AUTOMAKE_VERSION so it can be traced.
 # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-        [AM_AUTOMAKE_VERSION([1.9.5])])
+        [AM_AUTOMAKE_VERSION([1.9.6])])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
@@ -6925,7 +7164,7 @@ AC_DEFUN([AM_PATH_PYTHON],
   dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages
   dnl in 1.5.
   m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
-                    [python python2 python2.4 python2.3 python2.2 dnl
+                    [python python2 python2.5 python2.4 python2.3 python2.2 dnl
 python2.1 python2.0 python1.6 python1.5])
 
   m4_if([$1],[],[
@@ -7253,7 +7492,6 @@ m4_include([m4/ensc_dietlibc.m4])
 m4_include([m4/ensc_dietlibc_compat.m4])
 m4_include([m4/ensc_e2fscheck.m4])
 m4_include([m4/ensc_initrddir.m4])
-m4_include([m4/ensc_kerneldir.m4])
 m4_include([m4/ensc_pathprog.m4])
 m4_include([m4/ensc_personality.m4])
 m4_include([m4/ensc_release.m4])
index 7f3c566..25e24d8 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: compat-c99.h,v 1.1 2003/12/26 00:49:32 uid68581 Exp $    --*- c -*--
+// $Id: compat-c99.h 2283 2006-09-10 17:07:57Z hollow $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 225af24..dc3a7e6 100644 (file)
--- a/compat.h
+++ b/compat.h
@@ -1,4 +1,4 @@
-// $Id: compat.h,v 1.17 2004/04/22 20:47:31 ensc Exp $    --*- c++ -*--
+// $Id: compat.h 2283 2006-09-10 17:07:57Z hollow $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/compile b/compile
index ad57e2f..1b1d232 100755 (executable)
--- a/compile
+++ b/compile
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand `-c -o'.
 
-scriptversion=2005-02-03.08
+scriptversion=2005-05-14.22
 
 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
@@ -18,7 +18,7 @@ scriptversion=2005-02-03.08
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
index 2fc3acc..917bbc5 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
-timestamp='2003-06-17'
+timestamp='2005-07-08'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -17,13 +17,15 @@ timestamp='2003-06-17'
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
+
 # Originally written by Per Bothner <per@bothner.com>.
 # Please send patches to <config-patches@gnu.org>.  Submit a context
 # diff and a properly formatted ChangeLog entry.
@@ -53,7 +55,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -66,11 +68,11 @@ Try \`$me --help' for more information."
 while test $# -gt 0 ; do
   case $1 in
     --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
+       echo "$timestamp" ; exit ;;
     --version | -v )
-       echo "$version" ; exit ;;
+       echo "$version" ; exit ;;
     --help | --h* | -h )
-       echo "$usage"; exit ;;
+       echo "$usage"; exit ;;
     -- )     # Stop option processing
        shift; break ;;
     - )        # Use stdin as input.
@@ -123,7 +125,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in
        ;;
  ,,*)   CC_FOR_BUILD=$CC ;;
  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
+esac ; set_cc_for_build= ;'
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
 # (ghazi@noc.rutgers.edu 1994-08-24)
@@ -136,13 +138,6 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
-## for Red Hat Linux
-if test -f /etc/redhat-release ; then
-    VENDOR=redhat ;
-else
-    VENDOR= ;
-fi
-
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -203,50 +198,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
        echo "${machine}-${os}${release}"
-       exit 0 ;;
-    amiga:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    arc:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    hp300:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    mac68k:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    macppc:OpenBSD:*:*)
-       echo powerpc-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    mvme68k:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    mvme88k:OpenBSD:*:*)
-       echo m88k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    mvmeppc:OpenBSD:*:*)
-       echo powerpc-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    pmax:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    sgi:OpenBSD:*:*)
-       echo mipseb-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    sun3:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
+       exit ;;
     *:OpenBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
+       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+       exit ;;
+    *:ekkoBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+       exit ;;
+    macppc:MirBSD:*:*)
+       echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+       exit ;;
+    *:MirBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+       exit ;;
     alpha:OSF1:*:*)
-       if test $UNAME_RELEASE = "V4.0"; then
+       case $UNAME_RELEASE in
+       *4.0)
                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-       fi
+               ;;
+       *5.*)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+               ;;
+       esac
        # According to Compaq, /usr/sbin/psrinfo has been available on
        # OSF/1 and Tru64 systems produced since 1995.  I hope that
        # covers most systems running today.  This code pipes the CPU
@@ -284,42 +258,49 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
            "EV7.9 (21364A)")
                UNAME_MACHINE="alphaev79" ;;
        esac
+       # A Pn.n version is a patched version.
        # A Vn.n version is a released version.
        # A Tn.n version is a released field test version.
        # A Xn.n version is an unreleased experimental baselevel.
        # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       exit 0 ;;
-    Alpha*:OpenVMS:*:*)
-       echo alpha-hp-vms
-       exit 0 ;;
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+       exit ;;
     Alpha\ *:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
        # Should we change UNAME_MACHINE based on the output of uname instead
        # of the specific Alpha model?
        echo alpha-pc-interix
-       exit ;;
+       exit ;;
     21064:Windows_NT:50:3)
        echo alpha-dec-winnt3.5
-       exit ;;
+       exit ;;
     Amiga*:UNIX_System_V:4.0:*)
        echo m68k-unknown-sysv4
-       exit 0;;
+       exit ;;
     *:[Aa]miga[Oo][Ss]:*:*)
        echo ${UNAME_MACHINE}-unknown-amigaos
-       exit ;;
+       exit ;;
     *:[Mm]orph[Oo][Ss]:*:*)
        echo ${UNAME_MACHINE}-unknown-morphos
-       exit ;;
+       exit ;;
     *:OS/390:*:*)
        echo i370-ibm-openedition
-       exit 0 ;;
+       exit ;;
+    *:z/VM:*:*)
+       echo s390-ibm-zvmoe
+       exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+       exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
-       exit 0;;
+       exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+       echo arm-unknown-riscos
+       exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
        echo hppa1.1-hitachi-hiuxmpp
-       exit 0;;
+       exit ;;
     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
        # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
        if test "`(/bin/universe) 2>/dev/null`" = att ; then
@@ -327,32 +308,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        else
                echo pyramid-pyramid-bsd
        fi
-       exit ;;
+       exit ;;
     NILE*:*:*:dcosx)
        echo pyramid-pyramid-svr4
-       exit ;;
+       exit ;;
     DRS?6000:unix:4.0:6*)
        echo sparc-icl-nx6
-       exit ;;
-    DRS?6000:UNIX_SV:4.2*:7*)
+       exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
        case `/usr/bin/uname -p` in
-           sparc) echo sparc-icl-nx7 && exit 0 ;;
+           sparc) echo sparc-icl-nx7; exit ;;
        esac ;;
     sun4H:SunOS:5.*:*)
        echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
+       exit ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
+       exit ;;
     i86pc:SunOS:5.*:*)
        echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
+       exit ;;
     sun4*:SunOS:6*:*)
        # According to config.sub, this is the proper way to canonicalize
        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
        # it's likely to be more like Solaris than SunOS4.
        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
+       exit ;;
     sun4*:SunOS:*:*)
        case "`/usr/bin/arch -k`" in
            Series*|S4*)
@@ -361,10 +342,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        esac
        # Japanese Language versions have a version number like `4.1.3-JL'.
        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-       exit ;;
+       exit ;;
     sun3*:SunOS:*:*)
        echo m68k-sun-sunos${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     sun*:*:4.2BSD:*)
        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
@@ -376,10 +357,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                echo sparc-sun-sunos${UNAME_RELEASE}
                ;;
        esac
-       exit ;;
+       exit ;;
     aushp:SunOS:*:*)
        echo sparc-auspex-sunos${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
     # "atarist" or "atariste" at least should have a processor
@@ -390,37 +371,40 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
         echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
        echo m68k-atari-mint${UNAME_RELEASE}
-        exit ;;
+        exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
         echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
         echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
+        exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
         echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
+        exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
         echo m68k-unknown-mint${UNAME_RELEASE}
-        exit 0 ;;
+        exit ;;
+    m68k:machten:*:*)
+       echo m68k-apple-machten${UNAME_RELEASE}
+       exit ;;
     powerpc:machten:*:*)
        echo powerpc-apple-machten${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     RISC*:Mach:*:*)
        echo mips-dec-mach_bsd4.3
-       exit ;;
+       exit ;;
     RISC*:ULTRIX:*:*)
        echo mips-dec-ultrix${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     VAX*:ULTRIX*:*:*)
        echo vax-dec-ultrix${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
        echo clipper-intergraph-clix${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
        eval $set_cc_for_build
        sed 's/^        //' << EOF >$dummy.c
@@ -444,32 +428,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
          exit (-1);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c \
-         && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-         && exit 0
+       $CC_FOR_BUILD -o $dummy $dummy.c &&
+         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+         SYSTEM_NAME=`$dummy $dummyarg` &&
+           { echo "$SYSTEM_NAME"; exit; }
        echo mips-mips-riscos${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     Motorola:PowerMAX_OS:*:*)
        echo powerpc-motorola-powermax
-       exit ;;
+       exit ;;
     Motorola:*:4.3:PL8-*)
        echo powerpc-harris-powermax
-       exit ;;
+       exit ;;
     Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
        echo powerpc-harris-powermax
-       exit ;;
+       exit ;;
     Night_Hawk:Power_UNIX:*:*)
        echo powerpc-harris-powerunix
-       exit ;;
+       exit ;;
     m88k:CX/UX:7*:*)
        echo m88k-harris-cxux7
-       exit ;;
+       exit ;;
     m88k:*:4*:R4*)
        echo m88k-motorola-sysv4
-       exit ;;
+       exit ;;
     m88k:*:3*:R3*)
        echo m88k-motorola-sysv3
-       exit ;;
+       exit ;;
     AViiON:dgux:*:*)
         # DG/UX returns AViiON for all architectures
         UNAME_PROCESSOR=`/usr/bin/uname -p`
@@ -485,29 +470,29 @@ EOF
        else
            echo i586-dg-dgux${UNAME_RELEASE}
        fi
-       exit ;;
+       exit ;;
     M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
        echo m88k-dolphin-sysv3
-       exit ;;
+       exit ;;
     M88*:*:R3*:*)
        # Delta 88k system running SVR3
        echo m88k-motorola-sysv3
-       exit ;;
+       exit ;;
     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
        echo m88k-tektronix-sysv3
-       exit ;;
+       exit ;;
     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
        echo m68k-tektronix-bsd
-       exit ;;
+       exit ;;
     *:IRIX*:*:*)
        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-       exit ;;
+       exit ;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-       echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
-       exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
+       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+       exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
     i*86:AIX:*:*)
        echo i386-ibm-aix
-       exit ;;
+       exit ;;
     ia64:AIX:*:*)
        if [ -x /usr/bin/oslevel ] ; then
                IBM_REV=`/usr/bin/oslevel`
@@ -515,7 +500,7 @@ EOF
                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
        fi
        echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-       exit ;;
+       exit ;;
     *:AIX:2:3)
        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
                eval $set_cc_for_build
@@ -530,14 +515,18 @@ EOF
                        exit(0);
                        }
 EOF
-               $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
-               echo rs6000-ibm-aix3.2.5
+               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+               then
+                       echo "$SYSTEM_NAME"
+               else
+                       echo rs6000-ibm-aix3.2.5
+               fi
        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
                echo rs6000-ibm-aix3.2.4
        else
                echo rs6000-ibm-aix3.2
        fi
-       exit ;;
+       exit ;;
     *:AIX:*:[45])
        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
        if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
@@ -551,28 +540,28 @@ EOF
                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
        fi
        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-       exit ;;
+       exit ;;
     *:AIX:*:*)
        echo rs6000-ibm-aix
-       exit ;;
+       exit ;;
     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
        echo romp-ibm-bsd4.4
-       exit ;;
+       exit ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-       exit 0 ;;                           # report: romp-ibm BSD 4.3
+       exit ;;                             # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
        echo rs6000-bull-bosx
-       exit ;;
+       exit ;;
     DPX/2?00:B.O.S.:*:*)
        echo m68k-bull-sysv3
-       exit ;;
+       exit ;;
     9000/[34]??:4.3bsd:1.*:*)
        echo m68k-hp-bsd
-       exit ;;
+       exit ;;
     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
        echo m68k-hp-bsd4.4
-       exit ;;
+       exit ;;
     9000/[34678]??:HP-UX:*:*)
        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
        case "${UNAME_MACHINE}" in
@@ -634,9 +623,19 @@ EOF
        esac
        if [ ${HP_ARCH} = "hppa2.0w" ]
        then
-           # avoid double evaluation of $set_cc_for_build
-           test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
-           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
+           eval $set_cc_for_build
+
+           # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+           # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+           # generating 64-bit code.  GNU and HP use different nomenclature:
+           #
+           # $ CC_FOR_BUILD=cc ./config.guess
+           # => hppa2.0w-hp-hpux11.23
+           # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+           # => hppa64-hp-hpux11.23
+
+           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+               grep __LP64__ >/dev/null
            then
                HP_ARCH="hppa2.0w"
            else
@@ -644,11 +643,11 @@ EOF
            fi
        fi
        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-       exit ;;
+       exit ;;
     ia64:HP-UX:*:*)
        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
        echo ia64-hp-hpux${HPUX_REV}
-       exit ;;
+       exit ;;
     3050*:HI-UX:*:*)
        eval $set_cc_for_build
        sed 's/^        //' << EOF >$dummy.c
@@ -676,150 +675,166 @@ EOF
          exit (0);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+               { echo "$SYSTEM_NAME"; exit; }
        echo unknown-hitachi-hiuxwe2
-       exit ;;
+       exit ;;
     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
        echo hppa1.1-hp-bsd
-       exit ;;
+       exit ;;
     9000/8??:4.3bsd:*:*)
        echo hppa1.0-hp-bsd
-       exit ;;
+       exit ;;
     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
        echo hppa1.0-hp-mpeix
-       exit ;;
+       exit ;;
     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
        echo hppa1.1-hp-osf
-       exit ;;
+       exit ;;
     hp8??:OSF1:*:*)
        echo hppa1.0-hp-osf
-       exit ;;
+       exit ;;
     i*86:OSF1:*:*)
        if [ -x /usr/sbin/sysversion ] ; then
            echo ${UNAME_MACHINE}-unknown-osf1mk
        else
            echo ${UNAME_MACHINE}-unknown-osf1
        fi
-       exit ;;
+       exit ;;
     parisc*:Lites*:*:*)
        echo hppa1.1-hp-lites
-       exit ;;
+       exit ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
        echo c1-convex-bsd
-        exit ;;
+        exit ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
        if getsysinfo -f scalar_acc
        then echo c32-convex-bsd
        else echo c2-convex-bsd
        fi
-        exit ;;
+        exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
        echo c34-convex-bsd
-        exit ;;
+        exit ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
        echo c38-convex-bsd
-        exit ;;
+        exit ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
        echo c4-convex-bsd
-        exit ;;
+        exit ;;
     CRAY*Y-MP:*:*:*)
        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       exit ;;
     CRAY*[A-Z]90:*:*:*)
        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
              -e 's/\.[^.]*$/.X/'
-       exit ;;
+       exit ;;
     CRAY*TS:*:*:*)
        echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       exit ;;
     CRAY*T3E:*:*:*)
        echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       exit ;;
     CRAY*SV1:*:*:*)
        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       exit ;;
     *:UNICOS/mp:*:*)
-       echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 
-       exit ;;
+       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit 0 ;;
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     sparc*:BSD/OS:*:*)
        echo sparc-unknown-bsdi${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     *:BSD/OS:*:*)
        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-       exit 0 ;;
-    *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
-       # Determine whether the default compiler uses glibc.
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <features.h>
-       #if __GLIBC__ >= 2
-       LIBC=gnu
-       #else
-       LIBC=
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
-       exit 0 ;;
+       exit ;;
+    *:FreeBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit ;;
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
-       exit ;;
+       exit ;;
     i*:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
-       exit 0 ;;
+       exit ;;
+    i*:windows32*:*)
+       # uname -m includes "-pc" on this system.
+       echo ${UNAME_MACHINE}-mingw32
+       exit ;;
     i*:PW*:*)
        echo ${UNAME_MACHINE}-pc-pw32
-       exit ;;
+       exit ;;
     x86:Interix*:[34]*)
        echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
-       exit ;;
+       exit ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
        echo i${UNAME_MACHINE}-pc-mks
-       exit ;;
+       exit ;;
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
        # UNAME_MACHINE based on the output of uname instead of i386?
        echo i586-pc-interix
-       exit ;;
+       exit ;;
     i*:UWIN*:*)
        echo ${UNAME_MACHINE}-pc-uwin
-       exit 0 ;;
+       exit ;;
+    amd64:CYGWIN*:*:*)
+       echo x86_64-unknown-cygwin
+       exit ;;
     p*:CYGWIN*:*)
        echo powerpcle-unknown-cygwin
-       exit ;;
+       exit ;;
     prep*:SunOS:5.*:*)
        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
+       exit ;;
     *:GNU:*:*)
+       # the GNU system
        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-       exit 0 ;;
+       exit ;;
+    *:GNU/*:*:*)
+       # other systems with GNU libc and userland
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       exit ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
-       exit ;;
+       exit ;;
     arm*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       exit ;;
     cris:Linux:*:*)
        echo cris-axis-linux-gnu
-       exit 0 ;;
+       exit ;;
+    crisv32:Linux:*:*)
+       echo crisv32-axis-linux-gnu
+       exit ;;
+    frv:Linux:*:*)
+       echo frv-unknown-linux-gnu
+       exit ;;
     ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
-       exit 0 ;;
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    m32r*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
     m68*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       exit ;;
     mips:Linux:*:*)
        eval $set_cc_for_build
        sed 's/^        //' << EOF >$dummy.c
@@ -837,7 +852,7 @@ EOF
        #endif
 EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
-       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
        ;;
     mips64:Linux:*:*)
        eval $set_cc_for_build
@@ -856,14 +871,14 @@ EOF
        #endif
 EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
-       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
        ;;
     ppc:Linux:*:*)
-       echo powerpc-${VENDOR:-unknown}-linux-gnu
-       exit ;;
+       echo powerpc-unknown-linux-gnu
+       exit ;;
     ppc64:Linux:*:*)
-       echo powerpc64-${VENDOR:-unknown}-linux-gnu
-       exit ;;
+       echo powerpc64-unknown-linux-gnu
+       exit ;;
     alpha:Linux:*:*)
        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
          EV5)   UNAME_MACHINE=alphaev5 ;;
@@ -877,7 +892,7 @@ EOF
        objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
        echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-       exit ;;
+       exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
        # Look for CPU level
        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -885,25 +900,25 @@ EOF
          PA8*) echo hppa2.0-unknown-linux-gnu ;;
          *)    echo hppa-unknown-linux-gnu ;;
        esac
-       exit ;;
+       exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
        echo hppa64-unknown-linux-gnu
-       exit ;;
+       exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu
-       exit ;;
+       echo ${UNAME_MACHINE}-ibm-linux
+       exit ;;
     sh64*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       exit ;;
     sh*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       exit ;;
     x86_64:Linux:*:*)
-       echo x86_64-${VENDOR:-unknown}-linux-gnu
-       exit ;;
+       echo x86_64-unknown-linux-gnu
+       exit ;;
     i*86:Linux:*:*)
        # The BFD linker knows what the default object file format is, so
        # first see if it will tell us. cd to the root directory to prevent
@@ -921,15 +936,15 @@ EOF
                ;;
          a.out-i386-linux)
                echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-               exit ;;
+               exit ;;
          coff-i386)
                echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-               exit ;;
+               exit ;;
          "")
                # Either a pre-BFD a.out linker (linux-gnuoldld) or
                # one that does not give us useful --help.
                echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-               exit ;;
+               exit ;;
        esac
        # Determine whether the default compiler is a.out or elf
        eval $set_cc_for_build
@@ -952,17 +967,23 @@ EOF
        LIBC=gnuaout
        #endif
        #endif
+       #ifdef __dietlibc__
+       LIBC=dietlibc
+       #endif
 EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-       test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0
-       test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+       test x"${LIBC}" != x && {
+               echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+               exit
+       }
+       test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
        ;;
     i*86:DYNIX/ptx:4*:*)
        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
        # earlier versions are messed up and put the nodename in both
        # sysname and nodename.
        echo i386-sequent-sysv4
-       exit ;;
+       exit ;;
     i*86:UNIX_SV:4.2MP:2.*)
         # Unixware is an offshoot of SVR4, but it has its own version
         # number series starting with 2...
@@ -970,24 +991,27 @@ EOF
        # I just have to hope.  -- rms.
         # Use sysv4.2uw... so that sysv4* matches it.
        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-       exit ;;
+       exit ;;
     i*86:OS/2:*:*)
        # If we were able to find `uname', then EMX Unix compatibility
        # is probably installed.
        echo ${UNAME_MACHINE}-pc-os2-emx
-       exit ;;
+       exit ;;
     i*86:XTS-300:*:STOP)
        echo ${UNAME_MACHINE}-unknown-stop
-       exit ;;
+       exit ;;
     i*86:atheos:*:*)
        echo ${UNAME_MACHINE}-unknown-atheos
-       exit 0 ;;
+       exit ;;
+    i*86:syllable:*:*)
+       echo ${UNAME_MACHINE}-pc-syllable
+       exit ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
        echo i386-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     i*86:*DOS:*:*)
        echo ${UNAME_MACHINE}-pc-msdosdjgpp
-       exit ;;
+       exit ;;
     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
@@ -995,15 +1019,16 @@ EOF
        else
                echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
        fi
-       exit 0 ;;
-    i*86:*:5:[78]*)
+       exit ;;
+    i*86:*:5:[678]*)
+       # UnixWare 7.x, OpenUNIX and OpenServer 6.
        case `/bin/uname -X | grep "^Machine"` in
            *486*)           UNAME_MACHINE=i486 ;;
            *Pentium)        UNAME_MACHINE=i586 ;;
            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
        esac
        echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-       exit ;;
+       exit ;;
     i*86:*:3.2:*)
        if test -f /usr/options/cb.name; then
                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
@@ -1021,73 +1046,73 @@ EOF
        else
                echo ${UNAME_MACHINE}-pc-sysv32
        fi
-       exit ;;
+       exit ;;
     pc:*:*:*)
        # Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
         # the processor, so we play safe by assuming i386.
        echo i386-pc-msdosdjgpp
-        exit ;;
+        exit ;;
     Intel:Mach:3*:*)
        echo i386-pc-mach3
-       exit ;;
+       exit ;;
     paragon:*:*:*)
        echo i860-intel-osf1
-       exit ;;
+       exit ;;
     i860:*:4.*:*) # i860-SVR4
        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
        else # Add other i860-SVR4 vendors below as they are discovered.
          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
        fi
-       exit ;;
+       exit ;;
     mini*:CTIX:SYS*5:*)
        # "miniframe"
        echo m68010-convergent-sysv
-       exit ;;
+       exit ;;
     mc68k:UNIX:SYSTEM5:3.51m)
        echo m68k-convergent-sysv
-       exit ;;
+       exit ;;
     M680?0:D-NIX:5.3:*)
        echo m68k-diab-dnix
-       exit ;;
-    M68*:*:R3V[567]*:*)
-       test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+       exit ;;
+    M68*:*:R3V[5678]*:*)
+       test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
        OS_REL=''
        test -r /etc/.relid \
        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-         && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && echo i486-ncr-sysv4 && exit 0 ;;
+          && { echo i486-ncr-sysv4; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
        echo m68k-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     mc68030:UNIX_System_V:4.*:*)
        echo m68k-atari-sysv4
-       exit ;;
+       exit ;;
     TSUNAMI:LynxOS:2.*:*)
        echo sparc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     rs6000:LynxOS:2.*:*)
        echo rs6000-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
        echo powerpc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     SM[BE]S:UNIX_SV:*:*)
        echo mips-dde-sysv${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     RM*:ReliantUNIX-*:*:*)
        echo mips-sni-sysv4
-       exit ;;
+       exit ;;
     RM*:SINIX-*:*:*)
        echo mips-sni-sysv4
-       exit ;;
+       exit ;;
     *:SINIX-*:*:*)
        if uname -p 2>/dev/null >/dev/null ; then
                UNAME_MACHINE=`(uname -p) 2>/dev/null`
@@ -1095,68 +1120,73 @@ EOF
        else
                echo ns32k-sni-sysv
        fi
-       exit ;;
+       exit ;;
     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
                       # says <Richard.M.Bartel@ccMail.Census.GOV>
         echo i586-unisys-sysv4
-        exit ;;
+        exit ;;
     *:UNIX_System_V:4*:FTX*)
        # From Gerald Hewes <hewes@openmarket.com>.
        # How about differentiating between stratus architectures? -djm
        echo hppa1.1-stratus-sysv4
-       exit ;;
+       exit ;;
     *:*:*:FTX*)
        # From seanf@swdc.stratus.com.
        echo i860-stratus-sysv4
-       exit 0 ;;
+       exit ;;
+    i*86:VOS:*:*)
+       # From Paul.Green@stratus.com.
+       echo ${UNAME_MACHINE}-stratus-vos
+       exit ;;
     *:VOS:*:*)
        # From Paul.Green@stratus.com.
        echo hppa1.1-stratus-vos
-       exit ;;
+       exit ;;
     mc68*:A/UX:*:*)
        echo m68k-apple-aux${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     news*:NEWS-OS:6*:*)
        echo mips-sony-newsos6
-       exit ;;
+       exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
        if [ -d /usr/nec ]; then
                echo mips-nec-sysv${UNAME_RELEASE}
        else
                echo mips-unknown-sysv${UNAME_RELEASE}
        fi
-        exit ;;
+        exit ;;
     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
        echo powerpc-be-beos
-       exit ;;
+       exit ;;
     BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
        echo powerpc-apple-beos
-       exit ;;
+       exit ;;
     BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
        echo i586-pc-beos
-       exit ;;
+       exit ;;
     SX-4:SUPER-UX:*:*)
        echo sx4-nec-superux${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     SX-5:SUPER-UX:*:*)
        echo sx5-nec-superux${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     SX-6:SUPER-UX:*:*)
        echo sx6-nec-superux${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     Power*:Rhapsody:*:*)
        echo powerpc-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     *:Rhapsody:*:*)
        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     *:Darwin:*:*)
-       case `uname -p` in
+       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+       case $UNAME_PROCESSOR in
            *86) UNAME_PROCESSOR=i686 ;;
-           powerpc) UNAME_PROCESSOR=powerpc ;;
+           unknown) UNAME_PROCESSOR=powerpc ;;
        esac
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
        UNAME_PROCESSOR=`uname -p`
        if test "$UNAME_PROCESSOR" = "x86"; then
@@ -1164,22 +1194,25 @@ EOF
                UNAME_MACHINE=pc
        fi
        echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     *:QNX:*:4*)
        echo i386-pc-qnx
-       exit 0 ;;
-    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
+       exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+       echo nse-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
        echo nsr-tandem-nsk${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     *:NonStop-UX:*:*)
        echo mips-compaq-nonstopux
-       exit ;;
+       exit ;;
     BS2000:POSIX*:*:*)
        echo bs2000-siemens-sysv
-       exit ;;
+       exit ;;
     DS/*:UNIX_System_V:*:*)
        echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-       exit ;;
+       exit ;;
     *:Plan9:*:*)
        # "uname -m" is not consistent, so use $cputype instead. 386
        # is converted to i386 for consistency with other x86
@@ -1190,28 +1223,44 @@ EOF
            UNAME_MACHINE="$cputype"
        fi
        echo ${UNAME_MACHINE}-unknown-plan9
-       exit ;;
+       exit ;;
     *:TOPS-10:*:*)
        echo pdp10-unknown-tops10
-       exit ;;
+       exit ;;
     *:TENEX:*:*)
        echo pdp10-unknown-tenex
-       exit ;;
+       exit ;;
     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
        echo pdp10-dec-tops20
-       exit ;;
+       exit ;;
     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
        echo pdp10-xkl-tops20
-       exit ;;
+       exit ;;
     *:TOPS-20:*:*)
        echo pdp10-unknown-tops20
-       exit ;;
+       exit ;;
     *:ITS:*:*)
        echo pdp10-unknown-its
-       exit ;;
+       exit ;;
     SEI:*:*:SEIUX)
         echo mips-sei-seiux${UNAME_RELEASE}
-       exit 0 ;;
+       exit ;;
+    *:DragonFly:*:*)
+       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit ;;
+    *:*VMS:*:*)
+       UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       case "${UNAME_MACHINE}" in
+           A*) echo alpha-dec-vms ; exit ;;
+           I*) echo ia64-dec-vms ; exit ;;
+           V*) echo vax-dec-vms ; exit ;;
+       esac ;;
+    *:XENIX:*:SysV)
+       echo i386-pc-xenix
+       exit ;;
+    i*86:skyos:*:*)
+       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+       exit ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1243,7 +1292,7 @@ main ()
 #endif
 
 #if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix"); exit (0);
+  printf ("arm-acorn-riscix\n"); exit (0);
 #endif
 
 #if defined (hp300) && !defined (hpux)
@@ -1332,11 +1381,12 @@ main ()
 }
 EOF
 
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+       { echo "$SYSTEM_NAME"; exit; }
 
 # Apollos put the system type in the environment.
 
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
 
 # Convex versions that predate uname can use getsysinfo(1)
 
@@ -1345,22 +1395,22 @@ then
     case `getsysinfo -f cpu_type` in
     c1*)
        echo c1-convex-bsd
-       exit ;;
+       exit ;;
     c2*)
        if getsysinfo -f scalar_acc
        then echo c32-convex-bsd
        else echo c2-convex-bsd
        fi
-       exit ;;
+       exit ;;
     c34*)
        echo c34-convex-bsd
-       exit ;;
+       exit ;;
     c38*)
        echo c38-convex-bsd
-       exit ;;
+       exit ;;
     c4*)
        echo c4-convex-bsd
-       exit ;;
+       exit ;;
     esac
 fi
 
@@ -1371,7 +1421,9 @@ This script, last modified $timestamp, has failed to recognize
 the operating system you are using. It is advised that you
 download the most up to date version of the config scripts from
 
-    ftp://ftp.gnu.org/pub/gnu/config/
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
 
 If the version you run ($0) is already up to date, please
 send the following data and any information you think might be
index 0f11d78..4cbac65 100644 (file)
@@ -3,6 +3,9 @@
 /* Define to 1 if dietlibc supports C99 */
 #undef ENSC_DIETLIBC_C99
 
+/* Define to 1 if dietlibc declares syscall */
+#undef ENSC_DIETLIBC_HAS_SYSCALL
+
 /* define when <ext2fs/ext2_fs.h> is usable */
 #undef ENSC_HAVE_EXT2FS_EXT2_FS_H
 
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the `util' library (-lutil). */
+#undef HAVE_LIBUTIL
+
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
 /* Enable support for API of vserver 1.3.x */
 #undef VC_ENABLE_API_V13
 
+/* Enable support for some obsoleted API of vserver 1.3.x */
+#undef VC_ENABLE_API_V13OBS
+
+/* Enable support for API of vserver 2.1.x */
+#undef VC_ENABLE_API_V21
+
 /* Version number of package */
 #undef VERSION
 
 #undef _FILE_OFFSET_BITS
 
 
-#if defined(__pic__) && defined(__i386) && !defined(ENSC_SYSCALL_TRADITIONAL)
+#if defined(__pic__) && defined(__i386) && !defined(ENSC_SYSCALL_TRADITIONAL) && !defined(ENSC_USE_ALTERNATIVE_SYSCALL_MACROS)
 #  define ENSC_SYSCALL_TRADITIONAL     1
 #endif
 
index 6b2ff9f..1c366df 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
-timestamp='2003-06-18'
+timestamp='2005-07-08'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -21,14 +21,15 @@ timestamp='2003-06-18'
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
+
 # Please send patches to <config-patches@gnu.org>.  Submit a context
 # diff and a properly formatted ChangeLog entry.
 #
@@ -70,7 +71,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -83,11 +84,11 @@ Try \`$me --help' for more information."
 while test $# -gt 0 ; do
   case $1 in
     --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
+       echo "$timestamp" ; exit ;;
     --version | -v )
-       echo "$version" ; exit ;;
+       echo "$version" ; exit ;;
     --help | --h* | -h )
-       echo "$usage"; exit ;;
+       echo "$usage"; exit ;;
     -- )     # Stop option processing
        shift; break ;;
     - )        # Use stdin as input.
@@ -99,7 +100,7 @@ while test $# -gt 0 ; do
     *local*)
        # First pass through any local machine types.
        echo $1
-       exit 0;;
+       exit ;;
 
     * )
        break ;;
@@ -118,7 +119,8 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -144,7 +146,7 @@ case $os in
        -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
        -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
        -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis)
+       -apple | -axis | -knuth | -cray)
                os=
                basic_machine=$1
                ;;
@@ -228,14 +230,16 @@ case $basic_machine in
        | a29k \
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+       | am33_2.0 \
        | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+       | bfin \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
        | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | i370 | i860 | i960 | ia64 \
-       | ip2k \
-       | m32r | m68000 | m68k | m88k | mcore \
+       | ip2k | iq2000 \
+       | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
@@ -244,31 +248,37 @@ case $basic_machine in
        | mips64vr4100 | mips64vr4100el \
        | mips64vr4300 | mips64vr4300el \
        | mips64vr5000 | mips64vr5000el \
+       | mips64vr5900 | mips64vr5900el \
        | mipsisa32 | mipsisa32el \
        | mipsisa32r2 | mipsisa32r2el \
        | mipsisa64 | mipsisa64el \
+       | mipsisa64r2 | mipsisa64r2el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
        | mipstx39 | mipstx39el \
        | mn10200 | mn10300 \
+       | ms1 \
        | msp430 \
        | ns16k | ns32k \
-       | openrisc | or32 \
+       | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
        | pyramid \
-       | s390 | s390x \
-       | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+       | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
-       | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
+       | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+       | sparcv8 | sparcv9 | sparcv9b \
        | strongarm \
        | tahoe | thumb | tic4x | tic80 | tron \
        | v850 | v850e \
        | we32k \
-       | x86 | xscale | xstormy16 | xtensa \
+       | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
        | z8k)
                basic_machine=$basic_machine-unknown
                ;;
+       m32c)
+               basic_machine=$basic_machine-unknown
+               ;;
        m6811 | m68hc11 | m6812 | m68hc12)
                # Motorola 68HC11/12.
                basic_machine=$basic_machine-unknown
@@ -296,19 +306,19 @@ case $basic_machine in
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* \
-       | bs2000-* \
+       | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-       | clipper-* | cydra-* \
+       | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
        | elxsi-* \
        | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
        | i*86-* | i860-* | i960-* | ia64-* \
-       | ip2k-* \
-       | m32r-* \
+       | ip2k-* | iq2000-* \
+       | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | mcore-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
        | mips16-* \
        | mips64-* | mips64el-* \
@@ -317,34 +327,40 @@ case $basic_machine in
        | mips64vr4100-* | mips64vr4100el-* \
        | mips64vr4300-* | mips64vr4300el-* \
        | mips64vr5000-* | mips64vr5000el-* \
+       | mips64vr5900-* | mips64vr5900el-* \
        | mipsisa32-* | mipsisa32el-* \
        | mipsisa32r2-* | mipsisa32r2el-* \
        | mipsisa64-* | mipsisa64el-* \
+       | mipsisa64r2-* | mipsisa64r2el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
        | mipstx39-* | mipstx39el-* \
+       | mmix-* \
+       | ms1-* \
        | msp430-* \
-       | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
        | pyramid-* \
        | romp-* | rs6000-* \
-       | s390-* | s390x-* \
-       | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+       | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-       | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+       | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+       | sparclite-* \
        | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
        | tahoe-* | thumb-* \
        | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
        | tron-* \
        | v850-* | v850e-* | vax-* \
        | we32k-* \
-       | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
-       | xtensa-* \
+       | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+       | xstormy16-* | xtensa-* \
        | ymp-* \
        | z8k-*)
                ;;
+       m32c-*)
+               ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
        386bsd)
@@ -361,6 +377,9 @@ case $basic_machine in
                basic_machine=a29k-amd
                os=-udi
                ;;
+       abacus)
+               basic_machine=abacus-unknown
+               ;;
        adobe68k)
                basic_machine=m68010-adobe
                os=-scout
@@ -378,6 +397,9 @@ case $basic_machine in
        amd64)
                basic_machine=x86_64-pc
                ;;
+       amd64-*)
+               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
        amdahl)
                basic_machine=580-amdahl
                os=-sysv
@@ -437,12 +459,27 @@ case $basic_machine in
                basic_machine=j90-cray
                os=-unicos
                ;;
+       craynv)
+               basic_machine=craynv-cray
+               os=-unicosmp
+               ;;
+       cr16c)
+               basic_machine=cr16c-unknown
+               os=-elf
+               ;;
        crds | unos)
                basic_machine=m68k-crds
                ;;
+       crisv32 | crisv32-* | etraxfs*)
+               basic_machine=crisv32-axis
+               ;;
        cris | cris-* | etrax*)
                basic_machine=cris-axis
                ;;
+       crx)
+               basic_machine=crx-unknown
+               os=-elf
+               ;;
        da30 | da30-*)
                basic_machine=m68k-da30
                ;;
@@ -465,6 +502,10 @@ case $basic_machine in
                basic_machine=m88k-motorola
                os=-sysv3
                ;;
+       djgpp)
+               basic_machine=i586-pc
+               os=-msdosdjgpp
+               ;;
        dpx20 | dpx20-*)
                basic_machine=rs6000-bull
                os=-bosx
@@ -643,10 +684,6 @@ case $basic_machine in
        mips3*)
                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
                ;;
-       mmix*)
-               basic_machine=mmix-knuth
-               os=-mmixware
-               ;;
        monitor)
                basic_machine=m68k-rom68k
                os=-coff
@@ -727,10 +764,6 @@ case $basic_machine in
        np1)
                basic_machine=np1-gould
                ;;
-       nv1)
-               basic_machine=nv1-cray
-               os=-unicosmp
-               ;;
        nsr-tandem)
                basic_machine=nsr-tandem
                ;;
@@ -738,9 +771,12 @@ case $basic_machine in
                basic_machine=hppa1.1-oki
                os=-proelf
                ;;
-       or32 | or32-*)
+       openrisc | openrisc-*)
                basic_machine=or32-unknown
-               os=-coff
+               ;;
+       os400)
+               basic_machine=powerpc-ibm
+               os=-os400
                ;;
        OSE68000 | ose68000)
                basic_machine=m68000-ericsson
@@ -833,6 +869,12 @@ case $basic_machine in
        rtpc | rtpc-*)
                basic_machine=romp-ibm
                ;;
+       s390 | s390-*)
+               basic_machine=s390-ibm
+               ;;
+       s390x | s390x-*)
+               basic_machine=s390x-ibm
+               ;;
        sa29200)
                basic_machine=a29k-amd
                os=-udi
@@ -956,6 +998,10 @@ case $basic_machine in
        tower | tower-32)
                basic_machine=m68k-ncr
                ;;
+       tpf)
+               basic_machine=s390x-ibm
+               os=-tpf
+               ;;
        udi29k)
                basic_machine=a29k-amd
                os=-udi
@@ -999,6 +1045,10 @@ case $basic_machine in
                basic_machine=hppa1.1-winbond
                os=-proelf
                ;;
+       xbox)
+               basic_machine=i686-pc
+               os=-mingw32
+               ;;
        xps | xps100)
                basic_machine=xps100-honeywell
                ;;
@@ -1029,6 +1079,9 @@ case $basic_machine in
        romp)
                basic_machine=romp-ibm
                ;;
+       mmix)
+               basic_machine=mmix-knuth
+               ;;
        rs6000)
                basic_machine=rs6000-ibm
                ;;
@@ -1045,12 +1098,9 @@ case $basic_machine in
        we32k)
                basic_machine=we32k-att
                ;;
-       sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+       sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
                basic_machine=sh-unknown
                ;;
-       sh64)
-               basic_machine=sh64-unknown
-               ;;
        sparc | sparcv8 | sparcv9 | sparcv9b)
                basic_machine=sparc-sun
                ;;
@@ -1124,19 +1174,21 @@ case $os in
              | -aos* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
-             | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* \
              | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-             | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
+             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+             | -skyos* | -haiku*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1154,12 +1206,15 @@ case $os in
                os=`echo $os | sed -e 's|nto|nto-qnx|'`
                ;;
        -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-             | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
              | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
                ;;
        -mac*)
                os=`echo $os | sed -e 's|mac|macos|'`
                ;;
+       -linux-dietlibc)
+               os=-linux-dietlibc
+               ;;
        -linux*)
                os=`echo $os | sed -e 's|linux|linux-gnu|'`
                ;;
@@ -1172,6 +1227,9 @@ case $os in
        -opened*)
                os=-openedition
                ;;
+        -os400*)
+               os=-os400
+               ;;
        -wince*)
                os=-wince
                ;;
@@ -1193,6 +1251,9 @@ case $os in
        -atheos*)
                os=-atheos
                ;;
+       -syllable*)
+               os=-syllable
+               ;;
        -386bsd)
                os=-bsd
                ;;
@@ -1215,6 +1276,9 @@ case $os in
        -sinix*)
                os=-sysv4
                ;;
+        -tpf*)
+               os=-tpf
+               ;;
        -triton*)
                os=-sysv3
                ;;
@@ -1251,6 +1315,9 @@ case $os in
        -kaos*)
                os=-kaos
                ;;
+       -zvmoe)
+               os=-zvmoe
+               ;;
        -none)
                ;;
        *)
@@ -1282,9 +1349,9 @@ case $basic_machine in
        arm*-semi)
                os=-aout
                ;;
-       c4x-* | tic4x-*)
-               os=-coff
-               ;;
+    c4x-* | tic4x-*)
+        os=-coff
+        ;;
        # This must come before the *-dec entry.
        pdp10-*)
                os=-tops20
@@ -1328,9 +1395,15 @@ case $basic_machine in
        *-be)
                os=-beos
                ;;
+       *-haiku)
+               os=-haiku
+               ;;
        *-ibm)
                os=-aix
                ;;
+       *-knuth)
+               os=-mmixware
+               ;;
        *-wec)
                os=-proelf
                ;;
@@ -1463,9 +1536,15 @@ case $basic_machine in
                        -mvs* | -opened*)
                                vendor=ibm
                                ;;
+                       -os400*)
+                               vendor=ibm
+                               ;;
                        -ptx*)
                                vendor=sequent
                                ;;
+                       -tpf*)
+                               vendor=ibm
+                               ;;
                        -vxsim* | -vxworks* | -windiss*)
                                vendor=wrs
                                ;;
@@ -1490,7 +1569,7 @@ case $basic_machine in
 esac
 
 echo $basic_machine$os
-exit 0
+exit
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
index b8d8757..3f23f01 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for util-vserver 0.30.208.
+# Generated by GNU Autoconf 2.59 for util-vserver 0.30.213.
 #
-# Report bugs to <enrico.scholz@informatik.tu-chemnitz.de>.
+# Report bugs to <vserver@list.linux-vserver.org>.
 #
 # Copyright (C) 2003 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
@@ -287,8 +287,8 @@ if test "X${echo_test_string+set}" != Xset; then
 # find a string as large as possible, as long as the shell can cope with it
   for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
     # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
-       echo_test_string="`eval $cmd`" &&
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
        (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
     then
       break
@@ -423,9 +423,9 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='util-vserver'
 PACKAGE_TARNAME='util-vserver'
-PACKAGE_VERSION='0.30.208'
-PACKAGE_STRING='util-vserver 0.30.208'
-PACKAGE_BUGREPORT='enrico.scholz@informatik.tu-chemnitz.de'
+PACKAGE_VERSION='0.30.213'
+PACKAGE_STRING='util-vserver 0.30.213'
+PACKAGE_BUGREPORT='vserver@list.linux-vserver.org'
 
 ac_unique_file="src/capchroot.c"
 # Factoring default headers for most tests.
@@ -465,7 +465,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os GPG_KEY CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir ENSC_HAVE_CXX_COMPILER_TRUE ENSC_HAVE_CXX_COMPILER_FALSE ENSC_HAVE_C99_COMPILER_TRUE ENSC_HAVE_C99_COMPILER_FALSE ENSC_PATHPROG_SED CAT CHOWN CMP CP DIRNAME EGREP ENV GREP LN MKDIR MKFIFO MKTEMP MOUNT MV NICE PS RM RMDIR SED SH TAC TAR TOUCH TTY UMOUNT WC IP IPTABLES MODPROBE NAMEIF NOHUP RMMOD VCONFIG WGET DOXYGEN XSLTP XSLTPROC HAVE_XSLTP_TRUE HAVE_XSLTP_FALSE HAVE_XSLTPROC_TRUE HAVE_XSLTPROC_FALSE LIB_DEBUG_CPPFLAGS ENSC_USE_EXPENSIVE_TESTS initrddir RELEASE_CPPFLAGS DIET DIETFLAGS USE_DIETLIBC_TRUE USE_DIETLIBC_FALSE USE_DIETLIBC_COMPAT_TRUE USE_DIETLIBC_COMPAT_FALSE ENSC_USE_DIETLIBC_TRUE ENSC_USE_DIETLIBC_FALSE ENSC_USE_GLIBC_TRUE ENSC_USE_GLIBC_FALSE ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL kernelincludedir vserverdir CVS2CL_TAG CVS2CL HAVE_CVS2CL_TRUE HAVE_CVS2CL_FALSE RCS2LOG HAVE_RCS2LOG_TRUE HAVE_RCS2LOG_FALSE ENSC_ENABLE_INTERNAL_HEADERS_TRUE ENSC_ENABLE_INTERNAL_HEADERS_FALSE ENSC_HAVE_BEECRYPT_TRUE ENSC_HAVE_BEECRYPT_FALSE ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os GPG_KEY CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir ENSC_HAVE_CXX_COMPILER_TRUE ENSC_HAVE_CXX_COMPILER_FALSE ENSC_HAVE_C99_COMPILER_TRUE ENSC_HAVE_C99_COMPILER_FALSE ENSC_PATHPROG_SED CAT CHOWN CMP CP DIRNAME EGREP ENV GREP LN MKDIR MKFIFO MKTEMP MOUNT MV NICE PS RM RMDIR SED SH TAC TAR TOUCH TTY UMOUNT WC IP IPTABLES MODPROBE NAMEIF NOHUP RMMOD VCONFIG WGET FILE GZIP BZIP2 CPIO RESTORE RSYNC DOXYGEN XSLTP XSLTPROC HAVE_XSLTP_TRUE HAVE_XSLTP_FALSE HAVE_XSLTPROC_TRUE HAVE_XSLTPROC_FALSE LIB_DEBUG_CPPFLAGS ENSC_USE_EXPENSIVE_TESTS initrddir RELEASE_CPPFLAGS CPP DIET DIETFLAGS USE_DIETLIBC_TRUE USE_DIETLIBC_FALSE USE_DIETLIBC_COMPAT_TRUE USE_DIETLIBC_COMPAT_FALSE ENSC_USE_DIETLIBC_TRUE ENSC_USE_DIETLIBC_FALSE ENSC_USE_GLIBC_TRUE ENSC_USE_GLIBC_FALSE ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL vserverdir SVN2CL HAVE_SVN2CL_TRUE HAVE_SVN2CL_FALSE ENSC_ENABLE_INTERNAL_HEADERS_TRUE ENSC_ENABLE_INTERNAL_HEADERS_FALSE ENSC_HAVE_BEECRYPT_TRUE ENSC_HAVE_BEECRYPT_FALSE ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE HAVE_GENTOO_INIT_TRUE HAVE_GENTOO_INIT_FALSE HAVE_SYSV_INIT_TRUE HAVE_SYSV_INIT_FALSE LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -930,6 +930,10 @@ ac_env_CFLAGS_set=${CFLAGS+set}
 ac_env_CFLAGS_value=$CFLAGS
 ac_cv_env_CFLAGS_set=${CFLAGS+set}
 ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
 ac_env_DIET_set=${DIET+set}
 ac_env_DIET_value=$DIET
 ac_cv_env_DIET_set=${DIET+set}
@@ -938,10 +942,6 @@ ac_env_DIETFLAGS_set=${DIETFLAGS+set}
 ac_env_DIETFLAGS_value=$DIETFLAGS
 ac_cv_env_DIETFLAGS_set=${DIETFLAGS+set}
 ac_cv_env_DIETFLAGS_value=$DIETFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
 ac_env_CXXCPP_set=${CXXCPP+set}
 ac_env_CXXCPP_value=$CXXCPP
 ac_cv_env_CXXCPP_set=${CXXCPP+set}
@@ -962,7 +962,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures util-vserver 0.30.208 to adapt to many kinds of systems.
+\`configure' configures util-vserver 0.30.213 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1028,7 +1028,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of util-vserver 0.30.208:";;
+     short | recursive ) echo "Configuration of util-vserver 0.30.213:";;
    esac
   cat <<\_ACEOF
 
@@ -1043,15 +1043,15 @@ Optional Features:
                           disable certain extra optimizations (default: no)
   --enable-lib-debug      enable additional debug code in library (default:
                           no)
-  --disable-expensive-tests
+  --enable-expensive-tests
                           disable tests which might be expensive on some
                           systems (default: no)
   --enable-release        enable release mode (default: no)
-  --disable-dietlibc      do not use dietlibc resp. enforce its usage (with
-                          --enable-dietlibc) (default: autodetect dietlibc)
   --disable-alternative-syscalls
                           do not use the alternative _syscallX macros provided
                           by Herbert Poetzl (default: use them)
+  --disable-dietlibc      do not use dietlibc resp. enforce its usage (with
+                          --enable-dietlibc) (default: autodetect dietlibc)
   --enable-shared[=PKGS]
                           build shared libraries [default=yes]
   --enable-static[=PKGS]
@@ -1063,25 +1063,25 @@ Optional Features:
                           use vserver specific headers from the kernel instead
                           of the shipped versions (default: no)
   --enable-apis=APIS      enable support for the given apis; possible values
-                          are: legacy,compat,v11,v13,fscompat,net,ALL
-                          (default: all except 'legacy')
+                          are: legacy,compat,v11,fscompat,v13obs,v13,net,
+                          ALL,NOLEGACY (default: v13,net,v21)
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-initrddir <DIR>  use <DIR> as directory for SysV init-files (default:
                           $sysconfdir/init.d)
+  --with-syscall=METHOD   call syscall(2) with the specified METHOD; valid
+                          values are 'fast', 'traditional' and 'auto'
+                          (default: auto)
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-pic              try to use only PIC/non-PIC objects [default=use
                           both]
   --with-tags[=TAGS]
                           include additional configurations [automatic]
-  --with-kerneldir=DIR    assume kernelsources in DIR (default:
-                          /lib/modules/<current>/build)
   --with-vrootdir=DIR     place vservers under DIR (default: /vservers)
-  --with-syscall=METHOD   call syscall(2) with the specified METHOD; valid
-                          values are 'fast', 'traditional' and 'auto'
-                          (default: auto)
+  --with-initscripts=TYPE force host initscripts; valid values are 'gentoo'
+                          and 'sysv' (default: guess)
 
 Some influential environment variables:
   CXX         C++ compiler command
@@ -1092,9 +1092,9 @@ Some influential environment variables:
               headers in a nonstandard directory <include dir>
   CC          C compiler command
   CFLAGS      C compiler flags
+  CPP         C preprocessor
   DIET        The 'diet' wrapper (default: diet)
   DIETFLAGS   Flags passed to the 'diet' wrapper (default: -O)
-  CPP         C preprocessor
   CXXCPP      C++ preprocessor
   F77         Fortran 77 compiler command
   FFLAGS      Fortran 77 compiler flags
@@ -1102,7 +1102,7 @@ Some influential environment variables:
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <enrico.scholz@informatik.tu-chemnitz.de>.
+Report bugs to <vserver@list.linux-vserver.org>.
 _ACEOF
 fi
 
@@ -1198,7 +1198,7 @@ fi
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-util-vserver configure 0.30.208
+util-vserver configure 0.30.213
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1212,7 +1212,7 @@ cat >&5 <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by util-vserver $as_me 0.30.208, which was
+It was created by util-vserver $as_me 0.30.213, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1859,7 +1859,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='util-vserver'
- VERSION='0.30.208'
+ VERSION='0.30.213'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3872,7 +3872,7 @@ if test "${am_cv_pathless_PYTHON+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-       for am_cv_pathless_PYTHON in python python2 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 none; do
+       for am_cv_pathless_PYTHON in python python2 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 none; do
          test "$am_cv_pathless_PYTHON" = none && break
          prog="import sys, string
 # split strings by '.' and convert to numeric.  Append some zeros
@@ -4266,6 +4266,10 @@ Can not find the 'awk' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${AWK}"; then
+               AWK=`readlink -f "${AWK}"`
+       fi
+
        test "${AWK}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'AWK'@!${AWK}!g;"
 
        test "${AWK}"
@@ -4347,6 +4351,10 @@ Can not find the 'cat' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${CAT}"; then
+               CAT=`readlink -f "${CAT}"`
+       fi
+
        test "${CAT}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'CAT'@!${CAT}!g;"
 
        test "${CAT}"
@@ -4428,6 +4436,10 @@ Can not find the 'chown' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${CHOWN}"; then
+               CHOWN=`readlink -f "${CHOWN}"`
+       fi
+
        test "${CHOWN}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'CHOWN'@!${CHOWN}!g;"
 
        test "${CHOWN}"
@@ -4509,6 +4521,10 @@ Can not find the 'cmp' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${CMP}"; then
+               CMP=`readlink -f "${CMP}"`
+       fi
+
        test "${CMP}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'CMP'@!${CMP}!g;"
 
        test "${CMP}"
@@ -4590,6 +4606,10 @@ Can not find the 'cp' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${CP}"; then
+               CP=`readlink -f "${CP}"`
+       fi
+
        test "${CP}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'CP'@!${CP}!g;"
 
        test "${CP}"
@@ -4671,6 +4691,10 @@ Can not find the 'dirname' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${DIRNAME}"; then
+               DIRNAME=`readlink -f "${DIRNAME}"`
+       fi
+
        test "${DIRNAME}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'DIRNAME'@!${DIRNAME}!g;"
 
        test "${DIRNAME}"
@@ -4752,6 +4776,10 @@ Can not find the 'egrep' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${EGREP}"; then
+               EGREP=`readlink -f "${EGREP}"`
+       fi
+
        test "${EGREP}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'EGREP'@!${EGREP}!g;"
 
        test "${EGREP}"
@@ -4833,6 +4861,10 @@ Can not find the 'env' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${ENV}"; then
+               ENV=`readlink -f "${ENV}"`
+       fi
+
        test "${ENV}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'ENV'@!${ENV}!g;"
 
        test "${ENV}"
@@ -4914,6 +4946,10 @@ Can not find the 'grep' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${GREP}"; then
+               GREP=`readlink -f "${GREP}"`
+       fi
+
        test "${GREP}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'GREP'@!${GREP}!g;"
 
        test "${GREP}"
@@ -4995,6 +5031,10 @@ Can not find the 'ln' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${LN}"; then
+               LN=`readlink -f "${LN}"`
+       fi
+
        test "${LN}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'LN'@!${LN}!g;"
 
        test "${LN}"
@@ -5076,6 +5116,10 @@ Can not find the 'mkdir' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${MKDIR}"; then
+               MKDIR=`readlink -f "${MKDIR}"`
+       fi
+
        test "${MKDIR}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'MKDIR'@!${MKDIR}!g;"
 
        test "${MKDIR}"
@@ -5157,6 +5201,10 @@ Can not find the 'mkfifo' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${MKFIFO}"; then
+               MKFIFO=`readlink -f "${MKFIFO}"`
+       fi
+
        test "${MKFIFO}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'MKFIFO'@!${MKFIFO}!g;"
 
        test "${MKFIFO}"
@@ -5238,6 +5286,10 @@ Can not find the 'mktemp' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${MKTEMP}"; then
+               MKTEMP=`readlink -f "${MKTEMP}"`
+       fi
+
        test "${MKTEMP}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'MKTEMP'@!${MKTEMP}!g;"
 
        test "${MKTEMP}"
@@ -5319,6 +5371,10 @@ Can not find the 'mount' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${MOUNT}"; then
+               MOUNT=`readlink -f "${MOUNT}"`
+       fi
+
        test "${MOUNT}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'MOUNT'@!${MOUNT}!g;"
 
        test "${MOUNT}"
@@ -5400,6 +5456,10 @@ Can not find the 'mv' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${MV}"; then
+               MV=`readlink -f "${MV}"`
+       fi
+
        test "${MV}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'MV'@!${MV}!g;"
 
        test "${MV}"
@@ -5481,6 +5541,10 @@ Can not find the 'nice' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${NICE}"; then
+               NICE=`readlink -f "${NICE}"`
+       fi
+
        test "${NICE}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'NICE'@!${NICE}!g;"
 
        test "${NICE}"
@@ -5562,6 +5626,10 @@ Can not find the 'ps' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${PS}"; then
+               PS=`readlink -f "${PS}"`
+       fi
+
        test "${PS}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'PS'@!${PS}!g;"
 
        test "${PS}"
@@ -5643,6 +5711,10 @@ Can not find the 'rm' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${RM}"; then
+               RM=`readlink -f "${RM}"`
+       fi
+
        test "${RM}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'RM'@!${RM}!g;"
 
        test "${RM}"
@@ -5724,6 +5796,10 @@ Can not find the 'rmdir' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${RMDIR}"; then
+               RMDIR=`readlink -f "${RMDIR}"`
+       fi
+
        test "${RMDIR}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'RMDIR'@!${RMDIR}!g;"
 
        test "${RMDIR}"
@@ -5805,6 +5881,10 @@ Can not find the 'sed' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${SED}"; then
+               SED=`readlink -f "${SED}"`
+       fi
+
        test "${SED}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'SED'@!${SED}!g;"
 
        test "${SED}"
@@ -5886,6 +5966,10 @@ Can not find the 'sh' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${SH}"; then
+               SH=`readlink -f "${SH}"`
+       fi
+
        test "${SH}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'SH'@!${SH}!g;"
 
        test "${SH}"
@@ -5967,6 +6051,10 @@ Can not find the 'tac' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${TAC}"; then
+               TAC=`readlink -f "${TAC}"`
+       fi
+
        test "${TAC}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'TAC'@!${TAC}!g;"
 
        test "${TAC}"
@@ -6048,6 +6136,10 @@ Can not find the 'tar' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${TAR}"; then
+               TAR=`readlink -f "${TAR}"`
+       fi
+
        test "${TAR}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'TAR'@!${TAR}!g;"
 
        test "${TAR}"
@@ -6129,6 +6221,10 @@ Can not find the 'touch' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${TOUCH}"; then
+               TOUCH=`readlink -f "${TOUCH}"`
+       fi
+
        test "${TOUCH}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'TOUCH'@!${TOUCH}!g;"
 
        test "${TOUCH}"
@@ -6210,6 +6306,10 @@ Can not find the 'tty' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${TTY}"; then
+               TTY=`readlink -f "${TTY}"`
+       fi
+
        test "${TTY}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'TTY'@!${TTY}!g;"
 
        test "${TTY}"
@@ -6291,6 +6391,10 @@ Can not find the 'umount' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${UMOUNT}"; then
+               UMOUNT=`readlink -f "${UMOUNT}"`
+       fi
+
        test "${UMOUNT}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'UMOUNT'@!${UMOUNT}!g;"
 
        test "${UMOUNT}"
@@ -6372,6 +6476,10 @@ Can not find the 'wc' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${WC}"; then
+               WC=`readlink -f "${WC}"`
+       fi
+
        test "${WC}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'WC'@!${WC}!g;"
 
        test "${WC}"
@@ -6455,6 +6563,10 @@ Usually, this tool is shipped in the 'iproute' or 'iproute2' package of your dis
                fi
        fi
 
+       if test -e "${IP}"; then
+               IP=`readlink -f "${IP}"`
+       fi
+
        test "${IP}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'IP'@!${IP}!g;"
 
        test "${IP}"
@@ -6536,6 +6648,10 @@ Can not find the 'iptables' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${IPTABLES}"; then
+               IPTABLES=`readlink -f "${IPTABLES}"`
+       fi
+
        test "${IPTABLES}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'IPTABLES'@!${IPTABLES}!g;"
 
        test "${IPTABLES}"
@@ -6617,6 +6733,10 @@ Can not find the 'modprobe' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${MODPROBE}"; then
+               MODPROBE=`readlink -f "${MODPROBE}"`
+       fi
+
        test "${MODPROBE}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'MODPROBE'@!${MODPROBE}!g;"
 
        test "${MODPROBE}"
@@ -6698,6 +6818,10 @@ Can not find the 'nameif' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${NAMEIF}"; then
+               NAMEIF=`readlink -f "${NAMEIF}"`
+       fi
+
        test "${NAMEIF}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'NAMEIF'@!${NAMEIF}!g;"
 
        test "${NAMEIF}"
@@ -6779,6 +6903,10 @@ Can not find the 'nohup' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${NOHUP}"; then
+               NOHUP=`readlink -f "${NOHUP}"`
+       fi
+
        test "${NOHUP}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'NOHUP'@!${NOHUP}!g;"
 
        test "${NOHUP}"
@@ -6860,6 +6988,10 @@ Can not find the 'rmmod' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${RMMOD}"; then
+               RMMOD=`readlink -f "${RMMOD}"`
+       fi
+
        test "${RMMOD}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'RMMOD'@!${RMMOD}!g;"
 
        test "${RMMOD}"
@@ -6941,6 +7073,10 @@ See http://www.candelatech.com/~greear/vlan.html; usually this tool is shipped i
                fi
        fi
 
+       if test -e "${VCONFIG}"; then
+               VCONFIG=`readlink -f "${VCONFIG}"`
+       fi
+
        test "${VCONFIG}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'VCONFIG'@!${VCONFIG}!g;"
 
        test "${VCONFIG}"
@@ -7022,6 +7158,10 @@ Can not find the 'wget' tool within '${ensc_searchpath:-$PATH}'.
                fi
        fi
 
+       if test -e "${WGET}"; then
+               WGET=`readlink -f "${WGET}"`
+       fi
+
        test "${WGET}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'WGET'@!${WGET}!g;"
 
        test "${WGET}"
@@ -7029,8 +7169,7 @@ Can not find the 'wget' tool within '${ensc_searchpath:-$PATH}'.
 
 
 
-
-       if test -z ":"; then
+       if test -z "file"; then
                rq=true
        else
                rq=false
@@ -7039,21 +7178,21 @@ Can not find the 'wget' tool within '${ensc_searchpath:-$PATH}'.
        if $rq; then
                ensc_dflt=
        else
-               ensc_dflt=":"
+               ensc_dflt="file"
        fi
 
-       for ac_prog in doxygen
+       for ac_prog in file
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_DOXYGEN+set}" = set; then
+if test "${ac_cv_path_FILE+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  case $DOXYGEN in
+  case $FILE in
   [\\/]* | ?:[\\/]*)
-  ac_cv_path_DOXYGEN="$DOXYGEN" # Let the user override the test with a path.
+  ac_cv_path_FILE="$FILE" # Let the user override the test with a path.
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -7063,7 +7202,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext"
+    ac_cv_path_FILE="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -7073,45 +7212,49 @@ done
   ;;
 esac
 fi
-DOXYGEN=$ac_cv_path_DOXYGEN
+FILE=$ac_cv_path_FILE
 
-if test -n "$DOXYGEN"; then
-  echo "$as_me:$LINENO: result: $DOXYGEN" >&5
-echo "${ECHO_T}$DOXYGEN" >&6
+if test -n "$FILE"; then
+  echo "$as_me:$LINENO: result: $FILE" >&5
+echo "${ECHO_T}$FILE" >&6
 else
   echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
-  test -n "$DOXYGEN" && break
+  test -n "$FILE" && break
 done
-test -n "$DOXYGEN" || DOXYGEN="$ensc_dflt"
+test -n "$FILE" || FILE="$ensc_dflt"
 
 
-       if test -z "${DOXYGEN}" && $rq; then
+       if test -z "${FILE}" && $rq; then
                if test -z ""; then
-                       { { echo "$as_me:$LINENO: error: Can not find the 'doxygen' tool within '${ensc_searchpath:-$PATH}'." >&5
-echo "$as_me: error: Can not find the 'doxygen' tool within '${ensc_searchpath:-$PATH}'." >&2;}
+                       { { echo "$as_me:$LINENO: error: Can not find the 'file' tool within '${ensc_searchpath:-$PATH}'." >&5
+echo "$as_me: error: Can not find the 'file' tool within '${ensc_searchpath:-$PATH}'." >&2;}
    { (exit 1); exit 1; }; }
                else
                        { { echo "$as_me:$LINENO: error:
-Can not find the 'doxygen' tool within '${ensc_searchpath:-$PATH}'.
+Can not find the 'file' tool within '${ensc_searchpath:-$PATH}'.
 " >&5
 echo "$as_me: error:
-Can not find the 'doxygen' tool within '${ensc_searchpath:-$PATH}'.
+Can not find the 'file' tool within '${ensc_searchpath:-$PATH}'.
 " >&2;}
    { (exit 1); exit 1; }; }
                fi
        fi
 
-       test "${DOXYGEN}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'DOXYGEN'@!${DOXYGEN}!g;"
+       if test -e "${FILE}"; then
+               FILE=`readlink -f "${FILE}"`
+       fi
 
-       test "${DOXYGEN}"
+       test "${FILE}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'FILE'@!${FILE}!g;"
 
+       test "${FILE}"
 
 
 
-       if test -z ":"; then
+
+       if test -z "gzip"; then
                rq=true
        else
                rq=false
@@ -7120,21 +7263,21 @@ Can not find the 'doxygen' tool within '${ensc_searchpath:-$PATH}'.
        if $rq; then
                ensc_dflt=
        else
-               ensc_dflt=":"
+               ensc_dflt="gzip"
        fi
 
-       for ac_prog in xsltp
+       for ac_prog in gzip
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_XSLTP+set}" = set; then
+if test "${ac_cv_path_GZIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  case $XSLTP in
+  case $GZIP in
   [\\/]* | ?:[\\/]*)
-  ac_cv_path_XSLTP="$XSLTP" # Let the user override the test with a path.
+  ac_cv_path_GZIP="$GZIP" # Let the user override the test with a path.
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -7144,7 +7287,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_XSLTP="$as_dir/$ac_word$ac_exec_ext"
+    ac_cv_path_GZIP="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -7154,45 +7297,49 @@ done
   ;;
 esac
 fi
-XSLTP=$ac_cv_path_XSLTP
+GZIP=$ac_cv_path_GZIP
 
-if test -n "$XSLTP"; then
-  echo "$as_me:$LINENO: result: $XSLTP" >&5
-echo "${ECHO_T}$XSLTP" >&6
+if test -n "$GZIP"; then
+  echo "$as_me:$LINENO: result: $GZIP" >&5
+echo "${ECHO_T}$GZIP" >&6
 else
   echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
-  test -n "$XSLTP" && break
+  test -n "$GZIP" && break
 done
-test -n "$XSLTP" || XSLTP="$ensc_dflt"
+test -n "$GZIP" || GZIP="$ensc_dflt"
 
 
-       if test -z "${XSLTP}" && $rq; then
+       if test -z "${GZIP}" && $rq; then
                if test -z ""; then
-                       { { echo "$as_me:$LINENO: error: Can not find the 'xsltp' tool within '${ensc_searchpath:-$PATH}'." >&5
-echo "$as_me: error: Can not find the 'xsltp' tool within '${ensc_searchpath:-$PATH}'." >&2;}
+                       { { echo "$as_me:$LINENO: error: Can not find the 'gzip' tool within '${ensc_searchpath:-$PATH}'." >&5
+echo "$as_me: error: Can not find the 'gzip' tool within '${ensc_searchpath:-$PATH}'." >&2;}
    { (exit 1); exit 1; }; }
                else
                        { { echo "$as_me:$LINENO: error:
-Can not find the 'xsltp' tool within '${ensc_searchpath:-$PATH}'.
+Can not find the 'gzip' tool within '${ensc_searchpath:-$PATH}'.
 " >&5
 echo "$as_me: error:
-Can not find the 'xsltp' tool within '${ensc_searchpath:-$PATH}'.
+Can not find the 'gzip' tool within '${ensc_searchpath:-$PATH}'.
 " >&2;}
    { (exit 1); exit 1; }; }
                fi
        fi
 
-       test "${XSLTP}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'XSLTP'@!${XSLTP}!g;"
+       if test -e "${GZIP}"; then
+               GZIP=`readlink -f "${GZIP}"`
+       fi
 
-       test "${XSLTP}"
+       test "${GZIP}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'GZIP'@!${GZIP}!g;"
 
+       test "${GZIP}"
 
 
 
-       if test -z ":"; then
+
+       if test -z "bzip2"; then
                rq=true
        else
                rq=false
@@ -7201,21 +7348,21 @@ Can not find the 'xsltp' tool within '${ensc_searchpath:-$PATH}'.
        if $rq; then
                ensc_dflt=
        else
-               ensc_dflt=":"
+               ensc_dflt="bzip2"
        fi
 
-       for ac_prog in xsltproc
+       for ac_prog in bzip2
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_XSLTPROC+set}" = set; then
+if test "${ac_cv_path_BZIP2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  case $XSLTPROC in
+  case $BZIP2 in
   [\\/]* | ?:[\\/]*)
-  ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path.
+  ac_cv_path_BZIP2="$BZIP2" # Let the user override the test with a path.
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -7225,7 +7372,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext"
+    ac_cv_path_BZIP2="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -7235,477 +7382,609 @@ done
   ;;
 esac
 fi
-XSLTPROC=$ac_cv_path_XSLTPROC
+BZIP2=$ac_cv_path_BZIP2
 
-if test -n "$XSLTPROC"; then
-  echo "$as_me:$LINENO: result: $XSLTPROC" >&5
-echo "${ECHO_T}$XSLTPROC" >&6
+if test -n "$BZIP2"; then
+  echo "$as_me:$LINENO: result: $BZIP2" >&5
+echo "${ECHO_T}$BZIP2" >&6
 else
   echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
-  test -n "$XSLTPROC" && break
+  test -n "$BZIP2" && break
 done
-test -n "$XSLTPROC" || XSLTPROC="$ensc_dflt"
+test -n "$BZIP2" || BZIP2="$ensc_dflt"
 
 
-       if test -z "${XSLTPROC}" && $rq; then
+       if test -z "${BZIP2}" && $rq; then
                if test -z ""; then
-                       { { echo "$as_me:$LINENO: error: Can not find the 'xsltproc' tool within '${ensc_searchpath:-$PATH}'." >&5
-echo "$as_me: error: Can not find the 'xsltproc' tool within '${ensc_searchpath:-$PATH}'." >&2;}
+                       { { echo "$as_me:$LINENO: error: Can not find the 'bzip2' tool within '${ensc_searchpath:-$PATH}'." >&5
+echo "$as_me: error: Can not find the 'bzip2' tool within '${ensc_searchpath:-$PATH}'." >&2;}
    { (exit 1); exit 1; }; }
                else
                        { { echo "$as_me:$LINENO: error:
-Can not find the 'xsltproc' tool within '${ensc_searchpath:-$PATH}'.
+Can not find the 'bzip2' tool within '${ensc_searchpath:-$PATH}'.
 " >&5
 echo "$as_me: error:
-Can not find the 'xsltproc' tool within '${ensc_searchpath:-$PATH}'.
+Can not find the 'bzip2' tool within '${ensc_searchpath:-$PATH}'.
 " >&2;}
    { (exit 1); exit 1; }; }
                fi
        fi
 
-       test "${XSLTPROC}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'XSLTPROC'@!${XSLTPROC}!g;"
+       if test -e "${BZIP2}"; then
+               BZIP2=`readlink -f "${BZIP2}"`
+       fi
 
-       test "${XSLTPROC}"
+       test "${BZIP2}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'BZIP2'@!${BZIP2}!g;"
 
+       test "${BZIP2}"
 
 
 
-if test "$XSLTP"    != ':'; then
-  HAVE_XSLTP_TRUE=
-  HAVE_XSLTP_FALSE='#'
-else
-  HAVE_XSLTP_TRUE='#'
-  HAVE_XSLTP_FALSE=
-fi
 
+       if test -z "cpio"; then
+               rq=true
+       else
+               rq=false
+       fi
 
+       if $rq; then
+               ensc_dflt=
+       else
+               ensc_dflt="cpio"
+       fi
 
-if test "$XSLTPROC" != ':'; then
-  HAVE_XSLTPROC_TRUE=
-  HAVE_XSLTPROC_FALSE='#'
+       for ac_prog in cpio
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_CPIO+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  HAVE_XSLTPROC_TRUE='#'
-  HAVE_XSLTPROC_FALSE=
+  case $CPIO in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_CPIO="$CPIO" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $ensc_searchpath
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_CPIO="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
 fi
+CPIO=$ac_cv_path_CPIO
 
+if test -n "$CPIO"; then
+  echo "$as_me:$LINENO: result: $CPIO" >&5
+echo "${ECHO_T}$CPIO" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
 
+  test -n "$CPIO" && break
+done
+test -n "$CPIO" || CPIO="$ensc_dflt"
 
 
+       if test -z "${CPIO}" && $rq; then
+               if test -z ""; then
+                       { { echo "$as_me:$LINENO: error: Can not find the 'cpio' tool within '${ensc_searchpath:-$PATH}'." >&5
+echo "$as_me: error: Can not find the 'cpio' tool within '${ensc_searchpath:-$PATH}'." >&2;}
+   { (exit 1); exit 1; }; }
+               else
+                       { { echo "$as_me:$LINENO: error:
+Can not find the 'cpio' tool within '${ensc_searchpath:-$PATH}'.
+" >&5
+echo "$as_me: error:
+Can not find the 'cpio' tool within '${ensc_searchpath:-$PATH}'.
+" >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+       fi
 
-       warn_flags="-Werror -W"
-       echo "$as_me:$LINENO: checking whether the C-compiler accepts ${warn_flags}" >&5
-echo $ECHO_N "checking whether the C-compiler accepts ${warn_flags}... $ECHO_C" >&6
-       ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+       if test -e "${CPIO}"; then
+               CPIO=`readlink -f "${CPIO}"`
+       fi
 
-       __ensc_check_warnflags_old_CFLAGS="${CFLAGS}"
-       CFLAGS="$warn_flags"
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-inline static void f(){}
-int
-main ()
-{
+       test "${CPIO}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'CPIO'@!${CPIO}!g;"
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ensc_sys_compilerwarnflags_C=${warn_flags}
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+       test "${CPIO}"
 
-ensc_sys_compilerwarnflags_C=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-       ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-       CFLAGS="$__ensc_check_warnflags_old_CFLAGS"
 
-       if test x"${ensc_sys_compilerwarnflags_C}" = x; then
-               echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+
+       if test -z "restore"; then
+               rq=true
        else
-               echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+               rq=false
        fi
 
+       if $rq; then
+               ensc_dflt=
+       else
+               ensc_dflt="restore"
+       fi
 
+       for ac_prog in restore
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_RESTORE+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $RESTORE in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_RESTORE="$RESTORE" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $ensc_searchpath
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_RESTORE="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
+  ;;
+esac
+fi
+RESTORE=$ac_cv_path_RESTORE
 
-
-echo 'void f(){}' > conftest.c
-  for i in -std=c99 -Wall -pedantic -W
-  do
-    echo "$as_me:$LINENO: checking whether $CC accepts $i" >&5
-echo $ECHO_N "checking whether $CC accepts $i... $ECHO_C" >&6
-    if test -z "`${CC} ${ensc_sys_compilerwarnflags_C} $i -c conftest.c 2>&1`"
-    then
-      CFLAGS="${CFLAGS} $i"
-      echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-    else
-      echo "$as_me:$LINENO: result: no" >&5
+if test -n "$RESTORE"; then
+  echo "$as_me:$LINENO: result: $RESTORE" >&5
+echo "${ECHO_T}$RESTORE" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
-    fi
-  done
-  rm -f conftest.c conftest.o
+fi
 
+  test -n "$RESTORE" && break
+done
+test -n "$RESTORE" || RESTORE="$ensc_dflt"
 
 
-       warn_flags="-Werror -W"
-       echo "$as_me:$LINENO: checking whether the C++-compiler accepts ${warn_flags}" >&5
-echo $ECHO_N "checking whether the C++-compiler accepts ${warn_flags}... $ECHO_C" >&6
-       ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+       if test -z "${RESTORE}" && $rq; then
+               if test -z ""; then
+                       { { echo "$as_me:$LINENO: error: Can not find the 'restore' tool within '${ensc_searchpath:-$PATH}'." >&5
+echo "$as_me: error: Can not find the 'restore' tool within '${ensc_searchpath:-$PATH}'." >&2;}
+   { (exit 1); exit 1; }; }
+               else
+                       { { echo "$as_me:$LINENO: error:
+Can not find the 'restore' tool within '${ensc_searchpath:-$PATH}'.
+" >&5
+echo "$as_me: error:
+Can not find the 'restore' tool within '${ensc_searchpath:-$PATH}'.
+" >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+       fi
 
-       __ensc_check_warnflags_old_CFLAGS="${CXXFLAGS}"
-       CXXFLAGS="$warn_flags"
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-inline static void f(){}
-int
-main ()
-{
+       if test -e "${RESTORE}"; then
+               RESTORE=`readlink -f "${RESTORE}"`
+       fi
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ensc_sys_compilerwarnflags_CXX=${warn_flags}
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+       test "${RESTORE}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'RESTORE'@!${RESTORE}!g;"
 
-ensc_sys_compilerwarnflags_CXX=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-       ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+       test "${RESTORE}"
 
-       CXXFLAGS="$__ensc_check_warnflags_old_CFLAGS"
 
-       if test x"${ensc_sys_compilerwarnflags_CXX}" = x; then
-               echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+
+
+       if test -z "rsync"; then
+               rq=true
        else
-               echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+               rq=false
        fi
 
+       if $rq; then
+               ensc_dflt=
+       else
+               ensc_dflt="rsync"
+       fi
 
+       for ac_prog in rsync
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_RSYNC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $RSYNC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_RSYNC="$RSYNC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $ensc_searchpath
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_RSYNC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
+  ;;
+esac
+fi
+RSYNC=$ac_cv_path_RSYNC
 
-
-  echo 'void f(){}' > conftest.cc
-  for i in -ansi   -Wall -pedantic -W -fmessage-length=0
-  do
-    echo "$as_me:$LINENO: checking whether $CXX accepts $i" >&5
-echo $ECHO_N "checking whether $CXX accepts $i... $ECHO_C" >&6
-    if test -z "`${CXX} ${ensc_sys_compilerwarnflags_CXX} $i -c conftest.cc 2>&1`"
-    then
-      CXXFLAGS="${CXXFLAGS} $i"
-      echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-    else
-      echo "$as_me:$LINENO: result: no" >&5
+if test -n "$RSYNC"; then
+  echo "$as_me:$LINENO: result: $RSYNC" >&5
+echo "${ECHO_T}$RSYNC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
-    fi
-  done
-  rm -f conftest.cc conftest.o
+fi
 
+  test -n "$RSYNC" && break
+done
+test -n "$RSYNC" || RSYNC="$ensc_dflt"
 
-echo "$as_me:$LINENO: checking whether to enable extra optimizations" >&5
-echo $ECHO_N "checking whether to enable extra optimizations... $ECHO_C" >&6
-# Check whether --enable-extra-optimizations or --disable-extra-optimizations was given.
-if test "${enable_extra_optimizations+set}" = set; then
-  enableval="$enable_extra_optimizations"
-  case "$enableval" in
-                 (yes) use_extra_optimizations=1;;
-                 (no)  use_extra_optimizations=;;
-                  (*)   { { echo "$as_me:$LINENO: error: '$enableval' is not a valid value for '--disable-extra-optimizations'" >&5
-echo "$as_me: error: '$enableval' is not a valid value for '--disable-extra-optimizations'" >&2;}
-   { (exit 1); exit 1; }; };;
-               esac
-else
-  use_extra_optimizations=1
-fi;
 
-if test x"$use_extra_optimizations" = x; then
-       echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-else
-       echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+       if test -z "${RSYNC}" && $rq; then
+               if test -z ""; then
+                       { { echo "$as_me:$LINENO: error: Can not find the 'rsync' tool within '${ensc_searchpath:-$PATH}'." >&5
+echo "$as_me: error: Can not find the 'rsync' tool within '${ensc_searchpath:-$PATH}'." >&2;}
+   { (exit 1); exit 1; }; }
+               else
+                       { { echo "$as_me:$LINENO: error:
+Can not find the 'rsync' tool within '${ensc_searchpath:-$PATH}'.
+" >&5
+echo "$as_me: error:
+Can not find the 'rsync' tool within '${ensc_searchpath:-$PATH}'.
+" >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+       fi
 
+       if test -e "${RSYNC}"; then
+               RSYNC=`readlink -f "${RSYNC}"`
+       fi
 
+       test "${RSYNC}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'RSYNC'@!${RSYNC}!g;"
 
-echo 'void f(){}' > conftest.c
-  for i in -funit-at-a-time
-  do
-    echo "$as_me:$LINENO: checking whether $CC accepts $i" >&5
-echo $ECHO_N "checking whether $CC accepts $i... $ECHO_C" >&6
-    if test -z "`${CC} ${ensc_sys_compilerwarnflags_C} $i -c conftest.c 2>&1`"
-    then
-      CFLAGS="${CFLAGS} $i"
-      echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-    else
-      echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-    fi
-  done
-  rm -f conftest.c conftest.o
+       test "${RSYNC}"
 
 
 
 
-  echo 'void f(){}' > conftest.cc
-  for i in -funit-at-a-time
-  do
-    echo "$as_me:$LINENO: checking whether $CXX accepts $i" >&5
-echo $ECHO_N "checking whether $CXX accepts $i... $ECHO_C" >&6
-    if test -z "`${CXX} ${ensc_sys_compilerwarnflags_CXX} $i -c conftest.cc 2>&1`"
-    then
-      CXXFLAGS="${CXXFLAGS} $i"
-      echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-    else
-      echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-    fi
-  done
-  rm -f conftest.cc conftest.o
 
-fi
-
-echo "$as_me:$LINENO: checking whether to enable debug-code in library" >&5
-echo $ECHO_N "checking whether to enable debug-code in library... $ECHO_C" >&6
-# Check whether --enable-lib-debug or --disable-lib-debug was given.
-if test "${enable_lib_debug+set}" = set; then
-  enableval="$enable_lib_debug"
-  case "$enableval" in
-                 (yes) use_lib_debug=1;;
-                  (no)  use_lib_debug=;;
-                  (*)   { { echo "$as_me:$LINENO: error: '$enableval' is not a valid value for '--enable-lib-debug'" >&5
-echo "$as_me: error: '$enableval' is not a valid value for '--enable-lib-debug'" >&2;}
-   { (exit 1); exit 1; }; };;
-               esac
-else
-   use_lib_debug=
-fi;
+       if test -z ":"; then
+               rq=true
+       else
+               rq=false
+       fi
 
-if test x"$use_lib_debug" = x; then
-       LIB_DEBUG_CPPFLAGS=-DNDEBUG
+       if $rq; then
+               ensc_dflt=
+       else
+               ensc_dflt=":"
+       fi
 
-       echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       for ac_prog in doxygen
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_DOXYGEN+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  case $DOXYGEN in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_DOXYGEN="$DOXYGEN" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $ensc_searchpath
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
-       echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  ;;
+esac
 fi
+DOXYGEN=$ac_cv_path_DOXYGEN
 
-echo "$as_me:$LINENO: checking whether to enable expensive tests" >&5
-echo $ECHO_N "checking whether to enable expensive tests... $ECHO_C" >&6
-# Check whether --enable-expensive-tests or --disable-expensive-tests was given.
-if test "${enable_expensive_tests+set}" = set; then
-  enableval="$enable_expensive_tests"
-  case "$enableval" in
-                (yes|no)  use_expensive_tests=$enableval;;
-                (*)       { { echo "$as_me:$LINENO: error: '$enableval' is not a valid value for '--disable-expensive-tests'" >&5
-echo "$as_me: error: '$enableval' is not a valid value for '--disable-expensive-tests'" >&2;}
-   { (exit 1); exit 1; }; };;
-              esac
+if test -n "$DOXYGEN"; then
+  echo "$as_me:$LINENO: result: $DOXYGEN" >&5
+echo "${ECHO_T}$DOXYGEN" >&6
 else
-   use_expensive_tests=yes
-fi;
-echo "$as_me:$LINENO: result: $use_expensive_tests" >&5
-echo "${ECHO_T}$use_expensive_tests" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
 
-ENSC_USE_EXPENSIVE_TESTS="$use_expensive_tests"
+  test -n "$DOXYGEN" && break
+done
+test -n "$DOXYGEN" || DOXYGEN="$ensc_dflt"
 
 
+       if test -z "${DOXYGEN}" && $rq; then
+               if test -z ""; then
+                       { { echo "$as_me:$LINENO: error: Can not find the 'doxygen' tool within '${ensc_searchpath:-$PATH}'." >&5
+echo "$as_me: error: Can not find the 'doxygen' tool within '${ensc_searchpath:-$PATH}'." >&2;}
+   { (exit 1); exit 1; }; }
+               else
+                       { { echo "$as_me:$LINENO: error:
+Can not find the 'doxygen' tool within '${ensc_searchpath:-$PATH}'.
+" >&5
+echo "$as_me: error:
+Can not find the 'doxygen' tool within '${ensc_searchpath:-$PATH}'.
+" >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+       fi
 
+       if test -e "${DOXYGEN}"; then
+               DOXYGEN=`readlink -f "${DOXYGEN}"`
+       fi
 
-       echo "$as_me:$LINENO: checking for declarations in <linux/personality.h>" >&5
-echo $ECHO_N "checking for declarations in <linux/personality.h>... $ECHO_C" >&6
-       echo "$as_me:$LINENO: result: " >&5
-echo "${ECHO_T}" >&6
+       test "${DOXYGEN}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'DOXYGEN'@!${DOXYGEN}!g;"
 
-       ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+       test "${DOXYGEN}"
 
-       echo "$as_me:$LINENO: checking whether MMAP_PAGE_ZERO is declared" >&5
-echo $ECHO_N "checking whether MMAP_PAGE_ZERO is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_MMAP_PAGE_ZERO+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#include <linux/personality.h>
 
 
-int
-main ()
-{
-#ifndef MMAP_PAGE_ZERO
-  char *p = (char *) MMAP_PAGE_ZERO;
-#endif
+       if test -z ":"; then
+               rq=true
+       else
+               rq=false
+       fi
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_have_decl_MMAP_PAGE_ZERO=yes
+       if $rq; then
+               ensc_dflt=
+       else
+               ensc_dflt=":"
+       fi
+
+       for ac_prog in xsltp
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_XSLTP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  case $XSLTP in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_XSLTP="$XSLTP" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $ensc_searchpath
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_XSLTP="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
-ac_cv_have_decl_MMAP_PAGE_ZERO=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  ;;
+esac
 fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_MMAP_PAGE_ZERO" >&5
-echo "${ECHO_T}$ac_cv_have_decl_MMAP_PAGE_ZERO" >&6
-if test $ac_cv_have_decl_MMAP_PAGE_ZERO = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_MMAP_PAGE_ZERO 1
-_ACEOF
-
+XSLTP=$ac_cv_path_XSLTP
 
+if test -n "$XSLTP"; then
+  echo "$as_me:$LINENO: result: $XSLTP" >&5
+echo "${ECHO_T}$XSLTP" >&6
 else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_MMAP_PAGE_ZERO 0
-_ACEOF
-
-
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
-echo "$as_me:$LINENO: checking whether ADDR_LIMIT_32BIT is declared" >&5
-echo $ECHO_N "checking whether ADDR_LIMIT_32BIT is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_ADDR_LIMIT_32BIT+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <linux/personality.h>
 
+  test -n "$XSLTP" && break
+done
+test -n "$XSLTP" || XSLTP="$ensc_dflt"
 
-int
-main ()
-{
-#ifndef ADDR_LIMIT_32BIT
-  char *p = (char *) ADDR_LIMIT_32BIT;
-#endif
 
-  ;
-  return 0;
-}
+       if test -z "${XSLTP}" && $rq; then
+               if test -z ""; then
+                       { { echo "$as_me:$LINENO: error: Can not find the 'xsltp' tool within '${ensc_searchpath:-$PATH}'." >&5
+echo "$as_me: error: Can not find the 'xsltp' tool within '${ensc_searchpath:-$PATH}'." >&2;}
+   { (exit 1); exit 1; }; }
+               else
+                       { { echo "$as_me:$LINENO: error:
+Can not find the 'xsltp' tool within '${ensc_searchpath:-$PATH}'.
+" >&5
+echo "$as_me: error:
+Can not find the 'xsltp' tool within '${ensc_searchpath:-$PATH}'.
+" >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+       fi
+
+       if test -e "${XSLTP}"; then
+               XSLTP=`readlink -f "${XSLTP}"`
+       fi
+
+       test "${XSLTP}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'XSLTP'@!${XSLTP}!g;"
+
+       test "${XSLTP}"
+
+
+
+
+       if test -z ":"; then
+               rq=true
+       else
+               rq=false
+       fi
+
+       if $rq; then
+               ensc_dflt=
+       else
+               ensc_dflt=":"
+       fi
+
+       for ac_prog in xsltproc
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_XSLTPROC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $XSLTPROC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $ensc_searchpath
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+XSLTPROC=$ac_cv_path_XSLTPROC
+
+if test -n "$XSLTPROC"; then
+  echo "$as_me:$LINENO: result: $XSLTPROC" >&5
+echo "${ECHO_T}$XSLTPROC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$XSLTPROC" && break
+done
+test -n "$XSLTPROC" || XSLTPROC="$ensc_dflt"
+
+
+       if test -z "${XSLTPROC}" && $rq; then
+               if test -z ""; then
+                       { { echo "$as_me:$LINENO: error: Can not find the 'xsltproc' tool within '${ensc_searchpath:-$PATH}'." >&5
+echo "$as_me: error: Can not find the 'xsltproc' tool within '${ensc_searchpath:-$PATH}'." >&2;}
+   { (exit 1); exit 1; }; }
+               else
+                       { { echo "$as_me:$LINENO: error:
+Can not find the 'xsltproc' tool within '${ensc_searchpath:-$PATH}'.
+" >&5
+echo "$as_me: error:
+Can not find the 'xsltproc' tool within '${ensc_searchpath:-$PATH}'.
+" >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+       fi
+
+       if test -e "${XSLTPROC}"; then
+               XSLTPROC=`readlink -f "${XSLTPROC}"`
+       fi
+
+       test "${XSLTPROC}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'XSLTPROC'@!${XSLTPROC}!g;"
+
+       test "${XSLTPROC}"
+
+
+
+
+if test "$XSLTP"    != ':'; then
+  HAVE_XSLTP_TRUE=
+  HAVE_XSLTP_FALSE='#'
+else
+  HAVE_XSLTP_TRUE='#'
+  HAVE_XSLTP_FALSE=
+fi
+
+
+
+if test "$XSLTPROC" != ':'; then
+  HAVE_XSLTPROC_TRUE=
+  HAVE_XSLTPROC_FALSE='#'
+else
+  HAVE_XSLTPROC_TRUE='#'
+  HAVE_XSLTPROC_FALSE=
+fi
+
+
+if test x"$prefix" = x/; then
+       prefix=
+fi
+
+
+
+       warn_flags="-Werror -W"
+       echo "$as_me:$LINENO: checking whether the C-compiler accepts ${warn_flags}" >&5
+echo $ECHO_N "checking whether the C-compiler accepts ${warn_flags}... $ECHO_C" >&6
+       ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+       __ensc_check_warnflags_old_CFLAGS="${CFLAGS}"
+       CFLAGS="$warn_flags"
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+inline static void f(){}
+int
+main ()
+{
+
+  ;
+  return 0;
+}
 _ACEOF
 rm -f conftest.$ac_objext
 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -7729,52 +8008,74 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_have_decl_ADDR_LIMIT_32BIT=yes
+  ensc_sys_compilerwarnflags_C=${warn_flags}
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_have_decl_ADDR_LIMIT_32BIT=no
+ensc_sys_compilerwarnflags_C=
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_ADDR_LIMIT_32BIT" >&5
-echo "${ECHO_T}$ac_cv_have_decl_ADDR_LIMIT_32BIT" >&6
-if test $ac_cv_have_decl_ADDR_LIMIT_32BIT = yes; then
+       ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_ADDR_LIMIT_32BIT 1
-_ACEOF
+       CFLAGS="$__ensc_check_warnflags_old_CFLAGS"
+
+       if test x"${ensc_sys_compilerwarnflags_C}" = x; then
+               echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+       else
+               echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+       fi
 
 
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_ADDR_LIMIT_32BIT 0
-_ACEOF
 
 
-fi
-echo "$as_me:$LINENO: checking whether SHORT_INODE is declared" >&5
-echo $ECHO_N "checking whether SHORT_INODE is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_SHORT_INODE+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
+
+echo 'void f(){}' > conftest.c
+  for i in -std=c99 -Wall -pedantic -W
+  do
+    echo "$as_me:$LINENO: checking whether $CC accepts $i" >&5
+echo $ECHO_N "checking whether $CC accepts $i... $ECHO_C" >&6
+    if test -z "`${CC} ${ensc_sys_compilerwarnflags_C} $i -c conftest.c 2>&1`"
+    then
+      CFLAGS="${CFLAGS} $i"
+      echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+    else
+      echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    fi
+  done
+  rm -f conftest.c conftest.o
+
+
+
+       warn_flags="-Werror -W"
+       echo "$as_me:$LINENO: checking whether the C++-compiler accepts ${warn_flags}" >&5
+echo $ECHO_N "checking whether the C++-compiler accepts ${warn_flags}... $ECHO_C" >&6
+       ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+       __ensc_check_warnflags_old_CFLAGS="${CXXFLAGS}"
+       CXXFLAGS="$warn_flags"
+       cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-
-#include <linux/personality.h>
-
-
+inline static void f(){}
 int
 main ()
 {
-#ifndef SHORT_INODE
-  char *p = (char *) SHORT_INODE;
-#endif
 
   ;
   return 0;
@@ -7789,7 +8090,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
+        { ac_try='test -z "$ac_cxx_werror_flag"
                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
@@ -7802,34 +8103,179 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_have_decl_SHORT_INODE=yes
+  ensc_sys_compilerwarnflags_CXX=${warn_flags}
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_have_decl_SHORT_INODE=no
+ensc_sys_compilerwarnflags_CXX=
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_SHORT_INODE" >&5
-echo "${ECHO_T}$ac_cv_have_decl_SHORT_INODE" >&6
-if test $ac_cv_have_decl_SHORT_INODE = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SHORT_INODE 1
-_ACEOF
+       ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+       CXXFLAGS="$__ensc_check_warnflags_old_CFLAGS"
+
+       if test x"${ensc_sys_compilerwarnflags_CXX}" = x; then
+               echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+       else
+               echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+       fi
+
+
+
+
+
+  echo 'void f(){}' > conftest.cc
+  for i in -ansi   -Wall -pedantic -W -fmessage-length=0
+  do
+    echo "$as_me:$LINENO: checking whether $CXX accepts $i" >&5
+echo $ECHO_N "checking whether $CXX accepts $i... $ECHO_C" >&6
+    if test -z "`${CXX} ${ensc_sys_compilerwarnflags_CXX} $i -c conftest.cc 2>&1`"
+    then
+      CXXFLAGS="${CXXFLAGS} $i"
+      echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+    else
+      echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    fi
+  done
+  rm -f conftest.cc conftest.o
+
+
+echo "$as_me:$LINENO: checking whether to enable extra optimizations" >&5
+echo $ECHO_N "checking whether to enable extra optimizations... $ECHO_C" >&6
+# Check whether --enable-extra-optimizations or --disable-extra-optimizations was given.
+if test "${enable_extra_optimizations+set}" = set; then
+  enableval="$enable_extra_optimizations"
+  case "$enableval" in
+                 (yes) use_extra_optimizations=1;;
+                 (no)  use_extra_optimizations=;;
+                  (*)   { { echo "$as_me:$LINENO: error: '$enableval' is not a valid value for '--disable-extra-optimizations'" >&5
+echo "$as_me: error: '$enableval' is not a valid value for '--disable-extra-optimizations'" >&2;}
+   { (exit 1); exit 1; }; };;
+               esac
+else
+  use_extra_optimizations=1
+fi;
+
+if test x"$use_extra_optimizations" = x; then
+       echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+else
+       echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+
+
+echo 'void f(){}' > conftest.c
+  for i in -funit-at-a-time
+  do
+    echo "$as_me:$LINENO: checking whether $CC accepts $i" >&5
+echo $ECHO_N "checking whether $CC accepts $i... $ECHO_C" >&6
+    if test -z "`${CC} ${ensc_sys_compilerwarnflags_C} $i -c conftest.c 2>&1`"
+    then
+      CFLAGS="${CFLAGS} $i"
+      echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+    else
+      echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    fi
+  done
+  rm -f conftest.c conftest.o
 
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SHORT_INODE 0
-_ACEOF
 
 
+
+  echo 'void f(){}' > conftest.cc
+  for i in -funit-at-a-time
+  do
+    echo "$as_me:$LINENO: checking whether $CXX accepts $i" >&5
+echo $ECHO_N "checking whether $CXX accepts $i... $ECHO_C" >&6
+    if test -z "`${CXX} ${ensc_sys_compilerwarnflags_CXX} $i -c conftest.cc 2>&1`"
+    then
+      CXXFLAGS="${CXXFLAGS} $i"
+      echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+    else
+      echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    fi
+  done
+  rm -f conftest.cc conftest.o
+
 fi
-echo "$as_me:$LINENO: checking whether WHOLE_SECONDS is declared" >&5
-echo $ECHO_N "checking whether WHOLE_SECONDS is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_WHOLE_SECONDS+set}" = set; then
+
+echo "$as_me:$LINENO: checking whether to enable debug-code in library" >&5
+echo $ECHO_N "checking whether to enable debug-code in library... $ECHO_C" >&6
+# Check whether --enable-lib-debug or --disable-lib-debug was given.
+if test "${enable_lib_debug+set}" = set; then
+  enableval="$enable_lib_debug"
+  case "$enableval" in
+                 (yes) use_lib_debug=1;;
+                  (no)  use_lib_debug=;;
+                  (*)   { { echo "$as_me:$LINENO: error: '$enableval' is not a valid value for '--enable-lib-debug'" >&5
+echo "$as_me: error: '$enableval' is not a valid value for '--enable-lib-debug'" >&2;}
+   { (exit 1); exit 1; }; };;
+               esac
+else
+   use_lib_debug=
+fi;
+
+if test x"$use_lib_debug" = x; then
+       LIB_DEBUG_CPPFLAGS=-DNDEBUG
+
+       echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+else
+
+       echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+fi
+
+echo "$as_me:$LINENO: checking whether to enable expensive tests" >&5
+echo $ECHO_N "checking whether to enable expensive tests... $ECHO_C" >&6
+# Check whether --enable-expensive-tests or --disable-expensive-tests was given.
+if test "${enable_expensive_tests+set}" = set; then
+  enableval="$enable_expensive_tests"
+  case "$enableval" in
+                (yes|no)  use_expensive_tests=$enableval;;
+                (*)       { { echo "$as_me:$LINENO: error: '$enableval' is not a valid value for '--enable-expensive-tests'" >&5
+echo "$as_me: error: '$enableval' is not a valid value for '--enable-expensive-tests'" >&2;}
+   { (exit 1); exit 1; }; };;
+              esac
+else
+   use_expensive_tests=no
+fi;
+echo "$as_me:$LINENO: result: $use_expensive_tests" >&5
+echo "${ECHO_T}$use_expensive_tests" >&6
+
+ENSC_USE_EXPENSIVE_TESTS="$use_expensive_tests"
+
+
+
+
+       echo "$as_me:$LINENO: checking for declarations in <linux/personality.h>" >&5
+echo $ECHO_N "checking for declarations in <linux/personality.h>... $ECHO_C" >&6
+       echo "$as_me:$LINENO: result: " >&5
+echo "${ECHO_T}" >&6
+
+       ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+       echo "$as_me:$LINENO: checking whether MMAP_PAGE_ZERO is declared" >&5
+echo $ECHO_N "checking whether MMAP_PAGE_ZERO is declared... $ECHO_C" >&6
+if test "${ac_cv_have_decl_MMAP_PAGE_ZERO+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -7845,8 +8291,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef WHOLE_SECONDS
-  char *p = (char *) WHOLE_SECONDS;
+#ifndef MMAP_PAGE_ZERO
+  char *p = (char *) MMAP_PAGE_ZERO;
 #endif
 
   ;
@@ -7875,34 +8321,34 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_have_decl_WHOLE_SECONDS=yes
+  ac_cv_have_decl_MMAP_PAGE_ZERO=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_have_decl_WHOLE_SECONDS=no
+ac_cv_have_decl_MMAP_PAGE_ZERO=no
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_WHOLE_SECONDS" >&5
-echo "${ECHO_T}$ac_cv_have_decl_WHOLE_SECONDS" >&6
-if test $ac_cv_have_decl_WHOLE_SECONDS = yes; then
+echo "$as_me:$LINENO: result: $ac_cv_have_decl_MMAP_PAGE_ZERO" >&5
+echo "${ECHO_T}$ac_cv_have_decl_MMAP_PAGE_ZERO" >&6
+if test $ac_cv_have_decl_MMAP_PAGE_ZERO = yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_WHOLE_SECONDS 1
+#define HAVE_DECL_MMAP_PAGE_ZERO 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_WHOLE_SECONDS 0
+#define HAVE_DECL_MMAP_PAGE_ZERO 0
 _ACEOF
 
 
 fi
-echo "$as_me:$LINENO: checking whether STICKY_TIMEOUTS is declared" >&5
-echo $ECHO_N "checking whether STICKY_TIMEOUTS is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_STICKY_TIMEOUTS+set}" = set; then
+echo "$as_me:$LINENO: checking whether ADDR_LIMIT_32BIT is declared" >&5
+echo $ECHO_N "checking whether ADDR_LIMIT_32BIT is declared... $ECHO_C" >&6
+if test "${ac_cv_have_decl_ADDR_LIMIT_32BIT+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -7918,8 +8364,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef STICKY_TIMEOUTS
-  char *p = (char *) STICKY_TIMEOUTS;
+#ifndef ADDR_LIMIT_32BIT
+  char *p = (char *) ADDR_LIMIT_32BIT;
 #endif
 
   ;
@@ -7948,34 +8394,34 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_have_decl_STICKY_TIMEOUTS=yes
+  ac_cv_have_decl_ADDR_LIMIT_32BIT=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_have_decl_STICKY_TIMEOUTS=no
+ac_cv_have_decl_ADDR_LIMIT_32BIT=no
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_STICKY_TIMEOUTS" >&5
-echo "${ECHO_T}$ac_cv_have_decl_STICKY_TIMEOUTS" >&6
-if test $ac_cv_have_decl_STICKY_TIMEOUTS = yes; then
+echo "$as_me:$LINENO: result: $ac_cv_have_decl_ADDR_LIMIT_32BIT" >&5
+echo "${ECHO_T}$ac_cv_have_decl_ADDR_LIMIT_32BIT" >&6
+if test $ac_cv_have_decl_ADDR_LIMIT_32BIT = yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STICKY_TIMEOUTS 1
+#define HAVE_DECL_ADDR_LIMIT_32BIT 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STICKY_TIMEOUTS 0
+#define HAVE_DECL_ADDR_LIMIT_32BIT 0
 _ACEOF
 
 
 fi
-echo "$as_me:$LINENO: checking whether ADDR_LIMIT_3GB is declared" >&5
-echo $ECHO_N "checking whether ADDR_LIMIT_3GB is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_ADDR_LIMIT_3GB+set}" = set; then
+echo "$as_me:$LINENO: checking whether SHORT_INODE is declared" >&5
+echo $ECHO_N "checking whether SHORT_INODE is declared... $ECHO_C" >&6
+if test "${ac_cv_have_decl_SHORT_INODE+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -7991,8 +8437,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef ADDR_LIMIT_3GB
-  char *p = (char *) ADDR_LIMIT_3GB;
+#ifndef SHORT_INODE
+  char *p = (char *) SHORT_INODE;
 #endif
 
   ;
@@ -8021,37 +8467,34 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_have_decl_ADDR_LIMIT_3GB=yes
+  ac_cv_have_decl_SHORT_INODE=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_have_decl_ADDR_LIMIT_3GB=no
+ac_cv_have_decl_SHORT_INODE=no
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_ADDR_LIMIT_3GB" >&5
-echo "${ECHO_T}$ac_cv_have_decl_ADDR_LIMIT_3GB" >&6
-if test $ac_cv_have_decl_ADDR_LIMIT_3GB = yes; then
+echo "$as_me:$LINENO: result: $ac_cv_have_decl_SHORT_INODE" >&5
+echo "${ECHO_T}$ac_cv_have_decl_SHORT_INODE" >&6
+if test $ac_cv_have_decl_SHORT_INODE = yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_ADDR_LIMIT_3GB 1
+#define HAVE_DECL_SHORT_INODE 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_ADDR_LIMIT_3GB 0
+#define HAVE_DECL_SHORT_INODE 0
 _ACEOF
 
 
 fi
-
-
-
-       echo "$as_me:$LINENO: checking whether PER_LINUX is declared" >&5
-echo $ECHO_N "checking whether PER_LINUX is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_PER_LINUX+set}" = set; then
+echo "$as_me:$LINENO: checking whether WHOLE_SECONDS is declared" >&5
+echo $ECHO_N "checking whether WHOLE_SECONDS is declared... $ECHO_C" >&6
+if test "${ac_cv_have_decl_WHOLE_SECONDS+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -8067,8 +8510,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef PER_LINUX
-  char *p = (char *) PER_LINUX;
+#ifndef WHOLE_SECONDS
+  char *p = (char *) WHOLE_SECONDS;
 #endif
 
   ;
@@ -8097,34 +8540,34 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_have_decl_PER_LINUX=yes
+  ac_cv_have_decl_WHOLE_SECONDS=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_have_decl_PER_LINUX=no
+ac_cv_have_decl_WHOLE_SECONDS=no
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_PER_LINUX" >&5
-echo "${ECHO_T}$ac_cv_have_decl_PER_LINUX" >&6
-if test $ac_cv_have_decl_PER_LINUX = yes; then
+echo "$as_me:$LINENO: result: $ac_cv_have_decl_WHOLE_SECONDS" >&5
+echo "${ECHO_T}$ac_cv_have_decl_WHOLE_SECONDS" >&6
+if test $ac_cv_have_decl_WHOLE_SECONDS = yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PER_LINUX 1
+#define HAVE_DECL_WHOLE_SECONDS 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PER_LINUX 0
+#define HAVE_DECL_WHOLE_SECONDS 0
 _ACEOF
 
 
 fi
-echo "$as_me:$LINENO: checking whether PER_LINUX_32BIT is declared" >&5
-echo $ECHO_N "checking whether PER_LINUX_32BIT is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_PER_LINUX_32BIT+set}" = set; then
+echo "$as_me:$LINENO: checking whether STICKY_TIMEOUTS is declared" >&5
+echo $ECHO_N "checking whether STICKY_TIMEOUTS is declared... $ECHO_C" >&6
+if test "${ac_cv_have_decl_STICKY_TIMEOUTS+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -8140,9 +8583,231 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef PER_LINUX_32BIT
-  char *p = (char *) PER_LINUX_32BIT;
-#endif
+#ifndef STICKY_TIMEOUTS
+  char *p = (char *) STICKY_TIMEOUTS;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_have_decl_STICKY_TIMEOUTS=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_have_decl_STICKY_TIMEOUTS=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_have_decl_STICKY_TIMEOUTS" >&5
+echo "${ECHO_T}$ac_cv_have_decl_STICKY_TIMEOUTS" >&6
+if test $ac_cv_have_decl_STICKY_TIMEOUTS = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STICKY_TIMEOUTS 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STICKY_TIMEOUTS 0
+_ACEOF
+
+
+fi
+echo "$as_me:$LINENO: checking whether ADDR_LIMIT_3GB is declared" >&5
+echo $ECHO_N "checking whether ADDR_LIMIT_3GB is declared... $ECHO_C" >&6
+if test "${ac_cv_have_decl_ADDR_LIMIT_3GB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <linux/personality.h>
+
+
+int
+main ()
+{
+#ifndef ADDR_LIMIT_3GB
+  char *p = (char *) ADDR_LIMIT_3GB;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_have_decl_ADDR_LIMIT_3GB=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_have_decl_ADDR_LIMIT_3GB=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_have_decl_ADDR_LIMIT_3GB" >&5
+echo "${ECHO_T}$ac_cv_have_decl_ADDR_LIMIT_3GB" >&6
+if test $ac_cv_have_decl_ADDR_LIMIT_3GB = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_LIMIT_3GB 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_LIMIT_3GB 0
+_ACEOF
+
+
+fi
+
+
+
+       echo "$as_me:$LINENO: checking whether PER_LINUX is declared" >&5
+echo $ECHO_N "checking whether PER_LINUX is declared... $ECHO_C" >&6
+if test "${ac_cv_have_decl_PER_LINUX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <linux/personality.h>
+
+
+int
+main ()
+{
+#ifndef PER_LINUX
+  char *p = (char *) PER_LINUX;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_have_decl_PER_LINUX=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_have_decl_PER_LINUX=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_have_decl_PER_LINUX" >&5
+echo "${ECHO_T}$ac_cv_have_decl_PER_LINUX" >&6
+if test $ac_cv_have_decl_PER_LINUX = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_PER_LINUX 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_PER_LINUX 0
+_ACEOF
+
+
+fi
+echo "$as_me:$LINENO: checking whether PER_LINUX_32BIT is declared" >&5
+echo $ECHO_N "checking whether PER_LINUX_32BIT is declared... $ECHO_C" >&6
+if test "${ac_cv_have_decl_PER_LINUX_32BIT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <linux/personality.h>
+
+
+int
+main ()
+{
+#ifndef PER_LINUX_32BIT
+  char *p = (char *) PER_LINUX_32BIT;
+#endif
 
   ;
   return 0;
 echo "${ECHO_T}$ensc_release_mode" >&6
 
 
-
-case $host_cpu in
-       (i*86|athlon)   min_diet_ver=0.25;;
-       (ia64|hppa*)    min_diet_ver=0.29;;
-       (*)             min_diet_ver=0.28;;
-esac
-
-
-       echo "$as_me:$LINENO: checking whether to enable dietlibc" >&5
-echo $ECHO_N "checking whether to enable dietlibc... $ECHO_C" >&6
-
-
-
-
-       : ${DIET:=diet}
-       : ${DIETFLAGS=-Os}
-
-       # Check whether --enable-dietlibc or --disable-dietlibc was given.
-if test "${enable_dietlibc+set}" = set; then
-  enableval="$enable_dietlibc"
-  case "$enableval" in
-                         (yes) use_dietlibc=forced;;
-                         (no)  use_dietlibc=forced_no;;
-                         (*)   { { echo "$as_me:$LINENO: error: '$enableval' is not a valid value for --enable-dietlibc" >&5
-echo "$as_me: error: '$enableval' is not a valid value for --enable-dietlibc" >&2;}
-   { (exit 1); exit 1; }; };;
-                      esac
-else
-  which "$DIET" >/dev/null 2>/dev/null && use_dietlibc=detected || use_dietlibc=detected_no
-fi;
-
-       if test "$use_dietlibc" = detected -a "$min_diet_ver"; then
-           _dietlibc_ver=$($DIET -v 2>&1 | sed '1p;d')
-           _dietlibc_ver=${_dietlibc_ver##*diet version }
-           _dietlibc_ver=${_dietlibc_ver##*dietlibc-}
-           _dietlibc_ver_maj=${_dietlibc_ver%%.*}
-           _dietlibc_ver_min=${_dietlibc_ver##*.}
-           _dietlibc_ver_min=${_dietlibc_ver_min%%[!0-9]*}
-           _dietlibc_cmp="$min_diet_ver"
-           _dietlibc_cmp_maj=${_dietlibc_cmp%%.*}
-           _dietlibc_cmp_min=${_dietlibc_cmp##*.}
-
-           ENSC_VERSION_DIETLIBC=$_dietlibc_ver_maj.$_dietlibc_ver_min
-
-           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
-       else
-           ENSC_VERSION_DIETLIBC=
-           _dietlibc_ver=-1
-        fi
-
-       ENSC_VERSION_DIETLIBC_NUM=$_dietlibc_ver
-       ensc_have_dietlibc=no
-
-       case x"$use_dietlibc" in
-           xdetected)
-
-
-if true; then
-  USE_DIETLIBC_TRUE=
-  USE_DIETLIBC_FALSE='#'
-else
-  USE_DIETLIBC_TRUE='#'
-  USE_DIETLIBC_FALSE=
-fi
-
-               echo "$as_me:$LINENO: result: yes (autodetected, $ENSC_VERSION_DIETLIBC)" >&5
-echo "${ECHO_T}yes (autodetected, $ENSC_VERSION_DIETLIBC)" >&6
-               ensc_have_dietlibc=yes
-               ;;
-           xforced)
-
-
-if true; then
-  USE_DIETLIBC_TRUE=
-  USE_DIETLIBC_FALSE='#'
-else
-  USE_DIETLIBC_TRUE='#'
-  USE_DIETLIBC_FALSE=
-fi
-
-               echo "$as_me:$LINENO: result: yes (forced)" >&5
-echo "${ECHO_T}yes (forced)" >&6
-               ensc_have_dietlibc=yes
-               ;;
-           xdetected_no)
-
-
-if false; then
-  USE_DIETLIBC_TRUE=
-  USE_DIETLIBC_FALSE='#'
-else
-  USE_DIETLIBC_TRUE='#'
-  USE_DIETLIBC_FALSE=
-fi
-
-               echo "$as_me:$LINENO: result: no (detected)" >&5
-echo "${ECHO_T}no (detected)" >&6
-               ;;
-           xdetected_old)
-
-
-if false; then
-  USE_DIETLIBC_TRUE=
-  USE_DIETLIBC_FALSE='#'
-else
-  USE_DIETLIBC_TRUE='#'
-  USE_DIETLIBC_FALSE=
-fi
-
-               echo "$as_me:$LINENO: result: no (too old; $min_diet_ver+ required, $ENSC_VERSION_DIETLIBC found)" >&5
-echo "${ECHO_T}no (too old; $min_diet_ver+ required, $ENSC_VERSION_DIETLIBC found)" >&6
-               ;;
-           xforced_no)
-
-
-if false; then
-  USE_DIETLIBC_TRUE=
-  USE_DIETLIBC_FALSE='#'
-else
-  USE_DIETLIBC_TRUE='#'
-  USE_DIETLIBC_FALSE=
-fi
-
-               echo "$as_me:$LINENO: result: no (forced)" >&5
-echo "${ECHO_T}no (forced)" >&6
-               ;;
-           *)
-               { { echo "$as_me:$LINENO: error: internal error, use_dietlibc was \"$use_dietlibc\"" >&5
-echo "$as_me: error: internal error, use_dietlibc was \"$use_dietlibc\"" >&2;}
-   { (exit 1); exit 1; }; }
-               ;;
-       esac
-
-       if test x"$ensc_have_dietlibc" != xno; then
-
-
-
-
-       echo "$as_me:$LINENO: checking whether dietlibc supports C99" >&5
-echo $ECHO_N "checking whether dietlibc supports C99... $ECHO_C" >&6
-if test "${ensc_cv_c_dietlibc_c99+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-               _ensc_dietlibc_c99_old_CFLAGS=$CFLAGS
-               _ensc_dietlibc_c99_old_CC=$CC
-
-               CFLAGS="-std=c99"
-               CC="${DIET:-diet} $CC"
-
-               ac_ext=c
+# HACK: This needs to be before ENSC_DIETLIBC_NEED_COMPAT, or the alternative
+# syscalls will never be enabled for glibc.
+ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-               cat >conftest.$ac_ext <<_ACEOF
-/* */
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-                       cat >conftest.$ac_ext <<_ACEOF
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-                               #include <stdint.h>
-                               #include <sys/cdefs.h>
-                               #if defined(inline)
-                               #  error 'inline' badly defined
-                               #endif
-                               volatile uint64_t       a;
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
 
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ensc_cv_c_dietlibc_c99=yes
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ensc_cv_c_dietlibc_c99=no
+  ac_cpp_err=yes
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ensc_cv_c_dietlibc_c99='skipped (compiler does not support C99)'
+  # Passes both tests.
+ac_preproc_ok=:
+break
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-               ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+rm -f conftest.err conftest.$ac_ext
 
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
 
-               CC=$_ensc_dietlibc_c99_old_CC
-               CFLAGS=$_ensc_dietlibc_c99_old_CFLAGS
+    done
+    ac_cv_prog_CPP=$CPP
 
 fi
-echo "$as_me:$LINENO: result: $ensc_cv_c_dietlibc_c99" >&5
-echo "${ECHO_T}$ensc_cv_c_dietlibc_c99" >&6
-
-       if test x"$ensc_cv_c_dietlibc_c99" = xyes; then
-               cat >>confdefs.h <<\_ACEOF
-#define ENSC_DIETLIBC_C99 1
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
 _ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-       fi
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
 
-       fi
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
 
-if test x"$ensc_have_dietlibc" = xno; then
-       { echo "$as_me:$LINENO: WARNING: ***                                                         ***" >&5
-echo "$as_me: WARNING: ***                                                         ***" >&2;}
-       { echo "$as_me:$LINENO: WARNING: *** it is strongly recommended to link util-vserver against ***" >&5
-echo "$as_me: WARNING: *** it is strongly recommended to link util-vserver against ***" >&2;}
-       { echo "$as_me:$LINENO: WARNING: *** dietlibc;  glibc's NSS functions are very unreliable in ***" >&5
-echo "$as_me: WARNING: *** dietlibc;  glibc's NSS functions are very unreliable in ***" >&2;}
-       { echo "$as_me:$LINENO: WARNING: *** chroot() environments,  so you have to  expect problems ***" >&5
-echo "$as_me: WARNING: *** chroot() environments,  so you have to  expect problems ***" >&2;}
-       { echo "$as_me:$LINENO: WARNING: *** there.                                                  ***" >&5
-echo "$as_me: WARNING: *** there.                                                  ***" >&2;}
-       { echo "$as_me:$LINENO: WARNING: ***                                                         ***" >&5
-echo "$as_me: WARNING: ***                                                         ***" >&2;}
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-if false; then
-  USE_DIETLIBC_COMPAT_TRUE=
-  USE_DIETLIBC_COMPAT_FALSE='#'
+echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+if test "${ac_cv_prog_egrep+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  USE_DIETLIBC_COMPAT_TRUE='#'
-  USE_DIETLIBC_COMPAT_FALSE=
+  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi
 fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+
 
+
+
+
+       echo "$as_me:$LINENO: checking for number of syscall 'vserver'" >&5
+echo $ECHO_N "checking for number of syscall 'vserver'... $ECHO_C" >&6
+if test "${ensc_cv_value_syscall_vserver+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-       # HACK: libtool does not have cmdline options to build only
-       # dynamic libraries; this can be done with the
-       # '--disable-static' ./configure option only.  As our static
-       # libraries will be build with dietlibc, we have to do set
-       # this option which is evaluated by 'AC_PROG_LIBTOOL'
-       # below.  Therefore, this macro must not be called earlier.
-       enable_static=no
 
+               ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+               cat >conftest.$ac_ext <<_ACEOF
+
+#ifdef ENSC_SYSCALL_FALLBACK
+#  include ENSC_SYSCALL_FALLBACK
+#else
+#  include <asm/unistd.h>
+#endif
+#ifdef __NR_vserver
+ensc_syscall_tmp_nr=__NR_vserver;
+ensc_syscall_tmp_src=ENSC_MARK
+#endif
+
+_ACEOF
+               ensc_syscall_tmp_nr=
+               ensc_syscall_tmp_src=
+               test x"$ensc_syscall_tmp_nr" != x || \
+                       eval $($CPP $CPPFLAGS -D ENSC_MARK='glibc'                                    conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[1-9][0-9]*;|src=.*)$')
+               test x"$ensc_syscall_tmp_nr" != x -o x'lib/syscall-fallback.h' = x || \
+                       eval $($CPP $CPPFLAGS -D ENSC_MARK='fallback' -D ENSC_SYSCALL_FALLBACK='"lib/syscall-fallback.h"' conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[1-9][0-9]*;|src=.*)$')
+               test "$ensc_syscall_tmp_nr" || {
+                       ensc_syscall_tmp_nr=273
+                       ensc_syscall_tmp_src=default
+               }
+
+               if test x"$ensc_syscall_tmp_nr" = x; then
+                       { { echo "$as_me:$LINENO: error: Can not determine value of __NR_vserver; please verify your glibc/kernelheaders, and/or set CPPFLAGS='-D__NR_vserver=<value>' environment when calling configure." >&5
+echo "$as_me: error: Can not determine value of __NR_vserver; please verify your glibc/kernelheaders, and/or set CPPFLAGS='-D__NR_vserver=<value>' environment when calling configure." >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+               ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+               ensc_cv_value_syscall_vserver="$ensc_syscall_tmp_nr/$ensc_syscall_tmp_src"
+
+fi
+echo "$as_me:$LINENO: result: $ensc_cv_value_syscall_vserver" >&5
+echo "${ECHO_T}$ensc_cv_value_syscall_vserver" >&6
 
+       ensc_syscall_tmp_nr=${ensc_cv_value_syscall_vserver%/*}
+       ensc_syscall_tmp_src=${ensc_cv_value_syscall_vserver#*/}
 
+       if test x"$ensc_syscall_tmp_src" != x'glibc'; then
 
+cat >>confdefs.h <<_ACEOF
+#define ENSC_SYSCALL__NR_vserver $ensc_syscall_tmp_nr
+_ACEOF
 
-       if test "$host_cpu" = x86_64 -a $ENSC_VERSION_DIETLIBC_NUM -le 0027; then
-               { echo "$as_me:$LINENO: WARNING: ***                                                             ***" >&5
-echo "$as_me: WARNING: ***                                                             ***" >&2;}
-               { echo "$as_me:$LINENO: WARNING: *** dietlibc<=0.27 is known to be broken for x86_64 systems     ***" >&5
-echo "$as_me: WARNING: *** dietlibc<=0.27 is known to be broken for x86_64 systems     ***" >&2;}
-               { echo "$as_me:$LINENO: WARNING: *** please make sure that at least the environ.S fix is applied ***" >&5
-echo "$as_me: WARNING: *** please make sure that at least the environ.S fix is applied ***" >&2;}
-               { echo "$as_me:$LINENO: WARNING: *** and lib/__nice.c added                                      ***" >&5
-echo "$as_me: WARNING: *** and lib/__nice.c added                                      ***" >&2;}
-               { echo "$as_me:$LINENO: WARNING: ***                                                             ***" >&5
-echo "$as_me: WARNING: ***                                                             ***" >&2;}
        fi
 
 
@@ -9982,23 +10662,35 @@ echo "${ECHO_T}$ensc_use_alternative_syscall_macros" >&6
 
 
 
-       echo "$as_me:$LINENO: checking whether dietlibc needs '-lcompat'" >&5
-echo $ECHO_N "checking whether dietlibc needs '-lcompat'... $ECHO_C" >&6
-if test "${ensc_cv_c_dietlibc_compat+set}" = set; then
+        echo "$as_me:$LINENO: checking for syscall(2) invocation method" >&5
+echo $ECHO_N "checking for syscall(2) invocation method... $ECHO_C" >&6
+
+# Check whether --with-syscall or --without-syscall was given.
+if test "${with_syscall+set}" = set; then
+  withval="$with_syscall"
+
+else
+  with_syscall=auto
+fi;
+        echo "$as_me:$LINENO: result: $with_syscall" >&5
+echo "${ECHO_T}$with_syscall" >&6
+
+        case x"$with_syscall" in
+            (xauto)
+               echo "$as_me:$LINENO: checking which syscall(2) invocation works" >&5
+echo $ECHO_N "checking which syscall(2) invocation works... $ECHO_C" >&6
+if test "${ensc_cv_test_syscall+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-               ac_ext=c
+                               ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-               ensc_dietlibc_need_compat_old_CC=$CC
-               CC="${DIET:-diet} $CC"
-               cat >conftest.$ac_ext <<_ACEOF
-
-                       /* confdefs.h.  */
+                               cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
@@ -10007,12 +10699,12 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include "$srcdir/lib/syscall-wrap.h"
 #include <errno.h>
 
-#define __NR_foo0              42
-#define __NR_foo1              42
-#define __NR_foo2              42
-#define __NR_foo3              42
-#define __NR_foo4              42
-#define __NR_foo5              42
+#define __NR_foo0      300
+#define __NR_foo1      301
+#define __NR_foo2      302
+#define __NR_foo3      303
+#define __NR_foo4      304
+#define __NR_foo5      305
 inline static _syscall0(int, foo0)
 inline static _syscall1(int, foo1, int, a)
 inline static _syscall2(int, foo2, int, a, int, b)
@@ -10020,17 +10712,19 @@ inline static _syscall3(int, foo3, int, a, int, b, int, c)
 inline static _syscall4(int, foo4, int, a, int, b, int, c, int, d)
 inline static _syscall5(int, foo5, int, a, int, b, int, c, int, d, int, e)
 
-int
-main ()
-{
-foo0(); foo1(0); foo2(0,0); foo3(0,0,0); foo4(0,0,0,0); foo5(0,0,0,0,0);
-  ;
-  return 0;
+int main() {
+  return foo0() || \
+        foo1(1) || \
+        foo2(1,2) || \
+         foo3(1,2,3) || \
+         foo4(1,2,3,4) || \
+        foo5(1,2,3,4,5);
 }
+
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -10044,23 +10738,22 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
+        { ac_try='test -s conftest.$ac_objext'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ensc_cv_c_dietlibc_compat=no
+  ensc_cv_test_syscall=fast
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ensc_cv_c_dietlibc_compat=yes
+ensc_cv_test_syscall=traditional
 fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-               CC=$ensc_dietlibc_need_compat_old_CC
-               ac_ext=c
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+                               ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -10068,693 +10761,445 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 fi
-echo "$as_me:$LINENO: result: $ensc_cv_c_dietlibc_compat" >&5
-echo "${ECHO_T}$ensc_cv_c_dietlibc_compat" >&6
+echo "$as_me:$LINENO: result: $ensc_cv_test_syscall" >&5
+echo "${ECHO_T}$ensc_cv_test_syscall" >&6
+               with_syscall=$ensc_cv_test_syscall
+               ;;
+            (xfast|xtraditional)
+               ;;
+            *)
+               { { echo "$as_me:$LINENO: error: '$with_syscall' is not a valid value for '--with-syscall'" >&5
+echo "$as_me: error: '$with_syscall' is not a valid value for '--with-syscall'" >&2;}
+   { (exit 1); exit 1; }; }
+               ;;
+        esac
 
-       if test x"USE_DIETLIBC_COMPAT" != x; then
+       if test x"$with_syscall $ensc_use_alternative_syscall_macros" = 'xfast yes'; then
+           with_syscall='alternative'
+        fi
 
+        if test x"$with_syscall" = xtraditional; then
 
-if test x"$ensc_cv_c_dietlibc_compat" = xyes; then
-  USE_DIETLIBC_COMPAT_TRUE=
-  USE_DIETLIBC_COMPAT_FALSE='#'
+cat >>confdefs.h <<\_ACEOF
+#define ENSC_SYSCALL_TRADITIONAL 1
+_ACEOF
+
+        fi
+
+
+
+
+
+
+case $host_cpu in
+       (i*86|athlon)   min_diet_ver=0.25;;
+       (ia64|hppa*)    min_diet_ver=0.29;;
+       (sparc*)        min_diet_ver=0.30;;
+       (x86_64)        min_diet_ver=0.27;;
+       (*)             min_diet_ver=0.28;;
+esac
+
+
+       echo "$as_me:$LINENO: checking whether to enable dietlibc" >&5
+echo $ECHO_N "checking whether to enable dietlibc... $ECHO_C" >&6
+
+
+
+
+       : ${DIET:=diet}
+       : ${DIETFLAGS=-Os}
+
+       # Check whether --enable-dietlibc or --disable-dietlibc was given.
+if test "${enable_dietlibc+set}" = set; then
+  enableval="$enable_dietlibc"
+  case "$enableval" in
+                         (yes) use_dietlibc=forced;;
+                         (no)  use_dietlibc=forced_no;;
+                         (*)   { { echo "$as_me:$LINENO: error: '$enableval' is not a valid value for --enable-dietlibc" >&5
+echo "$as_me: error: '$enableval' is not a valid value for --enable-dietlibc" >&2;}
+   { (exit 1); exit 1; }; };;
+                      esac
 else
-  USE_DIETLIBC_COMPAT_TRUE='#'
-  USE_DIETLIBC_COMPAT_FALSE=
-fi
+  which "$DIET" >/dev/null 2>/dev/null && use_dietlibc=detected || use_dietlibc=detected_no
+fi;
 
-       fi
+       if test "$use_dietlibc" = detected -a "$min_diet_ver"; then
+           _dietlibc_ver=$($DIET -v 2>&1 | sed '1p;d')
+           _dietlibc_ver=${_dietlibc_ver##*diet version }
+           _dietlibc_ver=${_dietlibc_ver##*dietlibc-}
+           _dietlibc_ver_maj=${_dietlibc_ver%%.*}
+           _dietlibc_ver_min=${_dietlibc_ver##*.}
+           _dietlibc_ver_min=${_dietlibc_ver_min%%[!0-9]*}
+           _dietlibc_cmp="$min_diet_ver"
+           _dietlibc_cmp_maj=${_dietlibc_cmp%%.*}
+           _dietlibc_cmp_min=${_dietlibc_cmp##*.}
 
-fi
+           ENSC_VERSION_DIETLIBC=$_dietlibc_ver_maj.$_dietlibc_ver_min
 
+           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
+       else
+           ENSC_VERSION_DIETLIBC=
+           _dietlibc_ver=-1
+        fi
 
-if test x"$ensc_have_dietlibc" = xyes; then
-  ENSC_USE_DIETLIBC_TRUE=
-  ENSC_USE_DIETLIBC_FALSE='#'
+       ENSC_VERSION_DIETLIBC_NUM=$_dietlibc_ver
+       ensc_have_dietlibc=no
+
+       case x"$use_dietlibc" in
+           xdetected)
+
+
+if true; then
+  USE_DIETLIBC_TRUE=
+  USE_DIETLIBC_FALSE='#'
 else
-  ENSC_USE_DIETLIBC_TRUE='#'
-  ENSC_USE_DIETLIBC_FALSE=
+  USE_DIETLIBC_TRUE='#'
+  USE_DIETLIBC_FALSE=
 fi
 
+               echo "$as_me:$LINENO: result: yes (autodetected, $ENSC_VERSION_DIETLIBC)" >&5
+echo "${ECHO_T}yes (autodetected, $ENSC_VERSION_DIETLIBC)" >&6
+               ensc_have_dietlibc=yes
+               ;;
+           xforced)
 
 
 if true; then
-  ENSC_USE_GLIBC_TRUE=
-  ENSC_USE_GLIBC_FALSE='#'
+  USE_DIETLIBC_TRUE=
+  USE_DIETLIBC_FALSE='#'
 else
-  ENSC_USE_GLIBC_TRUE='#'
-  ENSC_USE_GLIBC_FALSE=
+  USE_DIETLIBC_TRUE='#'
+  USE_DIETLIBC_FALSE=
 fi
 
+               echo "$as_me:$LINENO: result: yes (forced)" >&5
+echo "${ECHO_T}yes (forced)" >&6
+               ensc_have_dietlibc=yes
+               ;;
+           xdetected_no)
 
-# HACK: see comments at 'enable_static' above
-# Check whether --enable-shared or --disable-shared was given.
-if test "${enable_shared+set}" = set; then
-  enableval="$enable_shared"
-  p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi;
 
-# Check whether --enable-static or --disable-static was given.
-if test "${enable_static+set}" = set; then
-  enableval="$enable_static"
-  p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
+if false; then
+  USE_DIETLIBC_TRUE=
+  USE_DIETLIBC_FALSE='#'
 else
-  enable_static=yes
-fi;
+  USE_DIETLIBC_TRUE='#'
+  USE_DIETLIBC_FALSE=
+fi
 
-# Check whether --enable-fast-install or --disable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
-  enableval="$enable_fast_install"
-  p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi;
+               echo "$as_me:$LINENO: result: no (detected)" >&5
+echo "${ECHO_T}no (detected)" >&6
+               ;;
+           xdetected_old)
 
-echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
-if test "${lt_cv_path_SED+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+
+if false; then
+  USE_DIETLIBC_TRUE=
+  USE_DIETLIBC_FALSE='#'
 else
-  # Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-
-fi
-
-SED=$lt_cv_path_SED
-echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6
-
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
-    fi
+  USE_DIETLIBC_TRUE='#'
+  USE_DIETLIBC_FALSE=
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
 
+               echo "$as_me:$LINENO: result: no (too old; $min_diet_ver+ required, $ENSC_VERSION_DIETLIBC found)" >&5
+echo "${ECHO_T}no (too old; $min_diet_ver+ required, $ENSC_VERSION_DIETLIBC found)" >&6
+               ;;
+           xforced_no)
 
 
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
-  withval="$with_gnu_ld"
-  test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi;
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
-else
-  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
-fi
-if test "${lt_cv_path_LD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
+if false; then
+  USE_DIETLIBC_TRUE=
+  USE_DIETLIBC_FALSE='#'
 else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
+  USE_DIETLIBC_TRUE='#'
+  USE_DIETLIBC_FALSE=
 fi
 
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+               echo "$as_me:$LINENO: result: no (forced)" >&5
+echo "${ECHO_T}no (forced)" >&6
+               ;;
+           *)
+               { { echo "$as_me:$LINENO: error: internal error, use_dietlibc was \"$use_dietlibc\"" >&5
+echo "$as_me: error: internal error, use_dietlibc was \"$use_dietlibc\"" >&2;}
    { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
-with_gnu_ld=$lt_cv_prog_gnu_ld
+               ;;
+       esac
 
+       if test x"$ensc_have_dietlibc" != xno; then
 
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
-if test "${lt_cv_ld_reload_flag+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
 
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
-if test "${lt_cv_path_NM+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    tmp_nm="$ac_dir/${ac_tool_prefix}nm"
-    if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-      # Check to see if the nm accepts a BSD-compat flag.
-      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-      #   nm: unknown option "B" ignored
-      # Tru64's nm complains that /dev/null is an invalid object file
-      case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-      */dev/null* | *'Invalid file or object type'*)
-       lt_cv_path_NM="$tmp_nm -B"
-       break
-        ;;
-      *)
-       case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-       */dev/null*)
-         lt_cv_path_NM="$tmp_nm -p"
-         break
-         ;;
-       *)
-         lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-         continue # so that we can try to find one that supports BSD flags
-         ;;
-       esac
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi
-fi
-echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6
-NM="$lt_cv_path_NM"
 
-echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
-echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
-if test "${lt_cv_deplibs_check_method+set}" = set; then
+
+       echo "$as_me:$LINENO: checking whether dietlibc supports C99" >&5
+echo $ECHO_N "checking whether dietlibc supports C99... $ECHO_C" >&6
+if test "${ensc_cv_c_dietlibc_c99+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
 
-case $host_os in
-aix4* | aix5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+               _ensc_dietlibc_c99_old_CFLAGS=$CFLAGS
+               _ensc_dietlibc_c99_old_CC=$CC
 
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
-  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | kfreebsd*-gnu | dragonfly*)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
+               CFLAGS="-std=c99"
+               CC="${DIET:-diet} $CC"
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+               ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case "$host_cpu" in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
+               cat >conftest.$ac_ext <<_ACEOF
+/* */
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
 
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+                       cat >conftest.$ac_ext <<_ACEOF
 
-# This must be Linux ELF.
-linux*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+                               #include <stdint.h>
+                               #include <sys/cdefs.h>
+                               #if defined(inline)
+                               #  error 'inline' badly defined
+                               #endif
+                               volatile uint64_t       a;
 
-netbsd*)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ensc_cv_c_dietlibc_c99=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
+ensc_cv_c_dietlibc_c99=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-nto-qnx*)
-  lt_cv_deplibs_check_method=unknown
-  ;;
+ensc_cv_c_dietlibc_c99='skipped (compiler does not support C99)'
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+               ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
 
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+               CC=$_ensc_dietlibc_c99_old_CC
+               CFLAGS=$_ensc_dietlibc_c99_old_CFLAGS
 
-sco3.2v5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+fi
+echo "$as_me:$LINENO: result: $ensc_cv_c_dietlibc_c99" >&5
+echo "${ECHO_T}$ensc_cv_c_dietlibc_c99" >&6
 
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+       if test x"$ensc_cv_c_dietlibc_c99" = xyes; then
+               cat >>confdefs.h <<\_ACEOF
+#define ENSC_DIETLIBC_C99 1
+_ACEOF
 
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
+       fi
 
-sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
 
-fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 
 
+       echo "$as_me:$LINENO: checking whether dietlibc declares syscall" >&5
+echo $ECHO_N "checking whether dietlibc declares syscall... $ECHO_C" >&6
+if test "${ensc_cv_c_dietlibc_syscall+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
 
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
+               _ensc_dietlibc_syscall_old_CC="$CC"
+               CC="${DIET:-diet} $CC"
 
-# Allow CC to be a program name with arguments.
-compiler=$CC
+               ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
-  enableval="$enable_libtool_lock"
+               cat >conftest.$ac_ext <<_ACEOF
 
-fi;
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+                       #include <sys/syscall.h>
+                       long int syscall(long int __sysno, ...);
 
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *ELF-32*)
-      HPUX_IA64_MODE="32"
-      ;;
-    *ELF-64*)
-      HPUX_IA64_MODE="64"
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line 10651 "configure"' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-   if test "$lt_cv_prog_gnu_ld" = yes; then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -melf32bsmip"
-      ;;
-    *N32*)
-      LD="${LD-ld} -melf32bmipn32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -melf64bmip"
-      ;;
-    esac
-   else
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -32"
-      ;;
-    *N32*)
-      LD="${LD-ld} -n32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -64"
-      ;;
-    esac
-   fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case "`/usr/bin/file conftest.o`" in
-    *32-bit*)
-      case $host in
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_i386"
-          ;;
-        ppc64-*linux*|powerpc64-*linux*)
-          LD="${LD-ld} -m elf32ppclinux"
-          ;;
-        s390x-*linux*)
-          LD="${LD-ld} -m elf_s390"
-          ;;
-        sparc64-*linux*)
-          LD="${LD-ld} -m elf32_sparc"
-          ;;
-      esac
-      ;;
-    *64-bit*)
-      case $host in
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        ppc*-*linux*|powerpc*-*linux*)
-          LD="${LD-ld} -m elf64ppc"
-          ;;
-        s390*-*linux*)
-          LD="${LD-ld} -m elf64_s390"
-          ;;
-        sparc*-*linux*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
+  (exit $ac_status); }; }; then
+  ensc_cv_c_dietlibc_syscall=no
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
-if test "${lt_cv_cc_needs_belf+set}" = set; then
+ensc_cv_c_dietlibc_syscall=yes
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+               ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+               CC="$_ensc_dietlibc_syscall_old_CC"
+
+fi
+echo "$as_me:$LINENO: result: $ensc_cv_c_dietlibc_syscall" >&5
+echo "${ECHO_T}$ensc_cv_c_dietlibc_syscall" >&6
+
+       if test x"$ensc_cv_c_dietlibc_syscall" = xyes; then
+               cat >>confdefs.h <<\_ACEOF
+#define ENSC_DIETLIBC_HAS_SYSCALL 1
+_ACEOF
+
+       fi
+
+       fi
+
+
+if test x"$ensc_have_dietlibc" = xno; then
+       { echo "$as_me:$LINENO: WARNING: ***                                                         ***" >&5
+echo "$as_me: WARNING: ***                                                         ***" >&2;}
+       { echo "$as_me:$LINENO: WARNING: *** it is strongly recommended to link util-vserver against ***" >&5
+echo "$as_me: WARNING: *** it is strongly recommended to link util-vserver against ***" >&2;}
+       { echo "$as_me:$LINENO: WARNING: *** dietlibc;  glibc's NSS functions are very unreliable in ***" >&5
+echo "$as_me: WARNING: *** dietlibc;  glibc's NSS functions are very unreliable in ***" >&2;}
+       { echo "$as_me:$LINENO: WARNING: *** chroot() environments,  so you have to  expect problems ***" >&5
+echo "$as_me: WARNING: *** chroot() environments,  so you have to  expect problems ***" >&2;}
+       { echo "$as_me:$LINENO: WARNING: *** there.                                                  ***" >&5
+echo "$as_me: WARNING: *** there.                                                  ***" >&2;}
+       { echo "$as_me:$LINENO: WARNING: ***                                                         ***" >&5
+echo "$as_me: WARNING: ***                                                         ***" >&2;}
+
+
+if false; then
+  USE_DIETLIBC_COMPAT_TRUE=
+  USE_DIETLIBC_COMPAT_FALSE='#'
+else
+  USE_DIETLIBC_COMPAT_TRUE='#'
+  USE_DIETLIBC_COMPAT_FALSE=
+fi
+
+else
+       # HACK: libtool does not have cmdline options to build only
+       # dynamic libraries; this can be done with the
+       # '--disable-static' ./configure option only.  As our static
+       # libraries will be build with dietlibc, we have to do set
+       # this option which is evaluated by 'AC_PROG_LIBTOOL'
+       # below.  Therefore, this macro must not be called earlier.
+       enable_static=no
+
+
+
+
+       echo "$as_me:$LINENO: checking whether dietlibc needs '-lcompat'" >&5
+echo $ECHO_N "checking whether dietlibc needs '-lcompat'... $ECHO_C" >&6
+if test "${ensc_cv_c_dietlibc_compat+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_ext=c
+
+               ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-     cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+               ensc_dietlibc_need_compat_old_CC=$CC
+               CC="${DIET:-diet} $CC"
+               cat >conftest.$ac_ext <<_ACEOF
+
+                       /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#include "$srcdir/lib/syscall-wrap.h"
+#include <errno.h>
+
+#define __NR_foo0              42
+#define __NR_foo1              42
+#define __NR_foo2              42
+#define __NR_foo3              42
+#define __NR_foo4              42
+#define __NR_foo5              42
+inline static _syscall0(int, foo0)
+inline static _syscall1(int, foo1, int, a)
+inline static _syscall2(int, foo2, int, a, int, b)
+inline static _syscall3(int, foo3, int, a, int, b, int, c)
+inline static _syscall4(int, foo4, int, a, int, b, int, c, int, d)
+inline static _syscall5(int, foo5, int, a, int, b, int, c, int, d, int, e)
+
 int
 main ()
 {
-
+foo0(); foo1(0); foo2(0,0); foo3(0,0,0); foo4(0,0,0,0); foo5(0,0,0,0,0);
   ;
   return 0;
 }
@@ -10781,536 +11226,719 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  lt_cv_cc_needs_belf=yes
+  ensc_cv_c_dietlibc_compat=no
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-lt_cv_cc_needs_belf=no
+ensc_cv_c_dietlibc_compat=yes
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
+               CC=$ensc_dietlibc_need_compat_old_CC
+               ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+
 fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
+echo "$as_me:$LINENO: result: $ensc_cv_c_dietlibc_compat" >&5
+echo "${ECHO_T}$ensc_cv_c_dietlibc_compat" >&6
 
-esac
+       if test x"USE_DIETLIBC_COMPAT" != x; then
 
-need_locks="$enable_libtool_lock"
 
+if test x"$ensc_cv_c_dietlibc_compat" = xyes; then
+  USE_DIETLIBC_COMPAT_TRUE=
+  USE_DIETLIBC_COMPAT_FALSE='#'
+else
+  USE_DIETLIBC_COMPAT_TRUE='#'
+  USE_DIETLIBC_COMPAT_FALSE=
+fi
+
+       fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
 fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+
+
+
+if test x"$ensc_have_dietlibc" = xyes; then
+  ENSC_USE_DIETLIBC_TRUE=
+  ENSC_USE_DIETLIBC_FALSE='#'
 else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
+  ENSC_USE_DIETLIBC_TRUE='#'
+  ENSC_USE_DIETLIBC_FALSE=
 fi
-if test -z "$ac_cpp_err"; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
+
+if true; then
+  ENSC_USE_GLIBC_TRUE=
+  ENSC_USE_GLIBC_FALSE='#'
 else
-  ac_cpp_err=yes
+  ENSC_USE_GLIBC_TRUE='#'
+  ENSC_USE_GLIBC_FALSE=
 fi
-if test -z "$ac_cpp_err"; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
-fi
+# HACK: see comments at 'enable_static' above
+# Check whether --enable-shared or --disable-shared was given.
+if test "${enable_shared+set}" = set; then
+  enableval="$enable_shared"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_shared=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_shared=yes
+fi;
 
-    done
-    ac_cv_prog_CPP=$CPP
+# Check whether --enable-static or --disable-static was given.
+if test "${enable_static+set}" = set; then
+  enableval="$enable_static"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_static=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_static=yes
+fi;
 
-fi
-  CPP=$ac_cv_prog_CPP
+# Check whether --enable-fast-install or --disable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+  enableval="$enable_fast_install"
+  p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_fast_install=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
 else
-  ac_cv_prog_CPP=$CPP
-fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
+  enable_fast_install=yes
+fi;
+
+echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+if test "${lt_cv_path_SED+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
 do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
   fi
-else
-  ac_cpp_err=yes
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+
 fi
-if test -z "$ac_cpp_err"; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
+SED=$lt_cv_path_SED
 
-  # OK, works on sane cases.  Now check whether non-existent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+  withval="$with_gnu_ld"
+  test "$withval" = no || with_gnu_ld=yes
 else
-  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+  with_gnu_ld=no
+fi;
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+else
+  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
 fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-if test "${ac_cv_header_stdc+set}" = set; then
+if test "${lt_cv_path_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_header_stdc=yes
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+       test "$with_gnu_ld" != no && break
+       ;;
+      *)
+       test "$with_gnu_ld" != yes && break
+       ;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_stdc=no
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
 fi
-rm -f conftest*
 
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_header_stdc=no
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
 fi
-rm -f conftest*
+echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+with_gnu_ld=$lt_cv_prog_gnu_ld
 
-fi
 
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then
-  :
+echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ctype.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
+  lt_cv_ld_reload_flag='-r'
+fi
+echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
 
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
+echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+if test "${lt_cv_path_NM+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+       # Check to see if the nm accepts a BSD-compat flag.
+       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+       #   nm: unknown option "B" ignored
+       # Tru64's nm complains that /dev/null is an invalid object file
+       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+       */dev/null* | *'Invalid file or object type'*)
+         lt_cv_path_NM="$tmp_nm -B"
+         break
+         ;;
+       *)
+         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+         */dev/null*)
+           lt_cv_path_NM="$tmp_nm -p"
+           break
+           ;;
+         *)
+           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+           continue # so that we can try to find one that supports BSD flags
+           ;;
+         esac
+         ;;
+       esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
 fi
+echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+echo "${ECHO_T}$lt_cv_path_NM" >&6
+NM="$lt_cv_path_NM"
 
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
+echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
+echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+if test "${lt_cv_deplibs_check_method+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
 
+case $host_os in
+aix4* | aix5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
 
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
 
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
 
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
+freebsd* | kfreebsd*-gnu | dragonfly*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
 
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  eval "$as_ac_Header=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
 
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+interix3*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
 
-fi
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-done
+# This must be Linux ELF.
+linux*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
+netbsd*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
 
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+nto-qnx*)
+  lt_cv_deplibs_check_method=unknown
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
 
-for ac_header in dlfcn.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+  enableval="$enable_libtool_lock"
+
+fi;
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *ELF-32*)
+      HPUX_IA64_MODE="32"
+      ;;
+    *ELF-64*)
+      HPUX_IA64_MODE="64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '#line 11828 "configure"' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+   if test "$lt_cv_prog_gnu_ld" = yes; then
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -melf32bsmip"
+      ;;
+    *N32*)
+      LD="${LD-ld} -melf32bmipn32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -melf64bmip"
+      ;;
+    esac
+   else
+    case `/usr/bin/file conftest.$ac_objext` in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+   fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.o` in
+    *32-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_i386"
+          ;;
+        ppc64-*linux*|powerpc64-*linux*)
+          LD="${LD-ld} -m elf32ppclinux"
+          ;;
+        s390x-*linux*)
+          LD="${LD-ld} -m elf_s390"
+          ;;
+        sparc64-*linux*)
+          LD="${LD-ld} -m elf32_sparc"
+          ;;
+      esac
+      ;;
+    *64-bit*)
+      case $host in
+        x86_64-*linux*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        ppc*-*linux*|powerpc*-*linux*)
+          LD="${LD-ld} -m elf64ppc"
+          ;;
+        s390*-*linux*)
+          LD="${LD-ld} -m elf64_s390"
+          ;;
+        sparc*-*linux*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+if test "${lt_cv_cc_needs_belf+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+     cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
 _ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -11324,480 +11952,256 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
+        { ac_try='test -s conftest$ac_exeext'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_header_compiler=yes
+  lt_cv_cc_needs_belf=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+lt_cv_cc_needs_belf=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
+fi
+echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
+  (exit $ac_status); }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)    LD="${LD-ld} -64" ;;
+      esac
+      ;;
+    esac
   fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  rm -rf conftest*
+  ;;
 
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------------------------ ##
-## Report this to enrico.scholz@informatik.tu-chemnitz.de ##
-## ------------------------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
 
-fi
-
-done
+need_locks="$enable_libtool_lock"
 
 
 
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
-  :
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_stdc=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Broken: fails on valid input.
-continue
+ac_cv_header_stdc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
-  # can be detected and how.
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <ac_nonexistent.h>
+#include <string.h>
+
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
 else
-  ac_cpp_err=yes
+  ac_cv_header_stdc=no
 fi
-if test -z "$ac_cpp_err"; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+rm -f conftest*
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
 fi
-rm -f conftest.err conftest.$ac_ext
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
-fi
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
 
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
 
 fi
-  CXXCPP=$ac_cv_prog_CXXCPP
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
 else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+                  (('a' <= (c) && (c) <= 'i') \
+                    || ('j' <= (c) && (c) <= 'r') \
+                    || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+       || toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   :
 else
-  echo "$as_me: failed program was:" >&5
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Broken: fails on valid input.
-continue
+( exit $ac_status )
+ac_cv_header_stdc=no
 fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether non-existent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-if test -z "$ac_cpp_err"; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
 fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
 fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
 
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
 
 fi
 
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$F77"; then
-  ac_cv_prog_F77="$F77" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
 
-fi
-fi
-F77=$ac_cv_prog_F77
-if test -n "$F77"; then
-  echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
 
-    test -n "$F77" && break
-  done
-fi
-if test -z "$F77"; then
-  ac_ct_F77=$F77
-  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_F77"; then
-  ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_F77="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
 
-fi
-fi
-ac_ct_F77=$ac_cv_prog_ac_ct_F77
-if test -n "$ac_ct_F77"; then
-  echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
 
-  test -n "$ac_ct_F77" && break
-done
 
-  F77=$ac_ct_F77
-fi
 
 
-# Provide some information about the compiler.
-echo "$as_me:11765:" \
-     "checking for Fortran 77 compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-rm -f a.out
 
-# If we don't use `.F' as extension, the preprocessor is not run on the
-# input file.  (Note that this only needs to work for GNU compilers.)
-ac_save_ext=$ac_ext
-ac_ext=F
-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
-if test "${ac_cv_f77_compiler_gnu+set}" = set; then
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+                 inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-      program main
-#ifndef __GNUC__
-       choke me
-#endif
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
 
-      end
+#include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -11808,7 +12212,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_f77_werror_flag"
+        { ac_try='test -z "$ac_c_werror_flag"
                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
@@ -11821,33 +12225,51 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_compiler_gnu=yes
+  eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_compiler_gnu=no
+eval "$as_ac_Header=no"
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_f77_compiler_gnu=$ac_compiler_gnu
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
-ac_ext=$ac_save_ext
-ac_test_FFLAGS=${FFLAGS+set}
-ac_save_FFLAGS=$FFLAGS
-FFLAGS=
-echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_f77_g+set}" = set; then
+
+done
+
+
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
 else
-  FFLAGS=-g
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
 cat >conftest.$ac_ext <<_ACEOF
-      program main
-
-      end
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -11858,7 +12280,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_f77_werror_flag"
+        { ac_try='test -z "$ac_c_werror_flag"
                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
@@ -11871,426 +12293,362 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_prog_f77_g=yes
+  ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_f77_g=no
+ac_header_compiler=no
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
 
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
-if test "$ac_test_FFLAGS" = set; then
-  FFLAGS=$ac_save_FFLAGS
-elif test $ac_cv_prog_f77_g = yes; then
-  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
-    FFLAGS="-g -O2"
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
-    FFLAGS="-g"
+    ac_cpp_err=
   fi
 else
-  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
-    FFLAGS="-O2"
-  else
-    FFLAGS=
-  fi
+  ac_cpp_err=yes
 fi
-
-G77=`test $ac_compiler_gnu = yes && echo yes`
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-
-# find the maximum length of command line arguments
-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
 else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
 
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  *)
-    # If test is not a shell built-in, we'll probably end up computing a
-    # maximum length that is only half of the actual maximum length, but
-    # we can't tell.
-    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-    while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
-              = "XX$teststring") >/dev/null 2>&1 &&
-           new_result=`expr "X$teststring" : ".*" 2>&1` &&
-           lt_cv_sys_max_cmd_len=$new_result &&
-           test $i != 17 # 1/2 MB should be enough
-    do
-      i=`expr $i + 1`
-      teststring=$teststring$teststring
-    done
-    teststring=
-    # Add a significant safety factor because C++ compilers can tack on massive
-    # amounts of additional arguments before passing them to the linker.
-    # It appears as though 1/2 is a usable value.
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## --------------------------------------------- ##
+## Report this to vserver@list.linux-vserver.org ##
+## --------------------------------------------- ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
     ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
 
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
+fi
 
+done
 
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
 
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
 
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  ;;
-linux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDGIRSTW]'
-    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris* | sysv5*)
-  symcode='[BDRT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[      ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if grep ' nm_test_var$' "$nlist" >/dev/null; then
-       if grep ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
-         cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
 #else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
-         cat <<\EOF >> conftest.$ac_ext
-  {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
+# include <assert.h>
 #endif
-EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_save_LIBS="$LIBS"
-         lt_save_CFLAGS="$CFLAGS"
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+                    Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS="$lt_save_LIBS"
-         CFLAGS="$lt_save_CFLAGS"
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -f conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
   else
-    lt_cv_sys_global_symbol_pipe=
+    ac_cpp_err=
   fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
 else
-  echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
+  ac_cpp_err=yes
 fi
-
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
-if test "${lt_cv_objdir+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
+if test -z "$ac_cpp_err"; then
+  :
 else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6
-objdir=$lt_cv_objdir
-
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
 
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
 
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
 
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
 
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_cxx_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# Constants:
-rm="rm -f"
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
 
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
-# All known linkers require a `.a' archive for static linking (except M$VC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+fi
+
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
 if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
+  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AR+set}" = set; then
+if test "${ac_cv_prog_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
+  if test -n "$F77"; then
+  ac_cv_prog_F77="$F77" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -12299,7 +12657,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -12308,27 +12666,31 @@ done
 
 fi
 fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+F77=$ac_cv_prog_F77
+if test -n "$F77"; then
+  echo "$as_me:$LINENO: result: $F77" >&5
+echo "${ECHO_T}$F77" >&6
 else
   echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
+    test -n "$F77" && break
+  done
 fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
+if test -z "$F77"; then
+  ac_ct_F77=$F77
+  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
 echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+  if test -n "$ac_ct_F77"; then
+  ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_AR="ar"
+    ac_cv_prog_ac_ct_F77="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
 
-  test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
 fi
 fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
+ac_ct_F77=$ac_cv_prog_ac_ct_F77
+if test -n "$ac_ct_F77"; then
+  echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+echo "${ECHO_T}$ac_ct_F77" >&6
 else
   echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
-  AR=$ac_ct_AR
-else
-  AR="$ac_cv_prog_AR"
+  test -n "$ac_ct_F77" && break
+done
+
+  F77=$ac_ct_F77
 fi
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
+
+# Provide some information about the compiler.
+echo "$as_me:12728:" \
+     "checking for Fortran 77 compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+rm -f a.out
+
+# If we don't use `.F' as extension, the preprocessor is not run on the
+# input file.  (Note that this only needs to work for GNU compilers.)
+ac_save_ext=$ac_ext
+ac_ext=F
+echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
+if test "${ac_cv_f77_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
+  cat >conftest.$ac_ext <<_ACEOF
+      program main
+#ifndef __GNUC__
+       choke me
+#endif
 
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+      end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_f77_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
 fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_f77_compiler_gnu=$ac_compiler_gnu
 
 fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
+ac_ext=$ac_save_ext
+ac_test_FFLAGS=${FFLAGS+set}
+ac_save_FFLAGS=$FFLAGS
+FFLAGS=
+echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_f77_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+  FFLAGS=-g
+cat >conftest.$ac_ext <<_ACEOF
+      program main
+
+      end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_f77_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_f77_g=yes
 else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
+ac_cv_prog_f77_g=no
 fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
 fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
+if test "$ac_test_FFLAGS" = set; then
+  FFLAGS=$ac_save_FFLAGS
+elif test $ac_cv_prog_f77_g = yes; then
+  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+    FFLAGS="-g -O2"
+  else
+    FFLAGS="-g"
+  fi
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+    FFLAGS="-O2"
+  else
+    FFLAGS=
+  fi
 fi
 
-  RANLIB=$ac_ct_RANLIB
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
+G77=`test $ac_compiler_gnu = yes && echo yes`
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
 
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
 
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+
+# find the maximum length of command line arguments
+echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
+    i=0
+  teststring="ABCD"
 
-  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
 
-  STRIP=$ac_ct_STRIP
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
 
+  cygwin* | mingw*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
 
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
 
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[        ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
     ;;
   *)
-    old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+    # If test is not a shell built-in, we'll probably end up computing a
+    # maximum length that is only half of the actual maximum length, but
+    # we can't tell.
+    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+    while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+              = "XX$teststring") >/dev/null 2>&1 &&
+           new_result=`expr "X$teststring" : ".*" 2>&1` &&
+           lt_cv_sys_max_cmd_len=$new_result &&
+           test $i != 17 # 1/2 MB should be enough
+    do
+      i=`expr $i + 1`
+      teststring=$teststring$teststring
+    done
+    teststring=
+    # Add a significant safety factor because C++ compilers can tack on massive
+    # amounts of additional arguments before passing them to the linker.
+    # It appears as though 1/2 is a usable value.
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
+fi
 
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -n $lt_cv_sys_max_cmd_len ; then
+  echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
 else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<EOF 1>&2
+  echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6
+fi
 
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
 
-EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
 
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
 
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<EOF 1>&2
 
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
 
-EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
 
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
 
-  else
-    MAGIC_CMD=:
-  fi
-fi
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
 
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*) # Its linker distinguishes data from code symbols
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDEGRST]'
+  fi
+  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  ;;
+linux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDGIRSTW]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   fi
   ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
 esac
 
-enable_dlopen=no
-enable_win32_dll=no
-
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
-  enableval="$enable_libtool_lock"
-
-fi;
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-
-# Check whether --with-pic or --without-pic was given.
-if test "${with_pic+set}" = set; then
-  withval="$with_pic"
-  pic_mode="$withval"
-else
-  pic_mode=default
-fi;
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
 
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
 
-# Source file extension for C test sources.
-ac_ext=c
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
 
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
 
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+  # Write the raw and C identifiers.
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[      ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
 
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+  # Check to see that the pipe works correctly.
+  pipe_works=no
 
+  rm -f conftest*
+  cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
 
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+       mv -f "$nlist"T "$nlist"
+      else
+       rm -f "$nlist"T
+      fi
 
-# Allow CC to be a program name with arguments.
-compiler=$CC
+      # Make sure that we snagged all the symbols we need.
+      if grep ' nm_test_var$' "$nlist" >/dev/null; then
+       if grep ' nm_test_func$' "$nlist" >/dev/null; then
+         cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
 
+EOF
+         # Now generate the symbol file.
+         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
 
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+         cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
 
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[] =
+{
+EOF
+         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+         cat <<\EOF >> conftest.$ac_ext
+  {0, (lt_ptr_t) 0}
+};
 
+#ifdef __cplusplus
+}
+#endif
+EOF
+         # Now try linking the two files.
+         mv conftest.$ac_objext conftstm.$ac_objext
+         lt_save_LIBS="$LIBS"
+         lt_save_CFLAGS="$CFLAGS"
+         LIBS="conftstm.$ac_objext"
+         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+         if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext}; then
+           pipe_works=yes
+         fi
+         LIBS="$lt_save_LIBS"
+         CFLAGS="$lt_save_CFLAGS"
+       else
+         echo "cannot find nm_test_func in $nlist" >&5
+       fi
+      else
+       echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -f conftest* conftst*
 
-#
-# Check for any special shared library compilation flags.
-#
-lt_prog_cc_shlib=
-if test "$GCC" = no; then
-  case $host_os in
-  sco3.2v5*)
-    lt_prog_cc_shlib='-belf'
-    ;;
-  esac
-fi
-if test -n "$lt_prog_cc_shlib"; then
-  { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&5
-echo "$as_me: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&2;}
-  if echo "$old_CC $old_CFLAGS " | grep "[     ]$lt_prog_cc_shlib[     ]" >/dev/null; then :
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
   else
-    { echo "$as_me:$LINENO: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5
-echo "$as_me: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;}
-    lt_cv_prog_cc_can_build_shared=no
+    lt_cv_sys_global_symbol_pipe=
   fi
-fi
+done
 
+fi
 
-#
-# Check to make sure the static flag actually works.
-#
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_prog_compiler_static works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_prog_compiler_static works... $ECHO_C" >&6
-if test "${lt_prog_compiler_static_works+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6
 else
-  lt_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_prog_compiler_static"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp
-       $SED '/^$/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_prog_compiler_static_works=yes
-       fi
-     else
-       lt_prog_compiler_static_works=yes
-     fi
-   fi
-   $rm conftest*
-   LDFLAGS="$save_LDFLAGS"
-
+  echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
 
-if test x"$lt_prog_compiler_static_works" = xyes; then
-    :
+echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+if test "${lt_cv_objdir+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-    lt_prog_compiler_static=
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
 fi
+echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+echo "${ECHO_T}$lt_cv_objdir" >&6
+objdir=$lt_cv_objdir
 
 
 
 
-lt_prog_compiler_no_builtin_flag=
 
-if test "$GCC" = yes; then
-  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
 
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
 
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  lt_cv_prog_compiler_rtti_exceptions=no
-  ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12863: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:12867: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
-     $SED '/^$/d' conftest.err >conftest.er2
-     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $rm conftest*
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6
 else
-    :
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
 fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="ar"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
-lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
+  test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
 
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+  AR=$ac_ct_AR
+else
+  AR="$ac_cv_prog_AR"
+fi
 
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
 
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-      ;;
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
+  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
 
-    mingw* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
+  RANLIB=$ac_ct_RANLIB
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
 
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case "$host_cpu" in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         lt_prog_compiler_pic='-qnocommon'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
 
-    mingw* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case "$host_cpu" in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
 
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
 
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
 
-    linux*)
-      case $cc_basename in
-      icc* | ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      pgcc* | pgf77* | pgf90*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-static'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      esac
-      ;;
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
 
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
 
-    sco3.2v5*)
-      lt_prog_compiler_pic='-Kpic'
-      lt_prog_compiler_static='-dn'
-      ;;
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
 
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
 
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
-    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
 
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/${ac_tool_prefix}file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+       case $deplibs_check_method in
+       "file_magic "*)
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+           $EGREP "$file_magic_regex" > /dev/null; then
+           :
+         else
+           cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+         fi ;;
+       esac
       fi
-      ;;
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
 
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
 
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+      if test -n "$file_magic_test_file"; then
+       case $deplibs_check_method in
+       "file_magic "*)
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+           $EGREP "$file_magic_regex" > /dev/null; then
+           :
+         else
+           cat <<EOF 1>&2
 
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+         fi ;;
+       esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  else
+    MAGIC_CMD=:
   fi
+fi
 
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6
+  fi
+  ;;
+esac
 
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
+enable_dlopen=no
+enable_win32_dll=no
 
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
-if test "${lt_prog_compiler_pic_works+set}" = set; then
+# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+  enableval="$enable_libtool_lock"
+
+fi;
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+
+# Check whether --with-pic or --without-pic was given.
+if test "${with_pic+set}" = set; then
+  withval="$with_pic"
+  pic_mode="$withval"
+else
+  pic_mode=default
+fi;
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  lt_prog_compiler_pic_works=no
+  lt_cv_prog_compiler_rtti_exceptions=no
   ac_outfile=conftest.$ac_objext
    printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13125: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13791: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13129: \$? = $ac_status" >&5
+   echo "$as_me:13795: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
-     $SED '/^$/d' conftest.err >conftest.er2
-     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_prog_compiler_pic_works=yes
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
      fi
    fi
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
 
-if test x"$lt_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
 else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
+    :
 fi
 
 fi
-case "$host_os" in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
 
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13187: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:13191: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
-     $SED '/^$/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w .
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
 
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
 
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
-  if test "$hard_links" = no; then
-    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
 
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
 
-  runpath_var=
-  allow_undefined_flag=
-  enable_shared_with_static_runtimes=no
-  archive_cmds=
-  archive_expsym_cmds=
-  old_archive_From_new_cmds=
-  old_archive_from_expsyms_cmds=
-  export_dynamic_flag_spec=
-  whole_archive_flag_spec=
-  thread_safe_flag_spec=
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_direct=no
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  link_all_deplibs=unknown
-  hardcode_automatic=no
-  module_cmds=
-  module_expsym_cmds=
-  always_export_symbols=no
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+      ;;
 
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
+    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
 
-  ld_shlibs=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
 
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>/dev/null` in
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
 
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix3* | aix4* | aix5*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<EOF 1>&2
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
 
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
 
-EOF
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       lt_prog_compiler_pic=-Kconform_pic
       fi
       ;;
 
-    amigaos*)
-      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-
-      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can't use
-      # them.
-      ld_shlibs=no
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+       # +Z the default
+       ;;
+      *)
+       lt_prog_compiler_pic='-fPIC'
+       ;;
+      esac
       ;;
 
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       lt_prog_compiler_static='-Bstatic'
       else
-       ld_shlibs=no
+       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
       fi
       ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         lt_prog_compiler_pic='-qnocommon'
+         lt_prog_compiler_wl='-Wl,'
+         ;;
+       esac
+       ;;
 
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+    mingw* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
 
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000  ${wl}--out-implib,$lib'
-      else
-       ld_shlibs=no
-      fi
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+       # +Z the default
+       ;;
+      *)
+       lt_prog_compiler_pic='+Z'
+       ;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
       ;;
 
     linux*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       tmp_addflag=
-       case $cc_basename,$host_cpu in
-       pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec=
-         ;;
-       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec=
-         tmp_addflag=' -fpic -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       esac
-       archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      case $cc_basename in
+      icc* | ecc*)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-KPIC'
+       lt_prog_compiler_static='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+       # which looks to be a dead project)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-fpic'
+       lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      esac
+      ;;
 
-       if test $supports_anon_versioning = yes; then
-         archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-         $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-       fi
-      else
-       ld_shlibs=no
-      fi
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
       ;;
 
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+       lt_prog_compiler_wl='-Wl,';;
+      esac
       ;;
 
-    solaris* | sysv5*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<EOF 1>&2
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
-EOF
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+       lt_prog_compiler_pic='-Kconform_pic'
+       lt_prog_compiler_static='-Bstatic'
       fi
       ;;
 
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
       ;;
 
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
       ;;
-    esac
 
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$link_static_flag"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
       ;;
 
-    aix4* | aix5*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
 
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix5*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-       esac
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic" >&6
 
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
 
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
+if test "${lt_prog_compiler_pic_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_pic_works=no
+  ac_outfile=conftest.$ac_objext
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:14059: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:14063: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_prog_compiler_pic_works=yes
+     fi
+   fi
+   $rm conftest*
 
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
 
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" && \
-          strings "$collect2name" | grep resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         hardcode_direct=yes
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-       if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-       fi
-       fi
-      fi
-
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
+if test x"$lt_prog_compiler_pic_works" = xyes; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  lt_prog_compiler_static_works=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works=yes
+       fi
+     else
+       lt_prog_compiler_static_works=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
 
 fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-       hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-       archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an empty executable.
-        cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
 
-int
-main ()
-{
+if test x"$lt_prog_compiler_static_works" = xyes; then
+    :
+else
+    lt_prog_compiler_static=
+fi
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+  lt_cv_prog_compiler_c_o=no
+   $rm -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         # -bexpall does not export symbols beginning with underscore (_)
-         always_export_symbols=yes
-         # Exported symbols can be pulled into shared objects from archives
-         whole_archive_flag_spec=' '
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds it's shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:14163: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:14167: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $rm conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+   $rm out/* && rmdir out
+   cd ..
+   rmdir conftest
+   $rm conftest*
 
-    amigaos*)
-      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs=no
-      ;;
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
 
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
 
-    cygwin* | mingw* | pw32*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec=' '
-      allow_undefined_flag=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_From_new_cmds='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes=yes
-      ;;
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+  if test "$hard_links" = no; then
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
 
-    darwin* | rhapsody*)
-      case "$host_os" in
-        rhapsody* | darwin1.[012])
-         allow_undefined_flag='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[012])
-               allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      archive_cmds_need_lc=no
-      hardcode_direct=no
-      hardcode_automatic=yes
-      hardcode_shlibpath_var=unsupported
-      whole_archive_flag_spec=''
-      link_all_deplibs=yes
-    if test "$GCC" = yes ; then
-       output_verbose_link_cmd='echo'
-        archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-      archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-      module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
-         module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         ld_shlibs=no
-          ;;
-      esac
+echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+  runpath_var=
+  allow_undefined_flag=
+  enable_shared_with_static_runtimes=no
+  archive_cmds=
+  archive_expsym_cmds=
+  old_archive_From_new_cmds=
+  old_archive_from_expsyms_cmds=
+  export_dynamic_flag_spec=
+  whole_archive_flag_spec=
+  thread_safe_flag_spec=
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_flag_spec_ld=
+  hardcode_libdir_separator=
+  hardcode_direct=no
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  link_all_deplibs=unknown
+  hardcode_automatic=no
+  module_cmds=
+  module_expsym_cmds=
+  always_export_symbols=no
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+       whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+       whole_archive_flag_spec=
     fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix3* | aix4* | aix5*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+       ld_shlibs=no
+       cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
       ;;
 
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    amigaos*)
+      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
       hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
+      hardcode_minus_L=yes
 
-    freebsd1*)
+      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we can't use
+      # them.
       ld_shlibs=no
       ;;
 
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       allow_undefined_flag=unsupported
+       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+       # support --undefined.  This deserves some investigation.  FIXME
+       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+       ld_shlibs=no
+      fi
       ;;
 
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+       # If the export-symbols file already is a .def file (1st line
+       # is EXPORTS), use it as is; otherwise, prepend...
+       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+         cp $export_symbols $output_objdir/$soname.def;
+       else
+         echo EXPORTS > $output_objdir/$soname.def;
+         cat $export_symbols >> $output_objdir/$soname.def;
+       fi~
+       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+       ld_shlibs=no
+      fi
       ;;
 
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu | dragonfly*)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
+    interix3*)
+      hardcode_direct=no
       hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       tmp_addflag=
+       case $cc_basename,$host_cpu in
+       pgcc*)                          # Portland Group C compiler
+         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
+         ;;
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       esac
+       archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+       if test $supports_anon_versioning = yes; then
+         archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+         $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+       fi
       else
-       archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+       ld_shlibs=no
       fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
       ;;
 
-    hpux10* | hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case "$host_cpu" in
-       hppa*64*|ia64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
+    netbsd*)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+       wlarc=
       else
-       case "$host_cpu" in
-       hppa*64*|ia64*)
-         archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
-         ;;
-       *)
-         archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-         ;;
-       esac
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       fi
-      if test "$with_gnu_ld" = no; then
-       case "$host_cpu" in
-       hppa*64*)
-         hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-         hardcode_libdir_flag_spec_ld='+b $libdir'
-         hardcode_libdir_separator=:
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       ia64*)
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
+      ;;
 
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       *)
-         hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-         hardcode_libdir_separator=:
-         hardcode_direct=yes
-         export_dynamic_flag_spec='${wl}-E'
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+       ld_shlibs=no
+       cat <<EOF 1>&2
 
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
 
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
-       archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec_ld='-rpath $libdir'
+       ld_shlibs=no
       fi
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      link_all_deplibs=yes
       ;;
 
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+       ld_shlibs=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+       ;;
+       *)
+         if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+           hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+         else
+           ld_shlibs=no
+         fi
+       ;;
+      esac
       ;;
 
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
       hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
       hardcode_shlibpath_var=no
       ;;
 
-    openbsd*)
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-       archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-       hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-       export_dynamic_flag_spec='${wl}-E'
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
-       case $host_os in
-        openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-          archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-          hardcode_libdir_flag_spec='-R$libdir'
-          ;;
-        *)
-          archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-          hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-          ;;
-       esac
+       ld_shlibs=no
       fi
       ;;
+    esac
 
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
+    if test "$ld_shlibs" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
       allow_undefined_flag=unsupported
-      archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+       # Neither direct hardcoding nor static linking is supported with a
+       # broken collect2.
+       hardcode_direct=unsupported
       fi
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
       ;;
 
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    aix4* | aix5*)
+      if test "$host_cpu" = ia64; then
+       # On IA64, the linker does run time linking by default, so we don't
+       # have to do anything special.
+       aix_use_runtimelinking=no
+       exp_sym_flag='-Bexport'
+       no_entry_flag=""
       else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+       # If we're using GNU nm, then we don't want the "-C" option.
+       # -C means demangle to AIX nm, but means don't demangle with GNU nm
+       if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+       else
+         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+       fi
+       aix_use_runtimelinking=no
 
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
+       # Test if we are trying to use run time linking or normal
+       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+       # need to do runtime linking.
+       case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+         for ld_flag in $LDFLAGS; do
+         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+           aix_use_runtimelinking=yes
+           break
+         fi
+         done
+         ;;
+       esac
+
+       exp_sym_flag='-bexport'
+       no_entry_flag='-bnoentry'
       fi
-      hardcode_libdir_separator=:
-      ;;
 
-    sco3.2v5*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var=LD_RUN_PATH
-      hardcode_runpath_var=yes
-      ;;
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
 
-    solaris*)
-      no_undefined_flag=' -z text'
       if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-         $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
-      else
-       wlarc=''
-       archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-       $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine linker options so we
-       # cannot just pass the convience library names through
-       # without $wl, iff we do not link with $LD.
-       # Luckily, gcc supports the same syntax we need for Sun Studio.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       case $wlarc in
-       '')
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
-       *)
-         whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
-       esac ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+       case $host_os in aix4.[012]|aix4.[012].*)
+       # We only want to do this on AIX 4.2 and lower, the check
+       # below for broken collect2 doesn't work under 4.3+
+         collect2name=`${CC} -print-prog-name=collect2`
+         if test -f "$collect2name" && \
+          strings "$collect2name" | grep resolve_lib_name >/dev/null
+         then
+         # We have reworked collect2
+         hardcode_direct=yes
+         else
+         # We have old collect2
+         hardcode_direct=unsupported
+         # It fails to find uninstalled libraries when the uninstalled
+         # path is not listed in the libpath.  Setting hardcode_minus_L
+         # to unsupported forces relinking
+         hardcode_minus_L=yes
+         hardcode_libdir_flag_spec='-L$libdir'
+         hardcode_libdir_separator=
+         fi
+         ;;
+       esac
+       shared_flag='-shared'
+       if test "$aix_use_runtimelinking" = yes; then
+         shared_flag="$shared_flag "'${wl}-G'
+       fi
       else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+       # not using gcc
+       if test "$host_cpu" = ia64; then
+       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+       # chokes on -Wl,-G. The following line is correct:
+         shared_flag='-G'
+       else
+         if test "$aix_use_runtimelinking" = yes; then
+           shared_flag='${wl}-G'
+         else
+           shared_flag='${wl}-bM:SRE'
+         fi
+       fi
       fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
 
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test "$aix_use_runtimelinking" = yes; then
+       # Warning - without using the other runtime loading flags (-brtl),
+       # -berok will link without error, but may produce a broken library.
+       allow_undefined_flag='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
+int
+main ()
+{
 
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
 
-    sysv4.2uw2*)
-      archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=no
-      hardcode_shlibpath_var=no
-      hardcode_runpath_var=yes
-      runpath_var=LD_RUN_PATH
-      ;;
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-   sysv5OpenUNIX8* | sysv5UnixWare7* |  sysv5uw[78]* | unixware7*)
-      no_undefined_flag='${wl}-z ${wl}text'
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
-    sysv5*)
-      no_undefined_flag=' -z text'
-      # $CC -shared without GNU ld will not create a library from C++
-      # object files and a static libstdc++, better avoid it by now
-      archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      hardcode_libdir_flag_spec=
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
+       hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+       archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+       if test "$host_cpu" = ia64; then
+         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+         allow_undefined_flag="-z nodefs"
+         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+       else
+        # Determine the default libpath from the value encoded in an empty executable.
+        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`; fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+         # Warning - without using the other run time loading flags,
+         # -berok will link without error, but may produce a broken library.
+         no_undefined_flag=' ${wl}-bernotok'
+         allow_undefined_flag=' ${wl}-berok'
+         # Exported symbols can be pulled into shared objects from archives
+         whole_archive_flag_spec='$convenience'
+         archive_cmds_need_lc=yes
+         # This is similar to how AIX traditionally builds its shared libraries.
+         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+       fi
+      fi
       ;;
 
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    amigaos*)
+      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
       hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
+      hardcode_minus_L=yes
+      # see comment about different semantics on the GNU ld section
+      ld_shlibs=no
       ;;
 
-    *)
-      ld_shlibs=no
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
       ;;
-    esac
-  fi
 
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
-test "$ld_shlibs" = no && can_build_shared=no
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec=' '
+      allow_undefined_flag=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_From_new_cmds='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes=yes
+      ;;
 
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[012])
+         allow_undefined_flag='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[012])
+               allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      archive_cmds_need_lc=no
+      hardcode_direct=no
+      hardcode_automatic=yes
+      hardcode_shlibpath_var=unsupported
+      whole_archive_flag_spec=''
+      link_all_deplibs=yes
+    if test "$GCC" = yes ; then
+       output_verbose_link_cmd='echo'
+        archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+      archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         ld_shlibs=no
+          ;;
+      esac
+    fi
+      ;;
 
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
 
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
+    freebsd1*)
+      ld_shlibs=no
       ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
-      $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag
-        allow_undefined_flag=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-         archive_cmds_need_lc=no
-        else
-         archive_cmds_need_lc=yes
-        fi
-        allow_undefined_flag=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
       ;;
-    esac
-  fi
-  ;;
-esac
 
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
 
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | kfreebsd*-gnu | dragonfly*)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
 
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
+    hpux9*)
+      if test "$GCC" = yes; then
+       archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+       archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
 
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='${wl}-E'
+      ;;
 
-aix4* | aix5*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-       :
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
-       can_build_shared=no
+       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+       hardcode_libdir_separator=:
+
+       hardcode_direct=yes
+       export_dynamic_flag_spec='${wl}-E'
+
+       # hardcode_minus_L: Not really in the search PATH,
+       # but as the default location of the library.
+       hardcode_minus_L=yes
       fi
       ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
 
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-  ;;
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       case $host_cpu in
+       hppa*64*)
+         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       esac
+      else
+       case $host_cpu in
+       hppa*64*)
+         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       esac
+      fi
+      if test "$with_gnu_ld" = no; then
+       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+       hardcode_libdir_separator=:
 
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
+       case $host_cpu in
+       hppa*64*|ia64*)
+         hardcode_libdir_flag_spec_ld='+b $libdir'
+         hardcode_direct=no
+         hardcode_shlibpath_var=no
+         ;;
+       *)
+         hardcode_direct=yes
+         export_dynamic_flag_spec='${wl}-E'
 
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
+         # hardcode_minus_L: Not really in the search PATH,
+         # but as the default location of the library.
+         hardcode_minus_L=yes
+         ;;
+       esac
+      fi
+      ;;
 
-cygwin* | mingw* | pw32*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+       archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+       hardcode_libdir_flag_spec_ld='-rpath $libdir'
+      fi
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      link_all_deplibs=yes
+      ;;
 
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $rm \$dlpath'
-    shlibpath_overrides_runpath=yes
+    netbsd*)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
 
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
       ;;
-    mingw*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+
+    openbsd*)
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+       archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+       hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+       export_dynamic_flag_spec='${wl}-E'
       else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+       case $host_os in
+        openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+          archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+          hardcode_libdir_flag_spec='-R$libdir'
+          ;;
+        *)
+          archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+          hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+          ;;
+       esac
       fi
       ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
       ;;
-    esac
-    ;;
 
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
+    osf3*)
+      if test "$GCC" = yes; then
+       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+       allow_undefined_flag=' -expect_unresolved \*'
+       archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
 
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
+    osf4* | osf5*)     # as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+       allow_undefined_flag=' -expect_unresolved \*'
+       archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
 
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
+       # Both c and cxx compiler support -rpath directly
+       hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      hardcode_libdir_separator=:
+      ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
+    solaris*)
+      no_undefined_flag=' -z text'
+      if test "$GCC" = yes; then
+       wlarc='${wl}'
+       archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+         $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+       wlarc=''
+       archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+       archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+       $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+       # The compiler driver will combine linker options so we
+       # cannot just pass the convience library names through
+       # without $wl, iff we do not link with $LD.
+       # Luckily, gcc supports the same syntax we need for Sun Studio.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       case $wlarc in
+       '')
+         whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+       *)
+         whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+       esac ;;
+      esac
+      link_all_deplibs=yes
+      ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+       # Use $CC to link under sequent, because it throws in some extra .o
+       # files that make .init and .fini sections work.
+       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
 
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
+    sysv4)
+      case $host_vendor in
+       sni)
+         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         hardcode_direct=yes # is this really true???
+       ;;
+       siemens)
+         ## LD is ld it makes a PLAMLIB
+         ## CC just makes a GrossModule.
+         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+         reload_cmds='$CC -r -o $output$reload_objs'
+         hardcode_direct=no
+        ;;
+       motorola)
+         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+       ;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
       ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
+
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
       ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  *) # from 3.2 on
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
 
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+       hardcode_shlibpath_var=no
+       runpath_var=LD_RUN_PATH
+       hardcode_runpath_var=yes
+       ld_shlibs=yes
+      fi
+      ;;
 
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case "$host_cpu" in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag='${wl}-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='${wl}-z,text'
+      allow_undefined_flag='${wl}-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
 
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
     *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
+      ld_shlibs=no
+      ;;
     esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
+  fi
 
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
+echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6
+test "$ld_shlibs" = no && can_build_shared=no
 
-# This must be Linux ELF.
-linux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
 
-  # find out which ABI we are using
-  libsuff=
-  case "$host_cpu" in
-  x86_64*|s390x*|powerpc64*)
-    echo '#line 14572 "configure"' > conftest.$ac_ext
-    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      $rm conftest*
+      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-      case `/usr/bin/file conftest.$ac_objext` in
-      *64-bit*)
-        libsuff=64
-        sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
-        ;;
-      esac
-    fi
-    rm -rf conftest*
-    ;;
-  esac
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
+  (exit $ac_status); } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl
+       pic_flag=$lt_prog_compiler_pic
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag
+        allow_undefined_flag=
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+         archive_cmds_need_lc=no
+        else
+         archive_cmds_need_lc=yes
+        fi
+        allow_undefined_flag=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+echo "${ECHO_T}$archive_cmds_need_lc" >&6
+      ;;
+    esac
   fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
   ;;
+esac
 
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
   else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
   fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
 
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
 
-nto-qnx*)
+case $host_os in
+aix3*)
   version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
   soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
   ;;
 
-openbsd*)
-  version_type=sunos
+aix4* | aix5*)
+  version_type=linux
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
   else
-    shlibpath_overrides_runpath=yes
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+          echo ' yes '
+          echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+       :
+      else
+       can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
   fi
   ;;
 
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
   ;;
 
-sco3.2v5*)
-  version_type=osf
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
   ;;
 
-solaris*)
+bsdi[45]*)
   version_type=linux
-  need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
   ;;
 
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
 
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $rm \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+  if test "$GCC" = yes; then
+    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+  else
+    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
   fi
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
-uts4*)
+dgux*)
   version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-*)
+freebsd1*)
   dynamic_linker=no
   ;;
-esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
-   test -n "$runpath_var" || \
-   test "X$hardcode_automatic" = "Xyes" ; then
+kfreebsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
 
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
   else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
   fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
 
-if test "$hardcode_action" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
 
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-       else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-       ;;
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+   hppa*64*)
+     shrext_cmds='.sl'
+     hardcode_into_libs=yes
+     dynamic_linker="$host_os dld.sl"
+     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+     soname_spec='${libname}${release}${shared_ext}$major'
+     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+     ;;
    *)
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
     ;;
   esac
-fi
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
 
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
 
+irix5* | irix6* | nonstopux*)
   case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
+    nonstopux*) version_type=nonstopux ;;
+    *)
+       if test "$lt_cv_prog_gnu_ld" = yes; then
+               version_type=linux
+       else
+               version_type=irix
+       fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
     ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
 
-  mingw* | pw32*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-   ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-   ;;
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
 
-  darwin*)
-  # if libdl is installed we need to link against it
-    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  # find out which ABI we are using
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '#line 15632 "configure"' > conftest.$ac_ext
+    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
+  (exit $ac_status); }; then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+        ;;
+      esac
+    fi
+    rm -rf conftest*
+    ;;
+  esac
 
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,   ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
+  fi
 
-fi
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
 
-   ;;
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
 
-  *)
-    echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
-if test "${ac_cv_func_shl_load+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define shl_load innocuous_shl_load
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
 
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
 
-#undef shl_load
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+       shlibpath_overrides_runpath=no
+       ;;
+      *)
+       shlibpath_overrides_runpath=yes
+       ;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-char (*f) () = shl_load;
-#endif
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+       ;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+   test -n "$runpath_var" || \
+   test "X$hardcode_automatic" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6
+
+if test "$hardcode_action" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+   darwin*)
+       if test -n "$STRIP" ; then
+         striplib="$STRIP -x"
+         echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+       else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+       ;;
+   *)
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    ;;
+  esac
+fi
+
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+   ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+   ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
-}
+extern "C"
 #endif
-
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
 int
 main ()
 {
-return f != shl_load;
+dlopen ();
   ;
   return 0;
 }
@@ -15017,25 +15999,129 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_func_shl_load=yes
+  ac_cv_lib_dl_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_shl_load=no
+ac_cv_lib_dl_dlopen=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
-if test $ac_cv_func_shl_load = yes; then
-  lt_cv_dlopen="shl_load"
-else
-  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+if test $ac_cv_lib_dl_dlopen = yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+
+fi
+
+   ;;
+
+  *)
+    echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+if test "${ac_cv_func_shl_load+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char shl_load (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef shl_load
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char shl_load ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_shl_load) || defined (__stub___shl_load)
+choke me
+#else
+char (*f) () = shl_load;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != shl_load;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_shl_load=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_shl_load=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+if test $ac_cv_func_shl_load = yes; then
+  lt_cv_dlopen="shl_load"
+else
+  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldld  $LIBS"
@@ -15424,7 +16510,7 @@ fi
     test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
 
     save_LDFLAGS="$LDFLAGS"
-    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
 
     save_LIBS="$LIBS"
     LIBS="$lt_cv_dlopen_libs $LIBS"
@@ -15440,7 +16526,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 15443 "configure"
+#line 16529 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -15497,6 +16583,8 @@ int main ()
       else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
       /* dlclose (self); */
     }
+  else
+    puts (dlerror ());
 
     exit (status);
 }
@@ -15506,12 +16594,12 @@ EOF
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
+    (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
       x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
       x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
     esac
   else :
     # compilation failed
@@ -15526,7 +16614,7 @@ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
 echo "${ECHO_T}$lt_cv_dlopen_self" >&6
 
     if test "x$lt_cv_dlopen_self" = xyes; then
-      LDFLAGS="$LDFLAGS $link_static_flag"
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
 if test "${lt_cv_dlopen_self_static+set}" = set; then
@@ -15538,7 +16626,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 15541 "configure"
+#line 16629 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -15595,6 +16683,8 @@ int main ()
       else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
       /* dlclose (self); */
     }
+  else
+    puts (dlerror ());
 
     exit (status);
 }
@@ -15604,12 +16694,12 @@ EOF
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
+    (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
       x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
       x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
     esac
   else :
     # compilation failed
@@ -15642,7 +16732,7 @@ echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
 fi
 
 
-# Report which librarie types wil actually be built
+# Report which library types will actually be built
 echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
 echo "$as_me:$LINENO: result: $can_build_shared" >&5
@@ -15654,7 +16744,7 @@ test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
 # are all built from PIC.
-case "$host_os" in
+case $host_os in
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
@@ -15692,7 +16782,7 @@ if test -f "$ltmain"; then
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
     SED SHELL STRIP \
     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
     old_striplib striplib file_magic_cmd finish_cmds finish_eval \
@@ -15858,12 +16948,18 @@ AR_FLAGS=$lt_AR_FLAGS
 # A C compiler.
 LTCC=$lt_LTCC
 
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
 # A language-specific compiler.
 CC=$lt_compiler
 
 # Is the compiler the GNU C compiler?
 with_gcc=$GCC
 
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
 # An ERE matcher.
 EGREP=$lt_EGREP
 
@@ -15997,11 +17093,11 @@ striplib=$lt_striplib
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
-predep_objects=$lt_predep_objects
+predep_objects=\`echo $lt_predep_objects | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Dependencies to place after the objects being linked to create a
 # shared library.
-postdep_objects=$lt_postdep_objects
+postdep_objects=\`echo $lt_postdep_objects | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
@@ -16013,7 +17109,7 @@ postdeps=$lt_postdeps
 
 # The library search path used internally by the compiler when linking
 # a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
+compiler_lib_search_path=\`echo $lt_compiler_lib_search_path | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Method to check whether dependent libraries are shared objects.
 deplibs_check_method=$lt_deplibs_check_method
@@ -16093,7 +17189,7 @@ variables_saved_for_relink="$variables_saved_for_relink"
 link_all_deplibs=$link_all_deplibs
 
 # Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Run-time system search path for libraries
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -16188,6 +17284,9 @@ echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script
 echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
     fi
   fi
+  if test -z "$LTCFLAGS"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+  fi
 
   # Extract list of available tagged configurations in $ofile.
   # Note that this assumes the entire list is on one line.
@@ -16240,6 +17339,7 @@ hardcode_libdir_flag_spec_CXX=
 hardcode_libdir_flag_spec_ld_CXX=
 hardcode_libdir_separator_CXX=
 hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
 hardcode_automatic_CXX=no
 module_cmds_CXX=
 module_expsym_cmds_CXX=
@@ -16257,7 +17357,7 @@ postdeps_CXX=
 compiler_lib_search_path_CXX=
 
 # Source file extension for C++ test sources.
-ac_ext=cc
+ac_ext=cpp
 
 # Object file extension for compiled C++ test sources.
 objext=o
@@ -16267,13 +17367,16 @@ objext_CXX=$objext
 lt_simple_compile_test_code="int some_variable = 0;\n"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 
 # If no C compiler was specified, use CC.
 LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
 # Allow CC to be a program name with arguments.
 compiler=$CC
 
@@ -16281,13 +17384,13 @@ compiler=$CC
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
 printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
 printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
 
@@ -16302,12 +17405,12 @@ lt_save_path_LD=$lt_cv_path_LD
 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
   lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
 else
-  unset lt_cv_prog_gnu_ld
+  $as_unset lt_cv_prog_gnu_ld
 fi
 if test -n "${lt_cv_path_LDCXX+set}"; then
   lt_cv_path_LD=$lt_cv_path_LDCXX
 else
-  unset lt_cv_path_LD
+  $as_unset lt_cv_path_LD
 fi
 test -z "${LDCXX+set}" || LD=$LDCXX
 CC=${CXX-"c++"}
@@ -16393,7 +17496,7 @@ else
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
       lt_cv_path_LD="$ac_dir/$ac_prog"
       # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
+      # but apparently some variants of GNU ld only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
       case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
       *GNU* | *'with BFD'*)
@@ -16427,7 +17530,7 @@ echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
 if test "${lt_cv_prog_gnu_ld+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
   lt_cv_prog_gnu_ld=yes
@@ -16518,6 +17621,7 @@ case $host_os in
            ;;
          esac
        done
+       ;;
       esac
 
       exp_sym_flag='-bexport'
@@ -16555,6 +17659,7 @@ case $host_os in
          hardcode_libdir_flag_spec_CXX='-L$libdir'
          hardcode_libdir_separator_CXX=
        fi
+       ;;
       esac
       shared_flag='-shared'
       if test "$aix_use_runtimelinking" = yes; then
@@ -16637,12 +17742,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
       hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
 
-      archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
      else
       if test "$host_cpu" = ia64; then
        hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
        allow_undefined_flag_CXX="-z nodefs"
-       archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+       archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
       else
        # Determine the default libpath from the value encoded in an empty executable.
        cat >conftest.$ac_ext <<_ACEOF
@@ -16702,16 +17807,26 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        # -berok will link without error, but may produce a broken library.
        no_undefined_flag_CXX=' ${wl}-bernotok'
        allow_undefined_flag_CXX=' ${wl}-berok'
-       # -bexpall does not export symbols beginning with underscore (_)
-       always_export_symbols_CXX=yes
        # Exported symbols can be pulled into shared objects from archives
-       whole_archive_flag_spec_CXX=' '
+       whole_archive_flag_spec_CXX='$convenience'
        archive_cmds_need_lc_CXX=yes
-       # This is similar to how AIX traditionally builds it's shared libraries.
-       archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+       # This is similar to how AIX traditionally builds its shared libraries.
+       archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
       fi
     fi
     ;;
+
+  beos*)
+    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      allow_undefined_flag_CXX=unsupported
+      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      ld_shlibs_CXX=no
+    fi
+    ;;
+
   chorus*)
     case $cc_basename in
       *)
@@ -16721,7 +17836,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     esac
     ;;
 
-
   cygwin* | mingw* | pw32*)
     # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
     # as there is no search path for DLLs.
@@ -16731,7 +17845,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     enable_shared_with_static_runtimes_CXX=yes
 
     if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-      archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+      archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
       # If the export-symbols file already is a .def file (1st line
       # is EXPORTS), use it as is; otherwise, prepend...
       archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -16740,13 +17854,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        echo EXPORTS > $output_objdir/$soname.def;
        cat $export_symbols >> $output_objdir/$soname.def;
       fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     else
       ld_shlibs_CXX=no
     fi
   ;;
       darwin* | rhapsody*)
-        case "$host_os" in
+        case $host_os in
         rhapsody* | darwin1.[012])
          allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
          ;;
@@ -16784,7 +17898,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
           archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
         fi
         module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
           if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
             archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           else
@@ -16797,7 +17911,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          output_verbose_link_cmd='echo'
           archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
           module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
           archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
@@ -16877,33 +17991,22 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   hpux10*|hpux11*)
     if test $with_gnu_ld = no; then
-      case "$host_cpu" in
-      hppa*64*)
-       hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+      hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator_CXX=:
+
+      case $host_cpu in
+      hppa*64*|ia64*)
        hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
-       hardcode_libdir_separator_CXX=:
-        ;;
-      ia64*)
-       hardcode_libdir_flag_spec_CXX='-L$libdir'
         ;;
       *)
-       hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator_CXX=:
        export_dynamic_flag_spec_CXX='${wl}-E'
         ;;
       esac
     fi
-    case "$host_cpu" in
-    hppa*64*)
-      hardcode_direct_CXX=no
-      hardcode_shlibpath_var_CXX=no
-      ;;
-    ia64*)
+    case $host_cpu in
+    hppa*64*|ia64*)
       hardcode_direct_CXX=no
       hardcode_shlibpath_var_CXX=no
-      hardcode_minus_L_CXX=yes # Not in the search PATH,
-                                             # but as the default
-                                             # location of the library.
       ;;
     *)
       hardcode_direct_CXX=yes
@@ -16919,9 +18022,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        ld_shlibs_CXX=no
        ;;
       aCC*)
-       case "$host_cpu" in
-       hppa*64*|ia64*)
-         archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+       case $host_cpu in
+       hppa*64*)
+         archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+         ;;
+       ia64*)
+         archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
          ;;
        *)
          archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -16940,9 +18046,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       *)
        if test "$GXX" = yes; then
          if test $with_gnu_ld = no; then
-           case "$host_cpu" in
-           ia64*|hppa*64*)
-             archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+           case $host_cpu in
+           hppa*64*)
+             archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+             ;;
+           ia64*)
+             archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
              ;;
            *)
              archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -16956,6 +18065,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        ;;
     esac
     ;;
+  interix3*)
+    hardcode_direct_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+    export_dynamic_flag_spec_CXX='${wl}-E'
+    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+    # Instead, shared libraries are loaded at an image base (0x10000000 by
+    # default) and relocated if they conflict, which is a slow very memory
+    # consuming and fragmenting process.  To avoid this, we pick a random,
+    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+    archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    ;;
   irix5* | irix6*)
     case $cc_basename in
       CC*)
@@ -17036,12 +18159,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        ;;
       pgCC*)
         # Portland Group C++ compiler
-       archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-       archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+       archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+       archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 
        hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-       whole_archive_flag_spec_CXX=''
+       whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
         ;;
       cxx*)
        # Compaq C++
@@ -17238,19 +18361,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     # FIXME: insert proper C++ library support
     ld_shlibs_CXX=no
     ;;
-  sco*)
-    archive_cmds_need_lc_CXX=no
-    case $cc_basename in
-      CC*)
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-      *)
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-    esac
-    ;;
   sunos4*)
     case $cc_basename in
       CC*)
@@ -17273,10 +18383,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     case $cc_basename in
       CC*)
        # Sun C++ 4.2, 5.x and Centerline C++
+        archive_cmds_need_lc_CXX=yes
        no_undefined_flag_CXX=' -zdefs'
-       archive_cmds_CXX='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+       archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
        archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-       $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+       $CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
 
        hardcode_libdir_flag_spec_CXX='-R$libdir'
        hardcode_shlibpath_var_CXX=no
@@ -17296,15 +18407,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        esac
        link_all_deplibs_CXX=yes
 
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[LR]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+       output_verbose_link_cmd='echo'
 
        # Archives containing C++ object files must be created using
        # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -17350,8 +18453,59 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        ;;
     esac
     ;;
-  sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
+  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+    no_undefined_flag_CXX='${wl}-z,text'
+    archive_cmds_need_lc_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+       archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+      *)
+       archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+    esac
+    ;;
+  sysv5* | sco3.2v5* | sco5v6*)
+    # Note: We can NOT use -z defs as we might desire, because we do not
+    # link with -lc, and that would cause any symbols used from libc to
+    # always be unresolved, which means just about no library would
+    # ever link correctly.  If we're not using GNU ld we use -z text
+    # though, which does catch some bad symbols but isn't as heavy-handed
+    # as -z defs.
+    # For security reasons, it is highly recommended that you always
+    # use absolute paths for naming shared libraries, and exclude the
+    # DT_RUNPATH tag from executables and libraries.  But doing so
+    # requires that you compile everything twice, which is a pain.
+    # So that behaviour is only enabled if SCOABSPATH is set to a
+    # non-empty value in the environment.  Most likely only useful for
+    # creating official distributions of packages.
+    # This is a hack until libtool officially supports absolute path
+    # names for shared libraries.
+    no_undefined_flag_CXX='${wl}-z,text'
+    allow_undefined_flag_CXX='${wl}-z,nodefs'
     archive_cmds_need_lc_CXX=no
+    hardcode_shlibpath_var_CXX=no
+    hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+    hardcode_libdir_separator_CXX=':'
+    link_all_deplibs_CXX=yes
+    export_dynamic_flag_spec_CXX='${wl}-Bexport'
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+       archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+      *)
+       archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+    esac
     ;;
   tandem*)
     case $cc_basename in
@@ -17408,7 +18562,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   # The `*' in the case matches for architectures that use `case' in
   # $output_verbose_cmd can trigger glob expansion during the loop
   # eval without this substitution.
-  output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
 
   for p in `eval $output_verbose_link_cmd`; do
     case $p in
 
 $rm -f confest.$objext
 
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix3*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  predep_objects_CXX=
+  postdep_objects_CXX=
+  postdeps_CXX=
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    postdeps_CXX='-lCstd -lCrun'
+    ;;
+  esac
+  ;;
+esac
+
+
 case " $postdeps_CXX " in
 *" -lc "*) archive_cmds_need_lc_CXX=no ;;
 esac
@@ -17531,6 +18708,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       # DJGPP does not support shared libraries at all
       lt_prog_compiler_pic_CXX=
       ;;
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
     sysv4*MP*)
       if test -d /usr/nec; then
        lt_prog_compiler_pic_CXX=-Kconform_pic
@@ -17539,7 +18720,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
     hpux*)
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        ;;
       *)
@@ -17600,15 +18781,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        case $cc_basename in
          CC*)
            lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+           lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
            if test "$host_cpu" != ia64; then
              lt_prog_compiler_pic_CXX='+Z'
            fi
            ;;
          aCC*)
            lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
-           case "$host_cpu" in
+           lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+           case $host_cpu in
            hppa*64*|ia64*)
              # +Z the default
              ;;
@@ -17621,6 +18802,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
            ;;
        esac
        ;;
+      interix*)
+       # This is c89, which is MS Visual C++ (no shared libs)
+       # Anyone wants to do a port?
+       ;;
       irix5* | irix6* | nonstopux*)
        case $cc_basename in
          CC*)
@@ -17649,7 +18834,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
            # Portland Group C++ compiler.
            lt_prog_compiler_wl_CXX='-Wl,'
            lt_prog_compiler_pic_CXX='-fpic'
-           lt_prog_compiler_static_CXX='-static'
+           lt_prog_compiler_static_CXX='-Bstatic'
            ;;
          cxx*)
            # Compaq C++
@@ -17700,15 +18885,6 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       psos*)
        ;;
-      sco*)
-       case $cc_basename in
-         CC*)
-           lt_prog_compiler_pic_CXX='-fPIC'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
       solaris*)
        case $cc_basename in
          CC*)
@@ -17750,7 +18926,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
            ;;
        esac
        ;;
-      unixware*)
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+       case $cc_basename in
+         CC*)
+           lt_prog_compiler_wl_CXX='-Wl,'
+           lt_prog_compiler_pic_CXX='-KPIC'
+           lt_prog_compiler_static_CXX='-Bstatic'
+           ;;
+       esac
        ;;
       vxworks*)
        ;;
@@ -17783,20 +18966,20 @@ else
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17789: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18972: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:17793: \$? = $ac_status" >&5
+   echo "$as_me:18976: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
-     $SED '/^$/d' conftest.err >conftest.er2
-     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_prog_compiler_pic_works_CXX=yes
      fi
    fi
@@ -17817,7 +19000,7 @@ else
 fi
 
 fi
-case "$host_os" in
+case $host_os in
   # For platforms which do not support PIC, -DPIC is meaningless:
   *djgpp*)
     lt_prog_compiler_pic_CXX=
@@ -17827,6 +19010,48 @@ case "$host_os" in
     ;;
 esac
 
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_CXX=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_CXX=yes
+       fi
+     else
+       lt_prog_compiler_static_works_CXX=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6
+
+if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+    :
+else
+    lt_prog_compiler_static_CXX=
+fi
+
+
 echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
 if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
@@ -17845,25 +19070,25 @@ else
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17851: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:19076: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:17855: \$? = $ac_status" >&5
+   echo "$as_me:19080: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
-     $SED '/^$/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_CXX=yes
      fi
    fi
-   chmod u+w .
+   chmod u+w . 2>&5
    $rm conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
@@ -17929,11 +19154,6 @@ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
 echo "${ECHO_T}$ld_shlibs_CXX" >&6
 test "$ld_shlibs_CXX" = no && can_build_shared=no
 
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
 #
 # Do we need to explicitly link libc?
 #
@@ -17966,6 +19186,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
         libobjs=conftest.$ac_objext
         deplibs=
         wl=$lt_prog_compiler_wl_CXX
+       pic_flag=$lt_prog_compiler_pic_CXX
         compiler_flags=-v
         linker_flags=-v
         verstring=
@@ -18126,7 +19347,8 @@ cygwin* | mingw* | pw32*)
       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $rm \$dlpath'
@@ -18179,7 +19401,7 @@ darwin* | rhapsody*)
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
   if test "$GCC" = yes; then
     sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
@@ -18217,7 +19439,14 @@ kfreebsd*-gnu)
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
@@ -18239,10 +19468,15 @@ freebsd* | dragonfly*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
-  *) # from 3.2 on
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
   esac
   ;;
 
@@ -18262,7 +19496,7 @@ hpux9* | hpux10* | hpux11*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     shrext_cmds='.so'
     hardcode_into_libs=yes
@@ -18302,6 +19536,18 @@ hpux9* | hpux10* | hpux11*)
   postinstall_cmds='chmod 555 $lib'
   ;;
 
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
 irix5* | irix6* | nonstopux*)
   case $host_os in
     nonstopux*) version_type=nonstopux ;;
@@ -18363,7 +19609,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 18366 "configure"' > conftest.$ac_ext
+    echo '#line 19612 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -18382,7 +19628,7 @@ linux*)
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,   ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
@@ -18444,8 +19690,13 @@ nto-qnx*)
 
 openbsd*)
   version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
   need_lib_prefix=no
-  need_version=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -18483,13 +19734,6 @@ osf3* | osf4* | osf5*)
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
-sco3.2v5*)
-  version_type=osf
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -18515,7 +19759,7 @@ sunos4*)
   need_version=yes
   ;;
 
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
   version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -18548,6 +19792,29 @@ sysv4*MP*)
   fi
   ;;
 
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+       ;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
 uts4*)
   version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -18563,6 +19830,11 @@ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
 echo "${ECHO_T}$dynamic_linker" >&6
 test "$dynamic_linker" = no && can_build_shared=no
 
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
 echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
 hardcode_action_CXX=
@@ -18600,1276 +19872,447 @@ elif test "$shlibpath_overrides_runpath" = yes ||
   enable_fast_install=needless
 fi
 
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-       else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-       ;;
-   *)
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-    ;;
-  esac
-fi
 
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # See if we are running on zsh, and set the options which allow our commands through
+  # without removal of \ escapes.
+  if test -n "${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+  fi
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    compiler_CXX \
+    CC_CXX \
+    LD_CXX \
+    lt_prog_compiler_wl_CXX \
+    lt_prog_compiler_pic_CXX \
+    lt_prog_compiler_static_CXX \
+    lt_prog_compiler_no_builtin_flag_CXX \
+    export_dynamic_flag_spec_CXX \
+    thread_safe_flag_spec_CXX \
+    whole_archive_flag_spec_CXX \
+    enable_shared_with_static_runtimes_CXX \
+    old_archive_cmds_CXX \
+    old_archive_from_new_cmds_CXX \
+    predep_objects_CXX \
+    postdep_objects_CXX \
+    predeps_CXX \
+    postdeps_CXX \
+    compiler_lib_search_path_CXX \
+    archive_cmds_CXX \
+    archive_expsym_cmds_CXX \
+    postinstall_cmds_CXX \
+    postuninstall_cmds_CXX \
+    old_archive_from_expsyms_cmds_CXX \
+    allow_undefined_flag_CXX \
+    no_undefined_flag_CXX \
+    export_symbols_cmds_CXX \
+    hardcode_libdir_flag_spec_CXX \
+    hardcode_libdir_flag_spec_ld_CXX \
+    hardcode_libdir_separator_CXX \
+    hardcode_automatic_CXX \
+    module_cmds_CXX \
+    module_expsym_cmds_CXX \
+    lt_cv_prog_compiler_c_o_CXX \
+    exclude_expsyms_CXX \
+    include_expsyms_CXX; do
 
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
+    case $var in
+    old_archive_cmds_CXX | \
+    old_archive_from_new_cmds_CXX | \
+    archive_cmds_CXX | \
+    archive_expsym_cmds_CXX | \
+    module_cmds_CXX | \
+    module_expsym_cmds_CXX | \
+    old_archive_from_expsyms_cmds_CXX | \
+    export_symbols_cmds_CXX | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
 
-  mingw* | pw32*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-   ;;
+  case $lt_echo in
+  *'\$0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
 
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-   ;;
+cfgfile="$ofile"
 
-  darwin*)
-  # if libdl is installed we need to link against it
-    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
 
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
 
-fi
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
 
-   ;;
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
 
-  *)
-    echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
-if test "${ac_cv_func_shl_load+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define shl_load innocuous_shl_load
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
 
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
 
-#undef shl_load
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
-#endif
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
 
-int
-main ()
-{
-return f != shl_load;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_func_shl_load=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
 
-ac_cv_func_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
-if test $ac_cv_func_shl_load = yes; then
-  lt_cv_dlopen="shl_load"
-else
-  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+# A C compiler.
+LTCC=$lt_LTCC
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char shl_load ();
-int
-main ()
-{
-shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_dld_shl_load=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
 
-ac_cv_lib_dld_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
-if test $ac_cv_lib_dld_shl_load = yes; then
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
-else
-  echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
-if test "${ac_cv_func_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define dlopen innocuous_dlopen
+# A language-specific compiler.
+CC=$lt_compiler_CXX
 
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char dlopen (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_CXX
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
 
-#undef dlopen
+# An ERE matcher.
+EGREP=$lt_EGREP
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
-#endif
+# The linker used to build libraries.
+LD=$lt_LD_CXX
 
-int
-main ()
-{
-return f != dlopen;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_func_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
 
-ac_cv_func_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
-if test $ac_cv_func_dlopen = yes; then
-  lt_cv_dlopen="dlopen"
-else
-  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+# A BSD-compatible nm program.
+NM=$lt_NM
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# A symbol stripping program
+STRIP=$lt_STRIP
 
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_svld_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
 
-ac_cv_lib_svld_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
-if test $ac_cv_lib_svld_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char dld_link ();
-int
-main ()
-{
-dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_dld_dld_link=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Used on cygwin: assembler.
+AS="$AS"
 
-ac_cv_lib_dld_dld_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
-if test $ac_cv_lib_dld_dld_link = yes; then
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
-fi
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
 
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
 
-fi
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
 
+# Object file suffix (normally "o").
+objext="$ac_objext"
 
-fi
+# Old archive suffix (normally "a").
+libext="$libext"
 
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
 
-fi
+# Executable file suffix (normally "").
+exeext="$exeext"
 
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+pic_mode=$pic_mode
 
-fi
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
 
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
 
-fi
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
 
-    ;;
-  esac
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
 
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
+# Do we need a version for libraries?
+need_version=$need_version
 
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
 
-    save_LDFLAGS="$LDFLAGS"
-    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
 
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
 
-    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-#line 19237 "configure"
-#include "confdefs.h"
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
 
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
 
-#include <stdio.h>
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
 
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
 
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
 
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
+# Library versioning type.
+version_type=$version_type
 
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
 
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
 
-    exit (status);
-}
-EOF
-  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
 
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_CXX
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
 
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
 
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      LDFLAGS="$LDFLAGS $link_static_flag"
-      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self_static+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-#line 19335 "configure"
-#include "confdefs.h"
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
 
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
 
-#include <stdio.h>
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
 
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
 
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=\`echo $lt_predep_objects_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=\`echo $lt_postdep_objects_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_CXX
 
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_CXX
 
-    exit (status);
-}
-EOF
-  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
 
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
-    fi
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
 
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
 
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
 
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    compiler_CXX \
-    CC_CXX \
-    LD_CXX \
-    lt_prog_compiler_wl_CXX \
-    lt_prog_compiler_pic_CXX \
-    lt_prog_compiler_static_CXX \
-    lt_prog_compiler_no_builtin_flag_CXX \
-    export_dynamic_flag_spec_CXX \
-    thread_safe_flag_spec_CXX \
-    whole_archive_flag_spec_CXX \
-    enable_shared_with_static_runtimes_CXX \
-    old_archive_cmds_CXX \
-    old_archive_from_new_cmds_CXX \
-    predep_objects_CXX \
-    postdep_objects_CXX \
-    predeps_CXX \
-    postdeps_CXX \
-    compiler_lib_search_path_CXX \
-    archive_cmds_CXX \
-    archive_expsym_cmds_CXX \
-    postinstall_cmds_CXX \
-    postuninstall_cmds_CXX \
-    old_archive_from_expsyms_cmds_CXX \
-    allow_undefined_flag_CXX \
-    no_undefined_flag_CXX \
-    export_symbols_cmds_CXX \
-    hardcode_libdir_flag_spec_CXX \
-    hardcode_libdir_flag_spec_ld_CXX \
-    hardcode_libdir_separator_CXX \
-    hardcode_automatic_CXX \
-    module_cmds_CXX \
-    module_expsym_cmds_CXX \
-    lt_cv_prog_compiler_c_o_CXX \
-    exclude_expsyms_CXX \
-    include_expsyms_CXX; do
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
 
-    case $var in
-    old_archive_cmds_CXX | \
-    old_archive_from_new_cmds_CXX | \
-    archive_cmds_CXX | \
-    archive_expsym_cmds_CXX | \
-    module_cmds_CXX | \
-    module_expsym_cmds_CXX | \
-    old_archive_from_expsyms_cmds_CXX | \
-    export_symbols_cmds_CXX | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
 
-  case $lt_echo in
-  *'\$0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
 
-cfgfile="$ofile"
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
 
-  cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
 
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
 
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
 
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
 
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
 
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
 
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
 
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
 
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
 
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_CXX
 
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
 
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
 
-# A C compiler.
-LTCC=$lt_LTCC
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_CXX
 
-# A language-specific compiler.
-CC=$lt_compiler_CXX
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
 
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_CXX
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
 
-# An ERE matcher.
-EGREP=$lt_EGREP
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
-# The linker used to build libraries.
-LD=$lt_LD_CXX
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_CXX"
 
-# A BSD-compatible nm program.
-NM=$lt_NM
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
 
-# A symbol stripping program
-STRIP=$lt_STRIP
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
 
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
 
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
 
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
 
-# Used on cygwin: assembler.
-AS="$AS"
+# ### END LIBTOOL TAG CONFIG: $tagname
 
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
+__EOF__
 
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
 
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
 
-# Object file suffix (normally "o").
-objext="$ac_objext"
 
-# Old archive suffix (normally "a").
-libext="$libext"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
 
-# Executable file suffix (normally "").
-exeext="$exeext"
+       else
+         tagname=""
+       fi
+       ;;
 
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-pic_mode=$pic_mode
+      F77)
+       if test -n "$F77" && test "X$F77" != "Xno"; then
 
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_CXX
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_CXX
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_CXX"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-
-       else
-         tagname=""
-       fi
-       ;;
-
-      F77)
-       if test -n "$F77" && test "X$F77" != "Xno"; then
-
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
 
 
 archive_cmds_need_lc_F77=no
@@ -19909,6 +20352,9 @@ lt_simple_link_test_code="      program t\n      end\n"
 # If no C compiler was specified, use CC.
 LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
 # Allow CC to be a program name with arguments.
 compiler=$CC
 
@@ -19916,13 +20362,13 @@ compiler=$CC
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
 printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
 printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
 
@@ -19954,7 +20400,7 @@ test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
 # are all built from PIC.
-case "$host_os" in
+case $host_os in
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
@@ -19978,8 +20424,6 @@ test "$enable_shared" = yes || enable_static=yes
 echo "$as_me:$LINENO: result: $enable_static" >&5
 echo "${ECHO_T}$enable_static" >&6
 
-test "$ld_shlibs_F77" = no && can_build_shared=no
-
 GCC_F77="$G77"
 LD_F77="$LD"
 
@@ -20026,6 +20470,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       lt_prog_compiler_pic_F77='-fno-common'
       ;;
 
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
     msdosdjgpp*)
       # Just because we use GCC doesn't mean we suddenly get shared libraries
       # on systems that don't support them.
@@ -20042,7 +20491,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
     hpux*)
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -20089,7 +20538,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       lt_prog_compiler_wl_F77='-Wl,'
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -20119,12 +20568,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        lt_prog_compiler_pic_F77='-KPIC'
        lt_prog_compiler_static_F77='-static'
         ;;
-      pgcc* | pgf77* | pgf90*)
+      pgcc* | pgf77* | pgf90* | pgf95*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        lt_prog_compiler_wl_F77='-Wl,'
        lt_prog_compiler_pic_F77='-fpic'
-       lt_prog_compiler_static_F77='-static'
+       lt_prog_compiler_static_F77='-Bstatic'
         ;;
       ccc*)
         lt_prog_compiler_wl_F77='-Wl,'
@@ -20140,11 +20589,6 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       lt_prog_compiler_static_F77='-non_shared'
       ;;
 
-    sco3.2v5*)
-      lt_prog_compiler_pic_F77='-Kpic'
-      lt_prog_compiler_static_F77='-dn'
-      ;;
-
     solaris*)
       lt_prog_compiler_pic_F77='-KPIC'
       lt_prog_compiler_static_F77='-Bstatic'
@@ -20162,7 +20606,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       lt_prog_compiler_static_F77='-Bstatic'
       ;;
 
-    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+    sysv4 | sysv4.2uw2* | sysv4.3*)
       lt_prog_compiler_wl_F77='-Wl,'
       lt_prog_compiler_pic_F77='-KPIC'
       lt_prog_compiler_static_F77='-Bstatic'
@@ -20175,6 +20619,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       fi
       ;;
 
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl_F77='-Wl,'
+      lt_prog_compiler_pic_F77='-KPIC'
+      lt_prog_compiler_static_F77='-Bstatic'
+      ;;
+
     unicos*)
       lt_prog_compiler_wl_F77='-Wl,'
       lt_prog_compiler_can_build_shared_F77=no
@@ -20214,20 +20664,20 @@ else
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:20220: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:20670: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:20224: \$? = $ac_status" >&5
+   echo "$as_me:20674: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
-     $SED '/^$/d' conftest.err >conftest.er2
-     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_prog_compiler_pic_works_F77=yes
      fi
    fi
@@ -20248,7 +20698,7 @@ else
 fi
 
 fi
-case "$host_os" in
+case $host_os in
   # For platforms which do not support PIC, -DPIC is meaningless:
   *djgpp*)
     lt_prog_compiler_pic_F77=
@@ -20258,10 +20708,52 @@ case "$host_os" in
     ;;
 esac
 
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_F77=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_F77=yes
+       fi
+     else
+       lt_prog_compiler_static_works_F77=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6
+
+if test x"$lt_prog_compiler_static_works_F77" = xyes; then
+    :
+else
+    lt_prog_compiler_static_F77=
+fi
+
+
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_prog_compiler_c_o_F77=no
    $rm -r conftest 2>/dev/null
@@ -20276,25 +20768,25 @@ else
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:20282: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:20774: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:20286: \$? = $ac_status" >&5
+   echo "$as_me:20778: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
-     $SED '/^$/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_F77=yes
      fi
    fi
-   chmod u+w .
+   chmod u+w . 2>&5
    $rm conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
@@ -20390,6 +20882,10 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
       with_gnu_ld=no
     fi
     ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
   openbsd*)
     with_gnu_ld=no
     ;;
@@ -20474,7 +20970,7 @@ EOF
       export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+        archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
        # If the export-symbols file already is a .def file (1st line
        # is EXPORTS), use it as is; otherwise, prepend...
        archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -20483,22 +20979,38 @@ EOF
          echo EXPORTS > $output_objdir/$soname.def;
          cat $export_symbols >> $output_objdir/$soname.def;
        fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000  ${wl}--out-implib,$lib'
+       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
       else
        ld_shlibs_F77=no
       fi
       ;;
 
+    interix3*)
+      hardcode_direct_F77=no
+      hardcode_shlibpath_var_F77=no
+      hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec_F77='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
     linux*)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        tmp_addflag=
        case $cc_basename,$host_cpu in
        pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec_F77=
+         whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
          ;;
-       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec_F77=
-         tmp_addflag=' -fpic -Mnomain' ;;
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
@@ -20529,7 +21041,7 @@ EOF
       fi
       ;;
 
-    solaris* | sysv5*)
+    solaris*)
       if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
        ld_shlibs_F77=no
        cat <<EOF 1>&2
@@ -20550,6 +21062,33 @@ EOF
       fi
       ;;
 
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+       ld_shlibs_F77=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+       ;;
+       *)
+         if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+           hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+           archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+           archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+         else
+           ld_shlibs_F77=no
+         fi
+       ;;
+      esac
+      ;;
+
     sunos4*)
       archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       wlarc=
@@ -20583,7 +21122,7 @@ EOF
       # Note: this linker hardcodes the directories in LIBPATH if there
       # are no directories specified by -L.
       hardcode_minus_L_F77=yes
-      if test "$GCC" = yes && test -z "$link_static_flag"; then
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
        # Neither direct hardcoding nor static linking is supported with a
        # broken collect2.
        hardcode_direct_F77=unsupported
@@ -20617,6 +21156,7 @@ EOF
            break
          fi
          done
+         ;;
        esac
 
        exp_sym_flag='-bexport'
@@ -20654,6 +21194,7 @@ EOF
          hardcode_libdir_flag_spec_F77='-L$libdir'
          hardcode_libdir_separator_F77=
          fi
+         ;;
        esac
        shared_flag='-shared'
        if test "$aix_use_runtimelinking" = yes; then
@@ -20666,11 +21207,11 @@ EOF
        # chokes on -Wl,-G. The following line is correct:
          shared_flag='-G'
        else
-       if test "$aix_use_runtimelinking" = yes; then
+         if test "$aix_use_runtimelinking" = yes; then
            shared_flag='${wl}-G'
          else
            shared_flag='${wl}-bM:SRE'
-       fi
+         fi
        fi
       fi
 
@@ -20725,12 +21266,12 @@ rm -f conftest.err conftest.$ac_objext \
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
        hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
-       archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
        else
        if test "$host_cpu" = ia64; then
          hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
          allow_undefined_flag_F77="-z nodefs"
-         archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+         archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
        else
         # Determine the default libpath from the value encoded in an empty executable.
         cat >conftest.$ac_ext <<_ACEOF
@@ -20780,13 +21321,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          # -berok will link without error, but may produce a broken library.
          no_undefined_flag_F77=' ${wl}-bernotok'
          allow_undefined_flag_F77=' ${wl}-berok'
-         # -bexpall does not export symbols beginning with underscore (_)
-         always_export_symbols_F77=yes
          # Exported symbols can be pulled into shared objects from archives
-         whole_archive_flag_spec_F77=' '
+         whole_archive_flag_spec_F77='$convenience'
          archive_cmds_need_lc_F77=yes
-         # This is similar to how AIX traditionally builds it's shared libraries.
-         archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+         # This is similar to how AIX traditionally builds its shared libraries.
+         archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
        fi
       fi
       ;;
@@ -20825,7 +21364,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     darwin* | rhapsody*)
-      case "$host_os" in
+      case $host_os in
         rhapsody* | darwin1.[012])
          allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
          ;;
@@ -20854,7 +21393,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        output_verbose_link_cmd='echo'
         archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
       archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
@@ -20863,7 +21402,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          output_verbose_link_cmd='echo'
          archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
          module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
          archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
@@ -20927,47 +21466,62 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       export_dynamic_flag_spec_F77='${wl}-E'
       ;;
 
-    hpux10* | hpux11*)
+    hpux10*)
       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case "$host_cpu" in
-       hppa*64*|ia64*)
+       archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+       hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+       hardcode_libdir_separator_F77=:
+
+       hardcode_direct_F77=yes
+       export_dynamic_flag_spec_F77='${wl}-E'
+
+       # hardcode_minus_L: Not really in the search PATH,
+       # but as the default location of the library.
+       hardcode_minus_L_F77=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       case $host_cpu in
+       hppa*64*)
          archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
+       ia64*)
+         archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
        *)
          archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        esac
       else
-       case "$host_cpu" in
-       hppa*64*|ia64*)
-         archive_cmds_F77='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+       case $host_cpu in
+       hppa*64*)
+         archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
-         archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+         archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        esac
       fi
       if test "$with_gnu_ld" = no; then
-       case "$host_cpu" in
-       hppa*64*)
-         hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+       hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+       hardcode_libdir_separator_F77=:
+
+       case $host_cpu in
+       hppa*64*|ia64*)
          hardcode_libdir_flag_spec_ld_F77='+b $libdir'
-         hardcode_libdir_separator_F77=:
-         hardcode_direct_F77=no
-         hardcode_shlibpath_var_F77=no
-         ;;
-       ia64*)
-         hardcode_libdir_flag_spec_F77='-L$libdir'
          hardcode_direct_F77=no
          hardcode_shlibpath_var_F77=no
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L_F77=yes
          ;;
        *)
-         hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
-         hardcode_libdir_separator_F77=:
          hardcode_direct_F77=yes
          export_dynamic_flag_spec_F77='${wl}-E'
 
@@ -21069,14 +21623,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_libdir_separator_F77=:
       ;;
 
-    sco3.2v5*)
-      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var_F77=no
-      export_dynamic_flag_spec_F77='${wl}-Bexport'
-      runpath_var=LD_RUN_PATH
-      hardcode_runpath_var=yes
-      ;;
-
     solaris*)
       no_undefined_flag_F77=' -z text'
       if test "$GCC" = yes; then
@@ -21162,36 +21708,45 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       fi
       ;;
 
-    sysv4.2uw2*)
-      archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_F77=yes
-      hardcode_minus_L_F77=no
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag_F77='${wl}-z,text'
+      archive_cmds_need_lc_F77=no
       hardcode_shlibpath_var_F77=no
-      hardcode_runpath_var=yes
-      runpath_var=LD_RUN_PATH
-      ;;
+      runpath_var='LD_RUN_PATH'
 
-   sysv5OpenUNIX8* | sysv5UnixWare7* |  sysv5uw[78]* | unixware7*)
-      no_undefined_flag_F77='${wl}-z ${wl}text'
       if test "$GCC" = yes; then
-       archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-       archive_cmds_F77='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var_F77=no
       ;;
 
-    sysv5*)
-      no_undefined_flag_F77=' -z text'
-      # $CC -shared without GNU ld will not create a library from C++
-      # object files and a static libstdc++, better avoid it by now
-      archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      hardcode_libdir_flag_spec_F77=
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag_F77='${wl}-z,text'
+      allow_undefined_flag_F77='${wl}-z,nodefs'
+      archive_cmds_need_lc_F77=no
       hardcode_shlibpath_var_F77=no
+      hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator_F77=':'
+      link_all_deplibs_F77=yes
+      export_dynamic_flag_spec_F77='${wl}-Bexport'
       runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
       ;;
 
     uts4*)
@@ -21210,11 +21765,6 @@ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
 echo "${ECHO_T}$ld_shlibs_F77" >&6
 test "$ld_shlibs_F77" = no && can_build_shared=no
 
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
 #
 # Do we need to explicitly link libc?
 #
@@ -21247,6 +21797,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
         libobjs=conftest.$ac_objext
         deplibs=
         wl=$lt_prog_compiler_wl_F77
+       pic_flag=$lt_prog_compiler_pic_F77
         compiler_flags=-v
         linker_flags=-v
         verstring=
@@ -21407,7 +21958,8 @@ cygwin* | mingw* | pw32*)
       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $rm \$dlpath'
@@ -21460,7 +22012,7 @@ darwin* | rhapsody*)
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
   if test "$GCC" = yes; then
     sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
@@ -21498,7 +22050,14 @@ kfreebsd*-gnu)
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
@@ -21520,10 +22079,15 @@ freebsd* | dragonfly*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
-  *) # from 3.2 on
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
   esac
   ;;
 
@@ -21543,7 +22107,7 @@ hpux9* | hpux10* | hpux11*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     shrext_cmds='.so'
     hardcode_into_libs=yes
@@ -21583,6 +22147,18 @@ hpux9* | hpux10* | hpux11*)
   postinstall_cmds='chmod 555 $lib'
   ;;
 
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
 irix5* | irix6* | nonstopux*)
   case $host_os in
     nonstopux*) version_type=nonstopux ;;
@@ -21644,7 +22220,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 21647 "configure"' > conftest.$ac_ext
+    echo '#line 22223 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -21663,7 +22239,7 @@ linux*)
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,   ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
@@ -21725,8 +22301,13 @@ nto-qnx*)
 
 openbsd*)
   version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
   need_lib_prefix=no
-  need_version=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -21764,13 +22345,6 @@ osf3* | osf4* | osf5*)
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
-sco3.2v5*)
-  version_type=osf
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -21796,7 +22370,7 @@ sunos4*)
   need_version=yes
   ;;
 
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
   version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -21829,6 +22403,29 @@ sysv4*MP*)
   fi
   ;;
 
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+       ;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
 uts4*)
   version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -21844,6 +22441,11 @@ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
 echo "${ECHO_T}$dynamic_linker" >&6
 test "$dynamic_linker" = no && can_build_shared=no
 
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
 echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
 hardcode_action_F77=
@@ -21881,36 +22483,6 @@ elif test "$shlibpath_overrides_runpath" = yes ||
   enable_fast_install=needless
 fi
 
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-       else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-       ;;
-   *)
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-    ;;
-  esac
-fi
-
-
 
 # The else clause should only fire when bootstrapping the
 # libtool distribution, otherwise you forgot to ship ltmain.sh
@@ -21925,7 +22497,7 @@ if test -f "$ltmain"; then
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
     SED SHELL STRIP \
     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
     old_striplib striplib file_magic_cmd finish_cmds finish_eval \
@@ -22043,12 +22615,18 @@ AR_FLAGS=$lt_AR_FLAGS
 # A C compiler.
 LTCC=$lt_LTCC
 
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
 # A language-specific compiler.
 CC=$lt_compiler_F77
 
 # Is the compiler the GNU C compiler?
 with_gcc=$GCC_F77
 
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
 # An ERE matcher.
 EGREP=$lt_EGREP
 
@@ -22182,11 +22760,11 @@ striplib=$lt_striplib
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
-predep_objects=$lt_predep_objects_F77
+predep_objects=\`echo $lt_predep_objects_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Dependencies to place after the objects being linked to create a
 # shared library.
-postdep_objects=$lt_postdep_objects_F77
+postdep_objects=\`echo $lt_postdep_objects_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
@@ -22198,7 +22776,7 @@ postdeps=$lt_postdeps_F77
 
 # The library search path used internally by the compiler when linking
 # a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_F77
+compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Method to check whether dependent libraries are shared objects.
 deplibs_check_method=$lt_deplibs_check_method
@@ -22278,7 +22856,7 @@ variables_saved_for_relink="$variables_saved_for_relink"
 link_all_deplibs=$link_all_deplibs_F77
 
 # Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Run-time system search path for libraries
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -22353,6 +22931,9 @@ lt_simple_link_test_code='public class conftest { public static void main(String
 # If no C compiler was specified, use CC.
 LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
 # Allow CC to be a program name with arguments.
 compiler=$CC
 
@@ -22360,13 +22941,13 @@ compiler=$CC
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
 printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
 printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
 
@@ -22414,20 +22995,20 @@ else
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:22420: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:23001: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:22424: \$? = $ac_status" >&5
+   echo "$as_me:23005: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
-     $SED '/^$/d' conftest.err >conftest.er2
-     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_rtti_exceptions=yes
      fi
    fi
@@ -22488,6 +23069,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       lt_prog_compiler_pic_GCJ='-fno-common'
       ;;
 
+    interix3*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
     msdosdjgpp*)
       # Just because we use GCC doesn't mean we suddenly get shared libraries
       # on systems that don't support them.
@@ -22504,7 +23090,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
     hpux*)
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -22551,7 +23137,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       lt_prog_compiler_wl_GCJ='-Wl,'
       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
       # not for PA HP-UX.
-      case "$host_cpu" in
+      case $host_cpu in
       hppa*64*|ia64*)
        # +Z the default
        ;;
@@ -22581,12 +23167,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        lt_prog_compiler_pic_GCJ='-KPIC'
        lt_prog_compiler_static_GCJ='-static'
         ;;
-      pgcc* | pgf77* | pgf90*)
+      pgcc* | pgf77* | pgf90* | pgf95*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        lt_prog_compiler_wl_GCJ='-Wl,'
        lt_prog_compiler_pic_GCJ='-fpic'
-       lt_prog_compiler_static_GCJ='-static'
+       lt_prog_compiler_static_GCJ='-Bstatic'
         ;;
       ccc*)
         lt_prog_compiler_wl_GCJ='-Wl,'
@@ -22602,11 +23188,6 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       lt_prog_compiler_static_GCJ='-non_shared'
       ;;
 
-    sco3.2v5*)
-      lt_prog_compiler_pic_GCJ='-Kpic'
-      lt_prog_compiler_static_GCJ='-dn'
-      ;;
-
     solaris*)
       lt_prog_compiler_pic_GCJ='-KPIC'
       lt_prog_compiler_static_GCJ='-Bstatic'
@@ -22624,7 +23205,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       lt_prog_compiler_static_GCJ='-Bstatic'
       ;;
 
-    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+    sysv4 | sysv4.2uw2* | sysv4.3*)
       lt_prog_compiler_wl_GCJ='-Wl,'
       lt_prog_compiler_pic_GCJ='-KPIC'
       lt_prog_compiler_static_GCJ='-Bstatic'
@@ -22637,6 +23218,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       fi
       ;;
 
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl_GCJ='-Wl,'
+      lt_prog_compiler_pic_GCJ='-KPIC'
+      lt_prog_compiler_static_GCJ='-Bstatic'
+      ;;
+
     unicos*)
       lt_prog_compiler_wl_GCJ='-Wl,'
       lt_prog_compiler_can_build_shared_GCJ=no
@@ -22676,20 +23263,20 @@ else
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:22682: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:23269: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:22686: \$? = $ac_status" >&5
+   echo "$as_me:23273: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
-     $SED '/^$/d' conftest.err >conftest.er2
-     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_prog_compiler_pic_works_GCJ=yes
      fi
    fi
@@ -22710,7 +23297,7 @@ else
 fi
 
 fi
-case "$host_os" in
+case $host_os in
   # For platforms which do not support PIC, -DPIC is meaningless:
   *djgpp*)
     lt_prog_compiler_pic_GCJ=
@@ -22720,6 +23307,48 @@ case "$host_os" in
     ;;
 esac
 
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_prog_compiler_static_works_GCJ=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works_GCJ=yes
+       fi
+     else
+       lt_prog_compiler_static_works_GCJ=yes
+     fi
+   fi
+   $rm conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6
+
+if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
+    :
+else
+    lt_prog_compiler_static_GCJ=
+fi
+
+
 echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
 if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
@@ -22738,25 +23367,25 @@ else
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:22744: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:23373: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:22748: \$? = $ac_status" >&5
+   echo "$as_me:23377: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
-     $SED '/^$/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_GCJ=yes
      fi
    fi
-   chmod u+w .
+   chmod u+w . 2>&5
    $rm conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
@@ -22852,6 +23481,10 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
       with_gnu_ld=no
     fi
     ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
   openbsd*)
     with_gnu_ld=no
     ;;
@@ -22936,7 +23569,7 @@ EOF
       export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+        archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
        # If the export-symbols file already is a .def file (1st line
        # is EXPORTS), use it as is; otherwise, prepend...
        archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -22945,22 +23578,38 @@ EOF
          echo EXPORTS > $output_objdir/$soname.def;
          cat $export_symbols >> $output_objdir/$soname.def;
        fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000  ${wl}--out-implib,$lib'
+       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
       else
        ld_shlibs_GCJ=no
       fi
       ;;
 
+    interix3*)
+      hardcode_direct_GCJ=no
+      hardcode_shlibpath_var_GCJ=no
+      hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec_GCJ='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
     linux*)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        tmp_addflag=
        case $cc_basename,$host_cpu in
        pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec_GCJ=
+         whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
          ;;
-       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec_GCJ=
-         tmp_addflag=' -fpic -Mnomain' ;;
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
@@ -22991,7 +23640,7 @@ EOF
       fi
       ;;
 
-    solaris* | sysv5*)
+    solaris*)
       if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
        ld_shlibs_GCJ=no
        cat <<EOF 1>&2
@@ -23012,6 +23661,33 @@ EOF
       fi
       ;;
 
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+       ld_shlibs_GCJ=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+       ;;
+       *)
+         if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+           hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+           archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+           archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+         else
+           ld_shlibs_GCJ=no
+         fi
+       ;;
+      esac
+      ;;
+
     sunos4*)
       archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       wlarc=
@@ -23045,7 +23721,7 @@ EOF
       # Note: this linker hardcodes the directories in LIBPATH if there
       # are no directories specified by -L.
       hardcode_minus_L_GCJ=yes
-      if test "$GCC" = yes && test -z "$link_static_flag"; then
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
        # Neither direct hardcoding nor static linking is supported with a
        # broken collect2.
        hardcode_direct_GCJ=unsupported
@@ -23079,6 +23755,7 @@ EOF
            break
          fi
          done
+         ;;
        esac
 
        exp_sym_flag='-bexport'
@@ -23116,6 +23793,7 @@ EOF
          hardcode_libdir_flag_spec_GCJ='-L$libdir'
          hardcode_libdir_separator_GCJ=
          fi
+         ;;
        esac
        shared_flag='-shared'
        if test "$aix_use_runtimelinking" = yes; then
@@ -23128,11 +23806,11 @@ EOF
        # chokes on -Wl,-G. The following line is correct:
          shared_flag='-G'
        else
-       if test "$aix_use_runtimelinking" = yes; then
+         if test "$aix_use_runtimelinking" = yes; then
            shared_flag='${wl}-G'
          else
            shared_flag='${wl}-bM:SRE'
-       fi
+         fi
        fi
       fi
 
@@ -23197,12 +23875,12 @@ rm -f conftest.err conftest.$ac_objext \
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
        hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
-       archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
        else
        if test "$host_cpu" = ia64; then
          hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
          allow_undefined_flag_GCJ="-z nodefs"
-         archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+         archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
        else
         # Determine the default libpath from the value encoded in an empty executable.
         cat >conftest.$ac_ext <<_ACEOF
@@ -23262,13 +23940,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          # -berok will link without error, but may produce a broken library.
          no_undefined_flag_GCJ=' ${wl}-bernotok'
          allow_undefined_flag_GCJ=' ${wl}-berok'
-         # -bexpall does not export symbols beginning with underscore (_)
-         always_export_symbols_GCJ=yes
          # Exported symbols can be pulled into shared objects from archives
-         whole_archive_flag_spec_GCJ=' '
+         whole_archive_flag_spec_GCJ='$convenience'
          archive_cmds_need_lc_GCJ=yes
-         # This is similar to how AIX traditionally builds it's shared libraries.
-         archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+         # This is similar to how AIX traditionally builds its shared libraries.
+         archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
        fi
       fi
       ;;
@@ -23307,7 +23983,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     darwin* | rhapsody*)
-      case "$host_os" in
+      case $host_os in
         rhapsody* | darwin1.[012])
          allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
          ;;
@@ -23336,7 +24012,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        output_verbose_link_cmd='echo'
         archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+      # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
       archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
@@ -23345,7 +24021,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          output_verbose_link_cmd='echo'
          archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
          module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
          archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
@@ -23409,47 +24085,62 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       export_dynamic_flag_spec_GCJ='${wl}-E'
       ;;
 
-    hpux10* | hpux11*)
+    hpux10*)
       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case "$host_cpu" in
-       hppa*64*|ia64*)
+       archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+       hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+       hardcode_libdir_separator_GCJ=:
+
+       hardcode_direct_GCJ=yes
+       export_dynamic_flag_spec_GCJ='${wl}-E'
+
+       # hardcode_minus_L: Not really in the search PATH,
+       # but as the default location of the library.
+       hardcode_minus_L_GCJ=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       case $host_cpu in
+       hppa*64*)
          archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
+       ia64*)
+         archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
        *)
          archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        esac
       else
-       case "$host_cpu" in
-       hppa*64*|ia64*)
-         archive_cmds_GCJ='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+       case $host_cpu in
+       hppa*64*)
+         archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
-         archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+         archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        esac
       fi
       if test "$with_gnu_ld" = no; then
-       case "$host_cpu" in
-       hppa*64*)
-         hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+       hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+       hardcode_libdir_separator_GCJ=:
+
+       case $host_cpu in
+       hppa*64*|ia64*)
          hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
-         hardcode_libdir_separator_GCJ=:
          hardcode_direct_GCJ=no
          hardcode_shlibpath_var_GCJ=no
          ;;
-       ia64*)
-         hardcode_libdir_flag_spec_GCJ='-L$libdir'
-         hardcode_direct_GCJ=no
-         hardcode_shlibpath_var_GCJ=no
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L_GCJ=yes
-         ;;
        *)
-         hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-         hardcode_libdir_separator_GCJ=:
          hardcode_direct_GCJ=yes
          export_dynamic_flag_spec_GCJ='${wl}-E'
 
@@ -23551,14 +24242,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_libdir_separator_GCJ=:
       ;;
 
-    sco3.2v5*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var_GCJ=no
-      export_dynamic_flag_spec_GCJ='${wl}-Bexport'
-      runpath_var=LD_RUN_PATH
-      hardcode_runpath_var=yes
-      ;;
-
     solaris*)
       no_undefined_flag_GCJ=' -z text'
       if test "$GCC" = yes; then
@@ -23644,36 +24327,45 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       fi
       ;;
 
-    sysv4.2uw2*)
-      archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_GCJ=yes
-      hardcode_minus_L_GCJ=no
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+      no_undefined_flag_GCJ='${wl}-z,text'
+      archive_cmds_need_lc_GCJ=no
       hardcode_shlibpath_var_GCJ=no
-      hardcode_runpath_var=yes
-      runpath_var=LD_RUN_PATH
-      ;;
+      runpath_var='LD_RUN_PATH'
 
-   sysv5OpenUNIX8* | sysv5UnixWare7* |  sysv5uw[78]* | unixware7*)
-      no_undefined_flag_GCJ='${wl}-z ${wl}text'
       if test "$GCC" = yes; then
-       archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-       archive_cmds_GCJ='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var_GCJ=no
       ;;
 
-    sysv5*)
-      no_undefined_flag_GCJ=' -z text'
-      # $CC -shared without GNU ld will not create a library from C++
-      # object files and a static libstdc++, better avoid it by now
-      archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      hardcode_libdir_flag_spec_GCJ=
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag_GCJ='${wl}-z,text'
+      allow_undefined_flag_GCJ='${wl}-z,nodefs'
+      archive_cmds_need_lc_GCJ=no
       hardcode_shlibpath_var_GCJ=no
+      hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator_GCJ=':'
+      link_all_deplibs_GCJ=yes
+      export_dynamic_flag_spec_GCJ='${wl}-Bexport'
       runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
       ;;
 
     uts4*)
@@ -23692,11 +24384,6 @@ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
 echo "${ECHO_T}$ld_shlibs_GCJ" >&6
 test "$ld_shlibs_GCJ" = no && can_build_shared=no
 
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
 #
 # Do we need to explicitly link libc?
 #
@@ -23729,6 +24416,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
         libobjs=conftest.$ac_objext
         deplibs=
         wl=$lt_prog_compiler_wl_GCJ
+       pic_flag=$lt_prog_compiler_pic_GCJ
         compiler_flags=-v
         linker_flags=-v
         verstring=
@@ -23889,7 +24577,8 @@ cygwin* | mingw* | pw32*)
       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $rm \$dlpath'
@@ -23942,7 +24631,7 @@ darwin* | rhapsody*)
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
   if test "$GCC" = yes; then
     sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
@@ -23980,7 +24669,14 @@ kfreebsd*-gnu)
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
@@ -24002,10 +24698,15 @@ freebsd* | dragonfly*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
-  *) # from 3.2 on
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
+  freebsd*) # from 4.6 on
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
   esac
   ;;
 
@@ -24025,7 +24726,7 @@ hpux9* | hpux10* | hpux11*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     shrext_cmds='.so'
     hardcode_into_libs=yes
@@ -24063,1139 +24764,342 @@ hpux9* | hpux10* | hpux11*)
   esac
   # HP-UX runs *really* slowly unless shared libraries are mode 555.
   postinstall_cmds='chmod 555 $lib'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # find out which ABI we are using
-  libsuff=
-  case "$host_cpu" in
-  x86_64*|s390x*|powerpc64*)
-    echo '#line 24129 "configure"' > conftest.$ac_ext
-    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-      case `/usr/bin/file conftest.$ac_objext` in
-      *64-bit*)
-        libsuff=64
-        sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
-        ;;
-      esac
-    fi
-    rm -rf conftest*
-    ;;
-  esac
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-nto-qnx*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-openbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-sco3.2v5*)
-  version_type=osf
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
-   test -n "$runpath_var_GCJ" || \
-   test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_GCJ" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
-     test "$hardcode_minus_L_GCJ" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_GCJ=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_GCJ=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_GCJ=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6
-
-if test "$hardcode_action_GCJ" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-       else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-       ;;
-   *)
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-    ;;
-  esac
-fi
-
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-   ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-   ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-   ;;
-
-  *)
-    echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
-if test "${ac_cv_func_shl_load+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shl_load
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != shl_load;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_func_shl_load=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
-if test $ac_cv_func_shl_load = yes; then
-  lt_cv_dlopen="shl_load"
-else
-  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char shl_load ();
-int
-main ()
-{
-shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_dld_shl_load=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
-if test $ac_cv_lib_dld_shl_load = yes; then
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
-else
-  echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
-if test "${ac_cv_func_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char dlopen (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != dlopen;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_func_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
-if test $ac_cv_func_dlopen = yes; then
-  lt_cv_dlopen="dlopen"
-else
-  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_svld_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_svld_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
-if test $ac_cv_lib_svld_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char dld_link ();
-int
-main ()
-{
-dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_dld_dld_link=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_dld_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
-if test $ac_cv_lib_dld_dld_link = yes; then
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
+  ;;
 
+interix3*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
 
-fi
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+       if test "$lt_cv_prog_gnu_ld" = yes; then
+               version_type=linux
+       else
+               version_type=irix
+       fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
 
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
 
-fi
+# This must be Linux ELF.
+linux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
 
+  # find out which ABI we are using
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '#line 24842 "configure"' > conftest.$ac_ext
+    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+        ;;
+      esac
+    fi
+    rm -rf conftest*
     ;;
   esac
 
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,   ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
   fi
 
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-#line 25000 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
 
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
+knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU ld.so'
+  ;;
 
-    exit (status);
-}
-EOF
-  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
   fi
-fi
-rm -fr conftest*
-
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
 
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
 
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      LDFLAGS="$LDFLAGS $link_static_flag"
-      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self_static+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-#line 25098 "configure"
-#include "confdefs.h"
+nto-qnx*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
 
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+       shlibpath_overrides_runpath=no
+       ;;
+      *)
+       shlibpath_overrides_runpath=yes
+       ;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
 
-#include <stdio.h>
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
 
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
 
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
 
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
 
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
 
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
 
-    exit (status);
-}
-EOF
-  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+       ;;
     esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
   fi
-fi
-rm -fr conftest*
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
 
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
 
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
-    fi
 
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_GCJ=
+if test -n "$hardcode_libdir_flag_spec_GCJ" || \
+   test -n "$runpath_var_GCJ" || \
+   test "X$hardcode_automatic_GCJ" = "Xyes" ; then
 
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_GCJ" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
+     test "$hardcode_minus_L_GCJ" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_GCJ=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_GCJ=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_GCJ=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+echo "${ECHO_T}$hardcode_action_GCJ" >&6
 
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
+if test "$hardcode_action_GCJ" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
 fi
 
 
@@ -25212,7 +25116,7 @@ if test -f "$ltmain"; then
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
     SED SHELL STRIP \
     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
     old_striplib striplib file_magic_cmd finish_cmds finish_eval \
@@ -25330,12 +25234,18 @@ AR_FLAGS=$lt_AR_FLAGS
 # A C compiler.
 LTCC=$lt_LTCC
 
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
 # A language-specific compiler.
 CC=$lt_compiler_GCJ
 
 # Is the compiler the GNU C compiler?
 with_gcc=$GCC_GCJ
 
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
 # An ERE matcher.
 EGREP=$lt_EGREP
 
@@ -25469,11 +25379,11 @@ striplib=$lt_striplib
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
-predep_objects=$lt_predep_objects_GCJ
+predep_objects=\`echo $lt_predep_objects_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Dependencies to place after the objects being linked to create a
 # shared library.
-postdep_objects=$lt_postdep_objects_GCJ
+postdep_objects=\`echo $lt_postdep_objects_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
@@ -25485,7 +25395,7 @@ postdeps=$lt_postdeps_GCJ
 
 # The library search path used internally by the compiler when linking
 # a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
+compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Method to check whether dependent libraries are shared objects.
 deplibs_check_method=$lt_deplibs_check_method
@@ -25565,7 +25475,7 @@ variables_saved_for_relink="$variables_saved_for_relink"
 link_all_deplibs=$link_all_deplibs_GCJ
 
 # Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Run-time system search path for libraries
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -25639,6 +25549,9 @@ lt_simple_link_test_code="$lt_simple_compile_test_code"
 # If no C compiler was specified, use CC.
 LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
 # Allow CC to be a program name with arguments.
 compiler=$CC
 
@@ -25646,13 +25559,13 @@ compiler=$CC
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
 printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
 printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
 
@@ -25687,7 +25600,7 @@ if test -f "$ltmain"; then
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
     SED SHELL STRIP \
     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
     old_striplib striplib file_magic_cmd finish_cmds finish_eval \
@@ -25805,12 +25718,18 @@ AR_FLAGS=$lt_AR_FLAGS
 # A C compiler.
 LTCC=$lt_LTCC
 
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
 # A language-specific compiler.
 CC=$lt_compiler_RC
 
 # Is the compiler the GNU C compiler?
 with_gcc=$GCC_RC
 
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
 # An ERE matcher.
 EGREP=$lt_EGREP
 
@@ -25944,11 +25863,11 @@ striplib=$lt_striplib
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
-predep_objects=$lt_predep_objects_RC
+predep_objects=\`echo $lt_predep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Dependencies to place after the objects being linked to create a
 # shared library.
-postdep_objects=$lt_postdep_objects_RC
+postdep_objects=\`echo $lt_postdep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
@@ -25960,7 +25879,7 @@ postdeps=$lt_postdeps_RC
 
 # The library search path used internally by the compiler when linking
 # a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
+compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Method to check whether dependent libraries are shared objects.
 deplibs_check_method=$lt_deplibs_check_method
@@ -26040,7 +25959,7 @@ variables_saved_for_relink="$variables_saved_for_relink"
 link_all_deplibs=$link_all_deplibs_RC
 
 # Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
 
 # Run-time system search path for libraries
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -26147,61 +26066,7 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
-
-       echo "$as_me:$LINENO: checking for linux kernel dir" >&5
-echo $ECHO_N "checking for linux kernel dir... $ECHO_C" >&6
-if test "${ensc_cv_path_kerneldir+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-# Check whether --with-kerneldir or --without-kerneldir was given.
-if test "${with_kerneldir+set}" = set; then
-  withval="$with_kerneldir"
-  case "$withval" in
-               yes|no) { { echo "$as_me:$LINENO: error: '$withval' is not a valid value for kerneldir" >&5
-echo "$as_me: error: '$withval' is not a valid value for kerneldir" >&2;}
-   { (exit 1); exit 1; }; };;
-               *)      ensc_cv_path_kerneldir=$withval;;
-            esac
-else
-  ensc_cv_path_kerneldir=
-            for i in /lib/modules/$(uname -r)/build /usr/src/linux /usr; do
-               test -e $i/include/linux/version.h && { ensc_cv_path_kerneldir=$i; break; }
-            done
-fi;
-
-fi
-echo "$as_me:$LINENO: result: $ensc_cv_path_kerneldir" >&5
-echo "${ECHO_T}$ensc_cv_path_kerneldir" >&6
-
-       test "$ensc_cv_path_kerneldir" -a -e "$ensc_cv_path_kerneldir"/include/linux/version.h || {
-               { { echo "$as_me:$LINENO: error: Can not find kernelsources" >&5
-echo "$as_me: error: Can not find kernelsources" >&2;}
-   { (exit 1); exit 1; }; }
-       }
-
-
-
-
-       echo "$as_me:$LINENO: checking for linux kernel headers" >&5
-echo $ECHO_N "checking for linux kernel headers... $ECHO_C" >&6
-if test "${ensc_cv_path_kernelheaders+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-               ensc_cv_path_kernelheaders=$ensc_cv_path_kerneldir/include
-
-fi
-echo "$as_me:$LINENO: result: $ensc_cv_path_kernelheaders" >&5
-echo "${ECHO_T}$ensc_cv_path_kernelheaders" >&6
-
-       if test x"kernelincludedir" != x; then
-               kernelincludedir=$ensc_cv_path_kernelheaders
-
-       fi
-
-
+
        echo "$as_me:$LINENO: checking which vserver-rootdir is to use" >&5
 echo $ECHO_N "checking which vserver-rootdir is to use... $ECHO_C" >&6
 
@@ -26226,73 +26091,17 @@ echo "${ECHO_T}$ensc_uv_path_vrootdir" >&6
        fi
 
 
-       if test x"trunk" != x; then
-               CVS2CL_TAG='-F trunk'
-
-       fi
-
-       for ac_prog in cvs2cl
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CVS2CL+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CVS2CL"; then
-  ac_cv_prog_CVS2CL="$CVS2CL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CVS2CL="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-
-fi
-fi
-CVS2CL=$ac_cv_prog_CVS2CL
-if test -n "$CVS2CL"; then
-  echo "$as_me:$LINENO: result: $CVS2CL" >&5
-echo "${ECHO_T}$CVS2CL" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-  test -n "$CVS2CL" && break
-done
-
-
-
-if test x"$CVS2CL" != x; then
-  HAVE_CVS2CL_TRUE=
-  HAVE_CVS2CL_FALSE='#'
-else
-  HAVE_CVS2CL_TRUE='#'
-  HAVE_CVS2CL_FALSE=
-fi
-
-
-       for ac_prog in rcs2log
+       for ac_prog in svn2cl
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RCS2LOG+set}" = set; then
+if test "${ac_cv_prog_SVN2CL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$RCS2LOG"; then
-  ac_cv_prog_RCS2LOG="$RCS2LOG" # Let the user override the test.
+  if test -n "$SVN2CL"; then
+  ac_cv_prog_SVN2CL="$SVN2CL" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -26301,7 +26110,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RCS2LOG="$ac_prog"
+    ac_cv_prog_SVN2CL="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -26310,26 +26119,26 @@ done
 
 fi
 fi
-RCS2LOG=$ac_cv_prog_RCS2LOG
-if test -n "$RCS2LOG"; then
-  echo "$as_me:$LINENO: result: $RCS2LOG" >&5
-echo "${ECHO_T}$RCS2LOG" >&6
+SVN2CL=$ac_cv_prog_SVN2CL
+if test -n "$SVN2CL"; then
+  echo "$as_me:$LINENO: result: $SVN2CL" >&5
+echo "${ECHO_T}$SVN2CL" >&6
 else
   echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
-  test -n "$RCS2LOG" && break
+  test -n "$SVN2CL" && break
 done
 
 
 
-if test x"$RCS2LOG" != x; then
-  HAVE_RCS2LOG_TRUE=
-  HAVE_RCS2LOG_FALSE='#'
+if test x"$SVN2CL" != x; then
+  HAVE_SVN2CL_TRUE=
+  HAVE_SVN2CL_FALSE='#'
 else
-  HAVE_RCS2LOG_TRUE='#'
-  HAVE_RCS2LOG_FALSE=
+  HAVE_SVN2CL_TRUE='#'
+  HAVE_SVN2CL_FALSE=
 fi
 
 
 echo "$as_me:$LINENO: result: $enable_internal_headers" >&5
 echo "${ECHO_T}$enable_internal_headers" >&6
 
-echo "$as_me:$LINENO: checking for supported APIs" >&5
-echo $ECHO_N "checking for supported APIs... $ECHO_C" >&6
-# Check whether --enable-apis or --disable-apis was given.
-if test "${enable_apis+set}" = set; then
-  enableval="$enable_apis"
-
-else
-  enable_apis=compat,v11,v13,fscompat,net
-fi;
-
-test x"$enable_apis" != xALL || enable_apis='legacy,compat,v11,v13,fscompat,net'
-enable_api_oldproc=
-enable_api_olduts=
-old_IFS=$IFS
-IFS=,;
-for i in $enable_apis; do
-       case "$i" in
-               (compat)
-cat >>confdefs.h <<\_ACEOF
-#define VC_ENABLE_API_COMPAT 1
-_ACEOF
-
-                               enable_api_oldproc=1
-                               enable_api_olduts=1
-                               ;;
-               (legacy)
-cat >>confdefs.h <<\_ACEOF
-#define VC_ENABLE_API_LEGACY 1
-_ACEOF
-
-                               enable_api_old_proc=1
-                               enable_api_olduts=1
-                               ;;
-               (v11)
-cat >>confdefs.h <<\_ACEOF
-#define VC_ENABLE_API_V11 1
-_ACEOF
-
-                               enable_api_oldproc=1
-                               enable_api_olduts=1
-                               ;;
-               (v13)
-cat >>confdefs.h <<\_ACEOF
-#define VC_ENABLE_API_V13 1
-_ACEOF
-;;
-               (net)
-cat >>confdefs.h <<\_ACEOF
-#define VC_ENABLE_API_NET 1
-_ACEOF
-;;
-               (fscompat)
-cat >>confdefs.h <<\_ACEOF
-#define VC_ENABLE_API_FSCOMPAT 1
-_ACEOF
-;;
-               (*)             { { echo "$as_me:$LINENO: error: '$i' is not a supported API" >&5
-echo "$as_me: error: '$i' is not a supported API" >&2;}
-   { (exit 1); exit 1; }; };;
-       esac
-done
-IFS=$old_IFS
-if test x"$enable_api_oldproc" != x; then
-
-cat >>confdefs.h <<\_ACEOF
-#define VC_ENABLE_API_OLDPROC 1
-_ACEOF
-
-       enable_apis="$enable_apis,oldproc"
-fi
-if test x"$enable_api_olduts" != x; then
-
-cat >>confdefs.h <<\_ACEOF
-#define VC_ENABLE_API_OLDUTS 1
-_ACEOF
-
-       enable_apis="$enable_apis,olduts"
-fi
-echo "$as_me:$LINENO: result: $enable_apis" >&5
-echo "${ECHO_T}$enable_apis" >&6
-
-
-
-
-
-
-
-       echo "$as_me:$LINENO: checking for number of syscall 'vserver'" >&5
-echo $ECHO_N "checking for number of syscall 'vserver'... $ECHO_C" >&6
-if test "${ensc_cv_value_syscall_vserver+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-               ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-               cat >conftest.$ac_ext <<_ACEOF
-
-#include <asm/unistd.h>
-#ifdef __NR_vserver
-ensc_syscall_tmp_nr=__NR_vserver;
-ensc_syscall_tmp_src=ENSC_MARK
-#endif
-
-_ACEOF
-               ensc_syscall_tmp_nr=
-               ensc_syscall_tmp_src=
-               test "$ensc_syscall_tmp_nr" || \
-                       eval $($CPP $CPPFLAGS -D ENSC_MARK='glibc'                                 conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[1-9][0-9]*;|src=.*)$')
-               test "$ensc_syscall_tmp_nr" || \
-                       eval $($CPP $CPPFLAGS -D ENSC_MARK='kernel' -I $ensc_cv_path_kernelheaders conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[1-9][0-9]*;|src=.*)$')
-               test "$ensc_syscall_tmp_nr" || {
-                       ensc_syscall_tmp_nr=273
-                       ensc_syscall_tmp_src=default
-               }
-
-               if test x"$ensc_syscall_tmp_nr" = x; then
-                       { { echo "$as_me:$LINENO: error: Can not determine value of __NR_vserver; please verify your glibc/kernelheaders, and/or set CPPFLAGS='-D__NR_vserver=<value>' environment when calling configure." >&5
-echo "$as_me: error: Can not determine value of __NR_vserver; please verify your glibc/kernelheaders, and/or set CPPFLAGS='-D__NR_vserver=<value>' environment when calling configure." >&2;}
-   { (exit 1); exit 1; }; }
-               fi
-               ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-               ensc_cv_value_syscall_vserver="$ensc_syscall_tmp_nr/$ensc_syscall_tmp_src"
 
-fi
-echo "$as_me:$LINENO: result: $ensc_cv_value_syscall_vserver" >&5
-echo "${ECHO_T}$ensc_cv_value_syscall_vserver" >&6
 
-       ensc_syscall_tmp_nr=${ensc_cv_value_syscall_vserver%/*}
-       ensc_syscall_tmp_src=${ensc_cv_value_syscall_vserver#*/}
 
-       if test x"$ensc_syscall_tmp_src" != x'glibc'; then
 
-cat >>confdefs.h <<_ACEOF
-#define ENSC_SYSCALL__NR_vserver $ensc_syscall_tmp_nr
-_ACEOF
 
-       fi
 
 
 
 
 
-        echo "$as_me:$LINENO: checking for syscall(2) invocation method" >&5
-echo $ECHO_N "checking for syscall(2) invocation method... $ECHO_C" >&6
 
-# Check whether --with-syscall or --without-syscall was given.
-if test "${with_syscall+set}" = set; then
-  withval="$with_syscall"
 
-else
-  with_syscall=auto
-fi;
-        echo "$as_me:$LINENO: result: $with_syscall" >&5
-echo "${ECHO_T}$with_syscall" >&6
 
-        case x"$with_syscall" in
-            (xauto)
-               echo "$as_me:$LINENO: checking which syscall(2) invocation works" >&5
-echo $ECHO_N "checking which syscall(2) invocation works... $ECHO_C" >&6
-if test "${ensc_cv_test_syscall+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
 
-                               ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-                               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#include "$srcdir/lib/syscall-wrap.h"
-#include <errno.h>
 
-#define __NR_foo0      300
-#define __NR_foo1      301
-#define __NR_foo2      302
-#define __NR_foo3      303
-#define __NR_foo4      304
-#define __NR_foo5      305
-inline static _syscall0(int, foo0)
-inline static _syscall1(int, foo1, int, a)
-inline static _syscall2(int, foo2, int, a, int, b)
-inline static _syscall3(int, foo3, int, a, int, b, int, c)
-inline static _syscall4(int, foo4, int, a, int, b, int, c, int, d)
-inline static _syscall5(int, foo5, int, a, int, b, int, c, int, d, int, e)
 
-int main() {
-  return foo0() || \
-        foo1(1) || \
-        foo2(1,2) || \
-         foo3(1,2,3) || \
-         foo4(1,2,3,4) || \
-        foo5(1,2,3,4,5);
-}
 
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ensc_cv_test_syscall=fast
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-ensc_cv_test_syscall=traditional
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-                               ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+echo "$as_me:$LINENO: checking for supported APIs" >&5
+echo $ECHO_N "checking for supported APIs... $ECHO_C" >&6
+# Check whether --enable-apis or --disable-apis was given.
+if test "${enable_apis+set}" = set; then
+  enableval="$enable_apis"
 
+else
+  enable_apis=v13,net,v21
+fi;
 
-fi
-echo "$as_me:$LINENO: result: $ensc_cv_test_syscall" >&5
-echo "${ECHO_T}$ensc_cv_test_syscall" >&6
-               with_syscall=$ensc_cv_test_syscall
-               ;;
-            (xfast|xtraditional)
-               ;;
-            *)
-               { { echo "$as_me:$LINENO: error: '$with_syscall' is not a valid value for '--with-syscall'" >&5
-echo "$as_me: error: '$with_syscall' is not a valid value for '--with-syscall'" >&2;}
-   { (exit 1); exit 1; }; }
-               ;;
-        esac
+test x"$enable_apis" != xALL      || enable_apis='legacy,compat,v11,fscompat,v13obs,v13,net,v21'
+test x"$enable_apis" != xNOLEGACY || enable_apis='compat,v11,fscompat,v13,net,v21'
+enable_api_oldproc=
+enable_api_olduts=
+old_IFS=$IFS
+IFS=,;
 
-       if test x"$with_syscall $ensc_use_alternative_syscall_macros" = 'xfast yes'; then
-           with_syscall='alternative'
-        fi
+for i in $enable_apis; do
+       case "$i" in
+               (compat)        cat >>confdefs.h <<\_ACEOF
+#define VC_ENABLE_API_COMPAT 1
+_ACEOF
 
-        if test x"$with_syscall" = xtraditional; then
+                               enable_api_oldproc=${enable_api_oldproc:-1}
+                               enable_api_olduts=${enable_api_olduts:-1}
+                               ;;
+               (legacy)        cat >>confdefs.h <<\_ACEOF
+#define VC_ENABLE_API_LEGACY 1
+_ACEOF
 
-cat >>confdefs.h <<\_ACEOF
-#define ENSC_SYSCALL_TRADITIONAL 1
+                               enable_api_oldproc=${enable_api_oldproc:-1}
+                               enable_api_olduts=${enable_api_olduts:-1}
+                               ;;
+               (v11)           cat >>confdefs.h <<\_ACEOF
+#define VC_ENABLE_API_V11 1
 _ACEOF
 
-        fi
+                               enable_api_oldproc=${enable_api_oldproc:-1}
+                               enable_api_olduts=${enable_api_olduts:-1}
+                               ;;
+               (fscompat)      cat >>confdefs.h <<\_ACEOF
+#define VC_ENABLE_API_FSCOMPAT 1
+_ACEOF
+;;
+               (v13obs)        cat >>confdefs.h <<\_ACEOF
+#define VC_ENABLE_API_V13OBS 1
+_ACEOF
+
+                               cat >>confdefs.h <<\_ACEOF
+#define VC_ENABLE_API_V13 1
+_ACEOF
+;;
+               (v13)           cat >>confdefs.h <<\_ACEOF
+#define VC_ENABLE_API_V13 1
+_ACEOF
+;;
+               (net)           cat >>confdefs.h <<\_ACEOF
+#define VC_ENABLE_API_NET 1
+_ACEOF
+;;
+               (v21)           cat >>confdefs.h <<\_ACEOF
+#define VC_ENABLE_API_V21 1
+_ACEOF
+;;
+               (oldproc)       enable_api_oldproc=2;;
+               (olduts)        enable_api_olduts=2;;
+               (*)             { { echo "$as_me:$LINENO: error: '$i' is not a supported API" >&5
+echo "$as_me: error: '$i' is not a supported API" >&2;}
+   { (exit 1); exit 1; }; };;
+       esac
+done
+IFS=$old_IFS
+if test x"$enable_api_oldproc" != x; then
+       cat >>confdefs.h <<\_ACEOF
+#define VC_ENABLE_API_OLDPROC 1
+_ACEOF
 
+       test x"$enable_api_oldproc" != x2 && enable_apis="$enable_apis,oldproc"
+fi
+if test x"$enable_api_olduts" != x; then
+       cat >>confdefs.h <<\_ACEOF
+#define VC_ENABLE_API_OLDUTS 1
+_ACEOF
 
+       test x"$enable_api_olduts" != x2 && enable_apis="$enable_apis,olduts"
+fi
+echo "$as_me:$LINENO: result: $enable_apis" >&5
+echo "${ECHO_T}$enable_apis" >&6
 
 
 
@@ -26859,9 +26500,9 @@ echo "$as_me: WARNING: ext2fs/ext2_fs.h: proceeding with the preprocessor's resu
 echo "$as_me: WARNING: ext2fs/ext2_fs.h: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------------------------------ ##
-## Report this to enrico.scholz@informatik.tu-chemnitz.de ##
-## ------------------------------------------------------ ##
+## --------------------------------------------- ##
+## Report this to vserver@list.linux-vserver.org ##
+## --------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -27013,9 +26654,9 @@ echo "$as_me: WARNING: linux/ext2_fs.h: proceeding with the preprocessor's resul
 echo "$as_me: WARNING: linux/ext2_fs.h: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------------------------------ ##
-## Report this to enrico.scholz@informatik.tu-chemnitz.de ##
-## ------------------------------------------------------ ##
+## --------------------------------------------- ##
+## Report this to vserver@list.linux-vserver.org ##
+## --------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -27058,7 +26699,7 @@ the following reasons:
 * kernel headers are broken (e.g. these of linux 2.6 are known to be)
   and you do not have e2fsprogs headers installed; please try to install
   - e2fsprogs-devel (for Red Hat), or
-  - libext2fs2-devel (for Mandrake), or
+  - lib*ext2fs2-devel (for Mandriva), or
   - e2fslibs-dev (for Debian)
   in this case.
 
@@ -27086,7 +26727,7 @@ the following reasons:
 * kernel headers are broken (e.g. these of linux 2.6 are known to be)
   and you do not have e2fsprogs headers installed; please try to install
   - e2fsprogs-devel (for Red Hat), or
-  - libext2fs2-devel (for Mandrake), or
+  - lib*ext2fs2-devel (for Mandriva), or
   - e2fslibs-dev (for Debian)
   in this case.
 
@@ -27545,9 +27186,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------------------------------ ##
-## Report this to enrico.scholz@informatik.tu-chemnitz.de ##
-## ------------------------------------------------------ ##
+## --------------------------------------------- ##
+## Report this to vserver@list.linux-vserver.org ##
+## --------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
 done
 
 
+if test x"$ensc_have_dietlibc" = xno; then
+       echo "$as_me:$LINENO: checking for openpty" >&5
+echo $ECHO_N "checking for openpty... $ECHO_C" >&6
+if test "${ac_cv_func_openpty+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define openpty to an innocuous variant, in case <limits.h> declares openpty.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define openpty innocuous_openpty
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char openpty (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef openpty
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char openpty ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_openpty) || defined (__stub___openpty)
+choke me
+#else
+char (*f) () = openpty;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != openpty;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_openpty=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_openpty=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_openpty" >&5
+echo "${ECHO_T}$ac_cv_func_openpty" >&6
+if test $ac_cv_func_openpty = yes; then
+  :
+else
+
+echo "$as_me:$LINENO: checking for openpty in -lutil" >&5
+echo $ECHO_N "checking for openpty in -lutil... $ECHO_C" >&6
+if test "${ac_cv_lib_util_openpty+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lutil  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char openpty ();
+int
+main ()
+{
+openpty ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_util_openpty=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_util_openpty=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_util_openpty" >&5
+echo "${ECHO_T}$ac_cv_lib_util_openpty" >&6
+if test $ac_cv_lib_util_openpty = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBUTIL 1
+_ACEOF
+
+  LIBS="-lutil $LIBS"
+
+else
+  { { echo "$as_me:$LINENO: error:
+****
+**** openpty could not be found
+****" >&5
+echo "$as_me: error:
+****
+**** openpty could not be found
+****" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+
+fi
+
 
 if test x"$ensc_cv_c99_c99compiler" = xyes; then
        ensc_have_beecrypt=yes
@@ -27697,9 +27520,9 @@ echo "$as_me: WARNING: beecrypt/beecrypt.h: proceeding with the preprocessor's r
 echo "$as_me: WARNING: beecrypt/beecrypt.h: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------------------------------ ##
-## Report this to enrico.scholz@informatik.tu-chemnitz.de ##
-## ------------------------------------------------------ ##
+## --------------------------------------------- ##
+## Report this to vserver@list.linux-vserver.org ##
+## --------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
 
 
 
+echo "$as_me:$LINENO: checking for host initscripts" >&5
+echo $ECHO_N "checking for host initscripts... $ECHO_C" >&6
+
+# Check whether --with-initscripts or --without-initscripts was given.
+if test "${with_initscripts+set}" = set; then
+  withval="$with_initscripts"
+
+       case "$withval" in
+       gentoo) ensc_with_init=gentoo;;
+       sysv)   ensc_with_init=sysv;;
+       *)      { { echo "$as_me:$LINENO: error: invalid initscripts value, only gentoo and sysv are supported" >&5
+echo "$as_me: error: invalid initscripts value, only gentoo and sysv are supported" >&2;}
+   { (exit 1); exit 1; }; };;
+       esac
+
+else
+
+       if test -e /etc/gentoo-release; then
+               ensc_with_init=gentoo
+       else
+               ensc_with_init=sysv
+       fi
+
+fi;
+echo "$as_me:$LINENO: result: $ensc_with_init" >&5
+echo "${ECHO_T}$ensc_with_init" >&6
+
+
+if test x"$ensc_with_init" = xgentoo; then
+  HAVE_GENTOO_INIT_TRUE=
+  HAVE_GENTOO_INIT_FALSE='#'
+else
+  HAVE_GENTOO_INIT_TRUE='#'
+  HAVE_GENTOO_INIT_FALSE=
+fi
+
+
+
+if test x"$ensc_with_init" = xsysv; then
+  HAVE_SYSV_INIT_TRUE=
+  HAVE_SYSV_INIT_FALSE='#'
+else
+  HAVE_SYSV_INIT_TRUE='#'
+  HAVE_SYSV_INIT_FALSE=
+fi
+
+
+
 
 cat >>confdefs.h <<\_ACEOF
 #define UTMP_GID 22
@@ -28083,17 +27954,10 @@ echo "$as_me: error: conditional \"ENSC_USE_GLIBC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${HAVE_CVS2CL_TRUE}" && test -z "${HAVE_CVS2CL_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"HAVE_CVS2CL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_CVS2CL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${HAVE_RCS2LOG_TRUE}" && test -z "${HAVE_RCS2LOG_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"HAVE_RCS2LOG\" was never defined.
+if test -z "${HAVE_SVN2CL_TRUE}" && test -z "${HAVE_SVN2CL_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAVE_SVN2CL\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_RCS2LOG\" was never defined.
+echo "$as_me: error: conditional \"HAVE_SVN2CL\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -28115,6 +27979,20 @@ if test -z "${ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE}" && test -z "${ENSC_CAN_BEEC
   { { echo "$as_me:$LINENO: error: conditional \"ENSC_CAN_BEECRYPT_WITH_DIETLIBC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
 echo "$as_me: error: conditional \"ENSC_CAN_BEECRYPT_WITH_DIETLIBC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_GENTOO_INIT_TRUE}" && test -z "${HAVE_GENTOO_INIT_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAVE_GENTOO_INIT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"HAVE_GENTOO_INIT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_SYSV_INIT_TRUE}" && test -z "${HAVE_SYSV_INIT_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAVE_SYSV_INIT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"HAVE_SYSV_INIT\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -28141,7 +28019,6 @@ Paths:
             cfg-Directory: $sysconfdir/vservers
          initrd-Directory: $initrddir
        pkgstate-Directory: $localstatedir/run/vservers
-            Kernelheaders: $kernelincludedir
           vserver-Rootdir: $vserverdir
 "
                        echo "$FEATURES_TXT" >FEATURES.txt
@@ -28417,7 +28294,7 @@ _ASBOX
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by util-vserver $as_me 0.30.208, which was
+This file was extended by util-vserver $as_me 0.30.213, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -28480,7 +28357,7 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-util-vserver config.status 0.30.208
+util-vserver config.status 0.30.213
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -28786,6 +28663,12 @@ s,@NOHUP@,$NOHUP,;t t
 s,@RMMOD@,$RMMOD,;t t
 s,@VCONFIG@,$VCONFIG,;t t
 s,@WGET@,$WGET,;t t
+s,@FILE@,$FILE,;t t
+s,@GZIP@,$GZIP,;t t
+s,@BZIP2@,$BZIP2,;t t
+s,@CPIO@,$CPIO,;t t
+s,@RESTORE@,$RESTORE,;t t
+s,@RSYNC@,$RSYNC,;t t
 s,@DOXYGEN@,$DOXYGEN,;t t
 s,@XSLTP@,$XSLTP,;t t
 s,@XSLTPROC@,$XSLTPROC,;t t
@@ -28797,6 +28680,7 @@ s,@LIB_DEBUG_CPPFLAGS@,$LIB_DEBUG_CPPFLAGS,;t t
 s,@ENSC_USE_EXPENSIVE_TESTS@,$ENSC_USE_EXPENSIVE_TESTS,;t t
 s,@initrddir@,$initrddir,;t t
 s,@RELEASE_CPPFLAGS@,$RELEASE_CPPFLAGS,;t t
+s,@CPP@,$CPP,;t t
 s,@DIET@,$DIET,;t t
 s,@DIETFLAGS@,$DIETFLAGS,;t t
 s,@USE_DIETLIBC_TRUE@,$USE_DIETLIBC_TRUE,;t t
@@ -28812,27 +28696,25 @@ s,@AR@,$AR,;t t
 s,@ac_ct_AR@,$ac_ct_AR,;t t
 s,@RANLIB@,$RANLIB,;t t
 s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@CPP@,$CPP,;t t
 s,@CXXCPP@,$CXXCPP,;t t
 s,@F77@,$F77,;t t
 s,@FFLAGS@,$FFLAGS,;t t
 s,@ac_ct_F77@,$ac_ct_F77,;t t
 s,@LIBTOOL@,$LIBTOOL,;t t
-s,@kernelincludedir@,$kernelincludedir,;t t
 s,@vserverdir@,$vserverdir,;t t
-s,@CVS2CL_TAG@,$CVS2CL_TAG,;t t
-s,@CVS2CL@,$CVS2CL,;t t
-s,@HAVE_CVS2CL_TRUE@,$HAVE_CVS2CL_TRUE,;t t
-s,@HAVE_CVS2CL_FALSE@,$HAVE_CVS2CL_FALSE,;t t
-s,@RCS2LOG@,$RCS2LOG,;t t
-s,@HAVE_RCS2LOG_TRUE@,$HAVE_RCS2LOG_TRUE,;t t
-s,@HAVE_RCS2LOG_FALSE@,$HAVE_RCS2LOG_FALSE,;t t
+s,@SVN2CL@,$SVN2CL,;t t
+s,@HAVE_SVN2CL_TRUE@,$HAVE_SVN2CL_TRUE,;t t
+s,@HAVE_SVN2CL_FALSE@,$HAVE_SVN2CL_FALSE,;t t
 s,@ENSC_ENABLE_INTERNAL_HEADERS_TRUE@,$ENSC_ENABLE_INTERNAL_HEADERS_TRUE,;t t
 s,@ENSC_ENABLE_INTERNAL_HEADERS_FALSE@,$ENSC_ENABLE_INTERNAL_HEADERS_FALSE,;t t
 s,@ENSC_HAVE_BEECRYPT_TRUE@,$ENSC_HAVE_BEECRYPT_TRUE,;t t
 s,@ENSC_HAVE_BEECRYPT_FALSE@,$ENSC_HAVE_BEECRYPT_FALSE,;t t
 s,@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE@,$ENSC_CAN_BEECRYPT_WITH_DIETLIBC_TRUE,;t t
 s,@ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE@,$ENSC_CAN_BEECRYPT_WITH_DIETLIBC_FALSE,;t t
+s,@HAVE_GENTOO_INIT_TRUE@,$HAVE_GENTOO_INIT_TRUE,;t t
+s,@HAVE_GENTOO_INIT_FALSE@,$HAVE_GENTOO_INIT_FALSE,;t t
+s,@HAVE_SYSV_INIT_TRUE@,$HAVE_SYSV_INIT_TRUE,;t t
+s,@HAVE_SYSV_INIT_FALSE@,$HAVE_SYSV_INIT_FALSE,;t t
 s,@LIBOBJS@,$LIBOBJS,;t t
 s,@LTLIBOBJS@,$LTLIBOBJS,;t t
 CEOF
index b5c0f5e..dad7f3d 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: configure.ac,v 1.97 2005/07/15 20:25:06 ensc Exp $
+dnl $Id: configure.ac 2539 2007-05-02 20:11:40Z dhozac $
 
 dnl Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -24,7 +24,7 @@ dnl distribution terms that you use for the rest of that program.
 dnl  
 
 AC_PREREQ(2.57)
-AC_INIT(util-vserver, 0.30.208, enrico.scholz@informatik.tu-chemnitz.de)
+AC_INIT(util-vserver, 0.30.213, vserver@list.linux-vserver.org)
 AC_CONFIG_SRCDIR([src/capchroot.c])
 AC_CONFIG_HEADER([config.h])
 
@@ -57,6 +57,12 @@ ENSC_PATHPROG(NOHUP,     nohup)
 ENSC_PATHPROG(RMMOD,     rmmod)
 ENSC_PATHPROG(VCONFIG,   vconfig,, [See http://www.candelatech.com/~greear/vlan.html; usually this tool is shipped in the 'vconfig' or 'vlan' package of your distribution])
 ENSC_PATHPROG(WGET,      wget)
+ENSC_PATHPROG(FILE,      file,    [file])
+ENSC_PATHPROG(GZIP,      gzip,    [gzip])
+ENSC_PATHPROG(BZIP2,     bzip2,   [bzip2])
+ENSC_PATHPROG(CPIO,      cpio,    [cpio])
+ENSC_PATHPROG(RESTORE,   restore, [restore])
+ENSC_PATHPROG(RSYNC,     rsync,   [rsync])
 
 ENSC_PATHPROG(DOXYGEN,   doxygen,  [:])
 ENSC_PATHPROG(XSLTP,     xsltp,    [:])
@@ -65,7 +71,10 @@ ENSC_PATHPROG(XSLTPROC,  xsltproc, [:])
 
 AM_CONDITIONAL(HAVE_XSLTP,    test "$XSLTP"    != ':')
 AM_CONDITIONAL(HAVE_XSLTPROC, test "$XSLTPROC" != ':')
-       
+
+if test x"$prefix" = x/; then
+       prefix=
+fi     
 
 ENSC_CHECK_CC_FLAG([-std=c99 -Wall -pedantic -W])
 ENSC_CHECK_CXX_FLAG([-ansi   -Wall -pedantic -W -fmessage-length=0])
@@ -110,13 +119,13 @@ fi
 
 AC_MSG_CHECKING([whether to enable expensive tests])
 AC_ARG_ENABLE([expensive-tests],
-             [AC_HELP_STRING([--disable-expensive-tests],
+             [AC_HELP_STRING([--enable-expensive-tests],
                              [disable tests which might be expensive on some systems (default: no)])],
              [case "$enableval" in
                 (yes|no)  use_expensive_tests=$enableval;;
-                (*)       AC_MSG_ERROR(['$enableval' is not a valid value for '--disable-expensive-tests']);;
+                (*)       AC_MSG_ERROR(['$enableval' is not a valid value for '--enable-expensive-tests']);;
               esac],
-              [ use_expensive_tests=yes ])
+              [ use_expensive_tests=no ])
 AC_MSG_RESULT($use_expensive_tests)
 
 AC_SUBST(ENSC_USE_EXPENSIVE_TESTS, "$use_expensive_tests")
@@ -129,6 +138,11 @@ AC_ARG_VAR(CC, [The C compiler])
 ENSC_INITRDDIR(initrddir)
 ENSC_RELEASE(RELEASE_CPPFLAGS)
 
+# HACK: This needs to be before ENSC_DIETLIBC_NEED_COMPAT, or the alternative
+# syscalls will never be enabled for glibc.
+ENSC_SYSCALLNR(vserver,273,[lib/syscall-fallback.h])
+ENSC_SYSCALL
+
 dnl ###########################
 dnl
 dnl {some dietlibc related tests
@@ -137,6 +151,8 @@ dnl
 case $host_cpu in
        (i*86|athlon)   min_diet_ver=0.25;;
        (ia64|hppa*)    min_diet_ver=0.29;;
+       (sparc*)        min_diet_ver=0.30;;
+       (x86_64)        min_diet_ver=0.27;;
        (*)             min_diet_ver=0.28;;
 esac
 
@@ -159,7 +175,6 @@ else
        # below.  Therefore, this macro must not be called earlier.
        enable_static=no
 
-       ENSC_DIETLIBC_SANITYCHECK
        ENSC_DIETLIBC_NEED_COMPAT(USE_DIETLIBC_COMPAT)
 fi
 
@@ -174,9 +189,8 @@ dnl
 dnl ##########################
 
 
-ENSC_KERNEL_HEADERS(kernelincludedir)
 ENSC_UV_VROOTDIR(vserverdir)
-ENSC_CHANGELOG([trunk])
+ENSC_CHANGELOG
 
 
 dnl ##########################
@@ -204,46 +218,64 @@ dnl ##########################
 dnl
 dnl {Check for the APIs to be used
 dnl
+AH_TEMPLATE(VC_ENABLE_API_COMPAT,   [Enable support for compatibility syscall API])
+AH_TEMPLATE(VC_ENABLE_API_LEGACY,   [Enable support for old, /proc parsing API])
+AH_TEMPLATE(VC_ENABLE_API_V11,      [Enable support for API of vserver 1.1.x])
+AH_TEMPLATE(VC_ENABLE_API_FSCOMPAT, [Enable support for filesystem compatibility API])
+AH_TEMPLATE(VC_ENABLE_API_V13OBS,   [Enable support for some obsoleted API of vserver 1.3.x])
+AH_TEMPLATE(VC_ENABLE_API_V13,      [Enable support for API of vserver 1.3.x])
+AH_TEMPLATE(VC_ENABLE_API_NET,      [Enable support for network context API])
+AH_TEMPLATE(VC_ENABLE_API_V21,      [Enable support for API of vserver 2.1.x])
+AH_TEMPLATE(VC_ENABLE_API_OLDPROC,  [Enable API for a backward compatible /proc parsing])
+AH_TEMPLATE(VC_ENABLE_API_OLDUTS,   [Enable API for a backward compatible uts handling])
+
 AC_MSG_CHECKING([for supported APIs])
 AC_ARG_ENABLE([apis],
              [AC_HELP_STRING([--enable-apis=APIS],
-                             [enable support for the given apis; possible values are: legacy,compat,v11,v13,fscompat,net,ALL (default: all except 'legacy')])],
+                             [enable support for the given apis; possible values are: legacy,compat,v11,fscompat,v13obs,v13,net, ALL,NOLEGACY (default: v13,net,v21)])],
               [],
-             [enable_apis=compat,v11,v13,fscompat,net])
+             [enable_apis=v13,net,v21])
 
-test x"$enable_apis" != xALL || enable_apis='legacy,compat,v11,v13,fscompat,net'
+test x"$enable_apis" != xALL      || enable_apis='legacy,compat,v11,fscompat,v13obs,v13,net,v21'
+test x"$enable_apis" != xNOLEGACY || enable_apis='compat,v11,fscompat,v13,net,v21'
 enable_api_oldproc=
 enable_api_olduts=
 old_IFS=$IFS
 IFS=,;
+
 for i in $enable_apis; do
        case "$i" in
-               (compat)        AC_DEFINE(VC_ENABLE_API_COMPAT,   1, [Enable support for compatibility syscall API])
-                               enable_api_oldproc=1
-                               enable_api_olduts=1
+               (compat)        AC_DEFINE(VC_ENABLE_API_COMPAT,   1)
+                               enable_api_oldproc=${enable_api_oldproc:-1}
+                               enable_api_olduts=${enable_api_olduts:-1}
                                ;;
-               (legacy)        AC_DEFINE(VC_ENABLE_API_LEGACY,   1, [Enable support for old, /proc parsing API])
-                               enable_api_old_proc=1
-                               enable_api_olduts=1
+               (legacy)        AC_DEFINE(VC_ENABLE_API_LEGACY,   1)
+                               enable_api_oldproc=${enable_api_oldproc:-1}
+                               enable_api_olduts=${enable_api_olduts:-1}
                                ;;
-               (v11)           AC_DEFINE(VC_ENABLE_API_V11,      1, [Enable support for API of vserver 1.1.x])
-                               enable_api_oldproc=1
-                               enable_api_olduts=1
+               (v11)           AC_DEFINE(VC_ENABLE_API_V11,      1)
+                               enable_api_oldproc=${enable_api_oldproc:-1}
+                               enable_api_olduts=${enable_api_olduts:-1}
                                ;;
-               (v13)           AC_DEFINE(VC_ENABLE_API_V13,      1, [Enable support for API of vserver 1.3.x]);;
-               (net)           AC_DEFINE(VC_ENABLE_API_NET,      1, [Enable support for network context API]);;
-               (fscompat)      AC_DEFINE(VC_ENABLE_API_FSCOMPAT, 1, [Enable support for filesystem compatibility API]);;
+               (fscompat)      AC_DEFINE(VC_ENABLE_API_FSCOMPAT, 1);;
+               (v13obs)        AC_DEFINE(VC_ENABLE_API_V13OBS,   1)
+                               AC_DEFINE(VC_ENABLE_API_V13,      1);;
+               (v13)           AC_DEFINE(VC_ENABLE_API_V13,      1);;
+               (net)           AC_DEFINE(VC_ENABLE_API_NET,      1);;
+               (v21)           AC_DEFINE(VC_ENABLE_API_V21,      1);;
+               (oldproc)       enable_api_oldproc=2;;
+               (olduts)        enable_api_olduts=2;;
                (*)             AC_MSG_ERROR(['$i' is not a supported API]);;
        esac
 done
 IFS=$old_IFS
 if test x"$enable_api_oldproc" != x; then
-       AC_DEFINE(VC_ENABLE_API_OLDPROC, 1, [Enable API for a backward compatible /proc parsing])
-       enable_apis="$enable_apis,oldproc"
+       AC_DEFINE(VC_ENABLE_API_OLDPROC, 1)
+       test x"$enable_api_oldproc" != x2 && enable_apis="$enable_apis,oldproc"
 fi
 if test x"$enable_api_olduts" != x; then
-       AC_DEFINE(VC_ENABLE_API_OLDUTS, 1, [Enable API for a backward compatible uts handling])
-       enable_apis="$enable_apis,olduts"
+       AC_DEFINE(VC_ENABLE_API_OLDUTS, 1)
+       test x"$enable_api_olduts" != x2 && enable_apis="$enable_apis,olduts"
 fi
 AC_MSG_RESULT([$enable_apis])
 dnl
@@ -252,8 +284,6 @@ dnl
 dnl ##########################
 
 
-ENSC_SYSCALLNR(vserver,273)
-ENSC_SYSCALL
 ENSC_CHECK_EXT2FS_HEADER
 AC_CHECK_FUNCS([vserver])
 AC_CHECK_DECLS(MS_MOVE,,,[#include <linux/fs.h>])
@@ -262,6 +292,14 @@ AC_CHECK_TYPES(nid_t,,,[#include <sys/types.h>])
 
 AC_CHECK_HEADERS([sys/capability.h])
 
+dnl vlogin might need -lutil
+if test x"$ensc_have_dietlibc" = xno; then
+       AC_CHECK_FUNC([openpty],, [AC_CHECK_LIB([util], [openpty],, [AC_MSG_ERROR([
+****
+**** openpty could not be found
+****])])])
+fi
+
 
 dnl ########################
 dnl
@@ -299,6 +337,26 @@ dnl
 dnl ########################
 
 
+dnl Check what distro this is, use Gentoo initscripts if appropriate
+AC_MSG_CHECKING([for host initscripts])
+AC_ARG_WITH(initscripts, AC_HELP_STRING([--with-initscripts=TYPE], [force host initscripts; valid values are 'gentoo' and 'sysv' (default: guess)]), [
+       case "$withval" in
+       gentoo) ensc_with_init=gentoo;;
+       sysv)   ensc_with_init=sysv;;
+       *)      AC_MSG_ERROR([invalid initscripts value, only gentoo and sysv are supported]);;
+       esac
+       ], [
+       if test -e /etc/gentoo-release; then
+               ensc_with_init=gentoo
+       else
+               ensc_with_init=sysv
+       fi
+       ])
+AC_MSG_RESULT([$ensc_with_init])
+AM_CONDITIONAL(HAVE_GENTOO_INIT, test x"$ensc_with_init" = xgentoo)
+AM_CONDITIONAL(HAVE_SYSV_INIT, test x"$ensc_with_init" = xsysv)
+
+
 dnl BIG HACK! Do some autodetection here!
 AC_DEFINE(UTMP_GID, [22], [The utmp gid-number])
 
@@ -348,7 +406,6 @@ Paths:
             cfg-Directory: $sysconfdir/vservers
          initrd-Directory: $initrddir
        pkgstate-Directory: $localstatedir/run/vservers
-            Kernelheaders: $kernelincludedir
           vserver-Rootdir: $vserverdir
 "
                        echo "$FEATURES_TXT" >FEATURES.txt
index 10315af..9a9189b 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.5 2005/07/15 16:25:39 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 2457 2007-01-18 07:56:35Z ensc $  -*- makefile -*-
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -30,6 +30,9 @@ EXTRA_DIST +=                         $(contrib_subst_SRCS) \
                                        contrib/yum-2.2.1-chroot.patch \
                                        contrib/yum-2.3.2-chroot.patch \
                                        contrib/yum-2.3.3-chroot.patch \
-                                       contrib/yum-2.3.4-chroot.patch
+                                       contrib/yum-2.3.4-chroot.patch \
+                                       contrib/yum-2.6.0-chroot.patch \
+                                       contrib/yum-2.9.6-chroot.patch \
+                                       contrib/yum-3.0.3-chroot.patch
 
 contrib/manifest.dat:                  contrib/.manifest.dat.pathsubst.stamp
index 6cad263..7e8461d 100644 (file)
@@ -5,19 +5,26 @@ base   @PKGLIBDIR@/functions
 build  @PKGLIBDIR@/vserver-build.apt-rpm
 build  @PKGLIBDIR@/vserver-build.skeleton
 build  @PKGLIBDIR@/vserver-build.debootstrap
+build  @PKGLIBDIR@/vserver-build.fai
 build  @PKGLIBDIR@/vserver-build.yum
 build  @PKGLIBDIR@/vserver-build.rpm
+build  @PKGLIBDIR@/vserver-build.template
+build  @PKGLIBDIR@/vserver-build.rsync
+build  @PKGLIBDIR@/vserver-build.clone
 build  @PKGLIBDIR@/vserver-build.functions
 build  @PKGLIBDIR@/vserver-build.functions.apt
 build  @PKGLIBDIR@/vserver-build.functions.rpm
 build  @PKGLIBDIR@/vserver-build.functions.yum
 build  @PKGLIBDIR@/vserver-build.functions.pkgmgmt
 build  @PKGLIBDIR@/vserver-setup.functions
+build  @PKGLIBDIR@/magic.mime
 base   @PKGLIBDIR@/vserver.functions
 base   @PKGLIBDIR@/vserver.start
 @ENSC_HAVE_C99_COMPILER_TRUE@base   @PKGLIBDIR@/vserver.start.bin
 base   @PKGLIBDIR@/vserver.stop
 base   @PKGLIBDIR@/vserver.suexec
+base   @PKGLIBDIR@/vserver.delete
+sysv   @PKGLIBDIR@/vserver-init.functions
 core   @PKGLIBDIR@/util-vserver-vars
 build  @PKGLIBDIR@/rpm-fake.so
 legacy @LEGACYDIR@/save_s_context
@@ -35,12 +42,16 @@ legacy @LEGACYDIR@/vreboot
 core   @PKGLIBDIR@/FEATURES.txt
 base   @PKGLIBDIR@/defaults/mtab
 base   @PKGLIBDIR@/defaults/vprocunhide-files
+base   @PKGLIBDIR@/defaults/environment
 build  @PKGLIBDIR@/defaults/fstab
 build  @PKGLIBDIR@/defaults/debootstrap.uri
+build  @PKGLIBDIR@/defaults/context.start
+build  @PKGLIBDIR@/defaults/debootstrap.mirror
 @ENSC_HAVE_C99_COMPILER_TRUE@build  @PKGLIBDIR@/defaults/vunify-exclude
 base   @PKGLIBDIR@/capchroot
 base   @PKGLIBDIR@/chain-echo
 core   @PKGLIBDIR@/chcontext-compat
+core   @PKGLIBDIR@/chbind-compat
 base   @PKGLIBDIR@/check-unixfile
 base   @PKGLIBDIR@/chroot-sh
 base   @PKGLIBDIR@/exec-ulimit
@@ -66,10 +77,12 @@ build  @PKGLIBDIR@/vserver-build
 sysv   @PKGLIBDIR@/vserver-wrapper
 base   @PKGLIBDIR@/vshelper
 base   @PKGLIBDIR@/vshelper-sync
+base   @PKGLIBDIR@/vsysctl
 sysv   @PKGLIBDIR@/vsysvwrapper
 @ENSC_HAVE_C99_COMPILER_TRUE@build  @PKGLIBDIR@/vcopy
 @ENSC_HAVE_C99_COMPILER_TRUE@build  @PKGLIBDIR@/vunify
 @ENSC_HAVE_C99_COMPILER_TRUE@build  @PKGLIBDIR@/vhashify
+@ENSC_HAVE_C99_COMPILER_TRUE@build  @PKGLIBDIR@/vclone
 base   @PKGLIBDIR@/vservers.grabinfo.sh
 build  @PKGLIBDIR@/distributions
 devel  @LIBDIR@/pkgconfig/util-vserver.pc
@@ -78,18 +91,24 @@ core   @SBINDIR@/chcontext
 core   @SBINDIR@/chxid
 base   @SBINDIR@/exec-cd
 core   @SBINDIR@/lsxid
+core   @SBINDIR@/naddress
+core   @SBINDIR@/nattribute
+core   @SBINDIR@/ncontext
 core   @SBINDIR@/reducecap
 core   @SBINDIR@/setattr
 core   @SBINDIR@/showattr
 build  @SBINDIR@/vapt-get
-build  @SBINDIR@/vyum
 core   @SBINDIR@/vattribute
 core   @SBINDIR@/vcontext
+core   @SBINDIR@/vdevmap
+build  @SBINDIR@/vdispatch-conf
 core   @SBINDIR@/vdlimit
-core   @SBINDIR@/vnamespace
 base   @SBINDIR@/vdu
+build  @SBINDIR@/vemerge
+build  @SBINDIR@/vesync
 core   @SBINDIR@/vkill
 core   @SBINDIR@/vlimit
+core   @SBINDIR@/vnamespace
 base   @SBINDIR@/vps
 base   @SBINDIR@/vpstree
 build  @SBINDIR@/vrpm
@@ -102,13 +121,15 @@ base   @SBINDIR@/vserver-stat
 base   @SBINDIR@/vsomething
 base   @SBINDIR@/vtop
 core   @SBINDIR@/vuname
+build  @SBINDIR@/vupdateworld
 core   @SBINDIR@/vwait
+build  @SBINDIR@/vyum
 devel  @INCLUDEDIR@/vserver.h
 core   @MANDIR@/*/chbind*
 core   @MANDIR@/*/chcontext*
 core   @MANDIR@/*/reducecap*
 legacy @MANDIR@/*/distrib-info*
-build  @MANDIR@/*/vserver-copy*
+legacy @MANDIR@/*/vserver-copy*
 legacy @MANDIR@/*/rebootmgr*
 legacy @MANDIR@/*/vps.*
 base   @MANDIR@/*/vpstree.*
@@ -125,6 +146,7 @@ legacy @CONFIG@ @INITRDDIR@/v_sshd
 legacy @CONFIG@ @INITRDDIR@/v_xinetd
 sysv   @CONFIG@ @INITRDDIR@/vprocunhide
 sysv   @CONFIG@ @INITRDDIR@/vservers-default
+sysv   @CONFIG@ @INITRDDIR@/util-vserver
 legacy @CONFIG@ @INITRDDIR@/rebootmgr
 legacy @CONFIG@ @INITRDDIR@/vservers-legacy
 legacy @CONFIG_NOREPLACE@ @SYSCONFDIR@/vservers.conf
@@ -139,4 +161,3 @@ core   @SBINDIR@/vcached
 core   @SYSCONFDIR@/cron.d/vcached
 core   @SYSCONFDIR@/logrotate.d/vcached
 legacy  @PKGLIBDIR@/defaults/sample.conf
-@ENSC_HAVE_CXX_COMPILER_TRUE@legacy  @PKGLIBDIR@/vbuild
diff --git a/contrib/yum-2.6.0-chroot.patch b/contrib/yum-2.6.0-chroot.patch
new file mode 100644 (file)
index 0000000..1122668
--- /dev/null
@@ -0,0 +1,183 @@
+--- yum-2.6.0/docs/yum.conf.5.chroot   2006-03-07 04:40:08.000000000 +0100
++++ yum-2.6.0/docs/yum.conf.5  2006-03-26 13:21:35.000000000 +0200
+@@ -23,8 +23,10 @@
+ following options:
+ .IP \fBcachedir\fR
+-Directory where yum should store its cache and db files. The default is
+-`/var/cache/yum'.
++Directory where yum should store its cache and db files. The default
++is `/var/cache/yum'. Unless the prefixes `hostfs://' or `chrootfs://'
++are used, some magic will be applied to determine the real path in
++combination with `--installroot'.
+ .IP \fBkeepcache\fR
+ Either `1' or `0'. Determines whether or not yum keeps the cache
+@@ -40,6 +42,10 @@
+ repositories defined in /etc/yum.conf to form the complete set of repositories
+ that yum will use.
++Unless the prefixes `hostfs://' or `chrootfs://' are used, some magic
++will be applied to determine the real path in combination with
++`--installroot'.
++
+ .IP \fBdebuglevel\fR
+ Debug message output level. Practical range is 0\-10. Default is `2'.
+@@ -47,7 +53,10 @@
+ Error message output level. Practical range is 0\-10. Default is `2'.
+ .IP \fBlogfile\fR
+-Full directory and file name for where yum should write its log file.
++Full directory and file name for where yum should write its log
++file. Unless the prefixes `hostfs://' or `chrootfs://' are used,
++some magic will be applied to determine the real path in combination
++with `--installroot'.
+ .IP \fBgpgcheck\fR
+ Either `1' or `0'. This tells yum whether or not it should perform a GPG
+--- yum-2.6.0/yum/__init__.py.chroot   2006-03-07 05:38:00.000000000 +0100
++++ yum-2.6.0/yum/__init__.py  2006-03-26 13:21:35.000000000 +0200
+@@ -125,8 +125,7 @@
+         # (typically /etc/yum.repos.d and /etc/yum/repos.d)
+         parser = config.IncludedDirConfigParser(vars=self.yumvar)
+         for reposdir in self.conf.reposdir:
+-            if os.path.exists(self.conf.installroot+'/'+reposdir):
+-                reposdir = self.conf.installroot + '/' + reposdir
++            reposdir  = self.conf.getRootedPath(reposdir)
+             if os.path.isdir(reposdir):
+                 #XXX: why can't we just pass the list of files?
+@@ -482,16 +481,14 @@
+             
+         self.log(2, 'Finished')
+         
+-    def doLock(self, lockfile):
++    def doLock(self):
+         """perform the yum locking, raise yum-based exceptions, not OSErrors"""
+         
+         # if we're not root then we don't lock - just return nicely
+         if self.conf.uid != 0:
+             return
+             
+-        root = self.conf.installroot
+-        lockfile = root + '/' + lockfile # lock in the chroot
+-        lockfile = os.path.normpath(lockfile) # get rid of silly preceding extra /
++        lockfile = self.conf.lockfile
+         
+         mypid=str(os.getpid())    
+         while not self._lock(lockfile, mypid, 0644):
+@@ -515,15 +518,14 @@
+                     msg = 'Existing lock %s: another copy is running. Aborting.' % lockfile
+                     raise Errors.LockError(0, msg)
+     
+-    def doUnlock(self, lockfile):
++    def doUnlock(self):
+         """do the unlock for yum"""
+         
+         # if we're not root then we don't lock - just return nicely
+         if self.conf.uid != 0:
+             return
+         
+-        root = self.conf.installroot
+-        lockfile = root + '/' + lockfile # lock in the chroot
++        lockfile=self.conf.lockfile
+         
+         self._unlock(lockfile)
+         
+--- yum-2.6.0/yum/config.py.chroot     2006-03-07 04:40:08.000000000 +0100
++++ yum-2.6.0/yum/config.py    2006-03-26 13:22:41.000000000 +0200
+@@ -450,6 +450,27 @@
+         else:
+             raise Errors.ConfigError, 'No such option %s' % option
++    def getRootedPath(self, path, enforce_default=False, defaults_to_host=False):
++      instroot = getattr(self, 'installroot', None)
++        if instroot==None:
++            return path
++
++        if   path.startswith('hostfs://'):   res = path[9:]
++        elif path.startswith('chrootfs://'): res = instroot + '/' + path[11:]
++        else:
++          tmp = instroot + '/' +path
++
++            if enforce_default:
++                if defaults_to_host:    res = path
++                else:                   res = tmp
++            else:
++                if os.path.exists(tmp): res = tmp
++                elif defaults_to_host:  res = path
++                else:                   res = tmp
++
++      return res
++ 
++ 
+ class EarlyConf(BaseConfig):
+     '''
+     Configuration option definitions for yum.conf's [main] section that are
+@@ -474,6 +495,7 @@
+     cachedir = Option('/var/cache/yum')
+     keepcache = BoolOption(True)
+     logfile = Option('/var/log/yum.log')
++    lockfile = Option('/var/run/yum.pid')
+     reposdir = ListOption(['/etc/yum/repos.d', '/etc/yum.repos.d'])
+     syslog_ident = Option()
+     syslog_facility = Option('LOG_DAEMON')
+@@ -580,9 +602,9 @@
+     yumconf.populate(confparser, 'main')
+     # Apply the installroot to directory options
+-    for option in ('cachedir', 'logfile'):
++    for option in ('cachedir', 'logfile', 'lockfile'):
+         path = getattr(yumconf, option)
+-        setattr(yumconf, option, yumconf.installroot + path)
++        setattr(yumconf, option, yumconf.getRootedPath(path))
+     
+     # Check that plugin paths are all absolute
+     for path in yumconf.pluginpath:
+--- yum-2.6.0/cli.py.chroot    2006-02-22 22:16:13.000000000 +0100
++++ yum-2.6.0/cli.py   2006-03-26 13:21:35.000000000 +0200
+@@ -112,7 +112,7 @@
+                 action="store_true", default=False, 
+                 help="run entirely from cache, don't update cache")
+         self.optparser.add_option("-c", "", dest="conffile", action="store", 
+-                default='/etc/yum.conf', help="config file location", 
++                default=None, help="config file location", 
+                 metavar=' [config file]')
+         self.optparser.add_option("-R", "", dest="sleeptime", action="store", 
+                 type='int', default=None, help="maximum command wait time",
+@@ -165,9 +165,12 @@
+         try: 
+             # If the conf file is inside the  installroot - use that.
+             # otherwise look for it in the normal root
+-            if opts.installroot:
+-                if os.access(opts.installroot+'/'+opts.conffile, os.R_OK):
++            if opts.conffile==None:
++                opts.conffile = '/etc/yum.conf'
++                if opts.installroot and os.access(opts.installroot+'/'+opts.conffile, os.R_OK):
+                     opts.conffile = opts.installroot+'/'+opts.conffile
++
++            if opts.installroot:
+                 root=opts.installroot
+             else:
+                 root = '/'
+--- yum-2.6.0/yummain.py.chroot        2005-12-13 09:35:41.000000000 +0100
++++ yum-2.6.0/yummain.py       2006-03-26 13:21:35.000000000 +0200
+@@ -60,7 +60,7 @@
+     def unlock():
+         try:
+             base.closeRpmDB()
+-            base.doUnlock(YUM_PID_FILE)
++            base.doUnlock()
+         except Errors.LockError, e:
+             sys.exit(200)
+@@ -83,7 +83,7 @@
+     except Errors.YumBaseError, e:
+         exFatal(e)
+     try:
+-        base.doLock(YUM_PID_FILE)
++        base.doLock()
+     except Errors.LockError, e:
+         base.errorlog(0,'%s' % e.msg)
+         sys.exit(200)
diff --git a/contrib/yum-2.9.6-chroot.patch b/contrib/yum-2.9.6-chroot.patch
new file mode 100644 (file)
index 0000000..56b8410
--- /dev/null
@@ -0,0 +1,187 @@
+diff -Nurp yum-2.9.6.orig/cli.py yum-2.9.6/cli.py
+--- yum-2.9.6.orig/cli.py      2006-09-06 06:15:49.000000000 +0200
++++ yum-2.9.6/cli.py   2006-09-25 09:08:06.000000000 +0200
+@@ -123,7 +123,7 @@ yum [options] < update | install | info 
+                 action="store_true", default=False, 
+                 help="run entirely from cache, don't update cache")
+         self.optparser.add_option("-c", "", dest="conffile", action="store", 
+-                default='/etc/yum.conf', help="config file location", 
++                default=None, help="config file location", 
+                 metavar=' [config file]')
+         self.optparser.add_option("-R", "", dest="sleeptime", action="store", 
+                 type='int', default=None, help="maximum command wait time",
+@@ -175,9 +175,12 @@ yum [options] < update | install | info 
+         # If the conf file is inside the  installroot - use that.
+         # otherwise look for it in the normal root
+-        if opts.installroot:
+-            if os.access(opts.installroot+'/'+opts.conffile, os.R_OK):
++        if opts.conffile==None:
++            opts.conffile = '/etc/yum.conf'
++            if opts.installroot and os.access(opts.installroot+'/'+opts.conffile, os.R_OK):
+                 opts.conffile = opts.installroot+'/'+opts.conffile
++        
++        if opts.installroot:
+             root=opts.installroot
+         else:
+             root = '/'
+diff -Nurp yum-2.9.6.orig/docs/yum.conf.5 yum-2.9.6/docs/yum.conf.5
+--- yum-2.9.6.orig/docs/yum.conf.5     2006-06-19 03:28:22.000000000 +0200
++++ yum-2.9.6/docs/yum.conf.5  2006-09-25 09:02:50.000000000 +0200
+@@ -23,8 +23,10 @@ The [main] section must exist for yum to
+ following options:
+ .IP \fBcachedir\fR
+-Directory where yum should store its cache and db files. The default is
+-`/var/cache/yum'.
++Directory where yum should store its cache and db files. The default
++is `/var/cache/yum'. Unless the prefixes `hostfs://' or `chrootfs://'
++are used, some magic will be applied to determine the real path in
++combination with `--installroot'.
+ .IP \fBkeepcache\fR
+ Either `1' or `0'. Determines whether or not yum keeps the cache
+@@ -40,6 +42,10 @@ documented in \fB[repository] options\fR
+ repositories defined in /etc/yum.conf to form the complete set of repositories
+ that yum will use.
++Unless the prefixes `hostfs://' or `chrootfs://' are used, some magic
++will be applied to determine the real path in combination with
++`--installroot'.
++
+ .IP \fBdebuglevel\fR
+ Debug message output level. Practical range is 0\-10. Default is `2'.
+@@ -47,7 +53,10 @@ Debug message output level. Practical ra
+ Error message output level. Practical range is 0\-10. Default is `2'.
+ .IP \fBlogfile\fR
+-Full directory and file name for where yum should write its log file.
++Full directory and file name for where yum should write its log
++file. Unless the prefixes `hostfs://' or `chrootfs://' are used,
++some magic will be applied to determine the real path in combination
++with `--installroot'.
+ .IP \fBgpgcheck\fR
+ Either `1' or `0'. This tells yum whether or not it should perform a GPG
+diff -Nurp yum-2.9.6.orig/yum/config.py yum-2.9.6/yum/config.py
+--- yum-2.9.6.orig/yum/config.py       2006-06-19 03:28:22.000000000 +0200
++++ yum-2.9.6/yum/config.py    2006-09-25 09:12:36.000000000 +0200
+@@ -481,6 +481,26 @@ class StartupConf(BaseConfig):
+     pluginpath = ListOption(['/usr/lib/yum-plugins'])
+     pluginconfpath = ListOption(['/etc/yum/pluginconf.d'])
++    def getRootedPath(self, path, enforce_default=False, defaults_to_host=False):
++        instroot = getattr(self, 'installroot', None)
++        if instroot==None:
++            return path
++
++        if   path.startswith('hostfs://'):   res = path[9:]
++        elif path.startswith('chrootfs://'): res = instroot + '/' + path[11:]
++        else:
++            tmp = instroot + '/' + path
++
++            if enforce_default:
++                if defaults_to_host:    res = path
++                else:                   res = tmp
++            else:
++                if os.path.exists(tmp): res = tmp
++                elif defaults_to_host:  res = path
++                else:                   res = tmp
++
++        return res
++
+ class YumConf(StartupConf):
+     '''
+     Configuration option definitions for yum.conf\'s [main] section.
+@@ -493,6 +513,7 @@ class YumConf(StartupConf):
+     cachedir = Option('/var/cache/yum')
+     keepcache = BoolOption(True)
+     logfile = Option('/var/log/yum.log')
++    lockfile = Option('/var/run/yum.pid')
+     reposdir = ListOption(['/etc/yum/repos.d', '/etc/yum.repos.d'])
+     syslog_ident = Option()
+     syslog_facility = Option('LOG_DAEMON')
+@@ -616,9 +637,9 @@ def readMainConfig(startupconf):
+     yumconf.populate(startupconf._parser, 'main')
+     # Apply the installroot to directory options
+-    for option in ('cachedir', 'logfile'):
++    for option in ('cachedir', 'logfile', 'lockfile'):
+         path = getattr(yumconf, option)
+-        setattr(yumconf, option, yumconf.installroot + path)
++        setattr(yumconf, option, yumconf.getRootedPath(path))
+     
+     # Add in some extra attributes which aren't actually configuration values 
+     yumconf.yumvar = vars
+diff -Nurp yum-2.9.6.orig/yum/__init__.py yum-2.9.6/yum/__init__.py
+--- yum-2.9.6.orig/yum/__init__.py     2006-09-06 06:18:20.000000000 +0200
++++ yum-2.9.6/yum/__init__.py  2006-09-25 09:02:50.000000000 +0200
+@@ -171,8 +171,7 @@ class YumBase(depsolve.Depsolve):
+         # (typically /etc/yum.repos.d and /etc/yum/repos.d)
+         parser = config.IncludedDirConfigParser(vars=self.yumvar)
+         for reposdir in self.conf.reposdir:
+-            if os.path.exists(self.conf.installroot+'/'+reposdir):
+-                reposdir = self.conf.installroot + '/' + reposdir
++            reposdir  = self.conf.getRootedPath(reposdir)
+             if os.path.isdir(reposdir):
+                 #XXX: why can't we just pass the list of files?
+@@ -502,16 +501,14 @@ class YumBase(depsolve.Depsolve):
+             
+         self.verbose_logger.log(logginglevels.INFO_2, 'Finished')
+         
+-    def doLock(self, lockfile):
++    def doLock(self):
+         """perform the yum locking, raise yum-based exceptions, not OSErrors"""
+         
+         # if we're not root then we don't lock - just return nicely
+         if self.conf.uid != 0:
+             return
+             
+-        root = self.conf.installroot
+-        lockfile = root + '/' + lockfile # lock in the chroot
+-        lockfile = os.path.normpath(lockfile) # get rid of silly preceding extra /
++        lockfile = self.conf.lockfile
+         
+         mypid=str(os.getpid())    
+         while not self._lock(lockfile, mypid, 0644):
+@@ -537,15 +540,14 @@ class YumBase(depsolve.Depsolve):
+                     msg = 'Existing lock %s: another copy is running. Aborting.' % lockfile
+                     raise Errors.LockError(0, msg)
+     
+-    def doUnlock(self, lockfile):
++    def doUnlock(self):
+         """do the unlock for yum"""
+         
+         # if we're not root then we don't lock - just return nicely
+         if self.conf.uid != 0:
+             return
+         
+-        root = self.conf.installroot
+-        lockfile = root + '/' + lockfile # lock in the chroot
++        lockfile=self.conf.lockfile
+         
+         self._unlock(lockfile)
+         
+diff -Nurp yum-2.9.6.orig/yummain.py yum-2.9.6/yummain.py
+--- yum-2.9.6.orig/yummain.py  2006-08-19 22:04:33.000000000 +0200
++++ yum-2.9.6/yummain.py       2006-09-25 09:02:50.000000000 +0200
+@@ -62,7 +62,7 @@ def main(args):
+     def unlock():
+         try:
+             base.closeRpmDB()
+-            base.doUnlock(YUM_PID_FILE)
++            base.doUnlock()
+         except Errors.LockError, e:
+             sys.exit(200)
+@@ -88,7 +88,7 @@ def main(args):
+     except Errors.YumBaseError, e:
+         exFatal(e)
+     try:
+-        base.doLock(YUM_PID_FILE)
++        base.doLock()
+     except Errors.LockError, e:
+         logger.critical('%s', e.msg)
+         sys.exit(200)
diff --git a/depcomp b/depcomp
index ffcd540..04701da 100755 (executable)
--- a/depcomp
+++ b/depcomp
@@ -1,7 +1,7 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2005-02-09.22
+scriptversion=2005-07-09.11
 
 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
 
@@ -17,8 +17,8 @@ scriptversion=2005-02-09.22
 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -467,7 +467,8 @@ cpp)
   done
 
   "$@" -E |
-    sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
     sed '$ s: \\$::' > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
index 2368029..852d2e0 100644 (file)
@@ -21,16 +21,22 @@ distribdir =                $(pkglibdir)/distributions
 confdistribdir =       $(confdir)/.distributions
 confdefaultsdir =      $(confdir)/.defaults
 
-defaults_DATA =                misc/debootstrap.uri \
+defaults_DATA =                misc/debootstrap.mirror \
+                       misc/debootstrap.uri \
                        misc/fstab \
                        misc/mtab \
                        misc/vprocunhide-files \
                        misc/vunify-exclude \
+                       misc/environment \
+                       misc/context.start \
                        sample.conf
 
 nobase_distrib_SCRIPTS =  redhat/initpost \
                           redhat/initpre \
-                          redhat/rc.sysinit
+                          redhat/rc.sysinit \
+                          gentoo/initpost \
+                          gentoo/initpre \
+                          etch/initpost
 
 nobase_distrib_DATA    =  defaults/devs \
                           defaults/apt.conf \
@@ -41,19 +47,34 @@ nobase_distrib_DATA =  defaults/devs \
                           fc1/apt/rpmpriorities    fc1/pkgs/01    fc1/pkgs/02 \
                           fc2/apt/rpmpriorities    fc2/pkgs/01    fc2/pkgs/02 \
                           fc3/apt/rpmpriorities    fc3/pkgs/01    fc3/pkgs/02    fc3/pkgs/03 \
-                          fc3/yum/yum.conf $(wildcard fc3/yum.repos.d/fedora*.repo) \
+                          fc3/yum/yum.conf $(wildcard fc3/yum.repos.d/*.repo) \
                           $(wildcard fc3/rpmlist.d/*.lst) $(wildcard fc3/rpmlist.d/*.opt) \
                           fc4/apt/rpmpriorities    fc4/pkgs/01    fc4/pkgs/02    fc4/pkgs/03 \
-                          fc4/yum/yum.conf $(wildcard fc4/yum.repos.d/fedora*.repo) \
+                          fc4/yum/yum.conf $(wildcard fc4/yum.repos.d/*.repo) \
                           $(wildcard fc4/rpmlist.d/*.lst) $(wildcard fc4/rpmlist.d/*.opt) \
+                          fc5/apt/rpmpriorities    fc5/pkgs/01    fc5/pkgs/02    fc5/pkgs/03 \
+                          fc5/yum/yum.conf $(wildcard fc5/yum.repos.d/*.repo) \
+                          $(wildcard fc5/rpmlist.d/*.lst) $(wildcard fc5/rpmlist.d/*.opt) \
+                          fc6/apt/rpmpriorities    fc6/pkgs/01    fc6/pkgs/02    fc6/pkgs/03 \
+                          fc6/yum/yum.conf $(wildcard fc6/yum.repos.d/*.repo) \
+                          $(wildcard fc6/rpmlist.d/*.lst) $(wildcard fc6/rpmlist.d/*.opt) \
+                          centos4/pkgs/01 centos4/pkgs/02 centos4/pkgs/03 \
+                          centos4/yum/yum.conf $(wildcard centos4/yum.repos.d/*.repo) \
+                          centos5/pkgs/01 centos5/pkgs/02 centos5/pkgs/03 \
+                          centos5/yum/yum.conf $(wildcard centos5/yum.repos.d/*.repo) \
                           suse91/apt/rpmpriorities suse91/pkgs/01 suse91/pkgs/02 \
-                          suse91/rpm/macros
+                          suse91/rpm/macros \
+                          gentoo/init-vserver.sh gentoo/net.vserver \
+                          gentoo/reboot.sh gentoo/shutdown.sh \
+                          etch/vserver-config.sh
 
 nobase_confdistrib_DATA        =  rh9/apt/sources.list \
                           fc1/apt/sources.list \
                           fc2/apt/sources.list \
                           fc3/apt/sources.list \
                           fc4/apt/sources.list \
+                          fc5/apt/sources.list \
+                          fc6/apt/sources.list \
                           suse91/apt/sources.list
 
 AM_INSTALLCHECK_STD_OPTIONS_EXEMPT \
@@ -64,7 +85,7 @@ EXTRA_DIST            =  $(nobase_distrib_DATA) \
                           $(nobase_confdistrib_DATA) \
                           $(defaults_DATA)
 
-redhat_style           =  rh9 fc1 fc2 fc3 fc4
+redhat_style           =  rh9 fc1 fc2 fc3 fc4 fc5 fc6 centos4 centos5
 
 install-exec-hook:     install-notify-xtra
 install-data-hook:     install-data-xtras
index 344547c..e5f098f 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -48,7 +48,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ensc_cflags.m4 \
        $(top_srcdir)/m4/ensc_dietlibc_compat.m4 \
        $(top_srcdir)/m4/ensc_e2fscheck.m4 \
        $(top_srcdir)/m4/ensc_initrddir.m4 \
-       $(top_srcdir)/m4/ensc_kerneldir.m4 \
        $(top_srcdir)/m4/ensc_pathprog.m4 \
        $(top_srcdir)/m4/ensc_personality.m4 \
        $(top_srcdir)/m4/ensc_release.m4 \
@@ -88,6 +87,7 @@ AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
+BZIP2 = @BZIP2@
 CAT = @CAT@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
@@ -95,10 +95,9 @@ CFLAGS = @CFLAGS@
 CHOWN = @CHOWN@
 CMP = @CMP@
 CP = @CP@
+CPIO = @CPIO@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
-CVS2CL = @CVS2CL@
-CVS2CL_TAG = @CVS2CL_TAG@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -135,12 +134,16 @@ ENV = @ENV@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
+FILE = @FILE@
 GPG_KEY = @GPG_KEY@
 GREP = @GREP@
-HAVE_CVS2CL_FALSE = @HAVE_CVS2CL_FALSE@
-HAVE_CVS2CL_TRUE = @HAVE_CVS2CL_TRUE@
-HAVE_RCS2LOG_FALSE = @HAVE_RCS2LOG_FALSE@
-HAVE_RCS2LOG_TRUE = @HAVE_RCS2LOG_TRUE@
+GZIP = @GZIP@
+HAVE_GENTOO_INIT_FALSE = @HAVE_GENTOO_INIT_FALSE@
+HAVE_GENTOO_INIT_TRUE = @HAVE_GENTOO_INIT_TRUE@
+HAVE_SVN2CL_FALSE = @HAVE_SVN2CL_FALSE@
+HAVE_SVN2CL_TRUE = @HAVE_SVN2CL_TRUE@
+HAVE_SYSV_INIT_FALSE = @HAVE_SYSV_INIT_FALSE@
+HAVE_SYSV_INIT_TRUE = @HAVE_SYSV_INIT_TRUE@
 HAVE_XSLTPROC_FALSE = @HAVE_XSLTPROC_FALSE@
 HAVE_XSLTPROC_TRUE = @HAVE_XSLTPROC_TRUE@
 HAVE_XSLTP_FALSE = @HAVE_XSLTP_FALSE@
@@ -187,16 +190,18 @@ PYTHON_PLATFORM = @PYTHON_PLATFORM@
 PYTHON_PREFIX = @PYTHON_PREFIX@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
-RCS2LOG = @RCS2LOG@
 RELEASE_CPPFLAGS = @RELEASE_CPPFLAGS@
+RESTORE = @RESTORE@
 RM = @RM@
 RMDIR = @RMDIR@
 RMMOD = @RMMOD@
+RSYNC = @RSYNC@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SH = @SH@
 SHELL = @SHELL@
 STRIP = @STRIP@
+SVN2CL = @SVN2CL@
 TAC = @TAC@
 TAR = @TAR@
 TOUCH = @TOUCH@
@@ -244,7 +249,6 @@ includedir = @includedir@
 infodir = @infodir@
 initrddir = @initrddir@
 install_sh = @install_sh@
-kernelincludedir = @kernelincludedir@
 libdir = @libdir@
 libexecdir = @libexecdir@
 localstatedir = @localstatedir@
@@ -267,16 +271,22 @@ defaultsdir = $(pkglibdir)/defaults
 distribdir = $(pkglibdir)/distributions
 confdistribdir = $(confdir)/.distributions
 confdefaultsdir = $(confdir)/.defaults
-defaults_DATA = misc/debootstrap.uri \
+defaults_DATA = misc/debootstrap.mirror \
+                       misc/debootstrap.uri \
                        misc/fstab \
                        misc/mtab \
                        misc/vprocunhide-files \
                        misc/vunify-exclude \
+                       misc/environment \
+                       misc/context.start \
                        sample.conf
 
 nobase_distrib_SCRIPTS = redhat/initpost \
                           redhat/initpre \
-                          redhat/rc.sysinit
+                          redhat/rc.sysinit \
+                          gentoo/initpost \
+                          gentoo/initpre \
+                          etch/initpost
 
 nobase_distrib_DATA = defaults/devs \
                           defaults/apt.conf \
@@ -287,19 +297,34 @@ nobase_distrib_DATA = defaults/devs \
                           fc1/apt/rpmpriorities    fc1/pkgs/01    fc1/pkgs/02 \
                           fc2/apt/rpmpriorities    fc2/pkgs/01    fc2/pkgs/02 \
                           fc3/apt/rpmpriorities    fc3/pkgs/01    fc3/pkgs/02    fc3/pkgs/03 \
-                          fc3/yum/yum.conf $(wildcard fc3/yum.repos.d/fedora*.repo) \
+                          fc3/yum/yum.conf $(wildcard fc3/yum.repos.d/*.repo) \
                           $(wildcard fc3/rpmlist.d/*.lst) $(wildcard fc3/rpmlist.d/*.opt) \
                           fc4/apt/rpmpriorities    fc4/pkgs/01    fc4/pkgs/02    fc4/pkgs/03 \
-                          fc4/yum/yum.conf $(wildcard fc4/yum.repos.d/fedora*.repo) \
+                          fc4/yum/yum.conf $(wildcard fc4/yum.repos.d/*.repo) \
                           $(wildcard fc4/rpmlist.d/*.lst) $(wildcard fc4/rpmlist.d/*.opt) \
+                          fc5/apt/rpmpriorities    fc5/pkgs/01    fc5/pkgs/02    fc5/pkgs/03 \
+                          fc5/yum/yum.conf $(wildcard fc5/yum.repos.d/*.repo) \
+                          $(wildcard fc5/rpmlist.d/*.lst) $(wildcard fc5/rpmlist.d/*.opt) \
+                          fc6/apt/rpmpriorities    fc6/pkgs/01    fc6/pkgs/02    fc6/pkgs/03 \
+                          fc6/yum/yum.conf $(wildcard fc6/yum.repos.d/*.repo) \
+                          $(wildcard fc6/rpmlist.d/*.lst) $(wildcard fc6/rpmlist.d/*.opt) \
+                          centos4/pkgs/01 centos4/pkgs/02 centos4/pkgs/03 \
+                          centos4/yum/yum.conf $(wildcard centos4/yum.repos.d/*.repo) \
+                          centos5/pkgs/01 centos5/pkgs/02 centos5/pkgs/03 \
+                          centos5/yum/yum.conf $(wildcard centos5/yum.repos.d/*.repo) \
                           suse91/apt/rpmpriorities suse91/pkgs/01 suse91/pkgs/02 \
-                          suse91/rpm/macros
+                          suse91/rpm/macros \
+                          gentoo/init-vserver.sh gentoo/net.vserver \
+                          gentoo/reboot.sh gentoo/shutdown.sh \
+                          etch/vserver-config.sh
 
 nobase_confdistrib_DATA = rh9/apt/sources.list \
                           fc1/apt/sources.list \
                           fc2/apt/sources.list \
                           fc3/apt/sources.list \
                           fc4/apt/sources.list \
+                          fc5/apt/sources.list \
+                          fc6/apt/sources.list \
                           suse91/apt/sources.list
 
 EXTRA_DIST = $(nobase_distrib_DATA) \
@@ -307,7 +332,7 @@ EXTRA_DIST = $(nobase_distrib_DATA) \
                           $(nobase_confdistrib_DATA) \
                           $(defaults_DATA)
 
-redhat_style = rh9 fc1 fc2 fc3 fc4
+redhat_style = rh9 fc1 fc2 fc3 fc4 fc5 fc6 centos4 centos5
 all: all-am
 
 .SUFFIXES:
@@ -454,7 +479,7 @@ CTAGS:
 
 
 distdir: $(DISTFILES)
-       $(mkdir_p) $(distdir)/../m4 $(distdir)/defaults $(distdir)/defaults/apt $(distdir)/defaults/rpm $(distdir)/fc1/apt $(distdir)/fc1/pkgs $(distdir)/fc2/apt $(distdir)/fc2/pkgs $(distdir)/fc3/apt $(distdir)/fc3/pkgs $(distdir)/fc3/rpmlist.d $(distdir)/fc3/yum $(distdir)/fc3/yum.repos.d $(distdir)/fc4/apt $(distdir)/fc4/pkgs $(distdir)/fc4/rpmlist.d $(distdir)/fc4/yum $(distdir)/fc4/yum.repos.d $(distdir)/misc $(distdir)/redhat $(distdir)/rh9/apt $(distdir)/rh9/pkgs $(distdir)/suse91/apt $(distdir)/suse91/pkgs $(distdir)/suse91/rpm $(distdir)/template
+       $(mkdir_p) $(distdir)/../m4 $(distdir)/centos4/pkgs $(distdir)/centos4/yum $(distdir)/centos4/yum.repos.d $(distdir)/centos5/pkgs $(distdir)/centos5/yum $(distdir)/centos5/yum.repos.d $(distdir)/defaults $(distdir)/defaults/apt $(distdir)/defaults/rpm $(distdir)/etch $(distdir)/fc1/apt $(distdir)/fc1/pkgs $(distdir)/fc2/apt $(distdir)/fc2/pkgs $(distdir)/fc3/apt $(distdir)/fc3/pkgs $(distdir)/fc3/rpmlist.d $(distdir)/fc3/yum $(distdir)/fc3/yum.repos.d $(distdir)/fc4/apt $(distdir)/fc4/pkgs $(distdir)/fc4/rpmlist.d $(distdir)/fc4/yum $(distdir)/fc4/yum.repos.d $(distdir)/fc5/apt $(distdir)/fc5/pkgs $(distdir)/fc5/rpmlist.d $(distdir)/fc5/yum $(distdir)/fc5/yum.repos.d $(distdir)/fc6/apt $(distdir)/fc6/pkgs $(distdir)/fc6/rpmlist.d $(distdir)/fc6/yum $(distdir)/fc6/yum.repos.d $(distdir)/gentoo $(distdir)/misc $(distdir)/redhat $(distdir)/rh9/apt $(distdir)/rh9/pkgs $(distdir)/suse91/apt $(distdir)/suse91/pkgs $(distdir)/suse91/rpm $(distdir)/template
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
diff --git a/distrib/centos4/pkgs/01 b/distrib/centos4/pkgs/01
new file mode 100644 (file)
index 0000000..1a5ef72
--- /dev/null
@@ -0,0 +1 @@
+glibc
diff --git a/distrib/centos4/pkgs/02 b/distrib/centos4/pkgs/02
new file mode 100644 (file)
index 0000000..9ec5d2b
--- /dev/null
@@ -0,0 +1,3 @@
+--reinstall
+
+filesystem
diff --git a/distrib/centos4/pkgs/03 b/distrib/centos4/pkgs/03
new file mode 100644 (file)
index 0000000..64ab4a7
--- /dev/null
@@ -0,0 +1,2 @@
+coreutils
+setup
diff --git a/distrib/centos4/yum.repos.d/CentOS-Base.repo b/distrib/centos4/yum.repos.d/CentOS-Base.repo
new file mode 100644 (file)
index 0000000..5c1dae3
--- /dev/null
@@ -0,0 +1,50 @@
+[base]
+name=CentOS-4 - Base
+baseurl=http://mirror.centos.org/centos/4/os/$basearch/
+gpgcheck=1
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#released updates 
+[update]
+name=CentOS-4 - Updates
+baseurl=http://mirror.centos.org/centos/4/updates/$basearch/
+gpgcheck=1
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#packages used/produced in the build but not released
+[addons]
+name=CentOS-4 - Addons
+baseurl=http://mirror.centos.org/centos/4/addons/$basearch/
+gpgcheck=1
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#additional packages that may be useful
+[extras]
+name=CentOS-4 - Extras
+baseurl=http://mirror.centos.org/centos/4/extras/$basearch/
+gpgcheck=1
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#additional packages that extend functionality of existing packages
+[centosplus]
+name=CentOS-4 - Plus
+baseurl=http://mirror.centos.org/centos/4/centosplus/$basearch/
+gpgcheck=1
+enabled=0
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#contrib - packages by Centos Users
+[contrib]
+name=CentOS-4 - Contrib
+baseurl=http://mirror.centos.org/centos/4/contrib/$basearch/
+gpgcheck=1
+enabled=0
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#packages in testing
+[testing]
+name=CentOS-4 - Testing
+baseurl=http://mirror.centos.org/centos/4/testing/$basearch/
+gpgcheck=1
+enabled=0
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
diff --git a/distrib/centos4/yum/yum.conf b/distrib/centos4/yum/yum.conf
new file mode 100644 (file)
index 0000000..952f111
--- /dev/null
@@ -0,0 +1,10 @@
+[main]
+cachedir=@YUMCACHEDIR@
+reposdir=@YUMETCDIR@/yum.repos.d
+debuglevel=1
+logfile=@YUMLOGDIR@/log
+lockfile=@YUMLOCKDIR@/yum.pid
+pkgpolicy=newest
+distroverpkg=centos-release
+installonlypkgs=
+exactarch=0
index 814df15..1d21cd1 100644 (file)
@@ -6,3 +6,5 @@ logfile=@YUMLOGDIR@/log
 lockfile=@YUMLOCKDIR@/yum.pid
 pkgpolicy=newest
 distroverpkg=fedora-release
+installonlypkgs=
+exactarch=0
index 814df15..1d21cd1 100644 (file)
@@ -6,3 +6,5 @@ logfile=@YUMLOGDIR@/log
 lockfile=@YUMLOCKDIR@/yum.pid
 pkgpolicy=newest
 distroverpkg=fedora-release
+installonlypkgs=
+exactarch=0
diff --git a/distrib/fc5/apt/rpmpriorities b/distrib/fc5/apt/rpmpriorities
new file mode 100644 (file)
index 0000000..f4a90e2
--- /dev/null
@@ -0,0 +1,7 @@
+Essential:
+  basesystem
+  coreutils
+  filesystem
+  glibc
+  setup
+  fedora-release
diff --git a/distrib/fc5/apt/sources.list b/distrib/fc5/apt/sources.list
new file mode 100644 (file)
index 0000000..b833d31
--- /dev/null
@@ -0,0 +1,7 @@
+# rpm     http://ftp.ultra.csn.tu-chemnitz.de/pub/mirror/fedora/core/.apt      3/i386  os patches updates
+
+# rpm  ftp://ftp.ussg.iu.edu/pub/linux/fedora/fedora/fedora                    3/i386  os updates
+# rpm  ftp://ftp.tu-chemnitz.de/pub/linux/fedora/fedora                        3/i386  os updates
+# rpm  http://mirrors.usc.edu/pub/linux/fedora/fedora/fedora                   3/i386  os updates
+# rpm  http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/fedora/fedora    3/i386  os updates
+# rpm  http://download.fedora.us/fedora/fedora                                 3/i386  os updates
diff --git a/distrib/fc5/pkgs/01 b/distrib/fc5/pkgs/01
new file mode 100644 (file)
index 0000000..1a5ef72
--- /dev/null
@@ -0,0 +1 @@
+glibc
diff --git a/distrib/fc5/pkgs/02 b/distrib/fc5/pkgs/02
new file mode 100644 (file)
index 0000000..9ec5d2b
--- /dev/null
@@ -0,0 +1,3 @@
+--reinstall
+
+filesystem
diff --git a/distrib/fc5/pkgs/03 b/distrib/fc5/pkgs/03
new file mode 100644 (file)
index 0000000..218b1e6
--- /dev/null
@@ -0,0 +1,2 @@
+coreutils
+initscripts
diff --git a/distrib/fc5/rpmlist.d/00.lst b/distrib/fc5/rpmlist.d/00.lst
new file mode 100644 (file)
index 0000000..85a9617
--- /dev/null
@@ -0,0 +1,7 @@
+basesystem-*.rpm
+filesystem-*.rpm
+glibc-common-*.rpm
+glibc-[0-9]*.rpm
+libgcc-[0-9]*.rpm
+setup-*.rpm
+tzdata-*.rpm
diff --git a/distrib/fc5/yum.repos.d/fedora-core.repo b/distrib/fc5/yum.repos.d/fedora-core.repo
new file mode 100644 (file)
index 0000000..7a5101a
--- /dev/null
@@ -0,0 +1,21 @@
+[core]
+name=Fedora Core 5 - $basearch
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/5/$basearch/os/
+mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-5
+enabled=1
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY
+
+[core-debuginfo]
+name=Fedora Core 5 - $basearch - Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/5/$basearch/debug/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY
+
+[core-source]
+name=Fedora Core 5 - Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/5/source/SRPMS/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY
diff --git a/distrib/fc5/yum.repos.d/fedora-development.repo b/distrib/fc5/yum.repos.d/fedora-development.repo
new file mode 100644 (file)
index 0000000..12ea285
--- /dev/null
@@ -0,0 +1,44 @@
+# These packages are untested and still under development. This
+# repository is used for updates to test releases, and for
+# development of new releases.
+#
+# This repository can see significant daily turnover and major
+# functionality changes which cause unexpected problems with other
+# development packages. Please use these packages if you want to work
+# with the Fedora developers by testing these new development packages.
+#
+# fedora-test-list@redhat.com is available as a discussion forum for
+# testing and troubleshooting for development packages in conjunction
+# with new test releases.
+#
+# fedora-devel-list@redhat.com is available as a discussion forum for
+# testing and troubleshooting for development packages in conjunction
+# with developing new releases.
+#
+# More information is available at http://fedoraproject.org/wiki/Testing 
+#
+# Reproducible and reportable issues should be filed at
+# http://bugzilla.redhat.com/.
+#
+# Product: Fedora Core
+# Version: devel
+
+[development]
+name=Fedora Core - Development
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/
+mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-rawhide
+enabled=0
+gpgcheck=0
+
+[development-debuginfo]
+name=Fedora Core - Development - Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/debug/
+enabled=0
+gpgcheck=0
+
+[development-source]
+name=Fedora Core - Development - Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/SRPMS/
+enabled=0
+gpgcheck=0
+
diff --git a/distrib/fc5/yum.repos.d/fedora-extras-development.repo b/distrib/fc5/yum.repos.d/fedora-extras-development.repo
new file mode 100644 (file)
index 0000000..7c87c3e
--- /dev/null
@@ -0,0 +1,21 @@
+[extras-development]
+name=Fedora Extras - Development Tree
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/$basearch/
+mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-devel
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-development-debuginfo]
+name=Fedora Extras - Development - Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/$basearch/debug/
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-development-source]
+name=Fedora Extras - Development - Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/SRPMS/
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
diff --git a/distrib/fc5/yum.repos.d/fedora-extras.repo b/distrib/fc5/yum.repos.d/fedora-extras.repo
new file mode 100644 (file)
index 0000000..480a6eb
--- /dev/null
@@ -0,0 +1,21 @@
+[extras]
+name=Fedora Extras 5 - $basearch
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/5/$basearch/
+mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-5
+enabled=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-debuginfo]
+name=Fedora Extras 5 - $basearch - Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/5/$basearch/debug/
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-source]
+name=Fedora Extras 5 - Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/5/SRPMS/
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
diff --git a/distrib/fc5/yum.repos.d/fedora-legacy.repo b/distrib/fc5/yum.repos.d/fedora-legacy.repo
new file mode 100644 (file)
index 0000000..724155a
--- /dev/null
@@ -0,0 +1,13 @@
+[legacy-updates]
+name=Fedora Legacy 5 - $basearch - Updates
+mirrorlist=http://fedora.redhat.com/download/mirrors/legacy-updates-released-fc5
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-legacy
+
+[legacy-testing]
+name=Fedora Legacy 5 - $basearch - Updates Testing
+mirrorlist=http://fedora.redhat.com/download/mirrors/legacy-updates-testing-fc5
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-legacy
diff --git a/distrib/fc5/yum.repos.d/fedora-updates-testing.repo b/distrib/fc5/yum.repos.d/fedora-updates-testing.repo
new file mode 100644 (file)
index 0000000..7ee19f3
--- /dev/null
@@ -0,0 +1,21 @@
+[updates-testing]
+name=Fedora Core 5 - $basearch - Test Updates
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/5/$basearch/
+mirrorlist=http://fedora.redhat.com/download/mirrors/updates-testing-fc5
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-test
+
+[updates-testing-debuginfo]
+name=Fedora Core 5 - $basearch - Test Updates Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/5/$basearch/debug/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-test
+
+[updates-testing-source]
+name=Fedora Core 5 - Test Updates Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/5/SRPMS/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-test
diff --git a/distrib/fc5/yum.repos.d/fedora-updates.repo b/distrib/fc5/yum.repos.d/fedora-updates.repo
new file mode 100644 (file)
index 0000000..e25ebf7
--- /dev/null
@@ -0,0 +1,21 @@
+[updates]
+name=Fedora Core 5 - $basearch - Updates
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/5/$basearch/
+mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc5
+enabled=1
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora
+
+[updates-debuginfo]
+name=Fedora Core 5 - $basearch - Updates - Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/5/$basearch/debug/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora
+
+[updates-source]
+name=Fedora Core 5 - Updates Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/5/SRPMS/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora
diff --git a/distrib/fc5/yum/yum.conf b/distrib/fc5/yum/yum.conf
new file mode 100644 (file)
index 0000000..1d21cd1
--- /dev/null
@@ -0,0 +1,10 @@
+[main]
+cachedir=@YUMCACHEDIR@
+reposdir=@YUMETCDIR@/yum.repos.d
+debuglevel=1
+logfile=@YUMLOGDIR@/log
+lockfile=@YUMLOCKDIR@/yum.pid
+pkgpolicy=newest
+distroverpkg=fedora-release
+installonlypkgs=
+exactarch=0
diff --git a/distrib/fc6/apt/rpmpriorities b/distrib/fc6/apt/rpmpriorities
new file mode 100644 (file)
index 0000000..f4a90e2
--- /dev/null
@@ -0,0 +1,7 @@
+Essential:
+  basesystem
+  coreutils
+  filesystem
+  glibc
+  setup
+  fedora-release
diff --git a/distrib/fc6/apt/sources.list b/distrib/fc6/apt/sources.list
new file mode 100644 (file)
index 0000000..b833d31
--- /dev/null
@@ -0,0 +1,7 @@
+# rpm     http://ftp.ultra.csn.tu-chemnitz.de/pub/mirror/fedora/core/.apt      3/i386  os patches updates
+
+# rpm  ftp://ftp.ussg.iu.edu/pub/linux/fedora/fedora/fedora                    3/i386  os updates
+# rpm  ftp://ftp.tu-chemnitz.de/pub/linux/fedora/fedora                        3/i386  os updates
+# rpm  http://mirrors.usc.edu/pub/linux/fedora/fedora/fedora                   3/i386  os updates
+# rpm  http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/fedora/fedora    3/i386  os updates
+# rpm  http://download.fedora.us/fedora/fedora                                 3/i386  os updates
diff --git a/distrib/fc6/pkgs/01 b/distrib/fc6/pkgs/01
new file mode 100644 (file)
index 0000000..1a5ef72
--- /dev/null
@@ -0,0 +1 @@
+glibc
diff --git a/distrib/fc6/pkgs/02 b/distrib/fc6/pkgs/02
new file mode 100644 (file)
index 0000000..9ec5d2b
--- /dev/null
@@ -0,0 +1,3 @@
+--reinstall
+
+filesystem
diff --git a/distrib/fc6/pkgs/03 b/distrib/fc6/pkgs/03
new file mode 100644 (file)
index 0000000..218b1e6
--- /dev/null
@@ -0,0 +1,2 @@
+coreutils
+initscripts
diff --git a/distrib/fc6/rpmlist.d/00.lst b/distrib/fc6/rpmlist.d/00.lst
new file mode 100644 (file)
index 0000000..85a9617
--- /dev/null
@@ -0,0 +1,7 @@
+basesystem-*.rpm
+filesystem-*.rpm
+glibc-common-*.rpm
+glibc-[0-9]*.rpm
+libgcc-[0-9]*.rpm
+setup-*.rpm
+tzdata-*.rpm
diff --git a/distrib/fc6/yum.repos.d/fedora-core.repo b/distrib/fc6/yum.repos.d/fedora-core.repo
new file mode 100644 (file)
index 0000000..56b4318
--- /dev/null
@@ -0,0 +1,23 @@
+[core]
+name=Fedora Core 6 - $basearch
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/6/$basearch/os/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=core-6&arch=$basearch
+enabled=1
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY
+
+[core-debuginfo]
+name=Fedora Core 6 - $basearch - Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/6/$basearch/debug/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=core-debug-6&arch=$basearch
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY
+
+[core-source]
+name=Fedora Core 6 - Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/6/source/SRPMS/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=core-source-6&arch=$basearch
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY
diff --git a/distrib/fc6/yum.repos.d/fedora-development.repo b/distrib/fc6/yum.repos.d/fedora-development.repo
new file mode 100644 (file)
index 0000000..6dd04d7
--- /dev/null
@@ -0,0 +1,46 @@
+# These packages are untested and still under development. This
+# repository is used for updates to test releases, and for
+# development of new releases.
+#
+# This repository can see significant daily turnover and major
+# functionality changes which cause unexpected problems with other
+# development packages. Please use these packages if you want to work
+# with the Fedora developers by testing these new development packages.
+#
+# fedora-test-list@redhat.com is available as a discussion forum for
+# testing and troubleshooting for development packages in conjunction
+# with new test releases.
+#
+# fedora-devel-list@redhat.com is available as a discussion forum for
+# testing and troubleshooting for development packages in conjunction
+# with developing new releases.
+#
+# More information is available at http://fedoraproject.org/wiki/Testing 
+#
+# Reproducible and reportable issues should be filed at
+# http://bugzilla.redhat.com/.
+#
+# Product: Fedora Core
+# Version: devel
+
+[development]
+name=Fedora Core - Development
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/os/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch
+enabled=0
+gpgcheck=0
+
+[development-debuginfo]
+name=Fedora Core - Development - Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/debug/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide-debug&arch=$basearch
+enabled=0
+gpgcheck=0
+
+[development-source]
+name=Fedora Core - Development - Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/source/SRPMS/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide-source&arch=$basearch
+enabled=0
+gpgcheck=0
+
diff --git a/distrib/fc6/yum.repos.d/fedora-extras-development.repo b/distrib/fc6/yum.repos.d/fedora-extras-development.repo
new file mode 100644 (file)
index 0000000..4f2a5fc
--- /dev/null
@@ -0,0 +1,34 @@
+# These packages are untested and still under development. This
+# repository is used for updates to test releases, and for
+# development of new releases.
+#
+# This repository can see significant daily turnover and major
+# functionality changes which cause unexpected problems with other
+# development packages. Please use these packages if you want to work
+# with the Fedora developers by testing these new development packages.
+#
+# More information is available at http://fedoraproject.org/wiki/Testing
+
+[extras-development]
+name=Fedora Extras - Development Tree
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/$basearch/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-devel&arch=$basearch
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-development-debuginfo]
+name=Fedora Extras - Development - Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/$basearch/debug/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-devel-debug&arch=$basearch
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-development-source]
+name=Fedora Extras - Development - Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/SRPMS/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-devel-source&arch=$basearch
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
diff --git a/distrib/fc6/yum.repos.d/fedora-extras.repo b/distrib/fc6/yum.repos.d/fedora-extras.repo
new file mode 100644 (file)
index 0000000..b7d42ad
--- /dev/null
@@ -0,0 +1,23 @@
+[extras]
+name=Fedora Extras 6 - $basearch
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/6/$basearch/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-6&arch=$basearch
+enabled=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-debuginfo]
+name=Fedora Extras 6 - $basearch - Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/6/$basearch/debug/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-debug-6&arch=$basearch
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-source]
+name=Fedora Extras 6 - Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/6/SRPMS/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-source-6&arch=$basearch
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
diff --git a/distrib/fc6/yum.repos.d/fedora-legacy.repo b/distrib/fc6/yum.repos.d/fedora-legacy.repo
new file mode 100644 (file)
index 0000000..1dc6e2d
--- /dev/null
@@ -0,0 +1,13 @@
+[legacy-updates]
+name=Fedora Legacy 6 - $basearch - Updates
+mirrorlist=http://fedora.redhat.com/Download/mirrors/legacy-updates-released-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-legacy
+
+[legacy-testing]
+name=Fedora Legacy 6 - $basearch - Updates Testing
+mirrorlist=http://fedora.redhat.com/Download/mirrors/legacy-updates-testing-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-legacy
diff --git a/distrib/fc6/yum.repos.d/fedora-updates-testing.repo b/distrib/fc6/yum.repos.d/fedora-updates-testing.repo
new file mode 100644 (file)
index 0000000..8cdaf84
--- /dev/null
@@ -0,0 +1,23 @@
+[updates-testing]
+name=Fedora Core 6 - $basearch - Test Updates
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/6/$basearch/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-testing-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-test
+
+[updates-testing-debuginfo]
+name=Fedora Core 6 - $basearch - Test Updates Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/6/$basearch/debug/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-testing-debug-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-test
+
+[updates-testing-source]
+name=Fedora Core 6 - Test Updates Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/6/SRPMS/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-testing-source-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-test
diff --git a/distrib/fc6/yum.repos.d/fedora-updates.repo b/distrib/fc6/yum.repos.d/fedora-updates.repo
new file mode 100644 (file)
index 0000000..fd4db84
--- /dev/null
@@ -0,0 +1,23 @@
+[updates]
+name=Fedora Core 6 - $basearch - Updates
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/$basearch/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-released-fc6
+enabled=1
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora
+
+[updates-debuginfo]
+name=Fedora Core 6 - $basearch - Updates - Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/$basearch/debug/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-released-debug-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora
+
+[updates-source]
+name=Fedora Core 6 - Updates Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/SRPMS/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-released-source-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora
diff --git a/distrib/fc6/yum/yum.conf b/distrib/fc6/yum/yum.conf
new file mode 100644 (file)
index 0000000..1d21cd1
--- /dev/null
@@ -0,0 +1,10 @@
+[main]
+cachedir=@YUMCACHEDIR@
+reposdir=@YUMETCDIR@/yum.repos.d
+debuglevel=1
+logfile=@YUMLOGDIR@/log
+lockfile=@YUMLOCKDIR@/yum.pid
+pkgpolicy=newest
+distroverpkg=fedora-release
+installonlypkgs=
+exactarch=0
diff --git a/distrib/gentoo/init-vserver.sh b/distrib/gentoo/init-vserver.sh
new file mode 100644 (file)
index 0000000..e628d9f
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#
+# BIG FAT WARNING:
+#
+# Do not remove this file if you are using gentoo init style!
+# Your vserver will not boot anymore!
+#
+# You have been warned...
+#
+
+RUNLEVEL=1 /sbin/rc sysinit || exit 1
+/sbin/rc boot || exit 1
+/sbin/rc ${1:-default}
+exit 0
diff --git a/distrib/gentoo/initpost b/distrib/gentoo/initpost
new file mode 100755 (executable)
index 0000000..af89200
--- /dev/null
@@ -0,0 +1,129 @@
+#!/bin/bash
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+## Called as: initpost <cfgdir> <path of util-vserver-vars>
+
+# finish notice from initpre
+echo "ok"
+
+
+#setup environment
+cfgdir="$1"
+vdir="$cfgdir"/vdir
+. "$2"
+
+
+# go to vdir for chroot-sh
+pushd "$vdir" &>/dev/null
+
+
+# helper for sed in chroot
+chrootsed() {
+       local file="$1"
+       shift
+       
+       sedtmp=$($_MKTEMP chrootsed.XXXXXX)
+       
+       $_CHROOT_SH cat "$file" | $_SED "$@" > $sedtmp
+       $_CHROOT_SH truncate "$file"  < $sedtmp
+       
+       $_RM -f $sedtmp
+}
+
+
+# portage stuff
+$_CHROOT_SH mkdir /usr 2>/dev/null || :
+$_CHROOT_SH mkdir /usr/portage 2>/dev/null || :
+$_CHROOT_SH mkdir /usr/portage/distfiles 2>/dev/null || :
+
+
+# gentoo initstyle magic
+initstyle=sysv
+test -e "$cfgdir"/apps/init/style && initstyle=$(<"$cfgdir"/apps/init/style)
+
+if test "$initstyle" == "gentoo"; then
+       echo ">>> Installing special init-style magic ... "
+
+       $_CAT "$__DISTRIBDIR"/gentoo/init-vserver.sh | \
+       $_CHROOT_SH truncate   /lib/rcscripts/sh/init-vserver.sh
+       $_CHROOT_SH chmod 0755 /lib/rcscripts/sh/init-vserver.sh
+
+       $_CAT "$__DISTRIBDIR"/gentoo/reboot.sh | \
+       $_CHROOT_SH truncate   /etc/init.d/reboot.sh
+       $_CHROOT_SH chmod 0755 /etc/init.d/reboot.sh
+
+       $_CAT "$__DISTRIBDIR"/gentoo/shutdown.sh | \
+       $_CHROOT_SH truncate   /etc/init.d/shutdown.sh
+       $_CHROOT_SH chmod 0755 /etc/init.d/shutdown.sh
+
+       echo "!!!"
+       echo "!!! You have to install a service (e.g. syslog/cron) and add it to the"
+       echo "!!! default runlevel before you start the guest the first time!"
+       echo "!!! Otherwise the guest will die as soon as it has finished booting."
+       echo "!!!"
+       echo "!!! Consult the Gentoo Handbook on how to chroot and install"
+       echo "!!! packages into the guest environment."
+       echo "!!!"
+fi
+
+
+# unneeded runlevel scripts
+echo ">>> Fixing default runlevel scripts ... "
+$_CHROOT_SH rm /etc/runlevels/boot/{clock,consolefont,keymaps,modules,net.lo} 2>/dev/null || :
+$_CHROOT_SH rm /etc/runlevels/default/{hdparm,netmount} 2>/dev/null || :
+
+
+# setting hostname
+if test -r "$cfgdir"/uts/nodename && $_CHROOT_SH testfile /etc/conf.d/hostname; then
+       echo ">>> Setting hostname ... "
+       chrootsed /etc/conf.d/hostname \
+               -e "s:HOSTNAME=\"\(.*\)\":HOSTNAME=\"$(< "$cfgdir"/uts/nodename)\":"
+fi
+
+
+# fix syslog-ng.conf
+if $_CHROOT_SH testfile /etc/syslog-ng/syslog-ng.conf; then
+       echo ">>> Fixing syslog-ng.conf ... "
+       chrootsed /etc/syslog-ng/syslog-ng.conf \
+               -e 's:pipe("/proc/kmsg"); ::' \
+               -e 's:\(.*console_all.*\):#\1:g'
+fi
+
+
+# fix gettys in inittab
+if $_CHROOT_SH testfile /etc/inittab; then
+       echo ">>> Fixing inittab ... "
+       chrootsed /etc/inittab \
+               -e 's/\(^[^#].*getty.*$\)/#\1/'
+fi
+
+
+# fix fstab for checkfs/localmount in baselayout-2
+# (does not affect any previous versions)
+echo ">>> Fixing fstab ... "
+echo "/dev/hdv1 / ufs defaults 0 0" | $_CHROOT_SH truncate /etc/fstab
+
+
+# always satisfy net dependency in baselayout-2
+# (does not affect any previous versions)
+echo ">>> Providing dummy net dependency ... "
+$_CAT "$__DISTRIBDIR"/gentoo/net.vserver | \
+$_CHROOT_SH truncate /etc/init.d/net.vserver
+$_CHROOT_SH chmod 0755 /etc/init.d/net.vserver
+$_CHROOT_SH link /etc/init.d/net.vserver /etc/runlevels/boot/net.vserver
+
+popd &>/dev/null
diff --git a/distrib/gentoo/initpre b/distrib/gentoo/initpre
new file mode 100755 (executable)
index 0000000..4a66bf5
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+## Called as: initpost <cfgdir> <path of util-vserver-vars>
+
+vdir="$1"/vdir
+. "$2"
+
+# portage stuff
+echo ">>> Adding shared /usr/portage to fstab ... "
+
+hash portageq &>/dev/null
+
+if test $? -eq 0; then
+       _PORTDIR=$(portageq portdir)
+       _DISTDIR=$(portageq distdir)
+else
+       _PORTDIR=/usr/portage
+       _DISTDIR=/usr/portage/distfiles
+fi
+
+if test -d $_PORTDIR; then
+       ( echo
+         echo "# shared portage tree"
+         echo "${_PORTDIR} /usr/portage           none bind,ro 0 0"
+       ) >> "$1"/fstab
+else
+       echo "!!! Cannot find a portage tree! You should definitely use a"
+       echo "!!! shared portage tree if you have multiple Gentoo guests!"
+fi
+
+if test -d $_DISTDIR; then
+       echo "${_DISTDIR} /usr/portage/distfiles none bind,rw 0 0" >> "$1"/fstab
+else
+       echo "!!! Cannot find distfiles directory! You should definitely use a"
+       echo "!!! shared distfiles directory if you have multiple Gentoo guests!"
+fi
+
+
+# initstyle sanity
+initstyle=sysv
+test -e "$1"/apps/init/style && initstyle=$(<"$1"/apps/init/style)
+
+echo ">>> Checking init-style ... $initstyle"
+
+if test "$initstyle" != "gentoo" -a "$initstyle" != "plain"; then
+       echo "!!! The init-style you specified is not supported for Gentoo"
+       echo "!!! Please use one of: plain, gentoo"
+fi
+
+echo -n ">>> Unpacking template ... "
index 0f64170..2e2a542 100644 (file)
@@ -1 +1 @@
-http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_0.3.1.4_all.deb
+http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_0.3.3.3_all.deb
diff --git a/distrib/misc/environment b/distrib/misc/environment
new file mode 100644 (file)
index 0000000..a0d39c8
--- /dev/null
@@ -0,0 +1 @@
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
index ec35834..f42f798 100644 (file)
@@ -5,7 +5,6 @@
 -/proc/sys/dev/
 /proc/sysvipc/
 /proc/tty/
-/proc/cmdline
 /proc/cpuinfo
 /proc/crypto
 /proc/devices
@@ -27,4 +26,5 @@
 /proc/stat
 /proc/swaps
 /proc/uptime
+-/proc/cmdline
 /proc/version
index f281656..4157a2b 100755 (executable)
@@ -40,6 +40,24 @@ function subst
     rm -f $tmp
 }
 
+vserver=$1
+
+## Do some magic to set the vserver into a defined state
+$_VSERVER "$vserver" stop  &>/dev/null || :
+$_VSERVER "$vserver" start --rescue --rescue-init bash -c '
+    exec  >/dev/null
+    exec 2>/dev/null
+
+    set -x
+    f=/tmp/startwait
+    trap "rm -f $f" EXIT
+    mkfifo $f
+    ( sleep 15; kill -s 9 -- -1 ) &
+    cat "$f" >/dev/null
+    kill -s 9 -- -1
+    wait
+'
+
 pushd "$vdir"/etc/init.d &>/dev/null ||
     pushd "$vdir"/etc/rc.d/init.d &>/dev/null || exit 1
 
@@ -49,12 +67,11 @@ pushd "$vdir"/etc/init.d &>/dev/null ||
            functions|halt|killall|single) ;;
            syslog) ;;
            *)
-               $_VSERVER ----insecure "$1" chkconfig "$i" off
+               $_VSERVER "$1" chkconfig "$i" off
                ;;
        esac
     done
 
-    relink /bin/true halt
 popd >/dev/null
 
 pushd "$vdir"/sbin &>/dev/null
@@ -70,11 +87,20 @@ pushd "$vdir" &>/dev/null
 popd >/dev/null
 
 pushd "$vdir" &>/dev/null
+    cat <<EOF | $_CHROOT_SH truncate /etc/init.d/halt
+#! /bin/bash
+
+exec /sbin/killall5 -15
+EOF
+    $_CHROOT_SH chmod 0755 /etc/init.d/halt
+    
     : | $_CHROOT_SH truncate /etc/sysctl.conf
     echo "none    /       none    defaults" | $_CHROOT_SH truncate /etc/fstab
     cat "$__DISTRIBDIR"/redhat/rc.sysinit   | $_CHROOT_SH truncate /etc/rc.d/rc.sysinit.vserver
-    # TODO: remove race/symlink-attack
-    chmod +x etc/rc.d/rc.sysinit.vserver
+    $_CHROOT_SH chmod 0755 /etc/rc.d/rc.sysinit.vserver
     subst etc/inittab 's!^\([^#].*:respawn:.* tty\)!#\1!;
                       s!si::sysinit:/etc/rc.d/rc.sysinit!si::sysinit:/etc/rc.d/rc.sysinit.vserver!'
 popd >/dev/null
+
+$_VSERVER "$vserver" exec bash -c ': >/tmp/startwait' &>/dev/null || :
+$_VSERVER "$vserver" stop &>/dev/null || :
index aec2757..5354f9d 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.12 2005/03/19 01:59:47 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 2338 2006-09-28 22:39:19Z dhozac $  -*- makefile -*-
 
 ## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -29,7 +29,8 @@ doc_configuration_SRCS =      doc/configuration.xml \
                                doc/configuration.xsd \
                                doc/configuration.dtd \
                                doc/configuration.css \
-                               doc/configuration-xhtml.xsl
+                               doc/configuration-xhtml.xsl \
+                               doc/configuration-wiki.xsl
 
 doc_compatibility_SRCS =       doc/compatibility.xml \
                                doc/compatibility.dtd \
diff --git a/doc/configuration-wiki.xsl b/doc/configuration-wiki.xsl
new file mode 100644 (file)
index 0000000..11fe172
--- /dev/null
@@ -0,0 +1,335 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="2.0">
+       <xsl:output method="html" indent="yes" omit-xml-declaration="yes" encoding="ISO-8859-1"/>
+       <xsl:param name="confdir" select="'/etc/vservers'"/>
+       <!-- set following parameter to anything else than 'true' to use a symbolic character to mark up file types -->
+       <xsl:param name="printstylename" select="'true'"/>
+
+       <xsl:template match="/database">
+               <h1>The contents of the <xsl:value-of select="$confdir"/> directory</h1>
+               This page is automatically created by XSL transformation of configuration.xml. Additions, corrections, etc. should be made in that file, not in the Wiki page.
+               <xsl:choose>
+                       <xsl:when test="$printstylename = 'true'">
+                               Directory names are written in <b>bold</b> letters.
+                               
+                               Boolean files are files without content. Only existence matters.
+                               
+                               Scalar files are files with only one line (one value).
+                               
+                               List files are files with multiple values. One value per line.
+                               
+                               Hash files are files with multiple key/value pairs. One key/value pair per line.
+
+                               Symbolic names (variables) are written in <i>italic</i> letters.
+                       </xsl:when>
+                       <xsl:otherwise>
+                               Directories are marked with a trailing / and <b>bold</b> letters.
+               
+                               Scripts are marked with a trailing superscript <sup>*</sup>.
+               
+                               Hash files (with key/value pairs) are marked with a trailing superscript <sup>#</sup>.
+               
+                               Boolean files (without content) are marked with a trailing superscript <sup>0</sup>.
+               
+                               Scalar files (with only one line) are marked with a trailing superscript <sup>1</sup>.
+               
+                               List files (with multiple lines) are marked with a trailing superscript <sup>min - max</sup> sequence, where min is the minimum and max the maximum number of lines.
+               
+                               Symlinks are marked with a trailing superscript <sup>@</sup>.
+               
+                               Data files have no special mark up.
+               
+                               Symbolic names (variables) are written in <i>italic</i> letters.
+                       </xsl:otherwise>
+               </xsl:choose>
+               
+               <xsl:call-template name="collection">
+                       <xsl:with-param name="thisdir"><xsl:value-of select="$confdir"/></xsl:with-param>
+               </xsl:call-template>
+       </xsl:template>
+
+  <xsl:template name="collection">
+    <xsl:param name="thisdir"/>
+    <xsl:if test="count(scalar) + count(link) + count(program) + count(data) + count(hash) + count(list) + count(boolean) + count(collection)>0">
+      <ul>
+        <xsl:if test="@id"><span><xsl:attribute name="id"><xsl:value-of select="@id" /></xsl:attribute></span></xsl:if>
+        <xsl:call-template name="dir-iterate">
+          <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        </xsl:call-template>
+      </ul>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template name="dir-iterate">
+    <xsl:param name="thisdir"/>
+    <xsl:apply-templates select="scalar|link|program|data|hash|list|boolean">
+      <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+      <xsl:sort select="@name"/>
+    </xsl:apply-templates>
+
+    <xsl:apply-templates select="collection">
+      <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+      <xsl:sort select="@name"/>
+    </xsl:apply-templates>
+  </xsl:template>
+
+  <xsl:template match="program">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">script</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="hash">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">hash</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+  
+  <xsl:template match="scalar">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">file</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="data">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">data</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="list">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">list</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+  
+  <xsl:template match="link">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">symlink</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="boolean">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">boolean</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+  
+  <xsl:template match="collection">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">directory</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+
+      <xsl:call-template name="collection">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/>/<xsl:call-template name="printdirname"/></xsl:with-param>
+      </xsl:call-template>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="collection" mode="printrpath">
+    <xsl:text>/</xsl:text>
+      <span class="{@type}">
+      <xsl:value-of select="@name"/>
+    </span>
+  </xsl:template>
+
+       <xsl:template name="printname">
+               <xsl:param name="thisdir"/>
+               <xsl:param name="style"/>
+               <xsl:if test="@id"><span><xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute></span></xsl:if>
+               <xsl:if test="$style = 'directory'">'''</xsl:if>
+               <xsl:value-of select="$thisdir"/>/<xsl:if test="@type = 'symbolic'">''</xsl:if><xsl:value-of select="@name"/><xsl:if test="@type = 'symbolic'">''</xsl:if>
+               <xsl:choose>
+                       <xsl:when test="$printstylename = 'true'">
+                               <xsl:if test="$style = 'directory'">'''</xsl:if>
+                               <xsl:value-of select="concat(' [',$style,']')"/>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:choose>
+                                       <xsl:when test="$style = 'directory'">/'''</xsl:when>
+                                       <xsl:when test="$style = 'symlink'"><sup>@</sup></xsl:when>
+                                       <xsl:when test="$style = 'boolean'"><sup>0</sup></xsl:when>
+                                       <xsl:when test="$style = 'list'"><sup><xsl:choose>
+                                               <xsl:when test="minElements"><xsl:value-of select="minElements"/></xsl:when>
+                                               <xsl:otherwise>0</xsl:otherwise>
+                                       </xsl:choose><xsl:value-of select="0 + minElements"/>-<xsl:choose>
+                                               <xsl:when test="maxElements"><xsl:value-of select="maxElements"/></xsl:when>
+                                               <xsl:otherwise>&#8734;</xsl:otherwise>
+                                       </xsl:choose></sup></xsl:when>
+                                       <xsl:when test="$style = 'file'"><sup>1</sup></xsl:when>
+                                       <xsl:when test="$style = 'script'"><sup>*</sup></xsl:when>
+                                       <xsl:when test="$style = 'hash'"><sup>#</sup></xsl:when>
+                                       <xsl:when test="$style = 'data'"></xsl:when>
+                                       <xsl:otherwise><sup>???</sup></xsl:otherwise>
+                               </xsl:choose>
+                       </xsl:otherwise>
+               </xsl:choose>
+       </xsl:template>
+       
+       <xsl:template name="printcontent">
+               <br/>
+               <xsl:apply-templates select="description"/>
+               <xsl:call-template name="since"/>
+               <xsl:apply-templates select="default"/>
+               <xsl:call-template name="default"/>
+               <xsl:if test="$printstylename = 'true'">
+                       <xsl:apply-templates select="minElements"/>
+                       <xsl:apply-templates select="maxElements"/>
+               </xsl:if>
+               <xsl:apply-templates select="restriction"/>
+               <xsl:apply-templates select="elements"/>
+               <xsl:apply-templates select="parameterList"/>
+               <xsl:apply-templates select="keys"/>
+       </xsl:template>
+       
+       <!-- Extra content for scalar nodes -->
+       
+       <xsl:template match="restriction">
+               <ul>
+                       <ul>
+                               Allowed values:
+                               <xsl:apply-templates select="enumeration">
+                                       <xsl:sort select="@value"/>
+                               </xsl:apply-templates>
+                       </ul>
+               </ul>
+       </xsl:template>
+       
+       <xsl:template match="restriction/enumeration">
+               <xsl:value-of select="concat('&#13;; ',@value)"/>
+       </xsl:template>
+
+       <!-- Extra content for hash nodes -->
+       
+       <xsl:template match="keys">
+               <ul>
+                       <ul>
+                               <xsl:apply-templates select="key">
+                                       <xsl:sort select="@name"/>
+                               </xsl:apply-templates>
+                       </ul>
+               </ul>
+       </xsl:template>
+       
+       <xsl:template match="keys/key">
+               <xsl:value-of select="concat('&#13;; ',@name,' : ',replace(description,'[\r\n]+',' '))"/>
+       </xsl:template>
+
+       <!-- Extra content for list nodes -->
+       <xsl:template match="minElements">
+               <ul>
+                       <ul>
+                               <xsl:value-of select="concat('&#13;; minimum number of Elements : ',replace('[\r\n]+',' '))"/>
+                       </ul>
+               </ul>
+       </xsl:template>
+       
+       <xsl:template match="maxElements">
+               <ul>
+                       <ul>
+                               <xsl:value-of select="concat('&#13;; maximum number of Elements : ',replace('[\r\n]+',' '))"/>
+                       </ul>
+               </ul>
+       </xsl:template>
+
+       <xsl:template match="elements">
+               <ul>
+                       <ul>
+                               Possible values:
+                               <xsl:apply-templates select="element">
+                                       <xsl:sort select="@name"/>
+                               </xsl:apply-templates>
+                       </ul>
+               </ul>
+       </xsl:template>
+       
+       <xsl:template match="elements/element">
+               <xsl:value-of select="concat('&#13;; ',@name,' : ',replace(description,'[\r\n]+',' '))"/>
+       </xsl:template>
+       
+       <!-- Extra content for program nodes -->
+       
+       <xsl:template match="parameterList">
+               <ul>
+                       <ul>
+                               Will be called with the following parameters:
+                               <xsl:apply-templates select="parameter"/>
+                       </ul>
+               </ul>
+       </xsl:template>
+       
+       <xsl:template match="parameterList/parameter">
+               <xsl:value-of select="concat('&#13;; ',@name,' : ',replace(description,'[\r\n]+',' '))"/>
+       </xsl:template>
+       
+       <!-- Extra content for all nodes -->
+       
+       <xsl:template match="default">
+               <ul><ul><xsl:value-of select="concat('&#13;; Default : ',replace(.,'[\r\n]+',' '))"/></ul></ul>
+       </xsl:template>
+
+       <xsl:template name="default"><xsl:if test="@default">
+               <ul><ul>&#13;; Default : <xsl:value-of select="@default"/></ul></ul>
+       </xsl:if></xsl:template>"
+  
+       <xsl:template name="since"><xsl:if test="@since">
+               <ul><ul>&#13;; Since Version : <xsl:value-of select="@since"/></ul></ul>
+       </xsl:if></xsl:template>
+       
+       <!-- -->
+       
+       <xsl:template name="printdirname"><xsl:if test="@type='symbolic'">''</xsl:if><xsl:value-of select="@name"/><xsl:if test="@type='symbolic'">''</xsl:if></xsl:template>
+       <xsl:template match="description"><xsl:apply-templates/></xsl:template>
+       <xsl:template match="ulink">[<xsl:value-of select="@url"/><xsl:value-of select="concat(' ',replace(.,'[\r\n]+',' '))"/>]</xsl:template>
+       <xsl:template match="br"><br /></xsl:template>
+       <xsl:template match="p"><div><xsl:apply-templates/></div></xsl:template>
+       <xsl:template match="tool"><code><xsl:apply-templates/></code></xsl:template>
+       <xsl:template match="command"><code><xsl:apply-templates/></code></xsl:template>
+       <xsl:template match="directory"><xsl:apply-templates/></xsl:template>
+       <xsl:template match="optionref">[[#<xsl:choose>
+               <xsl:when test="@ref"><xsl:value-of select="@ref"/></xsl:when>
+               <xsl:otherwise><xsl:apply-templates/></xsl:otherwise>
+       </xsl:choose>|<xsl:apply-templates/>]]</xsl:template>
+       
+       <xsl:template match="filename">[file://<xsl:value-of select="text()"/>]</xsl:template>
+  
+</xsl:stylesheet>
index 7965f19..107b057 100644 (file)
   <xsl:template match="database">
     <head>
       <title>The <xsl:value-of select="$confdir"/> directory</title>
-      <link rel="stylesheet"           title="gras"     type="text/css" href="css/configuration-lsd.css" />
+      <link rel="alternate stylesheet" title="gras"     type="text/css" href="css/configuration-lsd.css" />
       <link rel="alternate stylesheet" title="gras1"    type="text/css" href="css/configuration-lsd1.css" />
       <link rel="alternate stylesheet" title="flower"   type="text/css" href="css/configuration-flower.css" />
       <link rel="alternate stylesheet" title="boring"   type="text/css" href="configuration.css" />
-      <link rel="alternate stylesheet" title="weedpage" type="text/css" href="css/WeedPageStyle.css" />
+      <link rel="stylesheet"           title="weedpage" type="text/css" href="css/WeedPageStyle.css" />
     </head>
     <body>
       <h1>The content of the <xsl:value-of select="$confdir"/> directory</h1>
index e82d9e8..ccaff8e 100644 (file)
@@ -4,11 +4,11 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>The /etc/vservers directory</title>
-    <link rel="stylesheet" title="gras" type="text/css" href="css/configuration-lsd.css" />
+    <link rel="alternate stylesheet" title="gras" type="text/css" href="css/configuration-lsd.css" />
     <link rel="alternate stylesheet" title="gras1" type="text/css" href="css/configuration-lsd1.css" />
     <link rel="alternate stylesheet" title="flower" type="text/css" href="css/configuration-flower.css" />
     <link rel="alternate stylesheet" title="boring" type="text/css" href="configuration.css" />
-    <link rel="alternate stylesheet" title="weedpage" type="text/css" href="css/WeedPageStyle.css" />
+    <link rel="stylesheet" title="weedpage" type="text/css" href="css/WeedPageStyle.css" />
   </head>
   <body>
     <h1>The content of the /etc/vservers directory</h1>
         <span class="directory">/etc/vservers/<span class="">.defaults</span></span>
         <br />
         <ul>
+          <li>
+            <span class="symlink" title="/etc/vservers/.defaults/cachebase">cachebase</span>
+            <br />
+            <div class="description">
+A link to the directory which will hold cached information about
+vservers.
+      </div>
+          </li>
+          <li>
+            <span class="boolean" title="/etc/vservers/.defaults/context.dynamic">context.dynamic</span>
+            <br />
+            <div class="description">
+If this file exists, kernel-side dynamic contexts will be used by the "vserver
+... build" command. Otherwise a context will be generated, based on the
+contents of <a class="optionref" href="#context.next">context.next</a>.
+      </div>
+          </li>
+          <li id="context.next">
+            <span class="file" title="/etc/vservers/.defaults/context.next">context.next</span>
+            <br />
+            <div class="description">
+The context id to use for the next guest created by "vserver ... build".
+      </div>
+          </li>
+          <li>
+            <span class="data" title="/etc/vservers/.defaults/fstab">fstab</span>
+            <br />
+            <div class="description">
+The default fstab file to put in newly built guests.
+      </div>
+          </li>
+          <li id="global-namespace-cleanup-skip">
+            <span class="list" title="/etc/vservers/.defaults/namespace-cleanup-skip">namespace-cleanup-skip</span>
+            <br />
+            <div class="description">
+List of paths to skip during namespace cleanup.
+      </div>
+          </li>
           <li id="global-nonamespace">
             <span class="boolean" title="/etc/vservers/.defaults/nonamespace">nonamespace</span>
             <br />
@@ -27,6 +65,15 @@ there.
 
 In this mode the <span class="directoryname">/vservers</span> directory must have
 the 'barrier' attribute. Else, common chroot(2) exploits are possible.
+      </div>
+          </li>
+          <li id="global-nonamespace-cleanup">
+            <span class="boolean" title="/etc/vservers/.defaults/nonamespace-cleanup">nonamespace-cleanup</span>
+            <br />
+            <div class="description">
+Disable namespace cleanup globally. It can be overridden for a single vserver
+by setting the <a class="optionref" href="#namespace-cleanup">namespace-cleanup</a> flag
+there.
       </div>
           </li>
           <li>
@@ -40,6 +87,15 @@ to VSERVER mapping; Under kernel 2.6 it is unused.
 
 NOTE: this link exists in 0.30.202+ only; in previous versions it was
 a vserver specific setting.
+      </div>
+          </li>
+          <li>
+            <span class="file" title="/etc/vservers/.defaults/shell">shell</span>
+            <br />
+            <div class="description">
+Contains the pathname of the shell which will be used by the "vserver
+... enter" command. Can be overridden by the
+<a class="optionref" href="#shell">per-guest shell</a>.
       </div>
           </li>
           <li>
@@ -51,6 +107,19 @@ a vserver specific setting.
             <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">apps</span></span>
             <br />
             <ul>
+              <li>
+                <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">apps</span>/<span class="">build</span></span>
+                <br />
+                <ul>
+                  <li>
+                    <span class="list" title="/etc/vservers/.defaults/apps/build/options">options</span>
+                    <br />
+                    <div class="description">
+A list of default options to supply to vserver ... build, one option per line.
+          </div>
+                  </li>
+                </ul>
+              </li>
               <li>
                 <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">apps</span>/<span class="">debootstrap</span></span>
                 <br />
@@ -76,6 +145,14 @@ from this uri and install it at a temporary place.
                 <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">apps</span>/<span class="">init</span></span>
                 <br />
                 <ul>
+                  <li id="global-environment">
+                    <span class="hash" title="/etc/vservers/.defaults/apps/init/environment">environment</span>
+                    <br />
+                    <div class="description">
+The environment to set when starting guests. Contains one VAR=VAL
+pair per line.
+         </div>
+                  </li>
                   <li>
                     <span class="symlink" title="/etc/vservers/.defaults/apps/init/tty">tty</span>
                     <br />
@@ -103,6 +180,65 @@ distribution specific configuration file.
                   </li>
                 </ul>
               </li>
+              <li>
+                <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">apps</span>/<span class="">vdevmap</span></span>
+                <br />
+                <ul>
+                  <li>
+                    <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">apps</span>/<span class="">vdevmap</span>/<span class="sybmolic">x</span></span>
+                    <br />
+                    <div class="description">'x' is an arbitrary name, replace it with e.g. device names</div>
+                    <ul>
+                      <li>
+                        <span class="boolean" title="/etc/vservers/.defaults/apps/vdevmap/x/create">create</span>
+                        <br />
+                        <div class="description">When this file exists, the device can be created (if the guest has <a class="optionref" href="#bcapabilities">CAP_MKNOD</a>)</div>
+                      </li>
+                      <li>
+                        <span class="file" title="/etc/vservers/.defaults/apps/vdevmap/x/device">device</span>
+                        <br />
+                        <div class="description">Contains the name of a device node</div>
+                      </li>
+                      <li>
+                        <span class="file" title="/etc/vservers/.defaults/apps/vdevmap/x/flags">flags</span>
+                        <br />
+                        <div class="description">This file will let you specify unimplemented flags manually</div>
+                      </li>
+                      <li>
+                        <span class="boolean" title="/etc/vservers/.defaults/apps/vdevmap/x/open">open</span>
+                        <br />
+                        <div class="description">When this file exists, the device can be opened</div>
+                      </li>
+                      <li id="vdevmap-remap">
+                        <span class="boolean" title="/etc/vservers/.defaults/apps/vdevmap/x/remap">remap</span>
+                        <br />
+                        <div class="description">
+When this file exists, <a class="optionref" href="#vdevmap-target">target</a> will
+have to exist as well and opening the device will in fact open the target device
+            </div>
+                      </li>
+                      <li id="vdevmap-target">
+                        <span class="file" title="/etc/vservers/.defaults/apps/vdevmap/x/target">target</span>
+                        <br />
+                        <div class="description">Contains the device node of the target node to open instead of the device when <a class="optionref" href="#vdevmap-remap">remap</a> is set</div>
+                      </li>
+                    </ul>
+                  </li>
+                </ul>
+              </li>
+              <li>
+                <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">apps</span>/<span class="">vlogin</span></span>
+                <br />
+                <ul>
+                  <li id="vlogin-disable">
+                    <span class="boolean" title="/etc/vservers/.defaults/apps/vlogin/disable">disable</span>
+                    <br />
+                    <div class="description">
+When this file exists, vlogin isn't used on vserver &lt;guest&gt; enter.
+         </div>
+                  </li>
+                </ul>
+              </li>
               <li>
                 <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">apps</span>/<span class="">vprocunhide</span></span>
                 <br />
@@ -111,7 +247,7 @@ distribution specific configuration file.
                     <span class="list" title="/etc/vservers/.defaults/apps/vprocunhide/files">files</span>
                     <br />
                     <div class="description">
-A list of files which will be made visibly by vprocunhide. Wildcards are
+A list of files which will be made visible by vprocunhide. Wildcards are
 allowed and anything ending in '/' will be processed recursively. When this file exists,
 it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
 absolute filenames inclusive the leading '/proc'.
@@ -163,7 +299,7 @@ skipped.
                         <span class="script" title="/etc/vservers/.defaults/apps/vshelper/vshelper-methods/$handler">handler</span>
                         <br />
                         <div class="description">
-See vshelper/action.
+See <a class="optionref" href="#vshelper-action">vshelper/action</a>.
             </div>
                       </li>
                     </ul>
@@ -225,6 +361,53 @@ filesystem.
               </li>
             </ul>
           </li>
+          <li>
+            <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">files</span></span>
+            <br />
+            <div class="description">This directory contains some files which will be copied to the guests during build.</div>
+            <ul>
+              <li>
+                <span class="data" title="/etc/vservers/.defaults/files/hosts">hosts</span>
+                <br />
+                <div class="description">The default /etc/hosts file.</div>
+              </li>
+              <li>
+                <span class="data" title="/etc/vservers/.defaults/files/krb.conf">krb.conf</span>
+                <br />
+                <div class="description">The default /etc/krb.conf file.</div>
+              </li>
+              <li>
+                <span class="data" title="/etc/vservers/.defaults/files/krb.realms">krb.realms</span>
+                <br />
+                <div class="description">The default /etc/krb.realms file.</div>
+              </li>
+              <li>
+                <span class="data" title="/etc/vservers/.defaults/files/krb5.conf">krb5.conf</span>
+                <br />
+                <div class="description">The default /etc/krb5.conf file.</div>
+              </li>
+              <li>
+                <span class="data" title="/etc/vservers/.defaults/files/ldap.conf">ldap.conf</span>
+                <br />
+                <div class="description">The default /etc/ldap.conf file.</div>
+              </li>
+              <li>
+                <span class="data" title="/etc/vservers/.defaults/files/localtime">localtime</span>
+                <br />
+                <div class="description">The default /etc/localtime file.</div>
+              </li>
+              <li>
+                <span class="data" title="/etc/vservers/.defaults/files/nsswitch.conf">nsswitch.conf</span>
+                <br />
+                <div class="description">The default /etc/nsswitch.conf file.</div>
+              </li>
+              <li>
+                <span class="data" title="/etc/vservers/.defaults/files/resolv.conf">resolv.conf</span>
+                <br />
+                <div class="description">The default /etc/resolv.conf file.</div>
+              </li>
+            </ul>
+          </li>
           <li>
             <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="fixed">init</span></span>
             <br />
@@ -236,6 +419,20 @@ filesystem.
               </li>
             </ul>
           </li>
+          <li>
+            <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">interfaces</span></span>
+            <br />
+            <ul>
+              <li id="global-vlandev">
+                <span class="boolean" title="/etc/vservers/.defaults/interfaces/vlandev">vlandev</span>
+                <br />
+                <div class="description">
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
+       </div>
+              </li>
+            </ul>
+          </li>
         </ul>
       </li>
       <li>
@@ -366,9 +563,16 @@ The configuration directory for the vserver vserver-name.
             <span class="list" title="/etc/vservers/$vserver-name/bcapabilities">bcapabilities</span>
             <br />
             <div class="description">
-[experimental; name is subject of possible change] Contains the system capabilities. See
-<a href="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/bcaps-v13.c?rev=HEAD">lib/bcaps-v13.c</a>
+Contains the system capabilities. See
+<a href="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/bcaps-v13.c">lib/bcaps-v13.c</a>
 for possible values.
+      </div>
+          </li>
+          <li>
+            <span class="symlink" title="/etc/vservers/$vserver-name/cache">cache</span>
+            <br />
+            <div class="description">
+Path of the storage area for cached information about this vserver.
       </div>
           </li>
           <li>
@@ -383,8 +587,7 @@ only; for 2.6 use <a class="optionref" href="#bcapabilities">bcapabilities</a>.
             <span class="list" title="/etc/vservers/$vserver-name/ccapabilities">ccapabilities</span>
             <br />
             <div class="description">
-[experimental; name is subject of possible change] Contains the
-context capabilities. See <a href="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/ccaps-v13.c?rev=HEAD">lib/ccaps-v13.c</a>
+Contains the context capabilities. See <a href="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ccaps-v13.c">lib/ccaps-v13.c</a>
 for possible values.
       </div>
           </li>
@@ -399,54 +602,9 @@ Contains the context which shall be used for the vserver.
             <span class="list" title="/etc/vservers/$vserver-name/flags">flags</span>
             <br />
             <div class="description">
-Contains per line a flag. See <a href="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/cflags-v13.c?rev=HEAD">lib/cflags-v13.c</a>
+Contains per line a flag. See <a href="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/cflags-v13.c">lib/cflags-v13.c</a>
 for possible values.
       </div>
-            <div class="elements">
-              <dl>
-                <dt class="elements">fakeinit</dt>
-                <dd class="elements">
-                  <div class="description">
-The new process will believe it is process number 1. Useful to run a
-real /sbin/init in a vserver. Warning: this flag should not be used
-unless you know what you are doing. Often, it is better to use the
-'plain' initstyle.
-          </div>
-                </dd>
-                <dt class="elements">lock</dt>
-                <dd class="elements">
-                  <div class="description">
-The new process is trapped and can't use chcontext anymore.
-          </div>
-                </dd>
-                <dt class="elements">nproc</dt>
-                <dd class="elements">
-                  <div class="description">
-Limit the number of process in the vserver according to
-ulimit setting. Normally, ulimit is a per user thing.
-With this flag, it becomes a per vserver thing.  
-          </div>
-                </dd>
-                <dt class="elements">private</dt>
-                <dd class="elements">
-                  <div class="description">
-No one can join this security context once created.
-          </div>
-                </dd>
-                <dt class="elements">sched</dt>
-                <dd class="elements">
-                  <div class="description">
-The new process and its children will share a common
-          </div>
-                </dd>
-                <dt class="elements">ulimit</dt>
-                <dd class="elements">
-                  <div class="description">
-Apply the current ulimit to the whole context
-          </div>
-                </dd>
-              </dl>
-            </div>
           </li>
           <li id="fstab">
             <span class="data" title="/etc/vservers/$vserver-name/fstab">fstab</span>
@@ -483,6 +641,39 @@ will be assumed as this name.
             <div class="description">
 Overrides the global <a class="optionref" href="#global-nonamespace">nonamespace</a> flag and enables
 namespace usage for the current vserver.
+      </div>
+          </li>
+          <li id="namespace-cleanup">
+            <span class="boolean" title="/etc/vservers/$vserver-name/namespace-cleanup">namespace-cleanup</span>
+            <br />
+            <div class="description">
+Overrides the global <a class="optionref" href="#global-nonamespace-cleanup">nonamespace-cleanup</a> flag and enables
+namespace cleanup for the current vserver.
+      </div>
+          </li>
+          <li>
+            <span class="list" title="/etc/vservers/$vserver-name/namespace-cleanup-skip">namespace-cleanup-skip</span>
+            <br />
+            <div class="description">
+List of paths to skip during namespace cleanup. This overrides the global
+<a class="optionref" href="#global-namespace-cleanup-skip">namespace-cleanup-skip</a>
+file.
+      </div>
+          </li>
+          <li>
+            <span class="list" title="/etc/vservers/$vserver-name/ncapabilities">ncapabilities</span>
+            <br />
+            <div class="description">
+Contains the network capabilities. See <a href="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ncaps-net.c">lib/ncaps-net.c</a>
+for possible values.
+      </div>
+          </li>
+          <li>
+            <span class="list" title="/etc/vservers/$vserver-name/nflags">nflags</span>
+            <br />
+            <div class="description">
+Contains a network flag per line. See <a href="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/nflags-net.c">lib/nflags-net.c</a>
+for possible values.
       </div>
           </li>
           <li>
@@ -524,7 +715,7 @@ the vserver is stopped, this can be a dangling symlink.
             <span class="hash" title="/etc/vservers/$vserver-name/schedule">schedule</span>
             <br />
             <div class="description">
-[experimental; name is subject of possible change] Contains the
+[deprecated; use <a class="optionref" href="#sched">sched</a> instead] Contains the
 scheduler parameters, one per line.
 
 The Hard CPU limit uses a mechanism called a Token Bucket.  the
@@ -535,9 +726,12 @@ a running process consumes one token from the bucket, unless the
 bucket is empty. If the bucket is empty the process is put in the
 hold queue. When the bucket has been refilled to at least M tokens,
 all on hold processes are rescheduled.
+
+See the <a href="http://linux-vserver.org/Scheduler+Parameters">Linux
+VServer Wiki</a> for more information about this file.
       </div>
           </li>
-          <li>
+          <li id="shell">
             <span class="file" title="/etc/vservers/$vserver-name/shell">shell</span>
             <br />
             <div class="description">
@@ -549,7 +743,7 @@ Contains the pathname of the shell which will be used by the "vserver
             <span class="symlink" title="/etc/vservers/$vserver-name/vdir">vdir</span>
             <br />
             <div class="description">
-Path of the vserver root directory
+Path of the vserver root directory.
       </div>
           </li>
           <li>
@@ -613,6 +807,14 @@ the current vserver can be started. At shutdown, the current vserver
 will be stopped before its dependencies. Content of this file are
 vserver ids (one name per line).
           </div>
+                  </li>
+                  <li>
+                    <span class="hash" title="/etc/vservers/$vserver-name/apps/init/environment">environment</span>
+                    <br />
+                    <div class="description">
+The environment to set when starting the guest. Contains one VAR=VAL
+pair per line.
+         </div>
                   </li>
                   <li>
                     <span class="file" title="/etc/vservers/$vserver-name/apps/init/killseq">killseq</span>
@@ -680,7 +882,7 @@ from/to at startup via initscript.
                 <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">apps</span>/<span class="">vshelper</span></span>
                 <br />
                 <ul>
-                  <li>
+                  <li id="vshelper-action">
                     <span class="file" title="/etc/vservers/$vserver-name/apps/vshelper/action">action</span>
                     <br />
                     <div class="description">
@@ -721,7 +923,7 @@ the vs_reboot() function in the kernel for more details.
                     <br />
                     <div class="description">
 The timeout in seconds which is used when synchronising vserver
-startup/shutdown with the vshelper. When no set, 30 seconds will be
+startup/shutdown with the vshelper. When not set, 30 seconds will be
 assumed.
          </div>
                   </li>
@@ -743,7 +945,7 @@ skipped.
                     <span class="script" title="/etc/vservers/$vserver-name/apps/vshelper-methods/$handler">handler</span>
                     <br />
                     <div class="description">
-See vshelper/action.
+See <a class="optionref" href="#vshelper-action">vshelper/action</a>.
           </div>
                   </li>
                 </ul>
@@ -825,6 +1027,74 @@ filesystem.
               </li>
             </ul>
           </li>
+          <li>
+            <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">cpuset</span></span>
+            <br />
+            <ul>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/cpu_exclusive">cpu_exclusive</span>
+                <br />
+                <div class="description">Is the CPU assignment exclusive?</div>
+              </li>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/cpus">cpus</span>
+                <br />
+                <div class="description">The list of CPUs in this cpuset</div>
+              </li>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/mems">mems</span>
+                <br />
+                <div class="description">The list of Memory Nodes in this cpuset</div>
+              </li>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/mems_exclusive">mems_exclusive</span>
+                <br />
+                <div class="description">Is the memory node assignment exclusive?</div>
+              </li>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/name">name</span>
+                <br />
+                <div class="description">The name of the cpuset for this vserver</div>
+              </li>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/nocreate">nocreate</span>
+                <br />
+                <div class="description">When this file exists, the cpuset will be assumed to exist already</div>
+              </li>
+            </ul>
+          </li>
+          <li>
+            <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">dlimits</span></span>
+            <br />
+            <ul>
+              <li>
+                <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">dlimits</span>/<span class="symbolic">dlimit</span></span>
+                <br />
+                <ul>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/dlimits/$dlimit/directory">directory</span>
+                    <br />
+                    <div class="description">The directory to which the limit should be applied</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/dlimits/$dlimit/inodes_total">inodes_total</span>
+                    <br />
+                    <div class="description">The amount of inodes this vserver should be limited to</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/dlimits/$dlimit/reserved">reserved</span>
+                    <br />
+                    <div class="description">How much space (percentage-wise) should be reserved for the root user</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/dlimits/$dlimit/space_total">space_total</span>
+                    <br />
+                    <div class="description">The amount of space this vserver should be limited to (measured in blocks of 1024 bytes)</div>
+                  </li>
+                </ul>
+              </li>
+            </ul>
+          </li>
           <li>
             <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">interfaces</span></span>
             <br />
@@ -844,6 +1114,16 @@ filesystem.
                 <br />
                 <div class="description">The default network mask.</div>
               </li>
+              <li id="local-novlandev">
+                <span class="boolean" title="/etc/vservers/$vserver-name/interfaces/novlandev">novlandev</span>
+                <br />
+                <div class="description">
+When this file exists, the steps which setup and destroy a VLAN
+interface will be skipped. This overrides the global
+<a class="optionref" href="#global-vlandev">vlandev</a> setting for
+this vserver.
+       </div>
+              </li>
               <li>
                 <span class="file" title="/etc/vservers/$vserver-name/interfaces/prefix">prefix</span>
                 <br />
@@ -854,6 +1134,14 @@ filesystem.
                 <br />
                 <div class="description">The default scope of the network interfaces.</div>
               </li>
+              <li id="local-vlandev">
+                <span class="boolean" title="/etc/vservers/$vserver-name/interfaces/vlandev">vlandev</span>
+                <br />
+                <div class="description">
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed for all interfaces of this vserver.
+       </div>
+              </li>
               <li>
                 <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">interfaces</span>/<span class="symbolic">iface</span></span>
                 <br />
@@ -906,6 +1194,16 @@ a labeled interface is known as an "alias" also (e.g. 'eth0:foo').
 When this file exists, the interface will be assumed to exist
 already. This can be used to assign primary interfaces which are
 created by the host or another vserver.
+         </div>
+                  </li>
+                  <li>
+                    <span class="boolean" title="/etc/vservers/$vserver-name/interfaces/$iface/novlandev">novlandev</span>
+                    <br />
+                    <div class="description">
+When this file exists, the steps which setup and destroy a VLAN
+interface will be skipped. This will override the global
+<a class="optionref" href="#global-vlandev">vlandev</a> and the per-guest
+<a class="optionref" href="#local-vlandev">vlandev</a>.
          </div>
                   </li>
                   <li>
@@ -918,6 +1216,14 @@ created by the host or another vserver.
                     <br />
                     <div class="description">The scope of the network interface.</div>
                   </li>
+                  <li>
+                    <span class="boolean" title="/etc/vservers/$vserver-name/interfaces/$iface/vlandev">vlandev</span>
+                    <br />
+                    <div class="description">
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
+         </div>
+                  </li>
                 </ul>
               </li>
             </ul>
@@ -927,7 +1233,8 @@ created by the host or another vserver.
             <br />
             <div class="description">
 A directory with resource limits. Possible resources are cpu, fsize,
-data, stack, core, rss, nproc, nofile, memlock, as and locks. This
+data, stack, core, rss, nproc, nofile, memlock, as, locks, msgqueue,
+nsock, openfd, anon, shmem, semary, nsems and dentry. This
 configuration will be honored for kernel 2.6 only.
       </div>
             <ul>
@@ -943,7 +1250,7 @@ in the first line. The special keyword 'inf' is recognized.
                 <span class="file" title="/etc/vservers/$vserver-name/rlimits/$resource.hard">resource.hard</span>
                 <br />
                 <div class="description">
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </div>
               </li>
@@ -951,7 +1258,7 @@ line. The special keyword 'inf' is recognized.
                 <span class="file" title="/etc/vservers/$vserver-name/rlimits/$resource.min">resource.min</span>
                 <br />
                 <div class="description">
-A file which contains the guaranted minimum of the given resource in
+A file which contains the guaranteed minimum of the given resource in
 the first line. The special keyword 'inf' is recognized.
         </div>
               </li>
@@ -959,12 +1266,125 @@ the first line. The special keyword 'inf' is recognized.
                 <span class="file" title="/etc/vservers/$vserver-name/rlimits/$resource.soft">resource.soft</span>
                 <br />
                 <div class="description">
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </div>
               </li>
             </ul>
           </li>
+          <li id="sched">
+            <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">sched</span></span>
+            <br />
+            <ul id="sched">
+              <li id="global-fill-rate">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/fill-rate">fill-rate</span>
+                <br />
+                <div class="description">Amount of tokens to add each <a class="optionref" href="#global-interval">interval</a></div>
+              </li>
+              <li id="global-fill-rate2">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/fill-rate2">fill-rate2</span>
+                <br />
+                <div class="description">Amount of tokens to add each <a class="optionref" href="#global-interval2">interval2</a> when advancing idle time</div>
+              </li>
+              <li id="global-idle-time">
+                <span class="boolean" title="/etc/vservers/$vserver-name/sched/idle-time">idle-time</span>
+                <br />
+                <div class="description">When this file exists, advancing idle time is activated</div>
+              </li>
+              <li id="global-interval">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/interval">interval</span>
+                <br />
+                <div class="description">The interval between refills of the bucket</div>
+              </li>
+              <li id="global-interval2">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/interval2">interval2</span>
+                <br />
+                <div class="description">The interval between refills of the bucket when advancing idle time</div>
+              </li>
+              <li id="global-priority-bias">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/priority-bias">priority-bias</span>
+                <br />
+                <div class="description">Bias added to priorities calculated within the guest (result is clamped to -20/+19)</div>
+              </li>
+              <li id="global-tokens">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/tokens">tokens</span>
+                <br />
+                <div class="description">The initial amount of tokens to put in the bucket</div>
+              </li>
+              <li id="global-tokens-max">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/tokens-max">tokens-max</span>
+                <br />
+                <div class="description">The bucket's size</div>
+              </li>
+              <li id="global-tokens-min">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/tokens-min">tokens-min</span>
+                <br />
+                <div class="description">The minimum amount of tokens required to unhold the context</div>
+              </li>
+              <li>
+                <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">sched</span>/<span class="symbolic">cpu-id</span></span>
+                <br />
+                <div class="description">This directory contains per-CPU and/or per-bucket specific settings. Remember to set the <a class="optionref" href="#cpu-id">cpu-id</a> file. All CPUs inherit the global settings.</div>
+                <ul>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/bucket-id">bucket-id</span>
+                    <br />
+                    <div class="description">The bucket to apply these settings to</div>
+                  </li>
+                  <li id="cpu-id">
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/cpu-id">cpu-id</span>
+                    <br />
+                    <div class="description">The CPU to apply these settings to</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/fill-rate">fill-rate</span>
+                    <br />
+                    <div class="description">Amount of tokens to add each <a class="optionref" href="#local-interval">interval</a></div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/fill-rate2">fill-rate2</span>
+                    <br />
+                    <div class="description">Amount of tokens to add each <a class="optionref" href="#local-interval2">interval2</a> when advancing idle time</div>
+                  </li>
+                  <li>
+                    <span class="boolean" title="/etc/vservers/$vserver-name/sched/$cpu-id/idle-time">idle-time</span>
+                    <br />
+                    <div class="description">When this file exists, advancing idle time is activated</div>
+                  </li>
+                  <li id="local-interval">
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/interval">interval</span>
+                    <br />
+                    <div class="description">The interval between refills of the bucket</div>
+                  </li>
+                  <li id="local-interval2">
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/interval2">interval2</span>
+                    <br />
+                    <div class="description">The interval between refills of the bucket when advancing idle time</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/priority-bias">priority-bias</span>
+                    <br />
+                    <div class="description">Bias added to priorities calculated within the guest (result is clamped to -20/+19)</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/tokens">tokens</span>
+                    <br />
+                    <div class="description">The initial amount of tokens to put in the bucket</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/tokens-max">tokens-max</span>
+                    <br />
+                    <div class="description">The bucket's size</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/tokens-min">tokens-min</span>
+                    <br />
+                    <div class="description">The minimum amount of tokens required to unhold the context</div>
+                  </li>
+                </ul>
+              </li>
+            </ul>
+          </li>
           <li>
             <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">scripts</span></span>
             <br />
@@ -976,6 +1396,15 @@ environment variable must be set by one of the in-shellcontext scripts
 (the non-executable ones).
       </div>
             <ul>
+              <li>
+                <span class="script" title="/etc/vservers/$vserver-name/scripts/initialize">initialize</span>
+                <br />
+                <div class="description">
+The scriptlet which will be executed before the root filesystem is mounted and
+the configuration has been loaded. Before executing the script, the
+configuration directory will be made the working directory.
+        </div>
+              </li>
               <li>
                 <span class="script" title="/etc/vservers/$vserver-name/scripts/post-start">post-start</span>
                 <br />
@@ -1032,6 +1461,21 @@ enabled and the directories are mounted. Before executing the script,
 the configuration directory will be made the working directory.
         </div>
               </li>
+              <li>
+                <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">scripts</span>/<span class="">initialize.d</span></span>
+                <br />
+                <div class="description">
+Repository of initialize like scripts.  Before executing the script,
+the configuration directory will be made the working directory.
+        </div>
+                <ul>
+                  <li>
+                    <span class="script" title="/etc/vservers/$vserver-name/scripts/initialize.d/$script">script</span>
+                    <br />
+                    <div class="description">See initialize.</div>
+                  </li>
+                </ul>
+              </li>
               <li>
                 <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">scripts</span>/<span class="">post-start.d</span></span>
                 <br />
@@ -1124,13 +1568,35 @@ the configuration directory will be made the working directory.
               </li>
             </ul>
           </li>
+          <li>
+            <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">sysctl</span></span>
+            <br />
+            <ul>
+              <li>
+                <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">sysctl</span>/<span class="symbolic">x</span></span>
+                <br />
+                <div class="description">'x' is an arbitrary name, replace it with e.g. integers</div>
+                <ul>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sysctl/$x/setting">setting</span>
+                    <br />
+                    <div class="description">The sysctl setting</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sysctl/$x/value">value</span>
+                    <br />
+                    <div class="description">The value</div>
+                  </li>
+                </ul>
+              </li>
+            </ul>
+          </li>
           <li>
             <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">ulimits</span></span>
             <br />
             <div class="description">
 A directory with ulimits. Possible resources are cpu, data, fsize,
-locks, memlock, nofile, nproc, rss and/or stack. This configuration
-will be honored for kernel 2.4 only.
+locks, memlock, nofile, nproc, rss and/or stack.
       </div>
             <ul>
               <li>
@@ -1145,7 +1611,7 @@ in the first line. The special keyword 'inf' is recognized.
                 <span class="file" title="/etc/vservers/$vserver-name/ulimits/$resource.hard">resource.hard</span>
                 <br />
                 <div class="description">
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </div>
               </li>
@@ -1153,7 +1619,7 @@ line. The special keyword 'inf' is recognized.
                 <span class="file" title="/etc/vservers/$vserver-name/ulimits/$resource.soft">resource.soft</span>
                 <br />
                 <div class="description">
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </div>
               </li>
index 04b5ecf..0c5af43 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE database SYSTEM "configuration.dtd" []>
-<!-- $Id: configuration.xml,v 1.36 2005/07/03 14:03:42 ensc Exp $ -->
+<!-- $Id: configuration.xml 2478 2007-01-27 11:10:09Z dhozac $ -->
 
 <database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:noNamespaceSchemaLocation="file:configuration.xsd">
       <description>A link to the default vserver rootdirectory.</description>
     </link>
 
+    <link name="cachebase">
+      <default>/var/cache/vservers</default>
+      <description>
+A link to the directory which will hold cached information about
+vservers.
+      </description>
+    </link>
 
     <boolean id="global-nonamespace" name="nonamespace">
       <description>
@@ -30,6 +37,20 @@ the 'barrier' attribute. Else, common chroot(2) exploits are possible.
       </description>
     </boolean>
 
+    <boolean id="global-nonamespace-cleanup" name="nonamespace-cleanup">
+      <description>
+Disable namespace cleanup globally. It can be overridden for a single vserver
+by setting the <optionref ref="namespace-cleanup">namespace-cleanup</optionref> flag
+there.
+      </description>
+    </boolean>
+
+    <list id="global-namespace-cleanup-skip" name="namespace-cleanup-skip">
+      <description>
+List of paths to skip during namespace cleanup.
+      </description>
+    </list>
+
     <link name="run.rev">
       <description>
 Path of the vserver run reverse directory. This directory contains
@@ -41,12 +62,40 @@ NOTE: this link exists in 0.30.202+ only; in previous versions it was
 a vserver specific setting.
       </description>
     </link>
+
+    <scalar name="shell">
+      <description>
+Contains the pathname of the shell which will be used by the "vserver
+... enter" command. Can be overridden by the
+<optionref ref="shell">per-guest shell</optionref>.
+      </description>
+    </scalar>
+
+    <data name="fstab">
+      <description>
+The default fstab file to put in newly built guests.
+      </description>
+    </data>
+
+    <boolean name="context.dynamic">
+      <description>
+If this file exists, kernel-side dynamic contexts will be used by the "vserver
+... build" command. Otherwise a context will be generated, based on the
+contents of <optionref>context.next</optionref>.
+      </description>
+    </boolean>
+
+    <scalar id="context.next" name="context.next">
+      <description>
+The context id to use for the next guest created by "vserver ... build".
+      </description>
+    </scalar>
     
     <collection name="apps">
       <collection name="pkgmgmt">
        <link name="base">
          <default>/vservers/.pkg</default>
-       </link> 
+       </link>
        <data name="apt.conf">
          <description>The default apt.conf which is going to be used. It is overridden by
 distribution specific configuration file.
@@ -68,6 +117,33 @@ from this uri and install it at a temporary place.
        </scalar>
       </collection>
 
+      <collection name="vdevmap">
+        <collection name="x" type="sybmolic">
+          <description>'x' is an arbitrary name, replace it with e.g. device names</description>
+          <boolean name="open">
+            <description>When this file exists, the device can be opened</description>
+          </boolean>
+          <boolean name="create">
+            <description>When this file exists, the device can be created (if the guest has <optionref ref="bcapabilities">CAP_MKNOD</optionref>)</description>
+          </boolean>
+          <boolean id="vdevmap-remap" name="remap">
+            <description>
+When this file exists, <optionref ref="vdevmap-target">target</optionref> will
+have to exist as well and opening the device will in fact open the target device
+            </description>
+          </boolean>
+          <scalar name="flags">
+            <description>This file will let you specify unimplemented flags manually</description>
+          </scalar>
+          <scalar name="device">
+            <description>Contains the name of a device node</description>
+          </scalar>
+          <scalar id="vdevmap-target" name="target">
+            <description>Contains the device node of the target node to open instead of the device when <optionref ref="vdevmap-remap">remap</optionref> is set</description>
+          </scalar>
+        </collection>
+      </collection>
+
       <collection name="vshelper">
        <link name="logfile">
          <description>
@@ -80,7 +156,7 @@ is invoked from the kernel. This should point somewhere e.g. into
        <collection name="vshelper-methods">
          <program name="handler" type="symbolic">
            <description>
-See vshelper/action.
+See <optionref ref="vshelper-action">vshelper/action</optionref>.
             </description>
          </program>
        </collection>
@@ -110,7 +186,7 @@ skipped.
       <collection name="vprocunhide">
        <list name="files">
          <description>
-A list of files which will be made visibly by vprocunhide. Wildcards are
+A list of files which will be made visible by vprocunhide. Wildcards are
 allowed and anything ending in '/' will be processed recursively. When this file exists,
 it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
 absolute filenames inclusive the leading '/proc'.
@@ -125,6 +201,13 @@ A symlink to the TTY device where input/output will be redirected from/to
 at startup via initscript.
           </description>
        </link>
+
+       <hash id="global-environment" name="environment" since="0.30.211">
+         <description>
+The environment to set when starting guests. Contains one VAR=VAL
+pair per line.
+         </description>
+       </hash>
       </collection>
       
       <collection name="vunify">
@@ -168,6 +251,59 @@ operation will fail. Most tools assume 'on' as the default value.
        </boolean>
 
       </collection>
+
+      <collection name="vlogin">
+       <boolean id="vlogin-disable" name="disable" since="0.30.212">
+         <description>
+When this file exists, vlogin isn't used on vserver &lt;guest&gt; enter.
+         </description>
+       </boolean>
+      </collection>
+
+      <collection name="build">
+        <list name="options">
+          <description>
+A list of default options to supply to vserver ... build, one option per line.
+          </description>
+        </list>
+      </collection>
+    </collection>
+
+    <collection name="interfaces" use="optional">
+      <boolean id="global-vlandev" name="vlandev" since="0.30.211">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
+       </description>
+      </boolean>
+    </collection>
+
+    <collection name="files">
+      <description>This directory contains some files which will be copied to the guests during build.</description>
+      <data name="hosts">
+        <description>The default /etc/hosts file.</description>
+      </data>
+      <data name="nsswitch.conf">
+        <description>The default /etc/nsswitch.conf file.</description>
+      </data>
+      <data name="krb5.conf">
+        <description>The default /etc/krb5.conf file.</description>
+      </data>
+      <data name="krb.conf">
+        <description>The default /etc/krb.conf file.</description>
+      </data>
+      <data name="krb.realms">
+        <description>The default /etc/krb.realms file.</description>
+      </data>
+      <data name="ldap.conf">
+        <description>The default /etc/ldap.conf file.</description>
+      </data>
+      <data name="localtime">
+        <description>The default /etc/localtime file.</description>
+      </data>
+      <data name="resolv.conf">
+        <description>The default /etc/resolv.conf file.</description>
+      </data>
     </collection>
   </collection>
     
@@ -208,9 +344,9 @@ Script which will be executed before packages will be installed.
 The configuration directory of the vserver which is going to be set up.
             </description>
          </parameter>
-         <parameter name="vserver">
+         <parameter name="util-vserver-vars">
            <description>
-The pathname of the vserver binary.
+The pathname of the util-vserver-vars file.
             </description>
          </parameter>
        </parameterList>
@@ -227,7 +363,7 @@ The configuration directory of the vserver which is going to be set up.
          </parameter>
          <parameter name="vserver">
            <description>
-The pathname of the vserver binary.
+The pathname of the util-vserver-vars file.
             </description>
          </parameter>
        </parameterList>
@@ -283,10 +419,18 @@ this distribution.
     <description>
 The configuration directory for the vserver vserver-name.
     </description>
+
+    <link name="cache">
+      <default>../.defaults/cachebase/VSERVERNAME</default>
+      <description>
+Path of the storage area for cached information about this vserver.
+      </description>
+    </link>
     
     <link name="vdir">
+      <default>../.defaults/vdirbase/VSERVERNAME</default>
       <description>
-Path of the vserver root directory
+Path of the vserver root directory.
       </description>
     </link>
 
@@ -299,16 +443,22 @@ the vserver is stopped, this can be a dangling symlink.
 
     <list id="bcapabilities" name="bcapabilities">
       <description>
-[experimental; name is subject of possible change] Contains the system capabilities. See
-<ulink url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/bcaps-v13.c?rev=HEAD">lib/bcaps-v13.c</ulink>
+Contains the system capabilities. See
+<ulink url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/bcaps-v13.c">lib/bcaps-v13.c</ulink>
 for possible values.
       </description>
     </list>
     <list name="ccapabilities">
       <description>
-[experimental; name is subject of possible change] Contains the
-context capabilities. See <ulink
-url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/ccaps-v13.c?rev=HEAD">lib/ccaps-v13.c</ulink>
+Contains the context capabilities. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ccaps-v13.c">lib/ccaps-v13.c</ulink>
+for possible values.
+      </description>
+    </list>
+    <list name="ncapabilities" since="0.30.212">
+      <description>
+Contains the network capabilities. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ncaps-net.c">lib/ncaps-net.c</ulink>
 for possible values.
       </description>
     </list>
@@ -329,9 +479,24 @@ the 'barrier' attribute. Else, common chroot(2) exploits are possible.
       </description>
     </boolean>
 
+    <boolean id="namespace-cleanup" name="namespace-cleanup">
+      <description>
+Overrides the global <optionref ref="global-nonamespace-cleanup">nonamespace-cleanup</optionref> flag and enables
+namespace cleanup for the current vserver.
+      </description>
+    </boolean>
+
+    <list name="namespace-cleanup-skip">
+      <description>
+List of paths to skip during namespace cleanup. This overrides the global
+<optionref ref="global-namespace-cleanup-skip">namespace-cleanup-skip</optionref>
+file.
+      </description>
+    </list>
+
     <hash name="schedule">
       <description>
-[experimental; name is subject of possible change] Contains the
+[deprecated; use <optionref ref="sched">sched</optionref> instead] Contains the
 scheduler parameters, one per line.
 
 The Hard CPU limit uses a mechanism called a Token Bucket.  the
@@ -342,6 +507,9 @@ a running process consumes one token from the bucket, unless the
 bucket is empty. If the bucket is empty the process is put in the
 hold queue. When the bucket has been refilled to at least M tokens,
 all on hold processes are rescheduled.
+
+See the <ulink url="http://linux-vserver.org/Scheduler+Parameters">Linux
+VServer Wiki</ulink> for more information about this file.
       </description>
       <keys>
        <key id="fill_rate" name="fill-rate">
@@ -394,7 +562,7 @@ Contains per line a capability. This file is used for the 2.4 kernel
 only; for 2.6 use <optionref>bcapabilities</optionref>.
       </description>
     </list>
-    <scalar name="shell">
+    <scalar id="shell" name="shell">
       <description>
 Contains the pathname of the shell which will be used by the "vserver
 ... enter" command.
@@ -411,9 +579,10 @@ values.
     <list name="flags">
       <description>
 Contains per line a flag. See <ulink
-url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/cflags-v13.c?rev=HEAD">lib/cflags-v13.c</ulink>
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/cflags-v13.c">lib/cflags-v13.c</ulink>
 for possible values.
       </description>
+      <!--
       <elements>
        <element name="fakeinit">
          <description>
@@ -437,7 +606,7 @@ The new process and its children will share a common
          <description>
 Limit the number of process in the vserver according to
 ulimit setting. Normally, ulimit is a per user thing.
-With this flag, it becomes a per vserver thing.  
+With this flag, it becomes a per vserver thing.
           </description>
        </element>
        <element name="private">
@@ -451,6 +620,14 @@ Apply the current ulimit to the whole context
           </description>
        </element>
       </elements>
+      -->
+    </list>
+    <list name="nflags" since="0.30.212">
+      <description>
+Contains a network flag per line. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/nflags-net.c">lib/nflags-net.c</ulink>
+for possible values.
+      </description>
     </list>
     <scalar name="context">
       <description>
@@ -491,7 +668,6 @@ Contains the init-style.
            <enumeration value="sysv"/>
            <enumeration value="plain"/>
            <enumeration value="minit"/>
-           <enumeration value="gento"/>
          </restriction>
        </scalar>
        
@@ -581,6 +757,13 @@ will be stopped before its dependencies. Content of this file are
 vserver ids (one name per line).
           </description>
        </list>
+
+       <hash name="environment" since="0.30.211">
+         <description>
+The environment to set when starting the guest. Contains one VAR=VAL
+pair per line.
+         </description>
+       </hash>
       </collection>
       
       <collection name="vshelper">
@@ -588,12 +771,12 @@ vserver ids (one name per line).
          <default>30</default>
          <description>
 The timeout in seconds which is used when synchronising vserver
-startup/shutdown with the vshelper. When no set, 30 seconds will be
+startup/shutdown with the vshelper. When not set, 30 seconds will be
 assumed.
          </description>
        </scalar>
        
-       <scalar name="action">
+       <scalar id="vshelper-action" name="action">
          <default>restart</default>
          <description>
 The action which is going to be executed when a vshelper event
@@ -650,7 +833,7 @@ skipped.
       <collection id="vshelper-methods" name="vshelper-methods">
        <program name="handler" type="symbolic">
          <description>
-See vshelper/action.
+See <optionref ref="vshelper-action">vshelper/action</optionref>.
           </description>
        </program>
       </collection>
@@ -729,16 +912,16 @@ environment variable must be set by one of the in-shellcontext scripts
 (the non-executable ones).
       </description>
       
-      <program name="prepre-start">
+      <program name="initialize" since="0.30.211">
        <description>
-The scriptlet which will be executed before the network-interfaces are
-enabled and the directories are mounted. Before executing the script,
-the configuration directory will be made the working directory.
+The scriptlet which will be executed before the root filesystem is mounted and
+the configuration has been loaded. Before executing the script, the
+configuration directory will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
+         <parameter name="action">
            <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
          <parameter name="vserver-name">
@@ -746,24 +929,60 @@ The configuration directory of the current vserver.
 The name of the current vserver.
             </description>
          </parameter>
+       </parameterList>
+      </program>
+      <collection name="initialize.d" since="0.30.211">
+       <description>
+Repository of initialize like scripts.  Before executing the script,
+the configuration directory will be made the working directory.
+        </description>
+       <program name="script" type="symbolic">
+         <description>See initialize.</description>
+         <parameterList>
+           <parameter name="action">
+             <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+              </description>
+           </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
+         </parameterList>
+       </program>
+      </collection>
+      
+      <program name="prepre-start">
+       <description>
+The scriptlet which will be executed before the network-interfaces are
+enabled and the directories are mounted. Before executing the script,
+the configuration directory will be made the working directory.
+        </description>
+       <parameterList>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="prepre-start.d">
        <description>
 Repository of prepre-start like scripts.  Before executing the script,
 the configuration directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See prepre-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
+           <parameter name="action">
              <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
            <parameter name="vserver-name">
@@ -771,11 +990,6 @@ The configuration directory of the current vserver.
 The name of the current vserver.
               </description>
            </parameter>
-           <parameter name="action">
-             <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
-              </description>
-           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -788,9 +1002,9 @@ been started.  Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
+         <parameter name="action">
            <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
          <parameter name="vserver-name">
@@ -798,32 +1012,24 @@ The configuration directory of the current vserver.
 The name of the current vserver.
             </description>
          </parameter>
-         <parameter name="action">
-           <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
-            </description>
-         </parameter>
        </parameterList>
       </program>
       <collection name="pre-start.d">
        <description>
 Repository of pre-start like scripts. Before executing these scripts,
 the vserver root directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See pre-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
+           <parameter name="action">
              <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
            <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
-           <parameter name="action">
              <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+The name of the current vserver.
               </description>
            </parameter>
          </parameterList>
@@ -838,17 +1044,16 @@ started. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="post-start.d">
@@ -859,17 +1064,16 @@ the vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See post-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -882,38 +1086,36 @@ stopped. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="pre-stop.d">
        <description>
 Repository of pre-stop like scripts. Before executing the script, the
 vserver root directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See pre-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -926,17 +1128,16 @@ interfaces disabled. Before executing the script, the vserver root
 directory will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="post-stop.d">
@@ -947,17 +1148,16 @@ vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See post-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -969,17 +1169,16 @@ completely. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="postpost-stop.d">
@@ -990,17 +1189,16 @@ the vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See postpost-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -1022,6 +1220,20 @@ The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
       <scalar name="scope">
        <description>The default scope of the network interfaces.</description>
       </scalar>
+      <boolean id="local-vlandev" name="vlandev" since="0.30.211">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed for all interfaces of this vserver.
+       </description>
+      </boolean>
+      <boolean id="local-novlandev" name="novlandev">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be skipped. This overrides the global
+<optionref ref="global-vlandev">vlandev</optionref> setting for
+this vserver.
+       </description>
+      </boolean>
       
       <collection name="iface" type="symbolic">
        <description>
@@ -1068,30 +1280,43 @@ already. This can be used to assign primary interfaces which are
 created by the host or another vserver.
          </description>
        </boolean>
+       <boolean name="novlandev">
+         <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be skipped. This will override the global
+<optionref ref="global-vlandev">vlandev</optionref> and the per-guest
+<optionref ref="local-vlandev">vlandev</optionref>.
+         </description>
+       </boolean>
+       <boolean name="vlandev" since="0.30.211">
+         <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
+         </description>
+       </boolean>
       </collection>
     </collection>
     
     <collection name="ulimits">
       <description>
 A directory with ulimits. Possible resources are cpu, data, fsize,
-locks, memlock, nofile, nproc, rss and/or stack. This configuration
-will be honored for kernel 2.4 only.
-      </description>                                                                                                                 
+locks, memlock, nofile, nproc, rss and/or stack.
+      </description>
       <scalar name="resource" type="symbolic">
        <description>
 A file which contains the hard- and soft-limit of the given resource
 in the first line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                            
+      </scalar>
       <scalar name="resource.hard" type="symbolic">
        <description>
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                                             
+      </scalar>
       <scalar name="resource.soft" type="symbolic">
        <description>
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
       </scalar>
@@ -1100,30 +1325,31 @@ line. The special keyword 'inf' is recognized.
     <collection name="rlimits">
       <description>
 A directory with resource limits. Possible resources are cpu, fsize,
-data, stack, core, rss, nproc, nofile, memlock, as and locks. This
+data, stack, core, rss, nproc, nofile, memlock, as, locks, msgqueue,
+nsock, openfd, anon, shmem, semary, nsems and dentry. This
 configuration will be honored for kernel 2.6 only.
-      </description>                                                                                                                 
+      </description>
       <scalar name="resource" type="symbolic">
        <description>
 A file which contains the hard- and soft-limit of the given resource
 in the first line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                            
+      </scalar>
       <scalar name="resource.hard" type="symbolic">
        <description>
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                                             
+      </scalar>
       <scalar name="resource.soft" type="symbolic">
        <description>
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
       </scalar>
       <scalar name="resource.min" type="symbolic">
        <description>
-A file which contains the guaranted minimum of the given resource in
+A file which contains the guaranteed minimum of the given resource in
 the first line. The special keyword 'inf' is recognized.
         </description>
       </scalar>
@@ -1156,5 +1382,121 @@ tools and can *not* be modified.
        <description>The NIS domainname of the vserver</description>
       </scalar>
     </collection>
+
+    <collection name="dlimits" since="0.30.210">
+      <collection name="dlimit" type="symbolic">
+        <scalar name="directory">
+          <description>The directory to which the limit should be applied</description>
+        </scalar>
+        <scalar name="inodes_total">
+          <description>The amount of inodes this vserver should be limited to</description>
+        </scalar>
+        <scalar name="space_total">
+          <description>The amount of space this vserver should be limited to (measured in blocks of 1024 bytes)</description>
+        </scalar>
+        <scalar name="reserved">
+          <description>How much space (percentage-wise) should be reserved for the root user</description>
+        </scalar>
+      </collection>
+    </collection>
+
+    <collection name="sysctl" since="0.30.213">
+      <collection name="x" type="symbolic">
+        <description>'x' is an arbitrary name, replace it with e.g. integers</description>
+        <scalar name="setting">
+          <description>The sysctl setting</description>
+        </scalar>
+        <scalar name="value">
+          <description>The value</description>
+        </scalar>
+      </collection>
+    </collection>
+
+    <collection name="cpuset" since="0.30.211">
+      <scalar name="name">
+        <description>The name of the cpuset for this vserver</description>
+      </scalar>
+      <scalar name="cpus">
+        <description>The list of CPUs in this cpuset</description>
+      </scalar>
+      <scalar name="mems">
+        <description>The list of Memory Nodes in this cpuset</description>
+      </scalar>
+      <scalar name="cpu_exclusive">
+        <description>Is the CPU assignment exclusive?</description>
+      </scalar>
+      <scalar name="mems_exclusive">
+        <description>Is the memory node assignment exclusive?</description>
+      </scalar>
+      <scalar name="nocreate">
+        <description>When this file exists, the cpuset will be assumed to exist already</description>
+      </scalar>
+    </collection>
+
+    <collection id="sched" name="sched" since="0.30.212">
+      <scalar id="global-tokens" name="tokens">
+        <description>The initial amount of tokens to put in the bucket</description>
+      </scalar>
+      <scalar id="global-tokens-min" name="tokens-min">
+        <description>The minimum amount of tokens required to unhold the context</description>
+      </scalar>
+      <scalar id="global-tokens-max" name="tokens-max">
+        <description>The bucket's size</description>
+      </scalar>
+      <scalar id="global-fill-rate" name="fill-rate">
+        <description>Amount of tokens to add each <optionref ref="global-interval">interval</optionref></description>
+      </scalar>
+      <scalar id="global-interval" name="interval">
+        <description>The interval between refills of the bucket</description>
+      </scalar>
+      <scalar id="global-priority-bias" name="priority-bias">
+        <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
+      </scalar>
+      <scalar id="global-fill-rate2" name="fill-rate2">
+        <description>Amount of tokens to add each <optionref ref="global-interval2">interval2</optionref> when advancing idle time</description>
+      </scalar>
+      <scalar id="global-interval2" name="interval2">
+        <description>The interval between refills of the bucket when advancing idle time</description>
+      </scalar>
+      <boolean id="global-idle-time" name="idle-time">
+        <description>When this file exists, advancing idle time is activated</description>
+      </boolean>
+      <collection name="cpu-id" type="symbolic">
+        <description>This directory contains per-CPU and/or per-bucket specific settings. Remember to set the <optionref ref="cpu-id">cpu-id</optionref> file. All CPUs inherit the global settings.</description>
+        <scalar name="tokens">
+          <description>The initial amount of tokens to put in the bucket</description>
+        </scalar>
+        <scalar name="tokens-min">
+          <description>The minimum amount of tokens required to unhold the context</description>
+        </scalar>
+        <scalar name="tokens-max">
+          <description>The bucket's size</description>
+        </scalar>
+        <scalar name="fill-rate">
+          <description>Amount of tokens to add each <optionref ref="local-interval">interval</optionref></description>
+        </scalar>
+        <scalar id="local-interval" name="interval">
+          <description>The interval between refills of the bucket</description>
+        </scalar>
+        <scalar name="priority-bias">
+          <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
+        </scalar>
+        <scalar name="fill-rate2">
+          <description>Amount of tokens to add each <optionref ref="local-interval2">interval2</optionref> when advancing idle time</description>
+        </scalar>
+        <scalar id="local-interval2" name="interval2">
+          <description>The interval between refills of the bucket when advancing idle time</description>
+        </scalar>
+        <boolean name="idle-time">
+          <description>When this file exists, advancing idle time is activated</description>
+        </boolean>
+        <scalar id="cpu-id" name="cpu-id">
+          <description>The CPU to apply these settings to</description>
+        </scalar>
+        <scalar name="bucket-id">
+          <description>The bucket to apply these settings to</description>
+        </scalar>
+      </collection>
+    </collection>
   </collection>
   </database>
index e665a1e..df42555 100644 (file)
@@ -4,7 +4,7 @@
 <xsd:annotation>
  <xsd:documentation xml:lang="en">
   Filesystem Database schema writen by Olivier Poitrey on 4/20/2004
-  Version $Id: configuration.xsd,v 1.1 2004/04/22 19:24:05 ensc Exp $
+  Version $Id: configuration.xsd 1496 2004-04-22 19:24:05Z ensc $
  </xsd:documentation>
 </xsd:annotation>
 
index 7dbdff7..2e8f7e4 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- makefile -*--
+## $Id: Makefile-files 1583 2004-06-16 10:06:03Z ensc $        --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 4a347b7..123cd09 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt-32.c,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmt-32.c 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 553b78e..34485ce 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt-64.c,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmt-64.c 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index acfcdf8..5409422 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt-internal.h,v 1.2 2004/08/19 13:53:54 ensc Exp $    --*- c -*--
+// $Id: fmt-internal.h 1647 2004-08-19 13:53:54Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6aad24a..7b15d22 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt-tai64n.c,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmt-tai64n.c 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 026b6d7..2a087c4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt.h,v 1.3 2005/03/17 14:46:19 ensc Exp $    --*- c -*--
+// $Id: fmt.h 1890 2005-03-17 14:46:19Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 43c8ced..0691446 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt.hc,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmt.hc 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index d5b113d..7a179c6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmtx-32.c,v 1.2 2005/03/17 14:46:19 ensc Exp $    --*- c -*--
+// $Id: fmtx-32.c 1890 2005-03-17 14:46:19Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 13703d0..2a0f908 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmtx-64.c,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmtx-64.c 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f1afd96..6e50205 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmtx.hc,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmtx.hc 2179 2005-10-25 16:11:32Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -32,7 +32,7 @@
 size_t
 CONCAT(FMT_P(xuint),)(char *ptr, CONCAT(uint_least,_t) val)
 {
-  FMT_FN(16,8);
+  FMT_FN(16,2);
 }
 
 size_t
index 450f49e..d08ca83 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.9 2005/07/03 09:12:31 ensc Exp $            --*- makefile -*--
+## $Id: Makefile-files 2113 2005-07-03 09:12:31Z ensc $                --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 0a13835..fa2fcc1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-add.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-add.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index e379a81..9c24864 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-at.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-at.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 1855c2d..e276d65 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-free.c,v 1.2 2005/03/19 02:03:30 ensc Exp $    --*- c -*--
+// $Id: list-free.c 1935 2005-03-19 02:03:30Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 7fc14c4..35074b2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-init.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-init.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index f3ae833..007e755 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-insertinternal.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-insertinternal.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 1eb567c..8e659ab 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-internal.h,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-internal.h 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 96f7b19..a7275b1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-search.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-search.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 990ef87..c573edb 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-searchselforg.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-searchselforg.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index f6e5920..ddf798b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list.h,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list.h 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 5c1bd02..08a8682 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list.hc,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list.hc 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 5be6739..eaf2598 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.4 2005/03/18 00:13:50 ensc Exp $            --*- makefile -*--
+## $Id: Makefile-files 1907 2005-03-18 00:13:50Z ensc $                --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index e3e7f25..c30691b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: test1.c,v 1.4 2005/03/17 14:49:01 ensc Exp $    --*- c -*--
+// $Id: test1.c 1894 2005-03-17 14:49:01Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e423a61..1c7e1fe 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: test2.c,v 1.2 2005/03/24 12:41:27 ensc Exp $    --*- c -*--
+// $Id: test2.c 1975 2005-03-24 12:41:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 081e686..6ef052d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-clear.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-clear.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 57831ce..aec7bd5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-foreach.c,v 1.1 2005/07/03 09:12:31 ensc Exp $    --*- c -*--
+// $Id: vector-foreach.c 2113 2005-07-03 09:12:31Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index eda1957..9ef2f40 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-free.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-free.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index be4eafe..86097db 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-init.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-init.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 28a1c5e..dd86b07 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-insert.c,v 1.2 2004/02/06 16:42:56 ensc Exp $    --*- c -*--
+// $Id: vector-insert.c 824 2004-02-06 16:42:56Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 35b4968..cc67e1c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-internal.h,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-internal.h 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index beebecf..5759d41 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-popback.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-popback.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4e1e7c9..8e2e230 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-pushback.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-pushback.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2a15cf2..53aeb61 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-resize.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-resize.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 97a39ee..aa604d4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-resizeinternal.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-resizeinternal.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5d40b00..7f9421f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-search.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-search.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 420e367..12372a9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-searchselforg.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: vector-searchselforg.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7c02bc0..5dac38b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-sort.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-sort.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2641f61..ab38378 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-unique.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-unique.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e300355..371fc80 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-zeroend.c,v 1.1 2004/06/16 10:10:55 ensc Exp $    --*- c -*--
+// $Id: vector-zeroend.c 1585 2004-06-16 10:10:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b374176..7fd7b46 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector.h,v 1.4 2005/07/03 09:12:31 ensc Exp $    --*- c++ -*--
+// $Id: vector.h 2113 2005-07-03 09:12:31Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2002,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 13ae3e8..9964a1a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector.hc,v 1.3 2005/07/03 09:12:31 ensc Exp $    --*- c++ -*--
+// $Id: vector.hc 2113 2005-07-03 09:12:31Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2002,2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5b7d755..a8fded1 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.4 2005/02/25 23:31:19 ensc Exp $            --*- makefile -*--
+## $Id: Makefile-files 2323 2006-09-19 15:20:56Z dhozac $              --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -25,8 +25,10 @@ noinst_HEADERS +=            ensc_wrappers/wrappers-clone.hc \
                                ensc_wrappers/wrappers-pivot.hc \
                                ensc_wrappers/wrappers-resource.hc \
                                ensc_wrappers/wrappers-socket.hc \
+                               ensc_wrappers/wrappers-stat.hc \
                                ensc_wrappers/wrappers-stdlib.hc \
                                ensc_wrappers/wrappers-string.hc \
+                               ensc_wrappers/wrappers-termios.hc \
                                ensc_wrappers/wrappers-unistd.hc \
                                ensc_wrappers/wrappers-vserver.hc \
                                ensc_wrappers/wrappers-wait.hc \
index 7b7ac9a..fbff870 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-clone.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-clone.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 66184f5..c102dee 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-dirent.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-dirent.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5bc6b6d..72c3320 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-fcntl.hc,v 1.3 2004/04/20 17:57:12 ensc Exp $    --*- c -*--
+// $Id: wrappers-fcntl.hc 1473 2004-04-20 17:57:12Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e9d90fd..684b77f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-io.hc,v 1.3 2005/07/03 12:33:44 ensc Exp $    --*- c -*--
+// $Id: wrappers-io.hc 2116 2005-07-03 12:33:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 68c9c63..33fd1e9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-ioctl.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-ioctl.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4847fe5..579a740 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-iosock.hc,v 1.3 2005/07/03 12:33:44 ensc Exp $    --*- c -*--
+// $Id: wrappers-iosock.hc 2116 2005-07-03 12:33:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 1e961cb..42ff590 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-mount.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-mount.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index daf1249..bd59d03 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-pivot.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-pivot.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 97ed41e..271ffc2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-resource.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-resource.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c5c5424..d70aa97 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-socket.hc,v 1.2 2004/08/19 13:54:27 ensc Exp $    --*- c -*--
+// $Id: wrappers-socket.hc 1649 2004-08-19 13:54:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/ensc_wrappers/wrappers-stat.hc b/ensc_wrappers/wrappers-stat.hc
new file mode 100644 (file)
index 0000000..017fd0a
--- /dev/null
@@ -0,0 +1,46 @@
+// $Id: wrappers-stat.hc 2253 2006-01-22 11:18:14Z ensc $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#ifndef H_ENSC_IN_WRAPPERS_H
+#  error wrappers-stat.hc can not be used in this way
+#endif
+
+#define ENSC_STAT_DECL(FUNC)                                   \
+  inline static WRAPPER_DECL void                              \
+  E##FUNC(char const *filename, struct stat *buf)              \
+  {                                                            \
+    FatalErrnoError(FUNC(filename, buf)==-1, #FUNC "()");      \
+  }                                                            \
+                                                               \
+  inline static WRAPPER_DECL void                              \
+  E##FUNC##D(char const *filename, struct stat *buf)           \
+  {                                                            \
+    ENSC_DETAIL1(msg, #FUNC, filename, 1);                     \
+    FatalErrnoError(FUNC(filename, buf)==-1, msg);             \
+  }
+
+
+ENSC_STAT_DECL(stat)
+ENSC_STAT_DECL(lstat)
+
+#undef ENSC_STAT_DECL
+
+  inline static WRAPPER_DECL void                              
+Efstat(int fd, struct stat *buf)               
+{                                                              
+  FatalErrnoError(fstat(fd, buf)==-1, "fstat()");      
+}
index 2ae432d..dfda8ff 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-stdlib.hc,v 1.2 2004/08/19 13:54:45 ensc Exp $    --*- c -*--
+// $Id: wrappers-stdlib.hc 1650 2004-08-19 13:54:45Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9a24653..0a1884a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-string.hc,v 1.1 2005/02/25 23:31:19 ensc Exp $    --*- c -*--
+// $Id: wrappers-string.hc 1872 2005-02-25 23:31:19Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/ensc_wrappers/wrappers-termios.hc b/ensc_wrappers/wrappers-termios.hc
new file mode 100644 (file)
index 0000000..45d5260
--- /dev/null
@@ -0,0 +1,32 @@
+// $Id: wrappers-termios.hc 2306 2006-09-12 16:55:42Z dhozac $    --*- c -*--
+
+// Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#ifndef H_ENSC_IN_WRAPPERS_H
+#  error wrappers-termios.hc can not be used in this way
+#endif
+
+inline static WRAPPER_DECL void
+Etcgetattr(int fd, struct termios *termios_p)          
+{                                                              
+  FatalErrnoError(tcgetattr(fd, termios_p)==-1, "tcgetattr()");
+}
+
+inline static WRAPPER_DECL void
+Etcsetattr(int fd, int optional_actions, struct termios *termios_p)            
+{                                                              
+  FatalErrnoError(tcsetattr(fd, optional_actions, termios_p)==-1, "tcsetattr()");
+}
index 885641e..8762120 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-unistd.hc,v 1.9 2005/07/03 12:33:44 ensc Exp $    --*- c -*--
+// $Id: wrappers-unistd.hc 2467 2007-01-21 18:26:45Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -138,6 +138,12 @@ Eunlink(char const *pathname)
   FatalErrnoError(unlink(pathname)==-1, "unlink()");
 }
 
+inline static WRAPPER_DECL void
+Elink(char const *oldpath, char const *newpath)
+{
+  FatalErrnoError(link(oldpath, newpath)==-1, "link()");
+}
+
 inline static void
 Esetuid(uid_t uid)
 {
@@ -156,6 +162,12 @@ Esetgroups(size_t size, const gid_t *list)
 {
   FatalErrnoError(setgroups(size, list)==-1, "setgroups()");
 }
+
+inline static void
+Einitgroups(const char *user, gid_t group)
+{
+  FatalErrnoError(initgroups(user, group)==-1, "initgroups()");
+}
 #endif
 
 inline static WRAPPER_DECL int
index 1b8f3f6..dddc258 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-vserver.hc,v 1.11 2004/10/19 23:11:23 ensc Exp $    --*- c++ -*--
+// $Id: wrappers-vserver.hc 2501 2007-02-20 17:33:35Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -20,6 +20,8 @@
 #  error wrappers_handler.hc can not be used in this way
 #endif
 
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
+
 inline static WRAPPER_DECL xid_t
 Evc_new_s_context(xid_t ctx, unsigned int remove_cap, unsigned int flags)
 {
@@ -28,6 +30,8 @@ Evc_new_s_context(xid_t ctx, unsigned int remove_cap, unsigned int flags)
   return res;
 }
 
+#endif
+
 inline static WRAPPER_DECL xid_t
 Evc_get_task_xid(pid_t pid)
 {
@@ -36,6 +40,14 @@ Evc_get_task_xid(pid_t pid)
   return res;
 }
 
+inline static WRAPPER_DECL nid_t
+Evc_get_task_nid(pid_t pid)
+{
+  register nid_t       res = vc_get_task_nid(pid);
+  FatalErrnoError(res==VC_NOCTX, "vc_get_task_nid()");
+  return res;
+}
+
 inline static WRAPPER_DECL xid_t
 Evc_ctx_create(xid_t xid)
 {
@@ -44,10 +56,24 @@ Evc_ctx_create(xid_t xid)
   return res;
 }
 
+inline static WRAPPER_DECL nid_t
+Evc_net_create(nid_t nid)
+{
+  register nid_t       res = vc_net_create(nid);
+  FatalErrnoError(res==VC_NOCTX, "vc_net_create()");
+  return res;
+}
+
+inline static WRAPPER_DECL void
+Evc_ctx_migrate(xid_t xid, uint_least64_t flags)
+{
+  FatalErrnoError(vc_ctx_migrate(xid, flags)==-1, "vc_ctx_migrate()");
+}
+
 inline static WRAPPER_DECL void
-Evc_ctx_migrate(xid_t xid)
+Evc_net_migrate(nid_t nid)
 {
-  FatalErrnoError(vc_ctx_migrate(xid)==-1, "vc_ctx_migrate()");
+  FatalErrnoError(vc_net_migrate(nid)==-1, "vc_net_migrate()");
 }
 
 inline static WRAPPER_DECL void
@@ -62,6 +88,18 @@ Evc_set_cflags(xid_t xid, struct vc_ctx_flags const *flags)
   FatalErrnoError(vc_set_cflags(xid, flags)==-1, "vc_set_cflags()");
 }
 
+inline static WRAPPER_DECL void
+Evc_get_nflags(nid_t nid, struct vc_net_flags *flags)
+{
+  FatalErrnoError(vc_get_nflags(nid, flags)==-1, "vc_get_nflags()");
+}
+
+inline static WRAPPER_DECL void
+Evc_set_nflags(nid_t nid, struct vc_net_flags const *flags)
+{
+  FatalErrnoError(vc_set_nflags(nid, flags)==-1, "vc_set_nflags()");
+}
+
 inline static WRAPPER_DECL void
 Evc_set_vhi_name(xid_t xid, vc_uts_type type,
                 char const *val, size_t len)
@@ -82,15 +120,27 @@ Evc_set_ccaps(xid_t xid, struct vc_ctx_caps const *caps)
 }
 
 inline static WRAPPER_DECL void
-Evc_set_namespace()
+Evc_get_ncaps(nid_t nid, struct vc_net_caps *caps)
+{
+  FatalErrnoError(vc_get_ncaps(nid, caps)==-1, "vc_get_ncaps()");
+}
+
+inline static WRAPPER_DECL void
+Evc_set_ncaps(nid_t nid, struct vc_net_caps const *caps)
 {
-  FatalErrnoError(vc_set_namespace()==-1, "vc_set_namespace()");
+  FatalErrnoError(vc_set_ncaps(nid, caps)==-1, "vc_set_ncaps()");
 }
 
 inline static WRAPPER_DECL void
-Evc_enter_namespace(xid_t xid)
+Evc_set_namespace(xid_t xid, uint_least64_t mask)
 {
-  FatalErrnoError(vc_enter_namespace(xid)==-1, "vc_enter_namespace()");
+  FatalErrnoError(vc_set_namespace(xid, mask)==-1, "vc_set_namespace()");
+}
+
+inline static WRAPPER_DECL void
+Evc_enter_namespace(xid_t xid, uint_least64_t mask)
+{
+  FatalErrnoError(vc_enter_namespace(xid, mask)==-1, "vc_enter_namespace()");
 }
 
 inline static WRAPPER_DECL xid_t
@@ -118,3 +168,15 @@ Evc_xidopt2xid(char const *id, bool honor_static)
 
   return rc;
 }
+
+inline static WRAPPER_DECL nid_t
+Evc_nidopt2nid(char const *id, bool honor_static)
+{
+  char const * err;
+  nid_t                rc = vc_nidopt2nid(id, honor_static, &err);
+  if (__builtin_expect(rc==VC_NOCTX,0)) {
+    ENSC_DETAIL1(msg, "vc_nidopt2nid", id, 1);
+    FatalErrnoErrorFail(msg);
+  }
+  return rc;
+}
index 3df8fd1..e79653c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-wait.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-wait.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2d2e766..92ab848 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers.h,v 1.5 2005/02/25 23:31:19 ensc Exp $    --*- c++ -*--
+// $Id: wrappers.h 2306 2006-09-12 16:55:42Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #  include "wrappers-socket.hc"
 #endif
 
+#ifdef ENSC_WRAPPERS_STAT
+#  include "wrappers-stat.hc"
+#endif
+
+#ifdef ENSC_WRAPPERS_TERMIOS
+#  include "wrappers-termios.hc"
+#endif
+
 #undef ENSC_DETAIL2
 #undef ENSC_DETAIL1
 #undef ENSC_DOQUOTE_COND
index f820371..cfa6482 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers_handler.hc,v 1.4 2004/03/18 05:27:10 ensc Exp $    --*- c -*--
+// $Id: wrappers_handler.hc 1289 2004-03-18 05:27:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 1a83534..4d4a951 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2005-02-02.21
+scriptversion=2005-05-14.22
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
diff --git a/kernel/cacct_cmd.h b/kernel/cacct_cmd.h
new file mode 100644 (file)
index 0000000..6a697c7
--- /dev/null
@@ -0,0 +1,16 @@
+#ifndef _VX_CACCT_CMD_H
+#define _VX_CACCT_CMD_H
+
+
+/* virtual host info name commands */
+
+#define VCMD_sock_stat         VC_CMD(VSTAT, 5, 0)
+
+struct vcmd_sock_stat_v0 {
+       uint32_t field;
+       uint32_t count[3];
+       uint64_t total[3];
+};
+
+
+#endif /* _VX_CACCT_CMD_H */
diff --git a/kernel/context.h b/kernel/context.h
deleted file mode 100644 (file)
index 79f9053..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-#ifndef _VX_CONTEXT_H
-#define _VX_CONTEXT_H
-
-#include <linux/types.h>
-
-
-#define MAX_S_CONTEXT  65535   /* Arbitrary limit */
-#define MIN_D_CONTEXT  49152   /* dynamic contexts start here */
-
-#define VX_DYNAMIC_ID  ((uint32_t)-1)          /* id for dynamic context */
-
-/* context flags */
-
-#define VXF_INFO_LOCK          0x00000001
-#define VXF_INFO_SCHED         0x00000002
-#define VXF_INFO_NPROC         0x00000004
-#define VXF_INFO_PRIVATE       0x00000008
-
-#define VXF_INFO_INIT          0x00000010
-#define VXF_INFO_HIDE          0x00000020
-#define VXF_INFO_ULIMIT                0x00000040
-#define VXF_INFO_NSPACE                0x00000080
-
-#define VXF_SCHED_HARD         0x00000100
-#define VXF_SCHED_PRIO         0x00000200
-#define VXF_SCHED_PAUSE                0x00000400
-
-#define VXF_VIRT_MEM           0x00010000
-#define VXF_VIRT_UPTIME                0x00020000
-#define VXF_VIRT_CPU           0x00040000
-#define VXF_VIRT_LOAD          0x00080000
-
-#define VXF_HIDE_MOUNT         0x01000000
-#define VXF_HIDE_NETIF         0x02000000
-
-#define VXF_STATE_SETUP                (1ULL<<32)
-#define VXF_STATE_INIT         (1ULL<<33)
-
-#define VXF_STATE_HELPER       (1ULL<<36)
-
-#define VXF_FORK_RSS           (1ULL<<48)
-#define VXF_PROLIFIC           (1ULL<<49)
-
-#define VXF_IGNEG_NICE         (1ULL<<52)
-
-#define VXF_ONE_TIME           (0x0003ULL<<32)
-
-#define VXF_INIT_SET           (VXF_STATE_SETUP|VXF_STATE_INIT)
-
-
-/* context caps */
-
-#define        VXC_CAP_MASK            0x00000000
-
-#define VXC_SET_UTSNAME                0x00000001
-#define VXC_SET_RLIMIT         0x00000002
-
-#define VXC_RAW_ICMP           0x00000100
-#define VXC_SYSLOG             0x00001000
-
-#define VXC_SECURE_MOUNT       0x00010000
-#define VXC_SECURE_REMOUNT     0x00020000
-#define VXC_BINARY_MOUNT       0x00040000
-
-#define VXC_QUOTA_CTL          0x00100000
-
-
-/* context state changes */
-
-enum {
-       VSC_STARTUP = 1,
-       VSC_SHUTDOWN,
-
-       VSC_NETUP,
-       VSC_NETDOWN,
-};
-
-
-#ifdef __KERNEL__
-
-#include <linux/list.h>
-#include <linux/spinlock.h>
-#include <linux/rcupdate.h>
-
-#include "limit_def.h"
-#include "sched_def.h"
-#include "cvirt_def.h"
-
-struct vx_info {
-       struct hlist_node vx_hlist;             /* linked list of contexts */
-       xid_t vx_id;                            /* context id */
-       atomic_t vx_usecnt;                     /* usage count */
-       atomic_t vx_tasks;                      /* tasks count */
-       struct vx_info *vx_parent;              /* parent context */
-       int vx_state;                           /* context state */
-
-       struct namespace *vx_namespace;         /* private namespace */
-       struct fs_struct *vx_fs;                /* private namespace fs */
-       uint64_t vx_flags;                      /* context flags */
-       uint64_t vx_bcaps;                      /* bounding caps (system) */
-       uint64_t vx_ccaps;                      /* context caps (vserver) */
-
-       pid_t vx_initpid;                       /* PID of fake init process */
-
-       wait_queue_head_t vx_wait;              /* context exit waitqueue */
-
-       struct _vx_limit limit;                 /* vserver limits */
-       struct _vx_sched sched;                 /* vserver scheduler */
-       struct _vx_cvirt cvirt;                 /* virtual/bias stuff */
-       struct _vx_cacct cacct;                 /* context accounting */
-
-       char vx_name[65];                       /* vserver name */
-};
-
-
-/* status flags */
-
-#define VXS_HASHED     0x0001
-#define VXS_PAUSED     0x0010
-#define VXS_ONHOLD     0x0020
-#define VXS_SHUTDOWN   0x0100
-#define VXS_RELEASED   0x8000
-
-/* check conditions */
-
-#define VX_ADMIN       0x0001
-#define VX_WATCH       0x0002
-#define VX_HIDE                0x0004
-#define VX_HOSTID      0x0008
-
-#define VX_IDENT       0x0010
-#define VX_EQUIV       0x0020
-#define VX_PARENT      0x0040
-#define VX_CHILD       0x0080
-
-#define VX_ARG_MASK    0x00F0
-
-#define VX_DYNAMIC     0x0100
-#define VX_STATIC      0x0200
-
-#define VX_ATR_MASK    0x0F00
-
-
-extern void claim_vx_info(struct vx_info *, struct task_struct *);
-extern void release_vx_info(struct vx_info *, struct task_struct *);
-
-extern struct vx_info *locate_vx_info(int);
-extern struct vx_info *locate_or_create_vx_info(int);
-
-extern int get_xid_list(int, unsigned int *, int);
-extern int xid_is_hashed(xid_t);
-
-extern int vx_migrate_task(struct task_struct *, struct vx_info *);
-
-extern long vs_state_change(struct vx_info *, unsigned int);
-
-
-#endif /* __KERNEL__ */
-#else  /* _VX_CONTEXT_H */
-#warning duplicate inclusion
-#endif /* _VX_CONTEXT_H */
index f631095..354b29d 100644 (file)
@@ -6,10 +6,6 @@
 
 #define VCMD_task_xid          VC_CMD(VINFO, 1, 0)
 
-#ifdef __KERNEL__
-extern int vc_task_xid(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 #define VCMD_vx_info           VC_CMD(VINFO, 5, 0)
 
@@ -19,10 +15,14 @@ struct      vcmd_vx_info_v0 {
        /* more to come */
 };
 
-#ifdef __KERNEL__
-extern int vc_vx_info(uint32_t, void __user *);
 
-#endif /* __KERNEL__ */
+#define VCMD_ctx_stat          VC_CMD(VSTAT, 0, 0)
+
+struct vcmd_ctx_stat_v0 {
+       uint32_t usecnt;
+       uint32_t tasks;
+       /* more to come */
+};
 
 
 /* context commands */
@@ -34,13 +34,13 @@ struct      vcmd_ctx_create {
        uint64_t flagword;
 };
 
-#define VCMD_ctx_migrate       VC_CMD(PROCMIG, 1, 0)
+#define VCMD_ctx_migrate_v0    VC_CMD(PROCMIG, 1, 0)
+#define VCMD_ctx_migrate       VC_CMD(PROCMIG, 1, 1)
 
-#ifdef __KERNEL__
-extern int vc_ctx_create(uint32_t, void __user *);
-extern int vc_ctx_migrate(uint32_t, void __user *);
+struct vcmd_ctx_migrate {
+       uint64_t flagword;
+};
 
-#endif /* __KERNEL__ */
 
 
 /* flag commands */
@@ -53,17 +53,12 @@ struct      vcmd_ctx_flags_v0 {
        uint64_t mask;
 };
 
-#ifdef __KERNEL__
-extern int vc_get_cflags(uint32_t, void __user *);
-extern int vc_set_cflags(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 
 /* context caps commands */
 
-#define VCMD_get_ccaps         VC_CMD(FLAGS, 3, 0)
-#define VCMD_set_ccaps         VC_CMD(FLAGS, 4, 0)
+#define VCMD_get_ccaps_v0      VC_CMD(FLAGS, 3, 0)
+#define VCMD_set_ccaps_v0      VC_CMD(FLAGS, 4, 0)
 
 struct vcmd_ctx_caps_v0 {
        uint64_t bcaps;
@@ -71,9 +66,24 @@ struct       vcmd_ctx_caps_v0 {
        uint64_t cmask;
 };
 
-#ifdef __KERNEL__
-extern int vc_get_ccaps(uint32_t, void __user *);
-extern int vc_set_ccaps(uint32_t, void __user *);
+#define VCMD_get_ccaps         VC_CMD(FLAGS, 3, 1)
+#define VCMD_set_ccaps         VC_CMD(FLAGS, 4, 1)
+
+struct vcmd_ctx_caps_v1 {
+       uint64_t ccaps;
+       uint64_t cmask;
+};
+
+
+
+/* bcaps commands */
+
+#define VCMD_get_bcaps         VC_CMD(FLAGS, 9, 0)
+#define VCMD_set_bcaps         VC_CMD(FLAGS,10, 0)
+
+struct vcmd_bcaps {
+       uint64_t bcaps;
+       uint64_t bmask;
+};
 
-#endif /* __KERNEL__ */
 #endif /* _VX_CONTEXT_CMD_H */
diff --git a/kernel/cvirt.h b/kernel/cvirt.h
deleted file mode 100644 (file)
index eb13878..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _VX_CVIRT_H
-#define _VX_CVIRT_H
-
-#ifdef __KERNEL__
-
-struct timespec;
-
-void vx_vsi_uptime(struct timespec *, struct timespec *);
-
-
-struct vx_info;
-
-void vx_update_load(struct vx_info *);
-
-
-int vx_uts_virt_handler(struct ctl_table *ctl, int write, xid_t xid,
-       void **datap, size_t *lenp);
-
-
-int vx_do_syslog(int, char __user *, int);
-
-#endif /* __KERNEL__ */
-#else  /* _VX_CVIRT_H */
-#warning duplicate inclusion
-#endif /* _VX_CVIRT_H */
index 3260b9f..73b72c1 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef _VX_CVIRT_CMD_H
 #define _VX_CVIRT_CMD_H
 
+
 /* virtual host info name commands */
 
 #define VCMD_set_vhi_name      VC_CMD(VHOST, 1, 0)
@@ -23,12 +24,18 @@ enum vhi_name_field {
 };
 
 
-#ifdef __KERNEL__
 
-#include <linux/compiler.h>
+#define VCMD_virt_stat         VC_CMD(VSTAT, 3, 0)
 
-extern int vc_set_vhi_name(uint32_t, void __user *);
-extern int vc_get_vhi_name(uint32_t, void __user *);
+struct vcmd_virt_stat_v0 {
+       uint64_t offset;
+       uint64_t uptime;
+       uint32_t nr_threads;
+       uint32_t nr_running;
+       uint32_t nr_uninterruptible;
+       uint32_t nr_onhold;
+       uint32_t nr_forks;
+       uint32_t load[3];
+};
 
-#endif /* __KERNEL__ */
 #endif /* _VX_CVIRT_CMD_H */
diff --git a/kernel/cvirt_def.h b/kernel/cvirt_def.h
deleted file mode 100644 (file)
index c352890..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef _VX_CVIRT_DEF_H
-#define _VX_CVIRT_DEF_H
-
-#include <linux/jiffies.h>
-#include <linux/utsname.h>
-#include <linux/spinlock.h>
-#include <linux/wait.h>
-#include <linux/time.h>
-#include <asm/atomic.h>
-
-
-struct _vx_usage_stat {
-       uint64_t user;
-       uint64_t nice;
-       uint64_t system;
-       uint64_t softirq;
-       uint64_t irq;
-       uint64_t idle;
-       uint64_t iowait;
-};
-
-struct _vx_syslog {
-       wait_queue_head_t log_wait;
-       spinlock_t logbuf_lock;         /* lock for the log buffer */
-
-       unsigned long log_start;        /* next char to be read by syslog() */
-       unsigned long con_start;        /* next char to be sent to consoles */
-       unsigned long log_end;          /* most-recently-written-char + 1 */
-       unsigned long logged_chars;     /* #chars since last read+clear operation */
-
-       char log_buf[1024];
-};
-
-
-/* context sub struct */
-
-struct _vx_cvirt {
-       int max_threads;                /* maximum allowed threads */
-       atomic_t nr_threads;            /* number of current threads */
-       atomic_t nr_running;            /* number of running threads */
-       atomic_t nr_uninterruptible;    /* number of uninterruptible threads */
-
-       atomic_t nr_onhold;             /* processes on hold */
-       uint32_t onhold_last;           /* jiffies when put on hold */
-
-       struct timespec bias_idle;
-       struct timespec bias_uptime;    /* context creation point */
-       uint64_t bias_clock;            /* offset in clock_t */
-
-       struct new_utsname utsname;
-
-       spinlock_t load_lock;           /* lock for the load averages */
-       atomic_t load_updates;          /* nr of load updates done so far */
-       uint32_t load_last;             /* last time load was cacled */
-       uint32_t load[3];               /* load averages 1,5,15 */
-
-       atomic_t total_forks;           /* number of forks so far */
-
-       struct _vx_usage_stat cpustat[NR_CPUS];
-
-       struct _vx_syslog syslog;
-};
-
-struct _vx_sock_acc {
-       atomic_t count;
-       atomic_t total;
-};
-
-/* context sub struct */
-
-struct _vx_cacct {
-       unsigned long total_forks;
-
-       struct _vx_sock_acc sock[5][3];
-};
-
-#endif /* _VX_CVIRT_DEF_H */
diff --git a/kernel/debug.h b/kernel/debug.h
deleted file mode 100644 (file)
index 1e58c4e..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-#ifndef _VX_DEBUG_H
-#define _VX_DEBUG_H
-
-#ifndef        CONFIG_VSERVER
-#warning config options missing
-#endif
-
-#define VXD_CBIT(n,m)  (vx_debug_ ## n & (1 << (m)))
-#define VXD_CMIN(n,m)  (vx_debug_ ## n > (m))
-#define VXD_MASK(n,m)  (vx_debug_ ## n & (m))
-
-#define VXD_QPOS(v,p)  (((uint32_t)(v) >> ((p)*8)) & 0xFF)
-#define VXD_QUAD(v)    VXD_QPOS(v,0), VXD_QPOS(v,1),           \
-                       VXD_QPOS(v,2), VXD_QPOS(v,3)
-
-#define __FUNC__       __func__
-
-
-#ifdef CONFIG_VSERVER_DEBUG
-
-extern unsigned int vx_debug_switch;
-extern unsigned int vx_debug_xid;
-extern unsigned int vx_debug_nid;
-extern unsigned int vx_debug_net;
-extern unsigned int vx_debug_limit;
-extern unsigned int vx_debug_dlim;
-extern unsigned int vx_debug_cvirt;
-
-
-#define VX_LOGLEVEL    "vxD: "
-#define VX_WARNLEVEL   KERN_WARNING "vxW: "
-
-#define vxdprintk(c,f,x...)                                    \
-       do {                                                    \
-               if (c)                                          \
-                       printk(VX_LOGLEVEL f "\n" , ##x);       \
-       } while (0)
-
-#define vxlprintk(c,f,x...)                                    \
-       do {                                                    \
-               if (c)                                          \
-                       printk(VX_LOGLEVEL f " @%s:%d\n", x);   \
-       } while (0)
-
-#define vxfprintk(c,f,x...)                                    \
-       do {                                                    \
-               if (c)                                          \
-                       printk(VX_LOGLEVEL f " %s@%s:%d\n", x); \
-       } while (0)
-
-
-#define vxwprintk(c,f,x...)                                    \
-       do {                                                    \
-               if (c)                                          \
-                       printk(VX_WARNLEVEL f "\n" , ##x);      \
-       } while (0)
-
-
-#define vxd_path(d,m)                                          \
-       ({ static char _buffer[PATH_MAX];                       \
-          d_path((d), (m), _buffer, sizeof(_buffer)); })
-
-#else  /* CONFIG_VSERVER_DEBUG */
-
-#define vx_debug_switch 0
-#define vx_debug_xid   0
-#define vx_debug_nid   0
-#define vx_debug_net   0
-#define vx_debug_limit 0
-#define vx_debug_dlim  0
-#define vx_debug_cvirt 0
-
-#define vxdprintk(x...) do { } while (0)
-#define vxlprintk(x...) do { } while (0)
-#define vxfprintk(x...) do { } while (0)
-#define vxwprintk(x...) do { } while (0)
-
-#define vxd_path       "<none>"
-
-#endif /* CONFIG_VSERVER_DEBUG */
-
-
-/* history stuff */
-
-#ifdef CONFIG_VSERVER_HISTORY
-
-
-extern unsigned volatile int vxh_active;
-
-struct _vxhe_vxi {
-       struct vx_info *ptr;
-       unsigned xid;
-       unsigned usecnt;
-       unsigned tasks;
-};
-
-struct _vxhe_set_clr {
-       void *data;
-};
-
-struct _vxhe_loc_lookup {
-       unsigned arg;
-};
-
-enum {
-       VXH_UNUSED=0,
-       VXH_THROW_OOPS=1,
-
-       VXH_GET_VX_INFO,
-       VXH_PUT_VX_INFO,
-       VXH_INIT_VX_INFO,
-       VXH_SET_VX_INFO,
-       VXH_CLR_VX_INFO,
-       VXH_CLAIM_VX_INFO,
-       VXH_RELEASE_VX_INFO,
-       VXH_ALLOC_VX_INFO,
-       VXH_DEALLOC_VX_INFO,
-       VXH_HASH_VX_INFO,
-       VXH_UNHASH_VX_INFO,
-       VXH_LOC_VX_INFO,
-       VXH_LOOKUP_VX_INFO,
-       VXH_CREATE_VX_INFO,
-};
-
-struct _vx_hist_entry {
-       void *loc;
-       unsigned short seq;
-       unsigned short type;
-       struct _vxhe_vxi vxi;
-       union {
-               struct _vxhe_set_clr sc;
-               struct _vxhe_loc_lookup ll;
-       };
-};
-
-struct _vx_hist_entry *vxh_advance(void *loc);
-
-#define        VXH_HERE()              \
-       ({ __label__ here;      \
-               here:;          \
-               &&here; })
-
-
-
-static inline void __vxh_copy_vxi(struct _vx_hist_entry *entry, struct vx_info *vxi)
-{
-       entry->vxi.ptr = vxi;
-       if (vxi) {
-               entry->vxi.usecnt = atomic_read(&vxi->vx_usecnt);
-               entry->vxi.tasks = atomic_read(&vxi->vx_tasks);
-               entry->vxi.xid = vxi->vx_id;
-       }
-}
-
-
-#define __VXH_BODY(__type, __data)             \
-       struct _vx_hist_entry *entry;           \
-                                               \
-       preempt_disable();                      \
-       entry = vxh_advance(VXH_HERE());        \
-       __data;                                 \
-       entry->type = __type;                   \
-       preempt_enable();
-
-
-       /* pass vxi only */
-#define __VXH_SIMPLE                           \
-       __vxh_copy_vxi(entry, vxi)
-
-#define VXH_SIMPLE(__name, __type)             \
-static inline void __name(struct vx_info *vxi) \
-{                                              \
-       __VXH_BODY(__type, __VXH_SIMPLE)        \
-}
-
-       /* pass vxi and data (void *) */
-#define __VXH_DATA                             \
-       __vxh_copy_vxi(entry, vxi);             \
-       entry->sc.data = data
-
-#define VXH_DATA(__name, __type)               \
-static inline                                  \
-void __name(struct vx_info *vxi, void *data)   \
-{                                              \
-       __VXH_BODY(__type, __VXH_DATA)          \
-}
-
-       /* pass vxi and arg (long) */
-#define __VXH_LARG                             \
-       __vxh_copy_vxi(entry, vxi);             \
-       entry->ll.arg = arg
-
-#define VXH_LARG(__name, __type)               \
-static inline                                  \
-void __name(struct vx_info *vxi, long arg)     \
-{                                              \
-       __VXH_BODY(__type, __VXH_LARG)          \
-}
-
-
-static inline void vxh_throw_oops(void)
-{
-       __VXH_BODY(VXH_THROW_OOPS, {});
-       /* prevent further acquisition */
-       vxh_active = 0;
-}
-
-VXH_SIMPLE(vxh_get_vx_info,    VXH_GET_VX_INFO);
-VXH_SIMPLE(vxh_put_vx_info,    VXH_PUT_VX_INFO);
-
-VXH_DATA(vxh_init_vx_info,     VXH_INIT_VX_INFO);
-VXH_DATA(vxh_set_vx_info,      VXH_SET_VX_INFO);
-VXH_DATA(vxh_clr_vx_info,      VXH_CLR_VX_INFO);
-
-VXH_DATA(vxh_claim_vx_info,    VXH_CLAIM_VX_INFO);
-VXH_DATA(vxh_release_vx_info,  VXH_RELEASE_VX_INFO);
-
-VXH_SIMPLE(vxh_alloc_vx_info,  VXH_ALLOC_VX_INFO);
-VXH_SIMPLE(vxh_dealloc_vx_info, VXH_DEALLOC_VX_INFO);
-
-VXH_SIMPLE(vxh_hash_vx_info,   VXH_HASH_VX_INFO);
-VXH_SIMPLE(vxh_unhash_vx_info, VXH_UNHASH_VX_INFO);
-
-VXH_LARG(vxh_loc_vx_info,      VXH_LOC_VX_INFO);
-VXH_LARG(vxh_lookup_vx_info,   VXH_LOOKUP_VX_INFO);
-VXH_LARG(vxh_create_vx_info,   VXH_CREATE_VX_INFO);
-
-extern void vxh_dump_history(void);
-
-
-#else  /* CONFIG_VSERVER_HISTORY */
-
-
-#define vxh_throw_oops()               do { } while (0)
-
-#define vxh_get_vx_info(v)             do { } while (0)
-#define vxh_put_vx_info(v)             do { } while (0)
-
-#define vxh_init_vx_info(v,d)          do { } while (0)
-#define vxh_set_vx_info(v,d)           do { } while (0)
-#define vxh_clr_vx_info(v,d)           do { } while (0)
-
-#define vxh_claim_vx_info(v,d)         do { } while (0)
-#define vxh_release_vx_info(v,d)       do { } while (0)
-
-#define vxh_alloc_vx_info(v)           do { } while (0)
-#define vxh_dealloc_vx_info(v)         do { } while (0)
-
-#define vxh_hash_vx_info(v)            do { } while (0)
-#define vxh_unhash_vx_info(v)          do { } while (0)
-
-#define vxh_loc_vx_info(a,v)           do { } while (0)
-#define vxh_lookup_vx_info(a,v)                do { } while (0)
-#define vxh_create_vx_info(a,v)                do { } while (0)
-
-#define vxh_dump_history()             do { } while (0)
-
-
-#endif /* CONFIG_VSERVER_HISTORY */
-
-
-#ifdef CONFIG_VSERVER_DEBUG
-#define vxd_assert_lock(l)     assert_spin_locked(l)
-#else
-#define        vxd_assert_lock(l)      do { } while (0)
-#endif
-
-
-#endif /* _VX_DEBUG_H */
index c0cbd08..1b63f77 100644 (file)
@@ -6,9 +6,20 @@
 
 #define VCMD_dump_history      VC_CMD(DEBUG, 1, 0)
 
-#ifdef __KERNEL__
+#define VCMD_read_history      VC_CMD(DEBUG, 5, 0)
+#define VCMD_read_monitor      VC_CMD(DEBUG, 6, 0)
+
+struct  vcmd_read_history_v0 {
+       uint32_t index;
+       uint32_t count;
+       char *data;
+};
+
+struct  vcmd_read_monitor_v0 {
+       uint32_t index;
+       uint32_t count;
+       char *data;
+};
 
-extern int vc_dump_history(uint32_t);
 
-#endif /* __KERNEL__ */
 #endif /* _VX_DEBUG_CMD_H */
diff --git a/kernel/dlimit.h b/kernel/dlimit.h
deleted file mode 100644 (file)
index 99c2240..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef _VX_DLIMIT_H
-#define _VX_DLIMIT_H
-
-#include "switch.h"
-
-#define CDLIM_UNSET            (0ULL)
-#define CDLIM_INFINITY         (~0ULL)
-#define CDLIM_KEEP             (~1ULL)
-
-
-#ifdef __KERNEL__
-
-#include <linux/spinlock.h>
-
-struct super_block;
-
-struct dl_info {
-       struct hlist_node dl_hlist;             /* linked list of contexts */
-       struct rcu_head dl_rcu;                 /* the rcu head */
-       xid_t dl_xid;                           /* context id */
-       atomic_t dl_usecnt;                     /* usage count */
-       atomic_t dl_refcnt;                     /* reference count */
-
-       struct super_block *dl_sb;              /* associated superblock */
-
-       spinlock_t dl_lock;                     /* protect the values */
-
-       uint64_t dl_space_used;                 /* used space in bytes */
-       uint64_t dl_space_total;                /* maximum space in bytes */
-       uint32_t dl_inodes_used;                /* used inodes */
-       uint32_t dl_inodes_total;               /* maximum inodes */
-
-       unsigned int dl_nrlmult;                /* non root limit mult */
-};
-
-struct rcu_head;
-
-extern void rcu_free_dl_info(struct rcu_head *);
-extern void unhash_dl_info(struct dl_info *);
-
-extern struct dl_info *locate_dl_info(struct super_block *, xid_t);
-
-
-struct kstatfs;
-
-extern void vx_vsi_statfs(struct super_block *, struct kstatfs *);
-
-typedef uint64_t dlsize_t;
-
-#endif /* __KERNEL__ */
-#else  /* _VX_DLIMIT_H */
-#warning duplicate inclusion
-#endif /* _VX_DLIMIT_H */
index b91a946..ed39987 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef _VX_DLIMIT_CMD_H
 #define _VX_DLIMIT_CMD_H
 
+
 /*  dlimit vserver commands */
 
 #define VCMD_add_dlimit                VC_CMD(DLIMIT, 1, 0)
 #define VCMD_get_dlimit                VC_CMD(DLIMIT, 6, 0)
 
 struct vcmd_ctx_dlimit_base_v0 {
-       const char __user *name;
+       const char *name;
        uint32_t flags;
 };
 
 struct vcmd_ctx_dlimit_v0 {
-       const char __user *name;
-       uint32_t space_used;                    /* used space in kbytes */
-       uint32_t space_total;                   /* maximum space in kbytes */
-       uint32_t inodes_used;                   /* used inodes */
-       uint32_t inodes_total;                  /* maximum inodes */
-       uint32_t reserved;                      /* reserved for root in % */
-       uint32_t flags;
-};
-
-
-#ifdef __KERNEL__
-
-#ifdef CONFIG_COMPAT
-
-struct vcmd_ctx_dlimit_base_v0_x32 {
-       compat_uptr_t name_ptr;
-       uint32_t flags;
-};
-
-struct vcmd_ctx_dlimit_v0_x32 {
-       compat_uptr_t name_ptr;
+       const char *name;
        uint32_t space_used;                    /* used space in kbytes */
        uint32_t space_total;                   /* maximum space in kbytes */
        uint32_t inodes_used;                   /* used inodes */
@@ -44,25 +25,8 @@ struct       vcmd_ctx_dlimit_v0_x32 {
        uint32_t flags;
 };
 
-#endif /* CONFIG_COMPAT */
-
-#include <linux/compiler.h>
-
-extern int vc_add_dlimit(uint32_t, void __user *);
-extern int vc_rem_dlimit(uint32_t, void __user *);
-
-extern int vc_set_dlimit(uint32_t, void __user *);
-extern int vc_get_dlimit(uint32_t, void __user *);
-
-#ifdef CONFIG_COMPAT
-
-extern int vc_add_dlimit_x32(uint32_t, void __user *);
-extern int vc_rem_dlimit_x32(uint32_t, void __user *);
-
-extern int vc_set_dlimit_x32(uint32_t, void __user *);
-extern int vc_get_dlimit_x32(uint32_t, void __user *);
-
-#endif /* CONFIG_COMPAT */
+#define CDLIM_UNSET            ((uint32_t)0UL)
+#define CDLIM_INFINITY         ((uint32_t)~0UL)
+#define CDLIM_KEEP             ((uint32_t)~1UL)
 
-#endif /* __KERNEL__ */
 #endif /* _VX_DLIMIT_CMD_H */
diff --git a/kernel/inode.h b/kernel/inode.h
deleted file mode 100644 (file)
index 89212c2..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef _VX_INODE_H
-#define _VX_INODE_H
-
-
-#define IATTR_XID      0x01000000
-
-#define IATTR_ADMIN    0x00000001
-#define IATTR_WATCH    0x00000002
-#define IATTR_HIDE     0x00000004
-#define IATTR_FLAGS    0x00000007
-
-#define IATTR_BARRIER  0x00010000
-#define IATTR_IUNLINK  0x00020000
-#define IATTR_IMMUTABLE 0x00040000
-
-#ifdef __KERNEL__
-
-#ifndef        CONFIG_VSERVER
-#warning config options missing
-#endif
-
-#ifdef CONFIG_VSERVER_PROC_SECURE
-#define IATTR_PROC_DEFAULT     ( IATTR_ADMIN | IATTR_HIDE )
-#define IATTR_PROC_SYMLINK     ( IATTR_ADMIN )
-#else
-#define IATTR_PROC_DEFAULT     ( IATTR_ADMIN )
-#define IATTR_PROC_SYMLINK     ( IATTR_ADMIN )
-#endif
-
-#define vx_hide_check(c,m)     (((m) & IATTR_HIDE) ? vx_check(c,m) : 1)
-
-#endif /* __KERNEL__ */
-
-/* inode ioctls */
-
-#define FIOC_GETXFLG   _IOR('x', 5, long)
-#define FIOC_SETXFLG   _IOW('x', 6, long)
-
-#else  /* _VX_INODE_H */
-#warning duplicate inclusion
-#endif /* _VX_INODE_H */
index f14c899..ed26aa1 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef _VX_INODE_CMD_H
 #define _VX_INODE_CMD_H
 
+
 /*  inode vserver commands */
 
 #define VCMD_get_iattr_v0      VC_CMD(INODE, 1, 0)
@@ -18,40 +19,11 @@ struct      vcmd_ctx_iattr_v0 {
 };
 
 struct vcmd_ctx_iattr_v1 {
-       const char __user *name;
+       const char *name;
        uint32_t xid;
        uint32_t flags;
        uint32_t mask;
 };
 
 
-#ifdef __KERNEL__
-
-#ifdef CONFIG_COMPAT
-
-struct vcmd_ctx_iattr_v1_x32 {
-       compat_uptr_t name_ptr;
-       uint32_t xid;
-       uint32_t flags;
-       uint32_t mask;
-};
-
-#endif /* CONFIG_COMPAT */
-
-#include <linux/compiler.h>
-
-extern int vc_get_iattr_v0(uint32_t, void __user *);
-extern int vc_set_iattr_v0(uint32_t, void __user *);
-
-extern int vc_get_iattr(uint32_t, void __user *);
-extern int vc_set_iattr(uint32_t, void __user *);
-
-#ifdef CONFIG_COMPAT
-
-extern int vc_get_iattr_x32(uint32_t, void __user *);
-extern int vc_set_iattr_x32(uint32_t, void __user *);
-
-#endif /* CONFIG_COMPAT */
-
-#endif /* __KERNEL__ */
 #endif /* _VX_INODE_CMD_H */
index f058983..a987121 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "switch.h"
 
+
 /*  compatibiliy vserver commands */
 
 #define VCMD_new_s_context     VC_CMD(COMPAT, 1, 1)
@@ -40,9 +41,4 @@ struct        vcmd_set_ipv4root_v3 {
 #define VX_INFO_NAMESPACE      128     /* save private namespace */
 
 
-#ifdef __KERNEL__
-extern int vc_new_s_context(uint32_t, void __user *);
-extern int vc_set_ipv4root(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 #endif /* _VX_LEGACY_H */
diff --git a/kernel/limit.h b/kernel/limit.h
deleted file mode 100644 (file)
index 449a4fc..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _VX_LIMIT_H
-#define _VX_LIMIT_H
-
-#ifdef __KERNEL__
-
-struct sysinfo;
-
-void vx_vsi_meminfo(struct sysinfo *);
-void vx_vsi_swapinfo(struct sysinfo *);
-
-#define VXD_RLIMIT(r,l)                (VXD_CBIT(limit, (l)) && ((r) == (l)))
-
-#define NUM_LIMITS     24
-
-#define VLIMIT_NSOCK   16
-#define VLIMIT_OPENFD  17
-#define VLIMIT_ANON    18
-#define VLIMIT_SHMEM   19
-
-extern const char *vlimit_name[NUM_LIMITS];
-
-#endif /* __KERNEL__ */
-#endif /* _VX_LIMIT_H */
index a994d02..f67f7fc 100644 (file)
@@ -1,11 +1,13 @@
 #ifndef _VX_LIMIT_CMD_H
 #define _VX_LIMIT_CMD_H
 
+
 /*  rlimit vserver commands */
 
 #define VCMD_get_rlimit                VC_CMD(RLIMIT, 1, 0)
 #define VCMD_set_rlimit                VC_CMD(RLIMIT, 2, 0)
 #define VCMD_get_rlimit_mask   VC_CMD(RLIMIT, 3, 0)
+#define VCMD_reset_minmax      VC_CMD(RLIMIT, 9, 0)
 
 struct vcmd_ctx_rlimit_v0 {
        uint32_t id;
@@ -20,17 +22,18 @@ struct      vcmd_ctx_rlimit_mask_v0 {
        uint32_t maximum;
 };
 
+#define VCMD_rlimit_stat       VC_CMD(VSTAT, 1, 0)
+
+struct vcmd_rlimit_stat_v0 {
+       uint32_t id;
+       uint32_t hits;
+       uint64_t value;
+       uint64_t minimum;
+       uint64_t maximum;
+};
+
 #define CRLIM_UNSET            (0ULL)
 #define CRLIM_INFINITY         (~0ULL)
 #define CRLIM_KEEP             (~1ULL)
 
-#ifdef __KERNEL__
-
-#include <linux/compiler.h>
-
-extern int vc_get_rlimit(uint32_t, void __user *);
-extern int vc_set_rlimit(uint32_t, void __user *);
-extern int vc_get_rlimit_mask(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 #endif /* _VX_LIMIT_CMD_H */
diff --git a/kernel/limit_def.h b/kernel/limit_def.h
deleted file mode 100644 (file)
index bab1def..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _VX_LIMIT_DEF_H
-#define _VX_LIMIT_DEF_H
-
-#include <asm/atomic.h>
-#include <asm/resource.h>
-
-#include "limit.h"
-
-/* context sub struct */
-
-struct _vx_limit {
-       atomic_t ticks;
-
-       unsigned long rlim[NUM_LIMITS];         /* Context limit */
-       unsigned long rmax[NUM_LIMITS];         /* Context maximum */
-       atomic_t rcur[NUM_LIMITS];              /* Current value */
-       atomic_t lhit[NUM_LIMITS];              /* Limit hits */
-};
-
-
-#endif /* _VX_LIMIT_DEF_H */
diff --git a/kernel/monitor.h b/kernel/monitor.h
new file mode 100644 (file)
index 0000000..a634bb9
--- /dev/null
@@ -0,0 +1,95 @@
+#ifndef _VX_MONITOR_H
+#define _VX_MONITOR_H
+
+
+enum {
+       VXM_UNUSED = 0,
+
+       VXM_SYNC = 0x10,
+
+       VXM_UPDATE = 0x20,
+       VXM_UPDATE_1,
+       VXM_UPDATE_2,
+
+       VXM_RQINFO_1 = 0x24,
+       VXM_RQINFO_2,
+
+       VXM_ACTIVATE = 0x40,
+       VXM_DEACTIVATE,
+       VXM_IDLE,
+
+       VXM_HOLD = 0x44,
+       VXM_UNHOLD,
+
+       VXM_MIGRATE = 0x48,
+       VXM_RESCHED,
+
+       /* all other bits are flags */
+       VXM_SCHED = 0x80,
+};
+
+struct _vxm_update_1 {
+       uint32_t tokens_max;
+       uint32_t fill_rate;
+       uint32_t interval;
+};
+
+struct _vxm_update_2 {
+       uint32_t tokens_min;
+       uint32_t fill_rate;
+       uint32_t interval;
+};
+
+struct _vxm_rqinfo_1 {
+       uint16_t running;
+       uint16_t onhold;
+       uint16_t iowait;
+       uint16_t uintr;
+       uint32_t idle_tokens;
+};
+
+struct _vxm_rqinfo_2 {
+       uint32_t norm_time;
+       uint32_t idle_time;
+       uint32_t idle_skip;
+};
+
+struct _vxm_sched {
+       uint32_t tokens;
+       uint32_t norm_time;
+       uint32_t idle_time;
+};
+
+struct _vxm_task {
+       uint16_t pid;
+       uint16_t state;
+};
+
+struct _vxm_event {
+       uint32_t jif;
+       union {
+               uint32_t seq;
+               uint32_t sec;
+       };
+       union {
+               uint32_t tokens;
+               uint32_t nsec;
+               struct _vxm_task tsk;
+       };
+};
+
+struct _vx_mon_entry {
+       uint16_t type;
+       uint16_t xid;
+       union {
+               struct _vxm_event ev;
+               struct _vxm_sched sd;
+               struct _vxm_update_1 u1;
+               struct _vxm_update_2 u2;
+               struct _vxm_rqinfo_1 q1;
+               struct _vxm_rqinfo_2 q2;
+       };
+};
+
+
+#endif /* _VX_MONITOR_H */
diff --git a/kernel/namespace.h b/kernel/namespace.h
deleted file mode 100644 (file)
index 1a6bb84..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _VX_NAMESPACE_H
-#define _VX_NAMESPACE_H
-
-#include <linux/types.h>
-
-struct vx_info;
-struct namespace;
-struct fs_struct;
-
-extern int vx_set_namespace(struct vx_info *, struct namespace *, struct fs_struct *);
-
-#else  /* _VX_NAMESPACE_H */
-#warning duplicate inclusion
-#endif /* _VX_NAMESPACE_H */
diff --git a/kernel/namespace_cmd.h b/kernel/namespace_cmd.h
deleted file mode 100644 (file)
index 7533100..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _VX_NAMESPACE_CMD_H
-#define _VX_NAMESPACE_CMD_H
-
-#define VCMD_enter_namespace   VC_CMD(PROCALT, 1, 0)
-#define VCMD_cleanup_namespace VC_CMD(PROCALT, 2, 0)
-#define VCMD_set_namespace     VC_CMD(PROCALT, 3, 0)
-
-
-#ifdef __KERNEL__
-
-extern int vc_enter_namespace(uint32_t, void __user *);
-extern int vc_cleanup_namespace(uint32_t, void __user *);
-extern int vc_set_namespace(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
-#endif /* _VX_NAMESPACE_CMD_H */
index 29c5bd2..2b84f07 100644 (file)
 
 /* network flags */
 
+#define NXF_INFO_LOCK          0x00000001
+
 #define NXF_STATE_SETUP                (1ULL<<32)
+#define NXF_STATE_ADMIN                (1ULL<<34)
 
-#define NXF_STATE_HELPER       (1ULL<<36)
+#define NXF_SC_HELPER          (1ULL<<36)
+#define NXF_PERSISTENT         (1ULL<<38)
 
-#define NXF_ONE_TIME           (0x0001ULL<<32)
+#define NXF_ONE_TIME           (0x0005ULL<<32)
 
-#define NXF_INIT_SET           (0)
+#define NXF_INIT_SET           (NXF_STATE_ADMIN)
 
 
 /* address types */
 
-#define        NXA_TYPE_IPV4           1
-#define        NXA_TYPE_IPV6           2
-
-#define        NXA_MOD_BCAST           (1<<8)
-
-#define        NXA_TYPE_ANY            (~0)
-
-
-#ifdef __KERNEL__
-
-#include <linux/list.h>
-#include <linux/spinlock.h>
-#include <linux/rcupdate.h>
-#include <asm/atomic.h>
-
-
-struct nx_info {
-       struct hlist_node nx_hlist;     /* linked list of nxinfos */
-       nid_t nx_id;                    /* vnet id */
-       atomic_t nx_usecnt;             /* usage count */
-       atomic_t nx_tasks;              /* tasks count */
-       int nx_state;                   /* context state */
-
-       uint64_t nx_flags;              /* network flag word */
-       uint64_t nx_ncaps;              /* network capabilities */
-
-       int nbipv4;
-       __u32 ipv4[NB_IPV4ROOT];        /* Process can only bind to these IPs */
-                                       /* The first one is used to connect */
-                                       /* and for bind any service */
-                                       /* The other must be used explicity */
-       __u32 mask[NB_IPV4ROOT];        /* Netmask for each ipv4 */
-                                       /* Used to select the proper source */
-                                       /* address for sockets */
-       __u32 v4_bcast;                 /* Broadcast address to receive UDP  */
-
-       char nx_name[65];               /* network context name */
-};
-
-
-/* status flags */
-
-#define NXS_HASHED      0x0001
-#define NXS_SHUTDOWN    0x0100
-#define NXS_RELEASED    0x8000
-
-extern struct nx_info *locate_nx_info(int);
-extern struct nx_info *locate_or_create_nx_info(int);
-
-extern int get_nid_list(int, unsigned int *, int);
-extern int nid_is_hashed(nid_t);
-
-extern int nx_migrate_task(struct task_struct *, struct nx_info *);
-
-extern long vs_net_change(struct nx_info *, unsigned int);
-
-struct in_ifaddr;
-struct net_device;
+#define NXA_TYPE_IPV4          1
+#define NXA_TYPE_IPV6          2
 
-int ifa_in_nx_info(struct in_ifaddr *, struct nx_info *);
-int dev_in_nx_info(struct net_device *, struct nx_info *);
+#define NXA_MOD_BCAST          (1<<8)
 
-struct sock;
+#define NXA_TYPE_ANY           ((uint16_t)-1)
 
-int nx_addr_conflict(struct nx_info *, uint32_t, struct sock *);
 
-#endif /* __KERNEL__ */
 #else  /* _VX_NETWORK_H */
 #warning duplicate inclusion
 #endif /* _VX_NETWORK_H */
index d9802fe..06c7055 100644 (file)
@@ -6,10 +6,6 @@
 
 #define VCMD_task_nid          VC_CMD(VINFO, 2, 0)
 
-#ifdef __KERNEL__
-extern int vc_task_nid(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 #define VCMD_nx_info           VC_CMD(VINFO, 6, 0)
 
@@ -18,10 +14,6 @@ struct       vcmd_nx_info_v0 {
        /* more to come */
 };
 
-#ifdef __KERNEL__
-extern int vc_nx_info(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 #define VCMD_net_create_v0     VC_CMD(VNET, 1, 0)
 #define VCMD_net_create                VC_CMD(VNET, 1, 1)
@@ -44,14 +36,6 @@ struct       vcmd_net_addr_v0 {
 };
 
 
-#ifdef __KERNEL__
-extern int vc_net_create(uint32_t, void __user *);
-extern int vc_net_migrate(uint32_t, void __user *);
-
-extern int vc_net_add(uint32_t, void __user *);
-extern int vc_net_remove(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 
 /* flag commands */
@@ -64,11 +48,6 @@ struct       vcmd_net_flags_v0 {
        uint64_t mask;
 };
 
-#ifdef __KERNEL__
-extern int vc_get_nflags(uint32_t, void __user *);
-extern int vc_set_nflags(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 
 /* network caps commands */
@@ -81,9 +60,4 @@ struct        vcmd_net_caps_v0 {
        uint64_t cmask;
 };
 
-#ifdef __KERNEL__
-extern int vc_get_ncaps(uint32_t, void __user *);
-extern int vc_set_ncaps(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 #endif /* _VX_CONTEXT_CMD_H */
diff --git a/kernel/sched.h b/kernel/sched.h
deleted file mode 100644 (file)
index 60569ab..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _VX_SCHED_H
-#define _VX_SCHED_H
-
-#ifdef __KERNEL__
-
-struct timespec;
-
-void vx_vsi_uptime(struct timespec *, struct timespec *);
-
-
-struct vx_info;
-
-void vx_update_load(struct vx_info *);
-
-
-struct task_struct;
-
-int vx_effective_vavavoom(struct vx_info *, int);
-
-int vx_tokens_recalc(struct vx_info *);
-
-#endif /* __KERNEL__ */
-#else  /* _VX_SCHED_H */
-#warning duplicate inclusion
-#endif /* _VX_SCHED_H */
index 2a6f55b..c18fb9e 100644 (file)
@@ -1,10 +1,12 @@
 #ifndef _VX_SCHED_CMD_H
 #define _VX_SCHED_CMD_H
 
+
 /*  sched vserver commands */
 
 #define VCMD_set_sched_v2      VC_CMD(SCHED, 1, 2)
-#define VCMD_set_sched         VC_CMD(SCHED, 1, 3)
+#define VCMD_set_sched_v3      VC_CMD(SCHED, 1, 3)
+#define VCMD_set_sched_v4      VC_CMD(SCHED, 1, 4)
 
 struct vcmd_set_sched_v2 {
        int32_t fill_rate;
@@ -25,23 +27,66 @@ struct      vcmd_set_sched_v3 {
        int32_t priority_bias;
 };
 
+struct vcmd_set_sched_v4 {
+       uint32_t set_mask;
+       int32_t fill_rate;
+       int32_t interval;
+       int32_t tokens;
+       int32_t tokens_min;
+       int32_t tokens_max;
+       int32_t prio_bias;
+       int32_t cpu_id;
+       int32_t bucket_id;
+};
+
+#define VCMD_set_sched         VC_CMD(SCHED, 1, 5)
+#define VCMD_get_sched         VC_CMD(SCHED, 2, 5)
+
+struct vcmd_sched_v5 {
+       uint32_t mask;
+       int32_t cpu_id;
+       int32_t bucket_id;
+       int32_t fill_rate[2];
+       int32_t interval[2];
+       int32_t tokens;
+       int32_t tokens_min;
+       int32_t tokens_max;
+       int32_t prio_bias;
+};
 
 #define VXSM_FILL_RATE         0x0001
 #define VXSM_INTERVAL          0x0002
+#define VXSM_FILL_RATE2                0x0004
+#define VXSM_INTERVAL2         0x0008
 #define VXSM_TOKENS            0x0010
 #define VXSM_TOKENS_MIN                0x0020
 #define VXSM_TOKENS_MAX                0x0040
 #define VXSM_PRIO_BIAS         0x0100
 
-#define SCHED_KEEP             (-2)
+#define VXSM_IDLE_TIME         0x0200
+#define VXSM_FORCE             0x0400
+
+#define        VXSM_V3_MASK            0x0173
+#define        VXSM_SET_MASK           0x01FF
 
-#ifdef __KERNEL__
+#define VXSM_CPU_ID            0x1000
+#define VXSM_BUCKET_ID         0x2000
 
-#include <linux/compiler.h>
+#define VXSM_MSEC              0x4000
 
-extern int vc_set_sched_v1(uint32_t, void __user *);
-extern int vc_set_sched_v2(uint32_t, void __user *);
-extern int vc_set_sched(uint32_t, void __user *);
+#define SCHED_KEEP             (-2)    /* only for v2 */
+
+
+#define VCMD_sched_info                VC_CMD(SCHED, 3, 0)
+
+struct vcmd_sched_info {
+       int32_t cpu_id;
+       int32_t bucket_id;
+       uint64_t user_msec;
+       uint64_t sys_msec;
+       uint64_t hold_msec;
+       uint32_t token_usec;
+       int32_t vavavoom;
+};
 
-#endif /* __KERNEL__ */
 #endif /* _VX_SCHED_CMD_H */
diff --git a/kernel/sched_def.h b/kernel/sched_def.h
deleted file mode 100644 (file)
index 3a57761..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef _VX_SCHED_DEF_H
-#define _VX_SCHED_DEF_H
-
-#include <linux/spinlock.h>
-#include <linux/jiffies.h>
-#include <linux/cpumask.h>
-#include <asm/atomic.h>
-#include <asm/param.h>
-
-
-struct _vx_ticks {
-       uint64_t user_ticks;            /* token tick events */
-       uint64_t sys_ticks;             /* token tick events */
-       uint64_t hold_ticks;            /* token ticks paused */
-       uint64_t unused[5];             /* cacheline ? */
-};
-
-/* context sub struct */
-
-struct _vx_sched {
-       atomic_t tokens;                /* number of CPU tokens */
-       spinlock_t tokens_lock;         /* lock for token bucket */
-
-       int fill_rate;                  /* Fill rate: add X tokens... */
-       int interval;                   /* Divisor:   per Y jiffies   */
-       int tokens_min;                 /* Limit:     minimum for unhold */
-       int tokens_max;                 /* Limit:     no more than N tokens */
-       uint32_t jiffies;               /* last time accounted */
-
-       int priority_bias;              /* bias offset for priority */
-       int vavavoom;                   /* last calculated vavavoom */
-
-       cpumask_t cpus_allowed;         /* cpu mask for context */
-
-       struct _vx_ticks cpu[NR_CPUS];
-};
-
-#endif /* _VX_SCHED_DEF_H */
index e842538..6ef9720 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef _VX_SIGNAL_CMD_H
 #define _VX_SIGNAL_CMD_H
 
+
 /*  signalling vserver commands */
 
 #define VCMD_ctx_kill          VC_CMD(PROCTRL, 1, 0)
@@ -12,14 +13,19 @@ struct      vcmd_ctx_kill_v0 {
 };
 
 struct vcmd_wait_exit_v0 {
-       int32_t a;
-       int32_t b;
+       int32_t reboot_cmd;
+       int32_t exit_code;
 };
 
-#ifdef __KERNEL__
 
-extern int vc_ctx_kill(uint32_t, void __user *);
-extern int vc_wait_exit(uint32_t, void __user *);
+/*  process alteration commands */
+
+#define VCMD_get_pflags                VC_CMD(PROCALT, 5, 0)
+#define VCMD_set_pflags                VC_CMD(PROCALT, 6, 0)
+
+struct vcmd_pflags_v0 {
+       uint32_t flagword;
+       uint32_t mask;
+};
 
-#endif /* __KERNEL__ */
 #endif /* _VX_SIGNAL_CMD_H */
diff --git a/kernel/space_cmd.h b/kernel/space_cmd.h
new file mode 100644 (file)
index 0000000..811b451
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef _VX_SPACE_CMD_H
+#define _VX_SPACE_CMD_H
+
+
+#define VCMD_enter_space_v0    VC_CMD(PROCALT, 1, 0)
+#define VCMD_enter_space       VC_CMD(PROCALT, 1, 1)
+
+/* XXX: This is not available in recent kernels */
+#define VCMD_cleanup_namespace VC_CMD(PROCALT, 2, 0)
+
+#define VCMD_set_space_v0      VC_CMD(PROCALT, 3, 0)
+#define VCMD_set_space         VC_CMD(PROCALT, 3, 1)
+
+#define VCMD_get_space_mask    VC_CMD(PROCALT, 4, 0)
+
+
+struct vcmd_space_mask {
+       uint64_t mask;
+};
+
+
+#endif /* _VX_SPACE_CMD_H */
index 0c7fddb..95eb6b4 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <linux/types.h>
 
+
 #define VC_CATEGORY(c)         (((c) >> 24) & 0x3F)
 #define VC_COMMAND(c)          (((c) >> 16) & 0xFF)
 #define VC_VERSION(c)          ((c) & 0xFFF)
@@ -18,7 +19,7 @@
         |STATS  |DESTROY|ALTER  |CHANGE |LIMIT  |TEST   | |       |       |
         |INFO   |SETUP  |       |MOVE   |       |       | |       |       |
   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
-  SYSTEM |VERSION|VSETUP |VHOST  |       |       |       | |DEVICES|       |
+  SYSTEM |VERSION|VSETUP |VHOST  |       |       |       | |DEVICE |       |
   HOST   |     00|     01|     02|     03|     04|     05| |     06|     07|
   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
   CPU    |       |VPROC  |PROCALT|PROCMIG|PROCTRL|       | |SCHED. |       |
@@ -33,7 +34,7 @@
   DISK   |       |       |       |       |DLIMIT |       | |INODE  |       |
   VFS    |     32|     33|     34|     35|     36|     37| |     38|     39|
   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
-  OTHER  |       |       |       |       |       |       | |VINFO  |       |
+  OTHER  |VSTAT  |       |       |       |       |       | |VINFO  |       |
         |     40|     41|     42|     43|     44|     45| |     46|     47|
   =======+=======+=======+=======+=======+=======+=======+ +=======+=======+
   SPECIAL|EVENT  |       |       |       |FLAGS  |       | |       |       |
@@ -50,6 +51,8 @@
 #define VC_CAT_VSETUP          1
 #define VC_CAT_VHOST           2
 
+#define VC_CAT_DEVICE          6
+
 #define VC_CAT_VPROC           9
 #define VC_CAT_PROCALT         10
 #define VC_CAT_PROCMIG         11
@@ -65,6 +68,7 @@
 #define VC_CAT_DLIMIT          36
 #define VC_CAT_INODE           38
 
+#define VC_CAT_VSTAT           40
 #define VC_CAT_VINFO           46
 #define VC_CAT_EVENT           48
 
 
 /*  interface version */
 
-#define VCI_VERSION            0x00020001
+#define VCI_VERSION            0x00020102
 #define VCI_LEGACY_VERSION     0x000100FF
 
 /*  query version */
 
 #define VCMD_get_version       VC_CMD(VERSION, 0, 0)
+#define VCMD_get_vci           VC_CMD(VERSION, 1, 0)
 
 
-#ifdef __KERNEL__
-
-#include <linux/errno.h>
-
-
-#else  /* __KERNEL__ */
 #define __user
-#endif /* __KERNEL__ */
 
 #endif /* _VX_SWITCH_H */
diff --git a/kernel/xid.h b/kernel/xid.h
deleted file mode 100644 (file)
index 4848951..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-#ifndef _VX_XID_H
-#define _VX_XID_H
-
-#ifndef        CONFIG_VSERVER
-#warning config options missing
-#endif
-
-#define XID_TAG_SB(sb) (sb->s_flags & MS_TAGXID)
-
-#define XID_TAG(in)    (!(in) || \
-       (((struct inode *)in)->i_sb && \
-       XID_TAG_SB(((struct inode *)in)->i_sb)))
-
-
-#ifdef CONFIG_XID_TAG_NFSD
-#define        XID_TAG_NFSD    1
-#else
-#define        XID_TAG_NFSD    0
-#endif
-
-
-#ifdef CONFIG_INOXID_NONE
-
-#define MAX_UID                0xFFFFFFFF
-#define MAX_GID                0xFFFFFFFF
-
-#define INOXID_XID(tag, uid, gid, xid) (0)
-
-#define XIDINO_UID(tag, uid, xid)      (uid)
-#define XIDINO_GID(tag, gid, xid)      (gid)
-
-#endif
-
-
-#ifdef CONFIG_INOXID_GID16
-
-#define MAX_UID                0xFFFFFFFF
-#define MAX_GID                0x0000FFFF
-
-#define INOXID_XID(tag, uid, gid, xid) \
-       ((tag) ? (((gid) >> 16) & 0xFFFF) : 0)
-
-#define XIDINO_UID(tag, uid, xid)      (uid)
-#define XIDINO_GID(tag, gid, xid)      \
-       ((tag) ? (((gid) & 0xFFFF) | ((xid) << 16)) : (gid))
-
-#endif
-
-
-#ifdef CONFIG_INOXID_UGID24
-
-#define MAX_UID                0x00FFFFFF
-#define MAX_GID                0x00FFFFFF
-
-#define INOXID_XID(tag, uid, gid, xid) \
-       ((tag) ? ((((uid) >> 16) & 0xFF00) | (((gid) >> 24) & 0xFF)) : 0)
-
-#define XIDINO_UID(tag, uid, xid)      \
-       ((tag) ? (((uid) & 0xFFFFFF) | (((xid) & 0xFF00) << 16)) : (uid))
-#define XIDINO_GID(tag, gid, xid)      \
-       ((tag) ? (((gid) & 0xFFFFFF) | (((xid) & 0x00FF) << 24)) : (gid))
-
-#endif
-
-
-#ifdef CONFIG_INOXID_UID16
-
-#define MAX_UID                0x0000FFFF
-#define MAX_GID                0xFFFFFFFF
-
-#define INOXID_XID(tag, uid, gid, xid) \
-       ((tag) ? (((uid) >> 16) & 0xFFFF) : 0)
-
-#define XIDINO_UID(tag, uid, xid)      \
-       ((tag) ? (((uid) & 0xFFFF) | ((xid) << 16)) : (uid))
-#define XIDINO_GID(tag, gid, xid)      (gid)
-
-#endif
-
-
-#ifdef CONFIG_INOXID_INTERN
-
-#define MAX_UID                0xFFFFFFFF
-#define MAX_GID                0xFFFFFFFF
-
-#define INOXID_XID(tag, uid, gid, xid) \
-       ((tag) ? (xid) : 0)
-
-#define XIDINO_UID(tag, uid, xid)      (uid)
-#define XIDINO_GID(tag, gid, xid)      (gid)
-
-#endif
-
-
-#ifdef CONFIG_INOXID_RUNTIME
-
-#define MAX_UID                0xFFFFFFFF
-#define MAX_GID                0xFFFFFFFF
-
-#define INOXID_XID(tag, uid, gid, xid) (0)
-
-#define XIDINO_UID(tag, uid, xid)      (uid)
-#define XIDINO_GID(tag, gid, xid)      (gid)
-
-#endif
-
-
-#ifdef CONFIG_INOXID_NONE
-#define vx_current_fsxid(sb)   (0)
-#else
-#define vx_current_fsxid(sb)   \
-       (XID_TAG_SB(sb) ? current->xid : 0)
-#endif
-
-#define INOXID_UID(tag, uid, gid)      \
-       ((tag) ? ((uid) & MAX_UID) : (uid))
-#define INOXID_GID(tag, uid, gid)      \
-       ((tag) ? ((gid) & MAX_GID) : (gid))
-
-
-static inline uid_t vx_map_uid(uid_t uid)
-{
-       if ((uid > MAX_UID) && (uid != -1))
-               uid = -2;
-       return (uid & MAX_UID);
-}
-
-static inline gid_t vx_map_gid(gid_t gid)
-{
-       if ((gid > MAX_GID) && (gid != -1))
-               gid = -2;
-       return (gid & MAX_GID);
-}
-
-
-#ifdef CONFIG_VSERVER_LEGACY
-#define FIOC_GETXID    _IOR('x', 1, long)
-#define FIOC_SETXID    _IOW('x', 2, long)
-#define FIOC_SETXIDJ   _IOW('x', 3, long)
-#endif
-
-int vx_parse_xid(char *string, xid_t *xid, int remove);
-void vx_propagate_xid(struct nameidata *nd, struct inode *inode);
-
-#endif /* _VX_XID_H */
index 02f3851..70262c7 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.55 2005/05/05 09:17:25 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 2449 2007-01-10 18:53:07Z dhozac $  -*- makefile -*-
 
 ## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -22,7 +22,8 @@ lib_VERSION =                 0.0.0
 lib_compat_SRCS =              lib/cflags-compat.c \
                                lib/cflags_list-compat.c
 lib_legacy_SRCS =              lib/getprocentry-legacy.c
-lib_management_SRCS =          lib/createskeleton.c \
+lib_management_SRCS =          lib/comparevserverbyid.c \
+                               lib/createskeleton.c \
                                lib/getvserverbyctx.c \
                                lib/getvserverbyctx-compat.hc \
                                lib/getvserverbyctx-v13.hc \
@@ -32,7 +33,8 @@ lib_management_SRCS =         lib/createskeleton.c \
                                lib/getvserverctx.c \
                                lib/getvservername.c \
                                lib/getvservervdir.c \
-                               lib/xidopt2xid.c
+                               lib/xidopt2xid.c \
+                               lib/nidopt2nid.c
 lib_v11_SRCS =                 lib/syscall_rlimit.c \
                                lib/syscall_rlimit-v11.hc \
                                lib/syscall_kill.c  \
@@ -91,6 +93,7 @@ lib_v13_SRCS =                        lib/syscall_ctxcreate.c \
                                lib/syscall_setnflags-net.hc \
                                lib/syscall_setnflags.c \
                                lib/syscall_setsched-v13.hc \
+                               lib/syscall_setsched-v13obs.hc \
                                lib/syscall_setsched.c \
                                lib/syscall_setvhiname-olduts.hc \
                                lib/syscall_setvhiname-v13.hc \
@@ -107,6 +110,27 @@ lib_v13_SRCS =                     lib/syscall_ctxcreate.c \
                                lib/ncaps_list-net.c \
                                lib/nflags-net.c \
                                lib/nflags_list-net.c
+lib_v21_SRCS =                 lib/syscall_setccaps-v21.hc \
+                               lib/syscall_setsched-v21.hc \
+                               lib/syscall_rlimitstat.c \
+                               lib/syscall_rlimitstat-v21.hc \
+                               lib/syscall_resetminmax.c \
+                               lib/syscall_resetminmax-v21.hc \
+                               lib/syscall_getvci.c \
+                               lib/syscall_getvci-v21.hc \
+                               lib/syscall_virtstat.c \
+                               lib/syscall_virtstat-v21.hc \
+                               lib/syscall_ctxstat.c \
+                               lib/syscall_ctxstat-v21.hc \
+                               lib/syscall_getspacemask.c \
+                               lib/syscall_getspacemask-v21.hc \
+                               lib/syscall_enternamespace-v21.hc \
+                               lib/syscall_setnamespace-v21.hc \
+                               lib/syscall_ctxmigrate-v21.hc \
+                               lib/syscall_setmapping.c \
+                               lib/syscall_setmapping-v21.hc \
+                               lib/syscall_schedinfo.c \
+                               lib/syscall_schedinfo-v21.hc
 
 if ENSC_HAVE_C99_COMPILER
 lib_v13_SRCS +=                        lib/syscall_adddlimit-v13.hc \
@@ -123,6 +147,7 @@ PKGCONFIG_FILES =           lib/util-vserver
 
 lib_SRCS =                     lib/syscall.c \
                                lib/checkversion.c \
+                               lib/checkconfig.c \
                                lib/isdirectory.c \
                                lib/isfile.c \
                                lib/islink.c \
@@ -152,12 +177,14 @@ lib_SRCS =                        lib/syscall.c \
                                $(lib_management_SRCS) \
                                $(lib_v11_SRCS) \
                                $(lib_v13_SRCS) \
+                               $(lib_v21_SRCS) \
                                $(ensc_fmt_SRCS)
 
 include_HEADERS +=             lib/vserver.h
 
 noinst_HEADERS +=              lib/syscall-compat.hc \
                                lib/syscall-legacy.hc \
+                               lib/syscall-fallback.h \
                                lib/createskeleton-full.hc \
                                lib/createskeleton-short.hc \
                                lib/fmt.h \
@@ -199,7 +226,8 @@ lib_libvserver_la_LDFLAGS = -version $(lib_VERSION)
 lib_libvserver_a_SOURCES =     $(lib_SRCS)
 lib_libvserver_a_CPPFLAGS =    $(AM_CPPFLAGS) $(LIB_DEBUG_CPPFLAGS)
 
-DIETPROGS +=                   lib/lib_libvserver_a-%
+DIETPROGS +=                   lib/lib_libvserver_a-%          \
+                               ensc_fmt/lib_libvserver_a-%
 
 CLEANFILES +=                  lib/libvserver.la \
                                lib/libvserver.a
index be59257..da6e1d8 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.3 2004/04/28 18:12:54 ensc Exp $    --*- makefile -*--
+## $Id: Makefile-files 1528 2004-04-28 18:12:54Z ensc $        --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index ce793f8..715348f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: bcaps-v13.c,v 1.5 2005/07/15 16:27:37 ensc Exp $    --*- c -*--
+// $Id: bcaps-v13.c 2148 2005-07-15 16:27:37Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
index f6f57b8..959a17c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: bcaps_list-v13.c,v 1.3 2005/04/24 20:19:52 ensc Exp $    --*- c -*--
+// $Id: bcaps_list-v13.c 2038 2005-04-24 20:24:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
index e3ed156..7931cba 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: capabilities.c,v 1.5 2005/07/15 16:32:05 ensc Exp $    --*- c -*--
+// $Id: capabilities.c 2150 2005-07-15 16:32:05Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 71471a7..4f38864 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ccaps-v13.c,v 1.4 2005/07/15 16:28:18 ensc Exp $    --*- c -*--
+// $Id: ccaps-v13.c 2393 2006-11-23 18:30:29Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
 #include <lib_internal/util-dimof.h>
 
 #include <string.h>
+#include <strings.h>
 #include <assert.h>
 
 #define DECL(STR, VAL) { STR, sizeof(STR)-1, VAL }
 
 static struct Mapping_uint64 const VALUES[] = {
-  DECL("utsname",         VC_VXC_SET_UTSNAME),
-  DECL("rlimit",          VC_VXC_SET_RLIMIT),
+  DECL("set_utsname",     VC_VXC_SET_UTSNAME),
+  DECL("set_rlimit",      VC_VXC_SET_RLIMIT),
   DECL("raw_icmp",        VC_VXC_RAW_ICMP),
   DECL("syslog",          VC_VXC_SYSLOG),
   DECL("secure_mount",    VC_VXC_SECURE_MOUNT),
   DECL("secure_remount",  VC_VXC_SECURE_REMOUNT),
   DECL("binary_mount",    VC_VXC_BINARY_MOUNT),
   DECL("quota_ctl",       VC_VXC_QUOTA_CTL),
+  DECL("admin_mapper",    VC_VXC_ADMIN_MAPPER),
+  DECL("admin_cloop",     VC_VXC_ADMIN_CLOOP),
     // some deprecated values...
   DECL("mount",           VC_VXC_SECURE_MOUNT),
   DECL("remount",         VC_VXC_SECURE_REMOUNT),
   DECL("icmp",            VC_VXC_RAW_ICMP),
   DECL("ping",            VC_VXC_RAW_ICMP),
+  DECL("utsname",         VC_VXC_SET_UTSNAME),
+  DECL("rlimit",          VC_VXC_SET_RLIMIT),
 };
 
+inline static char const *
+removePrefix(char const *str, size_t *len)
+{
+  if ((len==0 || *len==0 || *len>4) &&
+      strncasecmp("vxc_", str, 4)==0) {
+    if (len && *len>4) *len -= 4;
+    return str+4;
+  }
+  else
+    return str;
+}
+
 uint_least64_t
 vc_text2ccap(char const *str, size_t len)
 {
-  ssize_t      idx = utilvserver_value2text_uint64(str, len,
+  char const * tmp = removePrefix(str, &len);
+  ssize_t      idx = utilvserver_value2text_uint64(tmp, len,
                                                    VALUES, DIM_OF(VALUES));
   if (idx==-1) return 0;
   else         return VALUES[idx].val;
index 0b26243..ad994ac 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ccaps_list-v13.c,v 1.2 2005/04/24 20:19:52 ensc Exp $    --*- c -*--
+// $Id: ccaps_list-v13.c 2038 2005-04-24 20:24:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
index 85d530e..7829815 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: cflags-compat.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: cflags-compat.c 1449 2004-04-14 23:19:51Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
index 0af2d04..dae4bbf 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: cflags-v13.c,v 1.3 2004/10/21 19:00:20 ensc Exp $    --*- c -*--
+// $Id: cflags-v13.c 2533 2007-04-21 14:06:26Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
@@ -25,6 +25,7 @@
 #include <lib_internal/util-dimof.h>
 
 #include <string.h>
+#include <strings.h>
 #include <assert.h>
 
 #define DECL(STR, VAL) { STR, sizeof(STR)-1, VAL }
@@ -48,23 +49,58 @@ static struct Mapping_uint64 const VALUES[] = {
   DECL("virt_uptime",   VC_VXF_VIRT_UPTIME),
   DECL("virt_cpu",      VC_VXF_VIRT_CPU),
   DECL("virt_load",     VC_VXF_VIRT_LOAD),
+  DECL("virt_time",    VC_VXF_VIRT_TIME),
 
   DECL("hide_mount",   VC_VXF_HIDE_MOUNT),
   DECL("hide_netif",   VC_VXF_HIDE_NETIF),
+  DECL("hide_vinfo",   VC_VXF_HIDE_VINFO),
 
   DECL("state_setup",   VC_VXF_STATE_SETUP),
   DECL("state_init",    VC_VXF_STATE_INIT),
+  DECL("state_admin",  VC_VXF_STATE_ADMIN),
+
+  DECL("sc_helper",    VC_VXF_SC_HELPER),
+  DECL("persistent",   VC_VXF_PERSISTENT),
+  DECL("reboot_kill",  VC_VXF_REBOOT_KILL),
 
   DECL("fork_rss",     VC_VXF_FORK_RSS),
   DECL("prolific",     VC_VXF_PROLIFIC),
   DECL("igneg_nice",    VC_VXF_IGNEG_NICE),
-  
+
+    // Some pseudo flags
+  DECL("secure",        VC_VXF_HIDE_NETIF),
+  DECL("default",       VC_VXF_VIRT_UPTIME|VC_VXF_SC_HELPER),
+
+    // Aliases for the legacy flags
+  DECL("info_lock",    VC_VXF_INFO_LOCK),
+  DECL("info_nproc",   VC_VXF_INFO_NPROC),
+  DECL("info_private", VC_VXF_INFO_PRIVATE),
+  DECL("info_init",    VC_VXF_INFO_INIT),
+
+  DECL("info_hideinfo",        VC_VXF_INFO_HIDEINFO),
+  DECL("info_ulimit",  VC_VXF_INFO_ULIMIT),
+  DECL("info_namespace", VC_VXF_INFO_NAMESPACE),
+    // 2.6 name
+  DECL("info_nspace",  VC_VXF_INFO_NAMESPACE),
 };
 
+inline static char const *
+removePrefix(char const *str, size_t *len)
+{
+  if ((len==0 || *len==0 || *len>4) &&
+      strncasecmp("vxf_", str, 4)==0) {
+    if (len && *len>4) *len -= 4;
+    return str+4;
+  }
+  else
+    return str;
+}
+
 uint_least64_t
 vc_text2cflag(char const *str, size_t len)
 {
-  ssize_t      idx = utilvserver_value2text_uint64(str, len,
+  char const * tmp = removePrefix(str, &len);
+  ssize_t      idx = utilvserver_value2text_uint64(tmp, len,
                                                    VALUES, DIM_OF(VALUES));
   if (idx==-1) return 0;
   else         return VALUES[idx].val;
index 7d5b0a0..cc53c8f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: cflags_list-compat.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: cflags_list-compat.c 1449 2004-04-14 23:19:51Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
index 48617f0..0a0ff09 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: cflags_list-v13.c,v 1.3 2005/04/28 17:53:01 ensc Exp $    --*- c -*--
+// $Id: cflags_list-v13.c 2057 2005-04-28 17:53:01Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
diff --git a/lib/checkconfig.c b/lib/checkconfig.c
new file mode 100644 (file)
index 0000000..9e5c798
--- /dev/null
@@ -0,0 +1,45 @@
+// $Id: checkconfig.c 2464 2007-01-20 13:55:42Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include "vserver-internal.h"
+
+uint_least32_t
+utilvserver_checkCompatConfig()
+{
+#ifdef VC_ENABLE_API_V21
+  static uint32_t      res=0;
+  static int           v_errno;
+
+  if (res==0) {
+    res     = vc_get_vci();
+    v_errno = errno;
+    if (res==(uint32_t)-1) res=0;
+  }
+
+  errno = v_errno;
+  return res;
+#else
+  return 0;
+#endif
+}
index 5670bde..205fb0e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: checkversion.c,v 1.5 2004/01/21 18:53:22 ensc Exp $    --*- c++ -*--
+// $Id: checkversion.c 2246 2006-01-18 23:34:36Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -35,7 +35,7 @@ utilvserver_checkCompatVersion()
     v_errno = errno;
 #ifdef VC_ENABLE_API_LEGACY
     if (res==-1 && (errno==ENOSYS || errno==EINVAL)) res=0;
-#endif    
+#endif
   }
 
   errno = v_errno;
diff --git a/lib/comparevserverbyid.c b/lib/comparevserverbyid.c
new file mode 100644 (file)
index 0000000..61a9ccf
--- /dev/null
@@ -0,0 +1,83 @@
+// $Id: comparevserverbyid.c 2180 2005-10-25 16:17:12Z ensc $    --*- c -*--
+
+// Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include "pathconfig.h"
+
+#include <sys/stat.h>
+#include <string.h>
+
+static char const *
+completePath(char const *id, size_t len, vcCfgStyle style, char *buf)
+{
+  switch (style) {
+    case vcCFG_RECENT_FULL     :  return id;
+    case vcCFG_RECENT_SHORT    :
+      memcpy(buf,              CONFDIR "/", sizeof(CONFDIR "/")-1);
+      memcpy(buf+sizeof(CONFDIR "/")-1, id, len+1);    // appends '\0' implicitly
+      return buf;
+    default                    :  return 0;
+  }
+}
+
+int
+vc_compareVserverById(char const *lhs, vcCfgStyle lhs_style,
+                     char const *rhs, vcCfgStyle rhs_style)
+{
+  if (lhs_style==vcCFG_NONE || lhs_style==vcCFG_AUTO)
+    lhs_style = vc_getVserverCfgStyle(lhs);
+
+  if (rhs_style==vcCFG_NONE || rhs_style==vcCFG_AUTO)
+    rhs_style = vc_getVserverCfgStyle(rhs);
+
+    // compare legacy vservers by their names only resp. return false on mixed
+    // styles
+  if (lhs_style==vcCFG_LEGACY || rhs_style==vcCFG_LEGACY) {
+    if (lhs_style!=rhs_style) return lhs_style - rhs_style;
+    else                      return strcmp(lhs, rhs);
+  }
+
+  {
+    size_t             len_lhs = strlen(lhs);
+    size_t             len_rhs = strlen(rhs);
+    char               buf_lhs[sizeof(CONFDIR "//") + len_lhs];
+    char               buf_rhs[sizeof(CONFDIR "//") + len_rhs];
+
+    char const *       path_lhs = completePath(lhs, len_lhs, lhs_style, buf_lhs);
+    char const *       path_rhs = (path_lhs==0
+                                   ? 0 // skip following calculation
+                                   : completePath(rhs, len_rhs, rhs_style, buf_rhs));
+
+    struct stat                st_lhs;
+    struct stat                st_rhs;
+    
+      // this is true only iff both path_* are 0; compare ids in this case
+    if (path_lhs==path_rhs) return strcmp(lhs, rhs);
+    if (path_lhs==0) return -1;                // path_rhs!=0 is implied by check above
+    if (path_rhs==0) return +1;
+
+    if (stat(path_lhs, &st_lhs)==-1 ||
+       stat(path_rhs, &st_rhs)==-1) return strcmp(lhs,rhs);
+
+    return (st_lhs.st_dev - st_rhs.st_dev) + (st_lhs.st_ino - st_rhs.st_ino);
+  }
+}
index 90abcee..e90e771 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: createskeleton-full.hc,v 1.4 2005/02/01 00:55:51 ensc Exp $    --*- c -*--
+// $Id: createskeleton-full.hc 1837 2005-02-01 00:55:51Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b71aea2..afa02c1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: createskeleton-short.hc,v 1.1 2004/02/18 04:42:38 ensc Exp $    --*- c -*--
+// $Id: createskeleton-short.hc 934 2004-02-18 04:42:38Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6292224..feb7813 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: createskeleton.c,v 1.1 2004/02/18 04:42:38 ensc Exp $    --*- c -*--
+// $Id: createskeleton.c 934 2004-02-18 04:42:38Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 35c3a76..2d50420 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ext2fs.h,v 1.2 2004/01/29 11:00:41 ensc Exp $    --*- c -*--
+// $Id: ext2fs.h 720 2004-01-29 11:00:41Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 34cfd89..38688da 100644 (file)
--- a/lib/fmt.h
+++ b/lib/fmt.h
@@ -1,4 +1,4 @@
-// $Id: fmt.h,v 1.7 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmt.h 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f5f3f9c..0c0b9ef 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getfilecontext.c,v 1.1 2004/12/09 13:05:41 ensc Exp $    --*- c -*--
+// $Id: getfilecontext.c 1766 2004-12-09 13:05:41Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 8ffcb7f..ef9bd4c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getinsecurebcaps.c,v 1.1.1.1 2005/08/17 17:58:04 mlhuang Exp $    --*- c -*--
+// $Id: getinsecurebcaps.c 2154 2005-07-15 18:59:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 67a65f4..e0019ce 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getnbipv4root.c,v 1.1 2004/03/16 14:27:53 ensc Exp $    --*- c -*--
+// $Id: getnbipv4root.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 size_t
 vc_get_nb_ipv4root()
index 747a4dd..664a3dd 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getprocentry-legacy.c,v 1.4 2004/03/05 04:40:59 ensc Exp $    --*- c++ -*--
+// $Id: getprocentry-legacy.c 1091 2004-03-05 04:40:59Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7caf0b7..5d17586 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getversion-internal.hc,v 1.6 2004/01/22 21:35:36 ensc Exp $    --*- c++ -*--
+// $Id: getversion-internal.hc 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -24,7 +24,7 @@
 #endif
 
 #define _LINUX_TYPES_H 1
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 static inline ALWAYSINLINE UNUSED int
 vc_get_version_internal(int cat)
index 32a3427..ca233bd 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getversion.c,v 1.5 2004/01/29 11:00:41 ensc Exp $    --*- c++ -*--
+// $Id: getversion.c 720 2004-01-29 11:00:41Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7a3714a..27ae306 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvserverappdir.c,v 1.1 2004/01/16 17:55:45 ensc Exp $    --*- c -*--
+// $Id: getvserverappdir.c 611 2004-01-16 18:00:11Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 66acfa3..4c63738 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvserverbyctx-compat.hc,v 1.3 2004/06/27 13:01:28 ensc Exp $    --*- c -*--
+// $Id: getvserverbyctx-compat.hc 2182 2005-10-25 16:20:07Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -67,7 +67,8 @@ handleLegacy(xid_t UNUSED xid)
 #endif
 
 static char *
-vc_getVserverByCtx_compat(xid_t ctx, vcCfgStyle *style, char const *revdir)
+vc_getVserverByCtx_compat(xid_t ctx, vcCfgStyle *style, char const *revdir,
+                         bool validate_result)
 {
   if (revdir==0) revdir = DEFAULT_PKGSTATEREVDIR;
 
@@ -92,8 +93,10 @@ vc_getVserverByCtx_compat(xid_t ctx, vcCfgStyle *style, char const *revdir)
   switch (cur_style) {
     case vcCFG_RECENT_SHORT    :
     case vcCFG_RECENT_FULL     :
-       // check if expected ctx == actual ctx
-      if (vc_getVserverCtx(path, vcCFG_RECENT_FULL, false, 0)!=ctx) return 0;
+       // check if expected ctx == actual ctx (but only when this check is
+       // request)
+      if (validate_result &&
+         vc_getVserverCtx(path, vcCFG_RECENT_FULL, false, 0)!=ctx) return 0;
 
       if (style) *style = vcCFG_RECENT_FULL;
       return strdup(path);
index faca702..adfb0e9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvserverbyctx-v13.hc,v 1.1 2004/03/11 04:39:59 ensc Exp $    --*- c -*--
+// $Id: getvserverbyctx-v13.hc 2182 2005-10-25 16:20:07Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 static char *
-vc_getVserverByCtx_v13(xid_t ctx, vcCfgStyle *style, char const UNUSED *revdir)
+vc_getVserverByCtx_v13(xid_t ctx, vcCfgStyle *style, char const UNUSED *revdir,
+                      bool validate_result)
 {
   char         buf[128];
 
   if (vc_get_vhi_name(ctx, vcVHI_CONTEXT, buf, sizeof buf)!=-1 &&
-      vc_getVserverCtx(buf, vcCFG_RECENT_FULL, false, 0)==ctx) {
+      (!validate_result ||
+       vc_getVserverCtx(buf, vcCFG_RECENT_FULL, false, 0)==ctx)) {
     if (style) *style = vcCFG_RECENT_FULL;
     return strdup(buf);
   }
index 9896ae8..8487835 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvserverbyctx.c,v 1.6 2004/03/11 04:40:29 ensc Exp $    --*- c -*--
+// $Id: getvserverbyctx.c 2444 2007-01-03 11:55:04Z dhozac $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #include "getvserverbyctx-compat.hc"
 #include "getvserverbyctx-v13.hc"
 
+
+char *
+vc_getVserverByCtx_Internal(xid_t ctx, /*@null@*/vcCfgStyle *style,
+                           /*@null@*/char const *revdir,
+                           bool validate_result)
+{
+  char *ret;
+  if (vc_isSupported(vcFEATURE_MIGRATE)) {
+    ret = vc_getVserverByCtx_v13(ctx, style, revdir, validate_result);
+    if (ret)
+      return ret;
+  }
+  return vc_getVserverByCtx_compat(ctx, style, revdir, validate_result);
+}
+
 char *
 vc_getVserverByCtx(xid_t ctx, vcCfgStyle *style, char const *revdir)
 {
-  if (vc_isSupported(vcFEATURE_MIGRATE))
-    return vc_getVserverByCtx_v13(ctx, style, revdir);
-  else
-    return vc_getVserverByCtx_compat(ctx, style, revdir);
+  return vc_getVserverByCtx_Internal(ctx, style, revdir, true);
+  
 }
index f9581cf..e3d9486 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvservercfgdir.c,v 1.1 2004/01/16 17:55:45 ensc Exp $    --*- c -*--
+// $Id: getvservercfgdir.c 611 2004-01-16 18:00:11Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f9cba62..4677407 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvservercfgstyle.c,v 1.6 2005/01/26 23:29:06 ensc Exp $    --*- c -*--
+// $Id: getvservercfgstyle.c 1804 2005-01-26 23:29:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ce116ae..b680670 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvserverctx.c,v 1.8 2004/06/27 13:02:07 ensc Exp $    --*- c -*--
+// $Id: getvserverctx.c 2210 2005-10-29 12:06:19Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -24,6 +24,7 @@
 #include "pathconfig.h"
 #include "compat-c99.h"
 #include "lib_internal/util.h"
+#include "internal.h"
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -92,23 +93,28 @@ getCtxFromFile(char const *pathname)
 
   fd = open(pathname, O_RDONLY);
 
-  if (fd==-1 ||
-      (len=lseek(fd, 0, SEEK_END))==-1 ||
+  if (fd==-1) return VC_NOCTX;
+  if ((len=lseek(fd, 0, SEEK_END))==-1 ||
       (len>50) ||
-      (lseek(fd, 0, SEEK_SET)==-1))
+      (lseek(fd, 0, SEEK_SET)==-1)) {
+    close(fd);
     return VC_NOCTX;
+  }
 
   {
   char         buf[len+1];
   char         *errptr;
   xid_t                res;
   
-  if (TEMP_FAILURE_RETRY(read(fd, buf, len+1))!=len)
-    return VC_NOCTX;
+  if (TEMP_FAILURE_RETRY(read(fd, buf, len+1))!=len) res = VC_NOCTX;
+  else {
+    buf[len] = '\0';
 
-  res = strtol(buf, &errptr, 10);
-  if (*errptr!='\0' && *errptr!='\n') return VC_NOCTX;
+    res = strtol(buf, &errptr, 10);
+    if (*errptr!='\0' && *errptr!='\n') res = VC_NOCTX;
+  }
 
+  close(fd);
   return res;
   }
 }
@@ -141,14 +147,44 @@ vc_getVserverCtx(char const *id, vcCfgStyle style, bool honor_static, bool *is_r
       memcpy(buf+idx, "/run", 5);      // appends '\0' too
       
       res = getCtxFromFile(buf);
-      if (is_running) *is_running = res!=VC_NOCTX;
+
+       // when context information could be read, we have to verify that
+       // it belongs to a running vserver and the both vservers are
+       // identically
+      if (res!=VC_NOCTX) {
+       char                    *cur_name;
+       struct vc_vx_info       info;
+
+         // determine the vserver which is associated with the xid resp. skip
+         // this step when the context does not exist. When checking whether
+         // the context exists, do not rely on the success of
+         // vc_get_vx_info() alone but check 'errno' for ESRCH also. Else,
+         // wrong results will be caused e.g. for xid 1 which will fail with
+         // ENOSYS.
+       cur_name = (vc_get_vx_info(res, &info)!=-1 || errno!=ESRCH ?
+                   vc_getVserverByCtx_Internal(res, &style, 0, false) :
+                   0);
+
+       buf[idx] = '\0';        // cut off the '/run' from the vserver name
+       
+       res      = ((cur_name!=0 &&
+                    vc_compareVserverById(buf,      vcCFG_RECENT_FULL,
+                                         cur_name, vcCFG_RECENT_FULL)==0)
+                   ? res
+                   : VC_NOCTX);        // correct the value of 'res'
+         
+       free(cur_name);
+      }
+      
+      if (is_running)                  // fill 'is_running' information...
+       *is_running = res!=VC_NOCTX;
       
       if (res==VC_NOCTX && honor_static) {
        memcpy(buf+idx, "/context", 9); // appends '\0' too
 
        res = getCtxFromFile(buf);
       }
-      
+
       return res;
     }
     default                    :  return VC_NOCTX;
index a8bc866..963f466 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvservername.c,v 1.5 2004/05/08 01:27:25 ensc Exp $    --*- c -*--
+// $Id: getvservername.c 1543 2004-05-08 01:27:25Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2d8c79a..689a47b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvservervdir.c,v 1.5 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: getvservervdir.c 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a5c0463..8bc2be4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getxidtype.c,v 1.1 2005/03/09 14:38:51 ensc Exp $    --*- c -*--
+// $Id: getxidtype.c 2493 2007-02-10 15:06:07Z dhozac $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
-#include "virtual.h"
+#include "internal.h"
 
 vcXidType
 vc_getXIDType(xid_t xid)
 {
-  if (xid==0)                                  return vcTYPE_MAIN;
-  if (xid==1)                                  return vcTYPE_WATCH;
-  if (xid>1              && xid<MIN_D_CONTEXT) return vcTYPE_STATIC;
-  if (xid>=MIN_D_CONTEXT && xid<MAX_S_CONTEXT) return vcTYPE_DYNAMIC;
+  static xid_t MIN_D_CONTEXT = 0;
+  const xid_t  MAX_S_CONTEXT = 65535;
+  if (MIN_D_CONTEXT == 0 && (utilvserver_checkCompatConfig() & VC_VCI_NO_DYNAMIC) == 0)
+    MIN_D_CONTEXT = 49152;
+  else
+    MIN_D_CONTEXT = MAX_S_CONTEXT+1;
+
+  if (xid==0)                                  return vcTYPE_MAIN;
+  if (xid==1)                                  return vcTYPE_WATCH;
+  if (xid>1              && xid<MIN_D_CONTEXT) return vcTYPE_STATIC;
+  if (xid>=MIN_D_CONTEXT && xid<MAX_S_CONTEXT) return vcTYPE_DYNAMIC;
   return vcTYPE_INVALID;
 }
index 60e2420..79d2e9b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: internal.h,v 1.13 2005/04/28 17:52:30 ensc Exp $    --*- c++ -*--
+// $Id: internal.h 2415 2006-12-08 13:24:49Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,6 +23,8 @@
 #define H_UTIL_VSERVER_LIB_INTERNAL_H
 
 #include "fmt.h"
+#include "vserver.h"
+
 #include <stdlib.h>
 #include <stdbool.h>
 
 extern "C" {
 #endif
 
+char * vc_getVserverByCtx_Internal(xid_t ctx, /*@null@*/vcCfgStyle *style,
+                                   /*@null@*/char const *revdir,
+                                   bool validate_result);
+
+  
 int    utilvserver_checkCompatVersion();
+uint_least32_t utilvserver_checkCompatConfig();
 bool   utilvserver_isDirectory(char const *path, bool follow_link);
 bool   utilvserver_isFile(char const *path, bool follow_link);
 bool   utilvserver_isLink(char const *path);
index 4cf9359..d7be751 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ioctl-getext2flags.hc,v 1.4 2004/01/23 20:47:32 ensc Exp $    --*- c -*--
+// $Id: ioctl-getext2flags.hc 702 2004-01-23 20:47:32Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ab3423f..7d4df9a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ioctl-getfilecontext.hc,v 1.4 2004/01/23 20:47:32 ensc Exp $    --*- c -*--
+// $Id: ioctl-getfilecontext.hc 702 2004-01-23 20:47:32Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 776f322..28920f5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ioctl-getxflg.hc,v 1.3 2004/01/22 13:36:30 ensc Exp $    --*- c -*--
+// $Id: ioctl-getxflg.hc 685 2004-01-22 13:36:30Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e76e9db..ba1d9fc 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ioctl-setext2flags.hc,v 1.4 2004/01/23 20:47:32 ensc Exp $    --*- c -*--
+// $Id: ioctl-setext2flags.hc 702 2004-01-23 20:47:32Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e4c8082..9989a3a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ioctl-setfilecontext.hc,v 1.4 2004/01/23 20:47:32 ensc Exp $    --*- c -*--
+// $Id: ioctl-setfilecontext.hc 702 2004-01-23 20:47:32Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7f7001f..25381d2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ioctl-setxflg.hc,v 1.4 2004/01/23 20:47:32 ensc Exp $    --*- c -*--
+// $Id: ioctl-setxflg.hc 702 2004-01-23 20:47:32Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f70249c..1b8de9a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: isdirectory.c,v 1.1 2004/01/16 17:55:45 ensc Exp $    --*- c -*--
+// $Id: isdirectory.c 611 2004-01-16 18:00:11Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a87504b..658c0a9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: isdynamicxid.c,v 1.1 2004/03/16 03:42:14 ensc Exp $    --*- c -*--
+// $Id: isdynamicxid.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 bool
 vc_is_dynamic_xid(xid_t xid)
 {
-  return xid>=MIN_D_CONTEXT;
+  return vc_getXIDType(xid) == vcTYPE_DYNAMIC;
 }
index 9cd6dd3..8b3ea34 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: isfile.c,v 1.1 2004/08/19 13:56:47 ensc Exp $    --*- c -*--
+// $Id: isfile.c 1654 2004-08-19 13:56:47Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 3179e94..0b95799 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: islink.c,v 1.1 2004/10/21 19:01:26 ensc Exp $    --*- c -*--
+// $Id: islink.c 1759 2004-10-21 19:01:26Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 544403f..0c44151 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: issupported.c,v 1.4 2005/05/19 18:05:18 ensc Exp $    --*- c -*--
+// $Id: issupported.c 2449 2007-01-10 18:53:07Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -42,6 +42,8 @@ vc_isSupported(vcFeatureSet feature)
     case vcFEATURE_NAMESPACE   :  return ver >= 0x00010012;
     case vcFEATURE_VWAIT       :  return ver >= 0x00010025;
     case vcFEATURE_SCHED       :  return ver >= 0x00020000;  // todo
+    case vcFEATURE_VNET                :  return ver >= 0x00020001;
+    case vcFEATURE_VSTAT       :  return ver >= 0x00020103;
     default                    :  assert(false); 
   }
 
index f9dcfac..6aea070 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: issupportedstring.c,v 1.4 2005/05/19 18:05:18 ensc Exp $    --*- c -*--
+// $Id: issupportedstring.c 2449 2007-01-10 18:53:07Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -31,9 +31,10 @@ static struct {
     vcFeatureSet       feature;
     char const *       name;
 } FEATURES[] = {
-  DECL(VKILL),   DECL(IATTR),     DECL(RLIMIT), DECL(COMPAT),
-  DECL(MIGRATE), DECL(NAMESPACE), DECL(SCHED),  DECL(VINFO),
-  DECL(VHI),     DECL(VSHELPER0), DECL(VSHELPER), DECL(VWAIT)
+  DECL(VKILL),   DECL(IATTR),     DECL(RLIMIT),   DECL(COMPAT),
+  DECL(MIGRATE), DECL(NAMESPACE), DECL(SCHED),    DECL(VINFO),
+  DECL(VHI),     DECL(VSHELPER0), DECL(VSHELPER), DECL(VWAIT),
+  DECL(VNET),    DECL(VSTAT),
 };
 
 bool
index ebf5fac..3aa63cc 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: listparser.hc,v 1.5 2005/04/24 20:23:11 ensc Exp $    --*- c -*--
+// $Id: listparser.hc 2037 2005-04-24 20:23:11Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 0626110..4ae4d29 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: listparser_uint32.c,v 1.1 2004/03/05 03:12:18 ensc Exp $    --*- c -*--
+// $Id: listparser_uint32.c 1067 2004-03-05 03:12:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 8b7f70e..9168a65 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: listparser_uint64.c,v 1.1 2004/03/05 03:12:18 ensc Exp $    --*- c -*--
+// $Id: listparser_uint64.c 1067 2004-03-05 03:12:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a2105d0..d8bcfef 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ncaps-net.c,v 1.2 2005/04/24 20:25:17 ensc Exp $    --*- c -*--
+// $Id: ncaps-net.c 2393 2006-11-23 18:30:29Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
@@ -25,6 +25,7 @@
 #include <lib_internal/util-dimof.h>
 
 #include <string.h>
+#include <strings.h>
 #include <assert.h>
 
 #define DECL(STR, VAL) { STR, sizeof(STR)-1, VAL }
@@ -34,10 +35,23 @@ static struct Mapping_uint64 const VALUES[] = {
   DECL("", 0)
 };
 
+inline static char const *
+removePrefix(char const *str, size_t *len)
+{
+  if ((len==0 || *len==0 || *len>4) &&
+      strncasecmp("nxc_", str, 4)==0) {
+    if (len && *len>4) *len -= 4;
+    return str+4;
+  }
+  else
+    return str;
+}
+
 uint_least64_t
 vc_text2ncap(char const *str, size_t len)
 {
-  ssize_t      idx = utilvserver_value2text_uint64(str, len,
+  char const * tmp = removePrefix(str, &len);
+  ssize_t      idx = utilvserver_value2text_uint64(tmp, len,
                                                    VALUES, DIM_OF(VALUES));
   if (idx==-1) return 0;
   else         return VALUES[idx].val;
index c2cd50a..0961d2d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ncaps_list-net.c,v 1.2 2005/04/24 20:24:36 ensc Exp $    --*- c -*--
+// $Id: ncaps_list-net.c 2038 2005-04-24 20:24:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
index 761faed..00e6e45 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: nflags-net.c,v 1.2 2005/04/24 20:25:17 ensc Exp $    --*- c -*--
+// $Id: nflags-net.c 2404 2006-11-25 00:38:30Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
 #include <lib_internal/util-dimof.h>
 
 #include <string.h>
+#include <strings.h>
 #include <assert.h>
 
 #define DECL(STR, VAL) { STR, sizeof(STR)-1, VAL }
 
 static struct Mapping_uint64 const VALUES[] = {
-#warning Add the 'nflags' values here
-  DECL("", 0)
+  DECL("lock",         VC_NXF_INFO_LOCK),
+  DECL("private",      VC_NXF_INFO_PRIVATE),
+
+  DECL("single_ip",    VC_NXF_SINGLE_IP),
+
+  DECL("hide_netif",   VC_NXF_HIDE_NETIF),
+
+  DECL("state_setup",  VC_NXF_STATE_SETUP),
+  DECL("state_admin",  VC_NXF_STATE_ADMIN),
+
+  DECL("sc_helper",    VC_NXF_SC_HELPER),
+  DECL("persistent",   VC_NXF_PERSISTENT),
+
+    // Aliases for the legacy flags
+  DECL("info_lock",    VC_NXF_INFO_LOCK),
+  DECL("info_private", VC_NXF_INFO_PRIVATE),
 };
 
+inline static char const *
+removePrefix(char const *str, size_t *len)
+{
+  if ((len==0 || *len==0 || *len>4) &&
+      strncasecmp("nxf_", str, 4)==0) {
+    if (len && *len>4) *len -= 4;
+    return str+4;
+  }
+  else
+    return str;
+}
+
 uint_least64_t
 vc_text2nflag(char const *str, size_t len)
 {
-  ssize_t      idx = utilvserver_value2text_uint64(str, len,
+  char const * tmp = removePrefix(str, &len);
+  ssize_t      idx = utilvserver_value2text_uint64(tmp, len,
                                                    VALUES, DIM_OF(VALUES));
   if (idx==-1) return 0;
   else         return VALUES[idx].val;
index acd0518..b4c7230 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: nflags_list-net.c,v 1.2 2005/04/24 20:24:36 ensc Exp $    --*- c -*--
+// $Id: nflags_list-net.c 2038 2005-04-24 20:24:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
diff --git a/lib/nidopt2nid.c b/lib/nidopt2nid.c
new file mode 100644 (file)
index 0000000..9a2d7a4
--- /dev/null
@@ -0,0 +1,40 @@
+// $Id: nidopt2nid.c 2384 2006-11-19 17:25:11Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include <string.h>
+#include <stdlib.h>
+
+nid_t
+vc_nidopt2nid(char const *str, bool honor_static, char const **err_info)
+{
+  char const *         err;
+  nid_t                        res = VC_NOCTX;
+
+  err = "vc_get_task_nid()";
+  if (strcmp(str,"self")==0) res = vc_get_task_nid(0);
+  else                       res = vc_xidopt2xid(str, honor_static, &err);
+
+  if (res==VC_NOCTX && err_info) *err_info = err;
+
+  return res;
+}
index dd225fb..7067964 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: parselimit.c,v 1.1 2004/03/05 17:20:31 ensc Exp $    --*- c -*--
+// $Id: parselimit.c 1101 2004-03-05 17:21:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2920a50..d2bafcf 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: personalityflag.c,v 1.2 2005/07/15 19:40:15 ensc Exp $    --*- c -*--
+// $Id: personalityflag.c 2159 2005-07-15 19:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
index 6903bf0..b086936 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: personalityflag_list.c,v 1.1 2005/04/28 17:51:43 ensc Exp $    --*- c -*--
+// $Id: personalityflag_list.c 2055 2005-04-28 17:51:43Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 47eaf61..5710b82 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: personalitytype.c,v 1.2 2005/07/15 19:40:15 ensc Exp $    --*- c -*--
+// $Id: personalitytype.c 2159 2005-07-15 19:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index adf6083..69f1fb0 100644 (file)
@@ -31,6 +31,9 @@ POSSIBILITY OF SUCH DAMAGE.
 
 */
 
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -40,10 +43,8 @@ POSSIBILITY OF SUCH DAMAGE.
 #include <unistd.h>
 #include <ctype.h>
 #include <sys/resource.h>
+#include <fcntl.h>
 
-#include "config.h"
-#include "sched_cmd.h"
-#include "virtual.h"
 #include "vserver.h"
 #include "planetlab.h"
 
@@ -51,6 +52,25 @@ static int
 create_context(xid_t ctx, uint64_t bcaps, struct sliver_resources *slr)
 {
   struct vc_ctx_caps  vc_caps;
+  struct vc_net_nx  vc_net;
+  struct vc_net_flags  vc_nf;
+
+  /* Create network context */
+  if (vc_net_create(ctx) == VC_NOCTX)
+    return -1;
+
+  /* Make the network context persistent */
+  vc_nf.mask = vc_nf.flagword = VC_NXF_PERSISTENT;
+  if (vc_set_nflags(ctx, &vc_nf))
+    return -1;
+
+  /* XXX: Allow access to all IPv4 addresses (for now) */
+  vc_net.type = vcNET_IPV4;
+  vc_net.count = 1;
+  vc_net.ip[0] = 0;
+  vc_net.mask[0] = 0;
+  if (vc_net_add(ctx, &vc_net) == -1)
+    return -1;
 
   /*
    * Create context info - this sets the STATE_SETUP and STATE_INIT flags.
@@ -77,10 +97,10 @@ pl_setup_done(xid_t ctx)
   struct vc_ctx_flags  vc_flags;
 
   /* unset SETUP flag - this allows other processes to migrate */
-
+  /* set the PERSISTENT flag - so the context doesn't vanish */
   /* Don't clear the STATE_INIT flag, as that would make us the init task. */
-  vc_flags.mask = VC_VXF_STATE_SETUP;
-  vc_flags.flagword = 0;
+  vc_flags.mask = VC_VXF_STATE_SETUP|VC_VXF_PERSISTENT;
+  vc_flags.flagword = VC_VXF_PERSISTENT;
   if (vc_set_cflags(ctx, &vc_flags))
     return -1;
 
@@ -93,6 +113,7 @@ int
 pl_chcontext(xid_t ctx, uint64_t bcaps, struct sliver_resources *slr)
 {
   int  retry_count = 0;
+  int  net_migrated = 0;
 
   for (;;)
     {
@@ -134,8 +155,12 @@ pl_chcontext(xid_t ctx, uint64_t bcaps, struct sliver_resources *slr)
 
       /* context has been setup */
     migrate:
-      if (!vc_ctx_migrate(ctx))
-       break;  /* done */
+      if (net_migrated || !vc_net_migrate(ctx))
+       {
+         if (!vc_ctx_migrate(ctx, 0))
+           break;  /* done */
+         net_migrated = 1;
+       }
 
       /* context disappeared - retry */
     }
@@ -160,22 +185,32 @@ pl_setsched(xid_t ctx, uint32_t cpu_share, uint32_t cpu_sched_flags)
   uint32_t  new_flags;
 
   vc_sched.set_mask = (VC_VXSM_FILL_RATE | VC_VXSM_INTERVAL | VC_VXSM_TOKENS |
-                      VC_VXSM_TOKENS_MIN | VC_VXSM_TOKENS_MAX);
-  vc_sched.fill_rate = cpu_share;  /* tokens accumulated per interval */
-  vc_sched.interval = 1000;  /* milliseconds */
+                      VC_VXSM_TOKENS_MIN | VC_VXSM_TOKENS_MAX | VC_VXSM_MSEC |
+                      VC_VXSM_FILL_RATE2 | VC_VXSM_INTERVAL2 | VC_VXSM_FORCE |
+                      VC_VXSM_IDLE_TIME);
+  vc_sched.fill_rate = 0;
+  vc_sched.fill_rate2 = cpu_share;  /* tokens accumulated per interval */
+  vc_sched.interval = vc_sched.interval2 = 1000;  /* milliseconds */
   vc_sched.tokens = 100;     /* initial allocation of tokens */
   vc_sched.tokens_min = 50;  /* need this many tokens to run */
   vc_sched.tokens_max = 100;  /* max accumulated number of tokens */
 
+  if (cpu_share == VC_LIM_KEEP)
+    vc_sched.set_mask &= ~(VC_VXSM_FILL_RATE|VC_VXSM_FILL_RATE2);
+
   VC_SYSCALL(vc_set_sched(ctx, &vc_sched));
 
   /* get current flag values */
   VC_SYSCALL(vc_get_cflags(ctx, &vc_flags));
 
   /* guaranteed CPU corresponds to SCHED_SHARE flag being cleared */
-  new_flags = (cpu_sched_flags & VS_SCHED_CPU_GUARANTEED
-              ? 0
-              : VC_VXF_SCHED_SHARE);
+  if (cpu_sched_flags & VS_SCHED_CPU_GUARANTEED) {
+    new_flags = VC_VXF_SCHED_SHARE;
+    vc_sched.fill_rate = vc_sched.fill_rate2;
+  }
+  else
+    new_flags = 0;
+
   if ((vc_flags.flagword & VC_VXF_SCHED_SHARE) != new_flags)
     {
       vc_flags.mask = VC_VXF_SCHED_FLAGS;
@@ -200,37 +235,35 @@ void
 pl_get_limits(char *context, struct sliver_resources *slr)
 {
   FILE *fb;
-  size_t len = strlen(VSERVERCONF) + strlen(context) + strlen(".conf") + NULLBYTE_SIZE;
-  char *conf = (char *)malloc(len);    
+  int cwd;
+  size_t len = strlen(VSERVERCONF) + strlen(context) + NULLBYTE_SIZE;
+  char *conf = (char *)malloc(len + strlen("rlimits/openfd.hard"));
   struct pl_resources *r;
   struct pl_resources sliver_list[] = {
-    {"CPULIMIT", &slr->vs_cpu},
-    {"CPUSHARE", &slr->vs_cpu},
-    {"CPUGUARANTEED", &slr->vs_cpuguaranteed},
+    {"sched/fill-rate2", &slr->vs_cpu},
+    {"sched/fill-rate", &slr->vs_cpuguaranteed},
   
-    {"TASKLIMIT", &slr->vs_nproc.hard}, /* backwards compatible */
-    {"VS_NPROC_HARD", &slr->vs_nproc.hard},
-    {"VS_NPROC_SOFT", &slr->vs_nproc.soft},
-    {"VS_NPROC_MINIMUM", &slr->vs_nproc.min},
+    {"rlimits/nproc.hard", &slr->vs_nproc.hard},
+    {"rlimits/nproc.soft", &slr->vs_nproc.soft},
+    {"rlimits/nproc.min", &slr->vs_nproc.min},
   
-    {"MEMLIMIT", &slr->vs_rss.hard}, /* backwards compatible */
-    {"VS_RSS_HARD", &slr->vs_rss.hard},
-    {"VS_RSS_SOFT", &slr->vs_rss.soft},
-    {"VS_RSS_MINIMUM", &slr->vs_rss.min},
+    {"rlimits/rss.hard", &slr->vs_rss.hard},
+    {"rlimits/rss.soft", &slr->vs_rss.soft},
+    {"rlimits/rss.min", &slr->vs_rss.min},
   
-    {"VS_AS_HARD", &slr->vs_as.hard},
-    {"VS_AS_SOFT", &slr->vs_as.soft},
-    {"VS_AS_MINIMUM", &slr->vs_as.min},
+    {"rlimits/as.hard", &slr->vs_as.hard},
+    {"rlimits/as.soft", &slr->vs_as.soft},
+    {"rlimits/as.min", &slr->vs_as.min},
   
-    {"VS_OPENFD_HARD", &slr->vs_openfd.hard},
-    {"VS_OPENFD_SOFT", &slr->vs_openfd.soft},
-    {"VS_OPENFD_MINIMUM", &slr->vs_openfd.min},
+    {"rlimits/openfd.hard", &slr->vs_openfd.hard},
+    {"rlimits/openfd.soft", &slr->vs_openfd.soft},
+    {"rlimits/openfd.min", &slr->vs_openfd.min},
 
-    {"VS_WHITELISTED", &slr->vs_whitelisted},
+    {"whitelisted", &slr->vs_whitelisted},
     {0,0}
   };
 
-  sprintf(conf, "%s%s.conf", VSERVERCONF, context);
+  sprintf(conf, "%s%s", VSERVERCONF, context);
 
   slr->vs_cpu = VC_LIM_KEEP;
   slr->vs_cpuguaranteed = 0;
@@ -254,6 +287,33 @@ pl_get_limits(char *context, struct sliver_resources *slr)
 
   slr->vs_whitelisted = 1;
 
+  cwd = open(".", O_RDONLY);
+  if (cwd == -1) {
+    perror("cannot get a handle on .");
+    goto out;
+  }
+  if (chdir(conf) == -1) {
+    fprintf(stderr, "cannot chdir to ");
+    perror(conf);
+    goto out_fd;
+  }
+
+  for (r = &sliver_list[0]; r->name; r++) {
+    char buf[1000];
+    fb = fopen(r->name, "r");
+    if (fb == NULL)
+      continue;
+    if (fgets(buf, sizeof(buf), fb) != NULL && isdigit(*buf)) {
+      *r->limit = atoi(buf);
+    }
+    fclose(fb);
+  }
+
+  fchdir(cwd);
+out_fd:
+  close(cwd);
+out:
+#if 0
   /* open the conf file for reading */
   fb = fopen(conf,"r");
   if (fb != NULL) {
@@ -288,7 +348,7 @@ pl_get_limits(char *context, struct sliver_resources *slr)
          
          *r->limit = atoi(&buffer[index]);
          if (0) /* for debugging only */
-           fprintf(stderr,"pl_get_limits found %s=%ld\n",
+           fprintf(stderr,"pl_get_limits found %s=%lld\n",
                    r->name,*r->limit);
          break;
        }
@@ -299,6 +359,7 @@ pl_get_limits(char *context, struct sliver_resources *slr)
   } else {
     fprintf(stderr,"cannot open %s\n",conf);
   }
+#endif
   free(conf);
 }
 
@@ -391,11 +452,7 @@ pl_set_limits(xid_t ctx, struct sliver_resources *slr)
          PERROR("pl_setrlimit(%u, RLIMIT_NOFILE)", ctx);
          exit(1);
        }
-#ifndef VLIMIT_OPENFD
-#warning VLIMIT_OPENFD should be defined from standard header
-#define VLIMIT_OPENFD  17
-#endif
-      if (vc_set_rlimit(ctx, VLIMIT_OPENFD, &slr->vs_openfd))
+      if (vc_set_rlimit(ctx, VC_VLIMIT_OPENFD, &slr->vs_openfd))
        {
          PERROR("pl_setrlimit(%u, VLIMIT_OPENFD)", ctx);
          exit(1);
index 5204bf9..ccc360f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: safechroot-internal.hc,v 1.2 2003/10/14 15:40:50 ensc Exp $    --*- c++ -*--
+// $Id: safechroot-internal.hc 147 2003-10-14 15:40:50Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b301e39..63f4f32 100644 (file)
+ // from http://vserver.13thfloor.at/Experimental/SYSCALL/syscall_shiny17.h
 
-#ifndef __syscall_retval
-#define __syscall_retval(v)    do { } while(0)
-#endif
+#ifndef        __SYSCALL_NEW_H
+#define        __SYSCALL_NEW_H
 
-#ifndef __syscall_error
-#define __syscall_error(e)     do { errno = (e); } while(0)
-#endif
+/*     Copyright (C) 2005-2007 Herbert Pötzl
 
-#define        __check(pos, reg)                                               \
-       ".ifnc " pos ", " reg "\n\t"                                    \
-       ".err\n\t"                                                      \
-       ".endif\n\t"
+               global config options
 
-#ifndef __stringify0
-#define __stringify0(val)      #val
-#endif
+       __sysc_seterr   ... set error value (def: errno)
+       __sysc_cid(N)   ... syscall 'name' id (def: __NR_<N>)
 
-#ifndef __stringify
-#define __stringify(val)       __stringify0(val)
-#endif
+               arch specific config
 
-#define        __comment(name)                                                 \
-       "\t/* kernel sys_" #name "[" __stringify(__NR_##name) "] */"
+       __sysc_regs     ... the syscall registers (asm load)
+       __sysc_cmd(n)   ... the syscall
+       __sysc_reg_cid  ... syscall id register (asm load)
+       __sysc_reg_ret  ... syscall return register (asm out)
+       __sysc_reg_err  ... syscall error register (asm out)
 
+       __sysc_clbrs    ... the clobbered syscall registers
+       __sysc_clobber  ... clobbered registers (def: memory)
+       __sysc_max_err  ... maximum error number (def: separate)
+       __sysc_errc(r,e)... error condition (def: e)
 
-/*     *****************************************
-       ALPHA   ALPHA   ALPHA   ALPHA           *
-       alpha kernel interface                  */
-       
-#if    defined(__alpha__)
+       __sysc_type     ... type of syscall arguments (def: long)
+       __sysc_acon(n)  ... argument constraint (def: "r")
+       __sysc_con_cid  ... syscall id constraint (def: "i"/"r")
+       __sysc_con_ret  ... return value contraint (def: "=r")
+       __sysc_con_err  ... error value contraint (def: "=r")
 
-/*     The Alpha calling convention doesn't use the stack until 
-       after the first six arguments have been passed in registers.
-       
-       scnr:   v0($0)
-       args:   a0($16), a1($17), a2($18), a3($19), a4($20), a5($21)
-       sret:   v0($0)
-       serr:   a3($19) (!=0, err=sret)
-*/
+               hard core replacements
 
+       __sc_body(n,type,name,...)
+         __sc_results
+         __sc_cidvar(N)
+         __sc_input(n,...)
+         __sc_syscall(n,N,...)
+         __sc_return(t)
 
-#define __syscall_return(type, ret, err) do {                          \
-       __syscall_retval(ret);                                          \
-       if (err) {                                                      \
-               int __err = (ret);                                      \
-               __syscall_error(__err);                                 \
-               ret = -1;                                               \
-       }                                                               \
-       return (type) ret;                                              \
-} while (0)                            
+*/
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
+       /* some fallback defaults */
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
-       
-#define __syscall_clobbers                                             \
-       "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",                 \
-       "$22", "$23", "$24", "$25", "$27", "$28", "memory"              \
+#ifndef        __sysc_seterr
+#define        __sysc_seterr(e)        do { errno = (e); } while(0)
+#endif
 
+#ifndef        __sysc_cid
+#define        __sysc_cid(N)           __NR_##N
+#endif
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regdef(a3, "$19");                            \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2", "$0$19$0")                            \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0)                                    \
-                     : "$16", "$17", "$18", "$20", "$21",              \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regdef(a3, "$19");                            \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3", "$0$19$0$16")                       \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0)                                    \
-                     : "$17", "$18", "$20", "$21",                     \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+/*     *****************************************
+       ALPHA   ALPHA   ALPHA   ALPHA           *
+       alpha kernel interface                  */
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regval(a1, "$17", arg2);                      \
-               __syscall_regdef(a3, "$19");                            \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4", "$0$19$0$16$17")                  \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0), "r"(__sc_a1)                      \
-                     : "$18", "$20", "$21",                            \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+#if    defined(__alpha__)
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regval(a1, "$17", arg2);                      \
-               __syscall_regval(a2, "$18", arg3);                      \
-               __syscall_regdef(a3, "$19");                            \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5", "$0$19$0$16$17$18")             \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0), "r"(__sc_a1), "r"(__sc_a2)        \
-                     : "$20", "$21",                                   \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+/*     The Alpha calling convention doesn't use the stack until
+       after the first six arguments have been passed in registers.
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regval(a1, "$17", arg2);                      \
-               __syscall_regval(a2, "$18", arg3);                      \
-               __syscall_regval(a3, "$19", arg4);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5%6", "$0$19$0$16$17$18$19")        \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0), "r"(__sc_a1), "r"(__sc_a2),       \
-                       "1"(__sc_a3)                                    \
-                     : "$20", "$21",                                   \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-} 
+       scnr:   v0($0)
+       args:   a1($16), a2($17), a3($18), a4($19), a5($20), a6($21)
+       sret:   r0($0)
+       serr:   e0($19) (!=0, err=sret)
+       call:   callsys
+       clob:   memory
+       move:   mov $sR,$dR
+       picr:   pr($29) do we need to save that?
+*/
 
-#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5)                 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regval(a1, "$17", arg2);                      \
-               __syscall_regval(a2, "$18", arg3);                      \
-               __syscall_regval(a3, "$19", arg4);                      \
-               __syscall_regval(a4, "$20", arg5);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5%6%7", "$0$19$0$16$17$18$19$20")   \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0), "r"(__sc_a1), "r"(__sc_a2),       \
-                       "1"(__sc_a3), "r"(__sc_a4)                      \
-                     : "$21",                                          \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+#define        __sysc_cmd(n)   "callsys"
 
-#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5, type6, arg6)    \
-type name (type1 arg1, type2 arg2, type3 arg3,                         \
-          type4 arg4, type5 arg5, type6 arg6)                          \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regval(a1, "$17", arg2);                      \
-               __syscall_regval(a2, "$18", arg3);                      \
-               __syscall_regval(a3, "$19", arg4);                      \
-               __syscall_regval(a4, "$20", arg5);                      \
-               __syscall_regval(a5, "$21", arg6);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5%6%7%8",                           \
-                       "$0$19$0$16$17$18$19$20$21")                    \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0), "r"(__sc_a1), "r"(__sc_a2),       \
-                       "1"(__sc_a3), "r"(__sc_a4), "r"(__sc_a5)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+#define        __sysc_reg_cid  "$0"
+#define        __sysc_con_cid  "v"
+#define        __sysc_reg_ret  "$0"
+#define        __sysc_con_ret  "=v"
+#define        __sysc_reg_err  "$19"
 
+#define        __sysc_regs     "$16", "$17", "$18", "$19", "$20", "$21"
+#define        __sysc_clbrs    "$16", "$17", "$18", "memory", "$20", "$21"
+#define        __sysc_clobber  "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", \
+                       "$22", "$23", "$24", "$25", "$27", "$28", "memory"
 
 
 /*     *****************************************
-       ARM     ARM     ARM     ARM             *
+       ARM     ARM     ARM     ARM             *
        arm kernel interface                    */
 
 #elif  defined(__arm__)
 
-/*     The Arm calling convention uses stack args after four arguments
-       but the Linux kernel gets up to seven arguments in registers.
+/*     The Arm calling convention uses stack args after four arguments
+       but the Linux kernel gets up to seven arguments in registers.
        
        scnr:   imm
-       args:   a1(r0), a2(r1), a3(r2), a4(r3), v1(r4), v2(r5), 
-       sret:   a1(r0)
-       serr:   (err= sret > (unsigned)-EMAXERRNO)
+       args:   a1(r0), a2(r1), a3(r2), a4(r3), a5(r4), a6(r5),
+       sret:   r0(r0)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   swi
+       clob:   memory
+       move:   mov $dR,$sR
 */
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   125
-#endif
+#define        __sysc_max_err  125
 
-#define __syscall_errcon(res)                                          \
-       ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
+#define        __sysc_cmd(n)   "swi    %1"
 
-#define __syscall_return(type, res) do {                               \
-       __syscall_retval(res);                                          \
-       if (__syscall_errcon(res)) {                                    \
-               int __err = -(res);                                     \
-               __syscall_error(__err);                                 \
-               res = -1;                                               \
-       }                                                               \
-       return (type) res;                                              \
-} while (0)                            
+#define        __sysc_regs     "r0", "r1", "r2", "r3", "r4", "r5"
+#define        __sysc_reg_ret  "r0"
 
-#define __syscall_regdef(name, reg)                                    \
-       register int __sc_##name __asm__ (reg)
+#warning syscall arch arm not tested yet
 
-#define __syscall_regval(name, reg, val)                               \
-       register int __sc_##name __asm__ (reg) = (int)(val)
 
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(a1, "r0");                             \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0", "r0")                                     \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name)                                \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     *****************************************
+       CRIS    CRIS    CRIS    CRIS            *
+       cris v10 kernel interface               */
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2", "r0r0")                                 \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1)                                    \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#elif  defined(__cris__)
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-               __syscall_regval(a2, "r1", arg2);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3", "r0r0r1")                             \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1), "r"(__sc_a2)                      \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     The Cris calling convention uses stack args after four arguments
+       but the Linux kernel gets up to six arguments in registers.
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-               __syscall_regval(a2, "r1", arg2);                       \
-               __syscall_regval(a3, "r2", arg3);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4", "r0r0r1r2")                         \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3)        \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+       scnr:   id(r9)
+       args:   a1(r10), a2(r11), a3(r12), a4(r13), a5(mof), a6(srp),
+       sret:   r0(r10)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   break 13
+       clob:   memory
+*/
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-               __syscall_regval(a2, "r1", arg2);                       \
-               __syscall_regval(a3, "r2", arg3);                       \
-               __syscall_regval(a4, "r3", arg4);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5", "r0r0r1r2r3")                     \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4)                                    \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
-
-#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5)                 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-               __syscall_regval(a2, "r1", arg2);                       \
-               __syscall_regval(a3, "r2", arg3);                       \
-               __syscall_regval(a4, "r3", arg4);                       \
-               __syscall_regval(v1, "r4", arg5);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5%6", "r0r0r1r2r3r4")                 \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_v1)                      \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#error syscall arch cris not implemented yet
 
-#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5, type6, arg6)    \
-type name (type1 arg1, type2 arg2, type3 arg3,                         \
-          type4 arg4, type5 arg5, type6 arg6)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-               __syscall_regval(a2, "r1", arg2);                       \
-               __syscall_regval(a3, "r2", arg3);                       \
-               __syscall_regval(a4, "r3", arg4);                       \
-               __syscall_regval(v1, "r4", arg5);                       \
-               __syscall_regval(v2, "r5", arg6);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5%6%7", "r0r0r1r2r3r4r5")             \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_v1), "r"(__sc_v2)        \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
 
 /*     *****************************************
-       CRIS    CRIS    CRIS    CRIS            *
-       cris v10 kernel interface               */
+       FRV     FRV     FRV     FRV             *
+       frv kernel interface            */
 
-#elif  defined(__cris__)
+#elif  defined(__frv__)
 
-/*     The Cris calling convention uses stack args after four arguments
-       but the Linux kernel gets up to six arguments in registers.
+/*     The C calling convention on FR-V uses the gr8-gr13 registers
+       for the first six arguments, the remainder is spilled onto the
+       stack. the linux kernel syscall interface does so too.
        
-       scnr:   (r9)
-       args:   (r10), (r11), (r12), (r13), (mof), (srp), 
-       sret:   (r10)
-       serr:   (err= sret > (unsigned)-EMAXERRNO)
+       scnr:   id(gr7)
+       args:   a1(gr8), a2(gr9), a3(gr10), a4(gr11), a5(gr12), a6(gr13)
+       sret:   r0(gr8)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   tra gr0,gr0
+       clob:   memory
 */
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   125
-#endif
+#error syscall arch frv not implemented yet
 
-#define __syscall_errcon(res)                                          \
-       ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
 
-#define __syscall_return(type, res) do {                               \
-       __syscall_retval(res);                                          \
-       if (__syscall_errcon(res)) {                                    \
-               int __err = -(res);                                     \
-               __syscall_error(__err);                                 \
-               res = -1;                                               \
-       }                                                               \
-       return (type) res;                                              \
-} while (0)                            
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
+/*     *****************************************
+       H8300   H8300   H8300   H8300           *
+       h8/300 kernel interface                 */
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
+#elif  defined(__H8300__)
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regdef(a1, "r10");                            \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1", "$r10$r9")                              \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0)                                    \
-                     : "memory", "srp", "r13", "r12", "r11"            \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     The H8/300 C calling convention passes the first three
+       arguments in registers. However the linux kernel calling
+       convention passes the first six arguments in registers
+       er1-er6
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2", "$r10$r9$r10")                        \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1)                                    \
-                     : "memory", "srp", "r13", "r12", "r11"            \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+       scnr:   id(er0)
+       args:   a1(er1), a2(er2), a3(er3), a4(er4), a5(er5), a6(er6)
+       sret:   r0(er0)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   trapa #0
+       clob:   memory
+*/
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-               __syscall_regval(a2, "r11", arg2);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3", "$r10$r9$r10$r11")                  \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2)                      \
-                     : "memory", "srp", "r13", "r12"                   \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#error syscall arch h8300 not implemented yet
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-               __syscall_regval(a2, "r11", arg2);                      \
-               __syscall_regval(a3, "r12", arg3);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4", "$r10$r9$r10$r11$r12")            \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3)        \
-                     : "memory", "srp", "r13"                          \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-               __syscall_regval(a2, "r11", arg2);                      \
-               __syscall_regval(a3, "r12", arg3);                      \
-               __syscall_regval(a4, "r13", arg4);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5", "$r10$r9$r10$r11$r12$r13")      \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4)                                    \
-                     : "memory", "srp"                                 \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
-
-#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5)                 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-               __syscall_regval(a2, "r11", arg2);                      \
-               __syscall_regval(a3, "r12", arg3);                      \
-               __syscall_regval(a4, "r13", arg4);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5", "$r10$r9$r10$r11$r12$r13")      \
-                       "move %6,$mof\n\t"                              \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4),                                   \
-                       "g"((long)arg5)                                 \
-                     : "memory", "srp"                                 \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
-#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5, type6, arg6)    \
-type name (type1 arg1, type2 arg2, type3 arg3,                         \
-          type4 arg4, type5 arg5, type6 arg6)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-               __syscall_regval(a2, "r11", arg2);                      \
-               __syscall_regval(a3, "r12", arg3);                      \
-               __syscall_regval(a4, "r13", arg4);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5", "$r10$r9$r10$r11$r12$r13")      \
-                       "move %6,$mof\n\t"                              \
-                       "move %7,$srp\n\t"                              \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4),                                   \
-                       "g"((long)arg5), "g"((long)arg6)                \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     *****************************************
+       HPPA    HPPA    HPPA    HPPA            *
+       hppa/64 kernel interface                */
 
+#elif  defined(__hppa__)
 
-/*     *****************************************
-       FRV     FRV     FRV     FRV             *
-       frv kernel interface            */
+/*     The hppa calling convention uses r26-r23 for the first 4
+       arguments, the rest is spilled onto the stack. However the
+       Linux kernel passes the first six arguments in the registers
+       r26-r21.
 
-#elif  defined(__frv__)
+       The system call number MUST ALWAYS be loaded in the delay
+       slot of the ble instruction, or restarting system calls
+       WILL NOT WORK.
 
-#warning syscall arch frv not implemented yet
+       scnr:   id(r20)
+       args:   a1(r26), a2(r25), a3(r24), a4(r23), a5(r22), a6(r21)
+       sret:   r0(r28)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   ble  0x100(%%sr2, %%r0)
+       clob:   r1, r2, (r4), r20, r29, r31, memory
+       picr:   pr(r19) do we need to save that?
+*/
 
+#define        __sysc_max_err  4095
 
-/*     *****************************************
-       H8300   H8300   H8300   H8300           *
-       h8/300 kernel interface                 */
+#define        __sysc_cmd(n)   \
+       __pasm(n,1,1,   "copy %%r19, %%r4"      ,)\
+       __casm(n,0,1,   "ble 0x100(%%sr2,%%r0)" ,)\
+       __casm(n,0,1,   "ldi %1,%%r20"          ,)\
+       __pasm(n,1,1,   "copy %%r4, %%r19"      ,)
 
-#elif  defined(__h8300__)
+#define        __sysc_regs     "r26", "r25", "r24", "r23", "r22", "r21"
+
+#ifndef        __PIC__
+#define        __sysc_clobber  "r1", "r2", "r20", "r29", "r31", "memory"
+#else
+#define        __sysc_clobber  "r1", "r2", "r4", "r20", "r29", "r31", "memory"
+#endif
+
+#warning syscall arch hppa not tested yet
 
-#warning syscall arch h8300 not implemented yet
 
 
 /*     *****************************************
-       I386    I386    I386    I386            *
+       I386    I386    I386    I386            *
        i386 kernel interface                   */
 
 #elif  defined(__i386__)
 
-/*     The x86 calling convention uses stack args for all arguments,
-       but the Linux kernel passes the first six arguments in the
+/*     The x86 calling convention uses stack args for all arguments,
+       but the Linux kernel passes the first six arguments in the
        following registers: ebx, ecx, edx, esi, edi, ebp.
        
-       scnr:   a0(eax)
+       scnr:   id(eax)
        args:   a1(ebx), a2(ecx), a3(edx), a4(esi), a5(edi), a6(ebp) 
-       sret:   a0(eax)
-       serr:   (err= sret > (unsigned)-EMAXERRNO)
+       sret:   r0(eax)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   int 0x80
+       picr:   pr(ebx)
+       clob:   memory
+       move:   movl $sR,$dR
 */
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   129
-#endif
+#define        __sysc_max_err  129
 
-#define __syscall_errcon(res)                                          \
-       ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
+#define        __sc_reg1(...) __sc_cast(__arg_1(__VA_ARGS__,,,,,,))
+#define        __sc_reg6(...) __sc_cast(__arg_6(__VA_ARGS__,,,,,,))
 
-#define __syscall_return(type, res) do {                               \
-       __syscall_retval(res);                                          \
-       if (__syscall_errcon(res)) {                                    \
-               int __err = -(res);                                     \
-               __syscall_error(__err);                                 \
-               res = -1;                                               \
-       }                                                               \
-       return (type) res;                                              \
-} while (0)                            
+#define        __scsd  struct { __sc_ldef(__a); __sc_ldef(__b); } __scs
+#define        __scsa(n,...) \
+       __scs.__a = __sc_reg1(__VA_ARGS__);     \
+       __scs.__b = __sc_reg6(__VA_ARGS__);
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
+#define        __sc_input(n,...) __casm(n,6,0,         \
+       __scsd; __scsa(n,__VA_ARGS__),  )
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
+#define        __cm    ,
+#define        __sc_null(n)    __arg_##n(              \
+       __cm,__cm,__cm,__cm,__cm,__cm)
 
+#define        __sc_rvcs(r,v)  r (__sc_cast(v))
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1", "%%eax%%eax")                          \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0)                                    \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sc_rvrd(n,N)  __arg_##n(,             \
+       __cm    __sc_rvcs("c", N),              \
+       __cm    __sc_rvcs("d", N),              \
+       __cm    __sc_rvcs("S", N),              \
+       __cm    __sc_rvcs("D", N),)
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2", "%%eax%%eax%%ebx")                   \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1)                                   \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sc_arg1(n,...) __Casm(n,1,6,0,,       \
+       __sc_rvcs(__pic("ri") __nopic("b"),     \
+       __sc_reg1(__VA_ARGS__)),                \
+       __sc_rvcs("0", &__scs))
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-               __syscall_regval(a2, "ecx", arg2);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2%3", "%%eax%%eax%%ebx%%ecx")            \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2)                     \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sc_syscall(n,N,...) \
+       __sc_asm_vol (__sysc_cmd(n)             \
+         : __sc_oregs                          \
+         : __sc_cidval(N) __sc_null(n)         \
+           __sc_arg1(n,__VA_ARGS__)            \
+           __con_##n(__sc_rvrd,__VA_ARGS__)    \
+         : "memory" )
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-               __syscall_regval(a2, "ecx", arg2);                      \
-               __syscall_regval(a3, "edx", arg3);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2%3%4", "%%eax%%eax%%ebx%%ecx%%edx")             \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3)      \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+#define        __sysc_cmd(n)   \
+       __pasm(n,1,1,   "pushl  %%ebx"          ,)\
+       __Pasm(n,1,5,1,,"movl   %2, %%ebx"      ,)\
+       __casm(n,6,1,   "pushl  %%ebp"          ,)\
+       __casm(n,6,1,   "movl   0(%2), %%ebx"   ,)\
+       __casm(n,6,1,   "movl   4(%2), %%ebp"   ,)\
+       __casm(n,0,1,   "movl   %1, %%eax"      ,)\
+       __casm(n,0,1,   "int    $0x80"          ,)\
+       __casm(n,6,1,   "popl   %%ebp"          ,)\
+       __pasm(n,1,1,   "popl   %%ebx"          ,)
 
+#define        __sysc_reg_ret  "eax"
+#define        __sysc_con_ret  "=a"
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-               __syscall_regval(a2, "ecx", arg2);                      \
-               __syscall_regval(a3, "edx", arg3);                      \
-               __syscall_regval(a4, "esi", arg4);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2%3%4%5",                                        \
-                       "%%eax%%eax%%ebx%%ecx%%edx%%esi")               \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4)                                   \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
-
-#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5)                 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-               __syscall_regval(a2, "ecx", arg2);                      \
-               __syscall_regval(a3, "edx", arg3);                      \
-               __syscall_regval(a4, "esi", arg4);                      \
-               __syscall_regval(a5, "edi", arg5);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2%3%4%5%6",                              \
-                       "%%eax%%eax%%ebx%%ecx%%edx%%esi%%edi")          \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4), "r"(__sc_a5)                     \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
-
-#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5, type6, arg6)    \
-type name (type1 arg1, type2 arg2, type3 arg3,                         \
-          type4 arg4, type5 arg5, type6 arg6)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-               __syscall_regval(a2, "ecx", arg2);                      \
-               __syscall_regval(a3, "edx", arg3);                      \
-               __syscall_regval(a4, "esi", arg4);                      \
-               __syscall_regval(a5, "edi", arg5);                      \
-               __syscall_regval(a6, "ebp", arg6);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2%3%4%5%6%7",                            \
-                       "%%eax%%eax%%ebx%%ecx%%edx%%esi%%edi%%ebp")     \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4), "r"(__sc_a5), "r" (__sc_a6)      \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
 
 /*     *****************************************
-       IA64    IA64    IA64    IA64            *
+       IA64    IA64    IA64    IA64            *
        ia64 kernel interface                   */
 
 #elif  defined(__ia64__)
 
-#warning syscall arch ia64 not implemented yet
+/*     The ia64 calling convention uses out0-out7 to pass the first
+       eight arguments (mapped via register windows).
+
+       scnr:   id(r15)
+       args:   a1(out0), a2(out1), ... a5(out4), a6(out5)
+       sret:   r0(r8)
+       serr:   e0(r10)
+       call:   break 0x100000
+       clob:   out6/7, r2/3/9, r11-r14, r16-r31, p6-p15, f6-f15, b6/7
+       move:   mov %dR = %sR
+*/
+
+#define        __sysc_errc(r,e)        ((e) == -1)
+
+#define        __sysc_cmd(n)   "break.i 0x100000"
+
+#define        __sysc_regs     "out0", "out1", "out2", "out3", "out4", "out5"
+#define        __sysc_reg_cid  "r15"
+#define        __sysc_reg_ret  "r8"
+#define        __sysc_reg_err  "r10"
+
+#define        __sysc_clobber  \
+       "out6", "out7", "r2", "r3", "r9", "r11", "r12", "r13",          \
+       "r14", "r16", "r17", "r18", "r19", "r20", "r21", "r22",         \
+       "r23", "r24", "r25", "r26", "r27", "r28", "r29", "r30",         \
+       "r31", "p6", "p7", "p8", "p9", "p10", "p11", "p12", "p13",      \
+       "p14", "p15", "f6", "f7", "f8", "f9", "f10", "f11", "f12",      \
+       "f13", "f14", "f15", "f16", "b6", "b7", "cc", "memory"
+
+#warning syscall arch ia64 not tested yet
+
 
 
 /*     *****************************************
-       M32R    IM32R   M32R    M32R            *
+       M32R    M32R    M32R    M32R            *
        m32r kernel interface                   */
 
-#elif  defined(__m32r__)
+#elif  defined(__M32R__)
+
+/*     The m32r calling convention uses r0-r7 to pass the first
+       eight arguments (mapped via register windows).
+
+       scnr:   id(r0)
+       args:   a1(r1), a2(r2), a3(r3), a4(r4), a5(r5), a6(r6)
+       sret:   r0(r0)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   trap #2
+       clob:   out6/7, r2/3/9, r11-r14, r16-r31, p6-p15, f6-f15, b6/7
+       move:   mv %dR,%sR
+*/
+
+#define        __sysc_max_err  125
+
+#define        __sysc_cmd(n)   "trap #2"
+
+#define        __sysc_regs     "r0", "r1", "r2", "r3", "r4", "r5"
+#define        __sysc_reg_cid  "r7"
+#define        __sysc_reg_ret  "r0"
+
+#warning syscall arch m32r not tested yet
 
-#warning syscall arch m32r not implemented yet
 
 
 /*     *****************************************
-       M68K    M68K    M68K    M68K            *
+       M68K    M68K    M68K    M68K            *
        m68k kernel interface                   */
 
 #elif  defined(__m68000__)
 
-#warning syscall arch m68k not implemented yet
+#error syscall arch m68k not implemented yet
+
 
 
 /*     *****************************************
-       MIPS    MIPS    MIPS    MIPS            *
+       MIPS    MIPS    MIPS    MIPS            *
        mips kernel interface                   */
 
-#elif defined(__mips__)
+#elif  defined(__mips__)
+
+/*     The ABIO32 calling convention uses a0-a3  to pass the first
+       four arguments, the rest is passed on the userspace stack.  
+       The 5th arg starts at 16($sp). The new mips calling abi uses 
+       registers a0-a5, restart requires a reload of v0 (#syscall)
+
+       ABIN32 and ABI64 pass 6 args in a0-a3, t0-t1.
+
+       scnr:   id(v0)
+       args:   a1(a0), a2(a1), a3(a2), a4(a3), a5(t0), a6(t1)
+       sret:   r0(v0)
+       serr:   e0(a3)
+       call:   syscall
+       clob:   at, v1, t2-t7, t8-t9
+       move:   move    %dR,%sR
+*/
+
+#define        __sysc_cmd(n)   \
+       __casm(n,0,1,   "ori    $v0,$0,%2"      ,)\
+       __casm(n,0,1,   "syscall"               ,)
+
+#define        __sysc_regs     "a0","a1","a2","a3", "t0", "t1"
+#define        __sysc_reg_ret  "v0"
+#define        __sysc_reg_err  "a3"
+
+#define        __sysc_clobber  "$1", "$3", "$10", "$11", "$12",                \
+                       "$13", "$14", "$15", "$24", "$25", "memory"
+
+#warning syscall arch mips not tested yet
 
-#warning syscall arch mips not implemented yet
 
 
 /*     *****************************************
-       HPPA    HPPA    HPPA    HPPA            *
-       hppa kernel interface                   */
+       PPC     PPC     PPC     PPC             *
+       ppc/64 kernel interface                 */
 
-#elif defined(__hppa__)
+#elif  defined(__powerpc__)
 
-/*     The hppa calling convention uses r26-r23 for the first 4
-       arguments, the rest is spilled onto the stack. However the
-       Linux kernel passes the first six arguments in the registers
-       r26-r21. 
+/*     The powerpc calling convention uses r3-r10 to pass the first
+       eight arguments, the remainder is spilled onto the stack.
        
-       The system call number MUST ALWAYS be loaded in the delay 
-       slot of the ble instruction, or restarting system calls 
-       WILL NOT WORK.
-       
-       scnr:   r20
-       args:   r26, r25, r24, r23, r22, r21 
-       sret:   r28
-       serr:   (err= sret > (unsigned)-EMAXERRNO)
-       clob:   r1, r2, r4, r20, r29, r31, memory
+       scnr:   id(r0)
+       args:   a1(r3), a2(r4), a3(r5), a4(r6), a5(r7), a6(r8)
+       sret:   r0(r3)
+       serr:   (carry)
+       call:   sc
+       clob:   r9-r12, cr0, ctr
+       move:   mr %dR,%sR
 */
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   4095
-#endif
+#define        __sysc_errc(r,e)        ((e) & 0x10000000)
 
-#define __syscall_errcon(res)                                          \
-       ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
+#define        __sysc_cmd(n)   \
+       __casm(n,0,1,   "sc"                    ,)\
+       __casm(n,0,1,   "mfcr %1"               ,)
 
-#define __syscall_return(type, res) do {                               \
-       __syscall_retval(res);                                          \
-       if (__syscall_errcon(res)) {                                    \
-               int __err = -(res);                                     \
-               __syscall_error(__err);                                 \
-               res = -1;                                               \
-       }                                                               \
-       return (type) res;                                              \
-} while (0)                            
+#define        __sysc_regs     "r3", "r4", "r5", "r6", "r7", "r8"
+#define        __sysc_reg_cid  "r0"
+#define        __sysc_reg_ret  "r3"
 
-#define __syscall_clobbers                                             \
-       "%r1", "%r2", "%r4", "%r20", "%r29", "%r31", "memory" 
+#define        __sysc_clobber  "r9", "r10", "r11", "r12", "cr0", "ctr", "memory"
 
-#define __syscall_regdef(name, reg)                                    \
-       register unsigned long __sc_##name __asm__ (reg)
 
-#define __syscall_regval(name, reg, val)                               \
-       register unsigned long __sc_##name __asm__ (reg) =              \
-       (unsigned long)(val)
 
+/*     *****************************************
+       S390    S390    S390    S390            *
+       s390/x kernel interface                 */
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0", "%%r28")                                  \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name)                                \
-                     : "%r21", "%r22", "%r23",                         \
-                       "%r24", "%r25", "%r26",                         \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#elif  defined(__s390__)
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2", "%%r28%%r26")                           \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1)                                    \
-                     : "%r21", "%r22", "%r23", "%r24", "%r25",         \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     The s390x calling convention passes the first five arguments
+       in r2-r6, the remainder is spilled onto the stack. However
+       the Linux kernel passes the first six arguments in r2-r7.
+       
+       scnr:   imm, id(r1)
+       args:   a1(r2), a2(r3), a3(r4), a4(r5), a5(r6), a6(r7)
+       sret:   r0(r2)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   svc
+       clob:   memory
+*/
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-               __syscall_regval(a2, "r25", arg2);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3", "%%r28%%r26%%r25")                    \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1), "r"(__sc_a2)                      \
-                     : "%r21", "%r22", "%r23", "%r24",                 \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sysc_max_err  4095
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-               __syscall_regval(a2, "r25", arg2);                      \
-               __syscall_regval(a3, "r24", arg3);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4", "%%r28%%r26%%r25%%r24")             \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3)        \
-                     : "%r21", "%r22", "%r23",                         \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
-
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-               __syscall_regval(a2, "r25", arg2);                      \
-               __syscall_regval(a3, "r24", arg3);                      \
-               __syscall_regval(a4, "r23", arg4);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5", "%%r28%%r26%%r25%%r24%%r23")      \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4)                                    \
-                     : "%r21", "%r22",                                 \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
-
-#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5)                 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-               __syscall_regval(a2, "r25", arg2);                      \
-               __syscall_regval(a3, "r24", arg3);                      \
-               __syscall_regval(a4, "r23", arg4);                      \
-               __syscall_regval(a5, "r22", arg5);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5%6",                                 \
-                       "%%r28%%r26%%r25%%r24%%r23%%r22")               \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5)                      \
-                     : "%r21",                                         \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sysc_cmd(n)   "svc    0"
 
-#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                       type4, arg4, type5, arg5, type6, arg6)          \
-type name (type1 arg1, type2 arg2, type3 arg3,                         \
-          type4 arg4, type5 arg5, type6 arg6)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-               __syscall_regval(a2, "r25", arg2);                      \
-               __syscall_regval(a3, "r24", arg3);                      \
-               __syscall_regval(a4, "r23", arg4);                      \
-               __syscall_regval(a5, "r22", arg5);                      \
-               __syscall_regval(a6, "r21", arg6);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5%6%7",                               \
-                       "%%r28%%r26%%r25%%r24%%r23%%r22%%r21")          \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5), "r"(__sc_a6)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+// #define     __sysc_type     unsigned long
 
+#define        __sysc_regs     "r2", "r3", "r4", "r5", "r6", "r7"
+#define        __sysc_reg_cid  "r1"
+#define        __sysc_reg_ret  "r2"
+
+#warning syscall arch s390 not tested yet
 
 
-/*     *****************************************
-       PPC64   PPC64   PPC64   PPC64           *
-       ppc64 kernel interface                  */
 
-#elif defined(__powerpc64__)
+/*     *****************************************
+       SH      SH      SH      SH              *
+       sh kernel interface                     */
 
-#warning syscall arch ppc64 not implemented yet
+#elif  defined(__sh__) && !defined(__SH5__)
 
+/*     The SuperH calling convention passes the first four arguments
+       in r4-r7, the remainder is spilled onto the stack. However
+       the Linux kernel passes the remainder in r0-r1.
 
-/*     *****************************************
-       PPC     PPC     PPC     PPC             *
-       ppc kernel interface                    */
-
-#elif defined(__powerpc__)
-
-/*      The powerpc calling convention uses r3-r10 to pass the first
-       eight arguments, the remainder is spilled onto the stack.
-        
-        scnr:   r0
-        args:   a1(r3), a2(r4), a3(r5), a4(r6), a5(r7), a6(r8)
-        sret:   r3
-        serr:   (carry)
-       call:   sc
-       clob:   cr0, ctr
+       scnr:   id(r3)
+       args:   a1(r4), a2(r5), a3(r6), a4(r7), a5(r0), a6(r1)
+       sret:   r0(r0)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   trapa #0x1x (x=#args)
+       clob:   memory
+       move:   ori     %sR,0,%dR
 */
 
-#define __syscall_errcon(err)  (err & 0x10000000)
+#ifdef __sh2__
+#define        __sysc_arch     "trapa  #0x2"
+#else
+#define        __sysc_arch     "trapa  #0x1"
+#endif
 
-#define __syscall_return(type, ret, err) do {                          \
-       __syscall_retval(ret);                                          \
-       if (__syscall_errcon(err)) {                                    \
-               int __err = (ret);                                      \
-               __syscall_error(__err);                                 \
-               ret = -1;                                               \
-       }                                                               \
-       return (type) ret;                                              \
-} while (0)                            
+#define        __sysc_max_err  4095
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
+#define        __sysc_cmd(n)   __sysc_arch #n
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
+#define        __sysc_regs     "r4", "r5", "r6", "r7", "r0", "r1"
+#define        __sysc_reg_cid  "r3"
+#define        __sysc_reg_ret  "r0"
 
-#define __syscall_clobbers                                             \
-       "r9", "r10", "r11", "r12",                                      \
-       "cr0", "ctr", "memory"
+#warning syscall arch sh not tested yet
 
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_ret, __sc_err;                                \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regdef(a1, "r3");                             \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0)                                    \
-                     : "r4", "r5", "r6", "r7", "r8",                   \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1)                                    \
-                     : "r4", "r5", "r6", "r7", "r8",                   \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+/*     *****************************************
+       SH64    SH64    SH64    SH64            *
+       sh64 kernel interface                   */
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-               __syscall_regval(a2, "r4", arg2);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1), "r"(__sc_a2)                      \
-                     : "r5", "r6", "r7", "r8",                         \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+#elif defined(__sh__) && defined(__SH5__)
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-               __syscall_regval(a2, "r4", arg2);                       \
-               __syscall_regval(a3, "r5", arg3);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3)        \
-                     : "r6", "r7", "r8",                               \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-} 
+/*     The SuperH-5 calling convention passes the first eight
+       arguments in r2-r9. The Linux kernel uses only six of
+       them as arguments, and the last one for the syscall id.
 
+       scnr:   id(r9)
+       args:   a1(r2), a2(r3), a3(r4), a4(r5), a5(r6), a6(r7)
+       sret:   r0(r9)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   trapa #0x1x (x=#args)
+       clob:   memory
+       move:   ori     %sR,0,%dR
+*/
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-               __syscall_regval(a2, "r4", arg2);                       \
-               __syscall_regval(a3, "r5", arg3);                       \
-               __syscall_regval(a4, "r6", arg4);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4)                                    \
-                     : "r7", "r8",                                     \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-} 
+#define        __sysc_max_err  4095
 
-#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5)                 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-               __syscall_regval(a2, "r4", arg2);                       \
-               __syscall_regval(a3, "r5", arg3);                       \
-               __syscall_regval(a4, "r6", arg4);                       \
-               __syscall_regval(a5, "r7", arg5);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5)                      \
-                     : "r8",                                           \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+#define        __sysc_cmd(n)   \
+       __casm(n,0,1,   "movi   0x1" #n ",r9"   ,)\
+       __casm(n,0,1,   "shori  %1,r9"          ,)\
+       __casm(n,0,1,   "trapa  r9"             ,)
+
+#define        __sysc_regs     "r2", "r3", "r4", "r5", "r6", "r7"
+#define        __sysc_reg_ret  "r9"
+
+#warning syscall arch sh64 not tested yet
 
-#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5, type6, arg6)    \
-type name (type1 arg1, type2 arg2, type3 arg3,                         \
-          type4 arg4, type5 arg5, type6 arg6)                          \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-               __syscall_regval(a2, "r4", arg2);                       \
-               __syscall_regval(a3, "r5", arg3);                       \
-               __syscall_regval(a4, "r6", arg4);                       \
-               __syscall_regval(a5, "r7", arg5);                       \
-               __syscall_regval(a6, "r8", arg6);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5), "r"(__sc_a6)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
 
 
 /*     *****************************************
-       S390X   S390X   S390X   S390X           *
-       s390x kernel interface                  */
+       SPARC64 SPARC64 SPARC64 SPARC64         *
+       sparc64 kernel interface                */
 
-#elif defined(__s390x__)
+#elif  defined(__sparc__)
 
-/*      The s390x calling convention passes the first five arguments
-       in r2-r6, the remainder is spilled onto the stack. However 
-       the Linux kernel passes the first six arguments in r2-r7.
-       
-        scnr:   imm, r1 
-        args:   a1(r2), a2(r3), a3(r4), a4(r5), a5(r6), a6(r7)
-        sret:   r2
-        serr:   (err= sret > (unsigned)-EMAXERRNO)
-       call:   svc
-       clob:   memory
+/*     The sparc/64 calling convention uses o0-o5 to pass the first
+       six arguments (mapped via register windows).
+
+       scnr:   id(g1)
+       args:   a1(o0), a2(o1), a3(o2), a4(o3), a5(o4), a6(o5)
+       sret:   r0(o0)
+       serr:   (carry)
+       call:   ta 0x6d, t 0x10
+       clob:   g1-g6, g7?, o7?, f0-f31, cc
+       move:   mov     %sR,%dR
 */
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   4095
+#ifdef __arch64__
+#define        __sysc_arch     "ta     0x6d"
+#else
+#define        __sysc_arch     "ta     0x10"
 #endif
 
-#define __syscall_errcon(res)                                           \
-        ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
+#define        __sysc_cmd(n)   \
+       __casm(n,0,1,   __sysc_arch             ,)\
+       __casm(n,0,1,   "addx   %%g0,%%g0,%1"   ,)
 
-#define __syscall_return(type, res) do {                                \
-        __syscall_retval(res);                                          \
-        if (__syscall_errcon(res)) {                                    \
-                int __err = -(res);                                     \
-                __syscall_error(__err);                                 \
-                res = -1;                                               \
-        }                                                               \
-        return (type) res;                                              \
-} while (0)                             
+#define        __sysc_regs     "o0", "o1", "o2", "o3", "o4", "o5"
+#define        __sysc_reg_cid  "g1"
+#define        __sysc_reg_ret  "o0"
 
-#define __syscall_regdef(name, reg)                                    \
-       register unsigned long __sc_##name __asm__ (reg)
+#define        __sysc_clobber  "g2", "g3", "g4", "g5", "g6",                   \
+       "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8",           \
+       "f9", "f10", "f11", "f12", "f13", "f14", "f15", "f16",          \
+       "f17", "f18", "f19", "f20", "f21", "f22", "f23", "f24",         \
+       "f25", "f26", "f27", "f28", "f29", "f30", "f31", "f32",         \
+       "f34", "f36", "f38", "f40", "f42", "f44", "f46", "f48",         \
+       "f50", "f52", "f54", "f56", "f58", "f60", "f62",                \
+       "cc", "memory"
 
-#define __syscall_regval(name, reg, val)                               \
-       register unsigned long __sc_##name __asm__ (reg) =              \
-               (unsigned long)(val)
 
-#define __syscall_clobbers     "memory"
 
+/*     *****************************************
+       V850    V850    V850    V850            *
+       v850 kernel interface                   */
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regdef(a1, "r2");                             \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1", "%%r2%%r1")                             \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#elif  defined(__v850__)
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2", "%%r2%%r1%%r2")                       \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     The V850 calling convention passes the first four arguments
+       in registers r6-r9, the rest is spilled onto the stack.
+       but the Linux kernel interface uses r6-r9 and r13/14.
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-               __syscall_regval(a2, "r3", arg2);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3", "%%r2%%r1%%r2%%r3")                 \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+       scnr:   id(r12)
+       args:   a1(r6), a2(r7), a3(r8), a4(r9), a5(r13), a6(r14)
+       sret:   r0(r10)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   trap 0, trap 1
+       clob:   r1, r5, r11, r15-r19
+*/
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-               __syscall_regval(a2, "r3", arg2);                       \
-               __syscall_regval(a3, "r4", arg3);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4", "%%r2%%r1%%r2%%r3%%r4")           \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+#define        __sysc_max_err  515
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-               __syscall_regval(a2, "r3", arg2);                       \
-               __syscall_regval(a3, "r4", arg3);                       \
-               __syscall_regval(a4, "r5", arg4);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5", "%%r2%%r1%%r2%%r3%%r4%%r5")     \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+#define        __sysc_cmd(n)   \
+       __casm(n,4,0,   "trap 1"        ,"trap 0"       )
 
-#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5)                 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-               __syscall_regval(a2, "r3", arg2);                       \
-               __syscall_regval(a3, "r4", arg3);                       \
-               __syscall_regval(a4, "r5", arg4);                       \
-               __syscall_regval(a5, "r6", arg5);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5%6",                               \
-                       "%%r2%%r1%%r2%%r3%%r4%%r5%%r6")                 \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sysc_regs     "r6", "r7", "r8", "r9", "r13", "r14"
+#define        __sysc_reg_cid  "r12"
+#define        __sysc_reg_ret  "r10"
 
-#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                       type4, arg4, type5, arg5, type6, arg6)          \
-type name (type1 arg1, type2 arg2, type3 arg3,                         \
-          type4 arg4, type5 arg5, type6 arg6)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-               __syscall_regval(a2, "r3", arg2);                       \
-               __syscall_regval(a3, "r4", arg3);                       \
-               __syscall_regval(a4, "r5", arg4);                       \
-               __syscall_regval(a5, "r6", arg5);                       \
-               __syscall_regval(a6, "r7", arg6);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5%6%7",                             \
-                       "%%r2%%r1%%r2%%r3%%r4%%r5%%r6%%r7")             \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5), "r"(__sc_a6)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sysc_clobber  "r1", "r5", "r11",                              \
+                       "r15", "r16", "r17", "r18", "r19", "memory"
+
+#warning syscall arch v850 not tested yet
 
 
 
 /*     *****************************************
-       S390    S390    S390    S390            *
-       s390 kernel interface                   */
+       X86_64  X86_64  X86_64  X86_64          *
+       x86_64 kernel interface                 */
 
-#elif defined(__s390__)
+#elif  defined(__x86_64__)
 
-#warning syscall arch s390 not implemented yet
+/*     The x86_64 calling convention uses rdi, rsi, rdx, rcx, r8, r9
+       but the Linux kernel interface uses rdi, rsi, rdx, r10, r8, r9.
+       
+       scnr:   id(rax)
+       args:   a1(rdi), a2(rsi), a3(rdx), a4(r10), a5(r8), a6(r9)
+       sret:   r0(rax)
+       serr:   (err= sret > (unsigned)-EMAXERRNO)
+       call:   syscall
+       clob:   rcx, r11
+*/
 
+#define        __sysc_max_err  4095
 
-/*     *****************************************
-       SH      SH      SH      SH              *
-       sh kernel interface                     */
+#define        __sysc_cmd(n)   "syscall"
 
-#elif defined(__sh__) && !defined(__SH5__)
+#define        __sysc_regs     "rdi", "rsi", "rdx", "r10", "r8", "r9"
+#define        __sysc_reg_cid  "rax"
+#define        __sysc_reg_ret  "rax"
+#define        __sysc_con_ret  "=a"
 
-#warning syscall arch sh not implemented yet
+#define        __sysc_clobber  "cc", "r11", "rcx", "memory"
 
+#else
+#error unknown kernel arch
+#endif
 
-/*     *****************************************
-       SH64    SH64    SH64    SH64            *
-       sh64 kernel interface                   */
+       
+       /* implementation defaults */
 
-#elif defined(__sh__) && defined(__SH5__)
 
-#warning syscall arch sh64 not implemented yet
 
+#ifndef        __sysc_clobber
+#define        __sysc_clobber          "memory"
+#endif
 
-/*     *****************************************
-       SPARC64 SPARC64 SPARC64 SPARC64         *
-       sparc64 kernel interface                */
+#ifndef        __sysc_acon
+#define        __sysc_acon(n)          "r"
+#endif
 
-#elif defined(__sparc__) && defined(__arch64__)
+#ifndef        __sysc_con_ret
+#define        __sysc_con_ret          "=r"
+#endif
 
-/*      The sparc64 calling convention uses o0-o5 to pass the first six
-       arguments (mapped via register windows).
-        
-        scnr:   g1
-        args:   o0, o1, o2, o3, o4, o5 
-        sret:   o0
-        serr:   (carry)
-       call:   t 0x10
-       clob:   g1-g6, g7?, o7?, f0-f31, cc
-*/
+#ifndef        __sysc_con_err
+#define        __sysc_con_err          "=r"
+#endif
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   515
+#ifndef        __sysc_con_cid
+#ifdef __sysc_reg_cid
+#define        __sysc_con_cid          "r"
+#else
+#define        __sysc_con_cid          "i"
+#endif
 #endif
 
-#define __syscall_errcon(res)                                           \
-        ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
-
-#define __syscall_return(type, res) do {                                \
-        __syscall_retval(res);                                          \
-        if (__syscall_errcon(res)) {                                    \
-                int __err = -(res);                                     \
-                __syscall_error(__err);                                 \
-                res = -1;                                               \
-        }                                                               \
-        return (type) res;                                              \
-} while (0)                             
-
-#define __syscall_clobbers                                             \
-       "g2", "g3", "g4", "g5", "g6",                                   \
-       "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8",           \
-       "f9", "f10", "f11", "f12", "f13", "f14", "f15", "f16",          \
-       "f17", "f18", "f19", "f20", "f21", "f22", "f23", "f24",         \
-       "f25", "f26", "f27", "f28", "f29", "f30", "f31", "f32",         \
-       "f34", "f36", "f38", "f40", "f42", "f44", "f46", "f48",         \
-       "f50", "f52", "f54", "f56", "f58", "f60", "f62",                \
-       "cc", "memory" 
+#ifndef        __sysc_type
+#define        __sysc_type             long
+#endif
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
+#ifdef __sysc_regs
+#define        __sysc_rega(n,...)      __arg_##n(__VA_ARGS__)
+#ifndef        __sysc_reg
+#define        __sysc_reg(n)           __sysc_rega(n,__sysc_regs)
+#endif
+#endif
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regdef(o0, "o0");                             \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+       /* argument list */
+
+#define        __lst_6(x,a1,a2,a3,a4,a5,a6)    __lst_5(x,a1,a2,a3,a4,a5),x(6,a6)
+#define        __lst_5(x,a1,a2,a3,a4,a5)       __lst_4(x,a1,a2,a3,a4),x(5,a5)
+#define        __lst_4(x,a1,a2,a3,a4)          __lst_3(x,a1,a2,a3),x(4,a4)
+#define        __lst_3(x,a1,a2,a3)             __lst_2(x,a1,a2),x(3,a3)
+#define        __lst_2(x,a1,a2)                __lst_1(x,a1),x(2,a2)
+#define        __lst_1(x,a1)                   __lst_0(x,*),x(1,a1)
+#define        __lst_0(x,a0)
+
+       /* argument concatenation */
+
+#define        __con_6(x,a1,a2,a3,a4,a5,a6)    __con_5(x,a1,a2,a3,a4,a5)x(6,a6)
+#define        __con_5(x,a1,a2,a3,a4,a5)       __con_4(x,a1,a2,a3,a4)x(5,a5)
+#define        __con_4(x,a1,a2,a3,a4)          __con_3(x,a1,a2,a3)x(4,a4)
+#define        __con_3(x,a1,a2,a3)             __con_2(x,a1,a2)x(3,a3)
+#define        __con_2(x,a1,a2)                __con_1(x,a1)x(2,a2)
+#define        __con_1(x,a1)                   __con_0(x,*)x(1,a1)
+#define        __con_0(x,a0)
+
+       /* argument selection */
+
+#define        __arg_0(...)
+#define        __arg_1(a1,...)                 a1
+#define        __arg_2(a1,a2,...)              a2
+#define        __arg_3(a1,a2,a3,...)           a3
+#define        __arg_4(a1,a2,a3,a4,...)        a4
+#define        __arg_5(a1,a2,a3,a4,a5,...)     a5
+#define        __arg_6(a1,a2,a3,a4,a5,a6,...)  a6
+
+       /* list remainder */
+
+#define        __rem_0(a1,a2,a3,a4,a5,a6)      ,a1,a2,a3,a4,a5,a6
+#define        __rem_1(a1,a2,a3,a4,a5,a6)      ,a2,a3,a4,a5,a6
+#define        __rem_2(a1,a2,a3,a4,a5,a6)      ,a3,a4,a5,a6
+#define        __rem_3(a1,a2,a3,a4,a5,a6)      ,a4,a5,a6
+#define        __rem_4(a1,a2,a3,a4,a5,a6)      ,a5,a6
+#define        __rem_5(a1,a2,a3,a4,a5,a6)      ,a6
+#define        __rem_6(...)
+
+
+       /* conditional asm */
+
+#define        __casm_use(q,r,v)       v __casm_use_##q##r(__casm_nl(""))
+
+#define        __casm_use_10(v)
+#define        __casm_use_11(v)        v
+#define        __casm_use_12(v)
+#define        __casm_use_13(v)        v
+
+#define        __casm_use_20(v)
+#define        __casm_use_21(v)
+#define        __casm_use_22(v)        v
+#define        __casm_use_23(v)        v
+
+
+#define        __casm_00(v,w,r)        __casm_use(1,r,v)
+#define        __casm_01(v,w,r)        __casm_use(2,r,w)
+#define        __casm_02(v,w,r)        __casm_use(2,r,w)
+#define        __casm_03(v,w,r)        __casm_use(2,r,w)
+#define        __casm_04(v,w,r)        __casm_use(2,r,w)
+#define        __casm_05(v,w,r)        __casm_use(2,r,w)
+#define        __casm_06(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_10(v,w,r)        __casm_use(1,r,v)
+#define        __casm_11(v,w,r)        __casm_use(1,r,v)
+#define        __casm_12(v,w,r)        __casm_use(2,r,w)
+#define        __casm_13(v,w,r)        __casm_use(2,r,w)
+#define        __casm_14(v,w,r)        __casm_use(2,r,w)
+#define        __casm_15(v,w,r)        __casm_use(2,r,w)
+#define        __casm_16(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_20(v,w,r)        __casm_use(1,r,v)
+#define        __casm_21(v,w,r)        __casm_use(1,r,v)
+#define        __casm_22(v,w,r)        __casm_use(1,r,v)
+#define        __casm_23(v,w,r)        __casm_use(2,r,w)
+#define        __casm_24(v,w,r)        __casm_use(2,r,w)
+#define        __casm_25(v,w,r)        __casm_use(2,r,w)
+#define        __casm_26(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_30(v,w,r)        __casm_use(1,r,v)
+#define        __casm_31(v,w,r)        __casm_use(1,r,v)
+#define        __casm_32(v,w,r)        __casm_use(1,r,v)
+#define        __casm_33(v,w,r)        __casm_use(1,r,v)
+#define        __casm_34(v,w,r)        __casm_use(2,r,w)
+#define        __casm_35(v,w,r)        __casm_use(2,r,w)
+#define        __casm_36(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_40(v,w,r)        __casm_use(1,r,v)
+#define        __casm_41(v,w,r)        __casm_use(1,r,v)
+#define        __casm_42(v,w,r)        __casm_use(1,r,v)
+#define        __casm_43(v,w,r)        __casm_use(1,r,v)
+#define        __casm_44(v,w,r)        __casm_use(1,r,v)
+#define        __casm_45(v,w,r)        __casm_use(2,r,w)
+#define        __casm_46(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_50(v,w,r)        __casm_use(1,r,v)
+#define        __casm_51(v,w,r)        __casm_use(1,r,v)
+#define        __casm_52(v,w,r)        __casm_use(1,r,v)
+#define        __casm_53(v,w,r)        __casm_use(1,r,v)
+#define        __casm_54(v,w,r)        __casm_use(1,r,v)
+#define        __casm_55(v,w,r)        __casm_use(1,r,v)
+#define        __casm_56(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_60(v,w,r)        __casm_use(1,r,v)
+#define        __casm_61(v,w,r)        __casm_use(1,r,v)
+#define        __casm_62(v,w,r)        __casm_use(1,r,v)
+#define        __casm_63(v,w,r)        __casm_use(1,r,v)
+#define        __casm_64(v,w,r)        __casm_use(1,r,v)
+#define        __casm_65(v,w,r)        __casm_use(1,r,v)
+#define        __casm_66(v,w,r)        __casm_use(1,r,v)
+
+
+       /* special PIC handling */
+
+#ifdef __PIC__
+#define        __pic(v)                v
+#define        __nopic(v)
+#else
+#define        __pic(v)
+#define        __nopic(v)              v
+#endif
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __casm_nl(v)            v "\n\t"
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+#define        __casm(n,a,r,v,w)       __casm_##n##a(v,w,r)
+#define        __Casm(n,a,b,r,u,v,w)   __casm_##n##b(w,__casm_##n##a(v,u,r),r)
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+#define        __pasm(n,a,r,v,w)       __pic(__casm(n,a,r,v,w))
+#define        __Pasm(n,a,b,r,u,v,w)   __pic(__Casm(n,a,b,r,u,v,w))
 
-#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5)                 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-               __syscall_regval(o4, "o4", arg5);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3), "r"(__sc_o4)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __nasm(n,a,r,v,w)       __nopic(__casm(n,a,r,v,w))
+#define        __Nasm(n,a,b,r,u,v,w)   __nopic(__Casm(n,a,b,r,u,v,w))
 
-#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                       type4, arg4, type5, arg5, type6, arg6)          \
-type name (type1 arg1, type2 arg2, type3 arg3,                         \
-          type4 arg4, type5 arg5, type6 arg6)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-               __syscall_regval(o4, "o4", arg5);                       \
-               __syscall_regval(o5, "o5", arg6);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3), "r"(__sc_o4), "r"(__sc_o5)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
+#define        __sc_cast(v)            (__sysc_type)(v)
+#define        __sc_ldef(N)            __sysc_type N
+#define        __sc_rdef(N,R)          register __sc_ldef(N) __sc_asm (R)
 
-/*     *****************************************
-       SPARC   SPARC   SPARC   SPARC           *
-       sparc kernel interface                  */
-
-#elif defined(__sparc__)
-
-/*      The sparc calling convention uses o0-o5 to pass the first six
-       arguments (mapped via register windows).
-        
-        scnr:   g1
-        args:   o0, o1, o2, o3, o4, o5 
-        sret:   o0
-        serr:   (carry)
-       call:   t 0x10
-       clob:   g1-g6, g7?, o7?, f0-f31, cc
-*/
+#define        __sc_scid(N,v)          __sc_ldef(N) = __sc_cast(v)
+#define        __sc_areg(N,R,v)        __sc_rdef(N,R) = __sc_cast(v)
+
+#define        __sc_rval(n,v)          "r"(__sc_a##n)
+#define        __sc_ival(n,v)          __sysc_acon(n)(__sc_cast(v))
+#define        __sc_idef(n,v)          __sc_areg(__sc_a##n, __sysc_reg(n), v);
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   515
+#ifdef __sysc_clbrs
+#define        __sc_cregs(n,...)       __rem_##n(__VA_ARGS__)
+#else
+#define        __sc_cregs(n,...)
 #endif
 
-#define __syscall_errcon(res)                                           \
-        ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
-
-#define __syscall_return(type, res) do {                                \
-        __syscall_retval(res);                                          \
-        if (__syscall_errcon(res)) {                                    \
-                int __err = -(res);                                     \
-                __syscall_error(__err);                                 \
-                res = -1;                                               \
-        }                                                               \
-        return (type) res;                                              \
-} while (0)                             
-
-#define __syscall_clobbers                                             \
-       "g2", "g3", "g4", "g5", "g6",                                   \
-       "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8",           \
-       "f9", "f10", "f11", "f12", "f13", "f14", "f15", "f16",          \
-       "f17", "f18", "f19", "f20", "f21", "f22", "f23", "f24",         \
-       "f25", "f26", "f27", "f28", "f29", "f30", "f31",                \
-       "cc", "memory" 
-
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
-
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
-
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regdef(o0, "o0");                             \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#ifdef __sysc_regs
+#define        __sc_input(n,...)       __con_##n(__sc_idef,__VA_ARGS__)
+#define        __sc_ivals(n,...)       __lst_##n(__sc_rval,__VA_ARGS__)
+#else
+#define        __sc_ivals(n,...)       __lst_##n(__sc_ival,__VA_ARGS__)
+#endif
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#ifdef __sysc_reg_cid
+#define        __sc_cidvar(N)          __sc_areg(__sc_id, \
+                               __sysc_reg_cid, __sysc_cid(N))
+#define        __sc_cidval(N)          __sysc_con_cid (__sc_id)
+#endif
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#ifndef        __sc_input
+#define        __sc_input(n,...)
+#endif
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+#ifndef        __sc_cidval
+#define        __sc_cidval(N)          __sysc_con_cid (__sysc_cid(N))
+#endif
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+#ifndef        __sc_cidvar
+#define        __sc_cidvar(N)
+#endif
 
-#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5)                 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-               __syscall_regval(o4, "o4", arg5);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3), "r"(__sc_o4)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
-#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                       type4, arg4, type5, arg5, type6, arg6)          \
-type name (type1 arg1, type2 arg2, type3 arg3,                         \
-          type4 arg4, type5 arg5, type6 arg6)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-               __syscall_regval(o4, "o4", arg5);                       \
-               __syscall_regval(o5, "o5", arg6);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5", "$o0$g1$o0$o1$o2$o3$o4$o5$o6")  \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3), "r"(__sc_o4), "r"(__sc_o5)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#ifdef __sysc_reg_ret
+#define        __sc_ret        __ret
+#define        __sc_def_ret    __sc_ldef(ret); __sc_rdef(__sc_ret,__sysc_reg_ret)
+#else
+#define        __sc_ret        ret
+#define        __sc_def_ret    __sc_ldef(__sc_ret)
+#endif
 
+#ifdef __sysc_reg_err
+#define        __sc_err        __err
+#define        __sc_def_err    __sc_ldef(err); __sc_rdef(__sc_err,__sysc_reg_err)
+#else
+#define        __sc_err        err
+#define        __sc_def_err    __sc_ldef(__sc_err)
+#endif
 
-/*     *****************************************
-       V850    V850    V850    V850            *
-       v850 kernel interface                   */
 
-#elif defined(__v850__)
+#ifndef        __sysc_max_err
+#define        __sc_complex
+#endif
 
-#warning syscall arch v850 not implemented yet
+#ifdef __sc_complex    /* complex result */
 
+#ifndef        __sc_results
+#define        __sc_results    __sc_def_ret; __sc_def_err
+#endif
 
-/*     *****************************************
-       X86_64  X86_64  X86_64  X86_64          *
-       x86_64 kernel interface                 */
+#ifndef        __sysc_errc
+#define        __sysc_errc(ret, err) (err)
+#endif
+
+#ifndef        __sysc_retv
+#define        __sysc_retv(type, ret, err)                                     \
+       if (__sysc_errc(ret, err)) {                                    \
+               __sysc_seterr(ret);                                     \
+               ret = -1;                                               \
+       }                                                               \
+       return (type)(ret)
+#endif
 
-#elif defined(__x86_64__)
+#define        __sc_oregs      __sysc_con_ret (__sc_ret),                      \
+                       __sysc_con_err (__sc_err)
+#ifndef        __sc_return
+#define        __sc_return(t)  ret = __sc_ret; err = __sc_err;                 \
+                       __sysc_retv(t, ret, err)
+#endif
+#else                  /* simple result  */
 
-/*      The x86_64 calling convention uses rdi, rsi, rdx, rcx, r8, r9
-        but the Linux kernel interface uses rdi, rsi, rdx, r10, r8, r9.
-        
-        scnr:   a0(rax)
-        args:   a1(rdi), a2(rsi), a3(rdx), a4(r10), a5(r8), a6(r9) 
-        sret:   a0(rax)
-        serr:   (err= sret > (unsigned)-EMAXERRNO)
-       call:   syscall
-       clob:   rcx, r11
-*/
+#ifndef        __sc_results
+#define        __sc_results    __sc_def_ret
+#endif
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   4095
+#ifndef        __sysc_errc
+#define        __sysc_errc(ret)                                                \
+       ((unsigned __sysc_type)(ret) >=                                 \
+               (unsigned __sysc_type)(-(__sysc_max_err)))
 #endif
 
-#define __syscall_errcon(res)                                           \
-        ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
+#ifndef        __sysc_retv
+#define        __sysc_retv(type, ret)                                          \
+       if (__sysc_errc(ret)) {                                         \
+               __sysc_seterr(-ret);                                    \
+               ret = -1;                                               \
+       }                                                               \
+       return (type)(ret)
+#endif
 
-#define __syscall_return(type, res) do {                                \
-        __syscall_retval(res);                                          \
-        if (__syscall_errcon(res)) {                                    \
-                int __err = -(res);                                     \
-                __syscall_error(__err);                                 \
-                res = -1;                                               \
-        }                                                               \
-        return (type) res;                                              \
-} while (0)                             
+#define        __sc_oregs      __sysc_con_ret (__sc_ret)
+#ifndef        __sc_return
+#define        __sc_return(t)  ret = __sc_ret; __sysc_retv(t, ret)
+#endif
+#endif                 /* simple/complex */
 
-#define __syscall_clobbers                                             \
-       "cc", "r11", "rcx", "memory" 
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
+       /* the inline syscall */
 
+#define        __sc_asm        __asm__
+#define        __sc_asm_vol    __asm__ __volatile__
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
+#ifndef        __sc_syscall
+#define        __sc_syscall(n,N,...)                                           \
+       __sc_asm_vol (__sysc_cmd(n)                                     \
+         : __sc_oregs                                                  \
+         : __sc_cidval(N) __sc_ivals(n,__VA_ARGS__)                    \
+         : __sysc_clobber __sc_cregs(n,__sysc_clbrs))
+#endif
+
+#ifndef        __sc_body
+#define        __sc_body(n, type, name, ...)                                   \
 {                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1", "%%rax%%rax")                           \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
+       __sc_results;__sc_cidvar(name);                                 \
+       __sc_input(n,__VA_ARGS__)                                       \
+       __sc_syscall(n,name,__VA_ARGS__);                               \
+       __sc_return(type);                                              \
 }
+#endif
 
-#define _syscall1(type, name, type1, arg1)                             \
+#define        _syscall0(type, name)                                           \
+type name(void)                                                                \
+__sc_body(0, type, name, *)
+
+#define        _syscall1(type, name, type1, arg1)                              \
 type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2", "%%rax%%rax%%rdi")                    \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1)                                   \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+__sc_body(1, type, name, arg1)
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
+#define        _syscall2(type, name, type1, arg1, type2, arg2)                 \
 type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-               __syscall_regval(a2, "rsi", arg2);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3", "%%rax%%rax%%rdi%%rsi")             \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2)                     \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+__sc_body(2, type, name, arg1, arg2)
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
+#define        _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)    \
 type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-               __syscall_regval(a2, "rsi", arg2);                      \
-               __syscall_regval(a3, "rdx", arg3);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4", "%%rax%%rax%%rdi%%rsi%%rdx")      \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3)      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+__sc_body(3, type, name, arg1, arg2, arg3)
 
+#define        _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,    \
+                             type4, arg4)                              \
+type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4)              \
+__sc_body(4, type, name, arg1, arg2, arg3, arg4)
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-               __syscall_regval(a2, "rsi", arg2);                      \
-               __syscall_regval(a3, "rdx", arg3);                      \
-               __syscall_regval(a4, "r10", arg4);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5",                                 \
-                       "%%rax%%rax%%rdi%%rsi%%rdx%%r10")               \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4)                                   \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
-
-#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4, type5, arg5)                 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-               __syscall_regval(a2, "rsi", arg2);                      \
-               __syscall_regval(a3, "rdx", arg3);                      \
-               __syscall_regval(a4, "r10", arg4);                      \
-               __syscall_regval(a5, "r8", arg5);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5%6",                               \
-                       "%%rax%%rax%%rdi%%rsi%%rdx%%r10%%r8")           \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4), "r"(__sc_a5)                     \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,    \
+                             type4, arg4, type5, arg5)                 \
+type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5)  \
+__sc_body(5, type, name, arg1, arg2, arg3, arg4, arg5)
 
-#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,   \
+#define        _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,    \
                        type4, arg4, type5, arg5, type6, arg6)          \
-type name (type1 arg1, type2 arg2, type3 arg3,                         \
-           type4 arg4, type5 arg5, type6 arg6)                         \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-               __syscall_regval(a2, "rsi", arg2);                      \
-               __syscall_regval(a3, "rdx", arg3);                      \
-               __syscall_regval(a4, "r10", arg4);                      \
-               __syscall_regval(a5, "r8", arg5);                       \
-               __syscall_regval(a6, "r9", arg6);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5%6%7",                             \
-                       "%%rax%%rax%%rdi%%rsi%%rdx%%r10%%r8%%r9")       \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4), "r"(__sc_a5), "r" (__sc_a6)      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+type name(type1 arg1, type2 arg2, type3 arg3,                          \
+         type4 arg4, type5 arg5, type6 arg6)                           \
+__sc_body(6, type, name, arg1, arg2, arg3, arg4, arg5, arg6)
 
 
-#endif
 
+#endif /* __SYSCALL_NEW_H */
index 1590057..5f69384 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall-compat.hc,v 1.11 2004/04/14 23:21:23 ensc Exp $    --*- c++ -*--
+// $Id: syscall-compat.hc 1450 2004-04-14 23:21:23Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/lib/syscall-fallback.h b/lib/syscall-fallback.h
new file mode 100644 (file)
index 0000000..c4e01af
--- /dev/null
@@ -0,0 +1,65 @@
+// $Id: syscall-fallback.h 2231 2005-12-31 10:48:24Z ensc $    --*- c -*--
+
+// Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifndef H_ENSC_UTIL_VSERVER_LIB_SYSCALL_FALLBACK_H
+#define H_ENSC_UTIL_VSERVER_LIB_SYSCALL_FALLBACK_H
+
+
+#if    defined(__alpha__)
+#define __NR_vserver   428
+#elif  defined(__arm__)
+#define __NR_vserver   313
+#elif  defined(__cris__)
+#define __NR_vserver   273
+#elif  defined(__frv__)
+#define __NR_vserver   273
+#elif  defined(__h8300__)
+#define __NR_vserver   273
+#elif  defined(__i386__)
+#define __NR_vserver   273
+#elif  defined(__ia64__)
+#define __NR_vserver   1269
+#elif  defined(__m32r__)
+#define __NR_vserver   273
+#elif  defined(__mc68000__)
+#define __NR_vserver   278
+#elif  defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_ABI32)
+#define __NR_vserver   277
+#elif  defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_ABI64)
+#define __NR_vserver   240
+#elif  defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_NABI32)
+#define __NR_vserver   236
+#elif  defined(__hppa__)
+#define __NR_vserver   263
+#elif  defined(__powerpc__)
+#define __NR_vserver   257
+#elif  defined(__s390__)
+#define __NR_vserver   263
+#elif  defined(__sh__)
+#define __NR_vserver   273
+#elif  defined(__sparc__)
+#define __NR_vserver   267
+#elif  defined(__v850__)
+#define __NR_vserver   *
+#elif  defined(__x86_64__)
+#define __NR_vserver   236
+#endif
+
+
+
+#endif //  H_ENSC_UTIL_VSERVER_LIB_SYSCALL_FALLBACK_H
index 5ac294a..26ecd39 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall-legacy.hc,v 1.10 2005/05/02 21:41:49 ensc Exp $ --*- c -*--
+// $Id: syscall-legacy.hc 2076 2005-05-02 21:42:05Z ensc $ --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on syscall.cc by Jacques Gelinas
index f085329..9673f81 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall-syscall.c,v 1.2 2004/08/19 13:57:53 ensc Exp $    --*- c -*--
+// $Id: syscall-syscall.c 1655 2004-08-19 13:57:53Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4487bae..e67e040 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall-wrap.h,v 1.2 2005/05/02 21:42:05 ensc Exp $    --*- c -*--
+// $Id: syscall-wrap.h 2446 2007-01-09 13:22:11Z dhozac $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -36,4 +36,8 @@
 #  include "syscall-alternative.h"
 #endif
 
+#if defined(ENSC_SYSCALL_TRADITIONAL) && defined(__dietlibc__) && !defined(ENSC_DIETLIBC_HAS_SYSCALL)
+extern long int syscall(long int __sysno, ...);
+#endif
+
 #endif //  H_UTIL_VSERVER_LIB_SYSCALL_WRAP_H
index f099164..37beb79 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall.c,v 1.10 2004/04/08 06:04:41 ensc Exp $    --*- c++ -*--
+// $Id: syscall.c 2448 2007-01-10 18:49:13Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -25,7 +25,7 @@
 #include "internal.h"
 
 #define _LINUX_TYPES_H 1
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_COMPAT) && defined(VC_ENABLE_API_LEGACY)
 #  define VC_MULTIVERSION_SYSCALL      1
@@ -60,5 +60,7 @@ vc_set_ipv4root(uint32_t  bcast, size_t nb, struct vc_ip_mask_pair const *ips)
          CALL_VC_LEGACY(vc_set_ipv4root, bcast, nb, ips));
 }
 
-LINK_WARNING("vc_new_s_context", "warning: vc_new_s_context() is obsoleted; use vc_create_context() instead of");
+LINK_WARNING("vc_new_s_context", "warning: vc_new_s_context() is obsoleted; use vc_ctx_create() instead of");
+LINK_WARNING("vc_set_ipv4root",  "warning: vc_set_ipv4root() is obsoleted; use vc_net_create() instead of");
+
 #endif
index 7e44edc..b33d3b6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_adddlimit-v13.hc,v 1.3 2005/03/02 01:29:44 ensc Exp $    --*- c -*--
+// $Id: syscall_adddlimit-v13.hc 1881 2005-03-02 01:29:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 98f132d..af24493 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_adddlimit.c,v 1.2 2005/03/02 01:27:54 ensc Exp $    --*- c++ -*--
+// $Id: syscall_adddlimit.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #include "vserver-internal.h"
 
index 06ebfdd..2c3d464 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_cleanupnamespace-v13.hc,v 1.1 2004/02/27 04:39:09 ensc Exp $    --*- c -*--
+// $Id: syscall_cleanupnamespace-v13.hc 1023 2004-02-27 04:42:25Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7f8a4d0..1b22e67 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_cleanupnamespace.c,v 1.1 2004/02/27 04:39:09 ensc Exp $    --*- c++ -*--
+// $Id: syscall_cleanupnamespace.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #include "vserver-internal.h"
 
index f29b087..23c45d9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_ctxcreate-v13.hc,v 1.2 2004/04/22 20:45:50 ensc Exp $    --*- c -*--
+// $Id: syscall_ctxcreate-v13.hc 2193 2005-10-28 17:51:09Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,7 +23,7 @@
 static inline ALWAYSINLINE xid_t
 vc_ctx_create_v13(xid_t xid)
 {
-  xid_t                res = vserver(VCMD_ctx_create, CTX_USER2KERNEL(xid), 0);
+  xid_t                res = vserver(VCMD_ctx_create_v0, CTX_USER2KERNEL(xid), 0);
 
   return CTX_KERNEL2USER(res);
 }
index f367159..850e1cb 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_ctxcreate.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_ctxcreate.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_ctxcreate-v13.hc"
index 641ee3f..930a599 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_ctxmigrate-v13.hc,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_ctxmigrate-v13.hc 2339 2006-09-29 22:15:14Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,5 +23,5 @@
 static inline ALWAYSINLINE int
 vc_ctx_migrate_v13(xid_t xid)
 {
-  return vserver(VCMD_ctx_migrate, CTX_USER2KERNEL(xid), 0);
+  return vserver(VCMD_ctx_migrate_v0, CTX_USER2KERNEL(xid), NULL);
 }
diff --git a/lib/syscall_ctxmigrate-v21.hc b/lib/syscall_ctxmigrate-v21.hc
new file mode 100644 (file)
index 0000000..a37027d
--- /dev/null
@@ -0,0 +1,38 @@
+// $Id: syscall_ctxmigrate-v21.hc 2501 2007-02-20 17:33:35Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+static inline ALWAYSINLINE int
+vc_ctx_migrate_spaces(xid_t xid, uint_least64_t flags)
+{
+  int ret;
+  struct vcmd_ctx_migrate data = { .flagword = flags };
+
+  ret = vc_getXIDType(xid);
+  if (ret == vcTYPE_STATIC || ret == vcTYPE_DYNAMIC) {
+    ret = vc_enter_namespace(xid, vc_get_space_mask() & ~(CLONE_NEWNS|CLONE_FS));
+    if (ret)
+      return ret;
+  }
+
+  return vserver(VCMD_ctx_migrate, CTX_USER2KERNEL(xid), &data);
+}
index 29276c6..730b3e4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_ctxmigrate.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_ctxmigrate.c 2501 2007-02-20 17:33:35Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V13) && defined(VC_ENABLE_API_V21)
+#  define VC_MULTIVERSION_SYSCALL 1
+#endif
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_ctxmigrate-v13.hc"
 #endif
 
-#if defined(VC_ENABLE_API_V13)
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_ctxmigrate-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V13) || defined(VC_ENABLE_API_V21)
 int
-vc_ctx_migrate(xid_t xid)
+vc_ctx_migrate(xid_t xid, uint_least64_t flags)
 {
-  CALL_VC(CALL_VC_V13A(vc_ctx_migrate, xid));
+  CALL_VC(CALL_VC_SPACES(vc_ctx_migrate, xid, flags),
+         CALL_VC_V13A  (vc_ctx_migrate, xid));
 }
 #endif
diff --git a/lib/syscall_ctxstat-v21.hc b/lib/syscall_ctxstat-v21.hc
new file mode 100644 (file)
index 0000000..bbf8793
--- /dev/null
@@ -0,0 +1,36 @@
+// $Id: syscall_ctxstat-v21.hc 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+static inline ALWAYSINLINE int
+vc_ctx_stat_v21(xid_t ctx, struct vc_ctx_stat *stat)
+{
+  int ret;
+  struct vcmd_ctx_stat_v0 param;
+
+  ret = vserver(VCMD_ctx_stat, CTX_USER2KERNEL(ctx), &param);
+  if (ret)
+    return ret;
+
+  stat->usecnt = param.usecnt;
+  stat->tasks  = param.tasks;
+  return 0;
+}
diff --git a/lib/syscall_ctxstat.c b/lib/syscall_ctxstat.c
new file mode 100644 (file)
index 0000000..8da5f4d
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_ctxstat.c 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_ctxstat-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+
+int
+vc_ctx_stat(xid_t ctx, struct vc_ctx_stat *stat)
+{
+  CALL_VC(CALL_VC_V21(vc_ctx_stat, ctx, stat));
+}
+
+#endif
index b4d14f9..84042d3 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_enternamespace-v13.hc,v 1.1 2004/02/20 17:58:43 ensc Exp $    --*- c -*--
+// $Id: syscall_enternamespace-v13.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,7 +23,9 @@
 #include "vserver.h"
 
 static inline ALWAYSINLINE int
-vc_enter_namespace_v13(xid_t xid)
+vc_enter_namespace_v13(xid_t xid, uint_least64_t mask)
 {
-  return vserver(VCMD_enter_namespace, CTX_USER2KERNEL(xid), 0);
+  if ((mask & (CLONE_NEWNS|CLONE_FS)) == 0)
+    return 0;
+  return vserver(VCMD_enter_space_v0, CTX_USER2KERNEL(xid), 0);
 }
diff --git a/lib/syscall_enternamespace-v21.hc b/lib/syscall_enternamespace-v21.hc
new file mode 100644 (file)
index 0000000..fdc5d27
--- /dev/null
@@ -0,0 +1,31 @@
+// $Id: syscall_enternamespace-v21.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+
+static inline ALWAYSINLINE int
+vc_enter_namespace_spaces(xid_t xid, uint_least64_t mask)
+{
+  struct vcmd_space_mask data = { .mask = mask };
+  return vserver(VCMD_enter_space, CTX_USER2KERNEL(xid), &data);
+}
index 90be57a..9f20c39 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_enternamespace.c,v 1.1 2004/02/20 17:58:43 ensc Exp $    --*- c++ -*--
+// $Id: syscall_enternamespace.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
+#if defined(VC_ENABLE_API_V13) && defined(VC_ENABLE_API_V21)
+#  define VC_MULTIVERSION_SYSCALL 1
+#endif
 #include "vserver-internal.h"
 
 #ifdef VC_ENABLE_API_V13
 #  include "syscall_enternamespace-v13.hc"
 #endif
 
+#ifdef VC_ENABLE_API_V21
+#  include "syscall_enternamespace-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V13) || defined(VC_ENABLE_API_V21)
 int
-vc_enter_namespace(xid_t xid)
+vc_enter_namespace(xid_t xid, uint_least64_t mask)
 {
-  CALL_VC(CALL_VC_V13(vc_enter_namespace, xid));
+  CALL_VC(CALL_VC_SPACES(vc_enter_namespace, xid, mask),
+         CALL_VC_V13   (vc_enter_namespace, xid, mask));
 }
+#endif
index 3d0f09b..004849a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getccaps-v13.hc,v 1.2 2004/03/24 01:07:11 ensc Exp $    --*- c -*--
+// $Id: syscall_getccaps-v13.hc 1323 2004-03-24 01:07:11Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a4d002f..3084c10 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getccaps.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: syscall_getccaps.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_getccaps-v13.hc"
index 5cfc579..83a62a2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getcflags-v13.hc,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_getcflags-v13.hc 1449 2004-04-14 23:19:51Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 22fc982..22b1dc3 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getcflags.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_getcflags.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_getcflags-v13.hc"
index c6b66fd..408daba 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getdlimit-v13.hc,v 1.2 2005/03/02 01:29:44 ensc Exp $    --*- c -*--
+// $Id: syscall_getdlimit-v13.hc 1881 2005-03-02 01:29:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a807e52..0393921 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getdlimit.c,v 1.2 2005/03/02 01:27:54 ensc Exp $    --*- c++ -*--
+// $Id: syscall_getdlimit.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #include "vserver-internal.h"
 
index a0c5bc5..12c6c9e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getiattr-fscompat.hc,v 1.2 2005/07/15 18:06:27 ensc Exp $    --*- c -*--
+// $Id: syscall_getiattr-fscompat.hc 2151 2005-07-15 18:06:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9e8b17b..da5b623 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getiattr-v13.hc,v 1.7 2004/03/12 02:56:46 ensc Exp $    --*- c -*--
+// $Id: syscall_getiattr-v13.hc 1216 2004-03-12 02:57:01Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 063174c..36651ac 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getiattr.c,v 1.3 2004/03/05 04:40:59 ensc Exp $    --*- c++ -*--
+// $Id: syscall_getiattr.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_FSCOMPAT) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
index 91c9448..40ea3b4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getncaps-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getncaps-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 998594e..85bafae 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getncaps.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getncaps.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_getncaps-net.hc"
index 0cc5fd4..362f0f4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getnflags-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getnflags-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 596b374..23376c7 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getnflags.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getnflags.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_getnflags-net.hc"
index 5069f73..449035b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getnxinfo-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getnxinfo-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a7c517f..c5c0630 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getnxinfo.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getnxinfo.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 #include "vserver-internal.h"
 
 #ifdef VC_ENABLE_API_NET
diff --git a/lib/syscall_getspacemask-v21.hc b/lib/syscall_getspacemask-v21.hc
new file mode 100644 (file)
index 0000000..34c5e35
--- /dev/null
@@ -0,0 +1,32 @@
+// $Id: syscall_getspacemask-v21.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+static inline ALWAYSINLINE uint_least64_t
+vc_get_space_mask_spaces(int UNUSED tmp)
+{
+  struct vcmd_space_mask data = { .mask = 0 };
+  int ret = vserver(VCMD_get_space_mask, 0, &data);
+  if (ret)
+    return ret;
+  return data.mask;
+}
diff --git a/lib/syscall_getspacemask.c b/lib/syscall_getspacemask.c
new file mode 100644 (file)
index 0000000..1ea083b
--- /dev/null
@@ -0,0 +1,38 @@
+// $Id: syscall_getspacemask.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_getspacemask-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+uint_least64_t
+vc_get_space_mask()
+{
+  CALL_VC(CALL_VC_SPACES(vc_get_space_mask, 0));
+}
+#endif
index ab0c63c..453eae6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_gettasknid-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_gettasknid-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 145e3ff..5d4ce76 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_gettasknid.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_gettasknid.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 #include "vserver-internal.h"
 
 #ifdef VC_ENABLE_API_NET
index b7f8239..95fdd94 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_gettaskxid-oldproc.hc,v 1.2 2004/02/02 18:58:00 ensc Exp $    --*- c -*--
+// $Id: syscall_gettaskxid-oldproc.hc 738 2004-02-02 18:58:00Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 80b5885..8405617 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_gettaskxid-v13.hc,v 1.4 2004/01/22 21:35:36 ensc Exp $    --*- c -*--
+// $Id: syscall_gettaskxid-v13.hc 701 2004-01-22 21:35:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ac797cd..cb40109 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_gettaskxid.c,v 1.1 2004/01/21 18:47:18 ensc Exp $    --*- c -*--
+// $Id: syscall_gettaskxid.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_OLDPROC) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
diff --git a/lib/syscall_getvci-v21.hc b/lib/syscall_getvci-v21.hc
new file mode 100644 (file)
index 0000000..f28db57
--- /dev/null
@@ -0,0 +1,27 @@
+// $Id: syscall_getvci-v21.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+static inline ALWAYSINLINE int
+vc_get_vci_v21(int UNUSED tmp)
+{
+  return vserver(VCMD_get_vci, 0, 0);
+}
diff --git a/lib/syscall_getvci.c b/lib/syscall_getvci.c
new file mode 100644 (file)
index 0000000..4978603
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_getvci.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_getvci-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+
+int
+vc_get_vci()
+{
+  CALL_VC(CALL_VC_V21(vc_get_vci, 0));
+}
+
+#endif
index c7ea54c..55ab457 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvhiname-olduts.hc,v 1.1 2004/02/02 18:32:53 ensc Exp $    --*- c -*--
+// $Id: syscall_getvhiname-olduts.hc 733 2004-02-02 18:32:53Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e244dcd..22d3947 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvhiname-v13.hc,v 1.3 2005/07/03 17:49:56 ensc Exp $    --*- c -*--
+// $Id: syscall_getvhiname-v13.hc 2242 2006-01-04 12:29:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -44,5 +44,6 @@ vc_get_vhi_name_v13(xid_t xid, vc_uts_type type, char *val, size_t len)
 
   l = l>len ? len : l;
   strncpy(val, cmd.name, l);
+    /* DO NOT terminate 'val' with '\0' explicitly */
   return 0;
 }
index 32180d6..1ade5bc 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvhiname.c,v 1.1 2004/02/02 18:32:53 ensc Exp $    --*- c -*--
+// $Id: syscall_getvhiname.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_OLDUTS) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
index e8dc582..0fddfdc 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvxinfo-oldproc.hc,v 1.3 2004/03/05 04:40:59 ensc Exp $    --*- c -*--
+// $Id: syscall_getvxinfo-oldproc.hc 1091 2004-03-05 04:40:59Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7f0e456..8792a40 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvxinfo-v13.hc,v 1.4 2004/02/20 17:04:12 ensc Exp $    --*- c -*--
+// $Id: syscall_getvxinfo-v13.hc 970 2004-02-20 17:04:12Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index fc1a0a9..b75917e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvxinfo.c,v 1.2 2004/03/05 04:40:59 ensc Exp $    --*- c -*--
+// $Id: syscall_getvxinfo.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_OLDPROC) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
index e3e2f6c..de7357a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_kill-v11.hc,v 1.4 2004/02/02 18:55:52 ensc Exp $    --*- c++ -*--
+// $Id: syscall_kill-v11.hc 736 2004-02-02 18:55:52Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c5358c5..c530a0e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_kill.c,v 1.3 2004/01/21 18:55:12 ensc Exp $    --*- c++ -*--
+// $Id: syscall_kill.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V11) || defined(VC_ENABLE_API_V13)
 #  include "syscall_kill-v11.hc"
index faa4908..2e336e7 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netadd-net.hc,v 1.2 2005/07/15 18:07:24 ensc Exp $    --*- c -*--
+// $Id: syscall_netadd-net.hc 2249 2006-01-18 23:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -24,9 +24,14 @@ static inline ALWAYSINLINE int
 vc_net_add_net(nid_t nid, struct vc_net_nx const *info)
 {
   struct vcmd_net_addr_v0              k_info;
+  size_t                               i;
 
-  k_info.type  = NETTYPE_USER2KERNEL(info->type);
-  k_info.count = info->count;
+  k_info.type      = NETTYPE_USER2KERNEL(info->type);
+  k_info.count     = info->count;
+  for (i = 0; i < sizeof(k_info.ip) / sizeof(*k_info.ip); i++)
+    k_info.ip[i]   = info->ip[i];
+  for (i = 0; i < sizeof(k_info.mask) / sizeof(*k_info.mask); i++)
+    k_info.mask[i] = info->mask[i];
   
   return vserver(VCMD_net_add, NID_USER2KERNEL(nid), &k_info);
 }
index 0d13c32..b5aa93a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netadd.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netadd.c 2249 2006-01-18 23:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_netadd-net.hc"
 #endif
 
-#if defined(VC_ENABLE_API_NET) && 0
+#if defined(VC_ENABLE_API_NET)
 int
 vc_net_add(nid_t nid, struct vc_net_nx const *info)
 {
index 32da866..684f4e1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netcreate-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netcreate-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index fc80de4..d96f372 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netcreate.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netcreate.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_netcreate-net.hc"
index 1fb4738..2bc95e1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netmigrate-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netmigrate-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 42b2e04..490b83d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netmigrate.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netmigrate.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_netmigrate-net.hc"
index 4018011..173ed46 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netremove-net.hc,v 1.2 2005/07/15 18:07:24 ensc Exp $    --*- c -*--
+// $Id: syscall_netremove-net.hc 2249 2006-01-18 23:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -24,9 +24,14 @@ static inline ALWAYSINLINE int
 vc_net_remove_net(nid_t nid, struct vc_net_nx const *info)
 {
   struct vcmd_net_addr_v0              k_info;
+  size_t                               i;
 
-  k_info.type  = NETTYPE_USER2KERNEL(info->type);
-  k_info.count = info->count;
+  k_info.type      = NETTYPE_USER2KERNEL(info->type);
+  k_info.count     = info->count;
+  for (i = 0; i < sizeof(k_info.ip) / sizeof(*k_info.ip); i++)
+    k_info.ip[i]   = info->ip[i];
+  for (i = 0; i < sizeof(k_info.mask) / sizeof(*k_info.mask); i++)
+    k_info.mask[i] = info->mask[i];
   
   return vserver(VCMD_net_remove, NID_USER2KERNEL(nid), &k_info);
 }
index 77af245..1f6bc33 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netremove.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netremove.c 2249 2006-01-18 23:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_netremove-net.hc"
 #endif
 
-#if defined(VC_ENABLE_API_NET) && 0
+#if defined(VC_ENABLE_API_NET)
 int
 vc_net_remove(nid_t nid, struct vc_net_nx const *info)
 {
index e3de814..9b9fd26 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_remdlimit-v13.hc,v 1.3 2005/03/02 01:29:44 ensc Exp $    --*- c -*--
+// $Id: syscall_remdlimit-v13.hc 1881 2005-03-02 01:29:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 16f5b00..1cd385b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_remdlimit.c,v 1.2 2005/03/02 01:27:54 ensc Exp $   --*- c++ -*--
+// $Id: syscall_remdlimit.c 2207 2005-10-29 10:31:42Z ensc $   --*- c++ -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #include "vserver-internal.h"
 
diff --git a/lib/syscall_resetminmax-v21.hc b/lib/syscall_resetminmax-v21.hc
new file mode 100644 (file)
index 0000000..4b425b2
--- /dev/null
@@ -0,0 +1,27 @@
+// $Id: syscall_resetminmax-v21.hc 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+static inline ALWAYSINLINE int
+vc_reset_minmax_v21(xid_t ctx)
+{
+  return vserver(VCMD_reset_minmax, CTX_USER2KERNEL(ctx), 0);
+}
diff --git a/lib/syscall_resetminmax.c b/lib/syscall_resetminmax.c
new file mode 100644 (file)
index 0000000..c012b02
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_resetminmax.c 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_resetminmax-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+
+int
+vc_reset_minmax(xid_t ctx)
+{
+  CALL_VC(CALL_VC_V21(vc_reset_minmax, ctx));
+}
+
+#endif
index c463df5..e74da6f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_rlimit-v11.hc,v 1.5 2004/02/20 19:03:24 ensc Exp $    --*- c++ -*--
+// $Id: syscall_rlimit-v11.hc 976 2004-02-20 19:03:24Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9a468fb..61b3070 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_rlimit.c,v 1.4 2004/01/21 18:55:12 ensc Exp $    --*- c++ -*--
+// $Id: syscall_rlimit.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,7 +23,7 @@
 
 #include "vserver.h"
 #include "internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 
 #include "vserver-internal.h"
diff --git a/lib/syscall_rlimitstat-v21.hc b/lib/syscall_rlimitstat-v21.hc
new file mode 100644 (file)
index 0000000..601e6a3
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_rlimitstat-v21.hc 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+static inline ALWAYSINLINE int
+vc_rlimit_stat_v21(xid_t ctx, int resource, struct vc_rlimit_stat *stat)
+{
+  struct vcmd_rlimit_stat_v0   param = { .id = resource };
+  int ret;
+
+  ret = vserver(VCMD_rlimit_stat, CTX_USER2KERNEL(ctx), &param);
+  if (ret)
+    return ret;
+
+  stat->hits   = param.hits;
+  stat->value  = param.value;
+  stat->minimum        = param.minimum;
+  stat->maximum        = param.maximum;
+
+  return 0;
+}
diff --git a/lib/syscall_rlimitstat.c b/lib/syscall_rlimitstat.c
new file mode 100644 (file)
index 0000000..d2896ec
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_rlimitstat.c 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_rlimitstat-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+
+int
+vc_rlimit_stat(xid_t ctx, int resource, struct vc_rlimit_stat *stat)
+{
+  CALL_VC(CALL_VC_V21(vc_rlimit_stat, ctx, resource, stat));
+}
+
+#endif
index a2b082a..59c2d5e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setccaps-v13.hc,v 1.2 2004/03/24 01:07:11 ensc Exp $    --*- c -*--
+// $Id: syscall_setccaps-v13.hc 2367 2006-11-03 19:59:15Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -25,9 +25,9 @@ vc_set_ccaps_v13(xid_t xid, struct vc_ctx_caps const *caps)
 {
   struct vcmd_ctx_caps_v0      k_caps;
 
-  k_caps.bcaps = caps->bcaps & caps->bmask;
+  k_caps.bcaps = (caps->bcaps & caps->bmask) | ~caps->bmask;
   k_caps.ccaps = caps->ccaps;
   k_caps.cmask = caps->cmask;
   
-  return vserver(VCMD_set_ccaps, CTX_USER2KERNEL(xid), &k_caps);
+  return vserver(VCMD_set_ccaps_v0, CTX_USER2KERNEL(xid), &k_caps);
 }
diff --git a/lib/syscall_setccaps-v21.hc b/lib/syscall_setccaps-v21.hc
new file mode 100644 (file)
index 0000000..1e67ae1
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_setccaps-v21.hc 2372 2006-11-05 17:48:24Z dhozac $    --*- c -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+static inline ALWAYSINLINE int
+vc_set_ccaps_v21(xid_t xid, struct vc_ctx_caps const *caps)
+{
+  struct vcmd_ctx_caps_v1      k_ccaps;
+  struct vcmd_bcaps            k_bcaps;
+  int ret;
+
+  k_bcaps.bcaps = caps->bcaps;
+  k_bcaps.bmask = caps->bmask;
+  k_ccaps.ccaps = caps->ccaps;
+  k_ccaps.cmask = caps->cmask;
+  
+  ret = vserver(VCMD_set_ccaps, CTX_USER2KERNEL(xid), &k_ccaps);
+  if (ret)
+    return ret;
+  return vserver(VCMD_set_bcaps, CTX_USER2KERNEL(xid), &k_bcaps);
+}
index 354c6fa..fe38374 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setccaps.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: syscall_setccaps.c 2367 2006-11-03 19:59:15Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V13) && defined(VC_ENABLE_API_V21)
+#  define VC_MULTIVERSION_SYSCALL 1
+#endif
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_setccaps-v13.hc"
 #endif
 
-#if defined(VC_ENABLE_API_V13)
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_setccaps-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V13) || defined(VC_ENABLE_API_V21)
 int
 vc_set_ccaps(xid_t xid, struct vc_ctx_caps const *caps)
 {
@@ -37,6 +45,7 @@ vc_set_ccaps(xid_t xid, struct vc_ctx_caps const *caps)
     return -1;
   }
   
-  CALL_VC(CALL_VC_V13A(vc_set_ccaps, xid, caps));
+  CALL_VC(CALL_VC_V21(vc_set_ccaps, xid, caps),
+         CALL_VC_V13A(vc_set_ccaps, xid, caps));
 }
 #endif
index 45385cf..55811c2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setcflags-v13.hc,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_setcflags-v13.hc 1449 2004-04-14 23:19:51Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 05b3b14..966bea3 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setcflags.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_setcflags.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_setcflags-v13.hc"
index f4df0b7..1b1966d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setdlimit-v13.hc,v 1.2 2005/03/02 01:29:44 ensc Exp $    --*- c -*--
+// $Id: syscall_setdlimit-v13.hc 1881 2005-03-02 01:29:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a08bc7b..ec8b972 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setdlimit.c,v 1.2 2005/03/02 01:27:54 ensc Exp $    --*- c++ -*--
+// $Id: syscall_setdlimit.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #include "vserver-internal.h"
 
index 422ec80..cf155ce 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setiattr-fscompat.hc,v 1.3 2005/07/15 18:06:27 ensc Exp $    --*- c -*--
+// $Id: syscall_setiattr-fscompat.hc 2151 2005-07-15 18:06:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 06ec42a..b992bab 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setiattr-v13.hc,v 1.7 2004/03/12 02:56:46 ensc Exp $    --*- c -*--
+// $Id: syscall_setiattr-v13.hc 1216 2004-03-12 02:57:01Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6fb32dd..1ba2fda 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setiattr.c,v 1.2 2004/02/19 22:22:43 ensc Exp $    --*- c++ -*--
+// $Id: syscall_setiattr.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_FSCOMPAT) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
index 1646eac..8613fc0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setnamespace-v13.hc,v 1.1 2004/02/27 04:39:09 ensc Exp $    --*- c -*--
+// $Id: syscall_setnamespace-v13.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,7 +23,9 @@
 #include "vserver.h"
 
 static inline ALWAYSINLINE int
-vc_set_namespace_v13(int UNUSED tmp)
+vc_set_namespace_v13(xid_t xid, uint_least64_t mask)
 {
-  return vserver(VCMD_set_namespace, 0, 0);
+  if ((mask & (CLONE_NEWNS|CLONE_FS)) == 0)
+    return 0;
+  return vserver(VCMD_set_space_v0, CTX_USER2KERNEL(xid), 0);
 }
diff --git a/lib/syscall_setnamespace-v21.hc b/lib/syscall_setnamespace-v21.hc
new file mode 100644 (file)
index 0000000..7f3e81c
--- /dev/null
@@ -0,0 +1,31 @@
+// $Id: syscall_setnamespace-v21.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+
+static inline ALWAYSINLINE int
+vc_set_namespace_spaces(xid_t xid, uint_least64_t mask)
+{
+  struct vcmd_space_mask data = { .mask = mask };
+  return vserver(VCMD_set_space, CTX_USER2KERNEL(xid), &data);
+}
index fef66d0..b3d0d65 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setnamespace.c,v 1.1 2004/02/27 04:39:09 ensc Exp $    --*- c++ -*--
+// $Id: syscall_setnamespace.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
+#if defined(VC_ENABLE_API_V13) && defined(VC_ENABLE_API_V21)
+#  define VC_MULTIVERSION_SYSCALL 1
+#endif
 #include "vserver-internal.h"
 
 #ifdef VC_ENABLE_API_V13
 #  include "syscall_setnamespace-v13.hc"
 #endif
 
+#ifdef VC_ENABLE_API_V21
+#  include "syscall_setnamespace-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V13) || defined(VC_ENABLE_API_V21)
 int
-vc_set_namespace()
+vc_set_namespace(xid_t xid, uint_least64_t mask)
 {
-  CALL_VC(CALL_VC_V13(vc_set_namespace,0));
+  CALL_VC(CALL_VC_SPACES(vc_set_namespace, xid, mask),
+         CALL_VC_V13   (vc_set_namespace, xid, mask));
 }
+#endif
index 12a4af8..812e244 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setncaps-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_setncaps-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c3ac419..a1bf0a6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setncaps.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_setncaps.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_setncaps-net.hc"
index e327c5e..1e63989 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setnflags-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_setnflags-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index cdceb51..0dbcb7e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setnflags.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_setnflags.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_setnflags-net.hc"
index af08a5d..13fe198 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setsched-v13.hc,v 1.2 2005/08/21 22:07:28 mlhuang Exp $    --*- c -*--
+// $Id: syscall_setsched-v13.hc,v 1.5 2007/06/28 15:20:17 dhozac Exp $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #include "vserver.h"
 #include <lib_internal/util.h>
 
-#define VCGET(MASK,VAL)                ((data->set_mask & (MASK)) ? (VAL) : SCHED_KEEP);
-
-static inline ALWAYSINLINE int
-vc_set_sched_v13obs(xid_t xid, struct vc_set_sched const *data)
-{
-#warning vc_set_sched_v13() uses an obsolete interface; remove it in the final version
-  struct vcmd_set_sched_v2     k_data;
-
-  
-  k_data.cpu_mask    = 0;
-  k_data.fill_rate   = VCGET(VC_VXSM_FILL_RATE,  data->fill_rate);
-  k_data.interval    = VCGET(VC_VXSM_INTERVAL,   data->interval);
-  k_data.tokens      = VCGET(VC_VXSM_TOKENS,     data->tokens);
-  k_data.tokens_min  = VCGET(VC_VXSM_TOKENS_MIN, data->tokens_min);
-  k_data.tokens_max  = VCGET(VC_VXSM_TOKENS_MAX, data->tokens_max);
-
-  return vserver(VCMD_set_sched_v2, CTX_USER2KERNEL(xid), &k_data);
-}
-
 #define X(ATTR)                ENSC_SAME_STRUCT_IDX(k_data, *data, ATTR)
 
 static inline ALWAYSINLINE int
@@ -49,21 +30,13 @@ vc_set_sched_v13b(xid_t xid, struct vc_set_sched const *data)
 {
   struct vcmd_set_sched_v3     k_data;
 
-    // This expression will be evaluated at compile-time
-  if (sizeof(struct vcmd_set_sched_v3)==sizeof(struct vc_set_sched) &&
-      X(set_mask)   && X(fill_rate)  && X(interval)   && X(tokens) &&
-      X(tokens_min) && X(tokens_max) && X(priority_bias))
-    return vserver(VCMD_set_sched, CTX_USER2KERNEL(xid),
-                  const_cast(struct vc_set_sched *)(data));
-  else {
-    k_data.set_mask      = data->set_mask;
-    k_data.fill_rate     = data->fill_rate;
-    k_data.interval      = data->interval;
-    k_data.tokens        = data->tokens;
-    k_data.tokens_min    = data->tokens_min;
-    k_data.tokens_max   = data->tokens_max;
-    k_data.priority_bias = data->priority_bias;
+  k_data.set_mask      = data->set_mask & VC_VXSM_V3_MASK;
+  k_data.fill_rate     = data->fill_rate;
+  k_data.interval      = data->interval;
+  k_data.tokens        = data->tokens;
+  k_data.tokens_min    = data->tokens_min;
+  k_data.tokens_max    = data->tokens_max;
+  k_data.priority_bias = data->priority_bias;
 
-    return vserver(VCMD_set_sched, CTX_USER2KERNEL(xid), &k_data);
-  }
+  return vserver(VCMD_set_sched_v3, CTX_USER2KERNEL(xid), &k_data);
 }
diff --git a/lib/syscall_setsched-v13obs.hc b/lib/syscall_setsched-v13obs.hc
new file mode 100644 (file)
index 0000000..98baac0
--- /dev/null
@@ -0,0 +1,43 @@
+// $Id: syscall_setsched-v13obs.hc 2271 2006-01-22 18:18:28Z ensc $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include <lib_internal/util.h>
+
+#define VCGET(MASK,VAL)                ((data->set_mask & (MASK)) ? (VAL) : SCHED_KEEP);
+
+static inline ALWAYSINLINE int
+vc_set_sched_v13obs(xid_t xid, struct vc_set_sched const *data)
+{
+#warning vc_set_sched_v13() uses an obsolete interface; remove it in the final version
+  struct vcmd_set_sched_v2     k_data;
+
+  
+  k_data.cpu_mask    = 0;
+  k_data.fill_rate   = VCGET(VC_VXSM_FILL_RATE,  data->fill_rate);
+  k_data.interval    = VCGET(VC_VXSM_INTERVAL,   data->interval);
+  k_data.tokens      = VCGET(VC_VXSM_TOKENS,     data->tokens);
+  k_data.tokens_min  = VCGET(VC_VXSM_TOKENS_MIN, data->tokens_min);
+  k_data.tokens_max  = VCGET(VC_VXSM_TOKENS_MAX, data->tokens_max);
+
+  return vserver(VCMD_set_sched_v2, CTX_USER2KERNEL(xid), &k_data);
+}
diff --git a/lib/syscall_setsched-v21.hc b/lib/syscall_setsched-v21.hc
new file mode 100644 (file)
index 0000000..b38ba02
--- /dev/null
@@ -0,0 +1,57 @@
+// $Id: syscall_setsched-v21.hc 2454 2007-01-17 09:56:23Z dhozac $    --*- c -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+
+static inline ALWAYSINLINE int
+vc_set_sched_v21(xid_t xid, struct vc_set_sched const *data)
+{
+  struct vcmd_set_sched_v4     k_data;
+  int ret;
+
+  k_data.fill_rate  = data->fill_rate;
+  k_data.interval   = data->interval;
+  k_data.tokens     = data->tokens;
+  k_data.tokens_min = data->tokens_min;
+  k_data.tokens_max = data->tokens_max;
+  k_data.prio_bias  = data->priority_bias;
+  k_data.cpu_id            = data->cpu_id;
+  k_data.bucket_id  = data->bucket_id;
+
+  if ((data->set_mask & VC_VXSM_FILL_RATE2 && data->fill_rate != data->fill_rate2) ||
+      (data->set_mask & VC_VXSM_INTERVAL2 && data->interval != data->interval2)) {
+    /* first set the regular values */
+    k_data.set_mask = data->set_mask & ~(VC_VXSM_FILL_RATE2|VC_VXSM_INTERVAL2|VC_VXSM_FORCE);
+    ret = vserver(VCMD_set_sched_v4, CTX_USER2KERNEL(xid), &k_data);
+    if (ret)
+      return ret;
+    /* then set idle time */
+    k_data.set_mask  = data->set_mask & (VC_VXSM_FILL_RATE2|VC_VXSM_INTERVAL2|VC_VXSM_FORCE|VC_VXSM_IDLE_TIME|VC_VXSM_CPU_ID|VC_VXSM_BUCKET_ID);
+    k_data.fill_rate = data->fill_rate2;
+    k_data.interval  = data->interval2;
+    return vserver(VCMD_set_sched_v4, CTX_USER2KERNEL(xid), &k_data);
+  }
+  else {
+    k_data.set_mask = data->set_mask;
+    return vserver(VCMD_set_sched_v4, CTX_USER2KERNEL(xid), &k_data);
+  }
+}
index cea63bc..3936afa 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setsched.c,v 1.2 2005/08/21 22:07:35 mlhuang Exp $    --*- c -*--
+// $Id: syscall_setsched.c,v 1.5 2007/06/28 15:20:17 dhozac Exp $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #define VC_MULTIVERSION_SYSCALL        1
 #include "vserver-internal.h"
 #  include "syscall_setsched-v13.hc"
 #endif
 
+#ifdef VC_ENABLE_API_V13OBS
+#  include "syscall_setsched-v13obs.hc"
+#endif
+
+#ifdef VC_ENABLE_API_V21
+#  include "syscall_setsched-v21.hc"
+#endif
+
 int
 vc_set_sched(xid_t xid, struct vc_set_sched const *data)
 {
-  CALL_VC(CALL_VC_V13B  (vc_set_sched,xid,data),
+  CALL_VC(CALL_VC_V21   (vc_set_sched,xid,data),
+         CALL_VC_V13B  (vc_set_sched,xid,data),
          CALL_VC_V13OBS(vc_set_sched,xid,data));
 }
index 6b67011..31d2970 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setvhiname-olduts.hc,v 1.1 2004/02/02 18:32:53 ensc Exp $    --*- c -*--
+// $Id: syscall_setvhiname-olduts.hc 733 2004-02-02 18:32:53Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b493e54..3e6f6f1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setvhiname-v13.hc,v 1.4 2005/07/03 17:49:57 ensc Exp $    --*- c -*--
+// $Id: syscall_setvhiname-v13.hc 2133 2005-07-03 17:49:57Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a5ab1f7..eaeb84c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setvhiname.c,v 1.1 2004/02/02 18:32:53 ensc Exp $    --*- c -*--
+// $Id: syscall_setvhiname.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_OLDUTS) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
diff --git a/lib/syscall_virtstat-v21.hc b/lib/syscall_virtstat-v21.hc
new file mode 100644 (file)
index 0000000..a4d0362
--- /dev/null
@@ -0,0 +1,45 @@
+// $Id: syscall_virtstat-v21.hc 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+static inline ALWAYSINLINE int
+vc_virt_stat_v21(xid_t ctx, struct vc_virt_stat *stat)
+{
+  int ret;
+  struct vcmd_virt_stat_v0 param;
+
+  ret = vserver(VCMD_virt_stat, CTX_USER2KERNEL(ctx), &param);
+  if (ret)
+    return ret;
+
+#define G(ATTR)        stat->ATTR = param.ATTR
+  G(offset);
+  G(uptime);
+  G(nr_threads);
+  G(nr_running);
+  G(nr_uninterruptible);
+  G(nr_onhold);
+  G(nr_forks);
+  G(load[0]);
+  G(load[1]);
+  G(load[2]);
+  return 0;
+}
diff --git a/lib/syscall_virtstat.c b/lib/syscall_virtstat.c
new file mode 100644 (file)
index 0000000..727b508
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_virtstat.c 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_virtstat-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+
+int
+vc_virt_stat(xid_t ctx, struct vc_virt_stat *stat)
+{
+  CALL_VC(CALL_VC_V21(vc_virt_stat, ctx, stat));
+}
+
+#endif
index f772c6b..6da85ba 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_waitexit-v13.hc,v 1.1 2005/05/05 09:17:25 ensc Exp $    --*- c++ -*--
+// $Id: syscall_waitexit-v13.hc 2317 2006-09-15 21:18:21Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,7 +23,7 @@
 static inline ALWAYSINLINE int
 vc_wait_exit_v13b(xid_t ctx)
 {
-  struct vcmd_wait_exit_v0     param = { .a = 0, .b = 0 };
+  struct vcmd_wait_exit_v0     param = { .reboot_cmd = 0, .exit_code = 0 };
 
   return vserver(VCMD_wait_exit, CTX_USER2KERNEL(ctx), &param);
 }
index e23df1b..cf666a0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_waitexit.c,v 1.1 2005/05/05 09:17:25 ensc Exp $    --*- c++ -*--
+// $Id: syscall_waitexit.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_waitexit-v13.hc"
index ee8b213..5eee70f 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.9 2005/04/28 17:54:57 ensc Exp $            --*- makefile -*--
+## $Id: Makefile-files 2060 2005-04-28 17:54:57Z ensc $                --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 9e5dcc0..d2370ed 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: cflags.c,v 1.6 2005/03/02 01:24:25 ensc Exp $    --*- c -*--
+// $Id: cflags.c 1879 2005-03-02 01:24:25Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
index bb800bd..d749508 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt.c,v 1.4 2004/04/28 18:07:41 ensc Exp $    --*- c -*--
+// $Id: fmt.c 2185 2005-10-25 16:23:45Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #define TEST(VAL, EXP) {                       \
     char       buf[512];                       \
     size_t     l;                              \
-    memset(buf, '\23', sizeof buf);            \
+    memset(buf+1, '\23', sizeof(buf)-2);       \
+    buf[0] = buf[sizeof(EXP)] = '\42';         \
     l = FUNC(buf+1, VAL);                      \
     assert(l==sizeof(EXP)-1);                  \
     assert(memcmp(buf+1, EXP, l)==0);          \
-    assert(buf[l+1]=='\23');                   \
+    assert(buf[0]  =='\42');                   \
+    assert(buf[l+1]=='\42');                   \
+    assert(buf[l+2]=='\23');                   \
   }
 
 int main()
index 399f84d..e25e80e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: parselimit.c,v 1.2 2004/04/28 18:07:41 ensc Exp $    --*- c -*--
+// $Id: parselimit.c 1521 2004-04-28 18:07:41Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index aa84772..ff33518 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: personality.c,v 1.1 2005/04/28 17:54:57 ensc Exp $    --*- c -*--
+// $Id: personality.c 2060 2005-04-28 17:54:57Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 79bf768..d8faff0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: utils-legacy.h,v 1.1 2003/10/16 14:02:54 ensc Exp $    --*- c++ -*--
+// $Id: utils-legacy.h 177 2003-10-16 14:02:54Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e83a702..d89d584 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: val2text-t2v-uint32.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: val2text-t2v-uint32.c 1132 2004-03-07 19:35:59Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 47d9e1b..9362126 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: val2text-t2v-uint64.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: val2text-t2v-uint64.c 1132 2004-03-07 19:35:59Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b9ec84f..e04ee52 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: val2text-v2t-uint32.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: val2text-v2t-uint32.c 1132 2004-03-07 19:35:59Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 42c7bba..f4ab530 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: val2text-v2t-uint64.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: val2text-v2t-uint64.c 1132 2004-03-07 19:35:59Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 0b4c299..d723d6b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: val2text.hc,v 1.3 2004/05/08 01:27:48 ensc Exp $    --*- c -*--
+// $Id: val2text.hc 1544 2004-05-08 01:27:48Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f52484c..49cbd75 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: virtual.h,v 1.24 2005/07/03 17:51:00 ensc Exp $    --*- c -*--
+// $Id: virtual.h 2427 2006-12-12 01:39:54Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #ifndef H_UTIL_VSERVER_LIB_VIRTUAL_H
 #define H_UTIL_VSERVER_LIB_VIRTUAL_H
 
-#include <kernel/context.h>
 #include <kernel/context_cmd.h>
 #include <kernel/cvirt_cmd.h>
 #include <kernel/cvirt_cmd.h>
-#include <kernel/dlimit.h>
 #include <kernel/dlimit_cmd.h>
 #include <kernel/inode_cmd.h>
 #include <kernel/limit_cmd.h>
-#include <kernel/namespace_cmd.h>
+#include <kernel/space_cmd.h>
+#include <kernel/network.h>
 #include <kernel/network_cmd.h>
 #include <kernel/sched_cmd.h>
 #include <kernel/signal_cmd.h>
+#include <kernel/device_cmd.h>
 
-#include <kernel/network.h>
 #include <kernel/legacy.h>
 
 #endif //  H_UTIL_VSERVER_LIB_VIRTUAL_H
index ceb5d46..5c13bc5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-internal.h,v 1.25 2005/05/02 21:42:37 ensc Exp $    --*- c++ -*--
+// $Id: vserver-internal.h 2446 2007-01-09 13:22:11Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -41,12 +41,16 @@ inline static ALWAYSINLINE void vc_noop0() {}
 #define CALL_VC_NOOP   vc_noop0()
 #define CALL_VC_GENERAL(ID, SUFFIX, FUNC, ...)                         \
   VC_PREFIX; VC_SELECT(ID) return FUNC ## _ ## SUFFIX(__VA_ARGS__); VC_SUFFIX
+#define CALL_VC_GENERAL_CONFIG(BIT, SUFFIX, FUNC, ...)                 \
+  VC_PREFIX; VC_CBIT(BIT)  return FUNC ## _ ## SUFFIX(__VA_ARGS__); VC_SUFFIX
 
 #ifdef VC_MULTIVERSION_SYSCALL
 #  define VC_SELECT(ID)        if (ver>=(ID))
+#  define VC_CBIT(BIT)  if ((conf&BIT) == BIT)
 #  define CALL_VC(...)                                 \
   do {                                                 \
     int        ver = utilvserver_checkCompatVersion();         \
+    uint_least32_t conf = utilvserver_checkCompatConfig();     \
     if (ver==-1) return -1;                            \
     VC_SUFFIX, __VA_ARGS__, VC_PREFIX;                 \
     errno = ENOSYS;                                    \
@@ -54,6 +58,7 @@ inline static ALWAYSINLINE void vc_noop0() {}
   } while (0)
 #else
 #  define VC_SELECT(ID) if (1)
+#  define VC_CBIT(BIT)  if (1)
 #  define CALL_VC(...)                                 \
   do {                                                 \
     if (1) {} VC_SUFFIX, __VA_ARGS__, VC_PREFIX;       \
@@ -97,12 +102,23 @@ inline static ALWAYSINLINE void vc_noop0() {}
 #  define CALL_VC_V13B(F,...)  CALL_VC_NOOP
 #endif
 
-#ifdef VC_ENABLE_API_V13
+#ifdef VC_ENABLE_API_V13OBS
 #  define CALL_VC_V13OBS(F,...)        CALL_VC_GENERAL(0x00010011, v13obs, F, __VA_ARGS__)
 #else
 #  define CALL_VC_V13OBS(F,...)        CALL_VC_NOOP
 #endif
 
+#ifdef VC_ENABLE_API_V21
+#  define CALL_VC_V21(F,...)   CALL_VC_GENERAL(0x00020100, v21, F, __VA_ARGS__)
+#else
+#  define CALL_VC_V21(F,...)   CALL_VC_NOOP
+#endif
+
+#ifdef VC_ENABLE_API_V21
+#  define CALL_VC_SPACES(F,...)        CALL_VC_GENERAL_CONFIG(VC_VCI_SPACES, spaces, F, __VA_ARGS__)
+#else
+#  define CALL_VC_SPACES(F,...)        CALL_VC_NOOP
+#endif
 
 #ifdef VC_ENABLE_API_NET
 #  define CALL_VC_NET(F,...)   CALL_VC_GENERAL(0x00010016, net, F, __VA_ARGS__)
@@ -190,16 +206,18 @@ inline static ALWAYSINLINE void vc_noop0() {}
 #endif
 
 #if 1
-#  define NETTYPE_USER2KERNEL(X)       ((X)==vcNET_IPV4   ? 0 : \
-                                        (X)==vcNET_IPV6   ? 1 : \
-                                        (X)==vcNET_IPV4R  ? 2 : \
-                                        (X)==vcNET_IPV6R  ? 3 : \
+#  define NETTYPE_USER2KERNEL(X)       ((X)==vcNET_IPV4   ? NXA_TYPE_IPV4     : \
+                                        (X)==vcNET_IPV6   ? NXA_TYPE_IPV6     : \
+                                        (X)==vcNET_IPV4B  ? (NXA_TYPE_IPV4 | NXA_MOD_BCAST) : \
+                                        (X)==vcNET_IPV6B  ? (NXA_TYPE_IPV6 | NXA_MOD_BCAST) : \
+                                        (X)==vcNET_ANY    ? NXA_TYPE_ANY      : \
+                                        (X))
+#  define NETTYPE_KERNEL2USER(X)       ((X)==NXA_TYPE_IPV4     ? vcNET_IPV4   : \
+                                        (X)==NXA_TYPE_IPV6     ? vcNET_IPV6   : \
+                                        (X)==(NXA_TYPE_IPV4|NXA_MOD_BCAST) ? vcNET_IPV4B : \
+                                        (X)==(NXA_TYPE_IPV6|NXA_MOD_BCAST) ? vcNET_IPV6B : \
+                                        (X)==NXA_TYPE_ANY      ? vcNET_ANY    : \
                                         (X))
-#  define NETTYPE_KERNEL2USER(X)       ((X)==0 ? vcNET_IPV4   ? : \
-                                        (X)==1 ? vcNET_IPV6   ? : \
-                                        (X)==2 ? vcNET_IPV4R  ? : \
-                                        (X)==3 ? vcNET_IPV6R  ? : \
-                                        (vc_net_nx_type)(X))
 #else
 #  define NETTYPE_USER2KERNEL(X)       (X)
 #  define NETTYPE_KERNEL2USER(X)       (X)
@@ -235,10 +253,6 @@ inline static ALWAYSINLINE void vc_noop0() {}
 inline static UNUSED ALWAYSINLINE
 int vserver(uint32_t cmd, uint32_t id, void *data)
 {
-#if defined __dietlibc__
-  extern long int syscall (long int __sysno, ...);
-#endif
   return syscall(__NR_vserver, cmd, id, data);
 }
 #else
index f082f0d..20f25db 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: vserver.h,v 1.66 2005/07/15 16:27:02 ensc Exp $
+/* $Id: vserver.h 2501 2007-02-20 17:33:35Z dhozac $
 
 *  Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 *   
@@ -28,6 +28,7 @@
 #include <stdlib.h>
 #include <stdbool.h>
 #include <sys/types.h>
+#include <sched.h>
 
 #ifndef IS_DOXYGEN
 #if defined(__GNUC__)
 #define VC_VXF_VIRT_UPTIME             0x00020000ull
 #define VC_VXF_VIRT_CPU                        0x00040000ull
 #define VC_VXF_VIRT_LOAD               0x00080000ull
+#define VC_VXF_VIRT_TIME               0x00100000ull
 
 #define VC_VXF_HIDE_MOUNT              0x01000000ull
 #define VC_VXF_HIDE_NETIF              0x02000000ull
+#define VC_VXF_HIDE_VINFO              0x04000000ull
 
 #define        VC_VXF_STATE_SETUP              (1ULL<<32)
 #define        VC_VXF_STATE_INIT               (1ULL<<33)
+#define VC_VXF_STATE_ADMIN             (1ULL<<34)
+
+#define VC_VXF_SC_HELPER               (1ULL<<36)
+#define VC_VXF_REBOOT_KILL             (1ULL<<37)
+#define VC_VXF_PERSISTENT              (1ULL<<38)
 
 #define VC_VXF_FORK_RSS                        (1ULL<<48)
 #define VC_VXF_PROLIFIC                        (1ULL<<49)
 #define VC_VXC_BINARY_MOUNT            0x00040000ull
 
 #define VC_VXC_QUOTA_CTL               0x00100000ull
+#define VC_VXC_ADMIN_MAPPER            0x00200000ull
+#define VC_VXC_ADMIN_CLOOP             0x00400000ull
+
+
+// the scheduler flags
+#define VC_VXSM_FILL_RATE              0x0001
+#define VC_VXSM_INTERVAL               0x0002
+#define VC_VXSM_FILL_RATE2             0x0004
+#define VC_VXSM_INTERVAL2              0x0008
+#define VC_VXSM_TOKENS                 0x0010
+#define VC_VXSM_TOKENS_MIN             0x0020
+#define VC_VXSM_TOKENS_MAX             0x0040
+#define VC_VXSM_PRIO_BIAS              0x0100
+#define VC_VXSM_CPU_ID                 0x1000
+#define VC_VXSM_BUCKET_ID              0x2000
+
+#define VC_VXSM_IDLE_TIME              0x0200
+#define VC_VXSM_FORCE                  0x0400
+#define VC_VXSM_MSEC                   0x4000
+
+#define VC_VXSM_V3_MASK                        0x0173
+
+
+// the network flags
+#define VC_NXF_INFO_LOCK               0x00000001ull
+#define VC_NXF_INFO_PRIVATE            0x00000008ull
+
+#define VC_NXF_SINGLE_IP               0x00000100ull
+
+#define VC_NXF_HIDE_NETIF              0x02000000ull
+
+#define VC_NXF_STATE_SETUP             (1ULL<<32)
+#define VC_NXF_STATE_ADMIN             (1ULL<<34)
+
+#define VC_NXF_SC_HELPER               (1ULL<<36)
+#define VC_NXF_PERSISTENT              (1ULL<<38)
+
+
+// the vserver specific limits
+#define VC_VLIMIT_NSOCK                        16
+#define VC_VLIMIT_OPENFD               17
+#define VC_VLIMIT_ANON                 18
+#define VC_VLIMIT_SHMEM                        19
+#define VC_VLIMIT_SEMARY               20
+#define VC_VLIMIT_NSEMS                        21
+#define VC_VLIMIT_DENTRY               22
+#define VC_VLIMIT_MAPPED               23
+
+
+// the VCI bit values
+#define VC_VCI_NO_DYNAMIC              (1 << 0)
+#define VC_VCI_SPACES                  (1 << 10)
+
+
+// the device mapping flags
+#define VC_DATTR_CREATE                        0x00000001
+#define VC_DATTR_OPEN                  0x00000002
+
+#define VC_DATTR_REMAP                 0x00000010
+
+
+// the process context migration flags
+#define VC_VXM_SET_INIT                        0x00000001
+#define VC_VXM_SET_REAPER              0x00000002
 
 
-#define VC_VXSM_FILL_RATE              0x0001
-#define VC_VXSM_INTERVAL               0x0002
-#define VC_VXSM_TOKENS                 0x0010
-#define VC_VXSM_TOKENS_MIN             0x0020
-#define VC_VXSM_TOKENS_MAX             0x0040
-#define VC_VXSM_PRIO_BIAS              0x0100
+#ifndef CLONE_NEWNS
+#  define CLONE_NEWNS                  0x00020000
+#endif
+#ifndef CLONE_NEWUTS
+#  define CLONE_NEWUTS                 0x04000000
+#endif
+#ifndef CLONE_NEWIPC
+#  define CLONE_NEWIPC                 0x08000000
+#endif
+
 
 
 #define VC_BAD_PERSONALITY             ((uint_least32_t)(-1))
@@ -231,11 +307,6 @@ typedef an_unsigned_integer_type   nid_t;
 extern "C" {
 #endif
 
-  struct vc_ip_mask_pair {
-      uint32_t ip;
-      uint32_t mask;
-  };
-
     /** \brief   The generic vserver syscall
      *  \ingroup syscalls
      *
@@ -248,14 +319,20 @@ extern "C" {
      *  \param   data additional arguments; depends on \c cmd
      *  \returns depends on \c cmd; usually, -1 stands for an error
      */
-  int  vc_syscall(uint32_t cmd, xid_t xid, void *data);
+  int          vc_syscall(uint32_t cmd, xid_t xid, void *data);
 
     /** \brief   Returns the version of the current kernel API.
      *  \ingroup syscalls
      * \returns The versionnumber of the kernel API
      */
-  int  vc_get_version();
-  
+  int          vc_get_version();
+
+    /** \brief   Returns the kernel configuration bits
+     *  \ingroup syscalls
+     *  \returns The kernel configuration bits
+     */
+  int          vc_get_vci();
+
     /** \brief   Moves current process into a context
      *  \ingroup syscalls
      *
@@ -273,12 +350,17 @@ extern "C" {
      *           will be set appropriately
      *
      *  See http://vserver.13thfloor.at/Stuff/Logic.txt for details */
-  xid_t        vc_new_s_context(xid_t ctx, unsigned int remove_cap, unsigned int flags);
+  xid_t                vc_new_s_context(xid_t ctx, unsigned int remove_cap, unsigned int flags);
+
+  struct vc_ip_mask_pair {
+      uint32_t ip;
+      uint32_t mask;
+  };
 
     /** \brief  Sets the ipv4root information.
      *  \ingroup syscalls
      *  \pre    \a nb < NB_IPV4ROOT && \a ips != 0 */
-  int  vc_set_ipv4root(uint32_t  bcast, size_t nb,
+  int          vc_set_ipv4root(uint32_t  bcast, size_t nb,
                        struct vc_ip_mask_pair const *ips) VC_ATTR_NONNULL((3));
 
     /** \brief  Returns the value of NB_IPV4ROOT.
@@ -289,6 +371,18 @@ extern "C" {
      *  running kernel. */
   size_t       vc_get_nb_ipv4root() VC_ATTR_CONST VC_ATTR_PURE;
 
+    /* process context */
+  /** \brief    Flags of process-contexts
+   */
+  struct  vc_ctx_flags {
+      /** \brief Mask of set context flags */
+      uint_least64_t   flagword;
+      /** \brief Mask of set and unset context flags when used by set
+       *         operations, or modifiable flags when used by get
+       *         operations */
+      uint_least64_t   mask;
+  };
+
     /** \brief   Creates a context without starting it.
      *  \ingroup syscalls
      *
@@ -300,14 +394,102 @@ extern "C" {
      *
      * \returns the xid of the created context, or VC_NOCTX on errors. \c errno
      *          will be set appropriately. */
-  xid_t        vc_ctx_create(xid_t xid);
+  xid_t                vc_ctx_create(xid_t xid);
 
     /** \brief   Moves the current process into the specified context.
      *  \ingroup syscalls
      *
-     *  \param   xid  The new context
+     *  \param   xid    The new context
+     *  \param   flags  The flags, see VC_VXM_*
      *  \returns 0 on success, -1 on errors */
-  int  vc_ctx_migrate(xid_t xid);
+  int          vc_ctx_migrate(xid_t xid, uint_least64_t flags);
+
+    /** \brief   Statistics about a context */
+  struct vc_ctx_stat {
+      uint_least32_t   usecnt; ///< number of uses
+      uint_least32_t   tasks;  ///< number of tasks
+  };
+
+    /** \brief   Get some statistics about a context.
+     *  \ingroup syscalls
+     *
+     *  \param   xid   The context to get stats about
+     *  \param   stat  Where to store the result
+     *
+     *  \returns 0 on success, -1 on errors. */
+  int          vc_ctx_stat(xid_t xid, struct vc_ctx_stat /*@out@*/ *stat) VC_ATTR_NONNULL((2));
+
+    /** \brief   Contains further statistics about a context. */
+  struct vc_virt_stat {
+      uint_least64_t   offset;
+      uint_least64_t   uptime;
+      uint_least32_t   nr_threads;
+      uint_least32_t   nr_running;
+      uint_least32_t   nr_uninterruptible;
+      uint_least32_t   nr_onhold;
+      uint_least32_t   nr_forks;
+      uint_least32_t   load[3];
+  };
+
+    /** \brief   Get more statistics about a context.
+     *  \ingroup syscalls
+     *
+     *  \param xid   The context to get stats about
+     *  \param stat  Where to store the result
+     *
+     *  \returns 0 on success, -1 on errors. */
+  int          vc_virt_stat(xid_t xid, struct vc_virt_stat /*@out@*/ *stat) VC_ATTR_NONNULL((2));
+
+  /** \brief    Sends a signal to a context/pid
+   *  \ingroup  syscalls
+   *
+   *  Special values for \a pid are:
+   *  - -1   which means every process in ctx except the init-process
+   *  -  0   which means every process in ctx inclusive the init-process */
+  int          vc_ctx_kill(xid_t ctx, pid_t pid, int sig);
+  int          vc_get_cflags(xid_t xid, struct vc_ctx_flags /*@out@*/ *)       VC_ATTR_NONNULL((2));
+  int          vc_set_cflags(xid_t xid, struct vc_ctx_flags /*@in@*/ const *)  VC_ATTR_NONNULL((2));
+
+  /** \brief    Capabilities of process-contexts */
+  struct  vc_ctx_caps {
+      /** \brief  Mask of set common system capabilities */
+      uint_least64_t   bcaps;
+      /** \brief Mask of set and unset common system capabilities when used by
+       *         set operations, or the modifiable capabilities when used by
+       *         get operations */
+      uint_least64_t   bmask;
+      /** \brief Mask of set process context capabilities */
+      uint_least64_t   ccaps;
+      /** \brief Mask of set and unset process context capabilities when used
+       *         by set operations, or the modifiable capabilities when used
+       *         by get operations */
+      uint_least64_t   cmask;
+  };
+
+  int          vc_get_ccaps(xid_t xid, struct vc_ctx_caps *);
+  int          vc_set_ccaps(xid_t xid, struct vc_ctx_caps const *);
+
+  struct vc_vx_info {
+      xid_t    xid;
+      pid_t    initpid;
+  };
+
+  int          vc_get_vx_info(xid_t xid, struct vc_vx_info *info) VC_ATTR_NONNULL((2));
+  
+    /** \brief   Returns the context of the given process.
+     *  \ingroup syscalls
+     *
+     *  \param  pid  the process-id whose xid shall be determined;
+     *               pid==0 means the current process.
+     *  \returns     the xid of process \c pid or -1 on errors
+     */
+  xid_t                vc_get_task_xid(pid_t pid);
+
+  /** \brief   Waits for the end of a context
+   *  \ingroup syscalls
+   */
+  int          vc_wait_exit(xid_t xid);
   
     /* rlimit related functions */
   
@@ -322,6 +504,17 @@ extern "C" {
      *  resource; it might be bytes, pages, seconds or litres of beer. */
   typedef uint_least64_t       vc_limit_t;
 
+    /** \brief  Masks describing the supported limits. */
+  struct  vc_rlimit_mask {
+      uint_least32_t   min;    ///< masks the resources supporting a minimum limit
+      uint_least32_t   soft;   ///< masks the resources supporting a soft limit
+      uint_least32_t   hard;   ///< masks the resources supporting a hard limit
+  };
+
+    /** \brief  Returns the limits supported by the kernel */
+  int          vc_get_rlimit_mask(xid_t xid,
+                          struct vc_rlimit_mask /*@out@*/ *lim) VC_ATTR_NONNULL((2));
+
     /** \brief  The limits of a resources.
      *
      *  This is a triple consisting of a minimum, soft and hardlimit. */
@@ -331,13 +524,6 @@ extern "C" {
       vc_limit_t       hard;   ///< the absolute hardlimit of a resource
   };
 
-    /** \brief  Masks describing the supported limits. */
-  struct  vc_rlimit_mask {
-      uint_least32_t   min;    ///< masks the resources supporting a minimum limit
-      uint_least32_t   soft;   ///< masks the resources supporting a soft limit
-      uint_least32_t   hard;   ///< masks the resources supporting a hard limit
-  };
-
     /** \brief   Returns the limits of \a resource.
      *  \ingroup syscalls
      *
@@ -346,7 +532,7 @@ extern "C" {
      *  \param  lim       The result which will be filled with the limits
      *
      *  \returns 0 on success, and -1 on errors. */
-  int  vc_get_rlimit(xid_t xid, int resource,
+  int          vc_get_rlimit(xid_t xid, int resource,
                      struct vc_rlimit       /*@out@*/ *lim) VC_ATTR_NONNULL((3));
     /** \brief   Sets the limits of \a resource.
      *  \ingroup syscalls
@@ -356,10 +542,36 @@ extern "C" {
      *  \param  lim       The new limits
      *
      *  \returns 0 on success, and -1 on errors. */
-  int  vc_set_rlimit(xid_t xid, int resource,
+  int          vc_set_rlimit(xid_t xid, int resource,
                      struct vc_rlimit const /*@in@*/  *lim) VC_ATTR_NONNULL((3));
-  int  vc_get_rlimit_mask(xid_t xid,
-                          struct vc_rlimit_mask *lim)       VC_ATTR_NONNULL((2));
+
+    /** \brief Statistics for a resource limit. */
+  struct  vc_rlimit_stat {
+      uint_least32_t   hits;    ///< number of hits on the limit
+      vc_limit_t       value;   ///< current value
+      vc_limit_t       minimum; ///< minimum value observed
+      vc_limit_t       maximum; ///< maximum value observed
+  };
+
+    /** \brief   Returns the current stats of \a resource.
+     *  \ingroup syscalls
+     *
+     *  \param  xid       The id of the context
+     *  \param  resource  The resource which will be queried
+     *  \param  stat      The result which will be filled with the stats
+     *
+     *  \returns 0 on success, and -1 on errors. */
+  int          vc_rlimit_stat(xid_t xid, int resource,
+                      struct vc_rlimit_stat /*@out@*/ *stat) VC_ATTR_NONNULL((3));
+
+    /** \brief   Resets the minimum and maximum observed values of all resources.
+     *  \ingroup syscalls
+     *
+     *  \param xid     The id of the context
+     *
+     *  \returns 0 on success, and -1 on errors. */
+  int          vc_reset_minmax(xid_t xid);
+
     /** \brief   Parses a string describing a limit
      *  \ingroup helper
      *
@@ -379,18 +591,10 @@ extern "C" {
      *
      *  \pre \a str!=0 && \a res!=0
      */
-  bool vc_parseLimit(char const /*@in@*/ *str, vc_limit_t /*@out@*/ *res)      VC_ATTR_NONNULL((1,2));
-
-
-  /** \brief    Sends a signal to a context/pid
-   *  \ingroup  syscalls
-   *
-   *  Special values for \a pid are:
-   *  - -1   which means every process in ctx except the init-process
-   *  -  0   which means every process in ctx inclusive the init-process */
-  int  vc_ctx_kill(xid_t ctx, pid_t pid, int sig);
+  bool         vc_parseLimit(char const /*@in@*/ *str, vc_limit_t /*@out@*/ *res)      VC_ATTR_NONNULL((1,2));
 
 
+    /* network context */
   struct vc_nx_info {
       nid_t    nid;
   };
@@ -398,13 +602,20 @@ extern "C" {
   nid_t                vc_get_task_nid(pid_t pid);
   int          vc_get_nx_info(nid_t nid, struct vc_nx_info *) VC_ATTR_NONNULL((2));
 
-  typedef enum { vcNET_IPV4, vcNET_IPV6, vcNET_IPV4R, vcNET_IPV6R }    vc_net_nx_type;
-  
+  typedef enum { vcNET_IPV4=1,      vcNET_IPV6=2,
+                vcNET_IPV4B=0x101, vcNET_IPV6B=0x102,
+                vcNET_ANY=~0 }         vc_net_nx_type;
+
   struct vc_net_nx {
       vc_net_nx_type   type;
       size_t           count;
-      uint32_t         ip;
-      uint32_t         mask;
+      uint32_t         ip[4];
+      uint32_t         mask[4];
+  };
+
+  struct vc_net_flags {
+      uint_least64_t   flagword;
+      uint_least64_t   mask;
   };
 
   nid_t                vc_net_create(nid_t nid);
@@ -413,15 +624,9 @@ extern "C" {
   int          vc_net_add(nid_t nid, struct vc_net_nx const *info);
   int          vc_net_remove(nid_t nid, struct vc_net_nx const *info);
 
-  struct vc_net_flags {
-      uint_least64_t   flagword;
-      uint_least64_t   mask;
-  };
-  
   int          vc_get_nflags(nid_t, struct vc_net_flags *);
   int          vc_set_nflags(nid_t, struct vc_net_flags const *);
 
-  
   struct vc_net_caps {
       uint_least64_t   ncaps;
       uint_least64_t   cmask;
@@ -431,7 +636,7 @@ extern "C" {
   int          vc_set_ncaps(nid_t, struct vc_net_caps const *);
 
 
-  
+    /* iattr related functions */
 
   int          vc_set_iattr(char const *filename, xid_t xid,
                             uint_least32_t flags, uint_least32_t mask) VC_ATTR_NONNULL((1));
@@ -465,23 +670,24 @@ extern "C" {
   int          vc_get_iattr(char const *filename, xid_t * /*@null@*/ xid,
                             uint_least32_t * /*@null@*/ flags,
                             uint_least32_t * /*@null@*/ mask) VC_ATTR_NONNULL((1));
-
-  struct vc_vx_info {
-      xid_t    xid;
-      pid_t    initpid;
-  };
   
-    /** \brief   Returns the context of the given process.
-     *  \ingroup syscalls
-     *
-     *  \param  pid  the process-id whose xid shall be determined;
-     *               pid==0 means the current process.
-     *  \returns     the xid of process \c pid or -1 on errors
-     */
-  xid_t                vc_get_task_xid(pid_t pid);
-  int          vc_get_vx_info(xid_t xid, struct vc_vx_info *info) VC_ATTR_NONNULL((2));
+  /** \brief   Returns the context of \c filename
+   *  \ingroup syscalls
+   *
+   *  This function calls vc_get_iattr() with appropriate arguments to
+   *  determine the context of \c filename. In error-case or when no context
+   *  is assigned, \c VC_NOCTX will be returned. To differ between both cases,
+   *  \c errno must be examined.
+   *
+   *  \b WARNING: this function can modify \c errno although no error happened.
+   *
+   *  \param   filename  The file to check
+   *  \returns The assigned context, or VC_NOCTX when an error occured or no
+   *           such assignment exists. \c errno will be 0 in the latter case */
+  xid_t                vc_getfilecontext(char const *filename) VC_ATTR_NONNULL((1));
 
 
+    /* vhi related functions */
   typedef enum { vcVHI_CONTEXT, vcVHI_SYSNAME, vcVHI_NODENAME,
                 vcVHI_RELEASE, vcVHI_VERSION, vcVHI_MACHINE,
                 vcVHI_DOMAINNAME }             vc_uts_type;
@@ -491,41 +697,72 @@ extern "C" {
   int          vc_get_vhi_name(xid_t xid, vc_uts_type type,
                                char *val, size_t len)       VC_ATTR_NONNULL((3));
 
-    /** Returns true iff \a xid is a dynamic xid */
-  bool         vc_is_dynamic_xid(xid_t xid);
-
-  int          vc_enter_namespace(xid_t xid);
-  int          vc_set_namespace();
+    /* namespace related functions */
+  int          vc_enter_namespace(xid_t xid, uint_least64_t mask);
+  int          vc_set_namespace(xid_t xid, uint_least64_t mask);
   int          vc_cleanup_namespace();
+  uint_least64_t vc_get_space_mask();
 
+
+    /* disk limit related things */
+  struct vc_ctx_dlimit {
+      uint_least32_t   space_used;
+      uint_least32_t   space_total;
+      uint_least32_t   inodes_used;
+      uint_least32_t   inodes_total;
+      uint_least32_t   reserved;
+  };
   
-  /** \brief    Flags of process-contexts
-   */
-  struct  vc_ctx_flags {
-      /** \brief Mask of set context flags */
-      uint_least64_t   flagword;
-      /** \brief Mask of set and unset context flags when used by set
-       *         operations, or modifiable flags when used by get
-       *         operations */
-      uint_least64_t   mask;
+
+  /** Add a disk limit to a file system. */
+  int          vc_add_dlimit(char const *filename, xid_t xid,
+                             uint_least32_t flags) VC_ATTR_NONNULL((1));
+  /** Remove a disk limit from a file system. */
+  int          vc_rem_dlimit(char const *filename, xid_t xid,
+                             uint_least32_t flags) VC_ATTR_NONNULL((1));
+
+  /** Set a disk limit. */
+  int          vc_set_dlimit(char const *filename, xid_t xid,
+                             uint_least32_t flags,
+                             struct vc_ctx_dlimit const *limits) VC_ATTR_NONNULL((1,4));
+  /** Get a disk limit. */
+  int          vc_get_dlimit(char const *filename, xid_t xid,
+                             uint_least32_t flags,
+                             struct vc_ctx_dlimit *limits) VC_ATTR_NONNULL((1));
+
+    /* scheduler related syscalls */
+  struct vc_set_sched {
+      uint_least32_t   set_mask;
+      int_least32_t    fill_rate;
+      int_least32_t    interval;
+      int_least32_t    fill_rate2;
+      int_least32_t    interval2;
+      int_least32_t    tokens;
+      int_least32_t    tokens_min;
+      int_least32_t    tokens_max;
+      int_least32_t    priority_bias;
+      int_least32_t    cpu_id;
+      int_least32_t    bucket_id;
   };
 
-  /** \brief    Capabilities of process-contexts */
-  struct  vc_ctx_caps {
-      /** \brief  Mask of set common system capabilities */
-      uint_least64_t   bcaps;
-      /** \brief Mask of set and unset common system capabilities when used by
-       *         set operations, or the modifiable capabilities when used by
-       *         get operations */
-      uint_least64_t   bmask;
-      /** \brief Mask of set process context capabilities */
-      uint_least64_t   ccaps;
-      /** \brief Mask of set and unset process context capabilities when used
-       *         by set operations, or the modifiable capabilities when used
-       *         by get operations */
-      uint_least64_t   cmask;
+  int          vc_set_sched(xid_t xid, struct vc_set_sched const *) VC_ATTR_NONNULL((2));
+
+  struct vc_sched_info {
+      int_least32_t    cpu_id;
+      int_least32_t    bucket_id;
+      uint_least64_t   user_msec;
+      uint_least64_t   sys_msec;
+      uint_least64_t   hold_msec;
+      uint_least32_t   token_usec;
+      int_least32_t    vavavoom;
   };
 
+  int          vc_sched_info(xid_t xid, struct vc_sched_info *info) VC_ATTR_NONNULL((2));
+
+    /* misc. syscalls */
+  int          vc_set_mapping(xid_t xid, const char *device, const char *target, uint32_t flags);
+
+
   /** \brief    Information about parsing errors
    *  \ingroup  helper
    */
@@ -533,12 +770,6 @@ extern "C" {
       char const       *ptr;           ///< Pointer to the first character of an erroneous string
       size_t           len;            ///< Length of the erroneous string
   };
-  int                  vc_get_cflags(xid_t xid, struct vc_ctx_flags *)       VC_ATTR_NONNULL((2));
-  int                  vc_set_cflags(xid_t xid, struct vc_ctx_flags const *) VC_ATTR_NONNULL((2));
-
-  int                  vc_get_ccaps(xid_t xid, struct vc_ctx_caps *);
-  int                  vc_set_ccaps(xid_t xid, struct vc_ctx_caps const *);
 
   /** \brief   Converts a single string into bcapability
    *  \ingroup helper
@@ -654,70 +885,13 @@ extern "C" {
 
   uint_least32_t       vc_str2personalitytype(char const /*@in@*/*,
                                               size_t len) VC_ATTR_NONNULL((1));
-  
-  /** \brief   Returns the context of \c filename
-   *  \ingroup syscalls
-   *
-   *  This function calls vc_get_iattr() with appropriate arguments to
-   *  determine the context of \c filename. In error-case or when no context
-   *  is assigned, \c VC_NOCTX will be returned. To differ between both cases,
-   *  \c errno must be examined.
-   *
-   *  \b WARNING: this function can modify \c errno although no error happened.
-   *
-   *  \param   filename  The file to check
-   *  \returns The assigned context, or VC_NOCTX when an error occured or no
-   *           such assignment exists. \c errno will be 0 in the latter case */
-  xid_t                vc_getfilecontext(char const *filename) VC_ATTR_NONNULL((1));
-
-
-  struct vc_set_sched {
-      uint_least32_t   set_mask;
-      int_least32_t    fill_rate;
-      int_least32_t    interval;
-      int_least32_t    tokens;
-      int_least32_t    tokens_min;
-      int_least32_t    tokens_max;
-      int_least32_t    priority_bias;
-  };
-
-  int          vc_set_sched(xid_t xid, struct vc_set_sched const *);
-
-
-  struct vc_ctx_dlimit {
-      uint_least32_t   space_used;
-      uint_least32_t   space_total;
-      uint_least32_t   inodes_used;
-      uint_least32_t   inodes_total;
-      uint_least32_t   reserved;
-  };
-  
 
-  /** Add a disk limit to a file system. */
-  int          vc_add_dlimit(char const *filename, xid_t xid,
-                             uint_least32_t flags) VC_ATTR_NONNULL((1));
-  /** Remove a disk limit from a file system. */
-  int          vc_rem_dlimit(char const *filename, xid_t xid,
-                             uint_least32_t flags) VC_ATTR_NONNULL((1));
-
-  /** Set a disk limit. */
-  int          vc_set_dlimit(char const *filename, xid_t xid,
-                             uint_least32_t flags,
-                             struct vc_ctx_dlimit const *limits) VC_ATTR_NONNULL((1,4));
-  /** Get a disk limit. */
-  int          vc_get_dlimit(char const *filename, xid_t xid,
-                             uint_least32_t flags,
-                             struct vc_ctx_dlimit *limits) VC_ATTR_NONNULL((1));
-
-  /** \brief   Waits for the end of a context
-   *  \ingroup syscalls
-   */
-  int          vc_wait_exit(xid_t xid);
     
   typedef enum { vcFEATURE_VKILL,  vcFEATURE_IATTR,   vcFEATURE_RLIMIT,
                 vcFEATURE_COMPAT, vcFEATURE_MIGRATE, vcFEATURE_NAMESPACE,
                 vcFEATURE_SCHED,  vcFEATURE_VINFO,   vcFEATURE_VHI,
-                 vcFEATURE_VSHELPER0, vcFEATURE_VSHELPER, vcFEATURE_VWAIT }
+                 vcFEATURE_VSHELPER0, vcFEATURE_VSHELPER, vcFEATURE_VWAIT,
+                vcFEATURE_VNET, vcFEATURE_VSTAT }
     vcFeatureSet;
 
   bool         vc_isSupported(vcFeatureSet) VC_ATTR_CONST;
@@ -730,6 +904,10 @@ extern "C" {
   
   vcXidType    vc_getXIDType(xid_t xid) VC_ATTR_CONST;
 
+    /** Returns true iff \a xid is a dynamic xid */
+  bool         vc_is_dynamic_xid(xid_t xid);
+
+
   /* The management part */
 
 #define VC_LIMIT_VSERVER_NAME_LEN      1024
@@ -742,6 +920,8 @@ extern "C" {
 
   /** Maps an xid given at '--xid' options to an xid_t */
   xid_t                vc_xidopt2xid(char const *, bool honor_static, char const **err_info);
+  /** Maps a  nid given at '--nid' options to a  nid_t */
+  nid_t                vc_nidopt2nid(char const *, bool honor_static, char const **err_info);
 
   vcCfgStyle   vc_getVserverCfgStyle(char const *id);
   
@@ -780,6 +960,9 @@ extern "C" {
       freed by the caller. */
   char *       vc_getVserverByCtx(xid_t ctx, /*@null@*/vcCfgStyle *style,
                                   /*@null@*/char const *revdir);
+
+  int          vc_compareVserverById(char const *lhs, vcCfgStyle lhs_style,
+                                     char const *rhs, vcCfgStyle rhs_style);
  
 #define vcSKEL_INTERFACES      1u
 #define vcSKEL_PKGMGMT         2u
index 5724ba9..f87bc1c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: xidopt2xid.c,v 1.2 2004/08/19 13:58:40 ensc Exp $    --*- c -*--
+// $Id: xidopt2xid.c 1656 2004-08-19 13:58:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e6bb64b..ee43f19 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.18 2005/07/04 22:35:47 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 2255 2006-01-22 11:23:47Z ensc $  -*- makefile -*-
 
 ## Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -96,7 +96,9 @@ lib_internal_libinternal_common_SRCS = \
                                lib_internal/unify-isiunlinkable.c \
                                lib_internal/util-canonify.c \
                                lib_internal/util-exitlikeprocess.c \
+                               lib_internal/util-isnumber.hc \
                                lib_internal/util-isnumber.c \
+                               lib_internal/util-isnumberunsigned.c \
                                lib_internal/util-lockfile.c \
                                lib_internal/util-safechdir.c \
                                $(command_SRCS) \
index 9ee1ec8..15c3de2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-appendparameter.c,v 1.2 2004/08/19 14:09:02 ensc Exp $    --*- c -*--
+// $Id: command-appendparameter.c 1665 2004-08-19 14:09:34Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9669f67..727faaf 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-exec.c,v 1.3 2005/03/22 15:25:54 ensc Exp $    --*- c -*--
+// $Id: command-exec.c 1957 2005-03-22 15:25:54Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 70f16d0..88459c9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-free.c,v 1.2 2004/08/19 14:09:22 ensc Exp $    --*- c -*--
+// $Id: command-free.c 1665 2004-08-19 14:09:34Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 8b2265d..4ef8644 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-init.c,v 1.2 2004/08/19 14:09:34 ensc Exp $    --*- c -*--
+// $Id: command-init.c 1665 2004-08-19 14:09:34Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ec6f8ad..72c8bfe 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-reset.c,v 1.1 2004/06/27 14:38:06 ensc Exp $    --*- c -*--
+// $Id: command-reset.c 1605 2004-06-27 14:40:17Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 732c975..79de5ac 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-setparams.c,v 1.1 2004/08/19 14:08:17 ensc Exp $    --*- c -*--
+// $Id: command-setparams.c 1664 2004-08-19 14:08:17Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 44cf611..5158203 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-wait.c,v 1.2 2004/07/02 23:44:33 ensc Exp $    --*- c -*--
+// $Id: command-wait.c 1618 2004-07-02 23:44:33Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ea0c9ed..124802d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command.h,v 1.2 2004/08/19 14:09:49 ensc Exp $    --*- c -*--
+// $Id: command.h 1666 2004-08-19 14:09:49Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index d52ac9b..0b079ff 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: coreassert.h,v 1.2 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: coreassert.h 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 37d6bca..1a8c16a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: errinfo-writeerrno.c,v 1.1 2004/07/02 23:34:51 ensc Exp $    --*- c -*--
+// $Id: errinfo-writeerrno.c 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 651bbba..4ed87b6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: errinfo.h,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: errinfo.h 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 84cc8a8..d454b0e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filecfg-iteratemultiline.c,v 1.2 2004/12/07 11:13:29 ensc Exp $    --*- c -*--
+// $Id: filecfg-iteratemultiline.c 1763 2004-12-07 11:13:29Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e73edd5..ea131dc 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filecfg-readentryflag.c,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: filecfg-readentryflag.c 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f79b876..ee1909b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filecfg-readentrystr.c,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: filecfg-readentrystr.c 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ee86a6f..db09ca2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filecfg.h,v 1.2 2004/10/19 21:05:15 ensc Exp $    --*- c -*--
+// $Id: filecfg.h 1736 2004-10-19 21:05:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5c6f582..a08dacb 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: jail.h,v 1.2 2004/03/15 21:37:06 ensc Exp $    --*- c -*--
+// $Id: jail.h 1250 2004-03-15 21:37:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ef21118..fdb2b4e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: jailintotempdir.c,v 1.2 2004/03/15 21:37:06 ensc Exp $    --*- c -*--
+// $Id: jailintotempdir.c 1250 2004-03-15 21:37:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9e36a11..d0e20ee 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-appendfiles.c,v 1.2 2004/04/06 08:42:46 ensc Exp $    --*- c -*--
+// $Id: matchlist-appendfiles.c 1423 2004-04-06 08:43:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 516af60..d15e82a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-compare.c,v 1.2 2004/04/06 08:43:02 ensc Exp $    --*- c -*--
+// $Id: matchlist-compare.c 1423 2004-04-06 08:43:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5187f8d..57ca5f4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-destroy.c,v 1.2 2005/03/18 00:18:38 ensc Exp $    --*- c -*--
+// $Id: matchlist-destroy.c 1911 2005-03-18 00:18:38Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 44f96e3..e9b0116 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-init.c,v 1.1 2004/02/17 02:33:20 ensc Exp $    --*- c -*--
+// $Id: matchlist-init.c 910 2004-02-17 02:33:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index dc08d9c..d050714 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-initbyvserver.c,v 1.3 2005/03/18 00:20:02 ensc Exp $    --*- c -*--
+// $Id: matchlist-initbyvserver.c 1912 2005-03-18 00:20:02Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 199a96e..71ec191 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-initmanually.c,v 1.5 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: matchlist-initmanually.c 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 90058c6..4310292 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-initrefserverlist.c,v 1.4 2005/03/23 02:05:23 ensc Exp $    --*- c -*--
+// $Id: matchlist-initrefserverlist.c 1962 2005-03-23 02:05:23Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 179b88e..42fe28b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-printid.c,v 1.2 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: matchlist-printid.c 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 66cca26..ea01702 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist.h,v 1.5 2005/03/18 00:20:02 ensc Exp $    --*- c -*--
+// $Id: matchlist.h 1912 2005-03-18 00:20:02Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 1c05133..ddc7962 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchvserverinfo-free.c,v 1.1 2005/03/18 00:17:53 ensc Exp $    --*- c -*--
+// $Id: matchvserverinfo-free.c 1909 2005-03-18 00:17:53Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index d874274..81b72b2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchvserverinfo-init.c,v 1.2 2005/03/24 00:09:58 ensc Exp $    --*- c -*--
+// $Id: matchvserverinfo-init.c 1970 2005-03-24 00:09:58Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 24cee47..bef46e2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: pathinfo-append.c,v 1.1 2004/02/17 02:33:20 ensc Exp $    --*- c -*--
+// $Id: pathinfo-append.c 910 2004-02-17 02:33:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 217f00f..37db555 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: pathinfo-test.c,v 1.1 2004/02/17 02:33:20 ensc Exp $    --*- c -*--
+// $Id: pathinfo-test.c 910 2004-02-17 02:33:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e9ba207..caba216 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: pathinfo.h,v 1.2 2004/07/02 23:44:53 ensc Exp $    --*- c -*--
+// $Id: pathinfo.h 2467 2007-01-21 18:26:45Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,6 +23,7 @@
 
 #define ENSC_PI_DECLARE(VAR,VAL)       PathInfo VAR={.d = VAL,.l = sizeof(VAL)-1}
 #define ENSC_PI_APPSZ(P1,P2)           ((P1).l + sizeof("/") + (P2).l)
+#define ENSC_PI_SETSTR(VAR,VAL)                do { VAR.d = VAL; VAR.l = strlen(VAL); } while (0)
 
 typedef String         PathInfo;
 
index e4ece42..bb54c0b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: string.h,v 1.3 2005/03/18 00:20:30 ensc Exp $    --*- c -*--
+// $Id: string.h 1914 2005-03-18 00:20:30Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4ae6e7b..aa85fb0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: string.hc,v 1.3 2005/03/18 00:20:42 ensc Exp $    --*- c -*--
+// $Id: string.hc 1915 2005-03-18 00:20:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b49305b..e237fc4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: switchtowatchxid.c,v 1.4 2005/03/25 02:37:41 ensc Exp $    --*- c -*--
+// $Id: switchtowatchxid.c 2501 2007-02-20 17:33:35Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -35,7 +35,7 @@ switchToWatchXid(char const **errptr)
   if (vc_get_task_xid(0)==1) return true;
 
   if (vc_isSupported(vcFEATURE_MIGRATE)) {
-    if (vc_ctx_migrate(1)==-1) {
+    if (vc_ctx_migrate(1, 0)==-1) {
       if (errptr) *errptr = "vc_migrate_context()";
       return false;
     }
index e31b8da..59066e6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: sys_clone.h,v 1.3 2005/04/28 18:01:37 ensc Exp $    --*- c -*--
+// $Id: sys_clone.h 2446 2007-01-09 13:22:11Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #ifndef H_UTIL_VSERVER_SRC_SYS_CLONE_H
 #define H_UTIL_VSERVER_SRC_SYS_CLONE_H
 
+#include <unistd.h>
 #include "lib/syscall-wrap.h"
-#define __NR_sys_clone         __NR_clone
+#define __NR__sys_clone                __NR_clone
 
-#ifndef CLONE_NEWNS
-#  define CLONE_NEWNS 0x00020000
-#endif
+#ifndef ENSC_SYSCALL_TRADITIONAL
+#  include <errno.h>
 
-#ifdef ENSC_SYSCALL_TRADITIONAL
-#include <unistd.h>
+#  if defined(__s390__)
+inline static UNUSED ALWAYSINLINE
+_syscall2(int, _sys_clone, void *, child_stack, int, flags)
+#  else
+inline static UNUSED ALWAYSINLINE
+_syscall2(int, _sys_clone, int, flags, void *, child_stack)
+#  endif
+#endif
 
 inline static UNUSED ALWAYSINLINE
-int sys_clone(int flags, void *stack)
+int sys_clone(int flags, void *child_stack)
 {
-#if defined __dietlibc__
-  extern long int syscall (long int __sysno, ...);
+  int ret;
+#ifdef __sparc__
+  int parent = getpid();
 #endif
-  return syscall(__NR_sys_clone, flags, stack);
-}
-#else
-#include <errno.h>
 
-inline static UNUSED ALWAYSINLINE
-_syscall2(int, sys_clone, int, flags, void *, child_stack)
+#if   defined(__s390__) && defined(ENSC_SYSCALL_TRADITIONAL)
+  ret = syscall(__NR__sys_clone, child_stack, flags);
+#elif defined(__s390__)
+  ret = _sys_clone(child_stack, flags);
+#elif defined(ENSC_SYSCALL_TRADITIONAL)
+  ret = syscall(__NR__sys_clone, flags, child_stack);
+#else
+  ret = _sys_clone(flags, child_stack);
+#endif
+#ifdef __sparc__
+  if (ret == parent)
+    ret = 0;
 #endif
+  return ret;
+}
 
-#undef __NR_sys_clone
+#undef __NR__sys_clone
 
 #define ENSC_HAVE_SYSCLONE             1
   
index 8dd2ed2..c7bbe51 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: sys_personality.h,v 1.1 2005/04/28 18:01:16 ensc Exp $    --*- c -*--
+// $Id: sys_personality.h 2446 2007-01-09 13:22:11Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 inline static UNUSED ALWAYSINLINE
 int sys_personality(int pers)
 {
-#if defined __dietlibc__
-  extern long int syscall (long int __sysno, ...);
-#endif
   return syscall(__NR_sys_personality, pers);
 }
 #else
index f9d0291..26296e2 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.6 2005/03/24 00:09:18 ensc Exp $    --*- makefile -*--
+## $Id: Makefile-files 2276 2006-01-22 18:24:22Z ensc $        --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -20,12 +20,21 @@ check_PROGRAMS +=           lib_internal/testsuite/command
 if ENSC_HAVE_C99_COMPILER
 check_PROGRAMS +=              lib_internal/testsuite/filecfg-ml \
                                lib_internal/testsuite/copy \
-                               lib_internal/testsuite/sigbus
+                               lib_internal/testsuite/isnumber \
+                               lib_internal/testsuite/isnumber-gnu \
+                               lib_internal/testsuite/sigbus \
+                               lib_internal/testsuite/sigbus-gnu
 TESTS +=                       lib_internal/testsuite/filecfg-ml \
                                lib_internal/testsuite/copy-check \
-                               lib_internal/testsuite/sigbus
+                               lib_internal/testsuite/isnumber \
+                               lib_internal/testsuite/isnumber-gnu \
+                               lib_internal/testsuite/sigbus \
+                               lib_internal/testsuite/sigbus-gnu
 endif
 
+DIETPROGS +=                   lib_internal/testsuite/isnumber \
+                               lib_internal/testsuite/sigbus
+
 EXTRA_DIST +=                  lib_internal/testsuite/copy-check
 
 TESTS_ENVIRONMENT +=           libinternaltestsuitedir=$(top_builddir)/lib_internal/testsuite
@@ -41,4 +50,11 @@ lib_internal_testsuite_filecfg_ml_LDADD =    $(LIBINTERNAL_GLIBC)
 lib_internal_testsuite_copy_SOURCES =          lib_internal/testsuite/copy.c
 lib_internal_testsuite_copy_LDADD =            $(LIBINTERNAL_GLIBC)
 
+lib_internal_testsuite_isnumber_SOURCES =      lib_internal/testsuite/isnumber.c
+lib_internal_testsuite_isnumber_LDADD =                $(LIBINTERNAL)
+
+lib_internal_testsuite_isnumber_gnu_SOURCES =  lib_internal/testsuite/isnumber.c
+lib_internal_testsuite_isnumber_gnu_LDADD =    $(LIBINTERNAL_GLIBC)
+
 lib_internal_testsuite_sigbus_SOURCES =                lib_internal/testsuite/sigbus.c
+lib_internal_testsuite_sigbus_gnu_SOURCES =    lib_internal/testsuite/sigbus.c
index e15a6c2..7db946e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command.c,v 1.2 2004/08/19 14:10:06 ensc Exp $    --*- c -*--
+// $Id: command.c 1667 2004-08-19 14:10:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 229a2e8..7d316eb 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-## $Id: copy-check,v 1.4 2005/03/25 02:38:13 ensc Exp $
+## $Id: copy-check 1989 2005-03-25 02:38:13Z ensc $
 
 # Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 36e3db5..96e5064 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: copy.c,v 1.1 2005/03/18 03:33:34 ensc Exp $    --*- c -*--
+// $Id: copy.c 1924 2005-03-18 03:33:34Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 968dd22..3fd6e34 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filecfg-ml.c,v 1.2 2005/01/26 15:32:35 ensc Exp $    --*- c -*--
+// $Id: filecfg-ml.c 1796 2005-01-26 15:32:35Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/lib_internal/testsuite/isnumber.c b/lib_internal/testsuite/isnumber.c
new file mode 100644 (file)
index 0000000..05026e9
--- /dev/null
@@ -0,0 +1,80 @@
+// $Id: isnumber.c 2254 2006-01-22 11:19:47Z ensc $    --*- c -*--
+
+// Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#define ENSC_TESTSUITE
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "lib_internal/util.h"
+#include "lib_internal/coreassert.h"
+
+#define TEST_TMPL(FUNC, TYPE, STR, VAL, STRICT)                        \
+  do {                                                         \
+    TYPE       exp = (TYPE)(VAL)!=(TYPE)BAD ? (VAL) : 0;       \
+    bool       val = (TYPE)(VAL)==(TYPE)BAD ? false : true;    \
+    TYPE       tmp;                                            \
+    bool       rc = FUNC((STR), &tmp, (STRICT));               \
+    char const * const UNUSED STR_FUNC    = #FUNC;             \
+    char const * const UNUSED STR_VAL     = #VAL;              \
+    char const * const UNUSED STR_STRICT  = #STRICT;           \
+    assert(rc == val);                                         \
+    rc = FUNC((STR), 0, (STRICT));                             \
+    assert(val == rc);                                         \
+    if (val) assert(tmp == exp);                               \
+  } while (0)
+
+#define TESTS(STR, VAL, STRICT)                        \
+  TEST_TMPL(isNumber, signed long, STR, VAL, STRICT)
+
+#define TESTU(STR, VAL, STRICT)                                        \
+  TEST_TMPL(isNumberUnsigned, unsigned long, STR, VAL, STRICT)
+
+#define TEST(STR, VALS0, VALS1, VALU0, VALU1)  \
+  TESTS(STR, VALS0, true);                     \
+  TESTS(STR, VALS1, false);                    \
+  TESTU(STR, VALU0, true);                     \
+  TESTU(STR, VALU1, false);
+
+
+#define BAD    0xdeadbeaf
+
+int main()
+{
+  TEST( "0",        0,        0,    0,       0);
+  TEST( "1",        1,        1,    1,       1);
+  TEST("-1",       -1,       -1,  BAD,     BAD);
+  TEST( "1k",     BAD,     1000,  BAD,    1000);
+//TEST("-1k",     BAD,    -1000,  BAD,     BAD);
+  TEST( "1K",     BAD,     1024,  BAD,    1024);
+//TEST("-1K",     BAD,    -1024,  BAD,     BAD);
+  TEST( "1m",     BAD,  1000000,  BAD, 1000000);
+//TEST("-1m",     BAD, -1000000,  BAD,     BAD);
+  TEST( "1M",     BAD,  1048576,  BAD, 1048576);
+//TEST("-1M",     BAD, -1048576,  BAD,     BAD);
+  
+  TEST( "010",      8,        8,    8,       8);
+  TEST( "010k",   BAD,     8000,  BAD,    8000);
+  TEST("-010",     -8,       -8,  BAD,     BAD);
+//TEST("-010k",   BAD,     8000,  BAD,     BAD);
+
+  TEST( "0x10",    16,       16,   16,      16);
+  TEST( "0x10k",  BAD,    16000,  BAD,   16000);
+  TEST("-0x10",   -16,      -16,  BAD,     BAD);
+//TEST("-0x10k",  BAD,   -16000,  BAD,     BAD);
+}
index fea5ddc..c2bb570 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: sigbus.c,v 1.3 2005/03/24 12:42:56 ensc Exp $    --*- c -*--
+// $Id: sigbus.c 2484 2007-02-04 17:17:02Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -33,7 +33,8 @@
 
 int wrapper_exit_code = 1;
 
-#define TEST_BLOCKSIZE 0x10000
+#define TEST_BLOCKSIZE         (sysconf(_SC_PAGESIZE)*2 + 0x10000)
+
 static bool                    is_gremlin = false;
 static int                     sync_p[2];
 
@@ -81,13 +82,12 @@ int main()
   char         f_name1[] = "/tmp/sigbus.XXXXXX";
   int          fd_src    = mkstemp(f_name0);
   int          fd_dst    = mkstemp(f_name1);
-  char         buf[TEST_BLOCKSIZE] = { [0] = '\0' };
+  char         buf[TEST_BLOCKSIZE];
   struct stat  st;
   bool         res;
-  
-  fd_src = 
-  
-  write(fd_src, buf, sizeof(buf));
+
+  memset(buf, 0, TEST_BLOCKSIZE);
+  write(fd_src, buf, TEST_BLOCKSIZE);
   close(fd_src);
   close(fd_dst);
 
index a789915..81102e5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify-copy.c,v 1.6 2005/03/24 12:42:16 ensc Exp $    --*- c -*--
+// $Id: unify-copy.c 2485 2007-02-04 17:18:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -83,6 +83,8 @@ static void
 copyMem(void *dst_v, void const *src_v, size_t len_v)
 {
 #if 1
+    // Do not use memcpy because this would dirty pages consisting only of
+    // '\0'
   int          *dst = dst_v;
   int const    *src = src_v;
   size_t       len  = len_v / sizeof(int);
@@ -119,9 +121,7 @@ copyMMap(int in_fd, int out_fd)
   bool   volatile      res      = false;
 
   if (in_len==-1) return false;
-  if (in_len>0 &&
-      (lseek(out_fd, in_len-1, SEEK_SET)==-1 ||
-       write(out_fd, "\0",     1)!=1))         // create sparse file
+  if (in_len>0 && ftruncate(out_fd, in_len)==-1)       // create sparse file
     return false;
   
   bus_error = 0;
@@ -164,7 +164,7 @@ copyReg(char const *src, struct stat const *src_stat,
        char const *dst)
 {
   int          in_fd  = open(src, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_NOFOLLOW|O_LARGEFILE);
-  int          out_fd = in_fd==-1 ? -1 : open(dst, O_RDWR|O_CREAT|O_EXCL, 0200);
+  int          out_fd = in_fd==-1 ? -1 : open(dst, O_RDWR|O_CREAT|O_EXCL|O_NOCTTY, 0200);
   bool         res    = false;
   
   if (in_fd==-1 || out_fd==-1 ||
index 3d03249..96b76a6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify-deunify.c,v 1.2 2004/02/18 04:48:24 ensc Exp $    --*- c -*--
+// $Id: unify-deunify.c 942 2004-02-18 04:48:24Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f66fc59..b221e61 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify-isiunlinkable.c,v 1.2 2005/03/18 00:22:06 ensc Exp $    --*- c -*--
+// $Id: unify-isiunlinkable.c 1917 2005-03-18 00:22:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 21ccc10..de5d87f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify-settime.c,v 1.2 2004/06/27 13:03:58 ensc Exp $    --*- c -*--
+// $Id: unify-settime.c 1595 2004-06-27 13:03:58Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e17b2fb..55e84f0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify-unify.c,v 1.9 2005/03/24 00:12:23 ensc Exp $    --*- c -*--
+// $Id: unify-unify.c 1973 2005-03-24 00:12:23Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 77ac6bd..8384fab 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify.h,v 1.5 2005/03/18 03:55:03 ensc Exp $    --*- c -*--
+// $Id: unify.h 2476 2007-01-27 10:05:58Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -46,14 +46,23 @@ Unify_isIUnlinkable(char const *filename) NONNULL((1));
   ((bool)((LHS)->st_dev ==(RHS)->st_dev  &&    \
          (LHS)->st_ino ==(RHS)->st_ino))
 
-#define Unify_isUnifyable(LHS, RHS)            \
+#define _Unify_isUnifyable(LHS, RHS)           \
   ((bool)((LHS)->st_dev  ==(RHS)->st_dev  &&   \
          (LHS)->st_ino  !=(RHS)->st_ino  &&    \
          (LHS)->st_mode ==(RHS)->st_mode &&    \
          (LHS)->st_uid  ==(RHS)->st_uid  &&    \
          (LHS)->st_gid  ==(RHS)->st_gid  &&    \
-         (LHS)->st_size ==(RHS)->st_size &&    \
-         (LHS)->st_mtime==(RHS)->st_mtime))
+         (LHS)->st_size ==(RHS)->st_size))
+#ifdef UTIL_VSERVER_UNIFY_MTIME_OPTIONAL
+#  define Unify_isUnifyable(LHS, RHS)          \
+    ((bool)(_Unify_isUnifyable(LHS, RHS)  &&   \
+           (global_args->ignore_mtime ||       \
+            (LHS)->st_mtime==(RHS)->st_mtime)))
+#else
+#  define Unify_isUnifyable(LHS, RHS)          \
+    ((bool)(_Unify_isUnifyable(LHS, RHS)  &&   \
+           (LHS)->st_mtime==(RHS)->st_mtime))
+#endif
   
 
 #endif //  H_UTIL_VSERVER_LIB_INTERNAL_UNIFY_H
index 48c9a7c..49fdaf7 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-canonify.c,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: util-canonify.c 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5d0ad97..ca8793e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-cast.h,v 1.1 2004/02/26 13:03:00 ensc Exp $    --*- c -*--
+// $Id: util-cast.h 1009 2004-02-26 13:07:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index acdcd56..f82da67 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-commonstrings.h,v 1.1 2004/02/26 13:03:00 ensc Exp $    --*- c -*--
+// $Id: util-commonstrings.h 1009 2004-02-26 13:07:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b7fc843..9d145b0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-debug.h,v 1.1 2004/04/14 23:22:13 ensc Exp $    --*- c -*--
+// $Id: util-debug.h 1452 2004-04-14 23:22:13Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f9d9af1..949ea7b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-declarecmd.h,v 1.1 2004/02/26 13:03:00 ensc Exp $    --*- c -*--
+// $Id: util-declarecmd.h 1009 2004-02-26 13:07:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 93f353f..cb01d83 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-dimof.h,v 1.1 2004/02/26 13:03:00 ensc Exp $    --*- c -*--
+// $Id: util-dimof.h 1009 2004-02-26 13:07:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 806a2a8..0344a98 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-dotfile.h,v 1.2 2004/03/18 06:06:07 ensc Exp $    --*- c -*--
+// $Id: util-dotfile.h 1307 2004-03-18 06:06:07Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c0c6944..120e638 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-exitlikeprocess.c,v 1.4 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: util-exitlikeprocess.c 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c4d93d0..da9a694 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-exitlikeprocess.h,v 1.3 2004/05/11 18:25:14 ensc Exp $    --*- c -*--
+// $Id: util-exitlikeprocess.h 1557 2004-05-11 18:25:14Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e1df657..061ba3d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-io.h,v 1.2 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: util-io.h 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2fea0e4..66e01fe 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-isnumber.c,v 1.1 2005/07/04 22:35:47 ensc Exp $    --*- c -*--
+// $Id: util-isnumber.c 2255 2006-01-22 11:23:47Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "util.h"
+#include "util-isnumber.hc"
+#include <limits.h>
 
-bool
-isNumber(char const *str, signed long *result)
+static inline bool
+checkConstraints(signed long val, unsigned int fac)
 {
-  char *       errptr;
-  signed long  val;
-
-  val = strtol(str, &errptr, 0);
-  if (*errptr!='\0' || errptr==str)
-    return false;
-  else {
-    if (result) *result = val;
-    return true;
-  }
+  if (val>0 && (signed long)(LONG_MAX/fac) <= val) return false;
+  if (val<0 && (signed long)(LONG_MIN/fac) >= val) return false;
+  return true;
 }
+
+ENSC_DECL_UTIL_ISNUMBER(isNumber, signed long, strtol)
diff --git a/lib_internal/util-isnumber.hc b/lib_internal/util-isnumber.hc
new file mode 100644 (file)
index 0000000..102e02d
--- /dev/null
@@ -0,0 +1,52 @@
+// $Id: util-isnumber.hc 2255 2006-01-22 11:23:47Z ensc $    --*- c -*--
+
+// Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#include <stdbool.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#define ENSC_DECL_UTIL_ISNUMBER(NAME,TYPE,FUNC)                        \
+  bool                                                         \
+  NAME(char const *str, TYPE *result, bool is_strict)          \
+  {                                                            \
+    char *             errptr;                                 \
+    TYPE               val;                                    \
+    unsigned int       fac = 1;                                \
+                                                               \
+    errno = 0;                                                 \
+    val   = FUNC(str, &errptr, 0);                             \
+    if (errno==ERANGE)                                         \
+      return false;                                            \
+    if (errptr!=str && !is_strict) {                           \
+      switch (*errptr) {                                       \
+       case 'M'        :  fac *= 1024; /* fallthrough */       \
+       case 'K'        :  fac *= 1024; ++errptr; break;        \
+       case 'm'        :  fac *= 1000; /* fallthrough */       \
+       case 'k'        :  fac *= 1000; ++errptr; break;        \
+       default :  break;                                       \
+      }                                                                \
+    }                                                          \
+    if (!checkConstraints(val,fac))                            \
+      return false;                                            \
+                                                               \
+    if (*errptr!='\0' || errptr==str)                          \
+      return false;                                            \
+    else {                                                     \
+      if (result) *result = val*fac;                           \
+      return true;                                             \
+    }                                                          \
+  }
diff --git a/lib_internal/util-isnumberunsigned.c b/lib_internal/util-isnumberunsigned.c
new file mode 100644 (file)
index 0000000..bdc034f
--- /dev/null
@@ -0,0 +1,35 @@
+// $Id: util-isnumberunsigned.c 2255 2006-01-22 11:23:47Z ensc $    --*- c -*--
+
+// Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "util.h"
+#include "util-isnumber.hc"
+#include <limits.h>
+
+static inline bool
+checkConstraints(unsigned long val, unsigned int fac)
+{
+  if ((long)(val)   <    0) return false;
+  if (ULONG_MAX/fac <= val) return false;
+  return true;
+}
+
+ENSC_DECL_UTIL_ISNUMBER(isNumberUnsigned, unsigned long, strtoul)
index be07329..963c3b8 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-lockfile.c,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: util-lockfile.c 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2431fac..d828dec 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-lockfile.h,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: util-lockfile.h 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index fc8a682..8b30d58 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-mem.h,v 1.3 2004/07/02 23:45:09 ensc Exp $    --*- c -*--
+// $Id: util-mem.h 1620 2004-07-02 23:45:09Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6704fc5..cd1be79 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-perror.h,v 1.2 2004/03/24 01:07:53 ensc Exp $    --*- c -*--
+// $Id: util-perror.h 1324 2004-03-24 01:07:53Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f7c4d97..a0c1991 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-safechdir.c,v 1.2 2004/02/19 22:25:50 ensc Exp $    --*- c -*--
+// $Id: util-safechdir.c 956 2004-02-19 22:25:50Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e30bbfa..541cc9d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-safechdir.h,v 1.1 2004/02/18 04:42:38 ensc Exp $    --*- c -*--
+// $Id: util-safechdir.h 934 2004-02-18 04:42:38Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9e4083c..a458a05 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-unixsock.h,v 1.1 2004/03/05 03:17:39 ensc Exp $    --*- c -*--
+// $Id: util-unixsock.h 2241 2006-01-04 12:27:02Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -19,9 +19,9 @@
 #ifndef H_UTIL_VSERVER_LIB_INTERNAL_UTIL_UNIXSOCK_H
 #define H_UTIL_VSERVER_LIB_INTERNAL_UTIL_UNIXSOCK_H
 
-#define ENSC_INIT_UNIX_SOCK(ADDR, FILENAME)                    \
-  (ADDR).sun_family = AF_UNIX;                                 \
-  strncpy((ADDR).sun_path, FILENAME, sizeof((ADDR).sun_path)); \
+#define ENSC_INIT_UNIX_SOCK(ADDR, FILENAME)                            \
+  (ADDR).sun_family = AF_UNIX;                                         \
+  strncpy((ADDR).sun_path, FILENAME, sizeof((ADDR).sun_path)-1);       \
   (ADDR).sun_path[sizeof((ADDR).sun_path)-1] = '\0';
 
 #endif //  H_UTIL_VSERVER_LIB_INTERNAL_UTIL_UNIXSOCK_H
index c49d1e2..0e49784 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util.h,v 1.6 2005/07/04 22:35:47 ensc Exp $    --*- c -*--
+// $Id: util.h 2255 2006-01-22 11:23:47Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -35,6 +35,7 @@
 
 bool           switchToWatchXid(char const **);
 size_t         canonifyVserverName(char *);
-bool           isNumber(char const *, signed long *result);
+bool           isNumber(char const *, signed long *result, bool is_strict);
+bool           isNumberUnsigned(char const *, unsigned long *result, bool is_strict);
 
 #endif //  H_UTILVSERVER_LIB_INTERNAL_UTIL_H
index 9be0eb1..0223495 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -43,13 +43,19 @@ EXIT_FAILURE=1
 
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION=1.5.16
-TIMESTAMP=" (1.1220.2.235 2005/04/25 18:13:26)"
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes.
-if test -n "${ZSH_VERSION+set}" ; then
+VERSION=1.5.22
+TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
+
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
 
 # Check that we have a working $echo.
@@ -88,14 +94,15 @@ rm="rm -f"
 Xsed="${SED}"' -e 1s/^X//'
 sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
 # test EBCDIC or ASCII
-case `echo A|tr A '\301'` in
- A) # EBCDIC based system
-  SP2NL="tr '\100' '\n'"
-  NL2SP="tr '\r\n' '\100\100'"
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  SP2NL='tr \040 \012'
+  NL2SP='tr \015\012 \040\040'
   ;;
- *) # Assume ASCII based system
-  SP2NL="tr '\040' '\012'"
-  NL2SP="tr '\015\012' '\040\040'"
+ *) # EBCDIC based system
+  SP2NL='tr \100 \n'
+  NL2SP='tr \r\n \100\100'
   ;;
 esac
 
@@ -104,12 +111,14 @@ esac
 # These must not be set unconditionally because not all systems understand
 # e.g. LANG=C (notably SCO).
 # We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
-  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
-  save_LANG="$LANG"; LANG=C; export LANG
-fi
+for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+  eval "if test \"\${$lt_var+set}\" = set; then
+         save_$lt_var=\$$lt_var
+         $lt_var=C
+         export $lt_var
+       fi"
+done
 
 # Make sure IFS has a sensible default
 lt_nl='
@@ -131,14 +140,54 @@ run=
 show="$echo"
 show_help=
 execute_dlfiles=
+duplicate_deps=no
+preserve_args=
 lo2o="s/\\.lo\$/.${objext}/"
 o2lo="s/\\.${objext}\$/.lo/"
-quote_scanset='[[~#^*{};<>?'"'"'       ]'
+extracted_archives=
+extracted_serial=0
 
 #####################################
 # Shell function definitions:
 # This seems to be the best place for them
 
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+       # Failing that, at least try and use $RANDOM to avoid a race
+       my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+       save_mktempdir_umask=`umask`
+       umask 0077
+       $mkdir "$my_tmpdir"
+       umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || {
+        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
+       exit $EXIT_FAILURE
+      }
+    fi
+
+    $echo "X$my_tmpdir" | $Xsed
+}
+
+
 # func_win32_libid arg
 # return the library type of file 'arg'
 #
@@ -157,12 +206,11 @@ func_win32_libid ()
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
       $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
       win32_nmres=`eval $NM -f posix -A $1 | \
-       sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'`
-      if test "X$win32_nmres" = "Ximport" ; then
-        win32_libid_type="x86 archive import"
-      else
-        win32_libid_type="x86 archive static"
-      fi
+       $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
     fi
     ;;
   *DLL*)
@@ -192,7 +240,7 @@ func_infer_tag ()
       CC_quoted=
       for arg in $CC; do
        case $arg in
-         *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
@@ -213,7 +261,7 @@ func_infer_tag ()
            for arg in $CC; do
            # Double-quote args containing other shell metacharacters.
            case $arg in
-             *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
              arg="\"$arg\""
              ;;
            esac
@@ -289,15 +337,25 @@ func_extract_archives ()
        *) my_xabs=`pwd`"/$my_xlib" ;;
       esac
       my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
-      my_xdir="$my_gentop/$my_xlib"
+      my_xlib_u=$my_xlib
+      while :; do
+        case " $extracted_archives " in
+       *" $my_xlib_u "*)
+         extracted_serial=`expr $extracted_serial + 1`
+         my_xlib_u=lt$extracted_serial-$my_xlib ;;
+       *) break ;;
+       esac
+      done
+      extracted_archives="$extracted_archives $my_xlib_u"
+      my_xdir="$my_gentop/$my_xlib_u"
 
       $show "${rm}r $my_xdir"
       $run ${rm}r "$my_xdir"
       $show "$mkdir $my_xdir"
       $run $mkdir "$my_xdir"
-      status=$?
-      if test "$status" -ne 0 && test ! -d "$my_xdir"; then
-       exit $status
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
+       exit $exit_status
       fi
       case $host in
       *-darwin*)
@@ -337,7 +395,7 @@ func_extract_archives ()
            func_extract_an_archive "$my_xdir" "$my_xabs"
          fi # $darwin_arches
        fi # $run
-      ;;
+       ;;
       *)
         func_extract_an_archive "$my_xdir" "$my_xabs"
         ;;
@@ -352,6 +410,8 @@ func_extract_archives ()
 # Darwin sucks
 eval std_shrext=\"$shrext_cmds\"
 
+disable_libs=no
+
 # Parse our command line options once, thoroughly.
 while test "$#" -gt 0
 do
@@ -468,7 +528,11 @@ do
     preserve_args="$preserve_args $arg"
     ;;
 
-  --tag) prevopt="--tag" prev=tag ;;
+  --tag)
+    prevopt="--tag"
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
   --tag=*)
     set tag "$optarg" ${1+"$@"}
     shift
@@ -500,6 +564,18 @@ if test -n "$prevopt"; then
   exit $EXIT_FAILURE
 fi
 
+case $disable_libs in
+no) 
+  ;;
+shared)
+  build_libtool_libs=no
+  build_old_libs=yes
+  ;;
+static)
+  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+  ;;
+esac
+
 # If this variable is set in any of the actions, the command in it
 # will be execed at the end.  This prevents here-documents from being
 # left over by shells.
@@ -576,7 +652,7 @@ if test -z "$show_help"; then
 
     for arg
     do
-      case "$arg_mode" in
+      case $arg_mode in
       arg  )
        # do not "continue".  Instead, add this to base_compile
        lastarg="$arg"
@@ -627,7 +703,7 @@ if test -z "$show_help"; then
            # Many Bourne shells cannot handle close brackets correctly
            # in scan sets, so we specify it separately.
            case $arg in
-             *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
              arg="\"$arg\""
              ;;
            esac
@@ -662,7 +738,7 @@ if test -z "$show_help"; then
       # in scan sets (worked around with variable expansion),
       # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
       # at all, so we specify them separately.
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        lastarg="\"$lastarg\""
        ;;
       esac
@@ -702,6 +778,7 @@ if test -z "$show_help"; then
     *.f90) xform=f90 ;;
     *.for) xform=for ;;
     *.java) xform=java ;;
+    *.obj) xform=obj ;;
     esac
 
     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
@@ -737,13 +814,12 @@ if test -z "$show_help"; then
 
     qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
     case $qlibobj in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        qlibobj="\"$qlibobj\"" ;;
     esac
-    if test "X$libobj" != "X$qlibobj"; then
-       $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
-       exit $EXIT_FAILURE
-    fi
+    test "X$libobj" != "X$qlibobj" \
+       && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"'  &()|`$[]' \
+       && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
     objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
     xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
     if test "X$xdir" = "X$obj"; then
@@ -824,7 +900,7 @@ compiler."
     fi
     qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
     case $qsrcfile in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
       qsrcfile="\"$qsrcfile\"" ;;
     esac
 
@@ -857,9 +933,9 @@ EOF
       if test ! -d "${xdir}$objdir"; then
        $show "$mkdir ${xdir}$objdir"
        $run $mkdir ${xdir}$objdir
-       status=$?
-       if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then
-         exit $status
+       exit_status=$?
+       if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
+         exit $exit_status
        fi
       fi
 
@@ -1062,6 +1138,7 @@ EOF
     no_install=no
     objs=
     non_pic_objects=
+    notinst_path= # paths that contain not-installed libtool libraries
     precious_files_regex=
     prefer_static_libs=no
     preload=no
@@ -1082,22 +1159,32 @@ EOF
     for arg
     do
       case $arg in
-      -all-static | -static)
-       if test "X$arg" = "X-all-static"; then
+      -all-static | -static | -static-libtool-libs)
+    case $arg in
+    -all-static)
          if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
            $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
          fi
          if test -n "$link_static_flag"; then
            dlopen_self=$dlopen_self_static
          fi
-       else
+         prefer_static_libs=yes
+         ;;
+    -static)
          if test -z "$pic_flag" && test -n "$link_static_flag"; then
            dlopen_self=$dlopen_self_static
          fi
-       fi
+         prefer_static_libs=built
+         ;;
+    -static-libtool-libs)
+      if test -z "$pic_flag" && test -n "$link_static_flag"; then
+        dlopen_self=$dlopen_self_static
+      fi
+      prefer_static_libs=yes
+      ;;
+    esac
        build_libtool_libs=no
        build_old_libs=yes
-       prefer_static_libs=yes
        break
        ;;
       esac
@@ -1111,7 +1198,7 @@ EOF
       arg="$1"
       shift
       case $arg in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
        ;;
       *) qarg=$arg ;;
@@ -1272,6 +1359,11 @@ EOF
                  if test -z "$pic_object" || test "$pic_object" = none ; then
                    arg="$non_pic_object"
                  fi
+               else
+                 # If the PIC object exists, use it instead.
+                 # $xdir was prepended to $pic_object above.
+                 non_pic_object="$pic_object"
+                 non_pic_objects="$non_pic_objects $non_pic_object"
                fi
              else
                # Only an error if not doing a dry-run.
@@ -1355,8 +1447,10 @@ EOF
          prev=
          continue
          ;;
-        darwin_framework)
-         compiler_flags="$compiler_flags $arg"
+       darwin_framework|darwin_framework_skip)
+         test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
+         compile_command="$compile_command $arg"
+         finalize_command="$finalize_command $arg"
          prev=
          continue
          ;;
@@ -1418,11 +1512,17 @@ EOF
        continue
        ;;
 
-      -framework)
-        prev=darwin_framework
-        compiler_flags="$compiler_flags $arg"
-        continue
-        ;;
+      -framework|-arch|-isysroot)
+       case " $CC " in
+         *" ${arg} ${1} "* | *" ${arg} ${1} "*) 
+               prev=darwin_framework_skip ;;
+         *) compiler_flags="$compiler_flags $arg"
+            prev=darwin_framework ;;
+       esac
+       compile_command="$compile_command $arg"
+       finalize_command="$finalize_command $arg"
+       continue
+       ;;
 
       -inst-prefix-dir)
        prev=inst_prefix
@@ -1450,7 +1550,8 @@ EOF
          absdir=`cd "$dir" && pwd`
          if test -z "$absdir"; then
            $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
-           exit $EXIT_FAILURE
+           absdir="$dir"
+           notinst_path="$notinst_path $dir"
          fi
          dir="$absdir"
          ;;
@@ -1464,10 +1565,15 @@ EOF
        esac
        case $host in
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+         testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
          case :$dllsearchpath: in
          *":$dir:"*) ;;
          *) dllsearchpath="$dllsearchpath:$dir";;
          esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         *) dllsearchpath="$dllsearchpath:$testbindir";;
+         esac
          ;;
        esac
        continue
@@ -1476,11 +1582,11 @@ EOF
       -l*)
        if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
          case $host in
-         *-*-cygwin* | *-*-pw32* | *-*-beos*)
+         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
            # These systems don't actually have a C or math library (as such)
            continue
            ;;
-         *-*-mingw* | *-*-os2*)
+         *-*-os2*)
            # These systems don't actually have a C library (as such)
            test "X$arg" = "X-lc" && continue
            ;;
@@ -1492,6 +1598,15 @@ EOF
            # Rhapsody C and math libraries are in the System framework
            deplibs="$deplibs -framework System"
            continue
+           ;;
+         *-*-sco3.2v5* | *-*-sco5v6*)
+           # Causes problems with __ctype
+           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+           # Compiler inserts libc in the correct place for threads to work
+           test "X$arg" = "X-lc" && continue
+           ;;
          esac
        elif test "X$arg" = "X-lc_r"; then
         case $host in
@@ -1533,21 +1648,24 @@ EOF
       # +DA*, +DD* enable 64-bit mode on the HP compiler
       # -q* pass through compiler args for the IBM compiler
       # -m* pass through architecture-specific compiler args for GCC
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*)
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -pg pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
+      -t[45]*|-txscale*|@*)
 
        # Unknown arguments in both finalize_command and compile_command need
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
         compile_command="$compile_command $arg"
         finalize_command="$finalize_command $arg"
-        if test "$with_gcc" = "yes" ; then
-          compiler_flags="$compiler_flags $arg"
-        fi
+        compiler_flags="$compiler_flags $arg"
         continue
         ;;
 
@@ -1624,7 +1742,7 @@ EOF
        continue
        ;;
 
-      -static)
+      -static | -static-libtool-libs)
        # The effects of -static are defined in a previous loop.
        # We used to do the same as -all-static on platforms that
        # didn't have a PIC flag, but the assumption that the effects
@@ -1655,7 +1773,7 @@ EOF
        for flag in $args; do
          IFS="$save_ifs"
          case $flag in
-           *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
            flag="\"$flag\""
            ;;
          esac
@@ -1673,7 +1791,7 @@ EOF
        for flag in $args; do
          IFS="$save_ifs"
          case $flag in
-           *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
            flag="\"$flag\""
            ;;
          esac
@@ -1706,7 +1824,7 @@ EOF
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
@@ -1785,6 +1903,11 @@ EOF
            if test -z "$pic_object" || test "$pic_object" = none ; then
              arg="$non_pic_object"
            fi
+         else
+           # If the PIC object exists, use it instead.
+           # $xdir was prepended to $pic_object above.
+           non_pic_object="$pic_object"
+           non_pic_objects="$non_pic_objects $non_pic_object"
          fi
        else
          # Only an error if not doing a dry-run.
@@ -1840,7 +1963,7 @@ EOF
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
@@ -1890,9 +2013,9 @@ EOF
     if test ! -d "$output_objdir"; then
       $show "$mkdir $output_objdir"
       $run $mkdir $output_objdir
-      status=$?
-      if test "$status" -ne 0 && test ! -d "$output_objdir"; then
-       exit $status
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
+       exit $exit_status
       fi
     fi
 
@@ -1955,7 +2078,6 @@ EOF
     newlib_search_path=
     need_relink=no # whether we're linking any uninstalled libtool libraries
     notinst_deplibs= # not-installed libtool libraries
-    notinst_path= # paths that contain not-installed libtool libraries
     case $linkmode in
     lib)
        passes="conv link"
@@ -2191,7 +2313,7 @@ EOF
        esac # case $deplib
        if test "$found" = yes || test -f "$lib"; then :
        else
-         $echo "$modename: cannot find the library \`$lib'" 1>&2
+         $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
          exit $EXIT_FAILURE
        fi
 
@@ -2398,14 +2520,16 @@ EOF
 
        if test "$linkmode,$pass" = "prog,link"; then
          if test -n "$library_names" &&
-            { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+         { { test "$prefer_static_libs" = no ||
+             test "$prefer_static_libs,$installed" = "built,yes"; } ||
+           test -z "$old_library"; }; then
            # We need to hardcode the library path
            if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
              # Make sure the rpath contains only unique directories.
              case "$temp_rpath " in
              *" $dir "*) ;;
              *" $absdir "*) ;;
-             *) temp_rpath="$temp_rpath $dir" ;;
+             *) temp_rpath="$temp_rpath $absdir" ;;
              esac
            fi
 
@@ -2442,8 +2566,12 @@ EOF
        fi
 
        link_static=no # Whether the deplib will be linked statically
+       use_static_libs=$prefer_static_libs
+       if test "$use_static_libs" = built && test "$installed" = yes ; then
+         use_static_libs=no
+       fi
        if test -n "$library_names" &&
-          { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+          { test "$use_static_libs" = no || test -z "$old_library"; }; then
          if test "$installed" = no; then
            notinst_deplibs="$notinst_deplibs $lib"
            need_relink=yes
@@ -2556,11 +2684,15 @@ EOF
              if test "$hardcode_direct" = no; then
                add="$dir/$linklib"
                case $host in
-                 *-*-sco3.2v5* ) add_dir="-L$dir" ;;
+                 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+                 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+                 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+                   *-*-unixware7*) add_dir="-L$dir" ;;
                  *-*-darwin* )
                    # if the lib is a module then we can not link against
                    # it, someone is ignoring the new warnings I added
-                   if /usr/bin/file -L $add 2> /dev/null | $EGREP "bundle" >/dev/null ; then
+                   if /usr/bin/file -L $add 2> /dev/null |
+                      $EGREP ": [^:]* bundle" >/dev/null ; then
                      $echo "** Warning, lib $linklib is a module, not a shared library"
                      if test -z "$old_library" ; then
                        $echo
@@ -2591,7 +2723,7 @@ EOF
                add_dir="-L$dir"
                # Try looking first in the location we're being installed to.
                if test -n "$inst_prefix_dir"; then
-                 case "$libdir" in
+                 case $libdir in
                    [\\/]*)
                      add_dir="$add_dir -L$inst_prefix_dir$libdir"
                      ;;
@@ -2664,7 +2796,7 @@ EOF
              add_dir="-L$libdir"
              # Try looking first in the location we're being installed to.
              if test -n "$inst_prefix_dir"; then
-               case "$libdir" in
+               case $libdir in
                  [\\/]*)
                    add_dir="$add_dir -L$inst_prefix_dir$libdir"
                    ;;
@@ -2725,8 +2857,6 @@ EOF
              fi
            fi
          else
-           convenience="$convenience $dir/$old_library"
-           old_convenience="$old_convenience $dir/$old_library"
            deplibs="$dir/$old_library $deplibs"
            link_static=yes
          fi
@@ -3088,7 +3218,7 @@ EOF
          # which has an extra 1 added just for fun
          #
          case $version_type in
-         darwin|linux|osf|windows)
+         darwin|linux|osf|windows|none)
            current=`expr $number_major + $number_minor`
            age="$number_minor"
            revision="$number_revision"
@@ -3312,11 +3442,11 @@ EOF
       fi
 
       # Eliminate all temporary directories.
-      for path in $notinst_path; do
-       lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
-       deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
-       dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
-      done
+#      for path in $notinst_path; do
+#      lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+#      deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+#      dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+#      done
 
       if test -n "$xrpath"; then
        # If the user specified any rpath flags, then add them.
@@ -3368,7 +3498,12 @@ EOF
            ;;
          *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
            # Do not include libc due to us having libc/libc_r.
-           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-sco3.2v5* | *-*-sco5v6*)
+           # Causes problems with __ctype
+           ;;
+         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+           # Compiler inserts libc in the correct place for threads to work
            ;;
          *)
            # Add libc to deplibs on all other systems if necessary.
@@ -3412,13 +3547,12 @@ EOF
          int main() { return 0; }
 EOF
          $rm conftest
-         $LTCC -o conftest conftest.c $deplibs
-         if test "$?" -eq 0 ; then
+      if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
            ldd_output=`ldd conftest`
            for i in $deplibs; do
-             name="`expr $i : '-l\(.*\)'`"
+             name=`expr $i : '-l\(.*\)'`
              # If $name is empty we are operating on a -L argument.
-              if test "$name" != "" && test "$name" -ne "0"; then
+              if test "$name" != "" && test "$name" != "0"; then
                if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
                  case " $predeps $postdeps " in
                  *" $i "*)
@@ -3453,13 +3587,11 @@ EOF
            # Error occurred in the first compile.  Let's try to salvage
            # the situation: Compile a separate program for each library.
            for i in $deplibs; do
-             name="`expr $i : '-l\(.*\)'`"
+             name=`expr $i : '-l\(.*\)'`
              # If $name is empty we are operating on a -L argument.
               if test "$name" != "" && test "$name" != "0"; then
                $rm conftest
-               $LTCC -o conftest conftest.c $i
-               # Did it work?
-               if test "$?" -eq 0 ; then
+               if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
                  ldd_output=`ldd conftest`
                  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
                    case " $predeps $postdeps " in
@@ -3491,7 +3623,7 @@ EOF
                  droppeddeps=yes
                  $echo
                  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
-                 $echo "***  make it link in!  You will probably need to install it or some"
+                 $echo "*** make it link in!  You will probably need to install it or some"
                  $echo "*** library that it depends on before this library will be fully"
                  $echo "*** functional.  Installing it before continuing would be even better."
                fi
@@ -3505,7 +3637,7 @@ EOF
          set dummy $deplibs_check_method
          file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
          for a_deplib in $deplibs; do
-           name="`expr $a_deplib : '-l\(.*\)'`"
+           name=`expr $a_deplib : '-l\(.*\)'`
            # If $name is empty we are operating on a -L argument.
             if test "$name" != "" && test  "$name" != "0"; then
              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@ -3574,7 +3706,7 @@ EOF
          set dummy $deplibs_check_method
          match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
          for a_deplib in $deplibs; do
-           name="`expr $a_deplib : '-l\(.*\)'`"
+           name=`expr $a_deplib : '-l\(.*\)'`
            # If $name is empty we are operating on a -L argument.
            if test -n "$name" && test "$name" != "0"; then
              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@ -3704,6 +3836,35 @@ EOF
        deplibs=$newdeplibs
       fi
 
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+       case " $new_libs " in
+       *" -L$path/$objdir "*) ;;
+       *)
+         case " $deplibs " in
+         *" -L$path/$objdir "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$new_libs $deplib" ;;
+       esac
+      done
+      deplibs="$new_libs"
+
+
       # All the library-specific variables (install_libdir is set above).
       library_names=
       old_library=
@@ -3787,6 +3948,7 @@ EOF
        fi
 
        lib="$output_objdir/$realname"
+       linknames=
        for link
        do
          linknames="$linknames $link"
@@ -3815,6 +3977,9 @@ EOF
                # The command line is too long to execute in one step.
                $show "using reloadable object file for export list..."
                skipped_export=:
+               # Break out early, otherwise skipped_export may be
+               # set to false by a later but shorter cmd.
+               break
              fi
            done
            IFS="$save_ifs"
@@ -3884,7 +4049,8 @@ EOF
          fi
        fi
 
-       if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*"` &&
+       if test "X$skipped_export" != "X:" &&
+          len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
           test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
          :
        else
@@ -3919,7 +4085,7 @@ EOF
          do
            eval test_cmds=\"$reload_cmds $objlist $last_robj\"
            if test "X$objlist" = X ||
-              { len=`expr "X$test_cmds" : ".*"` &&
+              { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
                 test "$len" -le "$max_cmd_len"; }; then
              objlist="$objlist $obj"
            else
@@ -4009,13 +4175,30 @@ EOF
          IFS="$save_ifs"
          eval cmd=\"$cmd\"
          $show "$cmd"
-         $run eval "$cmd" || exit $?
+         $run eval "$cmd" || {
+           lt_exit=$?
+
+           # Restore the uninstalled library and exit
+           if test "$mode" = relink; then
+             $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+           fi
+
+           exit $lt_exit
+         }
        done
        IFS="$save_ifs"
 
        # Restore the uninstalled library and exit
        if test "$mode" = relink; then
          $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+
+         if test -n "$convenience"; then
+           if test -z "$whole_archive_flag_spec"; then
+             $show "${rm}r $gentop"
+             $run ${rm}r "$gentop"
+           fi
+         fi
+
          exit $EXIT_SUCCESS
        fi
 
@@ -4085,12 +4268,14 @@ EOF
       reload_conv_objs=
       gentop=
       # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec
+      # -Wl from whole_archive_flag_spec and hope we can get by with
+      # turning comma into space..
       wl=
 
       if test -n "$convenience"; then
        if test -n "$whole_archive_flag_spec"; then
-         eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+         eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+      reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
        else
          gentop="$output_objdir/${obj}x"
          generated="$generated $gentop"
@@ -4197,6 +4382,35 @@ EOF
         ;;
       esac
 
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+       case " $new_libs " in
+       *" -L$path/$objdir "*) ;;
+       *)
+         case " $compile_deplibs " in
+         *" -L$path/$objdir "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $compile_deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$new_libs $deplib" ;;
+       esac
+      done
+      compile_deplibs="$new_libs"
+
+
       compile_command="$compile_command $compile_deplibs"
       finalize_command="$finalize_command $finalize_deplibs"
 
@@ -4241,10 +4455,15 @@ EOF
        fi
        case $host in
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+         testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
          case :$dllsearchpath: in
          *":$libdir:"*) ;;
          *) dllsearchpath="$dllsearchpath:$libdir";;
          esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         *) dllsearchpath="$dllsearchpath:$testbindir";;
+         esac
          ;;
        esac
       done
@@ -4360,11 +4579,23 @@ extern \"C\" {
            if test -z "$export_symbols"; then
              export_symbols="$output_objdir/$outputname.exp"
              $run $rm $export_symbols
-             $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+             $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+              case $host in
+              *cygwin* | *mingw* )
+               $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+               $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
            else
-             $run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+             $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
              $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
              $run eval 'mv "$nlist"T "$nlist"'
+              case $host in
+              *cygwin* | *mingw* )
+               $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+               $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
            fi
          fi
 
@@ -4481,16 +4712,29 @@ static const void *lt_preloaded_setup() {
          esac
 
          # Now compile the dynamic symbol file.
-         $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
-         $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+         $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+         $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
 
          # Clean up the generated files.
          $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
          $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
 
          # Transform the symbol file into the correct name.
-         compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-         finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+          case $host in
+          *cygwin* | *mingw* )
+            if test -f "$output_objdir/${outputname}.def" ; then
+              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+            else
+              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+             fi
+            ;;
+          * )
+            compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+            finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+            ;;
+          esac
          ;;
        *)
          $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
@@ -4503,19 +4747,19 @@ static const void *lt_preloaded_setup() {
        # really was required.
 
        # Nullify the symbol file.
-       compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-       finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+       compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+       finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
       fi
 
       if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
        # Replace the output file specification.
-       compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+       compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
        link_command="$compile_command$compile_rpath"
 
        # We have no uninstalled library dependencies, so finalize right now.
        $show "$link_command"
        $run eval "$link_command"
-       status=$?
+       exit_status=$?
 
        # Delete the generated files.
        if test -n "$dlsyms"; then
@@ -4523,7 +4767,7 @@ static const void *lt_preloaded_setup() {
          $run $rm "$output_objdir/${outputname}S.${objext}"
        fi
 
-       exit $status
+       exit $exit_status
       fi
 
       if test -n "$shlibpath_var"; then
@@ -4596,7 +4840,7 @@ static const void *lt_preloaded_setup() {
        if test "$fast_install" != no; then
          link_command="$finalize_var$compile_command$finalize_rpath"
          if test "$fast_install" = yes; then
-           relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+           relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
          else
            # fast_install is set to needless
            relink_command=
@@ -4633,7 +4877,7 @@ static const void *lt_preloaded_setup() {
          fi
        done
        relink_command="(cd `pwd`; $relink_command)"
-       relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+       relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
       fi
 
       # Quote $echo for shipping.
@@ -4663,10 +4907,12 @@ static const void *lt_preloaded_setup() {
        esac
        case $host in
          *cygwin* | *mingw* )
-           cwrappersource=`$echo ${objdir}/lt-${outputname}.c`
-           cwrapper=`$echo ${output}.exe`
-           $rm $cwrappersource $cwrapper
-           trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+            output_name=`basename $output`
+            output_path=`dirname $output`
+            cwrappersource="$output_path/$objdir/lt-$output_name.c"
+            cwrapper="$output_path/$output_name.exe"
+            $rm $cwrappersource $cwrapper
+            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
 
            cat > $cwrappersource <<EOF
 
@@ -4691,6 +4937,9 @@ EOF
 #include <malloc.h>
 #include <stdarg.h>
 #include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
 
 #if defined(PATH_MAX)
 # define LT_PATHMAX PATH_MAX
@@ -4701,15 +4950,19 @@ EOF
 #endif
 
 #ifndef DIR_SEPARATOR
-#define DIR_SEPARATOR '/'
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
 #endif
 
 #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
   defined (__OS2__)
-#define HAVE_DOS_BASED_FILE_SYSTEM
-#ifndef DIR_SEPARATOR_2
-#define DIR_SEPARATOR_2 '\\'
-#endif
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
 #endif
 
 #ifndef DIR_SEPARATOR_2
@@ -4719,17 +4972,32 @@ EOF
         (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
 #endif /* DIR_SEPARATOR_2 */
 
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
 #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
 #define XFREE(stale) do { \
   if (stale) { free ((void *) stale); stale = 0; } \
 } while (0)
 
+/* -DDEBUG is fairly common in CFLAGS.  */
+#undef DEBUG
+#if defined DEBUGWRAPPER
+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
+#else
+# define DEBUG(format, ...)
+#endif
+
 const char *program_name = NULL;
 
 void * xmalloc (size_t num);
 char * xstrdup (const char *string);
-char * basename (const char *name);
-char * fnqualify(const char *path);
+const char * base_name (const char *name);
+char * find_executable(const char *wrapper);
+int    check_executable(const char *path);
 char * strendzap(char *str, const char *pat);
 void lt_fatal (const char *message, ...);
 
@@ -4739,29 +5007,51 @@ main (int argc, char *argv[])
   char **newargz;
   int i;
 
-  program_name = (char *) xstrdup ((char *) basename (argv[0]));
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  DEBUG("(main) argv[0]      : %s\n",argv[0]);
+  DEBUG("(main) program_name : %s\n",program_name);
   newargz = XMALLOC(char *, argc+2);
 EOF
 
-           cat >> $cwrappersource <<EOF
-  newargz[0] = "$SHELL";
+            cat >> $cwrappersource <<EOF
+  newargz[0] = (char *) xstrdup("$SHELL");
 EOF
 
-           cat >> $cwrappersource <<"EOF"
-  newargz[1] = fnqualify(argv[0]);
+            cat >> $cwrappersource <<"EOF"
+  newargz[1] = find_executable(argv[0]);
+  if (newargz[1] == NULL)
+    lt_fatal("Couldn't find %s", argv[0]);
+  DEBUG("(main) found exe at : %s\n",newargz[1]);
   /* we know the script has the same name, without the .exe */
   /* so make sure newargz[1] doesn't end in .exe */
   strendzap(newargz[1],".exe");
   for (i = 1; i < argc; i++)
     newargz[i+1] = xstrdup(argv[i]);
   newargz[argc+1] = NULL;
+
+  for (i=0; i<argc+1; i++)
+  {
+    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
+    ;
+  }
+
 EOF
 
-           cat >> $cwrappersource <<EOF
+            case $host_os in
+              mingw*)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",(char const **)newargz);
+EOF
+              ;;
+              *)
+                cat >> $cwrappersource <<EOF
   execv("$SHELL",newargz);
 EOF
+              ;;
+            esac
 
-           cat >> $cwrappersource <<"EOF"
+            cat >> $cwrappersource <<"EOF"
+  return 127;
 }
 
 void *
@@ -4781,48 +5071,148 @@ xstrdup (const char *string)
 ;
 }
 
-char *
-basename (const char *name)
+const char *
+base_name (const char *name)
 {
   const char *base;
 
 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
   /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha (name[0]) && name[1] == ':')
+  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
     name += 2;
 #endif
 
   for (base = name; *name; name++)
     if (IS_DIR_SEPARATOR (*name))
       base = name + 1;
-  return (char *) base;
+  return base;
 }
 
+int
+check_executable(const char * path)
+{
+  struct stat st;
+
+  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0) &&
+      (
+        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
+#if defined (S_IXOTH)
+       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
+#endif
+#if defined (S_IXGRP)
+       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
+#endif
+       ((st.st_mode & S_IXUSR) == S_IXUSR))
+      )
+    return 1;
+  else
+    return 0;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise */
 char *
-fnqualify(const char *path)
+find_executable (const char* wrapper)
 {
-  size_t size;
-  char *p;
+  int has_slash = 0;
+  const char* p;
+  const char* p_next;
+  /* static buffer for getcwd */
   char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char* concat_name;
+
+  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
 
-  assert(path != NULL);
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
 
-  /* Is it qualified already? */
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
+  {
+    concat_name = xstrdup (wrapper);
+    if (check_executable(concat_name))
+      return concat_name;
+    XFREE(concat_name);
+  }
+  else
+  {
+#endif
+    if (IS_DIR_SEPARATOR (wrapper[0]))
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable(concat_name))
+        return concat_name;
+      XFREE(concat_name);
+    }
 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  if (isalpha (path[0]) && path[1] == ':')
-    return xstrdup (path);
+  }
 #endif
-  if (IS_DIR_SEPARATOR (path[0]))
-    return xstrdup (path);
 
-  /* prepend the current directory */
-  /* doesn't handle '~' */
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+    {
+      has_slash = 1;
+      break;
+    }
+  if (!has_slash)
+  {
+    /* no slashes; search PATH */
+    const char* path = getenv ("PATH");
+    if (path != NULL)
+    {
+      for (p = path; *p; p = p_next)
+      {
+        const char* q;
+        size_t p_len;
+        for (q = p; *q; q++)
+          if (IS_PATH_SEPARATOR(*q))
+            break;
+        p_len = q - p;
+        p_next = (*q == '\0' ? q : q + 1);
+        if (p_len == 0)
+        {
+          /* empty path: current directory */
+          if (getcwd (tmp, LT_PATHMAX) == NULL)
+            lt_fatal ("getcwd failed");
+          tmp_len = strlen(tmp);
+          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, tmp, tmp_len);
+          concat_name[tmp_len] = '/';
+          strcpy (concat_name + tmp_len + 1, wrapper);
+        }
+        else
+        {
+          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, p, p_len);
+          concat_name[p_len] = '/';
+          strcpy (concat_name + p_len + 1, wrapper);
+        }
+        if (check_executable(concat_name))
+          return concat_name;
+        XFREE(concat_name);
+      }
+    }
+    /* not found in PATH; assume curdir */
+  }
+  /* Relative path | not found in path: prepend cwd */
   if (getcwd (tmp, LT_PATHMAX) == NULL)
     lt_fatal ("getcwd failed");
-  size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */
-  p = XMALLOC(char, size);
-  sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path);
-  return p;
+  tmp_len = strlen(tmp);
+  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable(concat_name))
+    return concat_name;
+  XFREE(concat_name);
+  return NULL;
 }
 
 char *
@@ -4866,16 +5256,16 @@ lt_fatal (const char *message, ...)
   va_end (ap);
 }
 EOF
-         # we should really use a build-platform specific compiler
-         # here, but OTOH, the wrappers (shell script and this C one)
-         # are only useful if you want to execute the "real" binary.
-         # Since the "real" binary is built for $host, then this
-         # wrapper might as well be built for $host, too.
-         $run $LTCC -s -o $cwrapper $cwrappersource
-         ;;
-       esac
-       $rm $output
-       trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+          # we should really use a build-platform specific compiler
+          # here, but OTOH, the wrappers (shell script and this C one)
+          # are only useful if you want to execute the "real" binary.
+          # Since the "real" binary is built for $host, then this
+          # wrapper might as well be built for $host, too.
+          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
+          ;;
+        esac
+        $rm $output
+        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
 
        $echo > $output "\
 #! $SHELL
@@ -4894,6 +5284,18 @@ EOF
 Xsed='${SED} -e 1s/^X//'
 sed_quote_subst='$sed_quote_subst'
 
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
@@ -5025,23 +5427,23 @@ else
        # Backslashes separate directories on plain windows
        *-*-mingw | *-*-os2*)
          $echo >> $output "\
-      exec \$progdir\\\\\$program \${1+\"\$@\"}
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
 "
          ;;
 
        *)
          $echo >> $output "\
-      exec \$progdir/\$program \${1+\"\$@\"}
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
 "
          ;;
        esac
        $echo >> $output "\
-      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      \$echo \"\$0: cannot exec \$program \$*\"
       exit $EXIT_FAILURE
     fi
   else
     # The program doesn't exist.
-    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
+    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
     \$echo \"This script is just a wrapper for \$program.\" 1>&2
     $echo \"See the $PACKAGE documentation for more information.\" 1>&2
     exit $EXIT_FAILURE
@@ -5105,9 +5507,9 @@ fi\
            $run ${rm}r "$gentop"
            $show "$mkdir $gentop"
            $run $mkdir "$gentop"
-           status=$?
-           if test "$status" -ne 0 && test ! -d "$gentop"; then
-             exit $status
+           exit_status=$?
+           if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
+             exit $exit_status
            fi
          fi
 
@@ -5164,7 +5566,7 @@ fi\
            oldobjs="$objlist $obj"
            objlist="$objlist $obj"
            eval test_cmds=\"$old_archive_cmds\"
-           if len=`expr "X$test_cmds" : ".*"` &&
+           if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
               test "$len" -le "$max_cmd_len"; then
              :
            else
@@ -5222,7 +5624,7 @@ fi\
       done
       # Quote the link command for shipping.
       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
       if test "$hardcode_automatic" = yes ; then
        relink_command=
       fi
@@ -5361,11 +5763,11 @@ relink_command=\"$relink_command\""
     # install_prog (especially on Windows NT).
     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
        # Allow the use of GNU shtool's install command.
-       $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
+       $echo "X$nonopt" | grep shtool > /dev/null; then
       # Aesthetically quote it.
       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
       case $arg in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        arg="\"$arg\""
        ;;
       esac
@@ -5374,14 +5776,14 @@ relink_command=\"$relink_command\""
       shift
     else
       install_prog=
-      arg="$nonopt"
+      arg=$nonopt
     fi
 
     # The real first argument should be the name of the installation program.
     # Aesthetically quote it.
     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
     case $arg in
-    *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \      ]*|*]*|"")
       arg="\"$arg\""
       ;;
     esac
@@ -5399,28 +5801,31 @@ relink_command=\"$relink_command\""
     do
       if test -n "$dest"; then
        files="$files $dest"
-       dest="$arg"
+       dest=$arg
        continue
       fi
 
       case $arg in
       -d) isdir=yes ;;
-      -f) prev="-f" ;;
-      -g) prev="-g" ;;
-      -m) prev="-m" ;;
-      -o) prev="-o" ;;
+      -f) 
+       case " $install_prog " in
+       *[\\\ /]cp\ *) ;;
+       *) prev=$arg ;;
+       esac
+       ;;
+      -g | -m | -o) prev=$arg ;;
       -s)
        stripme=" -s"
        continue
        ;;
-      -*) ;;
-
+      -*)
+       ;;
       *)
        # If the previous option needed an argument, then skip it.
        if test -n "$prev"; then
          prev=
        else
-         dest="$arg"
+         dest=$arg
          continue
        fi
        ;;
@@ -5429,7 +5834,7 @@ relink_command=\"$relink_command\""
       # Aesthetically quote the argument.
       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
       case $arg in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        arg="\"$arg\""
        ;;
       esac
@@ -5564,9 +5969,9 @@ relink_command=\"$relink_command\""
 
          if test -n "$inst_prefix_dir"; then
            # Stick the inst_prefix_dir data into the link command.
-           relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+           relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
          else
-           relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+           relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
          fi
 
          $echo "$modename: warning: relinking \`$file'" 1>&2
@@ -5598,11 +6003,14 @@ relink_command=\"$relink_command\""
 
          if test "$#" -gt 0; then
            # Delete the old symlinks, and create new ones.
+           # Try `ln -sf' first, because the `ln' binary might depend on
+           # the symlink we replace!  Solaris /bin/ln does not understand -f,
+           # so we also need to try rm && ln -s.
            for linkname
            do
              if test "$linkname" != "$realname"; then
-               $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
-               $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
+                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
              fi
            done
          fi
@@ -5615,7 +6023,16 @@ relink_command=\"$relink_command\""
            IFS="$save_ifs"
            eval cmd=\"$cmd\"
            $show "$cmd"
-           $run eval "$cmd" || exit $?
+           $run eval "$cmd" || {
+             lt_exit=$?
+
+             # Restore the uninstalled library and exit
+             if test "$mode" = relink; then
+               $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+             fi
+
+             exit $lt_exit
+           }
          done
          IFS="$save_ifs"
        fi
@@ -5709,17 +6126,15 @@ relink_command=\"$relink_command\""
          notinst_deplibs=
          relink_command=
 
-         # To insure that "foo" is sourced, and not "foo.exe",
-         # finese the cygwin/MSYS system by explicitly sourcing "foo."
-         # which disallows the automatic-append-.exe behavior.
-         case $build in
-         *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
-         *) wrapperdot=${wrapper} ;;
-         esac
+         # Note that it is not necessary on cygwin/mingw to append a dot to
+         # foo even if both foo and FILE.exe exist: automatic-append-.exe
+         # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+         # `FILE.' does not work on cygwin managed mounts.
+         #
          # If there is no directory component, then add one.
-         case $file in
-         */* | *\\*) . ${wrapperdot} ;;
-         *) . ./${wrapperdot} ;;
+         case $wrapper in
+         */* | *\\*) . ${wrapper} ;;
+         *) . ./${wrapper} ;;
          esac
 
          # Check the variables that should have been set.
@@ -5747,38 +6162,25 @@ relink_command=\"$relink_command\""
          done
 
          relink_command=
-         # To insure that "foo" is sourced, and not "foo.exe",
-         # finese the cygwin/MSYS system by explicitly sourcing "foo."
-         # which disallows the automatic-append-.exe behavior.
-         case $build in
-         *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
-         *) wrapperdot=${wrapper} ;;
-         esac
+         # Note that it is not necessary on cygwin/mingw to append a dot to
+         # foo even if both foo and FILE.exe exist: automatic-append-.exe
+         # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+         # `FILE.' does not work on cygwin managed mounts.
+         #
          # If there is no directory component, then add one.
-         case $file in
-         */* | *\\*) . ${wrapperdot} ;;
-         *) . ./${wrapperdot} ;;
+         case $wrapper in
+         */* | *\\*) . ${wrapper} ;;
+         *) . ./${wrapper} ;;
          esac
 
          outputname=
          if test "$fast_install" = no && test -n "$relink_command"; then
            if test "$finalize" = yes && test -z "$run"; then
-             tmpdir="/tmp"
-             test -n "$TMPDIR" && tmpdir="$TMPDIR"
-             tmpdir="$tmpdir/libtool-$$"
-             save_umask=`umask`
-             umask 0077
-             if $mkdir "$tmpdir"; then
-               umask $save_umask
-             else
-               umask $save_umask
-               $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
-               continue
-             fi
+             tmpdir=`func_mktempdir`
              file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
              outputname="$tmpdir/$file"
              # Replace the output file specification.
-             relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+             relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
 
              $show "$relink_command"
              if $run eval "$relink_command"; then :
@@ -5798,7 +6200,7 @@ relink_command=\"$relink_command\""
        fi
 
        # remove .exe since cygwin /usr/bin/install will append another
-       # one anyways
+       # one anyway 
        case $install_prog,$host in
        */usr/bin/install*,*cygwin*)
          case $file:$destfile in
@@ -5898,7 +6300,7 @@ relink_command=\"$relink_command\""
     # Exit here if they wanted silent mode.
     test "$show" = : && exit $EXIT_SUCCESS
 
-    $echo "----------------------------------------------------------------------"
+    $echo "X----------------------------------------------------------------------" | $Xsed
     $echo "Libraries have been installed in:"
     for libdir in $libdirs; do
       $echo "   $libdir"
@@ -5931,7 +6333,7 @@ relink_command=\"$relink_command\""
     $echo
     $echo "See any operating system documentation about shared libraries for"
     $echo "more information, such as the ld(1) and ld.so(8) manual pages."
-    $echo "----------------------------------------------------------------------"
+    $echo "X----------------------------------------------------------------------" | $Xsed
     exit $EXIT_SUCCESS
     ;;
 
@@ -6054,12 +6456,15 @@ relink_command=\"$relink_command\""
       fi
 
       # Restore saved environment variables
-      if test "${save_LC_ALL+set}" = set; then
-       LC_ALL="$save_LC_ALL"; export LC_ALL
-      fi
-      if test "${save_LANG+set}" = set; then
-       LANG="$save_LANG"; export LANG
-      fi
+      for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      do
+       eval "if test \"\${save_$lt_var+set}\" = set; then
+               $lt_var=\$save_$lt_var; export $lt_var
+             else
+               $lt_unset $lt_var
+             fi"
+      done
+
 
       # Now prepare to actually exec the command.
       exec_cmd="\$cmd$args"
@@ -6148,9 +6553,17 @@ relink_command=\"$relink_command\""
            rmfiles="$rmfiles $objdir/$n"
          done
          test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-         test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
 
-         if test "$mode" = uninstall; then
+         case "$mode" in
+         clean)
+           case "  $library_names " in
+           # "  " in the beginning catches empty $dlname
+           *" $dlname "*) ;;
+           *) rmfiles="$rmfiles $objdir/$dlname" ;;
+           esac
+            test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+           ;;
+         uninstall)
            if test -n "$library_names"; then
              # Do each command in the postuninstall commands.
              cmds=$postuninstall_cmds
@@ -6183,7 +6596,8 @@ relink_command=\"$relink_command\""
              IFS="$save_ifs"
            fi
            # FIXME: should reinstall the best remaining shared library.
-         fi
+           ;;
+         esac
        fi
        ;;
 
@@ -6407,9 +6821,9 @@ The following components of LINK-COMMAND are treated specially:
   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   -export-symbols SYMFILE
-                   try to export only the symbols listed in SYMFILE
+                    try to export only the symbols listed in SYMFILE
   -export-symbols-regex REGEX
-                   try to export only the symbols matching REGEX
+                    try to export only the symbols matching REGEX
   -LLIBDIR          search LIBDIR for required installed libraries
   -lNAME            OUTPUT-FILE requires the installed library libNAME
   -module           build a library that can dlopened
@@ -6423,9 +6837,11 @@ The following components of LINK-COMMAND are treated specially:
   -release RELEASE  specify package release information
   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -static           do not do any dynamic linking of libtool libraries
+  -static           do not do any dynamic linking of uninstalled libtool libraries
+  -static-libtool-libs
+                    do not do any dynamic linking of libtool libraries
   -version-info CURRENT[:REVISION[:AGE]]
-                   specify library version info [each variable defaults to 0]
+                    specify library version info [each variable defaults to 0]
 
 All other options (arguments beginning with \`-') are ignored.
 
@@ -6482,12 +6898,11 @@ exit $?
 # configuration.  But we'll never go from static-only to shared-only.
 
 # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
+disable_libs=shared
 # ### END LIBTOOL TAG CONFIG: disable-shared
 
 # ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
+disable_libs=static
 # ### END LIBTOOL TAG CONFIG: disable-static
 
 # Local Variables:
index 8ca6cbd..310de84 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: changelog.am,v 1.3 2003/10/13 19:50:09 ensc Exp $      ---*- makefile -*---
+## $Id: changelog.am 2333 2006-09-28 15:06:59Z dhozac $        ---*- makefile -*---
 
 ## Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
 ChangeLog.sed:
                                test "$(srcdir)" != "."
 
-if HAVE_CVS2CL
+if HAVE_SVN2CL
 ChangeLog:                     Makefile
-                               if test "$(srcdir)" = "." -a -d CVS; then       \
-                                       $(CVS2CL) $(CVS2CL_ALLFLAGS) -f $@;     \
+                               if test "$(srcdir)" = "." -a -d .svn; then      \
+                                       $(SVN2CL) $(SVN2CL_ALLFLAGS) -o $@;     \
                                fi
-else
-if HAVE_RCS2LOG
-ChangeLog:                     ChangeLog.sed Makefile
-                               if test "$(srcdir)" = "." -a -d CVS; then       \
-                                       $(RCS2LOG) -l 0 -c /dev/stdout | sed -f $< >$@; \
-                               fi
-endif
 endif
 
 .PHONY:        ChangeLog
index e1a8cab..926de9f 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_cflags.m4,v 1.3 2004/03/04 03:00:42 ensc Exp $
+dnl $Id: ensc_cflags.m4 1052 2004-03-04 03:00:42Z ensc $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 190b6cd..4269788 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_changelog.m4,v 1.2 2003/11/04 01:31:56 ensc Exp $
+dnl $Id: ensc_changelog.m4 2313 2006-09-15 08:31:53Z hollow $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -15,17 +15,10 @@ dnl You should have received a copy of the GNU General Public License
 dnl along with this program; if not, write to the Free Software
 dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-dnl Usage: ENSC_CHANGELOG(<CVS_TAG>)
+dnl Usage: ENSC_CHANGELOG()
 
 AC_DEFUN([ENSC_CHANGELOG],
 [
-       if test x"$1" != x; then
-               AC_SUBST(CVS2CL_TAG, ['-F $1'])
-       fi
-
-       AC_CHECK_PROGS(CVS2CL, [cvs2cl])
-       AM_CONDITIONAL(HAVE_CVS2CL,  [test x"$CVS2CL" != x])
-
-       AC_CHECK_PROGS(RCS2LOG, [rcs2log])
-       AM_CONDITIONAL(HAVE_RCS2LOG,  [test x"$RCS2LOG" != x])
+       AC_CHECK_PROGS(SVN2CL, [svn2cl])
+       AM_CONDITIONAL(HAVE_SVN2CL,  [test x"$SVN2CL" != x])
 ])
index 910bf4f..51c7a78 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_cxxcompiler.m4,v 1.3 2005/04/10 00:52:57 ensc Exp $
+dnl $Id: ensc_cxxcompiler.m4 2007 2005-04-10 00:52:57Z ensc $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 02d1647..ac0ae37 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_dietlibc.m4,v 1.15 2005/05/05 19:13:52 ensc Exp $
+dnl $Id: ensc_dietlibc.m4 2453 2007-01-17 09:54:53Z dhozac $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -51,6 +51,32 @@ AC_DEFUN([_ENSC_DIETLIBC_C99],
        fi
 ])
 
+AC_DEFUN([_ENSC_DIETLIBC_SYSCALL],
+[
+       AH_TEMPLATE([ENSC_DIETLIBC_HAS_SYSCALL], [Define to 1 if dietlibc declares syscall])
+
+       AC_CACHE_CHECK([whether dietlibc declares syscall], [ensc_cv_c_dietlibc_syscall],
+       [
+               _ensc_dietlibc_syscall_old_CC="$CC"
+               CC="${DIET:-diet} $CC"
+
+               AC_LANG_PUSH(C)
+               AC_COMPILE_IFELSE([
+                       #include <sys/syscall.h>
+                       long int syscall(long int __sysno, ...);
+               ],
+               [ensc_cv_c_dietlibc_syscall=no],
+               [ensc_cv_c_dietlibc_syscall=yes])
+               AC_LANG_POP
+
+               CC="$_ensc_dietlibc_syscall_old_CC"
+       ])
+
+       if test x"$ensc_cv_c_dietlibc_syscall" = xyes; then
+               AC_DEFINE(ENSC_DIETLIBC_HAS_SYSCALL,1)
+       fi
+])
+
 dnl Usage: ENSC_ENABLE_DIETLIBC(<conditional>[,<min-version>])
 dnl        <conditional> ... automake-conditional which will be set when
 dnl                          dietlibc shall be enabled
@@ -134,21 +160,7 @@ AC_DEFUN([ENSC_ENABLE_DIETLIBC],
 
        if test x"$ensc_have_dietlibc" != xno; then
                _ENSC_DIETLIBC_C99
+               _ENSC_DIETLIBC_SYSCALL
        fi
 ])
 
-
-dnl Usage: ENSC_DIETLIBC_SANITYCHECK
-AC_DEFUN([ENSC_DIETLIBC_SANITYCHECK],
-[
-       AC_REQUIRE([AC_CANONICAL_HOST])
-       AC_REQUIRE([ENSC_ENABLE_DIETLIBC])
-
-       if test "$host_cpu" = x86_64 -a $ENSC_VERSION_DIETLIBC_NUM -le 0027; then
-               AC_MSG_WARN([***                                                             ***])
-               AC_MSG_WARN([*** dietlibc<=0.27 is known to be broken for x86_64 systems     ***])
-               AC_MSG_WARN([*** please make sure that at least the environ.S fix is applied ***])
-               AC_MSG_WARN([*** and lib/__nice.c added                                      ***])
-               AC_MSG_WARN([***                                                             ***])
-       fi
-])
index 30de1c2..e33d464 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_dietlibc_compat.m4,v 1.4 2005/04/24 20:28:23 ensc Exp $
+dnl $Id: ensc_dietlibc_compat.m4 2042 2005-04-24 20:28:23Z ensc $
 
 dnl Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 8d18bc9..7fe2f5f 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_e2fscheck.m4,v 1.3 2004/02/19 22:31:04 ensc Exp $
+dnl $Id: ensc_e2fscheck.m4 2411 2006-12-01 18:41:01Z dhozac $
 
 dnl Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -48,7 +48,7 @@ the following reasons:
 * kernel headers are broken (e.g. these of linux 2.6 are known to be)
   and you do not have e2fsprogs headers installed; please try to install
   - e2fsprogs-devel (for Red Hat), or
-  - libext2fs2-devel (for Mandrake), or
+  - lib*ext2fs2-devel (for Mandriva), or
   - e2fslibs-dev (for Debian)
   in this case.
 
index 8d1606b..909b9b1 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_initrddir.m4,v 1.2 2005/03/09 14:42:39 ensc Exp $
+dnl $Id: ensc_initrddir.m4 1887 2005-03-09 14:42:39Z ensc $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
diff --git a/m4/ensc_kerneldir.m4 b/m4/ensc_kerneldir.m4
deleted file mode 100644 (file)
index 0020696..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-dnl $Id: ensc_kerneldir.m4,v 1.3 2004/02/14 01:20:35 ensc Exp $
-
-dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-dnl  
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; version 2 of the License.
-dnl  
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-dnl GNU General Public License for more details.
-dnl  
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-dnl Usage: ENSC_KERNEL_HEADERS(<var>)
-dnl        <var> ... basedir of kernel-headers (without the '/linux');
-dnl                  this value will be AC_SUBST'ed
-
-AC_DEFUN([_ENSC_KERNEL_DIR],
-[
-       AC_CACHE_CHECK([for linux kernel dir], [ensc_cv_path_kerneldir],
-        [
-AC_ARG_WITH([kerneldir],
-           [AC_HELP_STRING([--with-kerneldir=DIR],
-                           [assume kernelsources in DIR (default: /lib/modules/<current>/build)])],
-            [case "$withval" in
-               yes|no) AC_MSG_ERROR(['$withval' is not a valid value for kerneldir]);;
-               *)      ensc_cv_path_kerneldir=$withval;;
-            esac],
-           [ensc_cv_path_kerneldir=
-            for i in /lib/modules/$(uname -r)/build /usr/src/linux /usr; do
-               test -e $i/include/linux/version.h && { ensc_cv_path_kerneldir=$i; break; }
-            done])
-       ])
-
-       test "$ensc_cv_path_kerneldir" -a -e "$ensc_cv_path_kerneldir"/include/linux/version.h || {
-               AC_MSG_ERROR([Can not find kernelsources])
-       }
-])
-
-AC_DEFUN([ENSC_KERNEL_HEADERS],
-[
-       AC_REQUIRE([_ENSC_KERNEL_DIR])
-
-       AC_CACHE_CHECK([for linux kernel headers], [ensc_cv_path_kernelheaders],
-       [
-               ensc_cv_path_kernelheaders=$ensc_cv_path_kerneldir/include
-       ])
-
-       if test x"$1" != x; then
-               $1=$ensc_cv_path_kernelheaders
-               AC_SUBST($1)
-       fi
-])
index 96d345b..bd879ce 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_pathprog.m4,v 1.2 2005/02/02 14:09:28 ensc Exp $
+dnl $Id: ensc_pathprog.m4 2504 2007-02-24 20:03:10Z dhozac $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -59,6 +59,10 @@ $4])
                fi
        fi
 
+       if test -e "${$1}"; then
+               $1=`readlink -f "${$1}"`
+       fi
+
        test "${$1}" && ENSC_PATHPROG_SED="${ENSC_PATHPROG_SED}s!@'$1'@!${$1}!g;"
 
        test "${$1}"])
index 69340e4..dd4528f 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_personality.m4,v 1.1 2005/07/15 19:40:15 ensc Exp $
+dnl $Id: ensc_personality.m4 2159 2005-07-15 19:40:15Z ensc $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 387e111..e42c1bf 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_release.m4,v 1.2 2003/12/26 00:22:49 uid68581 Exp $
+dnl $Id: ensc_release.m4 476 2003-12-26 00:22:49Z uid68581 $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 641812d..66d9912 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_syscall.m4,v 1.6 2005/05/19 18:04:12 ensc Exp $
+dnl $Id: ensc_syscall.m4 2194 2005-10-28 17:51:48Z ensc $
 
 dnl Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -39,7 +39,6 @@ AC_DEFUN([ENSC_SYSCALL_ALTERNATIVE],
 
 AC_DEFUN([ENSC_SYSCALL],
 [
-       AC_REQUIRE([ENSC_KERNEL_HEADERS])
        AC_REQUIRE([ENSC_SYSCALL_ALTERNATIVE])
 
         AC_MSG_CHECKING([for syscall(2) invocation method])
@@ -104,7 +103,7 @@ int main() {
         fi
         
         AH_BOTTOM([
-#if defined(__pic__) && defined(__i386) && !defined(ENSC_SYSCALL_TRADITIONAL)
+#if defined(__pic__) && defined(__i386) && !defined(ENSC_SYSCALL_TRADITIONAL) && !defined(ENSC_USE_ALTERNATIVE_SYSCALL_MACROS)
 #  define ENSC_SYSCALL_TRADITIONAL     1
 #endif])
 ])
index 868ca38..db6efb3 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_syscallnr.m4,v 1.6 2004/03/08 19:55:28 ensc Exp $
+dnl $Id: ensc_syscallnr.m4 2187 2005-10-28 16:01:19Z ensc $
 
 dnl Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -15,19 +15,22 @@ dnl You should have received a copy of the GNU General Public License
 dnl along with this program; if not, write to the Free Software
 dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-dnl Usage: ENSC_SYSCALLNR(<syscall>,<default>)
+dnl Usage: ENSC_SYSCALLNR(<syscall>,<default>[,<fallback>])
 
 AC_DEFUN([ENSC_SYSCALLNR],
 [
        AC_REQUIRE([AC_PROG_CPP])
        AC_REQUIRE([AC_PROG_EGREP])
-       AC_REQUIRE([ENSC_KERNEL_HEADERS])
 
        AC_CACHE_CHECK([for number of syscall '$1'], [ensc_cv_value_syscall_$1],
        [
                AC_LANG_PUSH(C)
                AC_LANG_CONFTEST([
-#include <asm/unistd.h>
+#ifdef ENSC_SYSCALL_FALLBACK
+#  include ENSC_SYSCALL_FALLBACK
+#else
+#  include <asm/unistd.h>
+#endif
 #ifdef __NR_$1
 ensc_syscall_tmp_nr=__NR_$1;
 ensc_syscall_tmp_src=ENSC_MARK
@@ -35,10 +38,10 @@ ensc_syscall_tmp_src=ENSC_MARK
 ])
                ensc_syscall_tmp_nr=
                ensc_syscall_tmp_src=
-               test "$ensc_syscall_tmp_nr" || \
-                       eval $($CPP $CPPFLAGS -D ENSC_MARK='glibc'                                 conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[[1-9]][[0-9]]*;|src=.*)$')
-               test "$ensc_syscall_tmp_nr" || \
-                       eval $($CPP $CPPFLAGS -D ENSC_MARK='kernel' -I $ensc_cv_path_kernelheaders conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[[1-9]][[0-9]]*;|src=.*)$')
+               test x"$ensc_syscall_tmp_nr" != x || \
+                       eval $($CPP $CPPFLAGS -D ENSC_MARK='glibc'                                    conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[[1-9]][[0-9]]*;|src=.*)$')
+               test x"$ensc_syscall_tmp_nr" != x -o x'$3' = x || \
+                       eval $($CPP $CPPFLAGS -D ENSC_MARK='fallback' -D ENSC_SYSCALL_FALLBACK='"$3"' conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[[1-9]][[0-9]]*;|src=.*)$')
                test "$ensc_syscall_tmp_nr" || {
                        ensc_syscall_tmp_nr=$2
                        ensc_syscall_tmp_src=default
index cbf365c..f452ea5 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_uv_vrootdir.m4,v 1.2 2003/12/26 00:22:49 uid68581 Exp $
+dnl $Id: ensc_uv_vrootdir.m4 476 2003-12-26 00:22:49Z uid68581 $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 76ab2de..15de828 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: gpgsig.am,v 1.2 2004/05/21 15:46:40 ensc Exp $
+## $Id: gpgsig.am 1572 2004-05-21 15:46:40Z ensc $
 
 ## Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 41ae8b9..8cd426e 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: install-notify.am,v 1.2 2005/05/05 09:17:41 ensc Exp $
+## $Id: install-notify.am 2083 2005-05-05 09:17:41Z ensc $
 
 ## Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 7028752..697516d 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: libsel.am,v 1.1 2005/04/10 00:53:56 ensc Exp $
+## $Id: libsel.am 2009 2005-04-10 00:53:56Z ensc $
 
 ## Copyright (C) 2002,2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index e17d2af..8e96fdf 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: pkgconfig.am,v 1.1 2003/10/13 19:50:29 ensc Exp $      ---*- makefile -*---
+## $Id: pkgconfig.am 2188 2005-10-28 16:03:28Z ensc $  ---*- makefile -*---
 
 ## Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -25,6 +25,17 @@ pkgconf_DATA            =  $(addsuffix .pc, $(PKGCONFIG_FILES))
 CLEANFILES             += $(addsuffix .pc,       $(PKGCONFIG_FILES))
 EXTRA_DIST             += $(addsuffix .pc.subst, $(PKGCONFIG_FILES))
 
+pkgconf_SUBST =                s!@'PACKAGE'@!$(PACKAGE)!g;                                     \
+                       s!@'VERSION'@!$(VERSION)!g;                                     \
+                       s!@'prefix'@!$(prefix)!g;                                       \
+                       s!@'exec_prefix'@!$(exec_prefix)!g;                             \
+                       s!@'libdir'@!$(libdir)!g;                                       \
+                       s!@'includedir'@!$(includedir)!g;                               \
+                       s!@'libflags"@!$${libflags}$(pkgconf_LIBFLAGS)!g;"'             \
+                       s!@'incflags"@!$${incflags}$(pkgconf_INCFLAGS)!g;"'             \
+                       s!@'pkgincflags"@!$${pkgincflags}$(pkgconf_PKGINCFLAGS)!g;"'    \
+                       s!@'pkgincludedir'@!$(pkgincludedir)!g
+
 
 %.pc:                  %.pc.subst Makefile
                        rm -f $@
@@ -40,16 +51,6 @@ EXTRA_DIST           += $(addsuffix .pc.subst, $(PKGCONFIG_FILES))
                                $(BAD_INC_PATHS))       incflags=;;                             \
                                *)                      incflags='-I$${includedir} ';;          \
                        esac;                                                                   \
-                       sed -e 's!@'PACKAGE'@!$(PACKAGE)!g;                                     \
-                               s!@'VERSION'@!$(VERSION)!g;                                     \
-                               s!@'prefix'@!$(prefix)!g;                                       \
-                               s!@'exec_prefix'@!$(exec_prefix)!g;                             \
-                               s!@'libdir'@!$(libdir)!g;                                       \
-                               s!@'includedir'@!$(includedir)!g;                               \
-                               s!@'libflags"@!$${libflags}$(pkgconf_LIBFLAGS)!g;"'             \
-                               s!@'incflags"@!$${incflags}$(pkgconf_INCFLAGS)!g;"'             \
-                               s!@'pkgincflags"@!$${pkgincflags}$(pkgconf_PKGINCFLAGS)!g;"'    \
-                               s!@'pkgincludedir'@!$(pkgincludedir)!g'                         \
-                        $< >$@
+                       sed -e '$(pkgconf_SUBST)' $< >$@
                        test -z "$(CHMOD_REFERENCE)" || $(CHMOD_REFERENCE) '$<' '$@'
                        chmod a-w $@
index 6373194..fd9fe3e 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: validate.am,v 1.3 2004/01/14 00:01:15 ensc Exp $       ---*- makefile -*---
+## $Id: validate.am 592 2004-01-14 00:01:15Z ensc $    ---*- makefile -*---
 
 ## Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index ddcca29..12996ca 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.4 2004/03/10 02:30:34 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 1192 2004-03-10 02:30:34Z ensc $  -*- makefile -*-
 
 ## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 63bd721..190542a 100644 (file)
@@ -1,4 +1,4 @@
-.TH "chcontext" "1" "0.1.0" "Klavs Klavsen <kl@vsen.dk>" "System Administration"
+.TH "chcontext" "8" "0.1.0" "Klavs Klavsen <kl@vsen.dk>" "System Administration"
 .SH "NAME"
 .LP 
 chcontext \- chcontext allocates a new security context and executes a command in that context.
index 48e3cf2..9481c49 100644 (file)
@@ -1,93 +1,93 @@
-.TH "vserver-copy" "8" "0.3" "Mark Lawrence <nomad@null.net>" "System Administration"\r
-.SH "NAME"\r
-.LP \r
-vserver-copy \- copy/move a virtual server.\r
-.SH "SYNTAX"\r
-.LP \r
-vserver-copy [\fIoptions\fP] \fIvserver\fP \fInewname\fP \r
-.LP \r
-vserver-copy [\fIoptions\fP] \fIvserver\fP \fIhost\fP:[\fInewname\fP]\r
-.SH "DESCRIPTION"\r
-.LP \r
-vserver-copy makes a copy of a virtual server using rsync. It will\r
-rewrite the vserver.conf configuration file with the new hostname and\r
-IP information when given. If the destination name contains a host\r
-specification then ssh/rsh will be used for the data transfer.\r
-\r
-vserver-copy can used on a running vserver, although naturally the\r
-consistency of open database files and the like cannot be guaranteed.\r
-A running vserver can however be safely moved from one root host to another\r
-using the \-s flag.\r
-\r
-If downtime is an issue when moving a virtual server across hosts you\r
-should first run vserver without the \-s flag. This will pre\-populate the\r
-destination filesystem requiring only updates to be made on the next\r
-invocation.\r
-.SH "OPTIONS"\r
-.LP \r
-.TP \r
-\fB\-h\fR,\fB-\-help\fR\r
-output usage information and exit\r
-.TP \r
-\fB\-V\fR,\fB-\-version\fR\r
-output version information and exit\r
-.TP \r
-\fB\-v\fR,\fB-\-verbose\fR\r
-show all output (normally only informational messages and warnings)\r
-.TP \r
-\fB\-q\fR,\fB-\-quiet\fR\r
-suppress all output\r
-.TP \r
-\fB\-d\fR,\fB-\-domain\fR domain\r
-the new DNS domain when changing name. Overwrites /etc/hosts. Must be\r
-used with \-i\r
-.TP \r
-\fB\-i\fR,\fB-\-ip\fR address\r
-the new IP address when changing name. Overwrites /etc/hosts. Must be\r
-used with \-d\r
-.TP \r
-\fB\-r\fR,\fB-\-vsroot\fR\r
-directory containing virtual servers. Defaults to "/vserver"\r
-.TP \r
-\fB\-R\fR,\fB-\-rsh\fR\r
-use rsh instead of the default ssh for network transfer\r
-.TP\r
-\fB\-s\fR,\fB-\-stopstart\fR\r
-stop the virtual server before copying and start the new vserver afterwards.\r
-This really only makes sense if you are copying across root hosts and not\r
-changing names or IP addresses.\r
-.SH "FILES"\r
-.LP \r
-\fI/etc/vservers/vserver.conf\fP \r
-.SH "EXAMPLES"\r
-.LP \r
-# Copy a template vserver (same IP addresses etc)\r
-\r
-/usr/sbin/vserver-copy template web01\r
-\r
-# Copy webserver with change in configuration\r
-\r
-/usr/sbin/vserver-copy -i 192.168.5.62 -d example.com template web62\r
-\r
-# Move a running vserver to another roothost\r
-\r
-/usr/sbin/vserver-copy -s web62 roothost02:\r
-\r
-.SH "BUGS"\r
-.LP \r
-If a virtual server is moved from one root host to another a gratuitious\r
-ping should be sent to inform other devices on the local area network\r
-of the change in MAC address.\r
-\r
-Without this ping the devices will continue to attempt to reach the old\r
-MAC address for the length of their arp-cache timeout (10 minute default\r
-on Suns!).\r
-\r
-This functionality should probably be implmemented during the \r
-"vserver <name> start" process.\r
-.SH "AUTHOR"\r
-.LP \r
-Mark Lawrence <nomad@null.net>\r
-.SH "SEE ALSO"\r
-.LP \r
-vserver(8)\r
+.TH "vserver-copy" "8" "0.3" "Mark Lawrence <nomad@null.net>" "System Administration"
+.SH "NAME"
+.LP 
+vserver-copy \- copy/move a virtual server.
+.SH "SYNTAX"
+.LP 
+vserver-copy [\fIoptions\fP] \fIvserver\fP \fInewname\fP 
+.LP 
+vserver-copy [\fIoptions\fP] \fIvserver\fP \fIhost\fP:[\fInewname\fP]
+.SH "DESCRIPTION"
+.LP 
+vserver-copy makes a copy of a virtual server using rsync. It will
+rewrite the vserver.conf configuration file with the new hostname and
+IP information when given. If the destination name contains a host
+specification then ssh/rsh will be used for the data transfer.
+
+vserver-copy can used on a running vserver, although naturally the
+consistency of open database files and the like cannot be guaranteed.
+A running vserver can however be safely moved from one root host to another
+using the \-s flag.
+
+If downtime is an issue when moving a virtual server across hosts you
+should first run vserver without the \-s flag. This will pre\-populate the
+destination filesystem requiring only updates to be made on the next
+invocation.
+.SH "OPTIONS"
+.LP 
+.TP 
+\fB\-h\fR,\fB-\-help\fR
+output usage information and exit
+.TP 
+\fB\-V\fR,\fB-\-version\fR
+output version information and exit
+.TP 
+\fB\-v\fR,\fB-\-verbose\fR
+show all output (normally only informational messages and warnings)
+.TP 
+\fB\-q\fR,\fB-\-quiet\fR
+suppress all output
+.TP 
+\fB\-d\fR,\fB-\-domain\fR domain
+the new DNS domain when changing name. Overwrites /etc/hosts. Must be
+used with \-i
+.TP 
+\fB\-i\fR,\fB-\-ip\fR address
+the new IP address when changing name. Overwrites /etc/hosts. Must be
+used with \-d
+.TP 
+\fB\-r\fR,\fB-\-vsroot\fR
+directory containing virtual servers. Defaults to "/vserver"
+.TP 
+\fB\-R\fR,\fB-\-rsh\fR
+use rsh instead of the default ssh for network transfer
+.TP
+\fB\-s\fR,\fB-\-stopstart\fR
+stop the virtual server before copying and start the new vserver afterwards.
+This really only makes sense if you are copying across root hosts and not
+changing names or IP addresses.
+.SH "FILES"
+.LP 
+\fI/etc/vservers/vserver.conf\fP 
+.SH "EXAMPLES"
+.LP 
+# Copy a template vserver (same IP addresses etc)
+
+/usr/sbin/vserver-copy template web01
+
+# Copy webserver with change in configuration
+
+/usr/sbin/vserver-copy -i 192.168.5.62 -d example.com template web62
+
+# Move a running vserver to another roothost
+
+/usr/sbin/vserver-copy -s web62 roothost02:
+
+.SH "BUGS"
+.LP 
+If a virtual server is moved from one root host to another a gratuitious
+ping should be sent to inform other devices on the local area network
+of the change in MAC address.
+
+Without this ping the devices will continue to attempt to reach the old
+MAC address for the length of their arp-cache timeout (10 minute default
+on Suns!).
+
+This functionality should probably be implmemented during the 
+"vserver <name> start" process.
+.SH "AUTHOR"
+.LP 
+Mark Lawrence <nomad@null.net>
+.SH "SEE ALSO"
+.LP 
+vserver(8)
diff --git a/missing b/missing
index 09edd88..894e786 100755 (executable)
--- a/missing
+++ b/missing
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2005-02-08.22
+scriptversion=2005-06-08.21
 
 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
 #   Free Software Foundation, Inc.
@@ -19,8 +19,8 @@ scriptversion=2005-02-08.22
 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -297,6 +297,9 @@ WARNING: \`$1' is $msg.  You should only need it if
       # ... or it is derived from the source name (dir/f.texi becomes f.info)
       test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
     fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
     touch $file
     ;;
 
index 8e0f72b..8c953aa 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: pathconfig.h.pathsubst,v 1.11 2004/08/19 14:06:59 ensc Exp $    --*- c++ -*--
+// $Id: pathconfig.h.pathsubst 2283 2006-09-10 17:07:57Z hollow $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5007d34..36c4411 100644 (file)
@@ -5,14 +5,14 @@
 # Mark Huang <mlhuang@cs.princeton.edu>
 # Copyright (C) 2005 The Trustees of Princeton University
 #
-# $Id: Makefile,v 1.11 2006/03/01 22:03:38 mlhuang Exp $
+# $Id: Makefile,v 1.13 2007/06/29 19:02:15 dhozac Exp $
 #
 
 INCLUDES := -I.. -I../lib
 LIBS = -L../lib -lvserver
 
 PY_MODS := vserver.py cpulimit.py bwlimit.py
-PY_EXT_MODS := vduimpl.so vserverimpl.so
+PY_EXT_MODS := vserverimpl.so
 
 LT_LINK = ../libtool --tag=CC --mode=link
 
index 6bddee1..ff87522 100644 (file)
@@ -9,17 +9,26 @@ import signal
 import sys
 import time
 import traceback
-import resource
 
 import mountimpl
 import runcmd
 import utmp
-import vserverimpl, vduimpl
+import vserverimpl
 import cpulimit, bwlimit
 
 from vserverimpl import VS_SCHED_CPU_GUARANTEED as SCHED_CPU_GUARANTEED
 from vserverimpl import DLIMIT_INF
 from vserverimpl import VC_LIM_KEEP
+
+from vserverimpl import RLIMIT_CPU
+from vserverimpl import RLIMIT_RSS
+from vserverimpl import RLIMIT_NPROC
+from vserverimpl import RLIMIT_NOFILE
+from vserverimpl import RLIMIT_MEMLOCK
+from vserverimpl import RLIMIT_AS
+from vserverimpl import RLIMIT_LOCKS
+from vserverimpl import RLIMIT_SIGPENDING
+from vserverimpl import RLIMIT_MSGQUEUE
 from vserverimpl import VLIMIT_NSOCK
 from vserverimpl import VLIMIT_OPENFD
 from vserverimpl import VLIMIT_ANON
@@ -37,23 +46,73 @@ FLAGS_HIDEINFO = 32
 FLAGS_ULIMIT = 64
 FLAGS_NAMESPACE = 128
 
-RLIMITS = { "NSOCK": VLIMIT_NSOCK,
-            "OPENFD": VLIMIT_OPENFD,
-            "ANON": VLIMIT_ANON,
-            "SHMEM": VLIMIT_SHMEM}
-
-# add in the platform supported rlimits
-for entry in resource.__dict__.keys():
-    if entry.find("RLIMIT_")==0:
-        k = entry[len("RLIMIT_"):]
-        if not RLIMITS.has_key(k):
-            RLIMITS[k]=resource.__dict__[entry]
-        else:
-            print "WARNING: duplicate RLIMITS key %s" % k
+RLIMITS = {"CPU": RLIMIT_CPU,
+           "RSS": RLIMIT_RSS,
+           "NPROC": RLIMIT_NPROC,
+           "NOFILE": RLIMIT_NOFILE,
+           "MEMLOCK": RLIMIT_MEMLOCK,
+           "AS": RLIMIT_AS,
+           "LOCKS": RLIMIT_LOCKS,
+           "SIGPENDING": RLIMIT_SIGPENDING,
+           "MSGQUEUE": RLIMIT_MSGQUEUE,
+           "NSOCK": VLIMIT_NSOCK,
+           "OPENFD": VLIMIT_OPENFD,
+           "ANON": VLIMIT_ANON,
+           "SHMEM": VLIMIT_SHMEM}
 
 class NoSuchVServer(Exception): pass
 
 
+class VServerConfig:
+    mapping = {
+        'S_CONTEXT':           'context',
+        'VS_WHITELISTED':      'whitelisted',
+        'CPULIMIT':            'sched/fill-rate2',
+       'CPUGUARANTEED':        'sched/fill-rate',
+        'VS_DISK_MAX':         'dlimits/0/space_total',
+      }
+
+    def __init__(self, name, directory):
+        global RLIMITS
+        for i in RLIMITS.keys():
+            for j in ('HARD', 'SOFT', 'MINIMUM'):
+                self.mapping['VS_%s_%s' % (i, j)] = 'rlimits/%s.%s' % (i.lower(), j.replace('MINIMUM', 'min').lower())
+        self.name = name
+        self.dir = directory
+
+    def get(self, option, default = None):
+        try:
+            filename = self.mapping[option]
+            f = open(os.path.join(self.dir, filename), "r")
+            buf = f.readline().rstrip()
+            f.close()
+            return buf
+        except KeyError, e:
+            # No mapping exists for this option
+            raise e
+        except IOError, e:
+            if default is not None:
+                return default
+            else:
+                raise KeyError, "Key %s is not set for %s" % (option, self.name)
+
+    def update(self, vars):
+        for (option, value) in vars.iteritems():
+            try:
+                old_umask = os.umask(0022)
+                filename = os.path.join(self.dir, self.mapping[option])
+                try:
+                    os.makedirs(os.path.dirname(filename), 0755)
+                except:
+                    pass
+                f = open(filename, 'w')
+                f.write("%s\n" % value)
+                f.close()
+                os.umask(old_umask)
+            except KeyError, e:
+                raise KeyError, "Don't know how to handle %s, sorry" % option
+
+
 class VServer:
 
     INITSCRIPTS = [('/etc/rc.vinit', 'start'),
@@ -63,21 +122,14 @@ class VServer:
 
         self.name = name
         self.rlimits_changed = False
-        self.config_file = "/etc/vservers/%s.conf" % name
         self.dir = "%s/%s" % (vserverimpl.VSERVER_BASEDIR, name)
         if not (os.path.isdir(self.dir) and
                 os.access(self.dir, os.R_OK | os.W_OK | os.X_OK)):
             raise NoSuchVServer, "no such vserver: " + name
-        self.config = {}
-        for config_file in ["/etc/vservers.conf", self.config_file]:
-            try:
-                self.config.update(self.__read_config_file(config_file))
-            except IOError, ex:
-                if ex.errno != errno.ENOENT:
-                    raise
+        self.config = VServerConfig(name, "/etc/vservers/%s" % name)
         self.remove_caps = ~vserverimpl.CAP_SAFE;
         if vm_id == None:
-            vm_id = int(self.config['S_CONTEXT'])
+            vm_id = int(self.config.get('S_CONTEXT'))
         self.ctx = vm_id
         self.vm_running = vm_running
 
@@ -138,51 +190,6 @@ class VServer:
         resources = {'VS_WHITELISTED': whitelisted}
         self.update_resources(resources)
 
-    config_var_re = re.compile(r"^ *([A-Z_]+)=(.*)\n?$", re.MULTILINE)
-
-    def __read_config_file(self, filename):
-
-        f = open(filename, "r")
-        data = f.read()
-        f.close()
-        config = {}
-        for m in self.config_var_re.finditer(data):
-            (key, val) = m.groups()
-            config[key] = val.strip('"')
-        return config
-
-    def __update_config_file(self, filename, newvars):
-
-        # read old file, apply changes
-        f = open(filename, "r")
-        data = f.read()
-        f.close()
-        todo = newvars.copy()
-        changed = False
-        offset = 0
-        for m in self.config_var_re.finditer(data):
-            (key, val) = m.groups()
-            newval = todo.pop(key, None)
-            if newval != None:
-                data = data[:offset+m.start(2)] + str(newval) + data[offset+m.end(2):]
-                offset += len(str(newval)) - (m.end(2)-m.start(2))
-                changed = True
-        for (newkey, newval) in todo.items():
-            data += "%s=%s\n" % (newkey, newval)
-            changed = True
-
-        if not changed:
-            return
-
-        # write new file
-        newfile = filename + ".new"
-        f = open(newfile, "w")
-        f.write(data)
-        f.close()
-
-        # replace old file with new
-        os.rename(newfile, filename)
-
     def __do_chroot(self):
 
         os.chroot(self.dir)
@@ -301,8 +308,7 @@ class VServer:
     def __do_chcontext(self, state_file):
 
         if state_file:
-            print >>state_file, "S_CONTEXT=%u" % self.ctx
-            print >>state_file, "S_PROFILE="
+            print >>state_file, "%u" % self.ctx
             state_file.close()
 
         if vserverimpl.chcontext(self.ctx):
@@ -326,9 +332,8 @@ class VServer:
                          ([], filter_fn))[0]
         garbage += filter(os.path.isfile, map((LOCKDIR + "/").__add__,
                                               os.listdir(LOCKDIR)))
-        if False:
-            for f in garbage:
-                os.unlink(f)
+        for f in garbage:
+            os.unlink(f)
 
         # set the initial runlevel
         f = open(RUNDIR + "/utmp", "w")
@@ -351,10 +356,8 @@ class VServer:
             raise ex
 
     def enter(self):
-
-        state_file = open("/var/run/vservers/%s.ctx" % self.name, "w")
         self.__do_chroot()
-        self.__do_chcontext(state_file)
+        self.__do_chcontext(None)
 
     def start(self, wait, runlevel = 3):
         self.vm_running = True
@@ -368,7 +371,7 @@ class VServer:
                 os.setsid()
 
                 # open state file to record vserver info
-                state_file = open("/var/run/vservers/%s.ctx" % self.name, "w")
+                state_file = open("/var/run/vservers/%s" % self.name, "w")
 
                 # use /dev/null for stdin, /var/log/boot.log for stdout/err
                 os.close(0)
@@ -418,14 +421,19 @@ class VServer:
 
         self.config.update(resources)
 
-        # write new values to configuration file
-        self.__update_config_file(self.config_file, resources)
-
     def init_disk_info(self):
-
-        (self.disk_inodes, self.disk_blocks, size) = vduimpl.vdu(self.dir)
-
-        return size
+        cmd = "/usr/sbin/vdu --script --space --inodes --blocksize 1024 --xid %d %s" % (self.ctx, self.dir)
+        (child_stdin, child_stdout, child_stderr) = os.popen3(cmd)
+        child_stdin.close()
+        line = child_stdout.readline()
+        if not line:
+            sys.stderr.write(child_stderr.readline())
+        (space, inodes) = line.split()
+        self.disk_inodes = int(inodes)
+        self.disk_blocks = int(space)
+        #(self.disk_inodes, self.disk_blocks) = vduimpl.vdu(self.dir)
+
+        return self.disk_blocks * 1024
 
     def stop(self, signal = signal.SIGKILL):
         vserverimpl.killall(self.ctx, signal)
index 0bbd2c1..d16dfa3 100644 (file)
@@ -47,11 +47,6 @@ POSSIBILITY OF SUCH DAMAGE.
 #include "planetlab.h"
 #include "vserver-internal.h"
 
-/* I don't like needing to define __KERNEL__ -- mef */
-#define __KERNEL__
-#include "kernel/limit.h"
-#undef __KERNEL__
-
 #define NONE  ({ Py_INCREF(Py_None); Py_None; })
 
 /*
@@ -153,11 +148,11 @@ vserver_set_rlimit(PyObject *self, PyObject *args) {
 
   lresource = resource;
   switch (resource) {
-  case VLIMIT_NSOCK:
-  case VLIMIT_ANON:
-  case VLIMIT_SHMEM:
+  case VC_VLIMIT_NSOCK:
+  case VC_VLIMIT_ANON:
+  case VC_VLIMIT_SHMEM:
     goto do_vc_set_rlimit;
-  case VLIMIT_OPENFD:
+  case VC_VLIMIT_OPENFD:
     lresource = RLIMIT_NOFILE;
     break;
   default:
@@ -206,16 +201,14 @@ vserver_get_dlimit(PyObject *self, PyObject *args)
   PyObject *res;
   char* path;
   unsigned xid;
-  struct vcmd_ctx_dlimit_v0 data;
+  struct vc_ctx_dlimit data;
   int r;
 
   if (!PyArg_ParseTuple(args, "si", &path,&xid))
     return NULL;
 
   memset(&data, 0, sizeof(data));
-  data.name = path;
-  data.flags = 0;
-  r = vserver(VCMD_get_dlimit, xid, &data);
+  r = vc_get_dlimit(path, xid, 0, &data);
   if (r>=0) {
     res = Py_BuildValue("(i,i,i,i,i)",
                        data.space_used,
@@ -236,8 +229,7 @@ vserver_set_dlimit(PyObject *self, PyObject *args)
 {
   char* path;
   unsigned xid;
-  struct vcmd_ctx_dlimit_base_v0 init;
-  struct vcmd_ctx_dlimit_v0 data;
+  struct vc_ctx_dlimit data;
 
   memset(&data,0,sizeof(data));
   if (!PyArg_ParseTuple(args, "siiiiii", &path,
@@ -249,15 +241,8 @@ vserver_set_dlimit(PyObject *self, PyObject *args)
                        &data.reserved))
     return NULL;
 
-  data.name = path;
-  data.flags = 0;
-
-  memset(&init, 0, sizeof(init));
-  init.name = path;
-  init.flags = 0;
-
-  if ((vserver(VCMD_add_dlimit, xid, &init) && errno != EEXIST) ||
-      vserver(VCMD_set_dlimit, xid, &data))
+  if ((vc_add_dlimit(path, xid, 0) && errno != EEXIST) ||
+      vc_set_dlimit(path, xid, 0, &data))
     return PyErr_SetFromErrno(PyExc_OSError);
 
   return NONE; 
@@ -268,16 +253,11 @@ vserver_unset_dlimit(PyObject *self, PyObject *args)
 {
   char  *path;
   unsigned  xid;
-  struct vcmd_ctx_dlimit_base_v0  init;
 
   if (!PyArg_ParseTuple(args, "si", &path, &xid))
     return NULL;
 
-  memset(&init, 0, sizeof(init));
-  init.name = path;
-  init.flags = 0;
-
-  if (vserver(VCMD_rem_dlimit, xid, &init) && errno != ESRCH)
+  if (vc_rem_dlimit(path, xid, 0) && errno != ESRCH)
     return PyErr_SetFromErrno(PyExc_OSError);
 
   return NONE; 
@@ -336,14 +316,25 @@ initvserverimpl(void)
   PyModule_AddStringConstant(mod, "VSERVER_BASEDIR", DEFAULT_VSERVERDIR);
 
   /* export limit-related constants */
-  PyModule_AddIntConstant(mod, "DLIMIT_KEEP", (int)CDLIM_KEEP);
-  PyModule_AddIntConstant(mod, "DLIMIT_INF", (int)CDLIM_INFINITY);
+  PyModule_AddIntConstant(mod, "DLIMIT_KEEP", (int)VC_CDLIM_KEEP);
+  PyModule_AddIntConstant(mod, "DLIMIT_INF", (int)VC_CDLIM_INFINITY);
   PyModule_AddIntConstant(mod, "VC_LIM_KEEP", (int)VC_LIM_KEEP);
 
-  PyModule_AddIntConstant(mod, "VLIMIT_NSOCK", (int)VLIMIT_NSOCK);
-  PyModule_AddIntConstant(mod, "VLIMIT_OPENFD", (int)VLIMIT_OPENFD);
-  PyModule_AddIntConstant(mod, "VLIMIT_ANON", (int)VLIMIT_ANON);
-  PyModule_AddIntConstant(mod, "VLIMIT_SHMEM", (int)VLIMIT_SHMEM);
+  PyModule_AddIntConstant(mod, "RLIMIT_CPU", (int)RLIMIT_CPU);
+  PyModule_AddIntConstant(mod, "RLIMIT_RSS", (int)RLIMIT_RSS);
+  PyModule_AddIntConstant(mod, "RLIMIT_NPROC", (int)RLIMIT_NPROC);
+  PyModule_AddIntConstant(mod, "RLIMIT_NOFILE", (int)RLIMIT_NOFILE);
+  PyModule_AddIntConstant(mod, "RLIMIT_MEMLOCK", (int)RLIMIT_MEMLOCK);
+  PyModule_AddIntConstant(mod, "RLIMIT_AS", (int)RLIMIT_AS);
+  PyModule_AddIntConstant(mod, "RLIMIT_LOCKS", (int)RLIMIT_LOCKS);
+
+  PyModule_AddIntConstant(mod, "RLIMIT_SIGPENDING", (int)RLIMIT_SIGPENDING);
+  PyModule_AddIntConstant(mod, "RLIMIT_MSGQUEUE", (int)RLIMIT_MSGQUEUE);
+
+  PyModule_AddIntConstant(mod, "VLIMIT_NSOCK", (int)VC_VLIMIT_NSOCK);
+  PyModule_AddIntConstant(mod, "VLIMIT_OPENFD", (int)VC_VLIMIT_OPENFD);
+  PyModule_AddIntConstant(mod, "VLIMIT_ANON", (int)VC_VLIMIT_ANON);
+  PyModule_AddIntConstant(mod, "VLIMIT_SHMEM", (int)VC_VLIMIT_SHMEM);
 
   /* scheduler flags */
   PyModule_AddIntConstant(mod,
index 57e6206..329286c 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.33 2005/04/28 17:45:34 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 2470 2007-01-21 20:17:14Z dhozac $  -*- makefile -*-
 
 ## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -38,11 +38,16 @@ AM_INSTALLCHECK_STD_OPTIONS_EXEMPT += \
 
 
 scripts_pkglib_src_DTA =       scripts/functions \
+                               scripts/magic.mime \
                                scripts/vserver-build.apt-rpm \
                                scripts/vserver-build.skeleton \
                                scripts/vserver-build.debootstrap \
+                               scripts/vserver-build.fai \
                                scripts/vserver-build.rpm \
                                scripts/vserver-build.yum \
+                               scripts/vserver-build.template \
+                               scripts/vserver-build.rsync \
+                               scripts/vserver-build.clone \
                                scripts/vserver-build.functions \
                                scripts/vserver-build.functions.apt \
                                scripts/vserver-build.functions.rpm \
@@ -52,7 +57,9 @@ scripts_pkglib_src_DTA =      scripts/functions \
                                scripts/vserver.functions \
                                scripts/vserver.start \
                                scripts/vserver.stop \
-                               scripts/vserver.suexec
+                               scripts/vserver.suexec \
+                               scripts/vserver.delete \
+                               scripts/vserver-init.functions
 
 scripts_pkglib_gen_DTA =       scripts/util-vserver-vars
 
@@ -78,14 +85,19 @@ scripts_legacy_src_SCRPTS = scripts/legacy/save_s_context \
 scripts_legacy_gen_SCRPTS =    scripts/legacy/vps
 scripts_legacy_src_PRGS =      scripts/legacy/vserver-copy
 
-scripts_sbin_src_PRGS =                scripts/chcontext \
+scripts_sbin_src_PRGS =                scripts/chbind \
+                               scripts/chcontext \
                                scripts/vapt-get \
+                               scripts/vdispatch-conf \
+                               scripts/vemerge \
+                               scripts/vesync \
                                scripts/vpstree \
                                scripts/vrpm \
                                scripts/vserver \
                                scripts/vsomething \
                                scripts/vtop \
                                scripts/vcached \
+                               scripts/vupdateworld \
                                scripts/vuseradd \
                                scripts/vuserdel \
                                scripts/vyum
diff --git a/scripts/chbind b/scripts/chbind
new file mode 100755 (executable)
index 0000000..ae82ed0
--- /dev/null
@@ -0,0 +1,132 @@
+#! /bin/bash
+# $Id: chbind 2394 2006-11-23 21:12:26Z dhozac $
+
+# Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+# Copyright (C) 2006 Daniel Hokka Zakrisson
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+    echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
+    exit 1
+}
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+function showHelp()
+{
+    echo \
+$"Usage: $1  [--silent] [--nid <nid>] [--ip <ip_num>[/<mask>]]
+             [--bcast <broadcast>] [--] <commands> <args>*
+
+--silent
+    Do not print the addresses assigned.
+--nid <nid>
+    Network context id to use.
+--ip <ip_num>[/<mask>]
+    IP address to bind to.
+--bcast <broadcast>
+    Broadcast address for the network context.
+
+Report bugs to <$PACKAGE_BUGREPORT>."
+    exit $2
+}
+
+function showVersion()
+{
+    echo \
+$"chbind $PACKAGE_VERSION -- bind to IP addresses and execute a program
+This program is part of $PACKAGE_STRING
+
+Copyright (C) 2004 Enrico Scholz
+Copyright (C) 2006 Daniel Hokka Zakrisson
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License.  This program has absolutely no warranty."
+    exit $1
+}
+
+tmp=$(getopt -o + --long ncap:,nid:,ip:,bcast:,disconnect,flag:,secure,silent,help,version -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+OPT_CAPS=()
+OPT_NID=
+OPT_DISCONNECT=
+OPT_FLAGS=()
+OPT_SECURE=
+OPT_SILENT=
+OPT_BCAST=
+OPT_IPS=()
+
+while true; do
+    case "$1" in
+       --help)         showHelp $0 0;;
+       --version)      showVersion 0;;
+       --ncap)         OPT_CAPS=( "${OPT_CAPS[@]}" "$2" ); shift;;
+       --nid)          OPT_NID=$2; shift;;
+       --disconnect)   OPT_DISCONNECT=1;;
+       --flag)         OPT_FLAGS=( "${OPT_FLAGS[@]}" "$2" ); shift;;
+       --secure)       OPT_SECURE=1;;
+       --silent)       OPT_SILENT=1;;
+       --ip)           OPT_IPS=( "${OPT_IPS[@]}" --ip "$2" ); shift;;
+       --bcast)        OPT_BCAST=$2; shift;;
+       --)             shift; break;;
+       *)              echo $"chbind: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
+done
+
+$_VSERVER_INFO - FEATURE vnet || exec $_CHBIND_COMPAT \
+       ${OPT_NID:+--nid "$OPT_NID"} \
+       ${OPT_SILENT:+--silent} \
+       ${OPT_BCAST:+--bcast "$OPT_BCAST"} \
+       "${OPT_IPS[@]}" \
+       -- "$@"
+
+create_cmd=( $_NCONTEXT --create --silentexist
+            ${OPT_SILENT:+--silent}
+            ${OPT_NID:+--nid "$OPT_NID"} )
+
+chain_cmd=()
+
+old_IFS=$IFS
+IFS=,$IFS
+
+chain_cmd=( "${chain_cmd[@]}"
+               --
+               $_NATTRIBUTE --set
+               ${OPT_SECURE:+--secure}
+               ${OPT_CAPS:+--ncap "${OPT_CAPS[*]}"}
+               ${OPT_FLAGS:+--flag "${OPT_FLAGS[*]}"}
+               --
+               $_NADDRESS --add
+               ${OPT_SILENT:+--silent}
+               ${OPT_BCAST:+--bcast "$OPT_BCAST"}
+               "${OPT_IPS[@]}" )
+
+migrate_cmd=( $_NCONTEXT
+             ${OPT_SILENT:+--silent}
+             ${OPT_DISCONNECT:+--disconnect} )
+
+IFS=$old_IFS
+
+if test -z "$OPT_NID" || $_VSERVER_INFO -q "$OPT_NID" XIDTYPE static; then
+    "${create_cmd[@]}" "${chain_cmd[@]}" -- "$@"
+    rc=$?
+else
+    rc=254
+fi
+
+test "$rc" -ne 254 || exec "${migrate_cmd[@]}" --nid "$OPT_NID" --migrate -- "$@"
+exit $rc
index bfe2d51..905d7e3 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: chcontext,v 1.19 2005/04/08 19:14:47 ensc Exp $
+# $Id: chcontext 2383 2006-11-17 18:48:33Z dhozac $
 
 # Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -27,7 +27,7 @@ test -e "$UTIL_VSERVER_VARS" || {
 function showHelp()
 {
     echo \
-$"Usage: /usr/sbin/chcontext [--cap [!]<cap_name>] [--secure] [--xid <num>] [--disconnect]
+$"Usage: $1 [--cap [!]<cap_name>] [--secure] [--xid <num>] [--disconnect]
        [--domainname <name>] [--hostname <name>] [--flag <flags>+]
        [--silent] [--] command arguments ...
 
@@ -84,7 +84,7 @@ By default, a new/unused context is allocated
     Do not print the allocated context number.
 
 Report bugs to <$PACKAGE_BUGREPORT>."
-    exit $1
+    exit $2
 }
 
 function showVersion()
@@ -114,8 +114,8 @@ OPT_INITPID=
 
 while true; do
     case "$1" in
-       --help)         showHelp $0 ;;
-       --version)      showVersion ;;
+       --help)         showHelp $0 0;;
+       --version)      showVersion 0;;
        --cap)          OPT_CAPS=( "${OPT_CAPS[@]}" "$2" ); shift;;
        --ctx|--xid)    OPT_CTX=$2; shift;;
        --disconnect)   OPT_DISCONNECT=1;;
@@ -153,9 +153,9 @@ test -z "$OPT_DOMAINNAME$OPT_HOSTNAME" || \
 chain_cmd=( "${chain_cmd[@]}"
                --
                $_VATTRIBUTE --set
+               ${OPT_SECURE:+--secure}
                ${OPT_CAPS:+--bcap "${OPT_CAPS[*]}"}
-               ${OPT_FLAGS:+--flag "${OPT_FLAGS[*]}"}
-               ${OPT_SECURE:+--secure} )
+               ${OPT_FLAGS:+--flag "${OPT_FLAGS[*]}"} )
                
 migrate_cmd=( $_VCONTEXT
              ${OPT_SILENT:+--silent}
index a8f451d..9c5a002 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: functions,v 1.62 2005/07/03 17:42:49 ensc Exp $ --*- sh -*--
+# $Id: functions 2531 2007-04-21 14:04:35Z dhozac $    --*- sh -*--
 
-# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+# Copyright (C) 2003,2004,2005,2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -84,6 +84,29 @@ function getPhysicalDir
     ( set -P && cd "$1" && pwd )
 }
 
+## Usage:: isDirectoryEmpty <dir> [<ignore-lost+found>]
+function isDirectoryEmpty
+{
+    (
+       shopt -s dotglob  || *
+       shopt -s nullglob || *
+
+       ignore_lostfound=1
+       test -z "$2" -o "$2" = 0 || ignore_lostfound=
+       
+       for i in "$1"/*; do
+           case "$i" in
+               ($1/lost+found)
+                   test "$ignore_lostfound" || exit 1
+                   ;;
+               (*)     echo "$i"; exit 1
+           esac
+        done
+
+       exit 0
+    )
+}
+
 ## Usage: logging <message>
 function logging
 {
@@ -180,11 +203,34 @@ function colorize
          esac
        fi
            
-       "$@"
+       ( "$@" )
        echo -ne "\e[m"
     fi
 }
 
+function colpanic
+{
+    if test -n "$_VS_ERRFILE"; then
+       echo "$@" >>"$_VS_ERRFILE"
+    else
+       colorize error echo -n "$@" >&2
+    fi
+    echo
+
+    exit 1
+}
+
+function colwarning
+{
+    colorize warning warning "$@"
+}
+
+function colinfo
+{
+    colorize info    echo "$@"
+}
+
+
 ## Usage: xtermTitle <title>
 function xtermTitle
 {
@@ -196,7 +242,7 @@ _VS_LOCKS=''
 ## Usage: lock <lockfile> [<timeout>]
 function lock
 {
-    local tmp=$($_MKTEMP /tmp/vserver-lock.XXXXXX)
+    local tmp=$($_MKTEMP vserver-lock.XXXXXX)
     $_RM -f $tmp
     $_MKFIFO -m600 $tmp
 
@@ -222,6 +268,39 @@ function unlock
     _VS_LOCKS="$@"
 }
 
+function get_init_cwd
+{
+    if test -n "$INIT_CWD"; then
+       echo "$INIT_CWD"
+    else
+       pwd
+    fi
+}
+function set_init_cwd
+{
+    INIT_CWD="`pwd`"
+    export INIT_CWD
+}
+
+function _setVserverDir
+{
+    local vserver="$1"
+    case "$vserver" in
+       ./*) VSERVER_DIR="`get_init_cwd`/$vserver";;
+       /*)  VSERVER_DIR="$vserver"               ;;
+       *)   VSERVER_DIR="$__CONFDIR/$vserver"    ;;
+    esac
+}
+
+function _setVserverName
+{
+    if test -e "$VSERVER_DIR"/name; then
+       read VSERVER_NAME <"$VSERVER_DIR"/name
+    else
+       VSERVER_NAME=$(basename "$VSERVER_DIR")
+    fi
+}
+
 function _pkgMountBindDir()
 {
     test "$1" != "$2" || return 0
@@ -434,6 +513,19 @@ function isAvoidNamespace
          -e "$cfgdir"/nonamespace
 }
 
+function isNamespaceCleanup
+{
+    local cfgdir
+
+    $_VSERVER_INFO - FEATURE namespace   || return 1
+    cfgdir=$($_VSERVER_INFO "$1" CFGDIR) || return 1
+    isAvoidNamespace "$1"                && return 1
+    test -e "$cfgdir"/namespace-cleanup  && return 0
+    test -e "$cfgdir"/nonamespace-cleanup -o \
+         -e "$__CONFDIR"/.defaults/nonamespace-cleanup && return 1
+    return 0
+}
+
 ## Usage: getAllVservers <var> [<KIND>*]
 function getAllVservers
 {
@@ -489,7 +581,7 @@ function _getProcNumberCount
 
     # Use /proc/virtual from kernel 2.6 when possible
     if test -d "/proc/virtual"; then
-       set -- $($_GREP '^PROC:' "/proc/virtual/$1/limit" 2>/dev/null)
+       set -- $($_GREP '^Tasks:' "/proc/virtual/$1/status" 2>/dev/null)
        _gp_procnr_cnt=$2
     else
        _gp_procnr_cnt=$($_VPS ax | $_AWK '{print $2}' | $_GREP -x "$1" | $_WC -l )
@@ -554,13 +646,17 @@ function getFileValue
     eval read "$_gfv_var" <"$_gfv_file"
 }
 
-## Called as 'getFileArray <varname> <filename>'
+## Called as 'getFileArray <varname> <filename>+'
 function getFileArray
 {
-    test -r "$2" || return 1
-    
+    local _gfa_var=$1
+    local _gfa_file
+    shift
+
+    findFile _gfa_file "$@" ''
+    test -n "$_gfa_file" -a -r "$_gfa_file" || return 0
     local IFS=$_VS_NEWLINE
-    eval "$1"='( $(< "$2") )'
+    eval "$_gfa_var"='( $(< "$_gfa_file") )'
 }
 
 function checkComponents
@@ -627,8 +723,12 @@ function setDefaultTTY
        "$__CONFDIR/.defaults/apps/init/tty" \
        $2 /dev/null
 
-    exec   <$ttyname
-    exec  &>$ttyname
+    if test -f "$ttyname"; then
+       exec </dev/null
+    else
+       exec <$ttyname
+    fi
+    exec    >>$ttyname 2>&1
 }
 
 ## Usage: killContext <XID> [<SIG>]
@@ -643,6 +743,11 @@ function killContext
     #$_VKILL -s CONT   --xid "$1" 1 &>/dev/null || :
 }
 
+function useVlogin
+{
+    test ! -e "$__CONFDIR/.defaults/apps/vlogin/disable"
+}
+
 ## Usage: pkgmgmt.guessStyle <vserver> <resultvar>
 function pkgmgmt.guessStyle()
 {
@@ -753,9 +858,11 @@ function vshelper.doSanityCheck
        vshelper=$(cat "$proc_file")
 
        $_CMP -s "$vshelper" "$_VSHELPER" || {
+           local readable=""
+           test -r "$vshelper" && readable=1
            warnings=( "${warnings[@]}"
                       $"The configured vshelper '$vshelper' does not match the 'vshelper'
-  script of the util-vserver package"
+  script of the util-vserver package.${readable:+ Maybe you have two versions installed?}"
                     )
            solution_disable=1
            solution_sysctl=1
@@ -923,7 +1030,7 @@ function vshelper.doDestroy
 function vshelper.initSync
 {
     local _vis_tmpdir
-    _vis_tmpdir=$($_MKTEMPDIR /tmp/vserver-stop.XXXXXX) || {
+    _vis_tmpdir=$($_MKTEMPDIR vserver-stop.XXXXXX) || {
        warning $"Failed to generate temporary directory for vshelper sync"
        return 1
     }
@@ -946,6 +1053,36 @@ function vshelper.getSyncTimeout
     eval $2=\$_vgst_tmp
 }
 
+function vshelper.initStopSync
+{
+       local _iss_sync_dir=$($_MKTEMPDIR vshelper-stop-sync.XXXXXX) || {
+               warning $"Failed to generate directory for vshelper sync"
+               exit 1
+       }
+       $_MKFIFO -m700 "$_iss_sync_dir/pipe"
+
+       eval "$1"=\$_iss_sync_dir
+       VSHELPER_STOP_SYNC="$_iss_sync_dir/pipe"
+       export VSHELPER_STOP_SYNC
+}
+
+function vshelper.waitForStopSync
+{
+       local sync_dir=$1
+       cat "$sync_dir/pipe" &> /dev/null
+       rm -fr "$sync_dir"
+}
+
+function vshelper.doStopSync
+{
+       test ! -p "$VSHELPER_STOP_SYNC" || echo stopped > "$VSHELPER_STOP_SYNC"
+}
+
+function vshelper.isStopSync
+{
+       test -p "$VSHELPER_STOP_SYNC" || return 1
+       return 0
+}
 
 function _rpmFake.getCapFlags
 {
index 9ff978f..a956475 100755 (executable)
@@ -396,7 +396,7 @@ elif [ "$2" = "start" ] ; then
                        DOMAINOPT="--domainname $S_DOMAINNAME"
                fi
                if [ "$S_NICE" != "" ] ; then
-                       NICECMD="nice -$S_NICE"
+                       NICECMD="nice -$S_NICE"
                fi
                mkdir -p $__PKGSTATEDIR
                chmod 700 $__PKGSTATEDIR
@@ -491,6 +491,7 @@ elif [ "$2" = "stop" ] ; then
                export PATH=$DEFAULTPATH
                # XXX execute /etc/rc.vinit first for backward compatibility
                for CMD in "$VINIT_CMD $2" "$STOPCMD" ; do
+                       $_CHBIND_COMPAT $SILENT $IPOPT --bcast $IPROOTBCAST \
                        $_CHCONTEXT_COMPAT $SILENT $CAPS --secure --ctx $S_CONTEXT \
                        $_CAPCHROOT . $STOPCMD
                done
@@ -505,7 +506,8 @@ elif [ "$2" = "stop" ] ; then
                fi
 
                echo Killing all processes
-               $_CHCONTEXT_COMPAT $CAPS --secure --silent --ctx $S_CONTEXT \
+               $_CHBIND_COMPAT --silent $IPOPT --bcast $IPROOTBCAST \
+                       $_CHCONTEXT_COMPAT $CAPS --secure --silent --ctx $S_CONTEXT \
                        $_VSERVERKILLALL
        fi
        # We umount anyway, because "enter" establish the mount
@@ -576,7 +578,8 @@ elif [ "$2" = "suexec" ] ; then
                        . $__PKGSTATEDIR/$VSERVER.ctx
                        cd $__DEFAULT_VSERVERDIR/$VSERVER
                        export PATH=$DEFAULTPATH
-                       exec $_CHCONTEXT_COMPAT $SILENT $FLAGS $CAPS --secure --ctx $S_CONTEXT \
+                       exec $_CHBIND_COMPAT $SILENT $IPOPT --bcast $IPROOTBCAST \
+                               $_CHCONTEXT_COMPAT $SILENT $FLAGS $CAPS --secure --ctx $S_CONTEXT \
                                $_CAPCHROOT --suid $USERID . "$@"
                else
                        test -x $__CONFDIR/$1.sh && $__CONFDIR/$1.sh pre-start $1
@@ -596,7 +599,8 @@ elif [ "$2" = "suexec" ] ; then
                        mkdir -p $__PKGSTATEDIR
                        cd $__DEFAULT_VSERVERDIR/$VSERVER
                        export PATH=$DEFAULTPATH
-                       exec $_CHCONTEXT_COMPAT $SILENT $FLAGS $CAPS --secure $CTXOPT $HOSTOPT $DOMAINOPT \
+                       exec $_CHBIND_COMPAT $SILENT $IPOPT --bcast $IPROOTBCAST \
+                               $_CHCONTEXT_COMPAT $SILENT $FLAGS $CAPS --secure $CTXOPT $HOSTOPT $DOMAINOPT \
                                $_SAVE_S_CONTEXT $__PKGSTATEDIR/$VSERVER.ctx \
                                $_CAPCHROOT --suid $USERID $CHROOTOPT . "$@"
                fi
index d7b968f..792d563 100755 (executable)
@@ -295,7 +295,7 @@ fi
 
 info "Syncing directories"
 # trailing slashes very important in the rsync!
-if ! rsync -avxz $rsflag $shcmd $vroot/ $dhost$colon$target/; then
+if ! rsync -Havxz --numeric-ids $rsflag $shcmd $vroot/ $dhost$colon$target/; then
        error 1 "rsync failed"
 fi
 
diff --git a/scripts/magic.mime b/scripts/magic.mime
new file mode 100644 (file)
index 0000000..0e10d84
--- /dev/null
@@ -0,0 +1,19 @@
+# Borrowed from file(1)
+# gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver)
+0      string          \037\213                application/x-gzip
+# tar posix
+257    string          ustar\0                 application/x-tar
+# tar gnu
+257    string          ustar\040\040\0         application/x-tar
+# cpio
+0      short           070707                  application/x-cpio
+# cpio swapped
+0      short           0143561                 application/x-cpio
+# bzip2
+0      string          BZh                     application/x-bzip2
+# dump/restore new-fs big and little endian
+24     belong          60012                   application/x-dump
+24     lelong          60012                   application/x-dump
+# dump/restore old-fs big and little endian
+24     belong          60011                   application/x-dump
+24     lelong          60011                   application/x-dump
index 99cc96c..da52508 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# $Id: pkgmgmt,v 1.13 2005/07/03 17:43:34 ensc Exp $
+# $Id: pkgmgmt 2518 2007-03-18 22:15:07Z dhozac $
 
 # Copyright (C) 2004,2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -23,6 +23,7 @@ test -e "$UTIL_VSERVER_VARS" || {
 }
 . "$UTIL_VSERVER_VARS"
 . "$_LIB_FUNCTIONS"
+. "$_LIB_VSERVER_BUILD_FUNCTIONS"
 . "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
 . "$__PKGLIBDIR/vserver.functions"
 
@@ -54,7 +55,6 @@ function init()
     else
        rpmdb_mntpoint=/.rpmdb
     fi
-    pkgmgmt.initVariables
 }
 
 function _createDirs()
@@ -94,7 +94,7 @@ function _substFile()
     
     $_CHROOT_SH testfile "$file" || return 0
 
-    local tmp=$($_MKTEMP /tmp/pkgmgmt_subst.XXXXXX)
+    local tmp=$($_MKTEMP pkgmgmt_subst.XXXXXX)
     trap "$_RM -f $tmp" EXIT
 
     $_CHROOT_SH cat "$file" | \
@@ -113,7 +113,7 @@ function _hashAuto()
 
     $_CHROOT_SH testfile "$file" || return 0
     
-    local tmp=$($_MKTEMP /tmp/apt.conf.XXXXXX)
+    local tmp=$($_MKTEMP apt.conf.XXXXXX)
     trap "$_RM -f $tmp" EXIT
 
     $_CHROOT_SH cat "$file" | \
@@ -130,7 +130,7 @@ function _unhashAuto()
     test -e "$1" || return 0
 
     local hash=$2
-    local tmp=$($_MKTEMP /tmp/apt.conf.XXXXXX)
+    local tmp=$($_MKTEMP apt.conf.XXXXXX)
     trap "$_RM -f $tmp" EXIT
 
     $_SED -e "s|^$hash$hash\(.*@autogenerated@\)|\1|" "$1" >$tmp
@@ -160,8 +160,9 @@ function _mountFilesystems()
     }
     test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1"
     
-    _mountFilesystemsInternal "$cfgdir"/fstab       $_CHBIND "${CHBIND_OPTS[@]}" || return 1
-    _mountFilesystemsInternal "$cfgdir"/fstab.local $_CHBIND "${CHBIND_OPTS[@]}" || return 1
+    _mountFilesystemsInternal "$cfgdir"/fstab                                     || return 1
+    _mountFilesystemsInternal "$cfgdir"/fstab.local                               || return 1
+    _mountFilesystemsInternal "$cfgdir"/fstab.remote $_CHBIND "${CHBIND_OPTS[@]}" || return 1
 }
 
 function _umountFilesystems()
@@ -176,8 +177,9 @@ function _umountFilesystems()
     test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1"
 
     pushd "$vdir/" >/dev/null || return 1
-       _umountVserverInternal  "$cfgdir"/fstab.local                              || is_ok=
-       _umountVserverInternal  "$cfgdir"/fstab       $_CHBIND "${CHBIND_OPTS[@]}" || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab.remote $_CHBIND "${CHBIND_OPTS[@]}" || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab.local                               || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab                                     || is_ok=
     popd >/dev/null           || return 1
     
     test -n "$is_ok"
@@ -350,7 +352,7 @@ Can not continue; use '--force' to override this check"
     if test -n "$is_internalize"; then
        :
     else
-       tmpdir=$($_MKTEMPDIR /var/tmp/pgmgmt.XXXXXX)
+       tmpdir=$($_MKTEMPDIR -p /var/tmp pkgmgmt.XXXXXX)
        trap "$_RM -rf $tmpdir" EXIT
        pushd "$vdir" >/dev/null
        $_EXEC_CD /var/lib $_MV rpm $tmpdir/
@@ -396,6 +398,11 @@ function processVserver()
        echo $"Vserver '$vserver' does not seem to exist; skipping it..."
        return 1
     } >&2
+
+    _setVserverDir "$vserver"
+    _setVserverName
+    _setVserverDirName
+    pkgmgmt.initVariables
     
     pkgmgmt.isInternal "$vserver" || is_external=1
 
index f35bf13..f02d3a3 100755 (executable)
@@ -52,7 +52,27 @@ the GNU General Public License.  This program has absolutely no warranty."
 
 function verifyVserver()
 {
-    true
+    local xtra="${2:+ mentioned in '$2'}"
+    case x$1 in
+       (x\#*|x)
+               return 1;;      # skip empty and comment lines
+       ($__CONFDIR/*)
+               warning "This version of 'start-vservers' supports only short vserver names; try to remove the '$__CONFDIR' from '$1'$xtra"
+               return 1
+               ;;
+       (/*)
+               warning "This version of 'start-vservers' supports only short vserver names; '$1'$xtra is not possible"
+               return 1
+               ;;
+       (*)
+               $_VSERVER_INFO -q "$__CONFDIR/$1" VDIR || {
+                       warning "Vserver '$1'$xtra does not exist; skipping it..."
+                       return 1;
+               }
+               ;;
+    esac
+
+    return 0
 }
 
 ###
@@ -68,6 +88,7 @@ eval set -- "$tmp"
 declare -a tmp_vservers=()
 declare -r TAB=$(echo -en "\t")
 OPTION_MARK=
+OPTION_MARK_ANY=1
 OPTION_PARALLEL=99
 OPTION_DEBUG=
 NOOPTION_DEBUG=1
@@ -84,7 +105,7 @@ while true; do
        (--help)        showHelp    $0 ;;
        (--version)     showVersion $0 ;;
        (-c)            CONFDIR=$2;     shift;;
-       (-m)            OPTION_MARK=$2; shift;;
+       (-m)            OPTION_MARK=$2; OPTION_MARK_ANY=; shift;;
        (-j)            OPTION_PARALLEL=$2; shift;;
        (--start)       OPTION_FLAVOR=start;;
        (--stop)        OPTION_FLAVOR=stop;;
@@ -109,15 +130,16 @@ while test $i -gt 0; do
     let --i
     d=$__CONFDIR/${vservers[$i]}/apps/init
     f=$d/mark
+    { test -n "$OPTION_MARK_ANY"; } || \
     { test -n "$OPTION_MARK" -a -r "$f" && grep -qx "$OPTION_MARK" "$f"; } || \
     { test -z "$OPTION_MARK" && test ! -e "$f"; } || \
     unset vservers[$i]
 done
 
-makedir=$($_MKTEMPDIR /tmp/vserver-init.XXXXXX)
-okfile=$($_MKTEMP     /tmp/vserver-init.XXXXXX)
-passedfile=$($_MKTEMP /tmp/vserver-init.XXXXXX)
-trap "$_RM -rf $makedir $resultfile $passedfile" EXIT
+makedir=$($_MKTEMPDIR vserver-init.XXXXXX)
+okfile=$($_MKTEMP     vserver-init.XXXXXX)
+passedfile=$($_MKTEMP vserver-init.XXXXXX)
+trap "$_RM -rf $makedir $okfile $passedfile" EXIT
 
 test_cmd=false
 case "$OPTION_FLAVOR" in
@@ -137,6 +159,8 @@ EOF
 
     echo -ne "all:\t"
     for i in "${vservers[@]}"; do
+       verifyVserver "$i" || continue
+
        echo -n ".$i.stamp "
     done
     echo
@@ -148,24 +172,25 @@ for i in "${vservers[@]}"; do
     test -e "$d"/depends || continue
     cat "$d"/depends
 done | sort -u | while read vserver; do
+    verifyVserver "$vserver" || continue
     d="$__CONFDIR/$vserver"/apps/init
 
     case "$OPTION_FLAVOR" in
-       start)
+       (start)
            if test -e "$d"/depends; then
                echo -ne ".$vserver.stamp:\t"
                cat "$d"/depends | while read dep; do
-                   verifyVserver "$dep"
+                   verifyVserver "$dep" "$d"/depends || continue
                    echo -n ".$dep.stamp "
                done
                echo
            fi >>$makedir/Makefile
            ;;
-       stop)
+       (stop)
            if test -e "$d"/depends; then
                cat "$d"/depends | while read dep; do
-                   verifyVserver "$dep"
-                   echo -ne ".$dep.stamp:\t.$vserver.stamp"
+                   verifyVserver "$dep" "$d"/depends || continue
+                   echo -e ".$dep.stamp:\t.$vserver.stamp"
                done
                echo
            fi >>$makedir/Makefile
index a9393d6..afecf6d 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: util-vserver-vars.pathsubst,v 1.49 2005/07/03 17:43:55 ensc Exp $   --*- sh -*--
+# $Id: util-vserver-vars.pathsubst 2468 2007-01-21 20:05:19Z dhozac $   --*- sh -*--
 
 PACKAGE='@PACKAGE@'
 PACKAGE_BUGREPORT='@PACKAGE_BUGREPORT@'
@@ -14,6 +14,7 @@ __LEGACYDIR="@LEGACYDIR@"
 __LIBDIR='@LIBDIR@'
 __LOCKDIR="/var/lock"
 __PKGLIBDIR='@PKGLIBDIR@'
+__PKGCACHEDIR="@PKGCACHEDIR@"
 __PKGSTATEDIR="@PKGSTATEDIR@"
 __PKGSTATEREVDIR="@PKGSTATEREVDIR@"
 __SBINDIR='@SBINDIR@'
@@ -30,6 +31,7 @@ __DEFAULT_VSERVERPKGDIR='@VSERVERPKGDIR@'
 _CAPCHROOT="$__PKGLIBDIR/capchroot"
 _CHAINECHO="$__PKGLIBDIR/chain-echo"
 _CHBIND="$__SBINDIR/chbind"
+_CHBIND_COMPAT="$__PKGLIBDIR/chbind-compat"
 _CHCONTEXT="$__SBINDIR/chcontext"
 _CHCONTEXT_COMPAT="$__PKGLIBDIR/chcontext-compat"
 _CHECK_UNIXFILE="$__PKGLIBDIR/check-unixfile"
@@ -42,6 +44,8 @@ _IFSPEC="$__LEGACYDIR/ifspec"
 _INITSYNC_MINIT_START=":"
 _KEEP_CTX_ALIVE="$__PKGLIBDIR/keep-ctx-alive"
 _LIB_FUNCTIONS="$__PKGLIBDIR/functions"
+_LIB_MAGIC="$__PKGLIBDIR/magic"
+_LIB_VSERVER_INIT_FUNCTIONS="$__PKGLIBDIR/vserver-init.functions"
 _LIB_VSERVER_SETUP_FUNCTIONS="$__PKGLIBDIR/vserver-setup.functions"
 _LIB_VSERVER_BUILD_FUNCTIONS="$__PKGLIBDIR/vserver-build.functions"
 _LIB_VSERVER_BUILD_FUNCTIONS_APT="$__PKGLIBDIR/vserver-build.functions.apt"
@@ -51,6 +55,9 @@ _LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT="$__PKGLIBDIR/vserver-build.functions.pkgmg
 _LISTDEVIP="$__LEGACYDIR/listdevip"
 _LOCKFILE="$__PKGLIBDIR/lockfile"
 _MASK2PREFIX="$__PKGLIBDIR/mask2prefix"
+_NADDRESS="$__SBINDIR/naddress"
+_NATTRIBUTE="$__SBINDIR/nattribute"
+_NCONTEXT="$__SBINDIR/ncontext"
 _PARSERPMDUMP="$__LEGACYDIR/parserpmdump"
 _PKGMGMT="$__PKGLIBDIR/pkgmgmt"
 _READLINK="$__PKGLIBDIR/readlink"
@@ -65,7 +72,11 @@ _START_VSERVERS="$__PKGLIBDIR/start-vservers"
 _VAPT_GET="$__SBINDIR/vapt-get"
 _VAPT_GET_WORKER="$__PKGLIBDIR/vapt-get-worker"
 _VATTRIBUTE="$__SBINDIR/vattribute"
+_VCLONE="$__PKGLIBDIR/vclone"
 _VCONTEXT="$__SBINDIR/vcontext"
+_VDEVMAP="$__SBINDIR/vdevmap"
+_VDLIMIT="$__SBINDIR/vdlimit"
+_VDU="$__SBINDIR/vdu"
 _VHASHIFY="$__PKGLIBDIR/vhashify"
 _VKILL="$__SBINDIR/vkill"
 _VLIMIT="$__SBINDIR/vlimit"
@@ -86,6 +97,7 @@ _VSERVERKILLALL="$__LEGACYDIR/vserverkillall"
 _VSHELPER="$__PKGLIBDIR/vshelper"
 _VSHELPER_SYNC="$__PKGLIBDIR/vshelper-sync"
 _VSOMETHING="$__SBINDIR/vsomething"
+_VSYSCTL="$__PKGLIBDIR/vsysctl"
 _VWAIT="$__SBINDIR/vwait"
 _VUNAME="$__SBINDIR/vuname"
 _VUNIFY="$__PKGLIBDIR/vunify"
@@ -93,21 +105,25 @@ _VYUM="$__SBINDIR/vyum"
 _VYUM_WORKER="$__PKGLIBDIR/vyum-worker"
 
 _AWK="@AWK@"
+_BZIP2="@BZIP2@"
 _CAT="@CAT@"
 _CHOWN="@CHOWN@"
 _CMP="@CMP@"
 _CP="@CP@"
+_CPIO="@CPIO@"
 _DIRNAME="@DIRNAME@"
 _EGREP="@EGREP@"
 _ENV="@ENV@"
+_FILE="@FILE@"
 _GREP="@GREP@"
+_GZIP="@GZIP@"
 _IP="@IP@"
 _IPTABLES="@IPTABLES@"
 _LN="@LN@"
 _LN_S="$_LN -s"
 _MKDIR="@MKDIR@"
 _MKFIFO="@MKFIFO@"
-_MKTEMP="@MKTEMP@"
+_MKTEMP="@MKTEMP@ -t"
 _MKTEMPDIR="$_MKTEMP -d"
 _MODPROBE="@MODPROBE@"
 _MOUNT="@MOUNT@"
@@ -115,9 +131,11 @@ _MV="@MV@"
 _NAMEIF="@NAMEIF@"
 _NICE="@NICE@"
 _NOHUP="@NOHUP@"
+_RESTORE="@RESTORE@"
 _RM="@RM@"
 _RMDIR="@RMDIR@"
 _RMMOD="@RMMOD@"
+_RSYNC="@RSYNC@"
 _SED="@SED@"
 _SH="@SH@"
 _TAC="@TAC@"
index 324d1f1..1a8daf2 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vapt-get,v 1.14 2005/01/27 21:24:44 ensc Exp $
+# $Id: vapt-get 2335 2006-09-28 15:10:29Z dhozac $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -31,7 +31,7 @@ function showHelp()
 $"Usage: $0 <vserver-name>* [--all] -- <params>+
 
 Report bugs to <$PACKAGE_BUGREPORT>."
-    exit $1
+    exit 0
 }
 
 function showVersion()
@@ -40,60 +40,35 @@ function showVersion()
 $"vapt-get $PACKAGE_VERSION -- apt-get for vservers
 This program is part of $PACKAGE_STRING
 
-Copyright (C) 2003 Enrico Scholz
+Copyright (C) 2006 Enrico Scholz
 This program is free software; you may redistribute it under the terms of
 the GNU General Public License.  This program has absolutely no warranty."
-    exit $1
+    exit 0
 }
 
-is_quiet=
-declare -a vservers=()
+tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
 
-while test "$#" -ge 1; do
+declare -a send_through vsomething_opts
+
+while true; do
     case "$1" in
-       --)             shift; break;;
-       --help)         showHelp 0;;
-       --quiet|-q)     is_quiet=1 ;;
-       --all)
-           getAllVservers tmp
-           vservers=( "${vservers[@]}" "${tmp[@]}" )
-           ;;
-       --version)
-           showVersion 0;;
-       *)  vservers=( "${vservers[@]}" "$1" )
-     esac
-     shift
+       (--help)        showHelp $0 ;;
+       (--version)     showVersion ;;
+       (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
+       (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--)            shift; break;;
+       (*)             echo $"vapt-get: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
 done
 
-test "$#" -ge 1 || showHelp 1 >&2
-test "${#vservers[@]}" -ne 1 || is_quiet=1
-
-cnt=0
-res=255
-for i in "${vservers[@]}"; do
-    cnt=$[ cnt + 1 ]
+VSOMETHING_TITLE=vapt-get
+VSOMETHING_WORKER=$_VAPT_GET_WORKER
+VSOMETHING_PKGMGMT=1
 
-    test -n "$is_quiet" || {
-       colorize bold echo -n "vaptget: operating on vserver "
-       colorize bold colorize emph echo "$i"
-       xtermTitle "vaptget: operating on vserver '$i'  [$cnt/${#vservers[@]}]"
-    }
-    
-    if pkgmgmt.isInternal "$i"; then
-       $_VSERVER "$i" exec apt-get "$@"
-    else
-       callInNamespace "$i" \
-           "$_VNAMESPACE" --new -- "$_VAPT_GET_WORKER" "$i" "$@"
-    fi
-    res=$?
-
-    test $res -eq 0 -o -n "$is_quiet" || {
-       colorize error echo -n $"vapt-get failed on vserver '$i' with errorcode $res"
-       echo
-    }
-       
-    test -n "$is_quiet" || echo
-done
+export VSOMETHING_TITLE VSOMETHING_WORKER VSOMETHING_PKGMGMT
 
-test "$cnt" -ge 0 || echo "No vservers specified" >&2
-exit $res
+test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- )
+exec $_VSOMETHING "${send_through[@]}" ${APT_GET:-apt-get} "${vsomething_opts[@]}" "$@"
index 1ffeebb..7ff5815 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vapt-get-worker,v 1.8 2005/02/25 21:51:02 ensc Exp $
+# $Id: vapt-get-worker 1870 2005-02-25 21:51:02Z ensc $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index c587bc1..3bd027d 100755 (executable)
@@ -16,7 +16,7 @@
 # Mark Huang <mlhuang@cs.princeton.edu>
 # Copyright (c) 2004-2005 The Trustees of Princeton University
 #
-# $Id: vcached,v 1.12 2005/09/03 21:47:11 mlhuang Exp $
+# $Id: vcached,v 1.14 2007/06/28 21:02:41 dhozac Exp $
 #
 
 PATH=/sbin:/usr/sbin:$PATH
@@ -90,7 +90,7 @@ for i in $(seq 0 $(($slots - 1))) ; do
        echo "$(date) Caching v$i"
        # build image in .vtmp
        TMP=$(mktemp -d "$__DEFAULT_VSERVERDIR/.vtmp/v$i.XXXXXX")
-       "$__PKGLIBDIR/vbuild" "$__DEFAULT_VSERVERDIR/.vref/default" "$TMP"
+       "$_VCLONE" "$__DEFAULT_VSERVERDIR/.vref/default/" "$TMP"/
        RETVAL=$?
        # move it to .vcache when complete
        if [ $RETVAL -eq 0 ] ; then
diff --git a/scripts/vdispatch-conf b/scripts/vdispatch-conf
new file mode 100755 (executable)
index 0000000..54e4bd4
--- /dev/null
@@ -0,0 +1,72 @@
+#!/bin/bash
+# $Id: vdispatch-conf 2486 2007-02-05 18:08:17Z hollow $
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+    echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
+    exit 1
+}
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+
+function showHelp()
+{
+    echo \
+$"Usage: $0 <vserver-name>* [--all] -- <params>+
+
+Report bugs to <$PACKAGE_BUGREPORT>."
+    exit 0
+}
+
+function showVersion()
+{
+    echo \
+$"vdispatch-conf $PACKAGE_VERSION -- dispatch-conf for vservers
+This program is part of $PACKAGE_STRING
+
+Copyright (C) 2006 Benedikt Boehm
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License.  This program has absolutely no warranty."
+    exit 0
+}
+
+tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+declare -a send_through vsomething_opts
+
+while true; do
+    case "$1" in
+       (--help)        showHelp $0 ;;
+       (--version)     showVersion ;;
+       (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
+       (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--)            shift; break;;
+       (*)             echo $"vdispatch-conf: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
+done
+
+VSOMETHING_TITLE=vemerge
+VSOMETHING_PKGMGMT=1
+
+export VSOMETHING_TITLE VSOMETHING_PKGMGMT
+
+exec $_VSOMETHING "${send_through[@]}" dispatch-conf "${vsomething_opts[@]}" "$@"
diff --git a/scripts/vemerge b/scripts/vemerge
new file mode 100755 (executable)
index 0000000..639fdd1
--- /dev/null
@@ -0,0 +1,73 @@
+#!/bin/bash
+# $Id: vemerge 2363 2006-11-03 14:36:23Z hollow $
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+    echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
+    exit 1
+}
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+
+function showHelp()
+{
+    echo \
+$"Usage: $0 <vserver-name>* [--all] -- <params>+
+
+Report bugs to <$PACKAGE_BUGREPORT>."
+    exit 0
+}
+
+function showVersion()
+{
+    echo \
+$"vemerge $PACKAGE_VERSION -- emerge for vservers
+This program is part of $PACKAGE_STRING
+
+Copyright (C) 2006 Benedikt Boehm
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License.  This program has absolutely no warranty."
+    exit 0
+}
+
+tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+declare -a send_through vsomething_opts
+
+while true; do
+    case "$1" in
+       (--help)        showHelp $0 ;;
+       (--version)     showVersion ;;
+       (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
+       (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--)            shift; break;;
+       (*)             echo $"vemerge: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
+done
+
+VSOMETHING_TITLE=vemerge
+VSOMETHING_PKGMGMT=1
+
+export VSOMETHING_TITLE VSOMETHING_PKGMGMT
+
+test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- )
+exec $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" "$@"
diff --git a/scripts/vesync b/scripts/vesync
new file mode 100755 (executable)
index 0000000..b722168
--- /dev/null
@@ -0,0 +1,89 @@
+#!/bin/bash
+# $Id: vesync 2486 2007-02-05 18:08:17Z hollow $
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+    echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
+    exit 1
+}
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+
+function showHelp()
+{
+    echo \
+$"Usage: $0 <vserver-name>* [--all] [--overlay <dir>] [--overlay-host <rsyncpath>] [--overlay-only]
+
+Report bugs to <$PACKAGE_BUGREPORT>."
+    exit 0
+}
+
+function showVersion()
+{
+    echo \
+$"vesync $PACKAGE_VERSION -- portage cache sync for vservers
+This program is part of $PACKAGE_STRING
+
+Copyright (C) 2006 Benedikt Boehm
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License.  This program has absolutely no warranty."
+    exit 0
+}
+
+tmp=$(getopt -o +q --long help,version,debug,quiet,all,overlay,overlay-host,overlay-only -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+declare -a send_through vsomething_opts
+overlay=
+overlay_host=
+overlay_only=0
+
+while true; do
+    case "$1" in
+       (--help)         showHelp $0 ;;
+       (--version)      showVersion ;;
+       (--debug)        send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)     send_through=( "${send_through[@]}" "$1" );;
+       (--all)          vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--overlay)      overlay="${2%/}";;
+       (--overlay-host) overlay_host="${2%/}";;
+       (--overlay-only) overlay_only=1;;
+       (--)             shift; break;;
+       (*)              echo $"vesync: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
+done
+
+VSOMETHING_TITLE=vesync
+VSOMETHING_PKGMGMT=1
+
+export VSOMETHING_TITLE VSOMETHING_PKGMGMT
+
+ret=0
+
+test $overlay_only -eq 0 && \
+       $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" "$@" -- --metadata
+
+ret=$?
+
+test -n "$overlay" -a -n "$overlay_host" && \
+       $_VSOMETHING "${send_through[@]}" rsync "${vsomething_opts[@]}" "$@" -- \
+       -rtW --progress --delete --delete-after "${overlay_host}/" "${overlay}/"
+
+test $? -eq 0 -a $ret -eq 0
index 30aa766..8d302f6 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# $Id: vpkg,v 1.11 2005/03/18 00:23:02 ensc Exp $
+# $Id: vpkg 1919 2005-03-18 00:23:02Z ensc $
 
 # Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index cc337e4..f71ded7 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# $Id: vprocunhide,v 1.8 2005/04/10 00:55:51 ensc Exp $
+# $Id: vprocunhide 2011 2005-04-10 00:55:51Z ensc $
 #
 # Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 1ae226a..2962353 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vrpm,v 1.13 2005/01/27 21:24:44 ensc Exp $
+# $Id: vrpm 2303 2006-09-12 12:39:00Z dhozac $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -24,14 +24,14 @@ test -e "$UTIL_VSERVER_VARS" || {
 . "$UTIL_VSERVER_VARS"
 . "$_LIB_FUNCTIONS"
 
+
 function showHelp()
 {
     echo \
-$"Usage: $0 <vserver-name>* [--all] [--quiet|-q] [--help] [--version] [--unify] -- <rpm-params>+
+$"Usage: $0 <vserver-name>* [--all] -- <params>+
 
 Report bugs to <$PACKAGE_BUGREPORT>."
-
-    exit $1
+    exit 0
 }
 
 function showVersion()
@@ -40,71 +40,35 @@ function showVersion()
 $"vrpm $PACKAGE_VERSION -- rpm for vservers
 This program is part of $PACKAGE_STRING
 
-Copyright (C) 2003 Enrico Scholz
+Copyright (C) 2006 Enrico Scholz
 This program is free software; you may redistribute it under the terms of
 the GNU General Public License.  This program has absolutely no warranty."
-    
-    exit $1
+    exit 0
 }
 
-do_unify=
-is_quiet=
-declare -a vservers=()
+tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+declare -a send_through vsomething_opts
 
-while test "$#" -ge 1; do
+while true; do
     case "$1" in
-       --quiet|-q)
-           is_quiet=1
-           ;;
-       --all)
-           getAllVservers tmp
-           vservers=( "${vservers[@]}" "${tmp[@]}" )
-           ;;
-       --unify)
-           do_unify=1
-           ;;
-       --)
-           shift; break;;
-       --help)
-           showHelp 0;;
-       --version)
-           showVersion 0;;
-       *)  vservers=( "${vservers[@]}" "$1" )
-     esac
-     shift
+       (--help)        showHelp $0 ;;
+       (--version)     showVersion ;;
+       (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
+       (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--)            shift; break;;
+       (*)             echo $"vrpm: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
 done
 
-test "$#" -ge 1 || showHelp 1 >&2
-test "${#vservers[@]}" -ne 1 || is_quiet=1
-
-cnt=0
-res=255
-
-for i in "${vservers[@]}"; do
-    cnt=$[ cnt + 1 ]
+VSOMETHING_TITLE=vrpm
+VSOMETHING_WORKER=$_VRPM_WORKER
+VSOMETHING_PKGMGMT=1
 
-    test -n "$is_quiet" || {
-       colorize bold echo -n "vrpm: operating on vserver "
-       colorize bold colorize emph echo "$i"
-       xtermTitle "vrpm: operating on vserver '$i'  [$cnt/${#vservers[@]}]"
-    }
-
-    if pkgmgmt.isInternal "$i"; then
-       $_VSERVER "$i" exec rpm "$@"
-    else
-       callInNamespace "$i" \
-           "$_VNAMESPACE" --new -- "$_VRPM_WORKER" "$i" "$@"
-    fi
-    res=$?
-
-    test $res -eq 0 -o "$is_quiet" || {
-       colorize error echo -n $"vrpm failed on vserver '$i' with errorcode $res"
-       echo
-    }
-
-    test -n "$is_quiet" || echo
-done
+export VSOMETHING_TITLE VSOMETHING_WORKER VSOMETHING_PKGMGMT
 
-test -z "$do_unify" || echo "unify currently unsupported" >&2
-test "$cnt" -ge 0   || echo "No vservers specified" >&2
-exit $res
+test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- )
+exec $_VSOMETHING "${send_through[@]}" rpm "${vsomething_opts[@]}" "$@"
index 7517aa0..fe8dfa3 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vrpm-preload,v 1.12 2005/01/27 21:24:44 ensc Exp $
+# $Id: vrpm-preload 1825 2005-01-27 21:24:44Z ensc $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index c271753..801da3d 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vrpm-worker,v 1.5 2004/04/08 06:05:06 ensc Exp $
+# $Id: vrpm-worker 1440 2004-04-08 06:05:06Z ensc $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 59553fa..ebd105b 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vserver,v 1.30 2005/04/28 18:03:42 ensc Exp $
+# $Id: vserver 2521 2007-03-21 04:46:18Z dhozac $
 
 # Copyright (C) 2003,2004,2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -37,7 +37,7 @@ $"Usage: $(basename $0) [-s|--sync] [-v|--verbose] [--silent]
 <vserver> is the name of a vserver.
 
 Possible commands are:
-    start [--rescue] [--rescue-cmd <cmd>]
+    start [--rescue [--rescue-init]] [<rescue-cmd> <args>*]
                 ... starts the specified vserver
     stop        ... stops the specified vserver
     restart     ... restarts the specified vserver; this is the subsequent
@@ -57,9 +57,10 @@ Possible commands are:
 
     build <buildopts>*
                 ... builds a new vserver from scratch
+    delete      ... remove a vserver
 
-    unify [-R]
-               ... (de)unify vserver
+    unify [-R] <vunify-opts>*
+               ... (de)unify the vserver with its reference vserver(s).
                
     pkg install <pkg>
                ... installs package(s) in the vserver
@@ -76,8 +77,8 @@ Possible commands are:
                    while 'internalize' means that data and programs from the
                    vserver will be used.
 
-    unify <vunify-opts>*
-                ... unify the vserver with its reference vserver(s).
+    hashify
+                ... hashify the guest.
                    
 
 Please report bugs to $PACKAGE_BUGREPORT"
@@ -152,7 +153,8 @@ SELF=( "$0" "${OPTION_ALL[@]}" )
 vserver=$1
 cmd=$2
 
-test "$cmd" != build || { shift 2; exec "$_VSERVER_BUILD" -n "$vserver" "$@"; }
+test "$cmd" != build || { shift 2; exec $_VNAMESPACE --new -- \
+    "$_VSERVER_BUILD" $OPTION_DEBUG -n "$vserver" "$@"; }
 
 
 allow_legacy=
@@ -188,18 +190,24 @@ Possible solutions:
     exit 5
 } >&2
 
-if test -e "$VSERVER_DIR"/name; then
-    read VSERVER_NAME <"$VSERVER_DIR"/name
-else
-    VSERVER_NAME=$(basename "$VSERVER_DIR")
-fi
+_setVserverName
 
+# Create a new namespace when starting the guest
 test "$2" != start -o -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
     exec $_VNAMESPACE --new -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}"
 
+# Enter the namespace early so we can test for files inside the guest
+test "$2" != enter -a "$2" != stop || \
+    test -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
+    ! isVserverRunning "$VSERVER_DIR" || \
+    exec $_VNAMESPACE --enter "$VSERVER_DIR" -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}"
+
+set_init_cwd
+cd /
+
 . $__PKGLIBDIR/vserver.functions
 case "$2" in
-    (start|stop)
+    (start|stop|delete)
        shift 2
        . $__PKGLIBDIR/vserver.$cmd
        ;;
@@ -208,19 +216,21 @@ case "$2" in
        $cmd "$@"
        ;;
     (condrestart)
-       test ! isVserverRunning "$VSERVER_DIR" || restart
+       ! isVserverRunning "$VSERVER_DIR" || restart
        ;;
     (exec)
        shift 2
-       suexec root "$@"
+       suexec 0 "$@"
        ;;
     (chkconfig)
        shift 2
-       suexec root chkconfig "$@"
+       suexec 0 chkconfig "$@"
        ;;
     (enter)
+       useVlogin && \
+         OPTS_VCONTEXT_ENTER=( "${OPTS_VCONTEXT_ENTER[@]}" --vlogin )
        getEnterShell "$VSERVER_DIR"
-       suexec root "${ENTER_SHELL[@]}"
+       suexec 0 "${ENTER_SHELL[@]}"
        ;;
     (running)
        isVserverRunning "$VSERVER_DIR"
@@ -248,12 +258,14 @@ case "$2" in
        ;;
 
     (apt-get|apt-config|apt-cache)
-       export _APT_GET=$2
+       export APT_GET=$2
        shift 2
-       exec $_VAPT_GET -- "$@"
+       exec $_VAPT_GET "$VSERVER_DIR" -- "$@"
        ;;
+
     (rpm)
-       exec $_VRPM -- "$@"
+       shift 2
+       exec $_VRPM "$VSERVER_DIR" -- "$@"
        ;;
        
     (status)
@@ -271,7 +283,7 @@ case "$2" in
        fi
        ;;
     (*)
-       echo $"Usage: $0 {start|stop|suexec|restart|condrestart|exec|enter|chkconfig|running|status}" >&2
+       echo $"Usage: $0 <vserver> {start|stop|suexec|restart|condrestart|exec|enter|chkconfig|running|status|delete}" >&2
        exit 2
        ;;
 esac
index ca522e4..fc78e6f 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vserver-build,v 1.20 2005/07/03 17:45:43 ensc Exp $
+# $Id: vserver-build 2468 2007-01-21 20:05:19Z dhozac $
 
 # Copyright (C) 2003,2004,2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -51,21 +51,31 @@ Possible methods are:
     legacy      ...  the \"old\" copy-all-from-host method, which requires the
                      old legacy  vserver-legacy script;  with  this method the
                     cfg-options will be ignored
-    copy        ...  the copy-all-from-host method which uses the recent
-                     configuration scheme
-    apt-rpm ... -- -d <distribution>
+    apt-rpm     ... -- -d <distribution>
                 ...  installs the base-packages of the given distribution with
                     help of 'vapt-get'
-    yum     ... -- -d <distribution>
+    yum         ... -- -d <distribution>
                 ...  installs the base-packages of the given distribution with
                     help of 'vyum'
-    rpm     ... -- [-d <distribution>] --empty|([--force] [--nodeps] <manifest>)+
+    rpm         ... -- [-d <distribution>] --empty|([--force] [--nodeps] <manifest>)+
                 ...  installs lists of rpm-packages
-    skeleton ... -- [<cmd> <args>*]
+    skeleton    ... -- [<cmd> <args>*]
                 ...  installs a minimal skeleton filesystem, creates the
                     configuration file and calls an optional command then
-    debootstrap ... -- -d <distribution> [-m <mirror>] [-- <debootstrap-options>*]
-                     bootstraps the vserver with Debian's 'debootstrap' package
+    debootstrap ... -- -d <distribution> [-m <mirror>] [-s <script> ] [-- <debootstrap-options>*]
+                ...  bootstraps the vserver with Debian's 'debootstrap' package
+    template    ... -- (-t <tarball>)+ [-d <distribution>]
+                ...  installs a guest using tarball(s)
+    fai         ... -- [ -f <fai_vserver> ] [-n <nfsroot>] [-d <fai_dir> ] [ -a ]
+                     bootstraps the vserver with Debian Fully Automatic Installation
+                     -f means use the nfsroot and profile in the vserver <fai_vserver>
+                     -n <nfsroot> specifies the 'NFS' root explicitly
+                     -d <fai_dir> specifies the location of the FAI profile
+                     the -f option implies -n and -d are relative to the <fai_vserver>
+    rsync       ... -- [-d <distribution>] --source <source> [-o <rsync option>]*
+                ...  installs a guest by rsyncing from <source> to the guest root
+    clone       ... -- [-d <distribution>] --source <source>
+                ...  clones a guest by linking unified files and copying the rest
 
 Please report bugs to $PACKAGE_BUGREPORT"
     exit 0
@@ -126,7 +136,7 @@ setup_setDefaults "$VSERVER_NAME"
 
 case x"$method" in
     (xlegacy)  exec $_VSERVER_LEGACY "$VSERVER_NAME" build "$@" ;;
-    (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm)
+    (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm|xtemplate|xfai|xrsync|xclone)
                . $__PKGLIBDIR/vserver-build.$method
                ;;
     (x)                panic $"No build-method specified";;
index 35c59f8..b4c2532 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.apt-rpm,v 1.15 2005/07/03 13:17:38 ensc Exp $     --*- sh -*--
+# $Id: vserver-build.apt-rpm 2162 2005-07-25 15:40:22Z ensc $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -42,6 +42,9 @@ pkgmgmt.initVariables
 rpm.initVariables
 apt.initVariables
 
+rpm.sanityCheck
+
+
 base.initFilesystem    "$OPTION_FORCE"
 pkgmgmt.initFilesystem "$OPTION_FORCE"
 rpm.initFilesystem
index 5a72044..610878f 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.debootstrap,v 1.13 2005/07/04 18:14:29 ensc Exp $ --*- sh -*--
+# $Id: vserver-build.debootstrap 2528 2007-04-13 09:02:29Z hollow $    --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-function cleanUp
-{
-    test ! -d "$workdir"  || $_RM -rf "$workdir"
-}
-
 function init
 {
     workdir=
     mirror=
-    trap "cleanUp" EXIT
 }
 
 function initVariables
 {
     base.init
 
-    test -n "${mirror-unset}" || {
+    test -n "${mirror}" || {
        local aux
-       findFile aux "$__CONFDIR"/.defaults/apps/debootstrap/mirror ''
+       findFile aux "$__CONFDIR"/.defaults/apps/debootstrap/mirror "$__PKGLIBDEFAULTDIR"/debootstrap.mirror
        test -z "$aux" || read mirror <"$aux"
     }
 }
@@ -48,11 +42,15 @@ function initFilesystem
 
 function findDebootstrap
 {
+    test ! -x "$DEBOOTSTRAP" || return 0
+
     pushd . &>/dev/null
     DEBOOTSTRAP=$(which debootstrap 2>/dev/null) || {
-        dir=$($_MKTEMPDIR /var/tmp/debootstrap.XXXXXX)
+        dir=$($_MKTEMPDIR -p /var/tmp debootstrap.XXXXXX)
         workdir=$dir
         dst=$dir/debootstrap.deb
+
+        base._addGeneratedFile "$workdir"
         
         findFile DEBOOTSTRAP_URI "$__CONFDIR"/.defaults/apps/debootstrap/uri "$__PKGLIBDEFAULTDIR"/debootstrap.uri
         read tmp <$DEBOOTSTRAP_URI
@@ -66,7 +64,7 @@ ${tmp}..."
                $_CAT <<EOF >&2
 ERROR: Could not download the debootstrap package from
 
-   $dst
+   $tmp
 
 Usually, this means that Debian released a new version which is unknown
 to util-vserver and removed the known ones. To fix this, go to
@@ -91,6 +89,18 @@ EOF
         tar xzf data.tar.gz
         export DEBOOTSTRAP_DIR=`pwd`/usr/lib/debootstrap
         DEBOOTSTRAP=`pwd`/usr/sbin/debootstrap
+
+       local arch
+       arch=$(uname -i 2>/dev/null) || \
+           arch=$(arch 2>/dev/null) ||
+           arch=
+
+       ## Wash the calculated architecture
+       case $arch in
+           (i?86|athlon)       arch=i386;;
+       esac
+
+       test -z "$arch" || echo "$arch" >$DEBOOTSTRAP_DIR/arch
     }
     popd &>/dev/null
 
@@ -107,25 +117,26 @@ function fixupDebian
 ###   main starts here <---
 
 
-tmp=$(getopt -o '+d:m:' --long debug -n "$0" -- "$@") || exit 1
+tmp=$(getopt -o '+d:m:s:' --long debug -n "$0" -- "$@") || exit 1
 eval set -- "$tmp"
 
 init
 
 while true; do
     case "$1" in
-       -d)             DISTRIBUTION=$2; shift;;
-       -m)             mirror=$2;       shift;;
-       --debug)        set -x;;
-       --)             shift; break ;;
-       *)              echo "vserver-build.debootstrap: internal error: unrecognized option '$1'" >&2
+       (-d)            DISTRIBUTION=$2; shift;;
+       (-m)            mirror=$2;       shift;;
+       (-s)            script=$2;       shift;;
+       (--debug)       set -x;;
+       (--)            shift; break ;;
+       (*)             echo "vserver-build.debootstrap: internal error: unrecognized option '$1'" >&2
                        exit 1
                        ;;
     esac
     shift
 done
 
-getDistribution
+getDistribution '' 1
 
 initVariables  
 initFilesystem "$OPTION_FORCE"
@@ -135,10 +146,11 @@ setup_writeInitialFstab
 
 findDebootstrap
 
-test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
+test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS" "$mirror"
 mv "$VDIR"/dev "$VDIR"/dev.X
-"$DEBOOTSTRAP" "$@" "$DISTRIBUTION" "$VDIR" "$mirror" || :     ## HACK: ignore all errors...
+"$_VNAMESPACE" --new -- "$DEBOOTSTRAP" "$@" "$DISTRIBUTION" "$VDIR" "$mirror" "$script" || :   ## HACK: ignore all errors...
 fixupDebian "$VDIR"
-test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" "$mirror"
 
+$_RM -fr "$workdir"
 base.setSuccess
diff --git a/scripts/vserver-build.fai b/scripts/vserver-build.fai
new file mode 100644 (file)
index 0000000..b59951c
--- /dev/null
@@ -0,0 +1,171 @@
+#
+# Copyright (C) 2006 Sam Vilain <sam.vilain@catalyst.net.nz>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+tmp=$(getopt -o '+d:f:n:a' --long debug,pkgmgmt -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
+. "$__PKGLIBDIR/vserver.functions"
+
+DISTRIBUTION=:
+
+FAI_VSERVER=
+FAI_NFSROOT=/usr/lib/fai/nfsroot
+FAI_DIR=/usr/local/share/fai
+AUTO=1
+
+use_pkgmgmt=
+while true; do
+    case "$1" in
+       -f)             FAI_VSERVER=$2; shift; ;;
+       -n)             FAI_NFSROOT=$2; shift; ;;
+       -d)             FAI_DIR=$2; shift; ;;
+       -a)             AUTO=;;
+       --debug)        DEBUG=1; SH_DEBUG=-x; set -x;;
+       --)             shift; break ;;
+       *)              echo "vserver-build.fai: internal error: unrecognized option '$1'" >&2
+                       exit 1
+                       ;;
+    esac
+    shift
+done
+
+getDistribution '' 1
+
+base.init
+base.initFilesystem "$OPTION_FORCE"
+
+setup_writeOption "$VSERVER_NAME"
+setup_writeInitialFstab
+
+test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
+
+# migrate is a 2.6 feature, we need 2.6 for the secure_mount ccap
+if ! $_VSERVER_INFO - FEATURE migrate; then
+    panic $"\
+The fai build method requires kernel features that are not present
+in your kernel."
+fi
+
+# if they specified a vserver where FAI is installed, then prefix its
+# root to the FAI_NFSROOT etc (unless they have already specified a
+# $ROOTDIR-relative path)
+REAL_ROOTDIR=`getPhysicalDir "$ROOTDIR"`
+REAL_VDIR=`getPhysicalDir "$VDIR"`
+echo $"ROOTDIR is $REAL_ROOTDIR"
+echo $"VDIR    is $REAL_VDIR"
+if [ -n "$FAI_VSERVER" ]
+then
+    echo "FAI_VSERVER is $FAI_VSERVER"
+    if [ `expr "$FAI_NFSROOT" : "$REAL_ROOTDIR"` -eq 0 ]
+    then
+        FAI_NFSROOT="$REAL_ROOTDIR/$FAI_VSERVER$FAI_NFSROOT"
+    fi
+    if [ `expr "$FAI_DIR" : "$REAL_ROOTDIR"` -eq 0 ]
+    then
+        FAI_DIR="$REAL_ROOTDIR/$FAI_VSERVER$FAI_DIR"
+    fi
+fi
+echo $"FAI_NFSROOT is $FAI_NFSROOT"
+echo $"FAI_DIR     is $FAI_DIR"
+FAI_ROOT=/tmp/target
+
+if [ ! -e "$FAI_NFSROOT/usr/sbin/fai" ]
+then
+    panic $"NFSROOT not found - did you run fai-setup?"
+fi
+
+if ! grep -qw VIRTUAL "$FAI_NFSROOT/usr/sbin/fai"
+then
+    panic $"\
+ERROR: Looks like you don't have the patched FAI.
+See http://faiwiki.informatik.uni-koeln.de/index.php/Using_FAI_as_a_vserver_build_method
+for information on where to get it."
+fi
+
+set -e
+
+# suppresses color logo, as it does not leave the terminal in a nice
+# state.
+console=dummy
+
+killprocs() {
+    set +e
+    S_CONTEXT=
+    if isVserverRunning "$SETUP_CONFDIR" S_CONTEXT
+    then
+       $_VKILL -c "$S_CONTEXT" -s 15
+       sleep 2
+       $_VKILL -c "$S_CONTEXT" -s 9
+       sleep 2
+       isVserverRunning "$SETUP_CONFDIR" && warning $"\
+Vserver '$VSERVER_NAME' still running unexpectedly; please investigate it
+manually."
+    fi
+    [ -n "$HAVE_INTERFACES" ] && disableInterfaces "$SETUP_CONFDIR"
+    base.__cleanup
+}
+
+trap killprocs INT EXIT
+
+# last chance to abort!
+if [ -z "$AUTO" ]
+then
+    echo -n "Press ENTER to begin, or Ctrl+C to cancel: "
+    read junk
+fi
+
+# set up interfaces, so that the vserver can be built with restricted
+# network access.
+generateOptions "$SETUP_CONFDIR"
+enableInterfaces "$SETUP_CONFDIR"
+HAVE_INTERFACES=1
+
+rwpaths="/var/lock /var/log /dev /var/run /etc/sysconfig"
+[ -d "$FAI_NFSROOT/etc/network/run" ] && rwpaths="$rwpaths /etc/network/run"
+
+export VDIR ROOTDIR FAI_VSERVER FAI_DIR FAI_NFSROOT FAI_ROOT console
+
+[ -z "$AUTO" ] && FINAL_SHELL="exec /bin/sh -i"
+
+# set up /mnt with all the mounts required
+$_SECURE_MOUNT -n -o ro,dev --bind "$FAI_NFSROOT" /mnt
+$_SECURE_MOUNT -n -t tmpfs -o size=64m,mode=1777 vm /mnt/tmp
+$_MKDIR -p /mnt/tmp/target
+$_SECURE_MOUNT -n -o rw,dev --bind "$VDIR" /mnt/tmp/target
+$_MKDIR -p /mnt/tmp/target/proc
+$_SECURE_MOUNT -n -t proc proc /mnt/tmp/target/proc
+for x in $rwpaths
+do
+    /mnt/usr/lib/fai/mkrw -n "/mnt$x"
+done
+$_SECURE_MOUNT -n -o ro --bind "$FAI_DIR" /mnt/fai
+$_SECURE_MOUNT -n -t proc proc /mnt/proc
+
+cd /mnt
+$_CHBIND "${CHBIND_OPTS[@]}" \
+    $_VCONTEXT --create "${OPTS_VCONTEXT_CREATE[@]}" -- \
+    $_VUNAME --xid self --set -t nodename="${SETUP_HOSTNAME:-fai-build}" \
+       -t context="$SETUP_CONFDIR" -- \
+    $_VATTRIBUTE --set --xid self "${OPTS_VATTRIBUTE[@]}" --ccap secure_mount \
+    $_SAVE_CTXINFO "$SETUP_CONFDIR" \
+    $_VCONTEXT --migrate-self --endsetup --chroot $SILENT_OPT \
+       "${OPTS_VCONTEXT_MIGRATE[@]}" "${OPTS_VCONTEXT_ENTER[@]}" -- \
+    /bin/sh -c "/bin/sh $SH_DEBUG /etc/init.d/rcS -N vschild_build; $FINAL_SHELL"
+
+test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+
+base.setSuccess
index 981c037..15c182f 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.functions,v 1.18 2005/07/04 22:38:42 ensc Exp $   --*- sh -*--
+# $Id: vserver-build.functions 2515 2007-03-18 15:32:22Z dhozac $      --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -20,6 +20,8 @@
 
 ROOTDIR=
 ROOTDIR_REL=
+CACHEDIR=
+CACHEDIR_REL=
 VSERVERDIRNAME=
 
 VDIR=
@@ -48,6 +50,17 @@ function makeDevEntry
     esac
 }
 
+function populateDev
+{
+    local spec
+
+    mkdir -p -m755 "$VDIR"/dev/pts
+
+    while read spec; do
+       makeDevEntry "$VDIR"/dev $spec
+    done <$_DEV_FILE
+}
+
 function populateDirectory
 {
     local dst=$1
@@ -82,7 +95,24 @@ function _setRootDir
     }
 }
 
-function _setVserverDir
+function _setCacheDir
+{
+    test -z "$CACHEDIR" || return 0
+    
+    for item in "\"$__CONFDIR/.defaults/cachebase\" 1" "$__PKGCACHEDIR"; do
+       eval set -- "$item"
+       CACHEDIR=$1
+       CACHEDIR_REL=$2
+       test ! -d "$CACHEDIR" || break
+    done
+
+    test -d "$CACHEDIR" || {
+       echo "Cache-directory '$CACHEDIR' does not exist or is invalid" >&2
+       exit 1
+    }
+}
+
+function _setVserverDirName
 {
     test -z "$VSERVERDIRNAME" || return 0
     VSERVERDIRNAME="$VSERVER_NAME"
@@ -105,7 +135,7 @@ function _renameVserverCfg
     local i
     
     for i in "$VDIR" "$SETUP_CONFDIR"; do
-       test ! -e "$i" || {
+       test ! -e "$i" || isDirectoryEmpty "$i" || {
            mv "$i" "$i$suffix"
            say "Renamed '$i' to '$i$suffix'"
        }
@@ -113,37 +143,46 @@ function _renameVserverCfg
 }
 
 
-## Usage: getDistribution [<default>]
+## Usage: getDistribution [<default>] [<ignore-config>]
 function getDistribution
 {
-    test -z "$DISTRIBUTION" || return 0
-
-    if test -e /etc/fedora-release; then
-       set -- $(cat /etc/fedora-release)
-       DISTRIBUTION=fdr$4
-    elif test -e /etc/redhat-release; then
-       set -- $(cat /etc/redhat-release)
-       DISTRIBUTION=rh$5
-    elif test -e /etc/debian_version; then
-       set -- $(cat /etc/debian_version)
-       DISTRIBUTION=deb$1
-    elif test -e /etc/SuSE-release; then
-       set -- $(cat /etc/SuSE-release)
-       DISTRIBUTION=suse$3
-    elif test -e /etc/gentoo-release; then
-       set -- $(cat /etc/gentoo-release)
-       DISTRIBUTION=gentoo$5
-    elif test -e /etc/slackware-release; then
-       set -- $(cat /etc/slackware-release)
-       DISTRIBUTION=slackware$2
-    elif test -n "$1"; then
-       DISTRIBUTION=$1
-    else
-       echo \
-"Can not determine distribution; please specify it manually
-with the '-d' option"  >&2
-       exit 1
-    fi >&2
+    local ignore_config=$2
+    
+    if test -z "$DISTRIBUTION"; then
+       if test -e /etc/fedora-release; then
+           set -- $(cat /etc/fedora-release)
+           DISTRIBUTION=fdr$4
+       elif test -e /etc/redhat-release; then
+           set -- $(cat /etc/redhat-release)
+           DISTRIBUTION=rh$5
+       elif test -e /etc/debian_version; then
+           set -- $(cat /etc/debian_version)
+           DISTRIBUTION=deb$1
+       elif test -e /etc/SuSE-release; then
+           set -- $(cat /etc/SuSE-release)
+           DISTRIBUTION=suse$3
+       elif test -e /etc/gentoo-release; then
+           set -- $(cat /etc/gentoo-release)
+           DISTRIBUTION=gentoo$5
+       elif test -e /etc/slackware-version; then
+           set -- $(cat /etc/slackware-version)
+           DISTRIBUTION=slackware$2
+       elif test -n "$1"; then
+           DISTRIBUTION=$1
+       else
+           colpanic $"\
+ERROR: Can not determine distribution; please specify it manually with
+  the '-d' option."
+       fi
+    fi
+
+    test -n "$ignore_config" -o \
+         -d "$__CONFDIR/.distributions/$DISTRIBUTION" -o \
+         -d "$__DISTRIBDIR/$DISTRIBUTION" ||
+           colpanic $"\
+ERROR: Can not find configuration for the distribution '$DISTRIBUTION';
+  please read http://linux-vserver.org/HowToRegisterNewDistributions
+  for information how to add support for your own distribution."
 }
 
 function base._addGeneratedFile
@@ -155,27 +194,21 @@ function base._addGeneratedFile
 function base.initFilesystem
 {
     test -z "$1" || _renameVserverCfg
-    test ! -d "$VDIR" -a ! -d "$SETUP_CONFDIR" || {
-       echo \
-"vserver-topdirectory '$VDIR' and/or configuration at '$SETUP_CONFDIR'
-exist already; please try to use '--force', or remove them manually"
->&2
-       exit 1
-    } >&2
+    { isDirectoryEmpty "$VDIR" && test  ! -e "$SETUP_CONFDIR"; } || colpanic $"\
+vserver-topdirectory '$VDIR' and/or configuration at '$SETUP_CONFDIR'
+exist already; please try to use '--force', or remove them manually."
 
     mkdir -p -m755 "$VDIR"
-    chattr -t "$VDIR"
+    $_SETATTR --~barrier "$VDIR"
     base._addGeneratedFile "$VDIR"
     
-    mkdir -p -m755 "$SETUP_CONFDIR"/apps "$VDIR"/{dev/pts,etc}
+    mkdir -p -m755 "$SETUP_CONFDIR"/apps "$VDIR"/etc
     base._addGeneratedFile "$SETUP_CONFDIR"
     
-    ln -s "$VDIR"       "$SETUP_CONFDIR/vdir"
+    ln -s "$VDIR"                     "$SETUP_CONFDIR/vdir"
+    ln -s "$CACHEDIR/$VSERVERDIRNAME" "$SETUP_CONFDIR/cache"
 
-    local spec
-    while read spec; do
-       makeDevEntry "$VDIR"/dev $spec
-    done <$_DEV_FILE
+    populateDev
 
     mkdir -p "$VDIR"/proc
     findAndCopy "$VDIR"/etc/hosts         "$__CONFDIR"/.defaults/files/hosts "$__CONFDIR/.distributions/$DISTRIBUTION"/files/hosts \
@@ -189,7 +222,8 @@ exist already; please try to use '--force', or remove them manually"
 function base._initVariables
 {
     _setRootDir
-    _setVserverDir
+    _setCacheDir
+    _setVserverDirName
     _setVdir
 
     findFile _DEV_FILE      "$__CONFDIR/.distributions/$DISTRIBUTION/devs"      "$__DISTRIBDIR/$DISTRIBUTION/devs"     "$__DISTRIBDIR/defaults/devs"
@@ -203,7 +237,7 @@ function base.__cleanup
     test -z "$OPTION_KEEP"    || return 0
     test -z "$__BASE_SUCCESS" || return 0
     
-    echo rm -rf "${__BASE_GENERATED_FILES[@]}"
+    rm -rf "${__BASE_GENERATED_FILES[@]}"
 }
 
 function base.init
index 4973fed..dbf26b1 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.functions.apt,v 1.8 2005/04/16 21:20:45 ensc Exp $        --*- sh -*--
+# $Id: vserver-build.functions.apt 2030 2005-04-16 21:20:45Z ensc $    --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 2d0bfbb..c2e076d 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.functions.pkgmgmt,v 1.9 2005/06/30 06:16:41 ensc Exp $    --*- sh -*--
+# $Id: vserver-build.functions.pkgmgmt 2110 2005-06-30 06:16:58Z ensc $        --*- sh -*--
 
 # Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 9aa499d..528e4ab 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.functions.rpm,v 1.8 2005/04/16 21:20:45 ensc Exp $        --*- sh -*--
+# $Id: vserver-build.functions.rpm 2311 2006-09-13 22:18:55Z dhozac $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -52,6 +52,7 @@ function rpm.initFilesystem
 {
     test -z "$WORKAROUND_106057" || mkdir -p "$RPMDB_PATH"
     mkdir -p "$VDIR$RPMDB_PATH"
+    mkdir -p "$VDIR/var/lock/rpm"
 
     test -z "$WORKAROUND_APT_DBPATH" || {
        mkdir -p "$VDIR/var/lib"
@@ -124,3 +125,18 @@ function rpmlist.initByDistribution()
 
     eval "$1"='( "${_rlid_res[@]}" )'
 }
+
+
+## Usage: rpm.sanityCheck
+function rpm.sanityCheck
+{
+    test -x "$BUILD_INITPRE" || colorize warn warning $"\
+WARNING: you are going to use an rpm-based installation method without
+  having an 'initpre' script. Such a script is highly recommend to
+  workaround bugs in rpm which can cause messages like
+
+  | error: unpacking of archive failed on file /usr/bin/X11;42dd8791:
+
+  Please read http://linux-vserver.org/HowToRegisterNewDistributions
+  for information how to add support for your own distribution."
+}
index fd2c442..9422ba4 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.functions.yum,v 1.5 2005/04/16 21:20:45 ensc Exp $        --*- sh -*--
+# $Id: vserver-build.functions.yum 2030 2005-04-16 21:20:45Z ensc $    --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 25a2862..2daef46 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.rpm,v 1.6 2005/07/03 13:17:38 ensc Exp $  --*- sh -*--
+# $Id: vserver-build.rpm 2263 2006-01-22 12:24:25Z ensc $      --*- sh -*--
 
 # Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -68,6 +68,8 @@ test "$OPTION_DEBUG" -lt 2 || rpm_dflt_opts=( "${rpm_dflt_opts[@]}" -v  )
 test "$OPTION_DEBUG" -lt 3 || rpm_dflt_opts=( "${rpm_dflt_opts[@]}" -v  )
 test -n "$OPTION_SILENT"   || rpm_dflt_opts=( "${rpm_dflt_opts[@]}" -vh )
 
+rpm.sanityCheck
+
 
 ######  init the filesystem
 
@@ -75,6 +77,7 @@ base.initFilesystem    "$OPTION_FORCE"
 pkgmgmt.initFilesystem "$OPTION_FORCE"
 rpm.initFilesystem
 
+
 setup_writeOption "$VSERVER_NAME"
 setup_writeInitialFstab
 
@@ -82,12 +85,11 @@ setup_writeInitialFstab
 # when basedir is a non-local location, rpm will download it into the
 # current directory. Therefore, create and go into a temporay directory
 # before doing the operations.
-tmpdir=$($_MKTEMPDIR /var/tmp/vserver-build.rpm.XXXXXX)
-manifest=$($_MKTEMP /tmp/vserver-build.rpm.manifest.XXXXXX)
+tmpdir=$($_MKTEMPDIR -p /var/tmp vserver-build.rpm.XXXXXX)
+manifest=$($_MKTEMP vserver-build.rpm.manifest.XXXXXX)
 trap "rm -rf $tmpdir $manifest" EXIT
 cd "$tmpdir"                   
 
-
 ######  do the real work
 
 test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
diff --git a/scripts/vserver-build.rsync b/scripts/vserver-build.rsync
new file mode 100644 (file)
index 0000000..11ee1a7
--- /dev/null
@@ -0,0 +1,67 @@
+# $Id: vserver-build.rsync 2398 2006-11-24 15:20:09Z dhozac $  --*- sh -*--
+
+# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+tmp=$(getopt -o '+d:s:o:' --long debug,pkgmgmt,source: -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
+
+DISTRIBUTION=:
+use_pkgmgmt=
+SOURCE=
+declare -a OPTS=()
+while true; do
+    case "$1" in
+       -d)             DISTRIBUTION=$2; shift;;
+       --debug)        set -x;;
+       --pkgmgmt)      use_pkgmgmt=1;;
+       -s|--source)    SOURCE=$2; shift;;
+       -o)             OPTS=( "${OPTS[@]}" "$2" ); shift;;
+       --)             shift; break ;;
+       *)              echo "vserver-build.rsync: internal error: unrecognized option '$1'" >&2
+                       exit 1
+                       ;;
+    esac
+    shift
+done
+
+if test -z "$SOURCE"; then
+    panic $"vserver-build.rsync: --source argument required"
+fi
+
+test -z "${OPTS[*]}" && OPTS=( -Hazx --numeric-ids )
+
+getDistribution '' 1
+
+base.init
+test -z "$use_pkgmgmt" || pkgmgmt.initVariables
+
+base.initFilesystem "$OPTION_FORCE"
+test -z "$use_pkgmgmt" || pkgmgmt.initFilesystem "$OPTION_FORCE"
+
+
+setup_writeOption "$VSERVER_NAME"
+setup_writeInitialFstab
+
+test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
+
+$_RSYNC "${OPTS[@]}" "$SOURCE"/ "$VDIR"/
+test -z "$1" || "$@"
+
+test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+
+base.setSuccess
index 3bfd956..61a12a8 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.skeleton,v 1.5 2005/06/30 06:13:09 ensc Exp $     --*- sh -*--
+# $Id: vserver-build.skeleton 2200 2005-10-28 18:40:56Z ensc $ --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -35,7 +35,7 @@ while true; do
     shift
 done
 
-getDistribution
+getDistribution '' 1
 
 base.init
 test -z "$use_pkgmgmt" || pkgmgmt.initVariables
@@ -50,3 +50,5 @@ setup_writeInitialFstab
 test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
 test -z "$1" || "$@"
 test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+
+base.setSuccess
diff --git a/scripts/vserver-build.template b/scripts/vserver-build.template
new file mode 100644 (file)
index 0000000..bd495ca
--- /dev/null
@@ -0,0 +1,99 @@
+# $Id: vserver-build.template 2532 2007-04-21 14:05:32Z dhozac $       --*- sh -*--
+
+# Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+tmp=$(getopt -o '+d:t:' --long debug,pkgmgmt,template:,nodevsanity -n "vserver-build.template" -- "$@") || exit 1
+eval set -- "$tmp"
+
+. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
+
+DISTRIBUTION=:
+use_pkgmgmt=
+no_dev_sanity=
+declare -a TEMPLATE=()
+while true; do
+    case "$1" in
+       -d)             DISTRIBUTION=$2; shift;;
+       --debug)        set -x;;
+       --pkgmgmt)      use_pkgmgmt=1;;
+       --nodevsanity)  no_dev_sanity=1;;
+       -t|--template)
+                       case "$2" in
+                            /*)        f="$2";;
+                            *)         f=`pwd`/"$2";;
+                       esac
+                       TEMPLATE=( "${TEMPLATE[@]}" "$f" )
+                       shift
+                       ;;
+       --)             shift; break ;;
+       *)              echo "vserver-build.template: internal error: unrecognized option '$1'" >&2
+                       exit 1
+                       ;;
+    esac
+    shift
+done
+
+getDistribution '' 1
+
+base.init
+test -z "$use_pkgmgmt" || pkgmgmt.initVariables
+
+base.initFilesystem "$OPTION_FORCE"
+test -z "$use_pkgmgmt" || pkgmgmt.initFilesystem "$OPTION_FORCE"
+
+
+setup_writeOption "$VSERVER_NAME"
+setup_writeInitialFstab
+
+test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
+
+pushd "$SETUP_CONFDIR/vdir" &> /dev/null
+for t in "${TEMPLATE[@]}"; do
+    mime=$($_FILE -Nbiz -m "$_LIB_MAGIC" "$t")
+    compression=$(echo "$mime" | $_GREP '(' | $_SED 's!.*(\(.*\))$!\1!')
+
+    case "$compression" in
+       application/x-bzip2)    DECOMPRESS="$_BZIP2 -d -c";;
+       application/x-gzip)     DECOMPRESS="$_GZIP -d -c";;
+       "")                     DECOMPRESS=$_CAT;;
+       *)
+           echo "Unsupported compression method: $compression"
+           exit 1
+           ;;
+    esac
+
+    case "$mime" in
+       application/x-tar*)     EXTRACT="$_TAR -x";;
+       application/x-cpio*)    EXTRACT="$_CPIO -i";;
+       application/x-dump*)    EXTRACT="$_RESTORE -rf -";;
+       *)
+           echo "Unsupported packaging method: $mime"
+           exit 1
+           ;;
+    esac
+
+    $DECOMPRESS "$t" | $EXTRACT
+done
+
+test -z "$no_dev_sanity" && {
+    rm -rf dev/*
+    populateDev
+}
+popd &> /dev/null
+
+test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+
+base.setSuccess
index 72d3a81..ed711fb 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.yum,v 1.5 2005/06/30 06:13:09 ensc Exp $  --*- sh -*--
+# $Id: vserver-build.yum 2162 2005-07-25 15:40:22Z ensc $      --*- sh -*--
 
 # Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -41,6 +41,9 @@ pkgmgmt.initVariables
 rpm.initVariables
 yum.initVariables
 
+rpm.sanityCheck
+
+
 base.initFilesystem    "$OPTION_FORCE"
 pkgmgmt.initFilesystem "$OPTION_FORCE"
 rpm.initFilesystem
index 127f42f..31aab65 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: vserver-setup.functions,v 1.18 2005/02/25 23:32:02 ensc Exp $   --*- sh -*--
+# $Id: vserver-setup.functions 2517 2007-03-18 22:02:22Z dhozac $      --*- sh -*--
 
-# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+# Copyright (C) 2003,2004,2005,2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -24,14 +24,18 @@ SETUP_LOCKFILE=
 SETUP_CONFDIR=
 SETUP_CONTEXT=
 SETUP_INITSTYLE=
+SETUP_CPUSET=
+SETUP_CPUSETCPUS=
+SETUP_CPUSETMEMS=
+SETUP_CPUSETVIRT=
 
 declare -a SETUP_INTERFACES=()
 declare -a SETUP_FLAGS=()
 
-declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:"
+declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:,cpuset:,cpusetcpus:,cpusetmems:,cpusetvirt"
 declare -r SETUP_HELPMSG=$"
-    --context   ...  the static context of the vserver [default: none; a dynamic
-                     context will be assumed]
+    --context   ...  the static context of the vserver [default: none; one will
+                     be generated for you]
     --confdir   ...  [default: $__CONFDIR/<name>]
     --lockfile <filename>
                ...  [default: $__RUNDIR/<name>]
@@ -55,6 +59,19 @@ declare -r SETUP_HELPMSG=$"
                            this becomes a per vserver limit)
                     private: No other process can join this security context.
                            Even root
+    --cpuset <name>
+                ...  declares the CPUSET this vserver will run in [default: none]
+    --cpusetcpus <number[-number][:<exclusive>]>
+                ...  sets which cpus belong to the CPUSET,
+                     exclusive is a flag (0|1) prohibiting any other cpuset from
+                     using those cpus
+    --cpusetmems <number[-number][:<exclusive>]>
+                ...  sets which memory pools belong to the CPUSET,
+                     exclusive is a flag (0|1) prohibiting any other cpuset from
+                     using those memory pools
+    --cpusetvirt
+                ...  virtualize cpuset (guest will see only CPUs defined in cpuset)
+                     Requires kernel patch from http://www.bullopensource.org/cpuset/
     --initstyle <style>
                 ...  configures the initstyle (e.g. minit,sysv,plain)
 "
@@ -71,7 +88,23 @@ function setup_setOption2
        (--netprefix)   SETUP_NETPREFIX=$2;;
        (--netbcast)    SETUP_NETBCAST=$2;;
        (--interface)   SETUP_INTERFACES=( "${SETUP_INTERFACES[@]}" "$2" );;
-       (--initstyle)   SETUP_INITSTYLE=$2;;
+       (--initstyle)   SETUP_INITSTYLE=$2;;
+       (--cpuset)      SETUP_CPUSET=$2;;
+       (--cpusetcpus)  old_IFS=$IFS
+                       IFS=:
+                       set -- $2
+                       SETUP_CPUSETCPUS=$1
+                       SETUP_CPUSETCPUSEXCL=$2
+                       IFS=$old_IFS
+                       ;;
+       (--cpusetmems)  old_IFS=$IFS
+                       IFS=:
+                       set -- $2
+                       SETUP_CPUSETMEMS=$1
+                       SETUP_CPUSETMEMSEXCL=$2
+                       IFS=$old_IFS
+                       ;;
+       (--cpusetvirt)  SETUP_CPUSETVIRT=1;;
        (--flags)       old_IFS=$IFS
                        IFS=,
                        set -- $2
@@ -100,9 +133,14 @@ function _setup_writeInterface
 
     tmp=${tmp##${name}=}
     local dev=${tmp%%:*}
-    test "$dev" != "$tmp" || dev=
+    local nodev=
+    test "$dev" != "$tmp"  || dev=
 
     tmp=${tmp##${dev}:}
+    test "$dev" != "nodev" || {
+       dev=
+       nodev=1
+    }
     local mask=${tmp##*/}
     test "$mask" != "$tmp"  || mask=
 
@@ -123,8 +161,11 @@ function _setup_writeInterface
     _setup_writeSingleOption "$mask"   $d/mask
     _setup_writeSingleOption "$prefix" $d/prefix
 
-    test -n "$dev" -o -n "$SETUP_NETDEV" || \
-       echo $"No device specified for interface '$idx'; do not forget to set the 'nodev' option" >&2
+    test -n "$dev" -o -n "$SETUP_NETDEV" || {
+       test -n "$nodev" || \
+           echo $"No device specified for interface '$idx'; setting 'nodev'" >&2
+       $_TOUCH $d/nodev
+    }
 }
 
 function setup_setDefaults
@@ -134,13 +175,27 @@ function setup_setDefaults
     findFile SETUP_FSTAB "$__CONFDIR"/.defaults/fstab "$__PKGLIBDEFAULTDIR"/fstab
 }
 
+function _setup_generateContext
+{
+    if test -z "$SETUP_CONTEXT" && test ! -e "$__CONFDIR/.defaults/context.dynamic"; then
+       if test -e "$__CONFDIR/.defaults/context.next"; then
+           SETUP_CONTEXT=`$_CAT "$__CONFDIR/.defaults/context.next"`
+       else
+           SETUP_CONTEXT=`$_CAT "$__PKGLIBDEFAULTDIR/context.start"`
+       fi
+       expr "$SETUP_CONTEXT" + 1 > "$__CONFDIR/.defaults/context.next"
+    fi
+}
+
 function setup_writeOption
 {
     local name=$1
     local cfgdir=${SETUP_CONFDIR:?}
     local i
 
-    mkdir -p "$cfgdir"/interfaces "$cfgdir"/apps/init "$cfgdir"/uts
+    mkdir -p "$cfgdir"/interfaces "$cfgdir"/apps/init "$cfgdir"/uts "$cfgdir"/cpuset
+
+    _setup_generateContext
 
     _setup_writeSingleOption "$name"            "$cfgdir"/name
     _setup_writeSingleOption "$SETUP_CONTEXT"   "$cfgdir"/context
@@ -150,6 +205,12 @@ function setup_writeOption
     _setup_writeSingleOption "$SETUP_NETPREFIX" "$cfgdir"/interfaces/prefix
     _setup_writeSingleOption "$SETUP_NETBCAST"  "$cfgdir"/interfaces/bcast
     _setup_writeSingleOption "$SETUP_INITSTYLE" "$cfgdir"/apps/init/style
+    _setup_writeSingleOption "$SETUP_CPUSET"    "$cfgdir"/cpuset/name
+    _setup_writeSingleOption "$SETUP_CPUSETCPUS"     "$cfgdir"/cpuset/cpus
+    _setup_writeSingleOption "$SETUP_CPUSETCPUSEXCL" "$cfgdir"/cpuset/cpus_exclusive
+    _setup_writeSingleOption "$SETUP_CPUSETMEMS"     "$cfgdir"/cpuset/mems
+    _setup_writeSingleOption "$SETUP_CPUSETMEMSEXCL" "$cfgdir"/cpuset/mem_exclusive
+    _setup_writeSingleOption "$SETUP_CPUSETVIRT"     "$cfgdir"/cpuset/virtualized
 
     local idx=0
     for i in "${SETUP_INTERFACES[@]}"; do
index ccbd2e1..abab445 100755 (executable)
@@ -26,35 +26,13 @@ test -n "$MARK" || MARK=default
 : ${LOCKFILE:=vservers-$MARK}
 : ${NUMPARALLEL:=6}
 
-
-if test -e /etc/init.d/functions; then
-    . /etc/init.d/functions
-    lockfile=/var/lock/subsys/$LOCKFILE
-else
-    success() { echo .; }
-    passed()  { echo .; }
-    failure() { echo ERROR; }
-    lockfile=/var/run/$LOCKFILE
-fi
-
-
-function _tellResult()
-{
-    local rc=$1
-    case "$rc" in
-       (0)     success;;
-       (2)     passed; rc=0;;
-       (*)     failure;;
-    esac
-    echo
-    return $rc
-}
+. "$_LIB_VSERVER_INIT_FUNCTIONS"
 
 function start()
 {
-    echo -n $"Starting vservers of type '$MARK'..."
+    _beginResult $"Starting vservers of type '$MARK'"
     $_START_VSERVERS -m "$MARK" -j "$NUMPARALLEL" --all --start
-    _tellResult $?
+    _endResult $?
     local rc=$?
     test "$rc" -ne 0 || touch "$lockfile"
     return $rc
@@ -62,9 +40,9 @@ function start()
 
 function stop()
 {
-    echo -n $"Stopping vservers of type '$MARK'..."
+    _beginResult $"Stopping vservers of type '$MARK'"
     $_START_VSERVERS -m "$MARK" -j "$NUMPARALLEL" --all --stop
-    _tellResult $?
+    _endResult $?
     local rc=$?
     $_RM -f "$lockfile"
     return $rc
diff --git a/scripts/vserver.delete b/scripts/vserver.delete
new file mode 100644 (file)
index 0000000..b93d29c
--- /dev/null
@@ -0,0 +1,34 @@
+#! /bin/bash
+# $Id: vserver.delete 2305 2006-09-12 16:54:03Z dhozac $
+
+# Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+. "$_LIB_VSERVER_BUILD_FUNCTIONS"
+. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
+
+if test -z "$OPTION_SILENT" ; then
+    read -p "Are you sure you want to delete the vserver $vserver (y/N) " deleteok
+    if [[ ${deleteok} != [Yy] ]]; then
+       exit 2
+    fi
+fi
+
+isVserverRunning "$VSERVER_DIR" &&
+    "${SELF[@]}" $OPTION_SILENT --sync "$vserver" stop
+
+base.init
+pkgmgmt.initVariables
+rm -rf "`$_VSERVER_INFO "$vserver" VDIR 1`" "$VSERVER_DIR" "$PKGCFGDIR"
index 0139d58..76fdb19 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver.functions,v 1.57 2005/07/03 17:47:06 ensc Exp $  --*- sh -*--
+# $Id: vserver.functions 2538 2007-04-27 09:08:43Z hollow $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -42,6 +42,7 @@ declare -a OPTS_VCONTEXT_MIGRATE=()
 declare -a OPTS_VCONTEXT_ENTER=()
 declare -a OPTS_VATTRIBUTE=( --flag fakeinit )
 declare -a OPTS_VSCHED=()
+declare -a OPTS_ENV=()
 
 declare -a STOPCMD_PREPARE=()
 
@@ -72,35 +73,58 @@ else
     SILENT_OPT='--silent'
 fi
 
+function _readFileToArray
+{
+    local _rfta_f="$1"
+    local _rfta_a="$2"
+    local _rfta_p="$3"
+    local _rfta_v
+
+    test -e "$_rfta_f" || return 0
+    while read _rfta_v; do
+       case x"$_rfta_v" in
+           (x|x\#*)    ;;
+           (*)         eval "$_rfta_a=( \"\${$_rfta_a[@]}\" $_rfta_p \"$_rfta_v\" )";;
+       esac
+    done <"$_rfta_f"
+}
+
 function _generateChbindOptions
 {
     local vdir="$1"
     local i
     local bcast=
+    local nid=
 
     test -n "$_HAVE_INTERFACE_OPTIONS" || _generateInterfaceOptions "$vdir"
 
     local f=$vdir/interfaces/bcast
     getFileValue bcast "$f"
+
+    getFileValue nid "$vdir/ncontext" "$vdir/context"
     
-    CHBIND_OPTS=( $SILENT_OPT ${bcast:+--bcast "$bcast"} )
+    CHBIND_OPTS=( $SILENT_OPT --secure ${nid:+--nid "$nid"} ${bcast:+--bcast "$bcast"} )
 
     for i in "${INTERFACES[@]}"; do
        CHBIND_OPTS=( "${CHBIND_OPTS[@]}" --ip "$i" )
     done
 
+    _readFileToArray "$vdir"/nflags        CHBIND_OPTS --flag
+    _readFileToArray "$vdir"/ncapabilities CHBIND_OPTS --ncap
+
     _HAVE_CHBIND_OPTIONS=1
 }
 
 function _generateNiceCommand
 {
     local vdir=$1
-    local nice
+    local nice=0
+    local current_nice=`$_NICE`
 
-    test -r "$vdir/nice" || return 0;
-    read nice <"$vdir"/nice
+    test -r "$vdir/nice" && read nice <"$vdir"/nice
 
-    NICE_CMD=( $_NICE -$nice )
+    let nice=$nice-$current_nice || :
+    NICE_CMD=( $_NICE -n $nice )
 }
 
 
@@ -134,31 +158,15 @@ function _generatePersonalityOptions
 function _generateCCapabilityOptions
 {
     local vdir=$1
-    local cap
-    local f="$vdir"/ccapabilities
-    
-    test -e "$f" || return 0
-    while read cap; do
-       case x"$cap" in
-           (x|x\#)     ;;
-           (*)         OPTS_VATTRIBUTE=( "${OPTS_VATTRIBUTE[@]}" --ccap "$cap" );;
-       esac
-    done <"$f"
+
+    _readFileToArray "$vdir"/ccapabilities OPTS_VATTRIBUTE --ccap
 }
 
 function _generateBCapabilityOptions
 {
     local vdir=$1
-    local cap
-    local f="$vdir"/bcapabilities
-    
-    test -e "$f" || return 0
-    while read cap; do
-       case x"$cap" in
-           (x|x\#)     ;;
-           (*)         OPTS_VATTRIBUTE=( "${OPTS_VATTRIBUTE[@]}" --bcap "$cap" );;
-       esac
-    done <"$f"
+
+    _readFileToArray "$vdir"/bcapabilities OPTS_VATTRIBUTE --bcap
 }
 
 function _generateCapabilityOptions
@@ -176,7 +184,7 @@ function _generateCapabilityOptions
 
     while read cap; do
        case x"$cap" in
-           (x|x\#    ;;
+           (x|x\#*)    ;;
            (!CAP_SYSCHROOT)
                CAP_OPTS=( "${CAP_OPTS[@]}" --cap "$cap" )
                CAPCHROOT_OPTS=( "${CAPCHROOT_OPTS[@]}" --nochroot )
@@ -242,18 +250,22 @@ function _generateInitOptions
     CHCONTEXT_INIT_OPTS=()
 
 
-    getFileValue INITSTYLE      "$cfgdir"/style
+    test x"$INITSTYLE" = xrescue || \
+      getFileValue INITSTYLE    "$cfgdir"/style
     getFileValue RUNLEVEL_START "$cfgdir"/runlevel
     getFileValue RUNLEVEL_START "$cfgdir"/runlevel.start
     getFileValue RUNLEVEL_STOP  "$cfgdir"/runlevel.stop
     getFileArray INITKILL_SEQ  "$cfgdir"/killseq || :
 
+    findFile _gio_env          "$cfgdir"/environment \
+       "$__CONFDIR"/.defaults/apps/init/environment \
+       "$__PKGLIBDEFAULTDIR"/environment
+    getFileArray OPTS_ENV      "$_gio_env" || :
+
     case x"$INITSTYLE" in
        (xrescue)
            INITCMD_START=( "${INITCMD_RESCUE[@]}" )
            INITCMD_STOP=( /sbin/killall5 )
-           _IS_FAKEINIT=1
-           _NEED_VSHELPER_SYNC=
            ;;
            
        (xsysv)
@@ -289,13 +301,15 @@ function _generateInitOptions
            ;;
 
        (xgentoo)
-           INITCMD_START=( /sbin/rc default  )
-           INITCMD_STOP=(  /sbin/rc shutdown )
+           test -n "$RUNLEVEL_START" || RUNLEVEL_START="default"
+
+           INITCMD_START=( /lib/rcscripts/sh/init-vserver.sh "$RUNLEVEL_START" )
+           INITCMD_STOP=( env -i RUNLEVEL=0 /sbin/rc shutdown )
+           INITCMD_PREPARE=( $_FAKE_RUNLEVEL 3 /var/run/utmp )
            ;;
 
        (x) ;;
-       (*) echo "Unknown init-style '$INITSTYLE'; aborting" >&2;
-           exit 1;;
+       (*) panic "Unknown init-style '$INITSTYLE'; aborting";;
     esac
 
     if test x"$INITSTYLE" != xrescue; then
@@ -328,7 +342,7 @@ function _generateFlagOptions
     test ! -e "$vdir"/flags || \
     while read flag; do
        case x"$flag" in
-           (x|x\#            ;;
+           (x|x\#*)            ;;
            (xnamespace)        ;;
            (xfakeinit)
                _IS_FAKEINIT=1
@@ -377,12 +391,17 @@ function _generateChcontextOptions
     OPTS_VCONTEXT_CREATE=( $SILENT_OPT \
                           ${ctx:+--xid "$ctx"} )
     ## put '--secure' at front so that it can be overridden
-    OPTS_VATTRIBUTE=( --secure "${OPTS_VATTRIBUTE[@]}" )
+    OPTS_VATTRIBUTE=( --secure --flag default "${OPTS_VATTRIBUTE[@]}" )
 }
 
 function _generateScheduleOptions
 {
     local vdir=$1
+    if test -d "$vdir"/sched; then
+      OPTS_VSCHED=( --dir "$vdir"/sched --missingok )
+      return 0
+    fi
+
     local f="$vdir"/schedule
     test -e "$f" || return 0
 
@@ -455,6 +474,29 @@ function _generateMac
     eval $1=$(printf "f0:ff:%02x:%02x:%02x:%02x" $[ (~($2>>8)) & 0xff ] $[ ($2 & 0xff) ] $[ ($3>>8) & 0xff ] $[ $3 & 0xff ])
 }
 
+function _getVLANInfo
+{
+    case "$1" in
+       (vlan????)
+           panic "\
+creation of VLAN_PLUS_VID devices is not supported; please create them
+before starting the vserver and use the 'nodev' flag then"
+           echo "$1 vlan ${1##vlan} VLAN_PLUS_VID"
+           ;;
+       (vlan*)
+           panic "\
+creation of VLAN_PLUS_VID_NO_PAD devices is not supported; please
+create them before starting the vserver and use the 'nodev' flag then"
+           echo "$1 vlan ${1##vlan} VLAN_PLUS_VID_N0_PAD"
+           ;;
+       (*.????)        echo "$1 ${1%%.*} ${1##*.} DEV_PLUS_VID";;
+       (*.*)           echo "$1 ${1%%.*} ${1##*.} DEV_PLUS_VID_NO_PAD";;
+       (*)             return 1
+    esac
+
+    return 0
+}
+
 ## Usage: _processSingleInterface <interface-directory>
 function _processSingleInterface
 {
@@ -497,22 +539,26 @@ function _processSingleInterface
        ## LEGACY ALERT
        test ! -e "$iface"/only_ip || break
 
-       case "$dev" in
-           (*.*)
+       test -e "$iface/vlandev" \
+            -o \( -e "$iface/../vlandev" -a ! -e "$iface/novlandev" \) \
+            -o \( -e "$__CONFDIR/.defaults/interfaces/vlandev" \
+                  -a ! -e "$iface/novlandev" \
+                  -a ! -e "$iface/../novlandev" \) && {
+           local vlan_info
+           if vlan_info=$(_getVLANInfo "$dev"); then
                test -d /proc/net/vlan || {
                    echo -e $"VLAN device-name used, but vlan subsystem not enabled.\nTry to execute 'modprobe 8021q' before starting the vservers"  >&2
                    return 1
                }
-               test -f /proc/net/vlan || {
-                   _addInterfaceCmd VCONFIG ${dev/./ }
-                   _addInterfaceCmd IP_ADDR 127.0.0.1/8 broadcast 127.255.255.255 dev "$dev"
-                   _addInterfaceCmd IP_LINK "$dev" $up
-               }
-               ;;
-       esac
+               _addInterfaceCmd VCONFIG $vlan_info
+           fi
+       }
 
        if ! test -e "$iface"/indirect; then
-           _addInterfaceCmd IP_ADDR  "$ip${prefix:+/$prefix}" broadcast ${bcast:-+} ${name:+label "$dev:$name"} dev "$dev"
+           # XXX: IPv6 hack
+           use_bcast="broadcast ${bcast:-+}"
+           echo "$ip" | $_GREP -q : && use_bcast=
+           _addInterfaceCmd IP_ADDR  "$ip${prefix:+/$prefix}" $use_bcast ${name:+label "$dev:$name"} dev "$dev"
            #_addInterfaceCmd IP_ROUTE "$ip${prefix:+/$prefix}" dev "$dev"
            _addInterfaceCmd IP_LINK  "$dev" $up
        elif ! test -n "$ctx"; then
@@ -569,8 +615,9 @@ function enableInterfaces
                shift 2
                $_MODPROBE ${name:+-o "$name"} "$mod" "$@"
                ;;
-           NAMEIF)             $_NAMEIF "$@";;
-           VCONFIG)            $_VCONFIG  add   "$@";;
+           NAMEIF)             $_NAMEIF   "$@";;
+           VCONFIG)            $_VCONFIG  set_name_type "$4"      >/dev/null
+                               $_VCONFIG  add           "$2" "$3" >/dev/null;;
            IP_ADDR)            $_IP addr  add   "$@";;
            IP_ADDR_FLUSH)      $_IP addr  flush "$@";;
            IP_LINK)            $_IP link  set   "$@";;
@@ -605,7 +652,7 @@ function disableInterfaces
            IPTABLES)           ;; ## TODO
            MODPROBE)           $_RMMOD "${2:-$1}";;
            NAMEIF)             ;;
-           VCONFIG)            $_VCONFIG  rem "$@";;
+           VCONFIG)            $_VCONFIG  rem "$2.$3" >/dev/null;;
            IP_ADDR)            $_IP addr  del "$@";;
            IP_ADDR_FLUSH)      ;;
            IP_LINK)            ;; ## Ignore the link-down command for now
@@ -667,6 +714,54 @@ function generateOptions
     fi
 }
 
+function addtoCPUSET
+{
+    local vdir=$1
+    local cpuset
+    local f="$vdir"/cpuset
+    local i
+    local configured=0
+
+    test -d "$f" || return 0
+    test -e "$f"/name || return 0
+
+    read cpuset < "$f"/name
+    test -e "$f"/nocreate || {
+       test -d /dev/cpuset/"$cpuset" || mkdir /dev/cpuset/"$cpuset" || configured=1
+       for i in cpus mems cpu_exclusive mem_exclusive virtualized; do
+           if test -e "$f"/"$i"; then
+               cat "$f"/"$i" >/dev/cpuset/"$cpuset"/"$i" || {
+                   configured=1
+                   break
+               }
+           fi
+       done
+    }
+
+    echo $$ >/dev/cpuset/"$cpuset"/tasks || configured=1
+    if [ "$configured" -ne 0 ]; then
+       warning $"\
+WARNING: Failed to create or CPUSET \"$cpuset\" does not exist! Not using it!" >&2
+       rmdir /dev/cpuset/"$cpuset" 2>/dev/null || :
+       return 0
+    fi
+}
+
+function removeCPUSET
+{
+    local vdir=$1
+    local cpuset
+    local f="$vdir"/cpuset
+
+    test -d "$f" || return 0
+    test -e "$f"/name || return 0
+
+    read cpuset < "$f"/name
+    test -e "$f"/nocreate || {
+       rmdir /dev/cpuset/"$cpuset" 2>/dev/null || :
+    }
+}
+
 function _mountVserverInternal
 {
     local fstab="$1"
@@ -720,13 +815,13 @@ function mountVserver
 
     test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$cfgdir"
 
-    test -z "$NAMESPACE_CLEANUP" || isAvoidNamespace "$cfgdir" || \
-       $_VNAMESPACE --cleanup
-
     _mountVserverInternal "$cfgdir"/fstab
     _mountVserverInternal "$cfgdir"/fstab.local
     _mountVserverInternal "$cfgdir"/fstab.remote $_CHBIND "${CHBIND_OPTS[@]}"
 
+    isNamespaceCleanup "$cfgdir" && \
+        _namespaceCleanup "$cfgdir"
+
     isAvoidNamespace "$cfgdir" || \
        $_SECURE_MOUNT --rbind -n "$vdir" "/"
 }
@@ -760,12 +855,14 @@ function umountVserver
 
     isAvoidNamespace "$cfgdir"    || return 0
     test -e "$cfgdir"/fstab -o \
-         -e "$cfgdir"/fstab.local || return 0
+         -e "$cfgdir"/fstab.local -o \
+         -e "$cfgdir"/fstab.remote || return 0
     test -n "$_HAVE_CHBIND_OPTIONS"  || _generateChbindOptions "$cfgdir"
     
     pushd "$vdir/" >/dev/null || return 1
-       _umountVserverInternal  "$cfgdir"/fstab.local                              || is_ok=
-       _umountVserverInternal  "$cfgdir"/fstab       $_CHBIND "${CHBIND_OPTS[@]}" || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab.remote $_CHBIND "${CHBIND_OPTS[@]}" || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab.local                               || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab                                     || is_ok=
     popd >/dev/null           || return 1
 
     test -n "$is_ok"
@@ -786,24 +883,37 @@ function initWait
 {
     if $_VSERVER_INFO - FEATURE vwait; then
        local _is_tmpdir
-       _is_tmpdir=$($_MKTEMPDIR /tmp/vwaitstat.XXXXXX)
-           
-       $_NOHUP $_VWAIT --timeout "$VSHELPER_SYNC_TIMEOUT" \
-           --terminate --status-fd 3 "$2"  \
-           >>$_is_tmpdir/out 2>$_is_tmpdir/err 3>$_is_tmpdir/fifo &
+       _is_tmpdir=$($_MKTEMPDIR vwaitstat.XXXXXX)
+
+       (
+           $_VWAIT --timeout "$VSHELPER_SYNC_TIMEOUT" \
+               --status-fd 3 "$2" \
+               >>$_is_tmpdir/out 2>$_is_tmpdir/err 3>$_is_tmpdir/fifo
+           rc=$?
 
+           if test "$rc" -ne 0 -a "$rc" -ne 1; then
+               $_VPS axf | $_EGREP -e "^[^ \t]+[ \t]+$S_CONTEXT[ \t]+" >&4
+               killContext "$S_CONTEXT" 9
+           fi
+
+           exit $rc
+       ) 4>$_is_tmpdir/procs &
+           
        echo "$!" >$_is_tmpdir/pid
        eval "$3"=$_is_tmpdir
-    fi
+    fi </dev/null
 }
 
 
-## Usage: _waitForVWait <fifo> <pid>
+## Usage: _waitForVWait <vserver> <fifo> <pid> <procs>
 function _waitForVWait
 {
+    wait "$3" || :
+
     declare -a status
-    wait "$2" || :
-    getFileArray status "$1"
+    declare -r procs=$(cat $4)
+
+    getFileArray status "$2"
     set -- ${status[0]}
 
     case "$1" in
@@ -817,10 +927,21 @@ A timeout occured while waiting for the vserver to finish and it was
 killed by sending a SIGKILL signal. Please investigate the reasons
 and/or increase the timeout in apps/vshelper/sync-timeout."
                        ;;
-       (TIMEOUT|\?\?\?|*)      warning $"\
+
+       (TIMEOUT)       warning $"\
+A timeout occured while waiting for the vserver to finish and it will
+be killed by sending a SIGKILL signal. The following process list
+might be useful for finding out the reason of this behavior:
+
+----------------------------------------------------------------------
+${procs:+$procs
+}----------------------------------------------------------------------"
+                       ;;
+
+       (\?\?\?|*)      warning $"\
 internal error: 'vwait' exited with an unexpected status '$1'; I will
 try to continue but be prepared for unexpected events."
-                       ;;
+                   ;;
     esac
 
     return 0
@@ -835,7 +956,7 @@ function waitForSync
     local vwait_pid=$4
 
     if test -d "$vwait_statdir"; then
-       _waitForVWait "$vwait_statdir/fifo" "$( <$vwait_statdir/pid )"
+       _waitForVWait "$cfgdir" "$vwait_statdir/fifo" "$( <$vwait_statdir/pid )" "$vwait_statdir/procs"
     elif test -n "$_NEED_VSHELPER_SYNC"; then
        $_VSHELPER_SYNC "$fifo" "$VSHELPER_SYNC_TIMEOUT" || \
            warning $"\
@@ -920,6 +1041,14 @@ WARNING: The 'only_ip' flag for interface '$iface' is deprecated; use
        fi
     done
 
+    test ! -d "$cfgdir"/dlimits -o -L "$cfgdir/cache" || \
+       warning $"\
+WARNING: There is no cachedirectory configured for this vserver;
+  please create '$cfgdir/cache' e.g. by executing
+
+  ln -s ../.defaults/cachebase/$VSERVER_NAME $cfgdir/cache
+"
+
     find "$cfgdir" -type f -exec "$_CHECK_UNIXFILE" '{}' ';'
 
     vshelper.doSanityCheck
@@ -931,5 +1060,182 @@ WARNING: The 'only_ip' flag for interface '$iface' is deprecated; use
        panic $"\
 /proc/uptime can not be accessed. Usually, this is caused by
 procfs-security. Please read the FAQ for more details
-http://www.linux-vserver.org/index.php?page=Linux-Vserver+FAQ"
+http://linux-vserver.org/Proc-Security"
+}
+
+
+function _setSingleDiskLimit
+{
+    local vdir=$1
+    local dlimit=$2
+    local space_used=
+    local space_total=
+    local inodes_used=
+    local inodes_total=
+    local reserved=
+    local directory=
+    local ctx=
+
+    getFileValue ctx          "$vdir/context"
+    getFileValue directory    "$dlimit/directory"    || return 0
+    getFileValue space_total  "$dlimit/space_total"  || return 0
+    getFileValue inodes_total "$dlimit/inodes_total" || return 0
+    getFileValue reserved     "$dlimit/reserved"     || return 0
+
+    local cachename=$ctx$directory
+    cachename=dlimits/${cachename//\//_}
+
+    test -e "$vdir/cache/$cachename" && . "$vdir/cache/$cachename"
+    # Remove the cache so if the machine goes down unexpectedly, we won't have a stale cache
+    $_RM -f "$vdir/cache/$cachename"
+
+    if test -z "$inodes_used" -o -z "$space_used"; then
+       local tmpvdu
+       tmpvdu=`$_VDU --xid $ctx --space --inodes --script "$directory"`
+       inodes_used=${tmpvdu##* }
+       space_used=${tmpvdu%% *}
+    fi
+
+    $_VDLIMIT --xid $ctx \
+       --set space_used=$space_used \
+       --set space_total=$space_total \
+       --set inodes_used=$inodes_used \
+       --set inodes_total=$inodes_total \
+       --set reserved=$reserved \
+       "$directory"
+}
+
+
+function setDiskLimits
+{
+    local vdir=$1
+    local dlimit
+
+    # Disk Limits without a static context are useless
+    test -e "$vdir"/context || return 0
+
+    for dlimit in "$vdir/dlimits/"*; do
+       test   -d "$dlimit"          || continue
+       test ! -e "$dlimit/disabled" || continue
+
+       _setSingleDiskLimit "$vdir" "$dlimit"
+    done
+}
+
+
+function _saveSingleDiskLimit
+{
+    local vdir=$1
+    local dlimit=$2
+    local ctx=
+    local directory=
+
+    getFileValue ctx       "$vdir/context"
+    getFileValue directory "$dlimit/directory" || return 0
+
+    local cachename=$ctx$directory
+    cachename=${cachename//\//_}
+
+    # Things are getting ugly here... LFS says that /var/cache (where
+    # cachename is usually pointing to) can vanish and applications
+    # have to deal with it. So, we have to interprete the $vdir/cache
+    # symlink and have to create the needed directories manually.
+    if   test -d "$vdir/cache"; then
+       :       # ok, exists already
+    elif test -L "$vdir/cache"; then
+       # it's a dangling symlink
+       local link
+       link=$($_READLINK "$vdir/cache")
+       ( cd $vdir && $_MKDIR -p "$link" )
+    else
+       return 0
+    fi
+
+    test -d "$vdir/cache"
+    $_MKDIR -p "$vdir"/cache/dlimits
+
+    $_VDLIMIT --xid $ctx "$directory" | \
+       $_GREP '_used=' > "$vdir/cache/dlimits/$cachename"
+
+    $_VDLIMIT --xid $ctx --remove "$directory"
+}
+
+
+function saveDiskLimits
+{
+    local vdir=$1
+    local dlimit
+
+    test -e "$vdir"/context || return 0
+
+    for dlimit in "$vdir/dlimits/"*; do
+       test   -d "$dlimit"          || continue
+       test ! -e "$dlimit/disabled" || continue
+
+       _saveSingleDiskLimit "$vdir" "$dlimit"
+    done
+}
+
+function _namespaceCleanup
+{
+    local vdir="$1"
+    local root=$($_VSERVER_INFO "$1" VDIR 1)
+    local -a list
+    local -a skip
+    local tmp
+
+    getFileArray skip "$vdir"/namespace-cleanup-skip \
+       "$__CONFDIR"/.defaults/namespace-cleanup-skip || :
+
+    # these are things that have to be accessible post-cleanup
+    for tmp in "$root" "$__SBINDIR" "$__PKGLIBDIR" "$vdir" \
+       "$__PKGSTATEDIR" "$__LOCKDIR" /usr/local /tmp "${skip[@]}"; do
+       while test -n "$tmp"; do
+           list=( "${list[@]}" "$tmp" )
+           tmp="${tmp%/*}"
+       done
+    done
+
+    local -a list_umount
+    while read dev path opts; do
+       test -n "$path" || continue
+       for i in "$root" /dev /proc; do
+           test "${path#$i}" != "$path" && continue 2
+       done
+       for i in "${list[@]}" /; do
+           test "$path" = "$i" && continue 2
+       done
+       # unmount them in reverse order so mounts further down the tree get unmounted first
+       list_umount=( "$path" "${list_umount[@]}" )
+    done < /proc/mounts
+    # separate loop to avoid races while reading /proc/mounts
+    for i in "${list_umount[@]}"; do
+       $_UMOUNT -l -n "$i"
+    done
+}
+
+function loadDeviceMap
+{
+    local xid="$1"
+    local dir="$2"
+    local flags device target
+
+    test -d "$dir" || return 0
+
+    for i in "$dir"/*; do
+       test -d "$i" || continue
+
+       local -a vdevmap_opts=()
+       test -e "$i/create" && vdevmap_opts=( "${vdevmap_opts[@]}" --create )
+       test -e "$i/open"   && vdevmap_opts=( "${vdevmap_opts[@]}" --open )
+       test -e "$i/remap"  && vdevmap_opts=( "${vdevmap_opts[@]}" --remap )
+
+       getFileValue flags "$i/flags" || :
+       getFileValue device "$i/device" || :
+       getFileValue target "$i/target" || :
+       vdevmap_opts=(  "${vdevmap_opts[@]}" ${flags:+--flags "$flags"} \
+                       ${device:+--device "$device"} ${target:+--target "$target"} )
+
+       $_VDEVMAP --xid "$xid" "${vdevmap_opts[@]}" || return $?
+    done
 }
index 7311288..324292b 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver.start,v 1.45 2005/07/15 19:01:06 ensc Exp $  --*- sh -*--
+# $Id: vserver.start 2466 2007-01-21 08:02:44Z dhozac $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -71,21 +71,40 @@ is_mounted=
 is_vshelper_init=
 have_interfaces=
 startsync_pipe=
+have_initcmd=
 
 while test "$#" -gt 0; do
     case "$1" in
        (--rescue)      INITSTYLE=rescue;;
-       (--rescue-cmd)  INITCMD_RESCUE=( $2 ); shift;;
-       (*)             panic $"vserver ... start: unknown option '$1'";;
+       (--rescue-cmd)
+           warning $"\
+The '--rescue-cmd' option is deprecated; just add the the initcmd
+inclusive its arguments to the cmdline."
+           INITCMD_RESCUE=( $2 );
+           have_initcmd=1
+           shift;;
+       (--rescue-init) _IS_FAKEINIT=1;;
+       (--)            shift; break;;
+       (-*)            panic $"vserver ... start: unknown option '$1'";;
+       (*)             break;
     esac
     shift
 done
 
+if test x"$INITSTYLE" = xrescue -a -z "$have_initcmd" -a "$#" -gt 0; then
+    INITCMD_RESCUE=( "$@" )
+fi
+
+
 set -e
 trap "cleanup" EXIT
 
 sanityCheck      "$VSERVER_DIR"
 
+pushd "$VSERVER_DIR" >/dev/null
+execScriptlets   "$VSERVER_DIR" "$VSERVER_NAME" initialize
+popd >/dev/null
+
 mountRootFS      "$VSERVER_DIR"
 generateOptions  "$VSERVER_DIR"
 
@@ -93,10 +112,13 @@ pushd "$VSERVER_DIR" >/dev/null
 execScriptlets   "$VSERVER_DIR" "$VSERVER_NAME" prepre-start
 popd >/dev/null
 
+setDiskLimits    "$VSERVER_DIR"
+
 enableInterfaces "$VSERVER_DIR" && have_interfaces=1
 
 mountVserver "$VSERVER_DIR"     && is_mounted=1
 prepareInit  "$VSERVER_DIR"
+addtoCPUSET  "$VSERVER_DIR"
 
 pushd "$VSERVER_DIR"/vdir/ >/dev/null
 execScriptlets   "$VSERVER_DIR" "$VSERVER_NAME" pre-start
@@ -113,19 +135,20 @@ if $_VSERVER_INFO - FEATURE migrate; then
     $_VCONTEXT   --create "${OPTS_VCONTEXT_CREATE[@]}" -- \
     ${USE_VNAMESPACE:+$_VNAMESPACE --set -- } \
     $_VLIMIT     --dir "$VSERVER_DIR"/rlimits --missingok -- \
-    $_VSCHED     --xid self "${OPTS_VSCHED[@]}" -- \
-    $_VUNAME     --xid self --dir "$VSERVER_DIR"/uts     --missingok -- \
+    $_VSCHED     --xid self --force "${OPTS_VSCHED[@]}" -- \
+    $_VSYSCTL    --xid self --dir "$VSERVER_DIR"/sysctl --missingok -- \
+    $_VUNAME     --xid self --dir "$VSERVER_DIR"/uts    --missingok -- \
     "${VSERVER_EXTRA_CMDS[@]}" \
     $_VUNAME     --xid self --set -t context="$VSERVER_DIR" -- \
     $_VATTRIBUTE --set "${OPTS_VATTRIBUTE[@]}" -- \
     $_SAVE_CTXINFO "$VSERVER_DIR" \
-    $_ENV -i -- \
+    $_ENV -i "${OPTS_ENV[@]}" \
     $_VCONTEXT   --migrate-self --endsetup --chroot $SILENT_OPT \
     "${OPTS_VCONTEXT_MIGRATE[@]}" "${OPTS_VCONTEXT_ENTER[@]}" -- \
     "${INITCMD_START[@]}"
 else
     if test -n "$_IS_FAKEINIT"; then
-       startsync_pipe=$($_MKTEMP /tmp/vserver-start.XXXXXX)
+       startsync_pipe=$($_MKTEMP vserver-start.XXXXXX)
        $_RM -f "$startsync_pipe"
        $_MKFIFO -m600 "$startsync_pipe"        ## safe, since mkfifo does not follow symlinks
     fi
@@ -135,7 +158,7 @@ else
     $_EXEC_ULIMIT      "$VSERVER_DIR/ulimits" \
     $_CHCONTEXT_COMPAT "${CHCONTEXT_OPTS[@]}" "${CHCONTEXT_INIT_OPTS[@]}" \
     $_SAVE_CTXINFO     "$VSERVER_DIR" \
-    $_ENV -i -- \
+    $_ENV -i "${OPTS_ENV[@]}" \
     $_CHAINECHO "${_IS_FAKEINIT:+$startsync_pipe}" "" \
     $_CAPCHROOT        "${CAPCHROOT_OPTS[@]}" . \
     "${INITCMD_START[@]}"
index f1ac335..3783310 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver.stop,v 1.29 2005/06/30 06:17:58 ensc Exp $  --*- sh -*--
+# $Id: vserver.stop 2508 2007-02-25 14:06:51Z dhozac $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -66,25 +66,32 @@ fail=
 initWait          "$VSERVER_DIR" "$S_CONTEXT" vwait_statdir
 if test -n "$_IS_FAKEINIT" && \
    $_VSERVER_INFO - FEATURE vkill; then
-    $_VKILL -s INT --xid "$S_CONTEXT" -- 1 || fail=1
-    ## HACK: remove the 'initpid' stuff above when PID virtualization
-    ## is implemented
+    if ! vshelper.isStopSync; then
+       $_VKILL -s INT --xid "$S_CONTEXT" -- 1 || fail=1
+    fi
 elif $_VSERVER_INFO - FEATURE migrate; then
     "${NICE_CMD[@]}" \
-    ${USE_VNAMESPACE:+$_VNAMESPACE --enter "$S_CONTEXT" -- } \
     $_VCONTEXT $SILENT_OPT --migrate --chroot --xid "$S_CONTEXT" -- \
     "${INITCMD_STOP[@]}" || fail=1
 else
     "${NICE_CMD[@]}" \
     "$_CHBIND"       "${CHBIND_OPTS[@]}" \
     "$_EXEC_ULIMIT"  "$VSERVER_DIR/ulimits" \
-    ${USE_VNAMESPACE:+$_VNAMESPACE --enter "$S_CONTEXT"} \
     $_CHCONTEXT_COMPAT    "${CHCONTEXT_OPTS[@]}" \
     "$_CAPCHROOT"    "${CAPCHROOT_OPTS[@]}" "." \
     "${INITCMD_STOP[@]}" || fail=1
 fi
 
-test -n "$fail" || waitForSync "$VSERVER_DIR" "$sync_fifo" "$vwait_statdir"
+# Remove persistent so those contexts can be stopped
+$_VATTRIBUTE --set --xid "$S_CONTEXT" --flag ~persistent 2>/dev/null || :
+if $_VSERVER_INFO -q "$S_CONTEXT" XIDTYPE static &&
+   $_VSERVER_INFO - FEATURE vnet; then
+    $_NATTRIBUTE --set --nid "$S_CONTEXT" --flag ~persistent 2>/dev/null || :
+fi
+
+vshelper.doStopSync
+
+waitForSync "$VSERVER_DIR" "$sync_fifo" "$vwait_statdir"
 
 vshelper.doDestroy "$VSERVER_DIR" "$S_CONTEXT"
 sendKillSequence   "$S_CONTEXT" "${INITKILL_SEQ[@]}"
@@ -98,4 +105,7 @@ execScriptlets    "$VSERVER_DIR" "$VSERVER_NAME" post-stop
 umountVserver     "$VSERVER_DIR" || :
 disableInterfaces "$VSERVER_DIR"
 
+saveDiskLimits    "$VSERVER_DIR"
+
 execScriptlets    "$VSERVER_DIR" "$VSERVER_NAME" postpost-stop
+removeCPUSET      "$VSERVER_DIR"
index 963bdf5..bbbe96f 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver.suexec,v 1.14 2005/07/15 19:01:06 ensc Exp $  --*- sh -*--
+# $Id: vserver.suexec 2481 2007-01-29 02:06:30Z dhozac $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -22,12 +22,15 @@ test -z "$is_stopped" -o "$OPTION_INSECURE" || {
     exit 1
 }
 generateOptions  "$VSERVER_DIR"
+addtoCPUSET  "$VSERVER_DIR"
 
 user=$1
 shift
 
 cd "$VSERVER_DIR"/vdir/
 
+test -z "$OPTION_NONAMESPACE" || USE_VNAMESPACE=
+
 if $_VSERVER_INFO - FEATURE migrate; then
     if test -z "$is_stopped"; then
        exec \
index 9738ba8..0b44e22 100755 (executable)
@@ -54,19 +54,36 @@ function doInternalMethod
            case "$ACTION" in
                (restart)
                    logging $"Restarting vserver '$VSERVER'"
-                   spawn   killContext "$XID"
-                   execute $_VSERVER --defaulttty "$VSERVER" restart
+
+                   local sync_dir
+                   vshelper.initStopSync sync_dir
+
+                   spawn $_VSERVER --defaulttty "$VSERVER" restart &
+
+                   disown %%
+                   vshelper.waitForStopSync "$sync_dir"
                    ;;
                (halt|poweroff)
                    logging $"Stopping vserver '$VSERVER'"
-                   spawn   killContext "$XID"
-                   execute $_VSERVER --defaulttty "$VSERVER" stop
+
+                   local sync_dir
+                   vshelper.initStopSync sync_dir
+
+                   spawn $_VSERVER --defaulttty "$VSERVER" stop &
+
+                   disown %%
+                   vshelper.waitForStopSync "$sync_dir"
+                   spawn killContext "$XID"
                    ;;
                (swsusp)
                    ## TODO: any senseful action here? Perhaps shutdown scheduler for it?
                    exit 0
                    ;;
                (restart2)      ;;
+               (shutdown)
+                   logging $"Cleaning up after vserver '$VSERVER'"
+                   spawn $_VSERVER --defaulttty "$VSERVER" stop
+                   ;;
                (*)
                    warning $"Unknown action '$ACTION' for vserver '$VSERVER'"
                    exit 1
@@ -165,7 +182,7 @@ while true; do
     responsible_xid=$pxid
 done
 
-vserver_id=$($_VSERVER_INFO "$responsible_xid" ID) ||
+vserver_id=$($_VSERVER_INFO "$responsible_xid" ID) || test "$ACTION" = "shutdown" ||
     panic $"No responsible vserver found for xid '$responsible_xid' ($XID); aborting..."
     
 test "$XID" = "$responsible_xid" || {
index 1826a20..3738327 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vsomething,v 1.3 2005/04/24 20:30:55 ensc Exp $
+# $Id: vsomething 2515 2007-03-18 15:32:22Z dhozac $
 
 # Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -23,6 +23,7 @@ test -e "$UTIL_VSERVER_VARS" || {
 }
 . "$UTIL_VSERVER_VARS"
 . "$_LIB_FUNCTIONS"
+. "$__PKGLIBDIR/vserver.functions"
 
 
 function showHelp()
@@ -105,8 +106,14 @@ for i in "${vservers[@]}"; do
        if pkgmgmt.isInternal "$i"; then
            $_VSERVER "$i" exec "$cmd" "$@"
        else
-           callInNamespace "$i" \
-               "$_VNAMESPACE" --new -- "$VSOMETHING_WORKER" "$i" "$@"
+           _setVserverDir "$i"
+           ( _generateChbindOptions "$VSERVER_DIR"
+             $_VSERVER "$i" status &> /dev/null && \
+               CHBIND_CMD=( "$_CHBIND" "${CHBIND_OPTS[@]}" -- )
+             callInNamespace "$i" \
+               "$_VNAMESPACE" --new -- \
+               "${CHBIND_CMD[@]}" \
+               "$VSOMETHING_WORKER" "$i" "$@" )
        fi
     else
        "$cmd" "$i" "$@"
index 24d3eaa..da9754e 100755 (executable)
@@ -40,6 +40,6 @@ else
        do
                IPOPT="$IPOPT --ip $oneip"
        done
-       echo exec $CHBIND $IPOPT /etc/init.d/$SERVICE "$@"
-       exec $CHBIND $IPOPT /etc/init.d/$SERVICE "$@"
+       echo exec $_CHBIND $IPOPT /etc/init.d/$SERVICE "$@"
+       exec $_CHBIND $IPOPT /etc/init.d/$SERVICE "$@"
 fi
diff --git a/scripts/vupdateworld b/scripts/vupdateworld
new file mode 100755 (executable)
index 0000000..7e4cd17
--- /dev/null
@@ -0,0 +1,83 @@
+#!/bin/bash
+# $Id: vupdateworld 2486 2007-02-05 18:08:17Z hollow $
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+    echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
+    exit 1
+}
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+
+function showHelp()
+{
+    echo \
+$"Usage: $0 <vserver-name>* [--all] -- <params>+
+
+Report bugs to <$PACKAGE_BUGREPORT>."
+    exit 0
+}
+
+function showVersion()
+{
+    echo \
+$"vupdateworld $PACKAGE_VERSION -- emerge world for vservers
+This program is part of $PACKAGE_STRING
+
+Copyright (C) 2006 Benedikt Boehm
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License.  This program has absolutely no warranty."
+    exit 0
+}
+
+tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+declare -a send_through vsomething_opts
+
+while true; do
+    case "$1" in
+       (--help)        showHelp $0 ;;
+       (--version)     showVersion ;;
+       (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
+       (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--)            shift; break;;
+       (*)             echo $"vemerge: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
+done
+
+declare -a vserver_names
+
+while [ $# -gt 0 ]; do
+    case "$1" in
+       (--)            shift; break;;
+       (*)             vserver_names=( "${vserver_names[@]}" "$1" );;
+    esac
+    shift
+done
+
+VSOMETHING_TITLE=vemerge
+VSOMETHING_PKGMGMT=1
+
+export VSOMETHING_TITLE VSOMETHING_PKGMGMT
+
+test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- )
+exec $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" "${vserver_names[@]}" -- world --update --deep --newuse "$@"
index 65f12cb..90adf26 100755 (executable)
@@ -5,7 +5,7 @@
 # Mark Huang <mlhuang@cs.princeton.edu>
 # Copyright (C) 2004-2006 The Trustees of Princeton University
 #
-# $Id: vuseradd,v 1.26 2006/11/13 18:49:31 mlhuang Exp $
+# $Id: vuseradd,v 1.31 2007/07/05 17:36:42 dhozac Exp $
 #
 
 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
@@ -65,13 +65,56 @@ USERID=`id -u $NAME`
 GROUPID=`id -g $NAME`
 GROUPNAME=`id -gn $NAME`
 
-# Create /etc/vservers configuration file
-if [ ! -f $__CONFDIR/$NAME.conf ] ; then
-    sed \
-       -e "s/.*S_CONTEXT=.*/S_CONTEXT=$USERID/" \
-       -e "s/.*ONBOOT=.*/ONBOOT=yes/" \
-       < $__PKGLIBDIR/defaults/sample.conf \
-       > $__CONFDIR/$NAME.conf
+# Create /etc/vservers configuration files
+if [ ! -d $__CONFDIR/$NAME ] ; then
+    # Move away the guest contents for now
+    if [ -d $__DEFAULT_VSERVERDIR/$NAME ] ; then
+       mkdir -p "$__DEFAULT_VSERVERDIR/.vtmp"
+       TMP=$(mktemp -d "$__DEFAULT_VSERVERDIR/.vtmp/$NAME.XXXXXX")
+       mv $__DEFAULT_VSERVERDIR/$NAME "$TMP"
+        HAS_VSERVERDIR=1
+    else
+       HAS_VSERVERDIR=0
+    fi
+
+    $_VSERVER $NAME build -m skeleton --context $USERID \
+               --interface nodev:0.0.0.0/0 \
+               --flags persistent,~info_init,sched_hard
+    RETVAL=$?
+    DIR=$__CONFDIR/$NAME
+    if [ $RETVAL -ne 0 ] ; then
+       echo "Error $RETVAL building $DIR"
+       rm -rf $DIR $__DEFAULT_VSERVERDIR/$NAME
+    fi
+    mkdir -p $DIR/apps/init $DIR/rlimits $DIR/sched $DIR/dlimits/0
+    echo default > $DIR/apps/init/mark
+    echo 1000 > $DIR/rlimits/nproc
+
+    # Set persistent for the network context
+    echo persistent > $DIR/nflags
+
+    # Set up the scheduler
+    echo 1000 > $DIR/sched/interval
+    echo 1000 > $DIR/sched/interval2
+    echo 0 > $DIR/sched/fill-rate
+    echo 32 > $DIR/sched/fill-rate2
+    touch $DIR/sched/idle-time
+    echo 100 > $DIR/sched/tokens
+    echo 50 > $DIR/sched/tokens-min
+    echo 100 > $DIR/sched/tokens-max
+
+    # Set up disk limits (unlimited)
+    echo `$_READLINK $DIR/vdir` > $DIR/dlimits/0/directory
+    echo 2 > $DIR/dlimits/0/reserved
+    echo -1 > $DIR/dlimits/0/inodes_total
+    echo -1 > $DIR/dlimits/0/space_total
+
+    # Remove the basically empty guest directory
+    rm -rf $__DEFAULT_VSERVERDIR/$NAME
+    # Move the guest back
+    if [ "$HAS_VSERVERDIR" = 1 ] ; then
+       mv "$TMP" $__DEFAULT_VSERVERDIR/$NAME
+    fi
 fi
 
 if [ ! -d "$__DEFAULT_VSERVERDIR/$NAME" ] ; then
@@ -89,7 +132,7 @@ if [ ! -d "$__DEFAULT_VSERVERDIR/$NAME" ] ; then
        # Build in temporary directory
        mkdir -p "$__DEFAULT_VSERVERDIR/.vtmp"
        TMP=$(mktemp -d "$__DEFAULT_VSERVERDIR/.vtmp/$NAME.XXXXXX")
-       "$__PKGLIBDIR/vbuild" "$REF" "$TMP"
+       "$_VCLONE" "$REF"/ "$TMP"/
        RETVAL=$?
 
        # Move it to its permanent location when complete
@@ -97,7 +140,7 @@ if [ ! -d "$__DEFAULT_VSERVERDIR/$NAME" ] ; then
            mv "$TMP" "$__DEFAULT_VSERVERDIR/$NAME"
        else
            echo "Error $RETVAL building $__DEFAULT_VSERVERDIR/$NAME"
-           rm -rf "$TMP" $__CONFDIR/$NAME.conf $__PKGSTATEDIR/$NAME.ctx
+           rm -rf "$TMP" $__CONFDIR/$NAME $__PKGSTATEDIR/$NAME.ctx
            userdel -r $NAME
            exit $RETVAL
        fi
@@ -109,7 +152,7 @@ if [ -d "$__DEFAULT_VSERVERDIR/$NAME" ] ; then
     chmod 755 "$__DEFAULT_VSERVERDIR/$NAME"
 
     # Add user in vserver
-    $_VSERVER_LEGACY $NAME suexec root sh -c \
+    $_VSERVER ----insecure $NAME suexec root sh -c \
        "groupadd -g $GROUPID $GROUPNAME ; useradd -u $USERID -g $GROUPID -p '' $NAME"
 
     # Add an unrestricted entry to /etc/sudoers file
index 875131f..778a0fa 100755 (executable)
@@ -4,7 +4,7 @@
 #
 # Copyright (c) 2004  The Trustees of Princeton University (Trustees).
 #
-# $Id: vuserdel,v 1.9 2005/08/21 21:44:09 mlhuang Exp $
+# $Id: vuserdel,v 1.11 2007/06/29 14:13:01 dhozac Exp $
 #
 
 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
@@ -25,8 +25,7 @@ usage()
 NAME=$1
 
 # read config file to get context ID
-. /etc/vservers/$NAME.conf
-CTX=$S_CONTEXT
+CTX=`cat $__CONFDIR/$NAME/context`
 
 # don't bother stopping gracefully, just kill all the processes
 chcontext --silent --secure --ctx $CTX $__LEGACYDIR/vserverkillall
@@ -44,8 +43,8 @@ done
 # delete user
 [ -z "$STATIC" ] && userdel -r $NAME
 
-# remove vserver configuration file
-rm -f /etc/vservers/$NAME.conf
+# remove vserver configuration directory
+rm -rf /etc/vservers/$NAME
 
 # remove vserver profile
 rm -f /var/run/vservers/$NAME.ctx
index 3c40e8d..90c24b0 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vyum,v 1.2 2005/03/02 01:24:44 ensc Exp $
+# $Id: vyum 1880 2005-03-02 01:24:44Z ensc $
 
 # Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 984d1d6..c61f0e0 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vyum-worker,v 1.5 2005/04/08 19:18:06 ensc Exp $
+# $Id: vyum-worker 2527 2007-04-11 18:14:47Z dhozac $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -37,12 +37,9 @@ test -z "$_YUM" || {
     ${YUM:=$_YUM}
 }
 
-yum=${YUM:-yum}
-conf=yum.conf
-case $(yum --version) in
-    (2.[0123]*)
-       python -c 'import yum,sys; sys.exit(not hasattr(yum.config.yumconf, "getRootedPath"))' &>/dev/null || {
-           warning "\
+function check(){
+    python -c "$1" &>/dev/null || {
+       warning "\
 You are using a version of yum which is insecure and broken in chroot
 related operations; either apply the patches shipped in the 'contrib/'
 directory of util-vserver, or ask the author of yum to apply them
@@ -52,9 +49,30 @@ In the meantime, 'vyum' will continue with dirty hacks which might not
 work when the vserver is running and local DOS attacks are possible.
 
 Execution will continue in 5 seconds..."
-           sleep 5
-           conf=yum-hack.conf
-       }
+       sleep 5
+       conf=yum-hack.conf
+    }
+}
+
+yum=${YUM:-yum}
+conf=yum.conf
+case $($yum --version|tail -n 1) in
+    (2.[012345]*)
+       check 'import yum,sys; sys.exit(not hasattr(yum.config.yumconf, "getRootedPath"))'
+       ;;
+    (2.[6789]*|3.0*)
+       check 'import yum,sys; sys.exit(not hasattr(yum.config.YumConf, "getRootedPath"))'
+       ;;
+    (*)
+       warning "\
+You are using a version of yum which current status is unknown to vyum.
+
+Just to be sure, 'vyum' will use dirty hacks which might not work when
+the vserver is running and local DOS attacks are possible.
+
+Execution will continue in 5 seconds..."
+       sleep 5
+       conf=yum-hack.conf
        ;;
 esac
 
index 9ad3981..05d4809 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.70 2005/07/02 09:17:55 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 2491 2007-02-05 20:59:03Z dhozac $  -*- makefile -*-
 
 ## Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
 ##  
 
 src_sbin_CXX_PROGS =   
-src_pkglib_CXX_PROGS = src/vbuild
 
-src_pkglib_C99_PROGS = src/vunify src/vcopy
+src_pkglib_C99_PROGS = src/vunify src/vcopy src/vclone
 
 
 AM_INSTALLCHECK_STD_OPTIONS_EXEMPT += \
                        src/parserpmdump \
                        src/showperm \
-                       src/vbuild \
                        src/vcheck \
                        src/vreboot \
                        src/save_ctxinfo \
                        src/mask2prefix \
                        src/ifspec \
                        src/rebootmgr \
-                       src/vdu \
                        src/vfiles
 
 DIETPROGS +=           src/chcontext-compat \
@@ -47,7 +44,7 @@ DIETPROGS +=          src/chcontext-compat \
                        src/secure-mount \
                        src/save_ctxinfo \
                        src/mask2prefix \
-                       src/chbind \
+                       src/chbind-compat \
                        src/exec-cd \
                        src/fakerunlevel \
                        src/keep-ctx-alive \
@@ -75,7 +72,14 @@ DIETPROGS +=         src/chcontext-compat \
                        src/vserver-info \
                        src/vdlimit \
                        src/vsh \
-                       src/vwait
+                       src/vdu \
+                       src/vwait \
+                       src/ncontext \
+                       src/nattribute \
+                       src/naddress \
+                       src/vdevmap \
+                       src/vsysctl \
+                       src/vclone
 
 if ENSC_CAN_BEECRYPT_WITH_DIETLIBC
 DIETPROGS +=           src/vhashify
@@ -111,6 +115,8 @@ pkglib_PROGRAMS +=  src/capchroot \
                        src/rpm-fake-resolver \
                        src/vshelper-sync \
                        src/sigexec \
+                       src/chbind-compat \
+                       src/vsysctl \
                        $(src_pkglib_C99_X_PROGS) \
                        $(src_pkglib_CXX_X_PROGS)
 
@@ -129,8 +135,7 @@ legacy_PROGRAMS +=  src/ifspec \
 
 pkglib_LTLIBRARIES +=  src/rpm-fake.la
 
-sbin_PROGRAMS +=       src/chbind \
-                       src/exec-cd \
+sbin_PROGRAMS +=       src/exec-cd \
                        src/lsxid \
                        src/chxid \
                        src/vps \
@@ -150,6 +155,10 @@ sbin_PROGRAMS +=   src/chbind \
                        src/vuname \
                        src/vsh \
                        src/vwait \
+                       src/ncontext \
+                       src/nattribute \
+                       src/naddress \
+                       src/vdevmap \
                        $(src_sbin_CXX_X_PROGS)
 
 if ENSC_HAVE_C99_COMPILER
@@ -161,20 +170,20 @@ src_capchroot_SOURCES =           src/capchroot.c
 src_capchroot_LDADD =          $(VSERVER_LDADDS)
 src_capchroot_LDFLAGS =                $(VSERVER_LDFLGS)
 
-src_chbind_SOURCES =           src/chbind.c
-src_chbind_LDADD =             $(VSERVER_LDADDS)
-src_chbind_LDFLAGS =           $(VSERVER_LDFLGS)
+src_chbind_compat_SOURCES =    src/chbind.c
+src_chbind_compat_LDADD =      $(VSERVER_LDADDS)
+src_chbind_compat_LDFLAGS =    $(VSERVER_LDFLGS)
 
 src_chcontext_compat_SOURCES = src/chcontext.c
 src_chcontext_compat_LDADD =   $(VSERVER_LDADDS) $(LIBINTERNAL)
 src_chcontext_compat_LDFLAGS = $(VSERVER_LDFLGS)
 
-src_vcontext_SOURCES           =  src/vcontext.c
+src_vcontext_SOURCES           =  src/vcontext.c src/vlogin.c
 src_vcontext_LDADD             =  $(VSERVER_LDADDS) $(LIBINTERNAL)
 src_vcontext_LDFLAGS           =  $(VSERVER_LDFLGS)
 
 src_vsched_SOURCES             =  src/vsched.c
-src_vsched_LDADD               =  $(VSERVER_LDADDS)
+src_vsched_LDADD               =  $(VSERVER_LDADDS) $(LIBINTERNAL)
 src_vsched_LDFLAGS             =  $(VSERVER_LDFLGS)
 
 src_filetime_SOURCES           =  src/filetime.c
@@ -183,6 +192,7 @@ src_filetime_LDFLAGS                =  $(VSERVER_LDFLGS)
 
 src_chain_echo_SOURCES         =  src/chain-echo.c
 src_chroot_sh_SOURCES          =  src/chroot-sh.c
+src_chroot_sh_LDADD            =  $(LIBINTERNAL)
 src_exec_cd_SOURCES            =  src/exec-cd.c
 src_fakerunlevel_SOURCES       =  src/fakerunlevel.c
 src_ifspec_SOURCES             =  src/ifspec.c
@@ -200,7 +210,7 @@ src_reducecap_LDFLAGS               =  $(VSERVER_LDFLGS)
 
 src_vkill_SOURCES              =  src/vkill.c
 src_vkill_LDADD                        =  $(VSERVER_LDADDS)
-src_vkill_LDFLAGS              =  $(VSERVER_LDFLGS)
+src_vkill_LDFLAGS              =  $(VSERVER_LDFLGS) $(LIBINTERNAL)
 src_vkill_CPPFLAGS             =  $(AM_CPPFLAGS) -DLEGACYDIR=\"$(legacydir)\"
 
 src_vlimit_SOURCES             =  src/vlimit.c
@@ -211,7 +221,10 @@ src_save_ctxinfo_SOURCES   =  src/save_ctxinfo.c
 src_save_ctxinfo_LDADD         =  $(VSERVER_LDADDS)
 src_save_ctxinfo_LDFLAGS       =  $(VSERVER_LDFLGS)
 
-src_vdu_SOURCES =              src/vdu.c
+src_vdu_SOURCES                =  src/vdu.c
+src_vdu_LDADD                  =  $(VSERVER_LDADDS) $(LIBINTERNAL)
+src_vdu_LDFLAGS                        =  $(VSERVER_LDFLGS)
+
 src_vreboot_SOURCES =          src/vreboot.c
 
 src_secure_mount_SOURCES =     src/secure-mount.c
@@ -244,8 +257,6 @@ src_vserver_stat_SOURCES    =  src/vserver-stat.c
 src_vserver_stat_LDADD         =  $(LIBINTERNAL) $(VSERVER_LDADDS) $(LIBENSCVECTOR)
 src_vserver_stat_LDFLAGS       =  $(VSERVER_LDFLGS)
 
-src_vbuild_SOURCES              =  src/vbuild.cc src/vutil.cc src/vserver.cc
-
 src_lsxid_SOURCES              =  src/fstool.c src/lsxid.c
 src_lsxid_LDADD                        =  $(LIBINTERNAL) $(VSERVER_LDADDS) $(LIBENSCVECTOR)
 src_lsxid_LDFLAGS              =  $(VSERVER_LDFLGS) 
@@ -305,6 +316,30 @@ src_vwait_SOURCES          = src/vwait.c
 src_vwait_LDADD                        = $(VSERVER_LDADDS)
 src_vwait_LDFLAGS              = $(VSERVER_LDFLGS)
 
+src_ncontext_SOURCES           = src/ncontext.c
+src_ncontext_LDADD             = $(VSERVER_LDADDS) $(LIBINTERNAL)
+src_ncontext_LDFLAGS           = $(VSERVER_LDFLGS)
+
+src_nattribute_SOURCES         = src/nattribute.c
+src_nattribute_LDADD           = $(VSERVER_LDADDS)
+src_nattribute_LDFLAGS         = $(VSERVER_LDFLGS)
+
+src_naddress_SOURCES           = src/naddress.c
+src_naddress_LDADD             = $(VSERVER_LDADDS) $(LIBINTERNAL)
+src_naddress_LDFLAGS           = $(VSERVER_LDFLGS)
+
+src_vdevmap_SOURCES            = src/vdevmap.c
+src_vdevmap_LDADD              = $(VSERVER_LDADDS) $(LIBINTERNAL)
+src_vdevmap_LDFLAGS            = $(VSERVER_LDFLGS)
+
+src_vsysctl_SOURCES            = src/vsysctl.c
+src_vsysctl_LDADD              = $(VSERVER_LDADDS)
+src_vsysctl_LDFLAGS            = $(VSERVER_LDFLGS)
+
+src_vclone_SOURCES             = src/vclone.c
+src_vclone_LDADD               = $(LIBINTERNAL) $(VSERVER_LDADDS)
+src_vclone_LDFLAGS             = $(VSERVER_LDLFGS)
+
 EXTRA_PROGRAMS +=              $(src_sbin_CXX_PROGS) $(src_pkglib_CXX_PROGS)
 
 TESTS_ENVIRONMENT +=           srctestsuitedir=$(top_builddir)/src/testsuite
index de9228b..5ff68d6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: capability-compat.h,v 1.1 2005/01/27 20:38:12 ensc Exp $    --*- c -*--
+// $Id: capability-compat.h 1822 2005-01-27 20:38:12Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 69dbe37..71ad061 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: capchroot.c,v 1.7 2004/03/24 01:41:28 ensc Exp $
+// $Id: capchroot.c 2403 2006-11-24 23:06:08Z dhozac $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on capchroot.cc by Jacques Gelinas
@@ -66,6 +66,11 @@ static void
 showHelp(int fd, char const *cmd, int res)
 {
   VSERVER_DECLARE_CMD(cmd);
+
+#if !defined(VC_ENABLE_API_COMPAT) && !defined(VC_ENABLE_API_LEGACY)
+  WRITE_MSG(1, "ERROR: tools were built without legacy API support; capchroot will not work!\n\n");
+#endif
+  
   WRITE_MSG(fd, "Usage:  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
@@ -92,11 +97,11 @@ showVersion()
   exit(0);
 }
 
-static void
+static UNUSED void
 setUser(char const *user)
 {
   struct passwd                *p = 0;
-  if (user!=0 && strcmp(user, "root")!=0) {
+  if (user!=0 && strcmp(user, "root")!=0 && strcmp(user, "0")!=0) {
     errno = 0;
     p     = getpwnam(user);
     if (p==0) {
@@ -135,12 +140,13 @@ int main (int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
   }
 
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
   if (optind==argc)
     WRITE_MSG(2, "No directory specified; try '--help' for more information\n");
   else if (optind+1==argc)
@@ -159,6 +165,9 @@ int main (int argc, char *argv[])
     setUser(suid_user);
     EexecvpD(argv[optind+1], argv+optind+1);
   }
-
+#else
+  WRITE_MSG(2, "capchroot: tools were built without legacy API support; can not continue\n");
+#endif
+  
   return EXIT_FAILURE;
 }
index 4965ae2..d5e7035 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chain-echo.c,v 1.1 2004/04/20 17:54:40 ensc Exp $    --*- c -*--
+// $Id: chain-echo.c 1469 2004-04-20 17:54:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index bc68711..da82e24 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chbind.c,v 1.9 2004/03/16 14:30:10 ensc Exp $
+// $Id: chbind.c 2403 2006-11-24 23:06:08Z dhozac $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on chbind.cc by Jacques Gelinas
@@ -24,6 +24,8 @@
 #include "vserver.h"
 #include "util.h"
 
+#include <lib/internal.h>
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -41,6 +43,7 @@
 #define ENSC_WRAPPERS_PREFIX   "chbind: "
 #define ENSC_WRAPPERS_IO       1
 #define ENSC_WRAPPERS_UNISTD   1
+#define ENSC_WRAPPERS_VSERVER  1
 #include "wrappers.h"
 
 #define CMD_HELP       0x1000
@@ -49,6 +52,7 @@
 #define CMD_SILENT     0x2000
 #define CMD_IP         0x2001
 #define CMD_BCAST      0x2002
+#define CMD_NID                0x2003
 
 int wrapper_exit_code = 255;
 
@@ -60,6 +64,7 @@ CMDLINE_OPTIONS[] = {
   { "silent",   no_argument,  0, CMD_SILENT },
   { "ip",       required_argument, 0, CMD_IP },
   { "bcast",    required_argument, 0, CMD_BCAST },
+  { "nid",     required_argument, 0, CMD_NID },
   { 0,0,0,0 }
 };
 
@@ -69,7 +74,7 @@ showHelp(int fd, char const *cmd, int res)
   WRITE_MSG(fd, "Usage:\n  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
-           " [--silent] [--ip <ip_num>[/<mask>]] [--bcast <broadcast>] [--] <commands> <args>*\n\n"
+           " [--silent] [--nid <nid>] [--ip <ip_num>[/<mask>]] [--bcast <broadcast>] [--] <commands> <args>*\n\n"
            "Please report bugs to " PACKAGE_BUGREPORT "\n");
 
   exit(res);
@@ -237,6 +242,61 @@ readBcast(char const *str, uint32_t *bcast)
   }
 }
 
+#if defined(VC_ENABLE_API_NET)
+static void
+make_nx(nid_t nid, uint32_t bcast, size_t nbaddrs, struct vc_ip_mask_pair *ips)
+{
+  size_t i;
+  struct vc_net_nx addr;
+
+  if (nid == VC_DYNAMIC_NID) {
+    nid = vc_net_create(VC_DYNAMIC_NID);
+    if (nid == (nid_t) -1) {
+      perror("chbind: vc_net_create()");
+      exit(wrapper_exit_code);
+    }
+  }
+  else {
+    if (vc_net_create(nid) == (nid_t) -1) {
+      if (errno == EEXIST) {
+        if (vc_net_migrate(nid) != 0) {
+          perror("chbind: vc_net_migrate()");
+          exit(wrapper_exit_code);
+        }
+        else
+          return;
+      }
+      else {
+        perror("chbind: vc_net_create()");
+        exit(wrapper_exit_code);
+      }
+    }
+  }
+
+  addr.type = vcNET_IPV4B;
+  addr.count = 1;
+  addr.ip[0] = bcast;
+  addr.mask[0] = 0;
+
+  if (vc_net_add(nid, &addr) != 1) {
+    perror("chbind: vc_net_add()");
+    exit(wrapper_exit_code);
+  }
+
+  for (i = 0; i < nbaddrs; i++) {
+    addr.type = vcNET_IPV4;
+    addr.count = 1;
+    addr.ip[0] = ips[i].ip;
+    addr.mask[0] = ips[i].mask;
+
+    if (vc_net_add(nid, &addr) != 1) {
+      perror("chbind: vc_net_add()");
+      exit(wrapper_exit_code);
+    }
+  }
+}
+#endif
+
 int main (int argc, char *argv[])
 {
   size_t const                 nb_ipv4root = vc_get_nb_ipv4root();
@@ -244,6 +304,7 @@ int main (int argc, char *argv[])
   struct vc_ip_mask_pair       ips[nb_ipv4root];
   size_t                       nbaddrs = 0;
   uint32_t                     bcast   = 0xffffffff;
+  nid_t                                nid     = VC_DYNAMIC_NID;
   
   while (1) {
     int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
@@ -254,6 +315,11 @@ int main (int argc, char *argv[])
       case CMD_VERSION         :  showVersion();
       case CMD_SILENT          :  is_silent = true; break;
       case CMD_BCAST           :  readBcast(optarg, &bcast); break;
+#if defined(VC_ENABLE_API_NET)
+      case CMD_NID             :  nid = Evc_nidopt2nid(optarg,true); break;
+#else
+      case CMD_NID             :  WRITE_MSG(2, "WARNING: --nid is not supported by this version\n"); break;
+#endif
       case CMD_IP              :
        if (nbaddrs>=nb_ipv4root) {
          WRITE_MSG(2, "Too many IP numbers, max 16\n");
@@ -265,7 +331,7 @@ int main (int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        exit(wrapper_exit_code);
        break;
     }
@@ -276,11 +342,27 @@ int main (int argc, char *argv[])
     exit(wrapper_exit_code);
   }
   
-
+#if !defined(VC_ENABLE_API_NET) && !defined(VC_ENABLE_API_COMPAT) && !defined(VC_ENABLE_API_LEGACY)
+#  error can not build 'chbind' without network virtualization API
+#endif
+  
+#if defined(VC_ENABLE_API_NET)
+  if (vc_isSupported(vcFEATURE_VNET)) {
+    make_nx(nid, bcast, nbaddrs, ips);
+  }
+  else
+#endif
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
   if (vc_set_ipv4root(bcast,nbaddrs,ips)!=0) {
     perror("chbind: vc_set_ipv4root()");
     exit(wrapper_exit_code);
   }
+#else
+  {
+    WRITE_MSG(2, "chbind: kernel does not provide network virtualization\n");
+    exit(wrapper_exit_code);
+  }
+#endif
 
   if (!is_silent) {
     size_t             i;
index fe66a22..e41203c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chcontext.c,v 1.24 2005/03/22 15:05:24 ensc Exp $
+// $Id: chcontext.c 2403 2006-11-24 23:06:08Z dhozac $
 
 // Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on chcontext.cc by Jacques Gelinas
@@ -95,6 +95,10 @@ static void
 showHelp(int fd, char const *cmd, int res)
 {
   VSERVER_DECLARE_CMD(cmd);
+
+#if !defined(VC_ENABLE_API_COMPAT) && !defined(VC_ENABLE_API_LEGACY)
+  WRITE_MSG(1, "ERROR: tools were built without legacy API support; chcontext will not work!\n\n");
+#endif
   
   WRITE_MSG(fd, "Usage: ");
   WRITE_STR(fd, cmd);
@@ -178,6 +182,8 @@ showVersion()
   exit(0);
 }
 
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
+
 static inline void
 setCap(char const *str, uint32_t *add_caps, uint32_t *remove_caps)
 {
@@ -266,6 +272,9 @@ tellContext(xid_t ctx)
 
 #include "context-sync.hc"
 
+#endif
+
+
 int main (int argc, char *argv[])
 {
   struct Arguments args = {
@@ -278,10 +287,13 @@ int main (int argc, char *argv[])
     .hostname      = 0,
     .domainname    = 0
   };
+
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
   xid_t                newctx;
   int          xflags;
   int          p[2][2];
   pid_t                pid;
+#endif
   
   global_args = &args;
   signal(SIGCHLD, SIG_DFL);
@@ -298,6 +310,7 @@ int main (int argc, char *argv[])
       case CMD_DOMAINNAME      :  args.domainname    = optarg; break;
       case CMD_HOSTNAME                :  args.hostname      = optarg; break;
        
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
       case CMD_CAP             :
        setCap(optarg, &args.add_caps, &args.remove_caps);
        break;
@@ -316,17 +329,23 @@ int main (int argc, char *argv[])
        }
        args.ctxs[args.nbctx++] = Evc_xidopt2xid(optarg, true);
        break;
-
+#else
+      case CMD_CAP             :
+      case CMD_SECURE          :
+      case CMD_FLAG            :
+      case CMD_CTX             :  break;
+#endif 
          
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return 255;
        break;
     }
   }
 
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
   if (optind>=argc) {
     WRITE_MSG(2, "No command given; use '--help' for more information.\n");
     exit(255);
@@ -364,8 +383,14 @@ int main (int argc, char *argv[])
 
   waitOnSync(pid, p, args.ctxs[0]!=VC_DYNAMIC_XID);
   return EXIT_SUCCESS;
+#else
+  WRITE_MSG(2, "chcontext: tools were built without legacy API support; can not continue\n");
+  return EXIT_FAILURE;
+#endif
 }
 
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
+
 #ifdef ENSC_TESTSUITE
 #define FLAG_TEST(STR,EXP) \
   {                       \
@@ -394,3 +419,7 @@ test()
   CAP_TEST("!CAP_CHOWN", 0, 1);
 }
 #endif
+
+#else
+void test() {}
+#endif
index a8d94e9..6c7e3b5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: check-unixfile.c,v 1.1 2005/01/27 19:13:04 ensc Exp $    --*- c -*--
+// $Id: check-unixfile.c 1814 2005-01-27 19:13:04Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a1d4bb9..4cbca21 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chroot-sh.c,v 1.2 2005/07/03 17:40:15 ensc Exp $    --*- c -*--
+// $Id: chroot-sh.c 2536 2007-04-27 09:01:20Z hollow $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -28,7 +28,7 @@
 #include <fcntl.h>
 #include <sys/stat.h>
 
-#define ENSC_WRAPPERS_PREFIX   "chroot-sh"
+#define ENSC_WRAPPERS_PREFIX   "chroot-sh"
 #define ENSC_WRAPPERS_UNISTD   1
 #define ENSC_WRAPPERS_IO       1
 #define ENSC_WRAPPERS_FCNTL    1
@@ -85,7 +85,7 @@ testInternal(int argc, char *argv[], char const *operation)
     return wrapper_exit_code;
   }
 
-  if (stat(argv[1], &st)==-1) return 0;
+  if (stat(argv[1], &st)==-1) return -1;
   else                        return st.st_mode;
 }
 
@@ -142,6 +142,73 @@ execTestFile(int argc, char *argv[])
   return res!=-1 && S_ISREG(res) ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 
+static int
+execMkdir(int argc, char *argv[])
+{
+  int          i   = 1;
+  int          res = EXIT_SUCCESS;
+  
+  if (argc<2) {
+    WRITE_MSG(2, "No files specified for 'mkdir' operation; try '--help' for more information\n");
+    return wrapper_exit_code;
+  }
+
+  for (;i<argc; ++i) {
+    if (mkdir(argv[i], 0755)==-1) {
+      PERROR_Q(ENSC_WRAPPERS_PREFIX "mkdir", argv[i]);
+      res = EXIT_FAILURE;
+    }
+  }
+
+  return res;
+}
+
+static int
+execChmod(int argc, char *argv[])
+{
+  int          i   = 2;
+  int          res = EXIT_SUCCESS;
+  unsigned long mode;
+  
+  if (argc<3) {
+    WRITE_MSG(2, "No files specified for 'chmod' operation; try '--help' for more information\n");
+    return wrapper_exit_code;
+  }
+
+  if (!isNumberUnsigned(argv[1], &mode, 1)) {
+    WRITE_MSG(2, "Invalid mode: '");
+    WRITE_STR(2, argv[1]);
+    WRITE_MSG(2, "'\n");
+    return EXIT_FAILURE;
+  }
+
+  for (;i<argc; ++i) {
+    if (chmod(argv[i], mode)==-1) {
+      PERROR_Q(ENSC_WRAPPERS_PREFIX "chmod", argv[i]);
+      res = EXIT_FAILURE;
+    }
+  }
+
+  return res;
+}
+
+static int
+execLink(int argc, char *argv[])
+{
+  int          res = EXIT_SUCCESS;
+
+  if (argc!=3) {
+    WRITE_MSG(2, "Need exactly two files for 'link' operation; try '--help' for more information\n");
+    return wrapper_exit_code;
+  }
+
+  if (symlink(argv[1], argv[2])==-1) {
+    PERROR_Q(ENSC_WRAPPERS_PREFIX "link", argv[1]);
+    res = EXIT_FAILURE;
+  }
+
+  return res;
+}
 
 static struct Command {
     char const         *cmd;
@@ -152,6 +219,9 @@ static struct Command {
   { "truncate", execTruncate },
   { "testfile", execTestFile },
   { "rm",       execRm },
+  { "mkdir",    execMkdir },
+  { "chmod",    execChmod },
+  { "link",     execLink },
   { 0,0 }
 };
 
@@ -170,7 +240,11 @@ showHelp()
            "  append <file>   ...  appends stdin to <file> which is created when needed\n"
            "  truncate <file> ...  clear <file> and fill it with stdin; the <file> is\n"
            "                       created when needed\n"
-           "  rm <file>+      ...  unlink the given files\n\n"
+           "  rm <file>+      ...  unlink the given files\n"
+           "  mkdir <file>+   ...  create the given directories\n"
+           "  chmod <mode> <file>+\n"
+           "                  ...  change access permissions of files\n"
+           "  link <src> dst> ...  create a symbolic link from <src> to <dst>\n\n"
            "Please report bugs to " PACKAGE_BUGREPORT "\n");
   exit(0);
 }
index e6e6db9..ed422e2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chxid.c,v 1.10 2004/08/19 14:28:57 ensc Exp $    --*- c -*--
+// $Id: chxid.c 2473 2007-01-25 09:51:43Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -38,7 +38,7 @@ CMDLINE_OPTIONS[] = {
   { 0,0,0,0 }
 };
 
-char const             CMDLINE_OPTIONS_SHORT[] = "Rc:x";
+char const             CMDLINE_OPTIONS_SHORT[] = "Rc:xU";
 
 void
 showHelp(int fd, char const *cmd, int res)
@@ -46,11 +46,12 @@ showHelp(int fd, char const *cmd, int res)
   WRITE_MSG(fd, "Usage:  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
-           " -c <ctx|vserver> [-Rx] [--] <file>+\n\n"
+           " -c <ctx|vserver> [-RxU] [--] <file>+\n\n"
            " Options:\n"
            "   -R  ...  recurse through directories\n"
            "   -c  ...  assign the given context/vserver to the file(s)\n"
-           "   -x  ...  do not cross filesystems\n\n"
+           "   -x  ...  do not cross filesystems\n"
+           "   -U  ...  skip unified files\n\n"
            "Please report bugs to " PACKAGE_BUGREPORT "\n");
   exit(res);
 }
@@ -66,14 +67,30 @@ showVersion()
   exit(0);
 }
 
+static inline bool
+isUnified(char const *filename)
+{
+  uint_least32_t const V = VC_IATTR_IUNLINK|VC_IATTR_IMMUTABLE;
+
+  uint_least32_t       flags;
+  uint_least32_t       mask = V;
+
+  if (vc_get_iattr(filename, 0, &flags, &mask)==-1 || (mask & V) != V)
+    return false;
+
+  return (flags & V)==V  ? true : false;
+}
+
 bool
 handleFile(char const *name, char const * display_name)
 {
-  int  rc = vc_set_iattr(name, global_args->ctx, 0, VC_IATTR_XID);
+  if (!global_args->no_unified || !isUnified(name)) {
+    int        rc = vc_set_iattr(name, global_args->ctx, 0, VC_IATTR_XID);
   
-  if (rc==-1) {
-    perror(display_name);
-    return false;
+    if (rc==-1) {
+      perror(display_name);
+      return false;
+    }
   }
 
   return true;
index 98b3039..8f548b0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: compat-pivot_root.h,v 1.3 2005/05/02 21:44:06 ensc Exp $    --*- c++ -*--
+// $Id: compat-pivot_root.h 2081 2005-05-02 21:44:06Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6f786d5..cbc3304 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: context-sync.hc,v 1.5 2005/04/10 01:01:33 ensc Exp $    --*- c -*--
+// $Id: context-sync.hc 2015 2005-04-10 01:01:33Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index dde12cf..7bb923b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: exec-cd.c,v 1.5 2005/05/05 09:20:37 ensc Exp $    --*- c -*--
+// $Id: exec-cd.c 2086 2005-05-05 09:20:37Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 510e5d0..444a7f0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: exec-ulimit.c,v 1.7 2004/05/08 01:40:25 ensc Exp $    --*- c -*--
+// $Id: exec-ulimit.c 2371 2006-11-05 17:46:33Z dhozac $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #define ENSC_WRAPPERS_RESOURCE 1
 #include <wrappers.h>
 
+/* dietlibc specifies this as (~0UL>>1), which is what's returned from
+ * sys_old_getrlimit, called on some arches for getrlimit.
+ * Reset it here so the kernel will have the correct values when we set it. */
+#undef RLIM_INFINITY
+#define RLIM_INFINITY (~0UL)
+#define OLD_RLIM_INFINITY (~0UL>>1)
+
 #define DECLARE_LIMIT(RES,FNAME) { #FNAME, RLIMIT_##RES }
 
 int    wrapper_exit_code = 255;
@@ -159,6 +166,7 @@ int main(int argc, char *argv[])
 {
   size_t               i;
   int                  cur_fd = Eopen(".", O_RDONLY, 0);
+  bool                 in_dir = false;
 
   if (argc==2) {
     if (strcmp(argv[1], "--help")==0)    showHelp(1,argv[0],0);
@@ -171,15 +179,29 @@ int main(int argc, char *argv[])
   }
 
   if (chdir(argv[1])!=-1) {
-    for (i=0; i<sizeof(LIMITS)/sizeof(LIMITS[0]); ++i) {
-      struct rlimit    limit;
-
-      Egetrlimit(LIMITS[i].code, &limit);
-      if (readSingleLimit(&limit, LIMITS[i].fname))
-       Esetrlimit(LIMITS[i].code, &limit);
+    in_dir = true;
+  }
+  for (i=0; i<sizeof(LIMITS)/sizeof(LIMITS[0]); ++i) {
+    struct rlimit      limit;
+
+    Egetrlimit(LIMITS[i].code, &limit);
+    /* if this arch uses sys_old_getrlimit... */
+    if (limit.rlim_cur == OLD_RLIM_INFINITY)
+      limit.rlim_cur = RLIM_INFINITY;
+    if (in_dir && readSingleLimit(&limit, LIMITS[i].fname))
+      Esetrlimit(LIMITS[i].code, &limit);
+    else if (LIMITS[i].code != RLIMIT_NOFILE) {
+      limit.rlim_max = RLIM_INFINITY;
+      Esetrlimit(LIMITS[i].code, &limit);
+    }
+    else {
+      /* RLIMIT_NOFILE can't be set to infinity, 1024*1024 seems to be the limit in most kernels */
+      limit.rlim_max = 1024*1024;
+      setrlimit(LIMITS[i].code, &limit);
     }
-    Efchdir(cur_fd);
   }
+  if (in_dir)
+    Efchdir(cur_fd);
   Eclose(cur_fd);
 
   Eexecv(argv[2], argv+2);
index ef3fd95..f429528 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fakerunlevel.c,v 1.6 2004/02/27 04:42:10 ensc Exp $
+// $Id: fakerunlevel.c 1022 2004-02-27 04:42:10Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on fakerunlevel.cc by Jacques Gelinas
index 39d9b03..576deb0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filetime.c,v 1.4 2005/03/24 12:44:17 ensc Exp $
+// $Id: filetime.c 1980 2005-03-24 12:44:17Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on filetime.cc by Jacques Gelinas
index 4bb8b8f..cc2b3f0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fstool.c,v 1.8 2004/08/19 14:29:25 ensc Exp $    --*- c -*--
+// $Id: fstool.c 2473 2007-01-25 09:51:43Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -156,8 +156,13 @@ processFile(char const *path)
   }
 
   if (S_ISDIR(st.st_mode) && !global_args->do_display_dir) {
+    int                cur_dir = Eopen(".", O_RDONLY, 0);
+    uint64_t   ret;
     Echdir(path);
-    return iterateFilesystem(path);
+    ret = iterateFilesystem(path);
+    Efchdir(cur_dir);
+    Eclose(cur_dir);
+    return ret;
   }
   else
     return handleFile(path, path) ? 0 : 1;
@@ -177,8 +182,9 @@ int main(int argc, char *argv[])
     .do_set             =  false,
     .do_unset           =  false,
     .local_fs          =  false,
-    .set_mask           = 0,
-    .del_mask           = 0
+    .set_mask           =  0,
+    .del_mask           =  0,
+    .no_unified                =  false,
   };
 
   global_args = &args;
@@ -191,29 +197,32 @@ int main(int argc, char *argv[])
       case CMD_HELP            :  showHelp(1, argv[0], 0);
       case CMD_VERSION         :  showVersion();
       case CMD_IMMU            :  args.set_mask |= VC_IATTR_IMMUTABLE; /*@fallthrough@*/
-      case CMD_IMMUX           :  args.set_mask |= VC_IATTR_IUNLINK; break;
-      case CMD_ADMIN           :  args.set_mask |= VC_IATTR_ADMIN;   break;
-      case CMD_WATCH           :  args.set_mask |= VC_IATTR_WATCH;   break;
-      case CMD_HIDE            :  args.set_mask |= VC_IATTR_HIDE;    break;
-      case CMD_BARRIER         :  args.set_mask |= VC_IATTR_BARRIER; break;
+      case CMD_IMMUX           :  args.set_mask |= VC_IATTR_IUNLINK;   break;
+      case CMD_IMMUTABLE       :  args.set_mask |= VC_IATTR_IMMUTABLE; break;
+      case CMD_ADMIN           :  args.set_mask |= VC_IATTR_ADMIN;     break;
+      case CMD_WATCH           :  args.set_mask |= VC_IATTR_WATCH;     break;
+      case CMD_HIDE            :  args.set_mask |= VC_IATTR_HIDE;      break;
+      case CMD_BARRIER         :  args.set_mask |= VC_IATTR_BARRIER;   break;
       case CMD_UNSET_IMMU      :  args.del_mask |= VC_IATTR_IMMUTABLE; /*@fallthrough@*/
-      case CMD_UNSET_IMMUX     :  args.del_mask |= VC_IATTR_IUNLINK; break;
-      case CMD_UNSET_ADMIN     :  args.del_mask |= VC_IATTR_ADMIN;   break;
-      case CMD_UNSET_WATCH     :  args.del_mask |= VC_IATTR_WATCH;   break;
-      case CMD_UNSET_HIDE      :  args.del_mask |= VC_IATTR_HIDE;    break;
-      case CMD_UNSET_BARRIER   :  args.del_mask |= VC_IATTR_BARRIER; break;
-      case 'R'                 :  args.do_recurse     = true;  break;
-      case 'a'                 :  args.do_display_dot = true;  break;
-      case 'd'                 :  args.do_display_dir = true;  break;
-      case 'n'                 :  args.do_mapping     = false; break;
-      case 's'                 :  args.do_set         = true;  break;
-      case 'u'                 :  args.do_unset       = true;  break;
-      case 'c'                 :  args.ctx_str        = optarg; break;
-      case 'x'                 :  args.local_fs       = true;   break;
+      case CMD_UNSET_IMMUX     :  args.del_mask |= VC_IATTR_IUNLINK;   break;
+      case CMD_UNSET_IMMUTABLE :  args.del_mask |= VC_IATTR_IMMUTABLE; break;
+      case CMD_UNSET_ADMIN     :  args.del_mask |= VC_IATTR_ADMIN;     break;
+      case CMD_UNSET_WATCH     :  args.del_mask |= VC_IATTR_WATCH;     break;
+      case CMD_UNSET_HIDE      :  args.del_mask |= VC_IATTR_HIDE;      break;
+      case CMD_UNSET_BARRIER   :  args.del_mask |= VC_IATTR_BARRIER;   break;
+      case 'R'                 :  args.do_recurse     = true;          break;
+      case 'a'                 :  args.do_display_dot = true;          break;
+      case 'd'                 :  args.do_display_dir = true;          break;
+      case 'n'                 :  args.do_mapping     = false;         break;
+      case 's'                 :  args.do_set         = true;          break;
+      case 'u'                 :  args.do_unset       = true;          break;
+      case 'c'                 :  args.ctx_str        = optarg;        break;
+      case 'x'                 :  args.local_fs       = true;          break;
+      case 'U'                 :  args.no_unified     = true;          break;
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index b0b340d..6093e48 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fstool.h,v 1.7 2004/08/19 14:29:44 ensc Exp $    --*- c -*--
+// $Id: fstool.h 2473 2007-01-25 09:51:43Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -39,6 +39,7 @@
 #define CMD_UNSET_HIDE         0x8023
 #define CMD_UNSET_BARRIER      0x8024
 #define CMD_UNSET_IMMUX                0x8025
+#define CMD_UNSET_IMMUTABLE    0x8026
 
 
 struct stat;
@@ -54,6 +55,7 @@ struct Arguments {
     bool               do_set;
     bool               do_unset;
     bool               local_fs;
+    bool               no_unified;
 
     uint32_t           set_mask;
     uint32_t           del_mask;
index 85c1960..f2bc2bf 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ifspec.c,v 1.4 2004/02/20 16:59:40 ensc Exp $
+// $Id: ifspec.c 965 2004-02-20 16:59:40Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on ifspec.cc by Jacques Gelinas
index 0314881..2ad1494 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: keep-ctx-alive.c,v 1.3 2004/12/16 00:11:01 ensc Exp $    --*- c -*--
+// $Id: keep-ctx-alive.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -177,7 +177,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return 255;
        break;
     }
index e62b4ae..8daff1b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: listdevip.c,v 1.3 2004/02/20 16:59:40 ensc Exp $
+// $Id: listdevip.c 965 2004-02-20 16:59:40Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on listdevip.cc by Jacques Gelinas
index df2e6b0..2fe31b2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: lockfile.c,v 1.4 2004/04/13 08:27:50 ensc Exp $    --*- c -*--
+// $Id: lockfile.c 1447 2004-04-13 08:27:50Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2ab1ada..9f8cbd1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: lsxid.c,v 1.9 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: lsxid.c 1980 2005-03-24 12:44:17Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 21ffba7..7be79d9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: mask2prefix.c,v 1.1 2003/10/09 01:41:06 ensc Exp $    --*- c++ -*--
+// $Id: mask2prefix.c 63 2003-10-09 01:41:06Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/src/naddress.c b/src/naddress.c
new file mode 100644 (file)
index 0000000..77bed1b
--- /dev/null
@@ -0,0 +1,445 @@
+// $Id: naddress.c 2387 2006-11-20 15:01:44Z dhozac $
+
+// Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+// based on chbind.cc by Jacques Gelinas
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include "util.h"
+
+#include <lib/internal.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <netdb.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <net/if.h>
+#include <unistd.h>
+#include <errno.h>
+#include <getopt.h>
+#include <fcntl.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#define ENSC_WRAPPERS_PREFIX   "naddress: "
+#define ENSC_WRAPPERS_IO       1
+#define ENSC_WRAPPERS_UNISTD   1
+#define ENSC_WRAPPERS_VSERVER  1
+#include "wrappers.h"
+
+#define CMD_HELP       0x1000
+#define CMD_VERSION    0x1001
+
+#define CMD_SILENT     0x2000
+#define CMD_NID                0x2001
+#define CMD_ADD                0x2002
+#define CMD_REMOVE     0x2003
+#define CMD_SET                0x2004
+#define CMD_IP         0x2010
+#define CMD_BCAST      0x2011
+
+int wrapper_exit_code = 255;
+
+
+static struct option const
+CMDLINE_OPTIONS[] = {
+  { "help",     no_argument,  0, CMD_HELP },
+  { "version",  no_argument,  0, CMD_VERSION },
+  { "silent",   no_argument,  0, CMD_SILENT },
+  { "add",      no_argument,  0, CMD_ADD },
+  { "remove",   no_argument,  0, CMD_REMOVE },
+  { "set",      no_argument,  0, CMD_SET },
+  { "nid",      required_argument, 0, CMD_NID },
+  { "ip",       required_argument, 0, CMD_IP },
+  { "bcast",    required_argument, 0, CMD_BCAST },
+  { 0,0,0,0 }
+};
+
+struct vc_ips {
+  struct vc_net_nx a;
+  struct vc_ips *next;
+};
+
+struct Arguments {
+  nid_t                nid;
+  struct vc_ips        head;
+  bool         is_silent;
+  bool         do_add;
+  bool         do_remove;
+  bool         do_set;
+};
+
+static void
+showHelp(int fd, char const *cmd, int res)
+{
+  WRITE_MSG(fd, "Usage:\n  ");
+  WRITE_STR(fd, cmd);
+  WRITE_MSG(fd,
+           " (--add|--remove|--set) [--silent] [--nid <nid>]\n"
+           "    [--ip <ip_num>[/<mask>]] [--bcast <broadcast>] [--] <commands> <args>*\n\n"
+           "Please report bugs to " PACKAGE_BUGREPORT "\n");
+
+  exit(res);
+}
+
+static void
+showVersion()
+{
+  WRITE_MSG(1,
+           "naddress " VERSION " -- bind to an ip and execute a program\n"
+           "This program is part of " PACKAGE_STRING "\n\n"
+           "Copyright (C) 2003,2004 Enrico Scholz\n"
+           "Copyright (C) 2006 Daniel Hokka Zakrisson\n"
+           VERSION_COPYRIGHT_DISCLAIMER);
+  exit(0);
+}
+
+/*
+       Check if a network device exist in /proc/net/dev.
+       This is used because ifconfig_ioctl triggers modprobe if requesting
+       information about non existant devices.
+
+       Return != 0 if the device exist.
+*/
+static bool
+existsDevice(char const *dev_raw)
+{
+  size_t       buf_size=8192;
+  char         dev[strlen(dev_raw)+2];
+
+  strcpy(dev, dev_raw);
+  strcat(dev, ":");
+  for (;;) {
+    char       buf[buf_size];
+    char *     pos;
+    bool       too_small;
+    int                fd=open("/proc/net/dev", O_RDONLY);
+    
+    if (fd==-1) return false;
+    too_small = EreadAll(fd, buf, buf_size);
+    close(fd);
+
+    if (too_small) {
+      buf_size *= 2;
+      continue;
+    }
+
+    pos = strstr(buf, dev);
+    return (pos && (pos==buf || pos[-1]==' ' || pos[-1]=='\n'));
+  }
+}
+
+static int ifconfig_ioctl(
+       int fd,
+       const char *ifname,
+       int cmd,
+       struct ifreq *ifr)
+{
+       strcpy(ifr->ifr_name, ifname);
+       return ioctl(fd, cmd, ifr);
+}
+
+/*
+       Fetch the IP number of an interface from the kernel.
+       Assume the device is already available in the kernel
+       Return -1 if any error.
+*/
+int ifconfig_getaddr (
+       const char *ifname,
+       uint32_t *addr,
+       uint32_t *mask,
+       uint32_t *bcast)
+{
+       int ret = -1;
+       if (existsDevice(ifname)){
+               int skfd = socket(AF_INET, SOCK_DGRAM, 0);
+               if (skfd != -1){
+                       struct ifreq ifr;
+                       if (addr != NULL && ifconfig_ioctl(skfd,ifname,SIOCGIFADDR, &ifr) >= 0){
+                               struct sockaddr_in *sin = (struct sockaddr_in*)&ifr.ifr_addr;
+                               *addr = sin->sin_addr.s_addr;
+                               ret = 0;
+                       }
+                       if (mask != NULL && ifconfig_ioctl(skfd,ifname,SIOCGIFNETMASK, &ifr) >= 0){
+                               struct sockaddr_in *sin = (struct sockaddr_in*)&ifr.ifr_addr;
+                               *mask = sin->sin_addr.s_addr;
+                               ret = 0;
+                       }
+                       if (bcast != NULL && ifconfig_ioctl(skfd,ifname,SIOCGIFBRDADDR, &ifr) >= 0){
+                               struct sockaddr_in *sin = (struct sockaddr_in*)&ifr.ifr_addr;
+                               *bcast = sin->sin_addr.s_addr;
+                               ret = 0;
+                       }
+                       close (skfd);
+               }
+       }
+       return ret;
+}
+
+static int
+convertAddress(const char *str, vc_net_nx_type *type, void *dst)
+{
+  int  ret;
+  if (type) *type = vcNET_IPV4;
+  ret = inet_pton(AF_INET, str, dst);
+  if (ret==0) {
+    if (type) *type = vcNET_IPV6;
+    ret = inet_pton(AF_INET6, str, dst);
+  }
+  return ret > 0 ? 0 : -1;
+}
+
+static void
+readIP(char const *str, struct vc_ips **ips)
+{
+  if (ifconfig_getaddr(str, &(*ips)->a.ip[0], &(*ips)->a.mask[0], NULL)==-1) {
+    char               *pt;
+    char               tmpopt[strlen(str)+1];
+    uint32_t           *mask = (*ips)->a.mask;
+
+    strcpy(tmpopt,str);
+    pt = strchr(tmpopt,'/');
+    if (pt)
+      *pt++ = '\0';
+
+    if (convertAddress(tmpopt, &(*ips)->a.type, (*ips)->a.ip) == -1) {
+      WRITE_MSG(2, "Invalid IP number '");
+      WRITE_STR(2, tmpopt);
+      WRITE_MSG(2, "'\n");
+      exit(wrapper_exit_code);
+    }
+
+    if (pt==0) {
+      switch ((*ips)->a.type) {
+       case vcNET_IPV4:
+         mask[0] = htonl(0xffffff00);
+         break;
+       case vcNET_IPV6:
+         mask[0] = 64;
+         break;
+       default: break;
+      }
+    }
+    else {
+      // Ok, we have a network size, not a netmask
+      if (strchr(pt,'.')==0 && strchr(pt,':')==0) {
+       unsigned long   sz, limit = 0;
+
+       switch ((*ips)->a.type) {
+         case vcNET_IPV4: limit =  32; break;
+         case vcNET_IPV6: limit = 128; break;
+         default:                      break;
+       }
+
+       if (!isNumberUnsigned(pt, &sz, true) || sz > limit) {
+         WRITE_MSG(2, "Invalid prefix '");
+         WRITE_STR(2, pt);
+         WRITE_MSG(2, "'\n");
+         exit(wrapper_exit_code);
+       }
+
+       switch ((*ips)->a.type) {
+         case vcNET_IPV4:
+           mask[0] = htonl(~((1 << (32 - sz)) - 1));
+           break;
+         case vcNET_IPV6:
+           mask[0] = sz;
+           break;
+         default: break;
+       }
+      }
+      else { 
+       if (convertAddress(pt, NULL, &(*ips)->a.mask) == -1) {
+         WRITE_MSG(2, "Invalid netmask '");
+         WRITE_STR(2, pt);
+         WRITE_MSG(2, "'\n");
+         exit(wrapper_exit_code);
+       }
+      }
+    }
+  }
+  else
+    (*ips)->a.type = vcNET_IPV4;
+
+  (*ips)->a.count = 1;
+  (*ips)->next = calloc(1, sizeof(struct vc_ips));
+  *ips = (*ips)->next;
+}
+
+static void
+readBcast(char const *str, struct vc_ips **ips)
+{
+  uint32_t bcast;
+  if (ifconfig_getaddr(str, NULL, NULL, &bcast)==-1){
+    if (convertAddress(str, NULL, &bcast) == -1) {
+      WRITE_MSG(2, "Invalid broadcast number '");
+      WRITE_STR(2, optarg);
+      WRITE_MSG(2, "'\n");
+      exit(wrapper_exit_code);
+    }
+  }
+  (*ips)->a.ip[0] = bcast;
+  (*ips)->a.count = 1;
+  (*ips)->a.type = vcNET_IPV4B;
+  (*ips)->next = calloc(1, sizeof(struct vc_ips));
+  *ips = (*ips)->next;
+}
+
+static void
+tellAddress(struct vc_net_nx *addr, bool silent)
+{
+  char buf[41];
+  if (silent)
+    return;
+  if (inet_ntop(addr->type == vcNET_IPV6 ? AF_INET6 : AF_INET,
+               addr->ip, buf, sizeof(buf)) == NULL) {
+    WRITE_MSG(1, " <conversion failed>");
+    return;
+  }
+  WRITE_MSG(1, " ");
+  WRITE_STR(1, buf);
+}
+
+static inline void
+doit(struct Arguments *args)
+{
+  struct vc_ips *ips;
+
+  if (args->do_set) {
+    struct vc_net_nx remove = { .type = vcNET_ANY };
+    if (vc_net_remove(args->nid, &remove) == -1) {
+      perror(ENSC_WRAPPERS_PREFIX "vc_net_remove()");
+      exit(wrapper_exit_code);
+    }
+  }
+
+  if (args->do_add || args->do_set) {
+    if (!args->is_silent)
+      WRITE_MSG(1, "Adding");
+    for (ips = &args->head; ips->next; ips = ips->next) {
+      tellAddress(&ips->a, args->is_silent);
+      if (vc_net_add(args->nid, &ips->a) != (int)ips->a.count) {
+       perror(ENSC_WRAPPERS_PREFIX "vc_net_add()");
+       exit(wrapper_exit_code);
+      }
+    }
+    if (!args->is_silent)
+      WRITE_MSG(1, "\n");
+  }
+  else if (args->do_remove) {
+    if (!args->is_silent)
+      WRITE_MSG(1, "Removing");
+    for (ips = &args->head; ips->next; ips = ips->next) {
+      tellAddress(&ips->a, args->is_silent);
+      if (vc_net_remove(args->nid, &ips->a) != (int)ips->a.count) {
+       perror(ENSC_WRAPPERS_PREFIX "vc_net_remove()");
+       exit(wrapper_exit_code);
+      }
+    }
+    if (!args->is_silent)
+      WRITE_MSG(1, "\n");
+  }
+}
+
+int main (int argc, char *argv[])
+{
+  struct Arguments args = {
+    .nid       = VC_NOCTX,
+    .is_silent = false,
+    .do_add    = false,
+    .do_remove = false,
+    .do_set    = false,
+    .head      = { .next = NULL },
+  };
+  struct vc_ips *ips = &args.head;
+  
+  while (1) {
+    int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
+    if (c==-1) break;
+
+    switch (c) {
+      case CMD_HELP    :  showHelp(1, argv[0], 0);
+      case CMD_VERSION :  showVersion();
+      case CMD_SILENT  :  args.is_silent = true; break;
+      case CMD_NID     :  args.nid       = Evc_nidopt2nid(optarg,true); break;
+      case CMD_ADD     :  args.do_add    = true; break;
+      case CMD_REMOVE  :  args.do_remove = true; break;
+      case CMD_SET     :  args.do_set    = true; break;
+      case CMD_IP      :  readIP(optarg, &ips); break;
+      case CMD_BCAST   :  readBcast(optarg, &ips); break;
+      default          :
+       WRITE_MSG(2, "Try '");
+       WRITE_STR(2, argv[0]);
+       WRITE_MSG(2, " --help' for more information.\n");
+       exit(wrapper_exit_code);
+       break;
+    }
+  }
+
+  if (args.nid == VC_NOCTX) args.nid = Evc_get_task_nid(0);
+
+  if (!args.do_add && !args.do_remove && !args.do_set) {
+    WRITE_MSG(2, "No operation specified; try '--help' for more information\n");
+    exit(wrapper_exit_code);
+  }
+  else if (((args.do_add ? 1 : 0) + (args.do_remove ? 1 : 0) + (args.do_set ? 1 : 0)) > 1) {
+    WRITE_MSG(2, "Multiple operations specified; try '--help' for more information\n");
+    exit(wrapper_exit_code);
+  }
+
+  doit(&args);
+
+  if (optind != argc)
+    Eexecvp (argv[optind],argv+optind);
+  return EXIT_SUCCESS;
+}
+
+#ifdef ENSC_TESTSUITE
+#include <assert.h>
+
+void test()
+{
+  struct vc_ip_mask_pair       ip;
+  uint32_t                     bcast;
+
+  bcast = 0;
+  readIP("1.2.3.4", &ip, &bcast);
+  assert(ip.ip==ntohl(0x01020304) && ip.mask==ntohl(0xffffff00) && bcast==0);
+
+  readIP("1.2.3.4/8", &ip, &bcast);
+  assert(ip.ip==ntohl(0x01020304) && ip.mask==ntohl(0xff000000) && bcast==0);
+
+  readIP("1.2.3.4/255.255.0.0", &ip, &bcast);
+  assert(ip.ip==ntohl(0x01020304) && ip.mask==ntohl(0xffff0000) && bcast==0);
+
+  readIP("localhost", &ip, &bcast);
+  assert(ip.ip==ntohl(0x7f000001) && ip.mask==ntohl(0xffffff00) && bcast==0);
+
+#if 0
+  if (ifconfig_getaddr("lo", &tmp, &tmp, &tmp)!=-1) {
+    readIP("lo", &ip, &bcast);
+    assert(ip.ip==ntohl(0x7f000001) && ip.mask==ntohl(0xff000000) && bcast==ntohl(0x7fffffff));
+  }
+#endif
+}
+#endif
diff --git a/src/nattribute.c b/src/nattribute.c
new file mode 100644 (file)
index 0000000..15c78a4
--- /dev/null
@@ -0,0 +1,179 @@
+// $Id: nattribute.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "util.h"
+#include <lib/vserver.h>
+
+#include <getopt.h>
+#include <stdint.h>
+#include <errno.h>
+
+#define ENSC_WRAPPERS_PREFIX   "nattribute: "
+#define ENSC_WRAPPERS_VSERVER  1
+#define ENSC_WRAPPERS_UNISTD   1
+#include <wrappers.h>
+
+#define CMD_HELP               0x1000
+#define CMD_VERSION            0x1001
+#define CMD_NID                        0x2000
+#define CMD_SET                        0x2001
+#define CMD_CAP                        0x2002
+#define CMD_FLAG               0x2003
+#define CMD_SECURE             0x2004
+
+int                    wrapper_exit_code = 1;
+
+struct option const
+CMDLINE_OPTIONS[] = {
+  { "help",       no_argument,       0, CMD_HELP },
+  { "version",    no_argument,       0, CMD_VERSION },
+  { "nid",        required_argument, 0, CMD_NID },
+  { "set",        no_argument,       0, CMD_SET },
+  { "ncap",       required_argument, 0, CMD_CAP },
+  { "flag",       required_argument, 0, CMD_FLAG },
+  { "secure",     no_argument,       0, CMD_SECURE },
+  {0,0,0,0}
+};
+
+struct Arguments {
+    nid_t              nid;
+    struct vc_net_flags flags;
+    struct vc_net_caps  caps;
+};
+
+static void
+showHelp(int fd, char const *cmd, int res)
+{
+  WRITE_MSG(fd, "Usage:\n    ");
+  WRITE_STR(fd, cmd);
+  WRITE_MSG(fd,
+           " --set [--nid <nid>] [--ncap [~!]<ncap>] [--flag [~!]<flag>] [--secure] -- [<program> <args>*]\n"
+           "\n"
+           " --ncap <cap>   ...  network capability to be added\n"
+           " --flag <flag>  ...  network flag to be added\n"
+           "\n"
+           "Please report bugs to " PACKAGE_BUGREPORT "\n");
+
+  exit(res);
+}
+
+static void
+showVersion()
+{
+  WRITE_MSG(1,
+           "nattribute " VERSION " -- sets attributes of network contexts\n"
+           "This program is part of " PACKAGE_STRING "\n\n"
+           "Copyright (C) 2004 Enrico Scholz\n"
+           "Copyright (C) 2006 Daniel Hokka Zakrisson\n"
+           VERSION_COPYRIGHT_DISCLAIMER);
+  exit(0);
+}
+
+static void
+parseFlags(char const *str, struct vc_net_flags *flags)
+{
+  struct vc_err_listparser     err;
+  int                          rc;
+
+  rc = vc_list2nflag(str, 0, &err, flags);
+  
+  if (rc==-1) {
+    WRITE_MSG(2, "Unknown flag '");
+    Vwrite(2, err.ptr, err.len);
+    WRITE_MSG(2, "'\n");
+    exit(wrapper_exit_code);
+  }
+}
+
+static void
+parseNCaps(char const *str, struct vc_net_caps *caps)
+{
+  struct vc_err_listparser     err;
+  int                          rc;
+
+  rc = vc_list2ncap(str,0, &err, caps);
+  
+  if (rc==-1) {
+    WRITE_MSG(2, "Unknown ncap '");
+    Vwrite(2, err.ptr, err.len);
+    WRITE_MSG(2, "'\n");
+    exit(wrapper_exit_code);
+  }
+}
+
+static void
+parseSecure(struct vc_net_flags * flags,
+           struct vc_net_caps  * caps)
+{
+    // TODO: generalize this
+  caps->ncaps = 0ull;
+  caps->cmask = 0ull;
+
+  flags->flagword = VC_NXF_HIDE_NETIF;
+  flags->mask     = VC_NXF_HIDE_NETIF;
+}
+
+int main(int argc, char *argv[])
+{
+  struct Arguments             args = {
+    .nid   = VC_NOCTX,
+    .flags = { .flagword = 0, .mask = 0 },
+    .caps  = { .ncaps = 0, .cmask = 0 },
+  };
+  
+  while (1) {
+    int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
+    if (c==-1) break;
+
+    switch (c) {
+      case CMD_HELP    :  showHelp(1, argv[0], 0);
+      case CMD_VERSION :  showVersion();
+      case CMD_SET     :  break; // default op currently
+      case CMD_NID     :  args.nid = Evc_nidopt2nid(optarg,true); break;
+      case CMD_FLAG    :  parseFlags(optarg, &args.flags);        break;
+      case CMD_CAP     :  parseNCaps(optarg, &args.caps);         break;
+      case CMD_SECURE  :  parseSecure(&args.flags, &args.caps);   break;
+      default          :
+       WRITE_MSG(2, "Try '");
+       WRITE_STR(2, argv[0]);
+       WRITE_MSG(2, " --help' for more information.\n");
+       return 255;
+       break;
+    }
+  }
+
+  if (args.nid==VC_NOCTX) args.nid = Evc_get_task_nid(0);
+
+  if (args.caps.cmask &&
+      vc_set_ncaps(args.nid, &args.caps)==-1)
+    perror(ENSC_WRAPPERS_PREFIX "vc_set_ncaps()");
+  else if (args.flags.mask &&
+          vc_set_nflags(args.nid, &args.flags)==-1)
+    perror(ENSC_WRAPPERS_PREFIX "vc_set_nflags()");
+  else if (optind<argc)
+    EexecvpD(argv[optind], argv+optind);
+  else
+    return EXIT_SUCCESS;
+
+  return EXIT_FAILURE;
+}
diff --git a/src/ncontext.c b/src/ncontext.c
new file mode 100644 (file)
index 0000000..a22ae3f
--- /dev/null
@@ -0,0 +1,293 @@
+// $Id: ncontext.c 2414 2006-12-08 13:20:10Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004-2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "util.h"
+#include "lib/internal.h"
+#include "lib_internal/util.h"
+#include "lib_internal/jail.h"
+
+#include <vserver.h>
+#include <getopt.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+#include <assert.h>
+#include <signal.h>
+#include <sys/types.h>
+
+
+#define ENSC_WRAPPERS_PREFIX   "ncontext: "
+#define ENSC_WRAPPERS_UNISTD   1
+#define ENSC_WRAPPERS_VSERVER  1
+#define ENSC_WRAPPERS_FCNTL    1
+#define ENSC_WRAPPERS_SOCKET   1
+#define ENSC_WRAPPERS_IOSOCK   1
+#include <wrappers.h>
+
+#define CMD_HELP               0x1000
+#define CMD_VERSION            0x1001
+#define CMD_NID                        0x4000
+#define CMD_CREATE             0x4001
+#define CMD_MIGRATE            0x4002
+#define CMD_DISCONNECT         0x4003
+#define CMD_SILENT             0x4004
+#define CMD_SYNCSOCK           0x4005
+#define CMD_SYNCMSG            0x4006
+#define CMD_MIGRATESELF                0x4007
+#define CMD_SILENTEXIST                0x4008
+
+
+struct option const
+CMDLINE_OPTIONS[] = {
+  { "help",       no_argument,       0, CMD_HELP },
+  { "version",    no_argument,       0, CMD_VERSION },
+  { "nid",        required_argument, 0, CMD_NID },
+  { "create",     no_argument,       0, CMD_CREATE },
+  { "migrate",    no_argument,       0, CMD_MIGRATE },
+  { "migrate-self", no_argument,               0, CMD_MIGRATESELF },
+  { "disconnect",   no_argument,       0, CMD_DISCONNECT },
+  { "silent",       no_argument,               0, CMD_SILENT },
+  { "silentexist",  no_argument,               0, CMD_SILENTEXIST },
+  { "syncsock",     required_argument,         0, CMD_SYNCSOCK },
+  { "syncmsg",      required_argument,         0, CMD_SYNCMSG },
+  { 0,0,0,0 },
+};
+
+struct Arguments {
+    bool               do_create;
+    bool               do_migrate;
+    bool               do_migrateself;
+    bool               do_disconnect;
+    bool               is_silentexist;
+    int                        verbosity;
+    nid_t              nid;
+    char const *       sync_sock;
+    char const *       sync_msg;
+};
+
+int            wrapper_exit_code = 255;
+
+static void
+showHelp(int fd, char const *cmd, int res)
+{
+  WRITE_MSG(fd, "Usage:\n    ");
+  WRITE_STR(fd, cmd);
+  WRITE_MSG(fd,
+           " --create [--nid <nid>] <opts>* [--] <program> <args>*\n    ");
+  WRITE_STR(fd, cmd);
+  WRITE_MSG(fd,
+           " [(--migrate --nid <nid>)|--migrate-self]  <opts>* [--] <program> <args>*\n"
+           "\n"
+           "<opts> can be:\n"
+           "    --disconnect    ...  start program in background\n"
+           "    --silent        ...  be silent\n"
+           "    --silentexist   ...  be silent when context exists already; useful\n"
+           "                         for '--create' only\n"
+           "    --syncsock <filename>\n"
+           "                    ...  before executing the program, send a message\n"
+           "                         to the socket and wait until it closes.\n"
+           "                         <filename> must be a SOCK_STREAM unix socket\n"
+           "    --syncmsg <message>\n"
+           "                    ...  use <message> as synchronization message; by\n"
+           "                         default, 'ok' will be used\n"
+           "\n"
+           "'ncontext --create' exits with code 254 iff the context exists already.\n"
+           "\n"
+           "Please report bugs to " PACKAGE_BUGREPORT "\n");
+
+  exit(res);
+}
+
+static void
+showVersion()
+{
+  WRITE_MSG(1,
+           "ncontext " VERSION " -- manages the creation of network contexts\n"
+           "This program is part of " PACKAGE_STRING "\n\n"
+           "Copyright (C) 2004-2006 Enrico Scholz\n"
+           "Copyright (C) 2006 Daniel Hokka Zakrisson\n"
+           VERSION_COPYRIGHT_DISCLAIMER);
+  exit(0);
+}
+
+#include "context-sync.hc"
+
+static inline ALWAYSINLINE void
+tellContext(nid_t nid, bool do_it)
+{
+  char         buf[sizeof(nid_t)*3+2];
+  size_t       l;
+
+  if (!do_it) return;
+
+  l = utilvserver_fmt_long(buf,nid);
+
+  WRITE_MSG(1, "New network context is ");
+  Vwrite   (1, buf, l);
+  WRITE_MSG(1, "\n");
+}
+
+static int
+connectExternalSync(char const *filename)
+{
+  int                  fd;
+  struct sockaddr_un   addr;
+  
+  if (filename==0) return -1;
+
+  ENSC_INIT_UNIX_SOCK(addr, filename);
+
+  fd = Esocket(PF_UNIX, SOCK_STREAM, 0);
+  Econnect(fd, &addr, sizeof(addr));
+
+  return fd;
+}
+
+static void
+doExternalSync(int fd, char const *msg)
+{
+  char         c;
+  
+  if (fd==-1) return;
+
+  if (msg) EsendAll(fd, msg, strlen(msg));
+  Eshutdown(fd, SHUT_WR);
+
+  if (TEMP_FAILURE_RETRY(recv(fd, &c, 1, MSG_NOSIGNAL))!=0) {
+    WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "unexpected external synchronization event\n");
+    exit(wrapper_exit_code);
+  }
+
+  Eclose(fd);
+}
+
+static inline ALWAYSINLINE int
+doit(struct Arguments const *args, char *argv[])
+{
+  int                  p[2][2];
+  pid_t                        pid = initSync(p, args->do_disconnect);
+  
+  if (pid==0) {
+    nid_t                      nid;
+    int                                ext_sync_fd = connectExternalSync(args->sync_sock);
+
+    doSyncStage0(p, args->do_disconnect);  
+    
+    if (args->do_create) {
+      nid = vc_net_create(args->nid);
+      if (nid==VC_NOCTX) {
+       switch (errno) {
+         case EEXIST   :
+           if (!args->is_silentexist)
+             perror(ENSC_WRAPPERS_PREFIX "vc_net_create()");
+           return 254;
+         default       :
+           perror(ENSC_WRAPPERS_PREFIX "vc_net_create()");
+           return wrapper_exit_code;
+       }
+      }
+      tellContext(nid, args->verbosity>=1);
+    }
+    else
+      nid = args->nid;
+
+    if (args->do_migrate && !args->do_migrateself)
+      Evc_net_migrate(nid);
+
+    doExternalSync(ext_sync_fd, args->sync_msg);
+    doSyncStage1(p, args->do_disconnect);
+    DPRINTF("doit: pid=%u, ppid=%u\n", getpid(), getppid());
+    execvp (argv[optind],argv+optind);
+    doSyncStage2(p, args->do_disconnect);
+
+    PERROR_Q(ENSC_WRAPPERS_PREFIX "execvp", argv[optind]);
+    exit(wrapper_exit_code);
+  }
+
+  assert(args->do_disconnect);
+    
+  waitOnSync(pid, p, args->nid!=VC_DYNAMIC_XID && args->do_migrate);
+  return EXIT_SUCCESS;
+}
+
+int main (int argc, char *argv[])
+{
+  struct Arguments             args = {
+    .nid               = VC_DYNAMIC_XID,
+    .do_create         = false,
+    .do_migrate        = false,
+    .do_migrateself    = false,
+    .do_disconnect     = false,
+    .is_silentexist    = false,
+    .verbosity         = 1,
+    .sync_msg          = "ok",
+  };
+  
+  while (1) {
+    int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
+    if (c==-1) break;
+    
+    switch (c) {
+      case CMD_HELP            :  showHelp(1, argv[0], 0);
+      case CMD_VERSION         :  showVersion();
+      case CMD_CREATE          :  args.do_create      = true;   break;
+      case CMD_MIGRATE         :  args.do_migrate     = true;   break;
+      case CMD_DISCONNECT      :  args.do_disconnect  = true;   break;
+      case CMD_SILENTEXIST     :  args.is_silentexist = true;   break;
+      case CMD_SYNCSOCK                :  args.sync_sock      = optarg; break;
+      case CMD_SYNCMSG         :  args.sync_msg       = optarg; break;
+      case CMD_NID             :  args.nid = Evc_nidopt2nid(optarg,true); break;
+      case CMD_SILENT          :  --args.verbosity; break;
+      case CMD_MIGRATESELF     :
+       args.do_migrate     = true;
+       args.do_migrateself = true;
+       break;
+
+      default          :
+       WRITE_MSG(2, "Try '");
+       WRITE_STR(2, argv[0]);
+       WRITE_MSG(2, " --help' for more information.\n");
+       return wrapper_exit_code;
+       break;
+    }
+  }
+
+  signal(SIGCHLD, SIG_DFL);
+  
+  if (args.do_migrateself)
+    args.nid = Evc_get_task_nid(0);
+  
+  if (!args.do_create && !args.do_migrate)
+    WRITE_MSG(2, "Neither '--create' nor '--migrate' specified; try '--help' for more information\n");
+  else if (args.do_create && args.do_migrate)
+    WRITE_MSG(2, "Can not specify '--create' and '--migrate' at the same time; try '--help' for more information\n");
+  else if (!args.do_create && args.nid==VC_DYNAMIC_XID)
+    WRITE_MSG(2, "Can not migrate to an unknown context\n");
+  else if (optind>=argc)
+    WRITE_MSG(2, "No command given; use '--help' for more information.\n");
+  else
+    return doit(&args, argv);
+
+  return wrapper_exit_code;
+}
index 1fd5920..a7546e4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: parserpmdump.c,v 1.1 2003/09/29 22:01:57 ensc Exp $
+// $Id: parserpmdump.c 2 2003-09-29 22:01:59Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on parserpmdump.cc by Jacques Gelinas
index 277f0f6..adbd46f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: readlink.c,v 1.4 2005/03/24 12:44:17 ensc Exp $
+// $Id: readlink.c 1980 2005-03-24 12:44:17Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index d18822a..20e0641 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: rebootmgr.c,v 1.8 2004/02/17 19:55:54 ensc Exp $
+// $Id: rebootmgr.c 923 2004-02-17 19:55:54Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on rebootmgr.cc by Jacques Gelinas
index 932cc06..e4994d2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: reducecap.c,v 1.18 2005/03/24 12:44:17 ensc Exp $
+// $Id: reducecap.c 2279 2006-01-22 19:31:53Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on reducecap.cc by Jacques Gelinas
@@ -143,6 +143,10 @@ int wrapper_exit_code      = 255;
 static void
 showHelp(int fd, char const *cmd, int res)
 {
+#if !defined(VC_ENABLE_API_COMPAT) && !defined(VC_ENABLE_API_LEGACY)
+  WRITE_MSG(1, "ERROR: tools were built without legacy API support; reducecap will not work!\n\n");
+#endif
+  
   WRITE_MSG(fd, "Usage:\n  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
@@ -206,6 +210,8 @@ show(pid_t pid)
   printReducecap(&user);
 }
 
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
+
 static uint32_t
 getCap(char const *cap)
 {
@@ -220,6 +226,8 @@ getCap(char const *cap)
   return (1<<bit);
 }
 
+#endif
+
 int main (int argc, char *argv[])
 {
   uint32_t             remove  = 0;
@@ -248,9 +256,10 @@ int main (int argc, char *argv[])
     switch (c) {
       case CMD_HELP            :  showHelp(1, argv[0], 0);
       case CMD_VERSION         :  showVersion();
-      case CMD_SECURE          :  remove  = vc_get_insecurebcaps(); break;
       case CMD_SHOW            :  do_show = true;  break; 
       case CMD_PID             :  pid     = atoi(optarg);   break;
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
+      case CMD_SECURE          :  remove  = vc_get_insecurebcaps(); break;
       case CMD_CAP             :  remove  = getCap(optarg); break;
       case CMD_FLAG            : {
        struct vc_err_listparser        err;
@@ -264,6 +273,11 @@ int main (int argc, char *argv[])
        }
        break;
       }
+#else
+      case CMD_SECURE          :  
+      case CMD_CAP             :
+      case CMD_FLAG            :  flags = 0; remove = 0; break;
+#endif
     }
   }
 
@@ -279,6 +293,7 @@ int main (int argc, char *argv[])
 
   if (do_show && optind==argc)
     show(pid);
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
   else {
     Evc_new_s_context(VC_SAMECTX, remove, flags);
     if (do_show) show(pid);
@@ -286,6 +301,14 @@ int main (int argc, char *argv[])
     WRITE_MSG(2, "Executing\n");
     Eexecvp(argv[optind], argv+optind);
   }
-
+#else
+  else if (do_show)
+    show(pid);
+  else {
+    WRITE_MSG(2, "reducecap: tools were built without legacy API support; can not continue\n");
+    exit(wrapper_exit_code);
+  }
+#endif
+    
   return EXIT_SUCCESS;
 }
index 5420d5e..cfa25d1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: rpm-fake-resolver.c,v 1.15 2005/07/03 13:16:34 ensc Exp $    --*- c -*--
+// $Id: rpm-fake-resolver.c 2501 2007-02-20 17:33:35Z dhozac $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -116,7 +116,7 @@ parseArgs(struct ArgInfo *args, int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        exit(1);
        break;
     }
@@ -250,7 +250,7 @@ daemonize(struct ArgInfo const UNUSED * args, int pid_fd)
 
 static void
 activateContext(xid_t xid, bool in_ctx,
-               uint32_t xid_caps, int xid_flags)
+               uint32_t UNUSED xid_caps, int UNUSED xid_flags)
 {
   if (in_ctx) {
     struct vc_ctx_flags                flags = {
@@ -261,7 +261,7 @@ activateContext(xid_t xid, bool in_ctx,
     Evc_set_cflags(xid, &flags);
   }
   else if (vc_isSupported(vcFEATURE_MIGRATE))
-      Evc_ctx_migrate(xid);
+      Evc_ctx_migrate(xid, 0);
   else {
 #ifdef VC_ENABLE_API_COMPAT
     Evc_new_s_context(xid, xid_caps, xid_flags);
index 619dfad..5fc140a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: rpm-fake.c,v 1.32 2005/07/03 12:26:28 ensc Exp $    --*- c++ -*--
+// $Id: rpm-fake.c 2501 2007-02-20 17:33:35Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -66,10 +66,6 @@ int rpm_execcon(unsigned int verified,
 #undef _POSIX_SOURCE
 #include "capability-compat.h"
 
-#ifndef CLONE_NEWNS
-#  define CLONE_NEWNS  0x00020000
-#endif
-
 #define LIBNAME                "rpm-fake.so"
 #define PLATFORM_FILE  "/etc/rpm/platform"
 
@@ -251,7 +247,7 @@ setupContext(xid_t xid, char const **xid_str)
     if ((xid==VC_DYNAMIC_XID || !vc_is_dynamic_xid(xid)) &&
        (rc=vc_ctx_create(xid))==VC_NOCTX &&
        errno!=EEXIST) {
-      perror(ENSC_WRAPPERS_PREFIX "vc_create_context()");
+      perror(ENSC_WRAPPERS_PREFIX "vc_ctx_create()");
       exit(255);
     }
 
@@ -599,7 +595,7 @@ execvWorker(char const *path, char * const argv[], char * const envp[])
   int          res = -1;
 
   if (vc_isSupported(vcFEATURE_MIGRATE))
-    res = vc_ctx_migrate(ctx);
+    res = vc_ctx_migrate(ctx, 0);
   else {
 #ifdef VC_ENABLE_API_COMPAT  
     res = vc_new_s_context(ctx,caps,flags);
index ed60c94..c91f52a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: save_ctxinfo.c,v 1.16 2005/02/15 18:04:11 ensc Exp $    --*- c++ -*--
+// $Id: save_ctxinfo.c 1859 2005-02-15 18:04:11Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 520a085..5fba02d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: secure-mount.c,v 1.24 2005/03/24 12:45:06 ensc Exp $    --*- c++ -*--
+// $Id: secure-mount.c 2480 2007-01-28 11:35:19Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -52,6 +52,7 @@
 #include <sys/wait.h>
 #include <libgen.h>
 #include <signal.h>
+#include <stdlib.h>
 
 #define ENSC_WRAPPERS_FCNTL    1
 #define ENSC_WRAPPERS_UNISTD   1
@@ -69,6 +70,7 @@ struct MountInfo {
     unsigned long      xflag;
     unsigned long      mask;
     char *             data;
+    char *             data_parsed;
 };
 
 struct Options {
@@ -120,7 +122,7 @@ static struct FstabOption {
     unsigned long const        xflag;
     bool const                 is_dflt;
 } const FSTAB_OPTIONS[] = {
-  { "defaults",   0,             (MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|
+  { "defaults",   MS_NODEV,      (MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|
                                  MS_SYNCHRONOUS), 0, false },
   { "rbind",      MS_BIND|MS_REC, MS_BIND|MS_REC,  0, false },
   { "bind",       MS_BIND,        MS_BIND,         0, false },
@@ -398,6 +400,27 @@ secureChdir(char const *dir, struct Options const *opt)
   return false;
 }
 
+static bool
+canHandleInternal(struct MountInfo const *mnt)
+{
+  static char const *  FS[] = {
+    "tmpfs", "sysfs", "proc", "sockfs", "pipefs", "futexfs",
+    "inotifyfs", "devpts", "ext3", "ext2", "ramfs",
+    "hugetlbfs", "usbfs", "binfmt_misc",
+    0
+  };
+  char const **                i;
+  
+  if (!mnt)                                 return false;
+  else if ((mnt->flag & (MS_BIND|MS_MOVE))) return true;
+  else if (mnt->type==0)                    return false;
+
+  for (i=FS+0; *i!=0; ++i)
+    if (strcmp(mnt->type, *i)==0) return true;
+
+  return false;
+}
+
 static bool
 mountSingle(struct MountInfo const *mnt, struct Options const *opt)
 {
@@ -406,13 +429,10 @@ mountSingle(struct MountInfo const *mnt, struct Options const *opt)
   if (!secureChdir(mnt->dst, opt))
     return false;
 
-  if (mnt->flag & (MS_BIND|MS_MOVE)) {
-    unsigned long      flag = mnt->flag;
-    if ((flag & MS_NODEV)==0) flag |= MS_NODEV;
-    
+  if (canHandleInternal(mnt)) {
     if (mount(mnt->src, ".",
              mnt->type ? mnt->type : "",
-             flag,  mnt->data)==-1) {
+             mnt->flag,  mnt->data_parsed)==-1) {
       perror("secure-mount: mount()");
       return false;
     }
@@ -443,6 +463,8 @@ static bool
 transformOptionList(struct MountInfo *info, size_t UNUSED *col)
 {
   char const *                 ptr = info->data;
+  char *                       data = malloc(strlen(info->data));
+  char *                       dst = data;
 
   do {
     char const *               pos = strchr(ptr, ',');
@@ -457,6 +479,13 @@ transformOptionList(struct MountInfo *info, size_t UNUSED *col)
       info->mask  |=  opt->mask;
       info->xflag |=  opt->xflag;
     }
+    else {
+      if (dst != data)
+        *(dst++) = ',';
+      strncpy(dst, ptr, pos-ptr);
+      dst += pos - ptr;
+      *dst = '\0';
+    }
 
     if (*pos!='\0')
       ptr = pos+1;
@@ -465,6 +494,7 @@ transformOptionList(struct MountInfo *info, size_t UNUSED *col)
 
   } while (*ptr!='\0');
 
+  info->data_parsed = data;
   return true;
 }
 
@@ -500,7 +530,10 @@ static enum {prDOIT, prFAIL, prIGNORE}
 
   if      (strcmp(info->type, "swap")  ==0) return prIGNORE;
   else if (strcmp(info->type, "none")  ==0) info->type  = 0;
-  else if (strcmp(info->type, "devpts")==0) info->mask |= MS_NODEV;
+  else if (strcmp(info->type, "devpts")==0) {
+    info->mask |=  MS_NODEV;
+    info->flag &= ~MS_NODEV;
+  }
 
   if (col) *col = err_col;
   if (!transformOptionList(info,col)) return prFAIL;
@@ -624,7 +657,7 @@ int main(int argc, char *argv[])
     .src         = 0,
     .dst         = 0,
     .type        = 0,
-    .flag        = 0,
+    .flag        = MS_NODEV,
     .xflag      = 0,
     .data        = 0,
   };
@@ -664,7 +697,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index 9fadca3..59ba4ef 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: setattr.c,v 1.11 2004/03/05 19:50:45 ensc Exp $    --*- c -*--
+// $Id: setattr.c 2431 2006-12-19 19:18:12Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -58,6 +58,9 @@ CMDLINE_OPTIONS[] = {
   { "iunlink-but-not-immutable",   no_argument, 0, CMD_IMMUX },
   { "~iunlink-but-not-immutable",  no_argument, 0, CMD_UNSET_IMMUX },
   { "!iunlink-but-not-immutable",  no_argument, 0, CMD_UNSET_IMMUX },
+  { "immutable",   no_argument, 0, CMD_IMMUTABLE },
+  { "~immutable",  no_argument, 0, CMD_UNSET_IMMUTABLE },
+  { "!immutable",  no_argument, 0, CMD_UNSET_IMMUTABLE },
   { 0,0,0,0 }
 };
 
index 94437dc..5260026 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: showattr.c,v 1.11 2005/03/24 12:44:17 ensc Exp $
+// $Id: showattr.c 1980 2005-03-24 12:44:17Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on showattr.cc by Jacques Gelinas
index d2e11d0..1067568 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: showperm.c,v 1.2 2003/09/30 20:16:53 ensc Exp $
+// $Id: showperm.c 19 2003-09-30 20:16:53Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on showperm.cc by Jacques Gelinas
index 2d4f082..f55aa7c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: sigexec.c,v 1.1 2004/05/11 18:32:58 ensc Exp $    --*- c -*--
+// $Id: sigexec.c 1562 2004-05-11 18:32:58Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c6a7253..12a6059 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: stack-start.h,v 1.2 2004/02/20 17:02:20 ensc Exp $    --*- c++ -*--
+// $Id: stack-start.h 968 2004-02-20 17:02:20Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index bd6854e..2000d0b 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.9 2005/03/17 14:54:18 ensc Exp $            --*- makefile -*--
+## $Id: Makefile-files 2245 2006-01-04 17:28:42Z ensc $                --*- makefile -*--
 
 ## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
 src_testsuite_check_active_PRGS =      src/testsuite/vunify-functest \
                                        src/testsuite/chcontext-test \
                                        src/testsuite/chbind-test
+
 src_testsuite_check_passive_PRGS =     src/testsuite/rpm-fake-test
 
+if ENSC_HAVE_C99_COMPILER
+if ENSC_HAVE_BEECRYPT
+src_testsuite_check_passive_PRGS +=    src/testsuite/hashcalc          \
+                                       src/testsuite/hashcalc-plain
+endif
+endif
 
 check_PROGRAMS +=                      $(src_testsuite_check_passive_PRGS) \
                                        $(src_testsuite_check_active_PRGS)
 
 if ENSC_HAVE_C99_COMPILER
 src_testsuite_check_src_C99_SCRPTS =   src/testsuite/vunify-test.sh
+if ENSC_HAVE_BEECRYPT
+src_testsuite_check_src_C99_SCRPTS +=  src/testsuite/hashcalc-plain.sh         \
+                                       src/testsuite/hashcalc.sh
+endif
 else
 src_testsuite_check_src_C99_SCRPTS =
 endif
@@ -40,8 +51,11 @@ TESTS +=                             $(src_testsuite_check_active_PRGS) \
                                        $(src_testsuite_check_src_SCRPTS) \
                                        $(src_testsuite_check_gen_SCRPTS)
 
-EXTRA_DIST +=                          $(src_testsuite_check_src_SCRPTS)
-
+EXTRA_DIST +=                          $(src_testsuite_check_src_SCRPTS) \
+                                       src/testsuite/vunify-test.sh \
+                                       src/testsuite/hashcalc.sh \
+                                       src/testsuite/hashcalc-plain.sh \
+                                       src/testsuite/vwait-test.sh
 
 src_testsuite_rpm_fake_test_SOURCES =  src/testsuite/rpm-fake-test.c
 
@@ -57,6 +71,21 @@ src_testsuite_chcontext_test_LDADD = lib/libvserver.la $(LIBINTERNAL)
 src_testsuite_chbind_test_SOURCES =    src/testsuite/chbind-test.c
 src_testsuite_chbind_test_LDADD =      lib/libvserver.la
 
+src_testsuite_hashcalc_SOURCES =       src/testsuite/hashcalc.c
+src_testsuite_hashcalc_plain_SOURCES = src/testsuite/hashcalc-plain.c
+if ENSC_CAN_BEECRYPT_WITH_DIETLIBC
+src_testsuite_hashcalc_LDADD =         $(LIBINTERNAL) $(LIBENSCVECTOR) -lbeecrypt $(VSERVER_LDADDS)
+src_testsuite_hashcalc_LDFLAGS =       $(VSERVER_LDFLGS)
+
+src_testsuite_hashcalc_plain_LDADD =   $(LIBINTERNAL) $(LIBENSCVECTOR) -lbeecrypt $(VSERVER_LDADDS)
+src_testsuite_hashcalc_plain_LDFLAGS = $(VSERVER_LDFLGS)
+else
+src_testsuite_hashcalc_LDADD =         $(LIBINTERNAL_GLIBC) $(LIBENSCVECTOR_GLIBC) $(LIBVSERVER_GLIBC) -lbeecrypt
+src_testsuite_hashcalc_LDFLAGS =
+
+src_testsuite_hashcalc_plain_LDADD =   $(LIBINTERNAL_GLIBC) $(LIBENSCVECTOR_GLIBC) $(LIBVSERVER_GLIBC) -lbeecrypt
+src_testsuite_hashcalc_plain_LDFLAGS =
+endif
 
 src_testsuite_CPPFLAGS =               -I $(top_srcdir)/src -D ENSC_TESTSUITE
 
index 187ad2e..01eac7b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chbind-test.c,v 1.1 2004/02/09 23:30:20 ensc Exp $    --*- c -*--
+// $Id: chbind-test.c 847 2004-02-09 23:30:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4a2db2c..021e47c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chcontext-test.c,v 1.2 2004/02/09 23:40:45 ensc Exp $    --*- c -*--
+// $Id: chcontext-test.c 856 2004-02-09 23:40:45Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/src/testsuite/hashcalc-plain.c b/src/testsuite/hashcalc-plain.c
new file mode 100644 (file)
index 0000000..5b6ff47
--- /dev/null
@@ -0,0 +1,92 @@
+// $Id: hashcalc-plain.c 2245 2006-01-04 17:28:42Z ensc $    --*- c -*--
+
+// Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <beecrypt/beecrypt.h>
+#include <stdbool.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+
+#define ENSC_TESTSUITE
+#include "lib_internal/coreassert.h"
+
+#define HASH_BLOCKSIZE         0x10000000u
+
+static bool
+convertDigest(char res[], hashFunctionContext * h_ctx)
+{
+  static char const            HEX_DIGIT[] = "0123456789abcdef";
+  size_t                       d_size   = h_ctx->algo->digestsize;
+    
+  unsigned char                        digest[d_size];
+  size_t                       out = 0;
+
+  if (hashFunctionContextDigest(h_ctx, digest)==-1)
+    return false;
+  
+  for (size_t in=0; in<d_size; ++in) {
+    res[out++]  = HEX_DIGIT[digest[in] >>    4];
+    res[out++]  = HEX_DIGIT[digest[in] &  0x0f];
+  }
+  res[out++] = '\0';
+  
+  return true;
+}
+
+int main(int UNUSED argc, char *argv[])
+{
+  int                  fd = open(argv[1], O_NOFOLLOW|O_NONBLOCK|O_RDONLY|O_NOCTTY);
+  hashFunctionContext  hash_context;
+  hashFunction const   *method;
+  struct stat          st;
+  off_t                        size;
+  loff_t               offset = 0;
+  char                 digest[1024];
+
+  assert((method = hashFunctionFind(argv[2]))!=0);
+  assert(hashFunctionContextInit(&hash_context, method)!=-1);
+
+  assert(fstat(fd, &st)!=-1);
+  assert(hashFunctionContextReset(&hash_context)!=-1);
+
+  size = st.st_size;
+
+  while (offset < size) {
+    loff_t volatile            buf_size = size-offset;
+    void const *               buf;
+    if (buf_size>HASH_BLOCKSIZE) buf_size = HASH_BLOCKSIZE;
+
+    assert((buf=mmap(0, buf_size, PROT_READ, MAP_SHARED, fd, offset))!=0);
+    offset += buf_size;
+    assert(hashFunctionContextUpdate(&hash_context, buf, buf_size)!=-1);
+    munmap((void *)(buf), buf_size);
+  }
+    
+  assert(convertDigest(digest, &hash_context));
+  
+  Vwrite(1, digest, strlen(digest));
+  Vwrite(1, "\n", 1);
+  
+  hashFunctionContextFree(&hash_context);
+  
+  return 0;
+}
diff --git a/src/testsuite/hashcalc-plain.sh b/src/testsuite/hashcalc-plain.sh
new file mode 100755 (executable)
index 0000000..f5fd724
--- /dev/null
@@ -0,0 +1,19 @@
+#! /bin/bash
+
+# Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+hashcalc=${builddir:-.}/src/testsuite/hashcalc-plain \
+exec ${srcdir:-.}/src/testsuite/hashcalc.sh
diff --git a/src/testsuite/hashcalc.c b/src/testsuite/hashcalc.c
new file mode 100644 (file)
index 0000000..3b84e95
--- /dev/null
@@ -0,0 +1,74 @@
+// $Id: hashcalc.c 2209 2005-10-29 10:33:02Z ensc $    --*- c -*--
+
+// Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#define ENSC_TESTSUITE
+#define main   Xmain
+#  include "../vhashify.c"
+#undef main
+
+#include "lib_internal/coreassert.h"
+
+int main(int UNUSED argc, char *argv[])
+{
+  int          fd = open(argv[1], O_NOFOLLOW|O_NONBLOCK|O_RDONLY|O_NOCTTY);
+  struct stat  st;
+  off_t                size;
+  struct {
+      volatile unsigned int    canary0;
+      volatile unsigned int    canary1;
+      HashPath                         d;
+      volatile unsigned int    canary2;
+      volatile unsigned int    canary3;
+  } __attribute__((__packed__))        d_path;
+
+  d_path.canary0 = 0x12345678;
+  d_path.canary1 = 0x21436587;
+  d_path.canary2 = 0x89abcdef;
+  d_path.canary3 = 0x98badcfe;
+  memset(d_path.d, 0x66, sizeof d_path.d);
+
+  global_info.hash_conf.method = hashFunctionFind(argv[2]);
+  
+  assert(hashFunctionContextInit(&global_info.hash_context,
+                                global_info.hash_conf.method)!=-1);
+
+  assert(fstat(fd, &st)!=-1);
+
+    // set members of st to defined values so that the hash (which is
+    // influenced by them) is predictable
+  size = st.st_size;
+  memset(&st, 0, sizeof st);
+  st.st_size = size;
+  
+  assert(calculateHashFromFD(fd, d_path.d, &st));
+  assert(d_path.canary0 == 0x12345678);
+  assert(d_path.canary1 == 0x21436587);
+  assert(d_path.canary2 == 0x89abcdef);
+  assert(d_path.canary3 == 0x98badcfe);
+
+  Vwrite(1, d_path.d, strlen(d_path.d));
+  Vwrite(1, "\n", 1);
+  
+  hashFunctionContextFree(&global_info.hash_context);
+  
+  return 0;
+}
diff --git a/src/testsuite/hashcalc.sh b/src/testsuite/hashcalc.sh
new file mode 100755 (executable)
index 0000000..600109a
--- /dev/null
@@ -0,0 +1,71 @@
+#! /bin/bash
+
+# Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+#  
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#  
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#  
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+: ${srcdir=.}
+: ${builddir=.}
+: ${srctestsuitedir=$srcdir/src/testsuite}
+: ${srcdatadir=$srctestsuitedir/data}
+: ${tmptopdir=/var/tmp}
+: ${hashcalc:=$builddir/src/testsuite/hashcalc}
+
+set -e
+
+tmpdir=$(mktemp -d "$tmptopdir"/rpm-fake-test.XXXXXX)
+trap "rm -rf $tmpdir" EXIT
+
+## Usage: createRandFile <name> <size>
+function createRandFile
+{
+    dd if=/dev/urandom of=$tmpdir/$1-$2 bs=$2 count=1 &>/dev/null
+}
+
+pg=$(getconf PAGESIZE)
+
+for i in 2 4 8 15 16 23 42 32 64 68 $pg $[ pg+42 ] $[ pg*2 ] \
+        $[ pg*2-23 ] $[ pg*23+42 ]; do
+    createRandFile rand $[ i - 1 ]
+    createRandFile rand $i
+    createRandFile rand $[ i + 1 ]
+done
+
+: > $tmpdir/rand-0
+
+test x"$ensc_use_expensive_tests" != xyes || {
+    dd if=/dev/urandom of=$tmpdir/rand-LARGE1 bs=$[ pg-1 ]        count=1 seek=124123
+    dd if=/dev/urandom of=$tmpdir/rand-LARGE2 bs=$[ 1024*1024-1 ] count=1 seek=5003
+    #dd if=/dev/urandom of=$tmpdir/rand-LARGE3 bs=$[ pg-1 ] count=1 seek=12412373
+} &>/dev/null
+
+for i in $tmpdir/rand-*; do
+    sha1_0=$($hashcalc "$i" SHA-1 | tr -d / )
+    sha1_1=$(sha1sum   "$i" | awk '{ print $1}' )
+
+    test x"$sha1_0" = x"$sha1_1" || {
+       echo "SHA-1 mismatch at $(basename $i)"
+       exit 1
+    }
+
+    md5_0=$($hashcalc "$i" MD5  | tr -d / )
+    md5_1=$(md5sum   "$i" | awk '{ print $1}' )
+
+    test x"$md5_0" = x"$md5_1" || {
+       echo "MD5 mismatch at $(basename $i)"
+       exit 1
+    }
+done
+
+true
index 57054e1..d581daa 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: rpm-fake-test.c,v 1.4 2004/02/27 18:57:28 ensc Exp $    --*- c -*--
+// $Id: rpm-fake-test.c 1044 2004-02-27 18:57:28Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 965bb6f..a224b5d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vunify-functest.c,v 1.4 2004/02/17 19:51:21 ensc Exp $    --*- c -*--
+// $Id: vunify-functest.c 920 2004-02-17 19:51:21Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/src/testsuite/vwait-test.sh b/src/testsuite/vwait-test.sh
new file mode 100755 (executable)
index 0000000..3b8d041
--- /dev/null
@@ -0,0 +1,62 @@
+#! /bin/bash
+
+: ${srcdir:=.}
+: ${builddir:=.}
+: ${XID:=1234}
+
+test "$(id -u)" -eq 0 || {
+    echo "Skipping vwait-test; it requires root rights" >&2
+    exit 0
+}
+
+
+! $builddir/src/vserver-info $XID RUNNING || {
+    echo "Skipping vwait-test because context '$XID' is already used" >&2
+    exit 0
+}
+
+tmpdir=$(mktemp -d /tmp/vwaittest.XXXXXX)
+trap "rm -rf $tmpdir" EXIT
+
+: ${VWAIT:=$builddir/src/vwait}
+: ${CHCONTEXT:=$builddir/src/chcontext-compat}
+
+
+
+############
+$CHCONTEXT  --disconnect --silent --xid $XID /bin/bash -c "sleep 2"
+status=$($VWAIT --status-fd 1 -- $XID)
+rc=$?
+
+case $status  in
+    (FINISHED\ *)      ;;
+    (*)                echo "vwait exited with bad status '$status'/$rc" >&2
+               exit 1
+esac
+
+wait
+
+
+############
+$CHCONTEXT  --disconnect --silent --xid $XID /bin/bash -c "sleep 5"
+status=$($VWAIT --status-fd 1 --timeout 1 -- $XID)
+rc=$?
+
+case $status  in
+    (TIMEOUT)  ;;
+    (*)                echo "vwait exited with bad status '$status'/$rc" >&2
+               exit 1
+esac
+
+
+
+############
+$CHCONTEXT --disconnect --silent --xid $XID /bin/bash -c "sleep 5"
+status=$($VWAIT --terminate --status-fd 1 --timeout 1 -- $XID)
+rc=$?
+
+case $status  in
+    (KILLED)   ;;
+    (*)                echo "vwait exited with bad status '$status'/$rc" >&2
+               exit 1
+esac
index b72d212..c5187de 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util.h,v 1.11 2004/02/26 13:10:15 ensc Exp $    --*- c -*--
+// $Id: util.h 1012 2004-02-26 13:10:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e06bf60..1339e15 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vattribute.c,v 1.14 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: vattribute.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -175,7 +175,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return 255;
        break;
     }
index 6d04174..683963f 100644 (file)
@@ -1,6 +1,6 @@
-// $Id: vcontext.c,v 1.18 2005/04/28 18:08:12 ensc Exp $    --*- c -*--
+// $Id: vcontext.c 2501 2007-02-20 17:33:35Z dhozac $    --*- c -*--
 
-// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2004-2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -33,6 +33,9 @@
 #include <sys/un.h>
 #include <assert.h>
 #include <signal.h>
+#include <sys/types.h>
+#include <pwd.h>
+#include <grp.h>
 
 #include <linux/personality.h>
 
@@ -62,6 +65,7 @@
 #define CMD_NAMESPACE          0x400d
 #define CMD_PERSTYPE           0x400e
 #define CMD_PERSFLAG           0x400f
+#define CMD_VLOGIN             0x4010
 
 
 struct option const
@@ -85,6 +89,7 @@ CMDLINE_OPTIONS[] = {
   { "syncmsg",      required_argument,         0, CMD_SYNCMSG },
   { "personality-type",  required_argument, 0, CMD_PERSTYPE },
   { "personality-flags", required_argument, 0, CMD_PERSFLAG },
+  { "vlogin",       no_argument,        0, CMD_VLOGIN },
 #if 1  
   { "fakeinit",     no_argument,               0, CMD_INITPID },       // compatibility
 #endif  
@@ -100,11 +105,12 @@ struct Arguments {
     bool               is_initpid;
     bool               is_silentexist;
     bool               set_namespace;
+    bool               do_vlogin;
     uint_least32_t     personality_flags;
     uint_least32_t     personality_type;
     int                        verbosity;
     bool               do_chroot;
-    uid_t              uid;
+    char const *       uid;
     xid_t              xid;
     char const *       sync_sock;
     char const *       sync_msg;
@@ -112,6 +118,8 @@ struct Arguments {
 
 int            wrapper_exit_code = 255;
 
+void do_vlogin(int argc, char *argv[], int ind);
+
 static void
 showHelp(int fd, char const *cmd, int res)
 {
@@ -145,6 +153,7 @@ showHelp(int fd, char const *cmd, int res)
            "    --syncmsg <message>\n"
            "                    ...  use <message> as synchronization message; by\n"
            "                         default, 'ok' will be used\n"
+           "    --vlogin        ...  enable terminal proxy\n"
            "\n"
            "'vcontext --create' exits with code 254 iff the context exists already.\n"
            "\n"
@@ -159,7 +168,7 @@ showVersion()
   WRITE_MSG(1,
            "vcontext " VERSION " -- manages the creation of security contexts\n"
            "This program is part of " PACKAGE_STRING "\n\n"
-           "Copyright (C) 2004 Enrico Scholz\n"
+           "Copyright (C) 2004-2006 Enrico Scholz\n"
            VERSION_COPYRIGHT_DISCLAIMER);
   exit(0);
 }
@@ -233,7 +242,7 @@ doExternalSync(int fd, char const *msg)
 }
 
 static inline ALWAYSINLINE int
-doit(struct Arguments const *args, char *argv[])
+doit(struct Arguments const *args, int argc, char *argv[])
 {
   int                  p[2][2];
   pid_t                        pid = initSync(p, args->do_disconnect);
@@ -250,10 +259,10 @@ doit(struct Arguments const *args, char *argv[])
        switch (errno) {
          case EEXIST   :
            if (!args->is_silentexist)
-             perror(ENSC_WRAPPERS_PREFIX "vc_create_context()");
+             perror(ENSC_WRAPPERS_PREFIX "vc_ctx_create()");
            return 254;
          default       :
-           perror(ENSC_WRAPPERS_PREFIX "vc_create_context()");
+           perror(ENSC_WRAPPERS_PREFIX "vc_ctx_create()");
            return wrapper_exit_code;
        }
       }
@@ -265,19 +274,45 @@ doit(struct Arguments const *args, char *argv[])
     if (args->do_chroot) {
       Echroot(".");
       if (args->set_namespace) {
-       if (args->do_migrateself)  Evc_set_namespace();
-       else if (args->do_migrate) Evc_enter_namespace(xid);
+       if (args->do_migrateself)  Evc_set_namespace(xid, 0);
+       else if (args->do_migrate) Evc_enter_namespace(xid, 0);
       }
     }
 
     setFlags(args, xid);
 
     if (args->do_migrate && !args->do_migrateself)
-      Evc_ctx_migrate(xid);
+      Evc_ctx_migrate(xid, 0);
+
+    if (args->uid != NULL) {
+      uid_t uid = 0;
+      unsigned long tmp;
+
+      if (!isNumberUnsigned(args->uid, &tmp, false)) {
+#ifdef __dietlibc__
+       struct passwd *pw;
+       pw = getpwnam(args->uid);
+       if (pw == NULL) {
+         WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "Username '");
+         WRITE_STR(2, args->uid);
+         WRITE_MSG(2, "' does not exist\n");
+         return wrapper_exit_code;
+       }
+       uid = pw->pw_uid;
+       Einitgroups(args->uid, pw->pw_gid);
+       Esetgid(pw->pw_gid);
+#else
+       WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "Uid '");
+       WRITE_STR(2, args->uid);
+       WRITE_MSG(2, "' is not a number\n");
+       return wrapper_exit_code;
+#endif
+      }
+      else
+       uid = (uid_t) tmp;
 
-    if (args->uid!=(uid_t)(-1) && getuid()!=args->uid) {
-      Esetuid(args->uid);
-      if (getuid()!=args->uid) {
+      Esetuid((uid_t) uid);
+      if (getuid()!=uid) {
        WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "Something went wrong while changing the UID\n");
        exit(wrapper_exit_code);
       }
@@ -287,12 +322,15 @@ doit(struct Arguments const *args, char *argv[])
        sys_personality(args->personality_type | args->personality_flags)==-1) {
       perror(ENSC_WRAPPERS_PREFIX "personality()");
       exit(wrapper_exit_code);
-    }  
+    }
 
     doExternalSync(ext_sync_fd, args->sync_msg);
     doSyncStage1(p, args->do_disconnect);
     DPRINTF("doit: pid=%u, ppid=%u\n", getpid(), getppid());
-    execvp (argv[optind],argv+optind);
+    if (!args->do_vlogin)
+      execvp (argv[optind],argv+optind);
+    else
+      do_vlogin(argc, argv, optind);
     doSyncStage2(p, args->do_disconnect);
 
     PERROR_Q(ENSC_WRAPPERS_PREFIX "execvp", argv[optind]);
@@ -341,11 +379,12 @@ int main (int argc, char *argv[])
     .do_migrateself    = false,
     .do_disconnect     = false,
     .do_endsetup       = false,
+    .do_vlogin         = false,
     .is_initpid        = false,
     .is_silentexist    = false,
     .set_namespace     = false,
     .verbosity         = 1,
-    .uid               = -1,
+    .uid               = NULL,
     .xid               = VC_DYNAMIC_XID,
     .personality_type  = VC_BAD_PERSONALITY,
     .personality_flags = 0,
@@ -363,13 +402,14 @@ int main (int argc, char *argv[])
       case CMD_MIGRATE         :  args.do_migrate     = true;   break;
       case CMD_DISCONNECT      :  args.do_disconnect  = true;   break;
       case CMD_ENDSETUP                :  args.do_endsetup    = true;   break;
+      case CMD_VLOGIN          :  args.do_vlogin      = true;   break;
       case CMD_INITPID         :  args.is_initpid     = true;   break;
       case CMD_CHROOT          :  args.do_chroot      = true;   break;
       case CMD_NAMESPACE       :  args.set_namespace  = true;   break;
       case CMD_SILENTEXIST     :  args.is_silentexist = true;   break;
       case CMD_SYNCSOCK                :  args.sync_sock      = optarg; break;
       case CMD_SYNCMSG         :  args.sync_msg       = optarg; break;
-      case CMD_UID             :  args.uid = atol(optarg);      break;
+      case CMD_UID             :  args.uid            = optarg; break;
       case CMD_XID             :  args.xid = Evc_xidopt2xid(optarg,true); break;
       case CMD_SILENT          :  --args.verbosity; break;
       case CMD_PERSTYPE                :
@@ -386,7 +426,7 @@ int main (int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return wrapper_exit_code;
        break;
     }
@@ -398,7 +438,7 @@ int main (int argc, char *argv[])
     args.xid = Evc_get_task_xid(0);
   
   if (!args.do_create && !args.do_migrate)
-    WRITE_MSG(2, "Neither '--create' nor '--migrate specified; try '--help' for more information\n");
+    WRITE_MSG(2, "Neither '--create' nor '--migrate' specified; try '--help' for more information\n");
   else if (args.do_create  &&  args.do_migrate)
     WRITE_MSG(2, "Can not specify '--create' and '--migrate' at the same time; try '--help' for more information\n");
   else if (!args.do_migrate && args.is_initpid)
@@ -408,7 +448,7 @@ int main (int argc, char *argv[])
   else if (optind>=argc)
     WRITE_MSG(2, "No command given; use '--help' for more information.\n");
   else
-    return doit(&args, argv);
+    return doit(&args, argc, argv);
 
   return wrapper_exit_code;
 }
index 51db03a..ba2d2af 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vcopy-init.hc,v 1.3 2005/03/18 00:24:27 ensc Exp $    --*- c -*--
+// $Id: vcopy-init.hc 1921 2005-03-18 00:24:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5fd8638..b54b501 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vcopy.c,v 1.5 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: vcopy.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -274,7 +274,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index fc287e9..3df67ba 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vdlimit.c,v 1.2 2005/08/21 22:16:22 mlhuang Exp $    --*- c -*--
+// $Id: vdlimit.c,v 1.5 2007/06/28 15:20:30 dhozac Exp $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,6 @@
 #endif
 
 #include "util.h"
-#include <lib_internal/sys_clone.h>
 #include <lib/internal.h>
 
 #include <vserver.h>
@@ -85,14 +84,24 @@ showVersion()
 static void
 setDlimit(char const *filename, xid_t xid, uint32_t flags, struct vc_ctx_dlimit const *limit)
 {
+  bool         was_added = false;
+
   if (vc_get_dlimit(filename, xid, flags, 0) == -1) {
     if (vc_add_dlimit(filename, xid, flags) == -1) {
       perror(ENSC_WRAPPERS_PREFIX "vc_add_dlimit()");
       exit(wrapper_exit_code);
     }
+
+    was_added = true;
   }
+
   if (vc_set_dlimit(filename, xid, flags, limit) == -1) {
     perror(ENSC_WRAPPERS_PREFIX "vc_set_dlimit()");
+
+    if (was_added &&
+       vc_rem_dlimit(filename, xid, flags)==-1)
+      perror(ENSC_WRAPPERS_PREFIX "vc_rem_dlimit()");
+
     exit(wrapper_exit_code);
   }
 }
@@ -200,6 +209,14 @@ setDLimitField(struct vc_ctx_dlimit *dst, char const *opt)
   return true;
 }
 
+bool
+isHigherLimit(uint_least32_t lhs, uint_least32_t rhs)
+{
+  if (lhs==VC_CDLIM_KEEP || rhs==VC_CDLIM_KEEP) return false;
+
+  return lhs > rhs;
+}
+
 int main(int argc, char *argv[])
 {
   bool         do_set       = false;
@@ -261,6 +278,10 @@ int main(int argc, char *argv[])
     WRITE_MSG(2, "No mount point specified; try '--help' for more information\n");
   else if (xid==VC_NOCTX)
     WRITE_MSG(2, "No xid specified; try '--help' for more information\n");
+  else if (isHigherLimit(limit.space_used, limit.space_total))
+    WRITE_MSG(2, "invalid parameters: 'space_used' is larger than 'space_total'\n");
+  else if (isHigherLimit(limit.inodes_used, limit.inodes_total))
+    WRITE_MSG(2, "invalid parameters: 'inodes_used' is larger than 'inodes_total'\n");
   else {
     for (; optind < argc; ++optind) {
       if      (do_set)     setDlimit(argv[optind], xid, flags, &limit);
index f784a35..a0c8751 100644 (file)
--- a/src/vdu.c
+++ b/src/vdu.c
@@ -1,12 +1,10 @@
-// $Id: vdu-new.c,v 1.2 2004/08/17 14:44:14 mef-pl_kernel Exp $
+// $Id: vdu.c 2260 2006-01-22 11:56:28Z ensc $    --*- c -*--
 
-// Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-// based on vdu.cc by Jacques Gelinas
+// Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2, or (at your option)
-// any later version.
+// the Free Software Foundation; version 2 of the License.
 //  
 // This program is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-#define _LARGEFILE64_SOURCE
-
 #ifdef HAVE_CONFIG_H
 #  include <config.h>
 #endif
 
+#include "util.h"
+#include <lib/vserver.h>
+#include <lib/fmt.h>
+
 #include <stdlib.h>
-#include <stdio.h>
+#include <getopt.h>
+#include <stdint.h>
+#include <errno.h>
 #include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
 #include <dirent.h>
-#include <errno.h>
-#include <string.h>
-#include <sys/ioctl.h>
-
-#include <assert.h>
+#include <fcntl.h>
 
-#include "vdu.h"
+#define ENSC_WRAPPERS_PREFIX   "vdu: "
+#define ENSC_WRAPPERS_VSERVER  1
+#define ENSC_WRAPPERS_UNISTD   1
+#define ENSC_WRAPPERS_DIRENT   1
+#define ENSC_WRAPPERS_FCNTL    1
+#define ENSC_WRAPPERS_STAT     1
+#include <wrappers.h>
+
+#define CMD_HELP               0x1000
+#define CMD_VERSION            0x1001
+#define CMD_XID                        0x2000
+#define CMD_SPACE              0x2001
+#define CMD_INODES             0x2002
+#define CMD_SCRIPT             0x2003
+#define CMD_BLOCKSIZE          0x2005
+
+int                    wrapper_exit_code = 1;
+
+struct option const
+CMDLINE_OPTIONS[] = {
+  { "help",           no_argument,       0, CMD_HELP },
+  { "version",        no_argument,       0, CMD_VERSION },
+  { "xid",            required_argument, 0, CMD_XID },
+  { "space",          no_argument,       0, CMD_SPACE },
+  { "inodes",         no_argument,       0, CMD_INODES },
+  { "script",         no_argument,       0, CMD_SCRIPT },
+  { "blocksize",      required_argument, 0, CMD_BLOCKSIZE },
+  {0,0,0,0}
+};
+
+struct Arguments {
+    xid_t              xid;
+    bool               space;
+    bool               inodes;
+    bool               script;
+    unsigned long      blocksize;
+};
+
+struct Result {
+    uint_least64_t     blocks;
+    uint_least64_t     inodes;
+};
+
+struct TraversalParams {
+    struct Arguments const * const     args;
+    struct Result * const              result;
+};
 
-HashTable tbl;
+static void
+showHelp(int fd, char const *cmd, int res)
+{
+  WRITE_MSG(fd, "Usage:\n    ");
+  WRITE_STR(fd, cmd);
+  WRITE_MSG(fd,
+           " --xid <xid> (--space|--inodes) [--blocksize <blocksize>] [--script] <directory>*\n"
+           "\n"
+           "Please report bugs to " PACKAGE_BUGREPORT "\n");
+
+  exit(res);
+}
 
-static int // boolean
-INOPut(PHashTable tbl, ino64_t* key, struct stat64 **val){
-    return Put(tbl, key, val);
+static void
+showVersion()
+{
+  WRITE_MSG(1,
+           "vdu " VERSION " -- calculates the size of a directory\n"
+           "This program is part of " PACKAGE_STRING "\n\n"
+           "Copyright (C) 2006 Enrico Scholz\n"
+           VERSION_COPYRIGHT_DISCLAIMER);
+  exit(0);
 }
 
-__extension__ typedef long long                longlong;
-//__extension__ typedef long           longlong;
+/* basic hash table implementation for inode tracking */
+#define HASH_SIZE 103
+typedef struct hash_entry {
+  struct hash_entry *next;
+  ino_t inode;
+} hash_entry;
 
-static longlong inodes;
-static longlong blocks;
-static longlong size;
+typedef struct hash_table {
+  hash_entry *entries[HASH_SIZE];
+} hash_table;
 
-static short verbose = 0;
+static hash_table ht;
 
-static inline void warning(char *s) {
-    fprintf(stderr,"%s (%s)\n",s,strerror(errno));    
+static void
+hash_init(void)
+{
+  memset(&ht, 0, sizeof(hash_table));
 }
 
-void panic(char *s) {
-    warning(s);
-    exit(2);
+static void
+hash_free(void)
+{
+  int i;
+  hash_entry *e, *p;
+  for (i = 0; i < HASH_SIZE; i++) {
+    for (e = ht.entries[i], p = NULL; e; e = e->next) {
+      free(p);
+      p = e;
+    }
+    free(p);
+  }
 }
 
-static void vdu_onedir (char const *path)
+static int
+hash_insert(ino_t inode)
 {
-    char const *foo = path;
-    struct stat64 dirst, st;
-    struct dirent *ent;
-    char *name;
-    DIR *dir;
-    int dirfd;
-    longlong dirsize, dirinodes, dirblocks;
-
-    dirsize = dirinodes = dirblocks = 0;
-
-    // A handle to speed up chdir
-    if ((dirfd = open (path,O_RDONLY)) == -1) {
-       fprintf (stderr,"Can't open directory %s\n",path);
-       panic("open failed");
+  hash_entry *e, *p;
+  unsigned int hashval = inode % HASH_SIZE;
+
+  /* no one else here */
+  if (ht.entries[hashval] == NULL) {
+    ht.entries[hashval]        = malloc(sizeof(hash_entry));
+    ht.entries[hashval]->next  = NULL;
+    ht.entries[hashval]->inode = inode;
+    return 0;
+  }
+
+  for (e = ht.entries[hashval], p = NULL; e; e = e->next) {
+    /* already in the hash table */
+    if (e->inode == inode)
+      return -1;
+    else if (e->inode > inode) {
+      /* we're first */
+      if (p == NULL) {
+       ht.entries[hashval]        = malloc(sizeof(hash_entry));
+       ht.entries[hashval]->next  = e;
+       ht.entries[hashval]->inode = inode;
+      }
+      /* we're in the middle */
+      else {
+       p->next        = malloc(sizeof(hash_entry));
+       p->next->next  = e;
+       p->next->inode = inode;
+      }
+      return 0;
     }
+    p = e;
+  }
+  /* we're last */
+  p->next        = malloc(sizeof(hash_entry));
+  p->next->next  = NULL;
+  p->next->inode = inode;
+
+  return 0;
+}
 
-    if (fchdir (dirfd) == -1) {
-       fprintf (stderr,"Can't fchdir directory %s\n",path);
-       panic("fchdir failed");
-    }
+static void
+visitDirEntry(char const *name, dev_t const dir_dev,
+             struct TraversalParams *params);
 
-    if (fstat64 (dirfd,&dirst) != 0) {
-       fprintf (stderr,"Can't lstat directory %s\n",path);
-       panic("lstat failed");
-    }
+static void
+visitDir(char const *name, struct stat const *expected_stat, struct TraversalParams *params)
+{
+  int          fd = Eopen(".", O_RDONLY|O_DIRECTORY, 0);
+  DIR *                dir;
 
-    if ((dir = opendir (".")) == NULL) {
-       fprintf (stderr,"Can't open (opendir) directory %s\n",path);
-       panic("opendir failed");
-    }
+  EsafeChdir(name, expected_stat);
 
+  dir = Eopendir(".");
 
-    /* Walk the directory entries and compute the sum of inodes,
-     * blocks, and disk space used. This code will recursively descend
-     * down the directory structure. 
-     */
+  for (;;) {
+    struct dirent              *ent = Ereaddir(dir);
+    if (ent==0) break;
 
-    while ((ent=readdir(dir))!=NULL){
-       if (lstat64(ent->d_name,&st)==-1){
-           fprintf (stderr,"Can't stat %s/%s\n",path,ent->d_name);
-           warning("lstat failed");
-           continue;
-       }
-       
-       dirinodes ++;
-
-       if (S_ISREG(st.st_mode)){
-           if (st.st_nlink > 1){
-               struct stat64 *val;
-               int nlink;
-
-               /* Check hash table if we've seen this inode
-                * before. Note that the hash maintains a
-                * (inode,struct stat) key value pair.
-                */
-
-               val = &st;
-
-               (void) INOPut(&tbl,&st.st_ino,&val);
-
-               /* Note that after the INOPut call "val" refers to the
-                * value entry in the hash table --- not &st.  This
-                * means that if the inode has been put into the hash
-                * table before, val will refer to the first st that
-                * was put into the hashtable.  Otherwise, if it is
-                * the first time it is put into the hash table, then
-                * val will be equal to this &st.
-                */
-               nlink = val->st_nlink;
-               nlink --;
-
-               /* val refers to value in hash tbale */
-               if (nlink == 0) {
-
-                   /* We saw all hard links to this particular inode
-                    * as part of this sweep of vdu. So account for
-                    * the size and blocks required by the file.
-                    */
-
-                   dirsize += val->st_size;
-                   dirblocks += val->st_blocks;
-
-                   /* Do not delete the (ino,val) tuple from the tbl,
-                    * as we need to handle the case when we are
-                    * double counting a file due to a bind mount.
-                    */
-                   val->st_nlink = 0;
-
-               } else if (nlink > 0) {
-                   val->st_nlink = nlink;
-               } else /* if(nlink < 0) */ {
-                   /* We get here when we are double counting nlinks
-                      due a bind mount. */
-
-                   /* DO NOTHING */
-               }
-           } else {
-               dirsize += st.st_size;
-               dirblocks += st.st_blocks;
-           }
-
-       } else if (S_ISDIR(st.st_mode)) {
-           if ((st.st_dev == dirst.st_dev) &&
-               (strcmp(ent->d_name,".")!=0) &&
-               (strcmp(ent->d_name,"..")!=0)) {
-
-               dirsize += st.st_size;
-               dirblocks += st.st_blocks;
-
-               name = strdup(ent->d_name);
-               if (name==0) {
-                   panic("Out of memory\n");
-               }
-               vdu_onedir(name);
-               free(name);
-               fchdir(dirfd);
-           }
-       } else {
-           // dirsize += st.st_size;
-           // dirblocks += st.st_blocks;
-       }
-    }
-    closedir (dir);
-    close (dirfd);
-    if (verbose)
-       printf("%16lld %16lld %16lld %s\n",dirinodes, dirblocks, dirsize,foo);
-    inodes += dirinodes;
-    blocks += dirblocks;
-    size   += dirsize;
+    if (isDotfile(ent->d_name)) continue;
+    visitDirEntry(ent->d_name, expected_stat->st_dev, params);
+  }
+
+  Eclosedir(dir);
+
+  Efchdir(fd);
+  Eclose(fd);
 }
 
 static void
-Count(ino64_t* key, struct stat64* val) {
-    if(val->st_nlink) {
-       blocks += val->st_blocks;
-       size += val->st_size;
-       printf("ino=%16lld nlink=%d\n",val->st_ino, val->st_nlink);
-    }
+visitDirEntry(char const *name, dev_t const dir_dev,
+             struct TraversalParams *params)
+{
+  struct stat          st;
+  xid_t                        xid;
+  
+  ElstatD(name, &st);
+
+  xid = vc_getfilecontext(name);
+  if (xid == params->args->xid &&
+      (st.st_nlink == 1 || hash_insert(st.st_ino) != -1)) {
+    params->result->blocks += st.st_blocks;
+    params->result->inodes += 1;
+  }
+
+  if (S_ISDIR(st.st_mode) && dir_dev == st.st_dev)
+    visitDir(name, &st, params);
 }
 
-int
-main (int argc, char **argv)
+static void
+visitDirStart(char const *name, struct TraversalParams *params)
 {
-    int startdir, i;
-
-    if (argc < 2){
-       fprintf (stderr,"vdu version %s\n",VERSION);
-       fprintf (stderr,"vdu directory ...\n\n");
-       fprintf (stderr,"Compute the size of a directory tree.\n");
-    }else{
-       if ((startdir = open (".",O_RDONLY)) == -1) {
-           fprintf (stderr,"Can't open current working directory\n");
-           panic("open failed");
-       }
+  struct stat  st;
+  int          fd = Eopen(".", O_RDONLY|O_DIRECTORY, 0);
 
-       /* hash table support for hard link count */
-       (void) Init(&tbl,0,0);
-
-       for (i=1; i<argc; i++){
-           inodes = blocks = size = 0;
-           vdu_onedir (argv[i]);
-
-           printf("%16lld %16lld %16lld %s\n",
-                  inodes, 
-                  blocks>>1, 
-                  size,
-                  argv[i]);
-           if (fchdir (startdir) == -1) {
-               panic("fchdir failed");
-           }
-       }
+  Estat(name, &st);
+  Echdir(name);
 
-       if(0) {
-           /* show size & blocks for files with nlinks from outside of dir */
-           inodes = blocks = size = 0;
-           Iterate(&tbl,Count);
-           printf("%16lld %16lld %16lld NOT COUNTED\n",
-                  inodes, 
-                  blocks, 
-                  size);
-       }
+  visitDirEntry(".", st.st_dev, params);
 
-       // Dispose(&tbl); this fails to delete all entries 
-       close(startdir);
-    }
-    return 0;
+  Efchdir(fd);
+  Eclose(fd);  
 }
 
-/*
- * Local variables:
- *  c-basic-offset: 4
- * End:
- */
+int main(int argc, char *argv[])
+{
+  struct Arguments             args = {
+    .xid       = VC_NOCTX,
+    .space     = false,
+    .inodes    = false,
+    .script    = false,
+    .blocksize = 1024,
+  };
+  
+  while (1) {
+    int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
+    if (c==-1) break;
+
+    switch (c) {
+      case CMD_HELP    :  showHelp(1, argv[0], 0);
+      case CMD_VERSION :  showVersion();
+      case CMD_XID     :  args.xid = Evc_xidopt2xid(optarg,true); break;
+      case CMD_SPACE   :  args.space  = true;                     break;
+      case CMD_INODES  :  args.inodes = true;                     break;
+      case CMD_SCRIPT  :  args.script = true;                     break;
+      case CMD_BLOCKSIZE:
+       if (!isNumberUnsigned(optarg, &args.blocksize, false)) {
+         WRITE_MSG(2, "Invalid block size argument: '");
+         WRITE_STR(2, optarg);
+         WRITE_MSG(2, "'; try '--help' for more information\n");
+         return EXIT_FAILURE;
+       }
+       break;
+      default          :
+       WRITE_MSG(2, "Try '");
+       WRITE_STR(2, argv[0]);
+       WRITE_MSG(2, " --help' for more information.\n");
+       return 255;
+       break;
+    }
+  }
+
+  if (args.xid==VC_NOCTX)
+    WRITE_MSG(2, "No xid specified; try '--help' for more information\n");
+  else if (!args.space && !args.inodes)
+    WRITE_MSG(2, "Must specify --space or --inodes; try '--help' for more information\n");
+  else if (optind==argc)
+    WRITE_MSG(2, "No directory specified; try '--help' for more information\n");
+  else {
+    int                i;
+    size_t     len;
+    struct Result              result;
+    struct TraversalParams     params   = {
+      .args   = &args,
+      .result = &result
+    };
+
+    for (i = optind; i < argc; i++) {
+      uint_least64_t           size;
+      char                     buf[sizeof(size)*3 + 3];
+      char const *             delim = "";
+      
+      result.blocks = 0;
+      result.inodes = 0;
+
+      hash_init();
+      visitDirStart(argv[i], &params);
+      hash_free();
+
+      if (!args.script) {
+       WRITE_STR(1, argv[i]);
+       WRITE_MSG(1, " ");
+      }
+
+      if (args.space) {
+       len = utilvserver_fmt_uint64(buf, result.blocks*512 / args.blocksize);
+       if (*delim) WRITE_STR(1, delim);
+       Vwrite(1, buf, len);
+       delim = " ";
+      }
+      if (args.inodes) {
+       len = utilvserver_fmt_uint64(buf, result.inodes);
+       if (*delim) WRITE_STR(1, delim);
+       Vwrite(1, buf, len);
+       delim = " ";
+      }        
+      WRITE_MSG(1, "\n");
+    }
+    return EXIT_SUCCESS;
+  }
+
+  return EXIT_FAILURE;
+}
index e774c35..2e43779 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vhashify-init.hc,v 1.3 2005/03/23 02:10:23 ensc Exp $    --*- c -*--
+// $Id: vhashify-init.hc 1967 2005-03-23 02:10:23Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2950f97..f7b83bd 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vhashify.c,v 1.6 2005/03/24 12:46:59 ensc Exp $    --*- c -*--
+// $Id: vhashify.c 2475 2007-01-27 09:38:56Z dhozac $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -20,6 +20,8 @@
 #  include <config.h>
 #endif
 
+#define UTIL_VSERVER_UNIFY_MTIME_OPTIONAL
+
 #include "vhashify.h"
 #include "util.h"
 
@@ -70,6 +72,7 @@
 #define CMD_SLEDGE             0x1002
 #define CMD_MANUALLY           0x1003
 #define CMD_REFRESH            0x1004
+#define CMD_NOMTIME            0x1005
 
 struct option const
 CMDLINE_OPTIONS[] = {
@@ -80,6 +83,7 @@ CMDLINE_OPTIONS[] = {
   { "sledgehammer", no_argument,       0, CMD_SLEDGE },
   { "manually",     no_argument,       0, CMD_MANUALLY },
   { "refresh",      no_argument,        0, CMD_REFRESH },
+  { "ignore-mtime", no_argument,        0, CMD_NOMTIME },
   { "dry-run",      no_argument,       0, 'n' },
   { "verbose",      no_argument,       0, 'v' },
   { 0,0,0,0 }
@@ -269,6 +273,7 @@ convertDigest(HashPath d_path)
   return true;
 }
 
+#ifndef ENSC_TESTSUITE
 static bool
 addStatHash(hashFunctionContext *h_ctx, struct stat const * const st)
 {
@@ -288,12 +293,23 @@ addStatHash(hashFunctionContext *h_ctx, struct stat const * const st)
     SET_ATTR(gid),
     SET_ATTR(rdev),
     SET_ATTR(size),
-    SET_ATTR(mtime)
+    .mtime = (global_args->ignore_mtime ? 0 : st->st_mtime),
   };
 
+#undef SET_ATTR
+#undef DECL_ATTR
+
+  
   return hashFunctionContextUpdate(h_ctx, (void *)&tmp, sizeof tmp)!=-1;
 }
-
+#else
+static bool
+addStatHash(hashFunctionContext UNUSED *h_ctx, struct stat const UNUSED * const st)
+{
+  return true;
+}
+#endif
+  
 static bool
 calculateHashFromFD(int fd, HashPath d_path, struct stat const * const st)
 {
@@ -676,6 +692,7 @@ int main(int argc, char *argv[])
     .insecure           =  0,
     .dry_run            =  false,
     .do_refresh         =  false,
+    .ignore_mtime      =  false,
   };
 
   Vector_init(&global_info.hash_dirs, sizeof(struct HashDirInfo));
@@ -694,12 +711,13 @@ int main(int argc, char *argv[])
       case CMD_INSECURE                :  args.insecure    = 1;    break;
       case CMD_SLEDGE          :  args.insecure    = 2;    break;
       case CMD_REFRESH         :  args.do_refresh  = true; break;
+      case CMD_NOMTIME         :  args.ignore_mtime = true; break;
       case 'n'                 :  args.dry_run     = true; break;
       case 'v'                 :  ++args.verbosity; break;
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
@@ -740,4 +758,6 @@ int main(int argc, char *argv[])
   freeHashList(&global_info.hash_dirs);
   hashFunctionContextFree(&global_info.hash_context);
 #endif
+
+  return EXIT_SUCCESS;
 }
index c32f533..55e7fd8 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vhashify.h,v 1.2 2005/03/18 00:25:37 ensc Exp $    --*- c -*--
+// $Id: vhashify.h 2475 2007-01-27 09:38:56Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -32,6 +32,7 @@ struct Arguments {
     char const *                       hash_dir;
     bool                               dry_run;
     bool                               do_refresh;
+    bool                               ignore_mtime;
 };
 
 struct HashDirInfo {
index 02f386a..57077fa 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vkill.c,v 1.8 2004/08/19 14:30:50 ensc Exp $    --*- c -*--
+// $Id: vkill.c 2491 2007-02-05 20:59:03Z dhozac $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
 #include "util.h"
 
+#include "lib/virtual.h"
+
 #include <getopt.h>
 #include <signal.h>
 #include <stdlib.h>
@@ -151,9 +152,21 @@ kill_wrapper(xid_t xid, char const *pid, int sig)
 }
 #else // VC_ENABLE_API_LEGACY
 inline static int
-kill_wrapper(xid_t xid, char const *pid, int sig)
+kill_wrapper(xid_t xid, char const *pid_s, int sig)
 {
-  if (vc_ctx_kill(xid,atoi(pid),sig)==-1) {
+  pid_t        pid;
+  long tmp;
+
+  if (!isNumber(pid_s, &tmp, true)) {
+    WRITE_MSG(2, "vkill: '");
+    WRITE_STR(2, pid_s);
+    WRITE_MSG(2, "' is not a number\n");
+  }
+  pid = (pid_t) tmp;
+
+  if (xid==VC_NOCTX)
+    xid = vc_get_task_xid(pid);
+  if (vc_ctx_kill(xid,pid,sig)==-1) {
     perror("vkill: vc_ctx_kill()");
     return 1;
   }
@@ -182,7 +195,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index 158e166..b2d128e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vlimit.c,v 1.20 2005/03/24 12:44:17 ensc Exp $
+// $Id: vlimit.c 2403 2006-11-24 23:06:08Z dhozac $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 
 int            wrapper_exit_code = 255;
 
+#ifndef RLIMIT_MSGQUEUE
+#  define RLIMIT_MSGQUEUE      12
+#endif
+
 #define NUMLIM(X) \
 { #X, required_argument, 0, 2048|X }
 #define OPT_RESLIM(RES,V) \
   { #RES, required_argument, 0, 2048|RLIMIT_##V }
+#define OPT_VLIMIT(RES,V) \
+  { #RES, required_argument, 0, 2048|VC_VLIMIT_##V }
 
 static struct option const
 CMDLINE_OPTIONS[] = {
@@ -80,25 +86,36 @@ CMDLINE_OPTIONS[] = {
   NUMLIM(20), NUMLIM(21), NUMLIM(22), NUMLIM(23),
   NUMLIM(24), NUMLIM(25), NUMLIM(26), NUMLIM(27),
   NUMLIM(28), NUMLIM(29), NUMLIM(30), NUMLIM(31),
-  OPT_RESLIM(cpu,     CPU),
-  OPT_RESLIM(fsize,   FSIZE),
-  OPT_RESLIM(data,    DATA),
-  OPT_RESLIM(stack,   STACK),
-  OPT_RESLIM(core,    CORE),
-  OPT_RESLIM(rss,     RSS),
-  OPT_RESLIM(nproc,   NPROC),
-  OPT_RESLIM(nofile,  NOFILE),
-  OPT_RESLIM(memlock, MEMLOCK),
-  OPT_RESLIM(as,      AS),
-  OPT_RESLIM(locks,   LOCKS),
+  OPT_RESLIM(cpu,      CPU),
+  OPT_RESLIM(fsize,    FSIZE),
+  OPT_RESLIM(data,     DATA),
+  OPT_RESLIM(stack,    STACK),
+  OPT_RESLIM(core,     CORE),
+  OPT_RESLIM(rss,      RSS),
+  OPT_RESLIM(nproc,    NPROC),
+  OPT_RESLIM(nofile,   NOFILE),
+  OPT_RESLIM(memlock,  MEMLOCK),
+  OPT_RESLIM(as,       AS),
+  OPT_RESLIM(locks,    LOCKS),
+  OPT_RESLIM(msgqueue, MSGQUEUE),
+  OPT_VLIMIT(nsock,    NSOCK),
+  OPT_VLIMIT(openfd,   OPENFD),
+  OPT_VLIMIT(anon,     ANON),
+  OPT_VLIMIT(shmem,    SHMEM),
+  OPT_VLIMIT(semary,   SEMARY),
+  OPT_VLIMIT(nsems,    NSEMS),
+  OPT_VLIMIT(dentry,   DENTRY),
   { 0,0,0,0 }
 };
 
 #define REV_RESLIM(X)  [RLIMIT_##X] = #X
+#define REV_VLIMIT(X)  [VC_VLIMIT_##X] = #X
 static char const * const LIMIT_STR[] = {
-  REV_RESLIM(CPU),     REV_RESLIM(FSIZE), REV_RESLIM(DATA),  REV_RESLIM(STACK),
-  REV_RESLIM(CORE),    REV_RESLIM(RSS),   REV_RESLIM(NPROC), REV_RESLIM(NOFILE),
-  REV_RESLIM(MEMLOCK), REV_RESLIM(AS),    REV_RESLIM(LOCKS)
+  REV_RESLIM(CPU),     REV_RESLIM(FSIZE),  REV_RESLIM(DATA),  REV_RESLIM(STACK),
+  REV_RESLIM(CORE),    REV_RESLIM(RSS),    REV_RESLIM(NPROC), REV_RESLIM(NOFILE),
+  REV_RESLIM(MEMLOCK), REV_RESLIM(AS),     REV_RESLIM(LOCKS), REV_RESLIM(MSGQUEUE),
+  REV_VLIMIT(NSOCK),   REV_VLIMIT(OPENFD), REV_VLIMIT(ANON),  REV_VLIMIT(SHMEM),
+  REV_VLIMIT(SEMARY),  REV_VLIMIT(NSEMS),  REV_VLIMIT(DENTRY),
 };
 
 static void
@@ -130,7 +147,8 @@ showHelp(int fd, char const *cmd, int res)
            "    --<resource>|<nr> <value>\n"
            "                ...  set specified (MSH) limit for <resource> to <value>\n\n"
            "Valid values for resource are cpu, fsize, data, stack, core, rss, nproc,\n"
-           "nofile, memlock, as and locks.\n\n"
+           "nofile, memlock, as, locks, msgqueue, nsock, openfd, anon, shmem, semary,\n"
+           "nsems, and dentry.\n\n"
            "Please report bugs to " PACKAGE_BUGREPORT "\n");
   exit(res);
 }
@@ -163,7 +181,7 @@ appendLimit(char *ptr, bool do_it, vc_limit_t lim)
   ptr += 2;
   if (do_it) {
     if (lim==VC_LIM_INFINITY) {
-      strcpy(ptr, "inf");
+      memcpy(ptr, "inf", 3);
       ptr += 3;
     }
     else {
@@ -198,7 +216,7 @@ showAll(int ctx)
     if (((mask.min|mask.soft|mask.hard) & bitmask)==0) continue;
     if (vc_get_rlimit(ctx, i, &limit)==-1) {
       perror("vc_get_rlimit()");
-      //continue;
+      continue;
     }
 
     memset(buf, ' ', sizeof buf);
@@ -388,7 +406,7 @@ int main (int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        exit(wrapper_exit_code) ;
        break;
     }
diff --git a/src/vlogin.c b/src/vlogin.c
new file mode 100644 (file)
index 0000000..ca75719
--- /dev/null
@@ -0,0 +1,299 @@
+// $Id: vlogin.c 2525 2007-04-08 00:40:16Z dhozac $
+
+// Copyright (C) 2006 Benedikt Böhm <hollow@gentoo.org>
+// Based on vserver-utils' vlogin program.
+//  
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//  
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//  
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "util.h"
+#include <lib/vserver.h>
+#include <lib/fmt.h>
+
+#include <stdlib.h>
+#include <getopt.h>
+#include <stdint.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <sys/wait.h>
+#include <sys/socket.h>
+#include <termios.h>
+#include <signal.h>
+#include <pty.h>
+#include <fcntl.h>
+
+#define ENSC_WRAPPERS_PREFIX   "vlogin: "
+#define ENSC_WRAPPERS_IOCTL    1
+#define ENSC_WRAPPERS_UNISTD   1
+#define ENSC_WRAPPERS_SOCKET   1
+#define ENSC_WRAPPERS_IO       1
+#define ENSC_WRAPPERS_TERMIOS  1
+#define ENSC_WRAPPERS_FCNTL    1
+#include <wrappers.h>
+
+struct terminal {
+  int fd;                           /* terminal file descriptor */
+  struct termios term;              /* terminal settings */
+  struct winsize ws;                /* terminal size */
+  pid_t pid;                        /* terminal process id */
+  struct termios termo;             /* original terminal settings */
+  enum { TS_RESET, TS_RAW } state;  /* terminal state */
+};
+
+static struct terminal t;
+extern int wrapper_exit_code;
+
+/* set terminal to raw mode */
+static void
+terminal_raw(void)
+{
+  struct termios buf;
+
+  /* save original terminal settings */
+  Etcgetattr(STDIN_FILENO, &t.termo);
+
+  buf = t.termo;
+  
+  /* convert terminal settings to raw mode */
+  cfmakeraw(&buf);
+
+  /* apply raw terminal settings */
+  Etcsetattr(STDIN_FILENO, TCSAFLUSH, &buf);
+
+  t.state = TS_RAW;
+}
+
+/* reset terminal to original state */
+static void
+terminal_reset(void)
+{
+  if (t.state != TS_RAW)
+    return;
+
+  Etcsetattr(STDIN_FILENO, TCSAFLUSH, &t.termo);
+
+  t.state = TS_RESET;
+}
+
+/* send signal to terminal */
+static void
+terminal_kill(int sig)
+{
+  pid_t pgrp = -1;
+
+  /* try to get process group leader */
+  if (ioctl(t.fd, TIOCGPGRP, &pgrp) >= 0 &&
+      pgrp != -1 &&
+      kill(-pgrp, sig) != -1)
+    return;
+
+  /* fallback using terminal pid */
+  kill(-t.pid, sig);
+}
+
+/* redraw the terminal screen */
+static void
+terminal_redraw(void)
+{
+  /* get winsize from stdin */
+  if (ioctl(STDIN_FILENO, TIOCGWINSZ, &t.ws) == -1)
+    return;
+
+  /* set winsize in terminal */
+  ioctl(t.fd, TIOCSWINSZ, &t.ws);
+
+  /* set winsize change signal to terminal */
+  terminal_kill(SIGWINCH);
+}
+
+/* copy terminal activities */
+static ssize_t
+terminal_copy(int src, int dst)
+{
+  char buf[64];
+  ssize_t len;
+
+  /* read terminal activity */
+  len = read(src, buf, sizeof(buf));
+  if (len == -1 && errno != EINTR) {
+    perror("read()");
+    terminal_kill(SIGTERM);
+    exit(1);
+  } else if (len == -1)
+    return -1;
+
+  /* write activity to user */
+  EwriteAll(dst, buf, len);
+
+  return len;
+}
+
+/* shuffle all output, and reset the terminal */
+static void
+terminal_end(void)
+{
+  char buf[64];
+  ssize_t len;
+  long options;
+
+  options = Efcntl(t.fd, F_GETFL, 0) | O_NONBLOCK;
+  Efcntl(t.fd, F_SETFL, options);
+  for (;;) {
+    len = read(t.fd, buf, sizeof(buf));
+    if (len == 0 || len == -1)
+      break;
+    EwriteAll(STDOUT_FILENO, buf, len);
+  }
+
+  /* in case atexit hasn't been setup yet */
+  terminal_reset();
+}
+
+/* catch signals */
+static void
+signal_handler(int sig)
+{
+  int status;
+
+  switch(sig) {
+    /* catch interrupt */
+    case SIGINT:
+      terminal_kill(sig);
+      break;
+
+    /* terminal died */
+    case SIGCHLD:
+      terminal_end();
+      wait(&status);
+      exit(WEXITSTATUS(status));
+      break;
+
+    /* window size has changed */
+    case SIGWINCH:
+      terminal_redraw();
+      break;
+
+    default:
+      exit(0);
+  }
+
+}
+
+void do_vlogin(int argc, char *argv[], int ind)
+{
+  int slave;
+  pid_t pid;
+  int n, i;
+  fd_set rfds;
+
+  if (!isatty(0) || !isatty(1)) {
+    execvp(argv[ind], argv+ind);
+    return;
+  }
+
+  /* set terminal to raw mode */
+  terminal_raw();
+
+  /* reset terminal to its original mode */
+  atexit(terminal_reset);
+
+  /* fork new pseudo terminal */
+  if (openpty(&t.fd, &slave, NULL, NULL, NULL) == -1) {
+    perror(ENSC_WRAPPERS_PREFIX "openpty()");
+    exit(EXIT_FAILURE);
+  }
+
+  /* setup SIGCHLD here, so we're sure to get the signal */
+  signal(SIGCHLD, signal_handler);
+
+  pid = Efork();
+
+  if (pid == 0) {
+    /* we don't need the master side of the terminal */
+    close(t.fd);
+
+    /* login_tty() stupid dietlibc doesn't have it */
+    Esetsid();
+
+    Eioctl(slave, TIOCSCTTY, NULL);
+
+    Edup2(slave, 0);
+    Edup2(slave, 1);
+    Edup2(slave, 2);
+
+    if (slave > 2)
+      close(slave);
+
+    Eexecvp(argv[ind], argv+ind);
+  }
+
+  /* setup SIGINT and SIGWINCH here, as they can cause loops in the child */
+  signal(SIGWINCH, signal_handler);
+  signal(SIGINT, signal_handler);
+
+  /* save terminals pid */
+  t.pid = pid;
+
+  /* set process title for ps */
+  n = strlen(argv[0]);
+
+  for (i = 0; i < argc; i++)
+    memset(argv[i], '\0', strlen(argv[i]));
+
+  strncpy(argv[0], "login", n);
+
+  /* we want a redraw */
+  terminal_redraw();
+
+  /* main loop */
+  for (;;) {
+    /* init file descriptors for select */
+    FD_ZERO(&rfds);
+    FD_SET(STDIN_FILENO, &rfds);
+    FD_SET(t.fd, &rfds);
+    n = t.fd;
+
+    /* wait for something to happen */
+    while (select(n + 1, &rfds, NULL, NULL, NULL) == -1) {
+      if (errno == EINTR || errno == EAGAIN)
+       continue;
+      perror(ENSC_WRAPPERS_PREFIX "select()");
+      exit(wrapper_exit_code);
+    }
+
+    if (FD_ISSET(STDIN_FILENO, &rfds)) {
+      /* EOF */
+      if (terminal_copy(STDIN_FILENO, t.fd) == 0) {
+       terminal_kill(SIGHUP);
+       exit(0);
+      }
+    }
+
+    if (FD_ISSET(t.fd, &rfds)) {
+      /* EOF */
+      if (terminal_copy(t.fd, STDOUT_FILENO) == 0) {
+       terminal_kill(SIGHUP);
+       exit(0);
+      }
+    }
+  }
+
+  /* never get here, signal handler exits */
+}
index 459cd0f..1536836 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vnamespace.c,v 1.5 2004/08/19 14:31:24 ensc Exp $    --*- c -*--
+// $Id: vnamespace.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -112,18 +112,18 @@ newNamespace(char const *cmd)
 }
 
 static void
-enterNamespace(xid_t xid)
+enterNamespace(xid_t xid, uint_least64_t mask)
 {
-  if (vc_enter_namespace(xid)==-1) {
+  if (vc_enter_namespace(xid, mask)==-1) {
     perror("vnamespace: vc_enter_namespace()");
     exit(255);
   }
 }
 
 static void
-setNamespace()
+setNamespace(xid_t xid, uint_least64_t mask)
 {
-  if (vc_set_namespace()==-1) {
+  if (vc_set_namespace(xid, mask)==-1) {
     perror("vnamespace: vc_set_namespace()");
     exit(255);
   }
@@ -165,7 +165,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return 255;
        break;
     }
@@ -182,9 +182,9 @@ int main(int argc, char *argv[])
     WRITE_MSG(2, "No command specified; try '--help' for more information\n");
   else {
     if      (do_new)     newNamespace(argv[optind]);
-    else if (do_set)     setNamespace();
+    else if (do_set)     setNamespace(VC_SAMECTX, CLONE_NEWNS|CLONE_FS);
     else if (do_cleanup) cleanupNamespace();
-    else if (do_enter)   enterNamespace(xid);
+    else if (do_enter)   enterNamespace(xid, CLONE_NEWNS|CLONE_FS);
 
     if (optind<argc)
       EexecvpD(argv[optind], argv+optind);
index 4aa7fdf..08be3ba 100644 (file)
--- a/src/vps.c
+++ b/src/vps.c
@@ -1,4 +1,4 @@
-// $Id: vps.c,v 1.13 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: vps.c 2396 2006-11-23 23:56:02Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -244,7 +244,7 @@ int main(int argc, char *argv[])
     WRITE_MSG(2,
              "WARNING: can not access /proc/uptime. Usually, this is caused by\n"
              "         procfs-security. Please read the FAQ for more details\n"
-             "         http://www.linux-vserver.org/index.php?page=Linux-Vserver+FAQ\n");
+             "         http://linux-vserver.org/Proc-Security\n");
 
   Epipe(p);
   pid = Efork();
index 0384eb6..2cb6dde 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vreboot.c,v 1.2 2003/09/30 20:16:53 ensc Exp $
+// $Id: vreboot.c 19 2003-09-30 20:16:53Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on vreboot.cc by Jacques Gelinas
index 5408112..00339e0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vrsetup.c,v 1.4 2004/02/27 04:42:10 ensc Exp $    --*- c -*--
+// $Id: vrsetup.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -97,7 +97,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index 6f93a61..e3a6db5 100644 (file)
@@ -1,6 +1,7 @@
-// $Id: vsched.c,v 1.6 2004/12/21 07:19:20 ensc Exp $    --*- c -*--
+// $Id: vsched.c 2510 2007-03-07 20:33:56Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
 //  
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 #include <unistd.h>
 #include <getopt.h>
 #include <libgen.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <stddef.h>
 
 #define ENSC_WRAPPERS_PREFIX   "vsched: "
 #define ENSC_WRAPPERS_VSERVER  1
 #define ENSC_WRAPPERS_UNISTD   1
+#define ENSC_WRAPPERS_FCNTL    1
+#define ENSC_WRAPPERS_DIRENT   1
+#define ENSC_WRAPPERS_STAT     1
 #include <wrappers.h>
 
 #define CMD_HELP               0x1000
 #define CMD_TOK_MAX            0x4005
 #define CMD_CPU_MASK           0x4006
 #define CMD_PRIO_BIAS          0x4007
+#define CMD_FRATE2             0x4008
+#define CMD_INTERVAL2          0x4009
+#define CMD_CPUID              0x400a
+#define CMD_BUCKETID           0x400b
+#define CMD_FORCE              0x400c
+#define CMD_IDLE_TIME          0x400d
+#define CMD_DIR                        0x400e
+#define CMD_MISSING            0x400f
 
 int                    wrapper_exit_code = 255;
 
@@ -64,9 +80,39 @@ CMDLINE_OPTIONS[] = {
   { "priority_bias", required_argument, 0, CMD_PRIO_BIAS },
   { "priority-bias", required_argument, 0, CMD_PRIO_BIAS },
   { "cpu_mask",      required_argument, 0, CMD_CPU_MASK },
+  { "fill-rate2",    required_argument, 0, CMD_FRATE2 },
+  { "interval2",     required_argument, 0, CMD_INTERVAL2 },
+  { "cpu-id",        required_argument, 0, CMD_CPUID },
+  { "bucket-id",     required_argument, 0, CMD_BUCKETID },
+  { "force",         no_argument,       0, CMD_FORCE },
+  { "idle-time",     no_argument,       0, CMD_IDLE_TIME },
+  { "dir",           required_argument, 0, CMD_DIR },
+  { "missingok",     no_argument,       0, CMD_MISSING },
   {0,0,0,0}
 };
 
+struct sched_opt {
+  const char * const   name;
+  uint_least32_t       mask;
+  size_t               offset;
+};
+#define FOPT(NAME,MASK,FIELD)  { #NAME, MASK, offsetof(struct vc_set_sched, FIELD) }
+static struct sched_opt FILE_OPTIONS[] = {
+  FOPT(fill-rate,      VC_VXSM_FILL_RATE,                      fill_rate),
+  FOPT(interval,       VC_VXSM_INTERVAL,                       interval),
+  FOPT(tokens,         VC_VXSM_TOKENS,                         tokens),
+  FOPT(tokens-min,     VC_VXSM_TOKENS_MIN,                     tokens_min),
+  FOPT(tokens-max,     VC_VXSM_TOKENS_MAX,                     tokens_max),
+  FOPT(prio-bias,      VC_VXSM_PRIO_BIAS,                      priority_bias),
+  FOPT(priority-bias,  VC_VXSM_PRIO_BIAS,                      priority_bias),
+  FOPT(fill-rate2,     VC_VXSM_FILL_RATE2|VC_VXSM_IDLE_TIME,   fill_rate2),
+  FOPT(interval2,      VC_VXSM_INTERVAL2|VC_VXSM_IDLE_TIME,    interval2),
+  FOPT(cpu-id,         VC_VXSM_CPU_ID,                         cpu_id),
+  FOPT(bucket-id,      VC_VXSM_BUCKET_ID,                      bucket_id),
+  FOPT(idle-time,      VC_VXSM_IDLE_TIME,                      set_mask),
+  {0,0,0}
+};
+
 static void
 showHelp(int fd, char const *cmd, int res)
 {
@@ -75,9 +121,25 @@ showHelp(int fd, char const *cmd, int res)
   WRITE_MSG(fd, "Usage:\n  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
-           " [--xid <xid>] [--fill-rate <rate>] [--interval <interval>] [--tokens <tokens>] [--tokens-min <tokens>] [--tokens-max <tokens>] [--prio-bias <bias>] [--] [<command> <args>*]\n"
+           " [--xid <xid>] <sched options>* [--dir <dir>] [--] [<command> <args>*]\n"
            "\n"
-           "Please report bugs to " PACKAGE_BUGREPORT "\n");
+           "Options:\n"
+           "    --fill-rate <rate>\n"
+           "    --interval <interval>\n"
+           "    --tokens <tokens>\n"
+           "    --tokens-min <tokens>\n"
+           "    --tokens-max <tokens>\n"
+           "    --prio-bias <bias>\n"
+           "    --fill-rate2 <rate>\n"
+           "    --interval2 <interval>\n"
+           "    --cpu-id <CPU id>\n"
+           "    --bucket-id <bucket id>\n"
+           "    --idle-time    ...  set the idle time flag; this is required for\n"
+           "                        all updates to the scheduler to keep it enabled\n"
+           "    --force        ...  force update of all per-CPU schedulers now\n"
+           "    --dir <dir>    ...  read settings from <dir>\n"
+           "    --missingok    ...  do not fail when <dir> does not exist\n"
+           "\nPlease report bugs to " PACKAGE_BUGREPORT "\n");
 
   exit(res);
 }
@@ -89,20 +151,116 @@ showVersion()
            "vsched " VERSION " -- modifies scheduling parameters\n"
            "This program is part of " PACKAGE_STRING "\n\n"
            "Copyright (C) 2003,2004 Enrico Scholz\n"
+           "Copyright (C) 2006 Daniel Hokka Zakrisson\n"
            VERSION_COPYRIGHT_DISCLAIMER);
   exit(0);
 }
 
+static void do_dir_entry(struct vc_set_sched *sched, const char *name)
+{
+  struct sched_opt *opt;
+
+  for (opt = FILE_OPTIONS; opt->name != 0; opt++) {
+    if (strcmp(name, opt->name) == 0)
+      break;
+  }
+  if (opt->name == 0)
+    return;
+
+  if (opt->offset != offsetof(struct vc_set_sched, set_mask)) {
+    int fd;
+    char buf[128], *newline;
+    signed long val;
+    ssize_t len;
+
+    fd = Eopen(name, O_RDONLY, 0);
+    len = Eread(fd, buf, sizeof(buf)-1);
+    Eclose(fd);
+    buf[len] = '\0';
+    if ((newline=strchr(buf, '\n')) != NULL)
+      *newline = '\0';
+
+    if (!isNumber(buf, &val, true)) {
+      WRITE_MSG(2, ENSC_WRAPPERS_PREFIX);
+      WRITE_STR(2, name);
+      WRITE_MSG(2, ": is not a number\n");
+      exit(1);
+    }
+
+    *(int_least32_t *)(((char *)sched)+opt->offset) = (int_least32_t) val;
+  }
+
+  sched->set_mask |= opt->mask;
+}
+
+static void do_dir(xid_t xid, struct vc_set_sched *sched, const char *dir, int missing_ok, int per_cpu)
+{
+  DIR                  *dp;
+  struct dirent                *de;
+  int                  cur_fd = Eopen(".", O_RDONLY, 0);
+  struct stat          st;
+
+  if (chdir(dir)!=-1) {
+    dp = Eopendir(".");
+    while ((de = Ereaddir(dp)) != NULL) {
+      if (de->d_name[0] == '.' && (de->d_name[1] == '\0' || (de->d_name[1] == '.' && de->d_name[2] == '\0')))
+       continue;
+      Estat(de->d_name, &st);
+      if (S_ISDIR(st.st_mode))
+       continue;
+      do_dir_entry(sched, de->d_name);
+    }
+
+    /* set the values now */
+    if (vc_set_sched(xid, sched) == -1) {
+      perror(ENSC_WRAPPERS_PREFIX "vc_set_sched()");
+      exit(1);
+    }
+
+    if (!per_cpu) {
+      struct vc_set_sched per_cpu_sched;
+
+      rewinddir(dp);
+      while ((de = Ereaddir(dp)) != NULL) {
+       if (de->d_name[0] == '.' && (de->d_name[1] == '\0' || (de->d_name[1] == '.' && de->d_name[2] == '\0')))
+         continue;
+       Estat(de->d_name, &st);
+       if (S_ISDIR(st.st_mode)) {
+         per_cpu_sched.set_mask = sched->set_mask & (VC_VXSM_IDLE_TIME|VC_VXSM_FORCE);
+         do_dir(xid, &per_cpu_sched, de->d_name, 0, 1);
+       }
+      }
+    }
+
+    Eclosedir(dp);
+  }
+  else if (!missing_ok) {
+    perror(ENSC_WRAPPERS_PREFIX "chdir()");
+    exit(wrapper_exit_code);
+  }
+
+  Efchdir(cur_fd);
+}
+
 #define SETVAL(ATTR,MASK) \
-  sched.ATTR      = atoi(optarg); \
-  sched.set_mask |= MASK;
+  if (!isNumber(optarg, &tmp, false)) { \
+    WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "non-numeric value specified for '--" #ATTR "'\n"); \
+    exit(wrapper_exit_code); \
+  } \
+  else { \
+    sched.ATTR      = tmp; \
+    sched.set_mask |= MASK; \
+  }
 
 int main(int argc, char *argv[])
 {
   xid_t                        xid   = VC_NOCTX;
+  signed long          tmp;
   struct vc_set_sched  sched = {
     .set_mask = 0
   };
+  const char           *dir = NULL;
+  int                  missing_ok = 0;
   
   while (1) {
     int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
@@ -121,10 +279,18 @@ int main(int argc, char *argv[])
       case CMD_CPU_MASK        :
        WRITE_MSG(2, "vsched: WARNING: the '--cpu_mask' parameter is deprecated and will not have any effect\n");
        break;
+      case CMD_FRATE2  :  SETVAL(fill_rate2,    VC_VXSM_FILL_RATE2); break;
+      case CMD_INTERVAL2:  SETVAL(interval2,     VC_VXSM_INTERVAL2);  break;
+      case CMD_CPUID   :  SETVAL(cpu_id,        VC_VXSM_CPU_ID);     break;
+      case CMD_BUCKETID        :  SETVAL(bucket_id,     VC_VXSM_BUCKET_ID);  break;
+      case CMD_DIR     :  dir = optarg;                              break;
+      case CMD_MISSING :  missing_ok = 1;                            break;
+      case CMD_FORCE   :  sched.set_mask |= VC_VXSM_FORCE;           break;
+      case CMD_IDLE_TIME:  sched.set_mask |= VC_VXSM_IDLE_TIME;       break;
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
@@ -135,7 +301,7 @@ int main(int argc, char *argv[])
     exit(wrapper_exit_code);
   }
 
-  if (sched.set_mask==0 && optind==argc) {
+  if (sched.set_mask==0 && dir==NULL && optind==argc) {
     WRITE_MSG(2, "Neither an option nor a program was specified; try '--help' for more information\n");
     exit(wrapper_exit_code);
   }
@@ -143,9 +309,14 @@ int main(int argc, char *argv[])
   if (xid==VC_NOCTX)
     xid = Evc_get_task_xid(0);
 
-  if (sched.set_mask!=0 && vc_set_sched(xid, &sched)==-1) {
-    perror("vc_set_sched()");
-    exit(255);
+  if (dir) {
+    do_dir(xid, &sched, dir, missing_ok, 0);
+  }
+  else {
+    if (sched.set_mask!=0 && vc_set_sched(xid, &sched)==-1) {
+      perror("vc_set_sched()");
+      exit(255);
+    }
   }
 
   if (optind<argc)
index 9a7d6e2..819c461 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-info.c,v 1.23 2005/07/04 22:36:46 ensc Exp $    --*- c -*--
+// $Id: vserver-info.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -320,6 +320,13 @@ getInitPid_emulated(char *buf, xid_t xid)
 
   return 0;
 }
+#else // VC_ENABLE_API_COMPAT
+static char *
+getInitPid_emulated(char UNUSED *buf, xid_t UNUSED xid)
+{
+  WRITE_MSG(2, "tools were built without compat API, getInitPid() not available\n");
+  return 0;
+}
 #endif // VC_ENABLE_API_COMPAT
 
 static char *
@@ -492,7 +499,7 @@ execQuery(char const *vserver, VserverTag tag, int argc, char *argv[])
       signed long              xid;    // type is a small hack, but should be ok...
       struct vc_vx_info                info;
        
-      if (isNumber(vserver, &xid) && xid>=0)
+      if (isNumber(vserver, &xid, true) && xid>=0)
        res = (vc_get_vx_info(xid, &info)==-1) ? 0 : "1";
       else
        res = (vc_getVserverCtx(vserver, vcCFG_AUTO, false, 0)==VC_NOCTX) ? 0 : "1";
@@ -555,7 +562,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        exit(1);
        break;
     }
index 96033ed..95b1272 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-stat.c,v 1.22 2005/07/03 12:31:25 ensc Exp $
+// $Id: vserver-stat.c 2450 2007-01-10 19:27:56Z dhozac $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on vserver-stat.cc by Guillaum Dallaire and Jacques Gelinas
@@ -42,6 +42,7 @@
 #include <stdbool.h>
 #include <getopt.h>
 #include <sys/param.h>
+#include <sys/resource.h>
 
 #define ENSC_WRAPPERS_DIRENT   1
 #define ENSC_WRAPPERS_VSERVER  1
@@ -50,6 +51,7 @@
 #include "wrappers.h"
 
 #define PROC_DIR_NAME "/proc"
+#define PROC_VIRT_DIR_NAME "/proc/virtual"
 #define CTX_DIR_NAME "/var/run/vservers/"
 #define CTX_NAME_MAX_LEN 50
 
@@ -223,6 +225,60 @@ registerXid(struct Vector *vec, struct process_info *process)
   res->start_time_oldest = MIN(res->start_time_oldest, process->start_time);
 }
 
+static void
+registerXidVstat(struct Vector *vec, unsigned long xid_l)
+{
+  xid_t                        xid = (xid_t) xid_l;
+  struct XidData       *res;
+  struct vc_rlimit_stat        limit[3];
+  struct vc_virt_stat  vstat;
+  struct vc_sched_info sched;
+  int                  cpu;
+
+  res = Vector_search(vec, &xid, cmpData);
+  if (res!=0) {
+    WRITE_MSG(2, "Duplicate xid found?!\n");
+    return;
+  }
+  if (vc_virt_stat(xid, &vstat) == -1) {
+    perror("vc_virt_stat()");
+    return;
+  }
+  if (vc_rlimit_stat(xid, RLIMIT_NPROC, &limit[0]) == -1) {
+    perror("vc_rlimit_stat(RLIMIT_NRPOC)");
+    return;
+  }
+  if (vc_rlimit_stat(xid, RLIMIT_AS, &limit[1]) == -1) {
+    perror("vc_rlimit_stat(RLIMIT_AS)");
+    return;
+  }
+  if (vc_rlimit_stat(xid, RLIMIT_RSS, &limit[2]) == -1) {
+    perror("vc_rlimit_stat(RLIMIT_RSS)");
+    return;
+  }
+
+  res                  = Vector_insert(vec, &xid, cmpData);
+  res->xid             = xid;
+
+  res->process_count   = limit[0].value;
+  res->VmSize_total    = limit[1].value * pagesize;
+  res->VmRSS_total     = limit[2].value;
+  res->start_time_oldest= getUptime() - vstat.uptime/1000000;
+
+  res->utime_total     = 0;
+  res->stime_total     = 0;
+  // XXX: arbitrary CPU limit.
+  for (cpu = 0; cpu < 1024; cpu++) {
+    sched.cpu_id = cpu;
+    sched.bucket_id = 0;
+    if (vc_sched_info(xid, &sched) == -1)
+      break;
+
+    res->utime_total   += sched.user_msec;
+    res->stime_total   += sched.sys_msec;
+  }
+}
+
 static inline uint64_t
 toMsec(uint64_t v)
 {
@@ -501,6 +557,8 @@ fillName(void *obj_v, void UNUSED * a)
     default            : {
       char *           cfgpath;
 
+      obj->cfgstyle  = vcCFG_AUTO;
+
       if ((cfgpath   = vc_getVserverByCtx(obj->xid, &obj->cfgstyle, 0))==0 ||
          (obj->name = vc_getVserverName(cfgpath, obj->cfgstyle))==0) {
        obj->name     = 0;
@@ -541,7 +599,7 @@ int main(int argc, char **argv)
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
@@ -555,36 +613,50 @@ int main(int argc, char **argv)
   if (hertz==0x42)    initHertz();
   if (pagesize==0x42) initPageSize();
   
-  my_pid = getpid();
+  Vector_init(&xid_data, sizeof(struct XidData));
 
-  if (!switchToWatchXid(&errptr)) {
-    perror(errptr);
-    exit(1);
+  if (vc_isSupported(vcFEATURE_VSTAT)) {
+    unsigned long xid;
+    Echdir(PROC_VIRT_DIR_NAME);
+    proc_dir = Eopendir(".");
+    while ((dir_entry = readdir(proc_dir)) != NULL) {
+      if (!isNumberUnsigned(dir_entry->d_name, &xid, false))
+       continue;
+
+      registerXidVstat(&xid_data, xid);
+    }
+    closedir(proc_dir);
   }
+  else {
+    my_pid = getpid();
+
+    if (!switchToWatchXid(&errptr)) {
+      perror(errptr);
+      exit(1);
+    }
 
-  if (access("/proc/uptime",R_OK)==-1 && errno==ENOENT)
-    WRITE_MSG(2,
+    if (access("/proc/uptime",R_OK)==-1 && errno==ENOENT)
+      WRITE_MSG(2,
              "WARNING: can not access /proc/uptime. Usually, this is caused by\n"
              "         procfs-security. Please read the FAQ for more details\n"
-             "         http://www.linux-vserver.org/index.php?page=Linux-Vserver+FAQ\n");
+             "         http://linux-vserver.org/Proc-Security\n");
 
-  Vector_init(&xid_data, sizeof(struct XidData));
-
-  Echdir(PROC_DIR_NAME);
-  proc_dir = Eopendir(".");
-  while ((dir_entry = readdir(proc_dir)) != NULL)
-  {
+    Echdir(PROC_DIR_NAME);
+    proc_dir = Eopendir(".");
+    while ((dir_entry = readdir(proc_dir)) != NULL)
+    {
       // select only process file
-    if (!isdigit(*dir_entry->d_name))
-      continue;
+      if (!isdigit(*dir_entry->d_name))
+        continue;
 
-    if (atoi(dir_entry->d_name) != my_pid) {
-      struct process_info *    info = get_process_info(dir_entry->d_name);
-      if (info)
-       registerXid(&xid_data, info);
+      if (atoi(dir_entry->d_name) != my_pid) {
+       struct process_info *   info = get_process_info(dir_entry->d_name);
+       if (info)
+         registerXid(&xid_data, info);
+      }
     }
+    closedir(proc_dir);
   }
-  closedir(proc_dir);
 
   Vector_foreach(&xid_data, fillName, 0);
 
index f599f86..7792b38 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-visitdir.hc,v 1.1 2004/02/18 04:42:38 ensc Exp $    --*- c -*--
+// $Id: vserver-visitdir.hc 934 2004-02-18 04:42:38Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 921f12d..1eb28a7 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vshelper-sync.c,v 1.5 2005/05/05 09:21:21 ensc Exp $    --*- c -*--
+// $Id: vshelper-sync.c 2087 2005-05-05 09:21:21Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2e79c7f..a67d8b5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vuname.c,v 1.7 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: vuname.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -242,7 +242,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index da55f3f..d275f0f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vunify-init.hc,v 1.7 2005/03/18 00:24:27 ensc Exp $    --*- c -*--
+// $Id: vunify-init.hc 1921 2005-03-18 00:24:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 3e97409..67fac76 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vunify.c,v 1.15 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: vunify.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -384,7 +384,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index 73096ea..866c82a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vunify.h,v 1.7 2005/03/18 03:56:06 ensc Exp $    --*- c -*--
+// $Id: vunify.h 1926 2005-03-18 03:56:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 031bae4..3740420 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vwait.c,v 1.1 2005/05/05 09:22:03 ensc Exp $    --*- c -*--
+// $Id: vwait.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,6 @@
 
 #include "lib/vserver.h"
 #include "lib/internal.h"
-#include "linuxvirtual.h"
 #include "util.h"
 
 #include <getopt.h>
@@ -30,6 +29,7 @@
 #include <time.h>
 #include <errno.h>
 #include <libgen.h>
+#include <assert.h>
 
 #define ENSC_WRAPPERS_PREFIX   "vwait: "
 #define ENSC_WRAPPERS_STDLIB   1
@@ -105,11 +105,12 @@ handler(int UNUSED num)
 static struct StatusType
 doit(struct Arguments const *args)
 {
-  time_t                       end_time = 0;
+  time_t                       end_time = 0, now = 0;
   struct StatusType            res;
   
   if (args->timeout>0) {
     end_time = time(0) + args->timeout;
+    siginterrupt(SIGALRM, 1);
     signal(SIGALRM, handler);
     alarm(args->timeout);
   }
@@ -118,11 +119,14 @@ doit(struct Arguments const *args)
     res.rc = vc_wait_exit(args->xid);
     
     if      (res.rc==-1 && errno!=EAGAIN && errno!=EINTR) {
+       // the error-case
       res.rc     = errno;
       res.status = stERROR;
       perror(ENSC_WRAPPERS_PREFIX "vc_wait_exit()");
     }
-    else if (res.rc==-1 && args->timeout>0 && time(0)>=end_time) {
+    else if (res.rc==-1 && args->timeout>0 && (now=time(0))>=end_time) {
+       // an EINTR or EAGAIN signal was delivered, a timeout was set and
+       // reached
       if (!args->do_terminate)
        res.status = stTIMEOUT;
       else {
@@ -131,9 +135,21 @@ doit(struct Arguments const *args)
        res.status = stKILLED;
       }
     }
-    else if (res.rc==-1)
-      continue;                // signal
+    else if (res.rc==-1) {
+       // an EINTR or EAGAIN signal was delivered but the timeout not set or
+       // not reached yet
+
+       // we are here, when args->timeout==0 or 'now' was initialized (and
+       // compared with 'end_time'). So, 'now' can be used below.
+      assert(args->timeout<=0 || (now < end_time));
+
+      if (args->timeout>0)     // (re)set the alarm-clock
+       alarm(end_time-now);
+
+      continue;
+    }
     else
+       // vc_wait_exit(2) finished successfully
       res.status = stFINISHED;
 
     break;
@@ -183,7 +199,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index 8e86ffb..d492c4d 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.8 2004/03/24 01:44:43 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 2483 2007-02-01 12:56:20Z dhozac $  -*- makefile -*-
 
 ## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -24,7 +24,8 @@ AM_INSTALLCHECK_STD_OPTIONS_EXEMPT += \
 sysv_src_SCRPTS =      sysv/rebootmgr \
                        sysv/vprocunhide \
                        sysv/vservers-default \
-                       sysv/vservers-legacy
+                       sysv/vservers-legacy \
+                       sysv/util-vserver
 sysv_gen_SCRPTS =      sysv/v_gated \
                        sysv/v_httpd \
                        sysv/v_named \
@@ -35,7 +36,6 @@ sysv_gen_SCRPTS =     sysv/v_gated \
                        sysv/v_xinetd
 sysv_conf_DTA =                sysv/vservers.conf
 
-sysconf_DATA +=                $(sysv_conf_DTA)
 EXTRA_DIST +=          sysv/v_gated.subst \
                        sysv/v_httpd.subst \
                        sysv/v_named.subst \
@@ -47,8 +47,11 @@ EXTRA_DIST +=                sysv/v_gated.subst \
                        $(sysv_src_SCRPTS) \
                        $(sysv_conf_DTA)
 
+if HAVE_SYSV_INIT
+sysconf_DATA +=                $(sysv_conf_DTA)
 initrd_SCRIPTS +=      $(sysv_src_SCRPTS) \
                        $(sysv_gen_SCRPTS)
+endif
 
 CLEANFILES +=          $(sysv_gen_SCRPTS)
 
index dda759f..3200f1e 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.9 2004/08/19 14:01:33 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 1657 2004-08-19 14:01:33Z ensc $  -*- makefile -*-
 
 ## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 4e71de3..01041ae 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: escaperoot.c,v 1.3 2004/01/13 14:56:26 ensc Exp $
+// $Id: escaperoot.c 570 2004-01-13 14:56:26Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on tests/escaperoot.cc by Jacques Gelinas
index e7ba48f..842e3a5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: forkbomb.c,v 1.2 2003/12/26 00:48:26 uid68581 Exp $
+// $Id: forkbomb.c 495 2003-12-26 00:48:26Z uid68581 $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on tests/forkbomb.cc by Jacques Gelinas
index 250b752..3b30e1c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getctx.c,v 1.9 2004/01/21 19:01:01 ensc Exp $    --*- c++ -*--
+// $Id: getctx.c 675 2004-01-21 19:01:01Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 8133001..aa49f32 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getinitpid.c,v 1.3 2004/01/21 19:06:14 ensc Exp $    --*- c++ -*--
+// $Id: getinitpid.c 677 2004-01-21 19:06:14Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 1d9a28b..435c819 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: testipc.c,v 1.2 2004/01/13 14:56:26 ensc Exp $
+// $Id: testipc.c 570 2004-01-13 14:56:26Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on tests/testipc.cc by Jacques Gelinas
index 53cf205..d577f15 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: testlimit.c,v 1.3 2004/01/13 14:56:26 ensc Exp $
+// $Id: testlimit.c 570 2004-01-13 14:56:26Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on tests/testlimit.cc by Jacques Gelinas
index 37f4168..0eac9c5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: testopenf.c,v 1.3 2004/01/13 14:56:26 ensc Exp $
+// $Id: testopenf.c 570 2004-01-13 14:56:26Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on tests/testopenf.cc by Jacques Gelinas
index 126284d..61e581a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-info.c,v 1.3 2004/01/17 05:25:04 ensc Exp $    --*- c -*--
+// $Id: vserver-info.c 636 2004-01-17 05:25:04Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c66d6f7..f861df7 100644 (file)
@@ -1,23 +1,26 @@
-# $Id: util-vserver.spec.in,v 1.49 2005/07/15 19:06:58 ensc Exp $
+# $Id: util-vserver.spec.in 2482 2007-01-29 23:37:07Z dhozac $
 
 ## This package understands the following switches:
 ## --without dietlibc        ...   disable usage of dietlibc
-## --without xalan           ...   do not require/use the xalan xslt processor
+## --with xalan              ...   require/use the xalan xslt processor
+## --without doc             ...   disable doc generation
+## --with legacy             ...   enable the legacy APIs
 
 %global confdir                %_sysconfdir/vservers
 %global confdefaultdir %confdir/.defaults
 %global pkglibdir      %_libdir/%name
-%global __chattr       /usr/bin/chattr
 %global chkconfig      /sbin/chkconfig
 
 %global _localstatedir %_var
 
+%global ver            %( echo 0.30.213 | sed 's/-.*//' )
+%global subver         %( s=`echo 0.30.213 | grep -- - | sed 's/.*-/./'`; echo ${s:-.1} )
+%global fullver                0.30.213
 
-%{!?release_func:%global release_func() %1%{?dist}}
 
 %define name util-vserver
-%define version 0.30.208
-%define release 17%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+%define version 0.30.213
+%{!?release_func:%global release_func() 1%{?pldistro:.%{pldistro}}%{?date:.%{date}}}
 
 %define _without_dietlibc 1
 %define _without_xalan 1
@@ -32,12 +35,13 @@ URL: http://cvs.planet-lab.org/cvs/util-vserver
 
 Summary:       Linux virtual server utilities
 Name:          util-vserver
-Version:       0.30.208
-Release:       %{release}
+Version:       %ver
+Release:       %release_func 0%subver
 License:       GPL
 Group:         System Environment/Base
 #URL:          http://savannah.nongnu.org/projects/util-vserver/
-Source0:       http://savannah.nongnu.org/download/util-vserver/stable.pkg/%version/%name-%version.tar.bz2
+Source0:       http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%version.tar.bz2
+#Source1:      http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%version.tar.bz2.asc
 BuildRoot:     %_tmppath/%name-%version-%release-root
 Requires:      init(%name)
 Requires:      %name-core = %version-%release
@@ -48,11 +52,12 @@ Obsoletes:  vserver < %version
 BuildRequires: mount vconfig gawk iproute iptables
 BuildRequires: gcc-c++ wget which diffutils
 BuildRequires: e2fsprogs-devel beecrypt-devel
-BuildRequires: doxygen tetex-latex
+%{!?_without_doc:BuildRequires:        doxygen tetex-latex}
+Requires(post):                %name-core
 Requires(pre):         %pkglibdir
 Requires(postun):      %pkglibdir
 %{!?_without_dietlibc:BuildRequires:   dietlibc >= 0:0.25}
-%{!?_without_xalan:BuildRequires:      xalan-j}
+%{?_with_xalan:BuildRequires:  xalan-j}
 
 %package lib
 Summary:               Dynamic libraries for util-vserver
@@ -70,6 +75,7 @@ Requires:             rpm wget binutils tar e2fsprogs
 Requires:              %name = %version-%release
 Requires(pre):         %confdir
 Requires(postun):      %confdir
+Requires(post):                %name-core
 
 %package sysv
 Summary:               SysV-initscripts for vserver
@@ -185,7 +191,7 @@ but more readily accessible from Python code.
 
 
 %prep
-%setup -q
+%setup -q -n %name-%fullver
 
 aclocal -I m4
 autoconf
@@ -193,10 +199,12 @@ automake --add-missing
 
 %build
 %configure --with-initrddir=%_initrddir --enable-release \
-           %{?_without_dietlibc:--disable-dietlibc}
+           %{?_without_dietlibc:--disable-dietlibc} \
+           %{!?_without_legacy:--enable-apis=NOLEGACY} \
+           --with-initscripts=sysv
 
 %__make %{?_smp_mflags} all
-%__make %{?_smp_mflags} doc
+%{!?_without_doc:%__make %{?_smp_mflags} doc}
 
 %__make -C python
 
@@ -213,7 +221,7 @@ contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat
 # install python bindings
 %__make -C python DESTDIR="$PWD/tmp" install
 install -d $RPM_BUILD_ROOT/%{_datadir}/%{name}
-install tmp/usr/lib/python*/site-packages/*.{py,so} $RPM_BUILD_ROOT/%{_datadir}/%{name}/
+install tmp%{_libdir}/python*/site-packages/*.{py,so} $RPM_BUILD_ROOT/%{_datadir}/%{name}/
 install -D -m 755 python/bwlimit $RPM_BUILD_ROOT/%{_sbindir}/bwlimit
 install -D -m 755 python/disklimit $RPM_BUILD_ROOT/%{_sbindir}/disklimit
 
@@ -230,10 +238,15 @@ rm -rf $RPM_BUILD_ROOT
 test -d /vservers      || mkdir -m0000 /vservers
 test -d /vservers/.pkg || mkdir -m0755 /vservers/.pkg
 
-f="%confdefaultdir/vdirbase"; test -L "$f" -o -e "$f" || ln -s /vservers                        "$f"
-f="%confdefaultdir/run.rev";  test -L "$f" -o -e "$f" || ln -s %_localstatedir/run/vservers.rev "$f"
+f="%confdefaultdir/vdirbase";  test -L "$f" -o -e "$f" || ln -s /vservers                        "$f"
+f="%confdefaultdir/run.rev";   test -L "$f" -o -e "$f" || ln -s %_localstatedir/run/vservers.rev "$f"
+f="%confdefaultdir/cachebase"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/cache/vservers   "$f"
 
-%_sbindir/setattr --barrier /vservers || :
+%_sbindir/setattr --barrier /vservers /vservers/.pkg || :
+
+
+%preun
+test "$1" != 0 || rm -rf %_localstatedir/cache/vservers/* 2>/dev/null || :
 
 # add /bin/vsh to list of secure shells
 if [ ! -f /etc/shells ] || ! grep -q '^/bin/vsh$' /etc/shells ; then
@@ -257,21 +270,24 @@ fi
 #%chkconfig --add vprocunhide
 # PlanetLab Node Manager takes care of starting and stopping VServers
 %chkconfig --del vservers-default
+%chkconfig --del util-vserver
 # PlanetLab does not require /proc security
 %chkconfig --del vprocunhide
 
+
 %preun sysv
 #test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || :
 
 #test "$1" != 0 || %chkconfig --del vprocunhide
 #test "$1" != 0 || %chkconfig --del vservers-default
+#test "$1" != 0 || %chkconfig --del util-vserver
 
 
 %postun sysv
 #test "$1" = 0  || %_initrddir/vprocunhide condrestart >/dev/null || :
 
 
-%triggerin build -- fedora-release
+%triggerin build -- fedora-release, centos-release
 function copy()
 {
     base=$1
@@ -286,6 +302,16 @@ function copy()
 }
 copy fedora /usr/share/doc/fedora-release-*/RPM-GPG-*
 copy fedora /etc/pki/rpm-gpg/RPM-GPG-*
+copy centos /usr/share/doc/centos-*/RPM-GPG-KEY-*
+
+
+%post build
+test -d /vservers/.hash || mkdir -m0700 /vservers/.hash
+
+f="%confdefaultdir/apps/vunify/hash"; test -e "$f"/method -o -e "$f"/00 || \
+       ln -s /vservers/.hash "$f"/00
+
+%_sbindir/setattr --barrier /vservers/.hash || :
 
 
 %preun build
@@ -338,9 +364,11 @@ done
 %dir %confdefaultdir/apps
 %dir %confdefaultdir/files
 %dir %pkglibdir/defaults
+%ghost %confdefaultdir/cachebase
 %ghost %confdefaultdir/vdirbase
 %ghost %confdefaultdir/run.rev
 
+%dir %_localstatedir/cache/vservers
 %dir %_localstatedir/run/vservers
 %dir %_localstatedir/run/vservers.rev
 %dir %_localstatedir/run/vshelper
@@ -374,8 +402,8 @@ done
 
 %files devel -f %name-devel.list
 %defattr(-,root,root,-)
-%doc lib/apidoc/latex/refman.pdf
-%doc lib/apidoc/html
+%{!?_without_doc:%doc lib/apidoc/latex/refman.pdf}
+%{!?_without_doc:%doc lib/apidoc/html}
 
 
 %post python
@@ -447,9 +475,24 @@ fi
 
 
 %changelog
+* Fri Dec 29 2006 Daniel Hokka Zakrisson <daniel@hozac.com> - 0.30.213-0
+- add --with legacy and --without doc switches
+- add util-vserver initscript
+
 * Fri Feb 17 2006 Steve Muir <smuir@cs.princeton.edu>
 - add support for setting guaranteed CPU share flag in rspec
 
+* Sun Jan 22 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.30.210-0
+- do not require 'xalan' anymore by default
+- removed 'Requires: apt'; apt-rpm is not maintained upstream anymore
+- removed 'chattr' leftovers
+- create the '/etc/vservers/.defaults/cachebase' symlink
+- added /var/cache/vservers and the needed support
+- set barrier attribute on /vservers/.pkg and /vservers/.hash
+- added 'centos-release' to the list of packages in the copy-the-keys
+  trigger script
+- create '/vservers/.hash' and add initial configuration for it
+
 * Fri Jan 13 2006 Steve Muir <smuir@cs.princeton.edu>
 - fix bug in python/vserverimpl.c where attempting to adjust CPU share
   for a context that didn't exist would cause an error (it should be a
@@ -471,6 +514,10 @@ fi
 * Wed Nov  2 2005 Steve Muir <smuir@cs.princeton.edu>
 - fix Python modules to handling scheduling parameters correctly
 
+* Sun Oct 30 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.209-0
+- version 0.30.209
+- copy centos keys
+
 * Fri Oct 28 2005 Steve Muir <smuir@cs.princeton.edu>
 - raise exception about being over disk limit after setting usage values
 
@@ -493,7 +540,11 @@ fi
 * Thu Jul 21 2005 Steve Muir <smuir@cs.princeton.edu>
 - add bwlimit and cpulimit modules
 
+* Sat Jul 16 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-2
+- updated URLs
+
 * Fri Jul 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-1
+- version 0.30.208
 - require the -lib subpackage by -devel
 - copy GPG keys from /etc/pki/rpm-gpg/
 
index d02399e..c072f48 100644 (file)
@@ -1,23 +1,26 @@
-# $Id: util-vserver.spec.in,v 1.49 2005/07/15 19:06:58 ensc Exp $
+# $Id: util-vserver.spec.in 2482 2007-01-29 23:37:07Z dhozac $
 
 ## This package understands the following switches:
 ## --without dietlibc        ...   disable usage of dietlibc
-## --without xalan           ...   do not require/use the xalan xslt processor
+## --with xalan              ...   require/use the xalan xslt processor
+## --without doc             ...   disable doc generation
+## --with legacy             ...   enable the legacy APIs
 
 %global confdir                %_sysconfdir/vservers
 %global confdefaultdir %confdir/.defaults
 %global pkglibdir      %_libdir/%name
-%global __chattr       /usr/bin/chattr
 %global chkconfig      /sbin/chkconfig
 
 %global _localstatedir %_var
 
+%global ver            %( echo @VERSION@ | sed 's/-.*//' )
+%global subver         %( s=`echo @VERSION@ | grep -- - | sed 's/.*-/./'`; echo ${s:-.1} )
+%global fullver                @VERSION@
 
-%{!?release_func:%global release_func() %1%{?dist}}
 
 %define name @PACKAGE@
 %define version @VERSION@
-%define release 16%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+%{!?release_func:%global release_func() 1%{?pldistro:.%{pldistro}}%{?date:.%{date}}}
 
 %define _without_dietlibc 1
 %define _without_xalan 1
@@ -32,12 +35,13 @@ URL: http://cvs.planet-lab.org/cvs/util-vserver
 
 Summary:       Linux virtual server utilities
 Name:          @PACKAGE@
-Version:       @VERSION@
-Release:       %{release}
+Version:       %ver
+Release:       %release_func 0%subver
 License:       GPL
 Group:         System Environment/Base
 #URL:          http://savannah.nongnu.org/projects/util-vserver/
-Source0:       http://savannah.nongnu.org/download/util-vserver/stable.pkg/%version/%name-%version.tar.bz2
+Source0:       http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%version.tar.bz2
+#Source1:      http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%version.tar.bz2.asc
 BuildRoot:     %_tmppath/%name-%version-%release-root
 Requires:      init(%name)
 Requires:      %name-core = %version-%release
@@ -48,11 +52,12 @@ Obsoletes:  vserver < %version
 BuildRequires: mount vconfig gawk iproute iptables
 BuildRequires: gcc-c++ wget which diffutils
 BuildRequires: e2fsprogs-devel beecrypt-devel
-BuildRequires: doxygen tetex-latex
+%{!?_without_doc:BuildRequires:        doxygen tetex-latex}
+Requires(post):                %name-core
 Requires(pre):         %pkglibdir
 Requires(postun):      %pkglibdir
 %{!?_without_dietlibc:BuildRequires:   dietlibc >= 0:0.25}
-%{!?_without_xalan:BuildRequires:      xalan-j}
+%{?_with_xalan:BuildRequires:  xalan-j}
 
 %package lib
 Summary:               Dynamic libraries for util-vserver
@@ -70,6 +75,7 @@ Requires:             rpm wget binutils tar e2fsprogs
 Requires:              %name = %version-%release
 Requires(pre):         %confdir
 Requires(postun):      %confdir
+Requires(post):                %name-core
 
 %package sysv
 Summary:               SysV-initscripts for vserver
@@ -185,7 +191,7 @@ but more readily accessible from Python code.
 
 
 %prep
-%setup -q
+%setup -q -n %name-%fullver
 
 aclocal -I m4
 autoconf
@@ -193,10 +199,12 @@ automake --add-missing
 
 %build
 %configure --with-initrddir=%_initrddir --enable-release \
-           %{?_without_dietlibc:--disable-dietlibc}
+           %{?_without_dietlibc:--disable-dietlibc} \
+           %{!?_without_legacy:--enable-apis=NOLEGACY} \
+           --with-initscripts=sysv
 
 %__make %{?_smp_mflags} all
-%__make %{?_smp_mflags} doc
+%{!?_without_doc:%__make %{?_smp_mflags} doc}
 
 %__make -C python
 
@@ -213,7 +221,7 @@ contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat
 # install python bindings
 %__make -C python DESTDIR="$PWD/tmp" install
 install -d $RPM_BUILD_ROOT/%{_datadir}/%{name}
-install tmp/usr/lib/python*/site-packages/*.{py,so} $RPM_BUILD_ROOT/%{_datadir}/%{name}/
+install tmp%{_libdir}/python*/site-packages/*.{py,so} $RPM_BUILD_ROOT/%{_datadir}/%{name}/
 install -D -m 755 python/bwlimit $RPM_BUILD_ROOT/%{_sbindir}/bwlimit
 install -D -m 755 python/disklimit $RPM_BUILD_ROOT/%{_sbindir}/disklimit
 
@@ -230,10 +238,15 @@ rm -rf $RPM_BUILD_ROOT
 test -d /vservers      || mkdir -m0000 /vservers
 test -d /vservers/.pkg || mkdir -m0755 /vservers/.pkg
 
-f="%confdefaultdir/vdirbase"; test -L "$f" -o -e "$f" || ln -s /vservers                        "$f"
-f="%confdefaultdir/run.rev";  test -L "$f" -o -e "$f" || ln -s %_localstatedir/run/vservers.rev "$f"
+f="%confdefaultdir/vdirbase";  test -L "$f" -o -e "$f" || ln -s /vservers                        "$f"
+f="%confdefaultdir/run.rev";   test -L "$f" -o -e "$f" || ln -s %_localstatedir/run/vservers.rev "$f"
+f="%confdefaultdir/cachebase"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/cache/vservers   "$f"
 
-%_sbindir/setattr --barrier /vservers || :
+%_sbindir/setattr --barrier /vservers /vservers/.pkg || :
+
+
+%preun
+test "$1" != 0 || rm -rf %_localstatedir/cache/vservers/* 2>/dev/null || :
 
 # add /bin/vsh to list of secure shells
 if [ ! -f /etc/shells ] || ! grep -q '^/bin/vsh$' /etc/shells ; then
@@ -257,21 +270,24 @@ fi
 #%chkconfig --add vprocunhide
 # PlanetLab Node Manager takes care of starting and stopping VServers
 %chkconfig --del vservers-default
+%chkconfig --del util-vserver
 # PlanetLab does not require /proc security
 %chkconfig --del vprocunhide
 
+
 %preun sysv
 #test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || :
 
 #test "$1" != 0 || %chkconfig --del vprocunhide
 #test "$1" != 0 || %chkconfig --del vservers-default
+#test "$1" != 0 || %chkconfig --del util-vserver
 
 
 %postun sysv
 #test "$1" = 0  || %_initrddir/vprocunhide condrestart >/dev/null || :
 
 
-%triggerin build -- fedora-release
+%triggerin build -- fedora-release, centos-release
 function copy()
 {
     base=$1
@@ -286,6 +302,16 @@ function copy()
 }
 copy fedora /usr/share/doc/fedora-release-*/RPM-GPG-*
 copy fedora /etc/pki/rpm-gpg/RPM-GPG-*
+copy centos /usr/share/doc/centos-*/RPM-GPG-KEY-*
+
+
+%post build
+test -d /vservers/.hash || mkdir -m0700 /vservers/.hash
+
+f="%confdefaultdir/apps/vunify/hash"; test -e "$f"/method -o -e "$f"/00 || \
+       ln -s /vservers/.hash "$f"/00
+
+%_sbindir/setattr --barrier /vservers/.hash || :
 
 
 %preun build
@@ -338,9 +364,11 @@ done
 %dir %confdefaultdir/apps
 %dir %confdefaultdir/files
 %dir %pkglibdir/defaults
+%ghost %confdefaultdir/cachebase
 %ghost %confdefaultdir/vdirbase
 %ghost %confdefaultdir/run.rev
 
+%dir %_localstatedir/cache/vservers
 %dir %_localstatedir/run/vservers
 %dir %_localstatedir/run/vservers.rev
 %dir %_localstatedir/run/vshelper
@@ -374,8 +402,8 @@ done
 
 %files devel -f %name-devel.list
 %defattr(-,root,root,-)
-%doc lib/apidoc/latex/refman.pdf
-%doc lib/apidoc/html
+%{!?_without_doc:%doc lib/apidoc/latex/refman.pdf}
+%{!?_without_doc:%doc lib/apidoc/html}
 
 
 %post python
@@ -447,9 +475,24 @@ fi
 
 
 %changelog
+* Fri Dec 29 2006 Daniel Hokka Zakrisson <daniel@hozac.com> - 0.30.213-0
+- add --with legacy and --without doc switches
+- add util-vserver initscript
+
 * Fri Feb 17 2006 Steve Muir <smuir@cs.princeton.edu>
 - add support for setting guaranteed CPU share flag in rspec
 
+* Sun Jan 22 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.30.210-0
+- do not require 'xalan' anymore by default
+- removed 'Requires: apt'; apt-rpm is not maintained upstream anymore
+- removed 'chattr' leftovers
+- create the '/etc/vservers/.defaults/cachebase' symlink
+- added /var/cache/vservers and the needed support
+- set barrier attribute on /vservers/.pkg and /vservers/.hash
+- added 'centos-release' to the list of packages in the copy-the-keys
+  trigger script
+- create '/vservers/.hash' and add initial configuration for it
+
 * Fri Jan 13 2006 Steve Muir <smuir@cs.princeton.edu>
 - fix bug in python/vserverimpl.c where attempting to adjust CPU share
   for a context that didn't exist would cause an error (it should be a
@@ -471,6 +514,10 @@ fi
 * Wed Nov  2 2005 Steve Muir <smuir@cs.princeton.edu>
 - fix Python modules to handling scheduling parameters correctly
 
+* Sun Oct 30 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.209-0
+- version 0.30.209
+- copy centos keys
+
 * Fri Oct 28 2005 Steve Muir <smuir@cs.princeton.edu>
 - raise exception about being over disk limit after setting usage values
 
@@ -493,7 +540,11 @@ fi
 * Thu Jul 21 2005 Steve Muir <smuir@cs.princeton.edu>
 - add bwlimit and cpulimit modules
 
+* Sat Jul 16 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-2
+- updated URLs
+
 * Fri Jul 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-1
+- version 0.30.208
 - require the -lib subpackage by -devel
 - copy GPG keys from /etc/pki/rpm-gpg/
 
index 96ccfb4..4e4ce96 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.7 2005/03/18 00:33:20 ensc Exp $    --*- makefile -*--
+## $Id: Makefile-files 1923 2005-03-18 00:33:20Z ensc $        --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index bf86854..633cfc2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: configuration-init.c,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: configuration-init.c 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b09c31c..87c1e89 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: configuration.c,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: configuration.c 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 0efcc1a..f39f643 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: configuration.h,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: configuration.h 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 8b71080..b47a36b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: defaulttty.c,v 1.2 2005/01/26 15:30:40 ensc Exp $    --*- c -*--
+// $Id: defaulttty.c 1794 2005-01-26 15:30:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f76b7b0..17e6319 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-add.c,v 1.3 2005/03/19 02:07:40 ensc Exp $    --*- c -*--
+// $Id: interface-add.c 1939 2005-03-19 02:07:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 318fe6d..17a0b7b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-free.hc,v 1.1 2004/07/03 00:07:42 ensc Exp $    --*- c -*--
+// $Id: interface-free.hc 1628 2004-07-03 00:07:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b1bcd99..6fdf532 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-init.hc,v 1.1 2004/07/03 00:07:42 ensc Exp $    --*- c -*--
+// $Id: interface-init.hc 1628 2004-07-03 00:07:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 30bcd24..7edd252 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-print.c,v 1.2 2005/03/19 02:07:40 ensc Exp $    --*- c -*--
+// $Id: interface-print.c 1939 2005-03-19 02:07:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index dc9e10f..6737c07 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-read.c,v 1.3 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: interface-read.c 1980 2005-03-24 12:44:17Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b3c63d4..284c760 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-remove.c,v 1.2 2005/03/19 02:07:40 ensc Exp $    --*- c -*--
+// $Id: interface-remove.c 1939 2005-03-19 02:07:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 20e49f4..707d335 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface.c,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: interface.c 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 8ed1b70..e55c619 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface.h,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: interface.h 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ab7c0fb..ab268b3 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: main.c,v 1.5 2005/03/19 02:07:40 ensc Exp $    --*- c -*--
+// $Id: main.c 1939 2005-03-19 02:07:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6f80f48..b85ae05 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: mount.c,v 1.2 2004/08/25 00:11:50 ensc Exp $    --*- c -*--
+// $Id: mount.c 1679 2004-08-25 00:11:50Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2668512..0b5acc7 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: mount.h,v 1.1 2004/08/19 15:02:57 ensc Exp $    --*- c -*--
+// $Id: mount.h 1676 2004-08-19 15:02:57Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9c0df65..7f4bfff 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: scriptlets.c,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: scriptlets.c 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 25b4d9e..edfef44 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: undo.c,v 1.1 2004/08/19 15:02:57 ensc Exp $    --*- c -*--
+// $Id: undo.c 1676 2004-08-19 15:02:57Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 06ed88c..cb69c3d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: undo.h,v 1.1 2004/08/19 15:02:57 ensc Exp $    --*- c -*--
+// $Id: undo.h 1676 2004-08-19 15:02:57Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 52a5fe7..0acdc2c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-start.h,v 1.2 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: vserver-start.h 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4193379..a92a2f0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vshelper.c,v 1.2 2004/08/19 16:06:37 ensc Exp $    --*- c -*--
+// $Id: vshelper.c 1677 2004-08-19 16:06:37Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2f2a21e..8f38611 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vshelper.h,v 1.1 2004/07/03 00:07:42 ensc Exp $    --*- c -*--
+// $Id: vshelper.h 1628 2004-07-03 00:07:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //