util-vserver-0.30.208
[util-vserver.git] / doc / compatibility.xml
diff --git a/doc/compatibility.xml b/doc/compatibility.xml
new file mode 100644 (file)
index 0000000..5b9fde5
--- /dev/null
@@ -0,0 +1,413 @@
+<?xml version="1.0"?>
+<!DOCTYPE compatibility SYSTEM "compatibility.dtd" []>
+
+<compatibility>
+  <title>compatibility of util-vserver alpha branch</title>
+  
+  <program name="capchroot">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="distrib-info" status="removed">
+    <location>LIBDIR</location>
+    <clicompat status="no">
+      <text>replaced by <pref>vpkg</pref></text>
+    </clicompat>
+    <funccompat status="no"/>
+  </program>
+
+  <program name="fakerunlevel">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="filetime">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="ifspec">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+  
+  <program name="install-*" status="removed">
+    <location>LIBDIR</location>
+    <clicompat status="no">
+      <text>Replaced by more general build-methods which are building vservers from apt-repositories.</text>
+    </clicompat>
+    <funccompat status="no"/>
+  </program>
+  
+  <program name="listdevip">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="parserpmdump">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="readlink">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="rootshell">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="sample.sh" status="removed">
+    <location>LIBDIR</location>
+    <clicompat status="no">
+      <text>incompatible with recent configuration style.</text>
+    </clicompat>
+    <funccompat status="no"/>
+  </program>
+  
+  <program name="save_s_context" status="removed">
+    <location>LIBDIR</location>
+    <clicompat status="no">
+      <text>incompatible with recent configuration style; partially replaced by <pref>save_ctxinfo</pref>.</text>
+    </clicompat>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="setattr">
+    <location>LIBDIR</location>
+    <clicompat status="no">
+      <text>Has been moved into SBINDIR. Lots of new option were added to support new functionality.</text>
+    </clicompat>
+    <funccompat status="no">
+      <text>It is possible to recurse directories and it supports
+      all vserver related attributes (admin, hide, watch, barrier,
+      iunlink).</text>
+    </funccompat>
+  </program>
+  
+  <program name="showattr">
+    <location>LIBDIR</location>
+    <clicompat status="no">
+      <text>Has been moved into SBINDIR. Lots of new option were added to support new functionality.</text>
+    </clicompat>
+    <funccompat status="no">
+      <text>It is possible to recurse directories and it supports all
+      vserver related attributes (admin, hide, watch, barrier,
+      iunlink). The output has been changed: the flags are now in the
+      first column and they are displayed in a symbolic manner.</text>
+    </funccompat>
+  </program>
+  
+  <program name="showperm">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="vbuild" status="broken">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="no">
+      <text>will be removed/rewritten soon.</text>
+    </funccompat>
+  </program>
+  
+  <program name="vcheck" status="broken">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="no">
+      <text>will be removed/rewritten soon.</text>
+    </funccompat>
+  </program>
+
+  <program name="vprofile" status="removed">
+    <location>LIBDIR</location>
+    <clicompat status="no">
+      <text>incompatible with recent configuration style.</text>
+    </clicompat>
+    <funccompat status="no"/>
+  </program>
+
+  <program name="vreboot">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="vserverkillall" status="removed">
+    <location>LIBDIR</location>
+    <clicompat status="no">
+      <text><pref>vkill</pref> contains the needed functionality
+      already.</text>
+    </clicompat>
+    <funccompat status="no"/>
+  </program>
+  
+  <program name="vservers.grabinfo.sh">
+    <location>LIBDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="vunify" status="rewritten">
+    <location>LIBDIR</location>
+    <clicompat status="no">
+      <text>CLI has been changed to reflect new functionality. Now, it
+      accepts either a single vserver, or (directory,excludelist)
+      pairs as arguments. The old "refserver vserver1 vserver2 ..." 
+      syntax is gone.</text>
+    </clicompat>
+    <funccompat status="limited">
+      <text>vunify allows to unify generic paths, or vservers with
+      preconfigured reference vservers. The filelist is not taken from
+      packagemanagement anymore, but every file which has a counterpart
+      in the reference-path(s)/vserver(s) and is not in an excludelist
+      will be unified. A part of the excludelist will be generated
+      dynamically with information from the packagemanagement about
+      configfiles.</text>
+    </funccompat>
+  </program>
+
+  <program name="chbind">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="chcontext">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes">
+      <text>Return code in '--disconnect' case is now more correctly.</text>
+    </funccompat>
+  </program>
+
+  <program name="rebootmgr">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="reducecap">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+  
+  <program name="vdu">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="vfiles" status="broken">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="no">
+      <text>will be removed/rewritten soon.</text>
+    </funccompat>
+  </program>
+  
+  <program name="vkill" status="rewritten">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="limited">
+      <text>It uses native kernel interface now and is secure (in
+      opposite to the old perl implementation).</text>
+    </funccompat>
+  </program>
+
+  <program name="vps" status="rewritten">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="limited">
+      <text>It has been rewritten into C and output might have been changed slightly.</text>
+    </funccompat>
+  </program>
+
+  <program name="vpstree">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="vrpm" status="rewritten">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="limited">
+      <text>It has been rewritten into a secure, native C
+      implementation. Unpacking of files happens in host-ctx, but
+      scriptlets are executed in vserver context. The rpm database
+      will/can be hold outside of the vserver and there will never be
+      access on it from the inside (neither direct, nor by
+      scriptlets). This is implemented through an LD_PRELOAD wrapper
+      which provides own, secure NSS functions too.</text>
+    </funccompat>
+  </program>
+
+  <program name="vserver" status="rewritten">
+    <location>SBINDIR</location>
+    <clicompat status="limited">
+      <text>It accepts all the old arguments, but adds lots of new
+      ones. This program is intended as the basic vserver management
+      tool; e.g. to unify a vserver you can execute "vserver XX unify",
+      to install a package "vserver XX install PKG" and so on.</text>
+    </clicompat>
+    <funccompat status="limited">
+      <text>This tool is rewritten to completely and is now resistant
+      against symlink attacks. It uses the new configuration scheme
+      and the iproute2 tools instead of ifconfig for network
+      setup. Old-style vserver can be still started through this tool,
+      but modifications/building of them is not possible
+      anymore.</text>
+    </funccompat>
+  </program>
+
+  <program name="vserver-copy" status="broken">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="no">
+      <text>will be removed/rewritten soon.</text>
+    </funccompat>
+  </program>
+
+  <program name="vserver-stat" status="rewritten">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes">
+      <text>It has been rewritten to use the new libvserver API. The
+      output has been changed slightly.</text>
+    </funccompat>
+  </program>
+
+  <program name="vtop">
+    <location>SBINDIR</location>
+    <clicompat status="yes"/>
+    <funccompat status="yes"/>
+  </program>
+
+  <program name="exec-cd" status="new">
+    <location>SBINDIR</location>
+    <funccompat status="yes">
+      <text>changes into a directory in a secure manner and executes a
+      program there.</text>
+    </funccompat>
+  </program>
+
+  <program name="rpm-fake-resolver" status="new">
+    <location>LIBDIR</location>
+    <funccompat status="yes">
+      <text>NSS resolver; used by <pref>vrpm</pref> and executed in
+      vserver-ctx.</text>
+    </funccompat>
+  </program>
+
+  <program name="rpm-fake.so" status="new">
+    <location>LIBDIR</location>
+    <funccompat status="yes">
+      <text>LD_PRELOAD wrapper; used by <pref>vrpm</pref>.</text>
+    </funccompat>
+  </program>
+
+  <program name="vapt-get-worker" status="new">
+    <location>LIBDIR</location>
+    <funccompat status="yes">
+      <text>Helper script for <pref>vapt-get</pref>.</text>
+    </funccompat>
+  </program>
+
+  <program name="vpkg" status="new">
+    <location>LIBDIR</location>
+    <funccompat status="yes">
+      <text>Generic interface for package management; it allows
+      to install, remove or query packages in a distribution
+      independent manner. It can be seen as the successor of
+      <pref>distrib-info</pref>.</text>
+    </funccompat>
+  </program>
+
+  <program name="vrpm-preload" status="new">
+    <location>LIBDIR</location>
+    <funccompat status="yes">
+      <text>Helper script for <pref>vrpm</pref>.</text>
+    </funccompat>
+  </program>
+  
+  <program name="vrpm-worker" status="new">
+    <location>LIBDIR</location>
+    <funccompat status="yes">
+      <text>Helper script for <pref>vrpm</pref>.</text>
+    </funccompat>
+  </program>
+
+  <program name="vserver-build" status="new">
+    <location>LIBDIR</location>
+    <funccompat status="yes">
+      <text>Builds a vserver from scratch and allows to select the
+      used method. It will be called by the "vserver XY build"
+      command.</text>
+    </funccompat>
+  </program>
+  
+  <program name="vapt-get" status="new">
+    <location>SBINDIR</location>
+    <funccompat status="yes">
+      <text>Wrapper for apt-get; currently only the apt-rpm port
+      is supported. Metadata will/can be stored outside of the
+      vserver. This program call <pref>vrpm</pref>.</text>
+    </funccompat>
+  </program>
+
+
+  <program name="chxid" status="new">
+    <location>SBINDIR</location>
+    <funccompat status="yes">
+      <text>This program assigns the associated context of an inode. It
+      replaces parts of the vserver-quota tools.</text>
+    </funccompat>
+  </program>
+
+  <program name="lsxid" status="new">
+    <location>SBINDIR</location>
+    <funccompat status="yes">
+      <text>This program shows the associated context of an inode. It
+      replaces parts of the vserver-quota tools.</text>
+    </funccompat>
+  </program>
+
+  <program name="new-namespace" status="new">
+    <location>SBINDIR</location>
+    <funccompat status="yes">
+      <text>This program starts a program within a new namespace which is
+      created with CLONE_NEWNS. It is used e.g. by <pref>vrpm</pref> to
+      map the rpm-database into the vserver in a secure manner.</text>
+    </funccompat>
+  </program>
+
+  <program name="vlimit" status="new">
+    <location>SBINDIR</location>
+    <funccompat status="yes">
+      <text>This is an interface to the rlimit syscalls which allow to
+      limit resource-usage of contexts.</text>
+    </funccompat>
+  </program>
+
+  <program name="vrsetup" status="new">
+    <location>SBINDIR</location>
+    <funccompat status="yes">
+      <text>This program allows to setup vroot devices. It replaces
+      vrsetup from the vr-tools</text>
+    </funccompat>
+  </program>
+</compatibility>