<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://doc.lunar-linux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://doc.lunar-linux.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wdp</id>
		<title>Lunar Linux - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://doc.lunar-linux.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wdp"/>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Special:Contributions/Wdp"/>
		<updated>2026-05-11T18:53:23Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.18.1</generator>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2012-04-01T14:08:27Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (01.04.12) Uploaded new image (Os, i686, mmx, sse, sse2 optimized)&lt;br /&gt;
* (23.02.12) Updated init script to conform with Lunar/LSB (keios)&lt;br /&gt;
* (20.02.12) Added 32bit-kernel configuration and prompt customization tidbits (keios) &lt;br /&gt;
* (22.02.11) Paths of qt4 changed, changed howto accordingly (for skype), fonts needs mkfontscale and mkfontdir (added), added section about ATI graphiccards (3d acceleration), some smaller adjustments.&lt;br /&gt;
* (29.10.10) Added bdftopcf to list of fonts, without that, fonts won't compile (thx to cavalier for helping to find out)  &lt;br /&gt;
* (29.10.10) Added instructions regarding the kernel&lt;br /&gt;
* (29.10.10) Added new (with current applications installed) image (lunarlinuxchroot.tar.bz2)&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage&lt;br /&gt;
* (29.10.10) Added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (29.10.10) Added little notice about the &amp;quot;unofficial image&amp;quot;&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
These are '''unofficial''' images made by me (wdp). The current image needs an SSE2 capable cpu - If you need something special, let me know.&lt;br /&gt;
&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/lunar/lunar32chroot.tar.bz2 [current] 472M (unpacked 800 MB) - 01.04.2012&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2 [outdated!]  483M (unpacked 1,8G) - 29.10.2010&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz [outdated!] 570M&lt;br /&gt;
&lt;br /&gt;
These images are quite outdated, so you're far better off making your own 32bit image. If you don't, you could have difficulties during the lunar update process below.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
mkdir -p $OC&lt;br /&gt;
cd $OC&lt;br /&gt;
wget http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2&lt;br /&gt;
tar -xjvf lunarlinuxchroot.tar.bz2&lt;br /&gt;
cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
mount -o bind /dev $OC/dev&lt;br /&gt;
mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
mount -o bind /proc $OC/proc&lt;br /&gt;
mount -o bind /sys $OC/sys&lt;br /&gt;
mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Don't copy your current kernel stuff over to the chroot except for your .config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -rva /usr/src/linux/.config $OC/usr/src/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tests ===&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Setting up the shell prompt===&lt;br /&gt;
You might want to ensure you don't accidently mistake the chroot environment for your host or vice-versa. Even if you don't think this could ever happen to you, it almost inevitably will if you keep a lot of terminals open at the same time like me (keios). &lt;br /&gt;
&lt;br /&gt;
So to change your default prompt automatically on entering the chroot, add something like this to your .bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if [ $(uname -m) = &amp;quot;i686&amp;quot; ]; then&lt;br /&gt;
   # insert whatever works for you between @ and :&lt;br /&gt;
   export PS1=&amp;quot;\u@lunar32:\W&amp;gt; &amp;quot; &lt;br /&gt;
else&lt;br /&gt;
    export PS1=&amp;quot;\u@\h:\W&amp;gt; &amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your default prompt might look different, in that case customize the snippet as you see fit. If you use a colored prompt, changing the color usually should be enough to remind you.&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console.&lt;br /&gt;
&lt;br /&gt;
Modules might need working 32bit kernel headers, so make sure your gcc versions in- and outside the chroot are the same (see Test 1 above). If you need a specific gcc version that's not in the moonbase, use the --want $VERSION option of lin. Then build the kernel - you need the exact same version as you have on your host so you won't run into any trouble when e.g. installing video drivers for 3d acceleration later on:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@mari-chan:/$ lin -cr linux-stable&amp;lt;/pre&amp;gt;&lt;br /&gt;
When it asks you if you want to configure the kernel, say yes. In the menuconfig, use the &amp;quot;Load alternative config&amp;quot; option to load the kernel .config file you've copied to /usr/src earlier. Just enter:&lt;br /&gt;
&amp;lt;pre&amp;gt;../.config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
My (keios') experience is actually quite the contrary: without &amp;quot;native&amp;quot;, I run into the gcc-can't-create-executables error (yes, like described in the FAQ). As gcc optimizations are a fine and arcane art which will destroy your brain if taken lightly, I set it to &amp;quot;native&amp;quot; and didn't bother. Your mileage may vary, of course.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration.  The important thing about this is that you have to use exactly the same driver version within your chroot as the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
==== nVidia ====&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
==== ATI (r600/kms enabled) ====&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/usr/local/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
CONFIGFILE=&amp;quot;/etc/lunar32chroot.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start() {&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	if [ -e &amp;quot;$CONFIGFILE&amp;quot; ]; then&lt;br /&gt;
    		source /etc/lunar32chroot.conf&lt;br /&gt;
	else&lt;br /&gt;
	    # we need a config...&lt;br /&gt;
    	echo &amp;quot;No config file found!&amp;quot;&lt;br /&gt;
    	echo -e $RESULT_FAIL&lt;br /&gt;
    	exit 0&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;    Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        exitcode=$?&lt;br /&gt;
        [ ${exitcode} -eq 0 ] &amp;amp;&amp;amp; echo -e $RESULT_OK&lt;br /&gt;
        [ ${exitcode} -ne 0 ] &amp;amp;&amp;amp; echo -e $RESULT_FAIL&lt;br /&gt;
        # optional mounts //TODO: add check&lt;br /&gt;
        [ -d /dev/pts ] &amp;amp;&amp;amp; mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;gt;/dev/null&lt;br /&gt;
        [ -d /dev/shm ] &amp;amp;&amp;amp; mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;gt;/dev/null&lt;br /&gt;
        [ -d /proc/bus/usb ] &amp;amp;&amp;amp; mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;    Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;gt; /dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;gt;/dev/null &lt;br /&gt;
        exitcode=$?&lt;br /&gt;
        [ ${exitcode} -eq 0 ] &amp;amp;&amp;amp; echo -e $RESULT_OK&lt;br /&gt;
        [ ${exitcode} -ne 0 ] &amp;amp;&amp;amp; echo -e $RESULT_FAIL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stop() {&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	if [ -e &amp;quot;$CONFIGFILE&amp;quot; ]; then&lt;br /&gt;
    		source /etc/lunar32chroot.conf&lt;br /&gt;
	else&lt;br /&gt;
	    # we need a config...&lt;br /&gt;
    	echo &amp;quot;No config file found!&amp;quot;&lt;br /&gt;
    	echo -e $RESULT_FAIL&lt;br /&gt;
    	exit 0&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;    Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;gt;/dev/null&lt;br /&gt;
        exitcode=$?&lt;br /&gt;
        [ ${exitcode} -eq 0 ] &amp;amp;&amp;amp; echo -e $RESULT_OK&lt;br /&gt;
        [ ${exitcode} -ne 0 ] &amp;amp;&amp;amp; echo -e $RESULT_FAIL&lt;br /&gt;
        # optional unmounts //TODO: add check&lt;br /&gt;
        [ -d $CHROOTDIR/proc/bus/usb ] &amp;amp;&amp;amp; umount -fl $CHROOTDIR/proc/bus/usb &amp;gt;/dev/null&lt;br /&gt;
        [ -d $CHROOTDIR/dev/shm ] &amp;amp;&amp;amp; umount -fl $CHROOTDIR/dev/shm &amp;gt;/dev/null&lt;br /&gt;
        [ -d $CHROOTDIR/dev/pts ] &amp;amp;&amp;amp; umount -fl $CHROOTDIR/dev/pts &amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
. /lib/lsb/init-functions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig --add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr mkfontdir mkfontscale bdftopcf font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva qt4-apps/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/TestingLunarStable</id>
		<title>TestingLunarStable</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/TestingLunarStable"/>
				<updated>2012-03-29T12:01:28Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* GIT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Testing Lunar Stable ===&lt;br /&gt;
&lt;br /&gt;
==== Introduction ====&lt;br /&gt;
&lt;br /&gt;
Lunar has always been a bit of a bleeding edge distro, where some devs are keen to keep up-to-date with key packages as soon as new versions are released. However, while they may have successfully compiled and tested these packages on their own systems, there are some packages that require more extensive testing to make sure that they run on a wider range of systems, with different video or sound cards for example. In addition, while a major release of a package might add some important feature, it may take a couple of follow-up patch releases to iron out new problems which might have been introduced.&lt;br /&gt;
&lt;br /&gt;
Users new to Lunar might experience problems if they install from the ISO and then update while such wrinkles are being sorted out. Therefore some of the Lunar developers would like to introduce &amp;quot;stable&amp;quot; and &amp;quot;unstable&amp;quot; versions of the Moonbase. The &amp;quot;stable&amp;quot; version would contain only modules that had been tested and approved by three developers, or where no obvious teething problems had been reported on the modules' mailing lists during the first month. New users would download modules from &amp;quot;stable&amp;quot; and developers would work with &amp;quot;unstable&amp;quot; to get the bleeding edge, just as before.&lt;br /&gt;
&lt;br /&gt;
That's the theory. Now we have to set it up and see how it works in practice.&lt;br /&gt;
&lt;br /&gt;
==== How to proceed ====&lt;br /&gt;
&lt;br /&gt;
* Install from the ISO as usual&lt;br /&gt;
* '''lin moonbase'''&lt;br /&gt;
* '''lin theedge'''&lt;br /&gt;
* run '''lunar''' and make sure you select the stable branch, although it should be the default&lt;br /&gt;
* continue with a normal installation as described in '''man lfirsttime'''&lt;br /&gt;
** '''lin -cr gcc glibc gcc bash coreutil tar wget&lt;br /&gt;
** etc&lt;br /&gt;
&lt;br /&gt;
You can report any problems via&lt;br /&gt;
the [http://bugs.lunar-linux.org/view_all_bug_page.php Bug Tracker],&lt;br /&gt;
the [http://lunar-linux.org/mailman/listinfo/lunar Lunar Mailing-List], or discuss them on&lt;br /&gt;
the [irc://irc.freenode.net/lunar #Lunar] IRC channel on [http://freenode.net/ Freenode.net]&lt;br /&gt;
&lt;br /&gt;
==== Further information ====&lt;br /&gt;
&lt;br /&gt;
There have been some blog posts and mails on the maillinglist, if you have been inactive for a while or if you are new, you might want to take a look at them:&lt;br /&gt;
* [http://wdp.blogs.lunar-linux.org/2012/03/17/lunar-linux-introducing-stable-unstable/ Lunar Linux: Introducing stable / unstable]&lt;br /&gt;
* [http://wdp.blogs.lunar-linux.org/2012/03/17/future-use-of-maintainer-in-details/ Future use of MAINTAINER= in DETAILS]&lt;br /&gt;
&lt;br /&gt;
==== GIT ====&lt;br /&gt;
&lt;br /&gt;
'''get everything'''&lt;br /&gt;
* git pull&lt;br /&gt;
'''do work on stable branch you have to do the following once - In the folder you git-checkouted moonbase before'''&lt;br /&gt;
* git checkout -b stable origin/stable&lt;br /&gt;
'''to switch between branches'''&lt;br /&gt;
* git branch # lists all branches&lt;br /&gt;
* git checkout stable # switches to stable branch&lt;br /&gt;
* git checkout master # switches to unstable branch&lt;br /&gt;
&lt;br /&gt;
'''Notes'''&lt;br /&gt;
* Be aware that unstaged changes are floating Which means if you edit a file and change branch that file will still be changed &lt;br /&gt;
* Always do git push origin master:master, that way you wont make the mistake of pushing stable to master if that branch is the active one&lt;br /&gt;
* When you want to transfer a working change from master you first run git checkout stable either you merge master into stable, or you run git cherry-pick shasum of the commit you want from master when happy you run git push origin stable:stable&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/TestingLunarStable</id>
		<title>TestingLunarStable</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/TestingLunarStable"/>
				<updated>2012-03-29T12:00:54Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Further information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Testing Lunar Stable ===&lt;br /&gt;
&lt;br /&gt;
==== Introduction ====&lt;br /&gt;
&lt;br /&gt;
Lunar has always been a bit of a bleeding edge distro, where some devs are keen to keep up-to-date with key packages as soon as new versions are released. However, while they may have successfully compiled and tested these packages on their own systems, there are some packages that require more extensive testing to make sure that they run on a wider range of systems, with different video or sound cards for example. In addition, while a major release of a package might add some important feature, it may take a couple of follow-up patch releases to iron out new problems which might have been introduced.&lt;br /&gt;
&lt;br /&gt;
Users new to Lunar might experience problems if they install from the ISO and then update while such wrinkles are being sorted out. Therefore some of the Lunar developers would like to introduce &amp;quot;stable&amp;quot; and &amp;quot;unstable&amp;quot; versions of the Moonbase. The &amp;quot;stable&amp;quot; version would contain only modules that had been tested and approved by three developers, or where no obvious teething problems had been reported on the modules' mailing lists during the first month. New users would download modules from &amp;quot;stable&amp;quot; and developers would work with &amp;quot;unstable&amp;quot; to get the bleeding edge, just as before.&lt;br /&gt;
&lt;br /&gt;
That's the theory. Now we have to set it up and see how it works in practice.&lt;br /&gt;
&lt;br /&gt;
==== How to proceed ====&lt;br /&gt;
&lt;br /&gt;
* Install from the ISO as usual&lt;br /&gt;
* '''lin moonbase'''&lt;br /&gt;
* '''lin theedge'''&lt;br /&gt;
* run '''lunar''' and make sure you select the stable branch, although it should be the default&lt;br /&gt;
* continue with a normal installation as described in '''man lfirsttime'''&lt;br /&gt;
** '''lin -cr gcc glibc gcc bash coreutil tar wget&lt;br /&gt;
** etc&lt;br /&gt;
&lt;br /&gt;
You can report any problems via&lt;br /&gt;
the [http://bugs.lunar-linux.org/view_all_bug_page.php Bug Tracker],&lt;br /&gt;
the [http://lunar-linux.org/mailman/listinfo/lunar Lunar Mailing-List], or discuss them on&lt;br /&gt;
the [irc://irc.freenode.net/lunar #Lunar] IRC channel on [http://freenode.net/ Freenode.net]&lt;br /&gt;
&lt;br /&gt;
==== Further information ====&lt;br /&gt;
&lt;br /&gt;
There have been some blog posts and mails on the maillinglist, if you have been inactive for a while or if you are new, you might want to take a look at them:&lt;br /&gt;
* [http://wdp.blogs.lunar-linux.org/2012/03/17/lunar-linux-introducing-stable-unstable/ Lunar Linux: Introducing stable / unstable]&lt;br /&gt;
* [http://wdp.blogs.lunar-linux.org/2012/03/17/future-use-of-maintainer-in-details/ Future use of MAINTAINER= in DETAILS]&lt;br /&gt;
&lt;br /&gt;
==== GIT ====&lt;br /&gt;
&lt;br /&gt;
'''get everything'''&lt;br /&gt;
git pull&lt;br /&gt;
'''do work on stable branch you have to do the following once - In the folder you git-checkouted moonbase before'''&lt;br /&gt;
git checkout -b stable origin/stable&lt;br /&gt;
'''to switch between branches'''&lt;br /&gt;
git branch # lists all branches&lt;br /&gt;
git checkout stable # switches to stable branch&lt;br /&gt;
git checkout master # switches to unstable branch&lt;br /&gt;
&lt;br /&gt;
'''Notes'''&lt;br /&gt;
* Be aware that unstaged changes are floating Which means if you edit a file and change branch that file will still be changed &lt;br /&gt;
* Always do git push origin master:master, that way you wont make the mistake of pushing stable to master if that branch is the active one&lt;br /&gt;
* When you want to transfer a working change from master you first run git checkout stable either you merge master into stable, or you run git cherry-pick shasum of the commit you want from master when happy you run git push origin stable:stable&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/TestingLunarStable</id>
		<title>TestingLunarStable</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/TestingLunarStable"/>
				<updated>2012-03-29T11:56:35Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* How to proceed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Testing Lunar Stable ===&lt;br /&gt;
&lt;br /&gt;
==== Introduction ====&lt;br /&gt;
&lt;br /&gt;
Lunar has always been a bit of a bleeding edge distro, where some devs are keen to keep up-to-date with key packages as soon as new versions are released. However, while they may have successfully compiled and tested these packages on their own systems, there are some packages that require more extensive testing to make sure that they run on a wider range of systems, with different video or sound cards for example. In addition, while a major release of a package might add some important feature, it may take a couple of follow-up patch releases to iron out new problems which might have been introduced.&lt;br /&gt;
&lt;br /&gt;
Users new to Lunar might experience problems if they install from the ISO and then update while such wrinkles are being sorted out. Therefore some of the Lunar developers would like to introduce &amp;quot;stable&amp;quot; and &amp;quot;unstable&amp;quot; versions of the Moonbase. The &amp;quot;stable&amp;quot; version would contain only modules that had been tested and approved by three developers, or where no obvious teething problems had been reported on the modules' mailing lists during the first month. New users would download modules from &amp;quot;stable&amp;quot; and developers would work with &amp;quot;unstable&amp;quot; to get the bleeding edge, just as before.&lt;br /&gt;
&lt;br /&gt;
That's the theory. Now we have to set it up and see how it works in practice.&lt;br /&gt;
&lt;br /&gt;
==== How to proceed ====&lt;br /&gt;
&lt;br /&gt;
* Install from the ISO as usual&lt;br /&gt;
* '''lin moonbase'''&lt;br /&gt;
* '''lin theedge'''&lt;br /&gt;
* run '''lunar''' and make sure you select the stable branch, although it should be the default&lt;br /&gt;
* continue with a normal installation as described in '''man lfirsttime'''&lt;br /&gt;
** '''lin -cr gcc glibc gcc bash coreutil tar wget&lt;br /&gt;
** etc&lt;br /&gt;
&lt;br /&gt;
You can report any problems via&lt;br /&gt;
the [http://bugs.lunar-linux.org/view_all_bug_page.php Bug Tracker],&lt;br /&gt;
the [http://lunar-linux.org/mailman/listinfo/lunar Lunar Mailing-List], or discuss them on&lt;br /&gt;
the [irc://irc.freenode.net/lunar #Lunar] IRC channel on [http://freenode.net/ Freenode.net]&lt;br /&gt;
&lt;br /&gt;
==== Further information ====&lt;br /&gt;
&lt;br /&gt;
There have been some blog posts and mails on the maillinglist, if you have been inactive for a while or if you are new, you might want to take a look at them:&lt;br /&gt;
* [http://wdp.blogs.lunar-linux.org/2012/03/17/lunar-linux-introducing-stable-unstable/ Lunar Linux: Introducing stable / unstable]&lt;br /&gt;
* [http://wdp.blogs.lunar-linux.org/2012/03/17/future-use-of-maintainer-in-details/ Future use of MAINTAINER= in DETAILS]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:SystemD_Faq</id>
		<title>Miscellaneous:SystemD Faq</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:SystemD_Faq"/>
				<updated>2011-08-26T10:50:11Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: New page: == systemd for the rescue - faq ==  '''Something is f***ed up trying to mount using init=/bin/bash works but i cannot mount / rw because of missing mtab'''  You have to give the drive / pa...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== systemd for the rescue - faq ==&lt;br /&gt;
&lt;br /&gt;
'''Something is f***ed up trying to mount using init=/bin/bash works but i cannot mount / rw because of missing mtab'''&lt;br /&gt;
&lt;br /&gt;
You have to give the drive / partition to mount. e.g.:&lt;br /&gt;
  mount -o remount,rw /dev/sda2 /&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T15:11:02Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Changelog: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added bdftopcf to list of fonts, without that, fonts won't compile (thx to cavalier for helping to find out)  &lt;br /&gt;
* (29.10.10) Added instructions regarding the kernel&lt;br /&gt;
* (29.10.10) Added new (with current applications installed) image (lunarlinuxchroot.tar.bz2)&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage&lt;br /&gt;
* (29.10.10) Added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (29.10.10) Added little notice about the &amp;quot;unofficial image&amp;quot;&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2 [current]  483M (unpacked 1,8G) - 29.10.2010&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz [outdated!] 570M&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to copy over your current kernel stuff. To do so just type in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -rva /usr/src/linux-* $OC/usr/src/&lt;br /&gt;
cp -rva /lib/modules/* $OC/lib/modules/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr bdftopcf font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T15:10:25Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added bdftopcf to list of fonts, without those won't compile (thx to cavalier for helping to find out)  &lt;br /&gt;
* (29.10.10) Added instructions regarding the kernel&lt;br /&gt;
* (29.10.10) Added new (with current applications installed) image (lunarlinuxchroot.tar.bz2)&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage&lt;br /&gt;
* (29.10.10) Added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (29.10.10) Added little notice about the &amp;quot;unofficial image&amp;quot;&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2 [current]  483M (unpacked 1,8G) - 29.10.2010&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz [outdated!] 570M&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to copy over your current kernel stuff. To do so just type in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -rva /usr/src/linux-* $OC/usr/src/&lt;br /&gt;
cp -rva /lib/modules/* $OC/lib/modules/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr bdftopcf font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T14:15:24Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added instructions regarding the kernel&lt;br /&gt;
* (29.10.10) Added new (with current applications installed) image (lunarlinuxchroot.tar.bz2)&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage&lt;br /&gt;
* (29.10.10) Added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (29.10.10) Added little notice about the &amp;quot;unofficial image&amp;quot;&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2 [current]  483M (unpacked 1,8G) - 29.10.2010&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz [outdated!] 570M&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to copy over your current kernel stuff. To do so just type in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -rva /usr/src/linux-* $OC/usr/src/&lt;br /&gt;
cp -rva /lib/modules/* $OC/lib/modules/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T14:12:38Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added instructions regarding the kernel&lt;br /&gt;
* (29.10.10) Added new (with current applications installed) image (lunarlinuxchroot.tar.bz2)&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage&lt;br /&gt;
* (29.10.10) Added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (29.10.10) Added little notice about the &amp;quot;unofficial image&amp;quot;&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2 [current]  483M (unpacked 1,8G)&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz [outdated!] 570M&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to copy over your current kernel stuff. To do so just type in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -rva /usr/src/linux-* $OC/usr/src/&lt;br /&gt;
cp -rva /lib/modules/* $OC/lib/modules/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T14:11:21Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Todo: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added instructions regarding the kernel&lt;br /&gt;
* (29.10.10) Added new (with current applications installed) image (lunarlinuxchroot.tar.bz2)&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage&lt;br /&gt;
* (29.10.10) Added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (29.10.10) Added little notice about the &amp;quot;unofficial image&amp;quot;&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2 [current] &lt;br /&gt;
* http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz [outdated!] 570M&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to copy over your current kernel stuff. To do so just type in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -rva /usr/src/linux-* $OC/usr/src/&lt;br /&gt;
cp -rva /lib/modules/* $OC/lib/modules/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T14:08:16Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added instructions regarding the kernel&lt;br /&gt;
* (29.10.10) Added new (with current applications installed) image (lunarlinuxchroot.tar.bz2)&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage&lt;br /&gt;
* (29.10.10) Added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (29.10.10) Added little notice about the &amp;quot;unofficial image&amp;quot;&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
* New Image (the current one is very old)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
* http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2 [current] &lt;br /&gt;
* http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz [outdated!] 570M&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to copy over your current kernel stuff. To do so just type in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -rva /usr/src/linux-* $OC/usr/src/&lt;br /&gt;
cp -rva /lib/modules/* $OC/lib/modules/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T14:06:39Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Setup Environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added instructions regarding the kernel&lt;br /&gt;
* (29.10.10) Added new (with current applications installed) image (lunarlinuxchroot.tar.bz2)&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage&lt;br /&gt;
* (29.10.10) Added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (29.10.10) Added little notice about the &amp;quot;unofficial image&amp;quot;&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
* New Image (the current one is very old)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/lunarlinuxchroot.tar.bz2&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to copy over your current kernel stuff. To do so just type in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -rva /usr/src/linux-* $OC/usr/src/&lt;br /&gt;
cp -rva /lib/modules/* $OC/lib/modules/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T14:04:59Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Changelog: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added instructions regarding the kernel&lt;br /&gt;
* (29.10.10) Added new (with current applications installed) image (lunarlinuxchroot.tar.bz2)&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage&lt;br /&gt;
* (29.10.10) Added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (29.10.10) Added little notice about the &amp;quot;unofficial image&amp;quot;&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
* New Image (the current one is very old)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T10:46:48Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Changelog: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage&lt;br /&gt;
* (29.10.10) Added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (29.10.10) Added little notice about the &amp;quot;unofficial image&amp;quot;&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
* New Image (the current one is very old)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T10:46:02Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Changelog: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage, added little side note about lunar optimize in chrooted-environments, added little notice about the &amp;quot;unofficial image&amp;quot;&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
* New Image (the current one is very old)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T10:45:24Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Setup Environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage, added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
* New Image (the current one is very old)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
'''Important: The Image listed below''': The image was created to be used as solaris zone, however its quite fine for chrooted environments, too. Please notice that this image is &amp;quot;unofficial&amp;quot; so you won't get official support for it.&lt;br /&gt;
&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T10:42:21Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Why */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage, added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
* New Image (the current one is very old)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys which would like that and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T10:40:17Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage, added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
* New Image (the current one is very old)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-09-29T10:38:56Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''This Article is not finished! Talk to &amp;quot;wdp&amp;quot; on irc if you have any questions until its done.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (29.10.10) Added some information at the Test-Stage, added little side note about lunar optimize in chrooted-environments&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
* New Image (the current one is very old)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
&lt;br /&gt;
To enter this chrooted environment, simply type in linux32 chroot $OC&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
'''Important Note about lunar optimize''':&lt;br /&gt;
If you select optimizations for your chrooted environment, never ever use &amp;quot;native&amp;quot; as cpu optimization, this will break things. Always go with something safe, like i686 for example.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-08-28T10:23:10Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Switch to root (For the Dummies) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''This Article is not finished! Talk to &amp;quot;wdp&amp;quot; on irc if you have any questions until its done.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
* New Image (the current one is very old)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-08-28T09:53:29Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''This Article is not finished! Talk to &amp;quot;wdp&amp;quot; on irc if you have any questions until its done.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
===Changelog:===&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
===Todo:===&lt;br /&gt;
* Bash Script which performs the actions below automatically&lt;br /&gt;
* New Image (the current one is very old)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-08-28T09:40:35Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''This Article is not finished! Talk to &amp;quot;wdp&amp;quot; on irc if you have any questions until its done.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
'''Changelog:'''&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
Originally this Document was written to provide/explain an easy way to setup a 32 Bit Chroot using Lunar Linux. Of course you could use every other Distribution instead of Lunar Linux to do this. In this Document i will show how to use Lunar Linux for a 32 Bit Chroot.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
===Entering Chroot - Script===&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
===Fonts===&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
===Skype===&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
==Useful Documentation:==&lt;br /&gt;
* http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2 [English]&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=24575 [English]&lt;br /&gt;
* http://wiki.ubuntuusers.de/32-Bit_chroot [German]&lt;br /&gt;
* http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system [English]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-08-28T09:30:31Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''This Article is not finished! Talk to &amp;quot;wdp&amp;quot; on irc if you have any questions until its done.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
&lt;br /&gt;
'''Changelog:'''&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
Originally this Document was written to provide/explain an easy way to setup a 32 Bit Chroot using Lunar Linux. Of course you could use every other Distribution instead of Lunar Linux to do this. In this Document i will show how to use Lunar Linux for a 32 Bit Chroot.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
===Switch to root (For the Dummies)===&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setup Environment===&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #1===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test #2===&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
===Updating the Chroot-System===&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
==Enhancing your Chroot Installation==&lt;br /&gt;
===X11===&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration===&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
===Home directory===&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
===Init Script===&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;enterchrootscript&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Entering Chroot - Script&amp;lt;/h3&amp;gt;&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Applications&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;fonts&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Fonts&amp;lt;/h3&amp;gt;&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Skype&amp;lt;/h3&amp;gt;&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;usefuldoc&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Useful Documentation:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2&amp;quot;&amp;gt;Gentoo Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://ubuntuforums.org/showthread.php?t=24575&amp;quot;&amp;gt;Ubuntu Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://wiki.ubuntuusers.de/32-Bit_chroot&amp;quot;&amp;gt;Ubuntu Wiki&amp;lt;/a&amp;gt; [German]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system&amp;quot;&amp;gt;Debian Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-08-28T09:26:06Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''This Article is not finished! Talk to &amp;quot;wdp&amp;quot; on irc if you have any questions until its done.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
'''Last Update of this Document:''' 11.08.2009&lt;br /&gt;
&lt;br /&gt;
'''Changelog:'''&lt;br /&gt;
* (11.08.09) Added some Information (Thanks to beko)&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&lt;br /&gt;
* (10.07.09) I rewrote some parts to a hopefully nicer english.&lt;br /&gt;
&lt;br /&gt;
Originally this Document was written to provide/explain an easy way to setup a 32 Bit Chroot using Lunar Linux. Of course you could use every other Distribution instead of Lunar Linux to do this. In this Document i will show how to use Lunar Linux for a 32 Bit Chroot.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Why===&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;switchroot&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Switch to root (For the Dummies)&amp;lt;/h3&amp;gt;&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;setupenvironment&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Setup Environment&amp;lt;/h3&amp;gt;&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;test1&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Test #1&amp;lt;/h3&amp;gt;&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;test2&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Test #2&amp;lt;/h3&amp;gt;&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;updatechroot&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Updating the Chroot-System&amp;lt;/h3&amp;gt;&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;enhance&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Enhancing your Chroot Installation&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;x11&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;X11&amp;lt;/h3&amp;gt;&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;3daccel&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;3D Acceleration&amp;lt;/h3&amp;gt;&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;homedir&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Home directory&amp;lt;/h3&amp;gt;&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;initscript&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Init Script&amp;lt;/h3&amp;gt;&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;enterchrootscript&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Entering Chroot - Script&amp;lt;/h3&amp;gt;&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Applications&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;fonts&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Fonts&amp;lt;/h3&amp;gt;&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Skype&amp;lt;/h3&amp;gt;&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;usefuldoc&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Useful Documentation:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2&amp;quot;&amp;gt;Gentoo Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://ubuntuforums.org/showthread.php?t=24575&amp;quot;&amp;gt;Ubuntu Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://wiki.ubuntuusers.de/32-Bit_chroot&amp;quot;&amp;gt;Ubuntu Wiki&amp;lt;/a&amp;gt; [German]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system&amp;quot;&amp;gt;Debian Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-08-28T09:24:24Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''This Article is not finished! Talk to &amp;quot;wdp&amp;quot; on irc if you have any questions until its done.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&lt;br /&gt;
==Lunar Linux 32 Bit Chroot within native 64 Bit Environment==&lt;br /&gt;
'''Last Update of this Document:''' 11.08.2009&lt;br /&gt;
'''Changelog:'''&lt;br /&gt;
  * (11.08.09) Added some Information (Thanks to beko)&amp;lt;/li&amp;gt;&lt;br /&gt;
* (10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&amp;lt;/li&amp;gt;&lt;br /&gt;
 * (10.07.09) I rewrote some parts to a hopefully nicer english.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Originally this Document was written to provide/explain an easy way to setup a 32 Bit Chroot using Lunar Linux. Of course you could use every other Distribution instead of Lunar Linux to do this. In this Document i will show how to use Lunar Linux for a 32 Bit Chroot.&lt;br /&gt;
&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#install&amp;quot;&amp;gt;Installation&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#why&amp;quot;&amp;gt;Why&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#req&amp;quot;&amp;gt;Requirements&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#switchroot&amp;quot;&amp;gt;Switch to root (For the Dummies)&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#setupenvironment&amp;quot;&amp;gt;Setup Environment&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#test1&amp;quot;&amp;gt;Test #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#test2&amp;quot;&amp;gt;Test #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#updatechroot&amp;quot;&amp;gt;Updating the Chroot-System&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#enhance&amp;quot;&amp;gt;Enhancing your Chroot Installation&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#x11&amp;quot;&amp;gt;X11&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#3daccel&amp;quot;&amp;gt;3D Acceleration&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#homedir&amp;quot;&amp;gt;Home Directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#initscript&amp;quot;&amp;gt;Init Script&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#enterchrootscript&amp;quot;&amp;gt;Entering Chroot - Script&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#applications&amp;quot;&amp;gt;Applications&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#fonts&amp;quot;&amp;gt;Fonts&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#skype&amp;quot;&amp;gt;Skype&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#usefuldoc&amp;quot;&amp;gt;Useful Documentation&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;install&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Installation&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;why&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Why&amp;lt;/h3&amp;gt;&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;req&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Requirements&amp;lt;/h3&amp;gt;&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;switchroot&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Switch to root (For the Dummies)&amp;lt;/h3&amp;gt;&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;setupenvironment&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Setup Environment&amp;lt;/h3&amp;gt;&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;test1&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Test #1&amp;lt;/h3&amp;gt;&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;test2&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Test #2&amp;lt;/h3&amp;gt;&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;updatechroot&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Updating the Chroot-System&amp;lt;/h3&amp;gt;&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;enhance&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Enhancing your Chroot Installation&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;x11&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;X11&amp;lt;/h3&amp;gt;&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;3daccel&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;3D Acceleration&amp;lt;/h3&amp;gt;&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;homedir&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Home directory&amp;lt;/h3&amp;gt;&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;initscript&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Init Script&amp;lt;/h3&amp;gt;&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;enterchrootscript&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Entering Chroot - Script&amp;lt;/h3&amp;gt;&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Applications&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;fonts&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Fonts&amp;lt;/h3&amp;gt;&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Skype&amp;lt;/h3&amp;gt;&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;usefuldoc&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Useful Documentation:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2&amp;quot;&amp;gt;Gentoo Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://ubuntuforums.org/showthread.php?t=24575&amp;quot;&amp;gt;Ubuntu Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://wiki.ubuntuusers.de/32-Bit_chroot&amp;quot;&amp;gt;Ubuntu Wiki&amp;lt;/a&amp;gt; [German]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system&amp;quot;&amp;gt;Debian Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Miscellaneous:32BitChroot</id>
		<title>Miscellaneous:32BitChroot</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Miscellaneous:32BitChroot"/>
				<updated>2010-08-28T09:22:39Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: New page: '''This Article is not finished! Talk to &amp;quot;wdp&amp;quot; on irc if you have any questions until its done.''' ----  This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar L...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''This Article is not finished! Talk to &amp;quot;wdp&amp;quot; on irc if you have any questions until its done.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This is an Article about running a 32bit Chroot of Lunar Linux within 64bit Lunar Linux. It's getting updated sometimes and should work on different Distributions, too.&lt;br /&gt;
&amp;lt;!--more--&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Lunar Linux 32 Bit Chroot within native 64 Bit Environment&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;Last Update of this Document:&amp;lt;/strong&amp;gt; 11.08.2009&lt;br /&gt;
&amp;lt;strong&amp;gt;Changelog:&amp;lt;/strong&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;(11.08.09) Added some Information (Thanks to beko)&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;(10.07.09) 3D Acceleration howto was wrong, corrected thx to Raedwulf for pointing out :)&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;(10.07.09) I rewrote some parts to a hopefully nicer english.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Originally this Document was written to provide/explain an easy way to setup a 32 Bit Chroot using Lunar Linux. Of course you could use every other Distribution instead of Lunar Linux to do this. In this Document i will show how to use Lunar Linux for a 32 Bit Chroot.&lt;br /&gt;
&amp;lt;h2&amp;gt;Contents&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#install&amp;quot;&amp;gt;Installation&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#why&amp;quot;&amp;gt;Why&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#req&amp;quot;&amp;gt;Requirements&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#switchroot&amp;quot;&amp;gt;Switch to root (For the Dummies)&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#setupenvironment&amp;quot;&amp;gt;Setup Environment&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#test1&amp;quot;&amp;gt;Test #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#test2&amp;quot;&amp;gt;Test #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#updatechroot&amp;quot;&amp;gt;Updating the Chroot-System&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#enhance&amp;quot;&amp;gt;Enhancing your Chroot Installation&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#x11&amp;quot;&amp;gt;X11&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#3daccel&amp;quot;&amp;gt;3D Acceleration&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#homedir&amp;quot;&amp;gt;Home Directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#initscript&amp;quot;&amp;gt;Init Script&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#enterchrootscript&amp;quot;&amp;gt;Entering Chroot - Script&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#applications&amp;quot;&amp;gt;Applications&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#fonts&amp;quot;&amp;gt;Fonts&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#skype&amp;quot;&amp;gt;Skype&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#usefuldoc&amp;quot;&amp;gt;Useful Documentation&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;install&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Installation&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;why&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Why&amp;lt;/h3&amp;gt;&lt;br /&gt;
Because. As Lunar Linux is 32bit or 64bit and not multilib, you have to use a chroot for 32bit. I really dislike this but nobody wanted to put time into multilib yet just because of a few guys and as every day some more apps work using 64bit, multilib will probably not be that useful at all. Anyway, for those of you who want to use 32bit apps within the 64bit environment, this little howto should help a lot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;req&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Requirements&amp;lt;/h3&amp;gt;&lt;br /&gt;
Having an image of a running system could help a lot and reduce the needed time amount. If you like you can use an Image i created originally for use as OpenSolaris Zone. You could also create your own 32bit image (just install 32bit linux using a vm or something and tar cjvf the whole system, without proc, sys, dev..). Anyway, i will explain here how to do it using my image.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;switchroot&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Switch to root (For the Dummies)&amp;lt;/h3&amp;gt;&lt;br /&gt;
Of course you need to be root to run most of the following commands. If you don't know how to switch to the super user (root) in a Linux System you don't want to deal with this Howto. First learn some Basics. However. You can switch to the super user using the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ su&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;setupenvironment&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Setup Environment&amp;lt;/h3&amp;gt;&lt;br /&gt;
I installed my Chroot within /usr/local/32bit you might want to change that, just replace the &amp;quot;export&amp;quot; line to do so and don't forget to replace the path in the config files i'm later showing. The following lines will create the directory for your chroot, download my image and unpack it within that directory, copy over some files from the host to the chroot (like users, passwords, etc) and finally mount some directories from the host within the chroot (like dev, proc, sys, tmp).&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ export OC=&amp;quot;/usr/local/32bit&amp;quot;&lt;br /&gt;
wdp@yulivee ~ $ mkdir -p $OC&lt;br /&gt;
wdp@yulivee ~ $ cd $OC&lt;br /&gt;
wdp@yulivee ~ $ wget http://www.jeanbruenn.info/downloads/osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ tar -xzvf osol_lunar_zone.tar.gz&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/hosts $OC/etc/hosts&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/nsswitch.conf $OC/etc/nsswitch.conf&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/passwd $OC/etc/passwd&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/shadow $OC/etc/shadow&lt;br /&gt;
wdp@yulivee ~ $ cp /etc/resolv.conf $OC/etc/resolv.conf&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev $OC/dev&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /dev/pts $OC/dev/pts&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /proc $OC/proc&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /sys $OC/sys&lt;br /&gt;
wdp@yulivee ~ $ mount -o bind /tmp $OC/tmp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;test1&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Test #1&amp;lt;/h3&amp;gt;&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: i686-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=i686-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ gcc -v&lt;br /&gt;
Using built-in specs.&lt;br /&gt;
Target: x86_64-pc-linux-gnu&lt;br /&gt;
Configured with: ../configure –host=x86_64-pc-linux-gnu –enable-languages=c++,fortran –prefix=/usr –infodir=/usr/share/info –mandir=/usr/share/man –enable-__cxa_atexit –enable-threads –disable-nls –enable-target-optspace –with-gnu-ld –with-system-zlib –enable-shared –disable-multilib&lt;br /&gt;
Thread model: posix&lt;br /&gt;
gcc version 4.2.4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;test2&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Test #2&amp;lt;/h3&amp;gt;&lt;br /&gt;
Within the chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
i686&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the host:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ uname -m&lt;br /&gt;
x86_64&amp;lt;/pre&amp;gt;&lt;br /&gt;
as you can see - the chroot picks a not-64bit-gcc and uname -m returns not 64bit within the chroot - It's working ;-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;updatechroot&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Updating the Chroot-System&amp;lt;/h3&amp;gt;&lt;br /&gt;
My Image might be quite old and it's usually good to have the chroot environment as up to date as the host is. Run the following commands to get new packages/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lin moonbase; lin theedge&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run &amp;quot;lunar&amp;quot; and set some settings. The most important Settings might be the Optimizations. You can either go through: Option -&amp;amp;gt; Optimize Architecture or you run &amp;quot;lunar optimize&amp;quot; at the console. After you've done configuring your lunar installation run:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lunar renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
to update your whole installation. Get a cup of tea or coffee, this might take a while depending on your box and resources. At this state you should have a running 32 Bit Chroot. However we will still need to enhance this a bit. You want for sure X11 within the Chroot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;enhance&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Enhancing your Chroot Installation&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;x11&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;X11&amp;lt;/h3&amp;gt;&lt;br /&gt;
We mounted /tmp from the host to /tmp inside the chroot already. This way we can use the X11 Socket to connect applications within the chroot to our running x11-server within the host. You could also, if this isn’t possible, use TCP Connections. But they come usually with overhead and thus performance of x11 stuff will be bad. Anyway. You don’t need a whole X11-Server within the chroot, just a few x11 libs. Let’s go:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ lin -cr libX11 fixesproto libXxf86vm libXt libXmu libXi mesa-lib xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will install some X11 staff and libraries which are needed. You need now to allow X11-Unix-Socket Connections. Within the Chroot Environment edit your /etc/hostname and set &amp;quot;linux32&amp;quot; or something similar, remember this hostname. On the host type in: xhost +local:linux32 (Replace linux32 with the hostname you've set) or you could use &amp;quot;xhost +&amp;quot; which is insecure. Now you can test your X11 using xclock within your Chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@linux32 ~ $ export DISPLAY=”:0.0″&lt;br /&gt;
wdp@linux32 ~ $ xclock&amp;lt;/pre&amp;gt;&lt;br /&gt;
You see the Clock? Fine it worked :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;3daccel&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;3D Acceleration&amp;lt;/h3&amp;gt;&lt;br /&gt;
If you want to run 32 Bit Games or Emulators like wine which don't work in native 64 Bit you might want to have 3D Acceleration. As i got an nvidia graphic card i will show how to setup 3D Acceleration with nvidia cards, for other cards it should be similar, you just need to replace nvidia by another driver. The important thing about this is that you have to use exactly the same driver version within your chroot than the driver version in your host, otherwise it will simply not work. Thats why you should try to keep both installations as up to date as possible.&lt;br /&gt;
&lt;br /&gt;
It is really important that you got your kernel files and kernel header from the host, also within the chroot. you can do that by copy (cp) from the host to the chrooted environment or you simply copy over the current kernel configuration to the chroot and compile the kernel within the chroot again. (i will explain this step better when i got more time) - Keep also in mind, by default the kernel is on hold within the lunar installation. you might want to &amp;quot;unhold&amp;quot; it using lvu.&lt;br /&gt;
&lt;br /&gt;
On the Host check which NVIDIA drivers you got installed and what version it is:&lt;br /&gt;
&amp;lt;pre&amp;gt;wdp@yulivee ~ $ lvu installed NVIDIA&lt;br /&gt;
NVIDIA is not installed&lt;br /&gt;
wdp@yulivee ~ $ lvu installed NVIDIA-beta&lt;br /&gt;
185.18.14&lt;br /&gt;
wdp@yulivee ~ $&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, i have NVIDIA-beta installed on the host. Within the Chroot i check now whats the current version of NVIDIA-beta within the moonbase using:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@yulivee /usr/src # lvu version NVIDIA-beta&lt;br /&gt;
185.18.14&amp;lt;/pre&amp;gt;&lt;br /&gt;
As you can see, it's the same version, so everything is fine, issue:&lt;br /&gt;
&amp;lt;pre&amp;gt;lget NVIDIA-beta&amp;lt;/pre&amp;gt;&lt;br /&gt;
and copy the .run from /var/spool/lunar to /usr/src. Make it executable using chmod a+x file.run and run it finally using ./file.run. Of course you have to replace &amp;quot;file&amp;quot; with the real filename.&lt;br /&gt;
&lt;br /&gt;
It will tell you that you run an X-Server and you have to stop this one first. Thats np, close X11, chroot into your chroot on the console and install NVIDIA. Exit the Chroot, start X11 again and everything is fine and should be done. You have to try around a bit with the NVIDIA Installer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;homedir&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Home directory&amp;lt;/h3&amp;gt;&lt;br /&gt;
This is the easiest Task. We just need to mount the home directory with bind:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o bind /home $OC/home&amp;lt;/pre&amp;gt;&lt;br /&gt;
Within the Chroot you can “su - username” and you’re in your home directory, without any problems or any flaws.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;initscript&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Init Script&amp;lt;/h3&amp;gt;&lt;br /&gt;
These are only examples.. you’ll probably find nicer variants. Anyway, for both scripts you will need a configfile containing at least the variable CHROOTDIR - which should point to your Chroot Directory. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Config&amp;lt;/strong&amp;gt;&lt;br /&gt;
This config will be used by the initscripts below and our “chroot-enter script”.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/lunar32chroot.conf&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ^.^&lt;br /&gt;
OK=&amp;quot;\033[00;29;1m[ \033[00;32;1mDONE\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
FAIL=&amp;quot;\033[00;29;1m[ \033[00;32;1mFAIL\033[00;29;1m ]\033[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CHROOTDIR=&amp;quot;/home/wdp/32bit&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;SysVinit:&amp;lt;/strong&amp;gt;&lt;br /&gt;
This Init Script will mount with --bind some needed directories for the chroot and copy some files which you will most likely want to keep up to date, to have permissions and networking working correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /etc/init.d/lunar32chroot&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# lunar32chroot Initializes the 32 Bit lunar chroot&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 80 10&lt;br /&gt;
# description: Initializes 32 Bit chroot&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;/etc/lunar32chroot.conf&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
    source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    # we need a config...&lt;br /&gt;
    echo &amp;quot;No config file found&amp;quot;&lt;br /&gt;
    echo -e $FAIL&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    start)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Starting 32bit chroot...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Mounting chroot directories...&amp;quot;&lt;br /&gt;
        mount -o bind /dev $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /dev/pts ]; then&lt;br /&gt;
            mount -o bind /dev/pts $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d /dev/shm ]; then&lt;br /&gt;
            mount -o bind /dev/shm $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /proc $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d /proc/bus/usb ]; then&lt;br /&gt;
            mount -o bind /proc/bus/usb $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        mount -o bind /sys $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /tmp $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        mount -o bind /home $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was mounted&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Copying essential files...&amp;quot;&lt;br /&gt;
        cp -afr /etc/resolv.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/passwd $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/shadow $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/group $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/hosts $CHROOTDIR/etc &amp;amp;gt; /dev/null&lt;br /&gt;
        cp -afr /etc/localtime $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        cp -afr /etc/nsswitch.conf $CHROOTDIR/etc &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether everything was copied&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    stop)&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;Stopping 32bit chroot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo -n &amp;quot;Unmounting 32bit chroot directories...&amp;quot;&lt;br /&gt;
        umount -fl $CHROOTDIR/home &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/tmp &amp;amp;gt;/dev/null&lt;br /&gt;
        umount -fl $CHROOTDIR/sys &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/proc/bus/usb ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/proc/bus/usb &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -f $CHROOTDIR/proc &amp;amp;gt;/dev/null&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/shm ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/shm &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -d $CHROOTDIR/dev/pts ]; then&lt;br /&gt;
            umount -fl $CHROOTDIR/dev/pts &amp;amp;gt;/dev/null&lt;br /&gt;
        fi&lt;br /&gt;
        umount -fl $CHROOTDIR/dev &amp;amp;gt;/dev/null&lt;br /&gt;
        # todo: add a check whether umount was ok&lt;br /&gt;
        echo -e $OK&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now run “chkconfig –add lunar32chroot” to create the essential init scripts/symlinks for the different runlevels and you’re done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;enterchrootscript&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Entering Chroot - Script&amp;lt;/h3&amp;gt;&lt;br /&gt;
With this Script you just need to type “lunar32″ to enter the chroot environment. Keep in mind the &amp;quot;linux32&amp;quot; command should be available on all boxes, you dont need to install additional software. However its part of &amp;quot;util-linux&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /usr/bin/lunar32&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# little script to reduce some things to just one command&lt;br /&gt;
# especially for lazy people like me.&lt;br /&gt;
&lt;br /&gt;
source /etc/lunar32chroot.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Entering chroot...&amp;quot;&lt;br /&gt;
linux32 chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Hint from Beko&amp;lt;/strong&amp;gt;&lt;br /&gt;
Beko has shown me a dirty way (as he said) of doing the same using sudo, thus you can enter the environment without beeing root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux32 sudo chroot &amp;quot;$CHROOTDIR&amp;quot; /bin/bash -c &amp;quot;su $WHOAMI&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Negative Sideeffects: you're landing in / at the start and sudo has to run with NOPASS. Thats why this solution is dirty and might be a security risk. However.. :-) &amp;lt;b&amp;gt;By the way&amp;lt;/b&amp;gt; Of course you want to replace $WHOAMI with your username - or a variable containing the current username.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Applications&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;fonts&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Fonts&amp;lt;/h3&amp;gt;&lt;br /&gt;
For most applications you will need some X11 Fonts installed within the Chroot. Its enough if you install these:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-adobe-utopia-type1 font-bitstream-100dpi font-bitstream-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi&amp;lt;/pre&amp;gt;&lt;br /&gt;
some of them might not be needed, but well doesnt hurt to install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Skype&amp;lt;/h3&amp;gt;&lt;br /&gt;
If you want to use Skype you will have to install some more libraries and tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /var/lib/lunar/moonbase&lt;br /&gt;
cp -rva kde4/base/qt4 zlocal/&lt;br /&gt;
cd zlocal/qt4&lt;br /&gt;
vim DEPENDS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;depends  %X&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally install needed stuff:&lt;br /&gt;
&amp;lt;pre&amp;gt;lin -cr dbus alsa-utils videoproto libXv scrnsaverproto libXScrnSaver qt4&amp;lt;/pre&amp;gt;&lt;br /&gt;
It might be needed to install dbus-qt3 (not sure) if so, you have to copy the module to zlocal and edit the DEPENDS file (of qt3 and of dbus-qt3) to remove the X Dependecy.&lt;br /&gt;
&lt;br /&gt;
Skype should now work. You might want to look at the &amp;quot;fonts&amp;quot; Section because skype will display broken fonts :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a name=&amp;quot;usefuldoc&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Useful Documentation:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&amp;amp;amp;chap=2&amp;quot;&amp;gt;Gentoo Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://ubuntuforums.org/showthread.php?t=24575&amp;quot;&amp;gt;Ubuntu Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://wiki.ubuntuusers.de/32-Bit_chroot&amp;quot;&amp;gt;Ubuntu Wiki&amp;lt;/a&amp;gt; [German]&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;http://www.debian-administration.org/article/Installing_apps_in_a_32-bit_chroot_in_AMD64_Debian_system&amp;quot;&amp;gt;Debian Howto&amp;lt;/a&amp;gt; [English]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux</id>
		<title>Hardened Lunar-Linux</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux"/>
				<updated>2007-03-15T05:06:49Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* News / Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Project ==&lt;br /&gt;
&lt;br /&gt;
Since i use Lunar Linux on some production servers (In an hosting-company) i'm interested in securing Linux, especially securing Lunar Linux. This Project will give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A more secure System&lt;br /&gt;
 * A stable System&lt;br /&gt;
 * A good working environment&lt;br /&gt;
&lt;br /&gt;
We're providing many patches to applications. These patches are including bugfixes, security enhancements and other related things. The System itself will probably loose a few things, too. For example: It will not be as user-friendly as the original Lunar Linux is. Thats why i think we shouldn't add these patches and enhancements to the normal moonbase.&lt;br /&gt;
&lt;br /&gt;
This Project won't give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A 100% secured System&lt;br /&gt;
 * A racing-gaming-1337-System&lt;br /&gt;
&lt;br /&gt;
Please keep in mind: We, especially I can't give you any warranty, that this enhancements will keep your system really secure. For a really secure System you need a Systemadministrator and some more things. Feel free to contact me, if you need one ;-)&lt;br /&gt;
&lt;br /&gt;
== News / Progress ==&lt;br /&gt;
&lt;br /&gt;
 * Still experimental&lt;br /&gt;
&lt;br /&gt;
 * 14th/15th March 2007 - Added some patches for other applications, working on net-tools atm i want&lt;br /&gt;
                          to combine some patches i found with the lunar-fixes patch. Since yet &lt;br /&gt;
                          everything is working really fine. I'll try it the next days on a second &lt;br /&gt;
                          system.&lt;br /&gt;
 * 13th March 2007      - Compiled everything like described in this Document. Everything seems &lt;br /&gt;
                          working. Rebuilding now the entire System.&lt;br /&gt;
&lt;br /&gt;
== ToDo / Needed ==&lt;br /&gt;
&lt;br /&gt;
 * I need some people to test this enhancements.&lt;br /&gt;
 * I need some people helping me to be up-to-date in security informations (Needed patches, known vulnerabilities, etc).&lt;br /&gt;
 * I need some people helping writing, managing and searching patches.&lt;br /&gt;
&lt;br /&gt;
 * I need an bash script doing the installation of the hardened Lunar automatically. At the moment it's a bit annoying and much work for the end-user.&lt;br /&gt;
 * I have some patches not working - They have to be corrected.&lt;br /&gt;
&lt;br /&gt;
== What modules are we using? ==&lt;br /&gt;
&lt;br /&gt;
We're using the same modules like the original Lunar Linux, sometimes we use newer modules like gcc 4.1.2 and glibc 2.5 - Cause i personally think most problems with these newer modules are corrected with the used patches. Compiled and worked&lt;br /&gt;
really fine on 4 Systems. &lt;br /&gt;
&lt;br /&gt;
It could be, that Hardened Lunar Linux will have some older modules than the original Lunar Linux - Thats a 'Time'-Problem. We have to rewrite patches, search for new patches, looking for vulnerabilities and and and. Hardened Lunar Linux should offer a 'stable' and 'secure' system - Not an extremly-up-to-date distribution.&lt;br /&gt;
&lt;br /&gt;
== How about patches, where are they from? ==&lt;br /&gt;
&lt;br /&gt;
We take patches from the LFS and HLFS Download Sites. Perhaps we'll use patches from other Distributions, too. Depends on the patch - As long as we keep credit, this shouldn't be a problem. But at least we'll write our own patches, too.&lt;br /&gt;
&lt;br /&gt;
== Do i need GRSecurity or a special Kernel? ==&lt;br /&gt;
&lt;br /&gt;
Thats a good question, the simple answer is:&lt;br /&gt;
&lt;br /&gt;
No! You don't.&lt;br /&gt;
&lt;br /&gt;
The long answer is:&lt;br /&gt;
&lt;br /&gt;
Depends on what you want. It could be that a grsecurity kernel is exactly what u want - It could make your whole system more secure than anything else. But it could make your system unstable, too. If u want to use PAX, ACL, such things you will need at least a recompile of your kernel. But as i explained above: We're patching applications. These patches are bugfixes and security enhancements, possibly features and &amp;quot;now-i-work-better-with-grsec&amp;quot;-things.&lt;br /&gt;
&lt;br /&gt;
You are free, to use what u want.&lt;br /&gt;
&lt;br /&gt;
== Looks interesting, where do i begin? ==&lt;br /&gt;
&lt;br /&gt;
Here. Well, really here. You should make some coffee/tea. At the moment, it's a long way. I hope i will be able to write a little Bashscript with an automatically installation. Follow the following topics:&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Required files]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux The 3 Steps Installation]]&lt;br /&gt;
 3.) [[Hardened_Lunar-Linux Optional: Special Kernel]]&lt;br /&gt;
 4.) [[Hardened_Lunar-Linux Recommended: Testing everything]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
still working on it .. ;)&lt;br /&gt;
&lt;br /&gt;
=== Overview (For Developers or Interested Users ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Patches and their Descriptions]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux Changes Configure Scripts and Why]]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux</id>
		<title>Hardened Lunar-Linux</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux"/>
				<updated>2007-03-15T05:06:11Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* News / Progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Project ==&lt;br /&gt;
&lt;br /&gt;
Since i use Lunar Linux on some production servers (In an hosting-company) i'm interested in securing Linux, especially securing Lunar Linux. This Project will give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A more secure System&lt;br /&gt;
 * A stable System&lt;br /&gt;
 * A good working environment&lt;br /&gt;
&lt;br /&gt;
We're providing many patches to applications. These patches are including bugfixes, security enhancements and other related things. The System itself will probably loose a few things, too. For example: It will not be as user-friendly as the original Lunar Linux is. Thats why i think we shouldn't add these patches and enhancements to the normal moonbase.&lt;br /&gt;
&lt;br /&gt;
This Project won't give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A 100% secured System&lt;br /&gt;
 * A racing-gaming-1337-System&lt;br /&gt;
&lt;br /&gt;
Please keep in mind: We, especially I can't give you any warranty, that this enhancements will keep your system really secure. For a really secure System you need a Systemadministrator and some more things. Feel free to contact me, if you need one ;-)&lt;br /&gt;
&lt;br /&gt;
== News / Progress ==&lt;br /&gt;
&lt;br /&gt;
 * Still experimental&lt;br /&gt;
&lt;br /&gt;
 * 14th/15th March 2007 - Added some patches for other applications, working on net-tools atm i want to combine some patches i found with the lunar-fixes patch. Since yet everything is working really fine. I'll try it the next days on a second system.&lt;br /&gt;
 * 13th March 2007 - Compiled everything like described in this Document. Everything seems working. Rebuilding now the entire System.&lt;br /&gt;
&lt;br /&gt;
== ToDo / Needed ==&lt;br /&gt;
&lt;br /&gt;
 * I need some people to test this enhancements.&lt;br /&gt;
 * I need some people helping me to be up-to-date in security informations (Needed patches, known vulnerabilities, etc).&lt;br /&gt;
 * I need some people helping writing, managing and searching patches.&lt;br /&gt;
&lt;br /&gt;
 * I need an bash script doing the installation of the hardened Lunar automatically. At the moment it's a bit annoying and much work for the end-user.&lt;br /&gt;
 * I have some patches not working - They have to be corrected.&lt;br /&gt;
&lt;br /&gt;
== What modules are we using? ==&lt;br /&gt;
&lt;br /&gt;
We're using the same modules like the original Lunar Linux, sometimes we use newer modules like gcc 4.1.2 and glibc 2.5 - Cause i personally think most problems with these newer modules are corrected with the used patches. Compiled and worked&lt;br /&gt;
really fine on 4 Systems. &lt;br /&gt;
&lt;br /&gt;
It could be, that Hardened Lunar Linux will have some older modules than the original Lunar Linux - Thats a 'Time'-Problem. We have to rewrite patches, search for new patches, looking for vulnerabilities and and and. Hardened Lunar Linux should offer a 'stable' and 'secure' system - Not an extremly-up-to-date distribution.&lt;br /&gt;
&lt;br /&gt;
== How about patches, where are they from? ==&lt;br /&gt;
&lt;br /&gt;
We take patches from the LFS and HLFS Download Sites. Perhaps we'll use patches from other Distributions, too. Depends on the patch - As long as we keep credit, this shouldn't be a problem. But at least we'll write our own patches, too.&lt;br /&gt;
&lt;br /&gt;
== Do i need GRSecurity or a special Kernel? ==&lt;br /&gt;
&lt;br /&gt;
Thats a good question, the simple answer is:&lt;br /&gt;
&lt;br /&gt;
No! You don't.&lt;br /&gt;
&lt;br /&gt;
The long answer is:&lt;br /&gt;
&lt;br /&gt;
Depends on what you want. It could be that a grsecurity kernel is exactly what u want - It could make your whole system more secure than anything else. But it could make your system unstable, too. If u want to use PAX, ACL, such things you will need at least a recompile of your kernel. But as i explained above: We're patching applications. These patches are bugfixes and security enhancements, possibly features and &amp;quot;now-i-work-better-with-grsec&amp;quot;-things.&lt;br /&gt;
&lt;br /&gt;
You are free, to use what u want.&lt;br /&gt;
&lt;br /&gt;
== Looks interesting, where do i begin? ==&lt;br /&gt;
&lt;br /&gt;
Here. Well, really here. You should make some coffee/tea. At the moment, it's a long way. I hope i will be able to write a little Bashscript with an automatically installation. Follow the following topics:&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Required files]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux The 3 Steps Installation]]&lt;br /&gt;
 3.) [[Hardened_Lunar-Linux Optional: Special Kernel]]&lt;br /&gt;
 4.) [[Hardened_Lunar-Linux Recommended: Testing everything]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
still working on it .. ;)&lt;br /&gt;
&lt;br /&gt;
=== Overview (For Developers or Interested Users ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Patches and their Descriptions]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux Changes Configure Scripts and Why]]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Lunar_Linux_Hardened</id>
		<title>Lunar Linux Hardened</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Lunar_Linux_Hardened"/>
				<updated>2007-03-15T05:04:12Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-15T04:27:41Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* vorbis-tools 1.1.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
 Various fixes from RedHat.&lt;br /&gt;
 Individual patches:&lt;br /&gt;
  grep-2.5.1-fgrep.patch,&lt;br /&gt;
  grep-2.5.1-bracket.patch,&lt;br /&gt;
  grep-2.5-i18n.patch,&lt;br /&gt;
  grep-2.5.1-oi.patch,&lt;br /&gt;
  grep-2.5.1-manpage.patch,&lt;br /&gt;
  grep-2.5.1-color.patch,&lt;br /&gt;
  grep-2.5.1-icolor.patch,&lt;br /&gt;
  grep-2.5.1-egf-speedup.patch,&lt;br /&gt;
  grep-2.5.1-dfa-optional.patch,&lt;br /&gt;
  grep-2.5.1-tests.patch,&lt;br /&gt;
  grep-2.5.1-w.patch&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vim 7.0 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-15.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Contains patches 001-206 from upstream excluding patches 005, 027, 028, 032, 045, 057, 065, 074, 108, 130, 132, 138, 156, 161, 170, 171, 180, 197, and 198 as they are for &amp;quot;extras&amp;quot; (e.g. Mac, Windows) only.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fortify_warnings-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes warnings caused by -D_FORTIFY_SOURCE=2.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch modifies Vim for paranoid temporary file creation.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mandir-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Adjusts installation of manual pages to meet Man-DB expectations. Additional change to explicitly install the man pages into /usr/share/man instead of /usr/man by Ag Hatzim.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;spellfile-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows downloading spellfiles via HTTP, thus reverting the negative effect of ftp://ftp.vim.org/pub/vim/patches/7.0/7.0.010&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== autofs 4.1.4 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;consolidated-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A consolidation of nine upstram packages. ========= This patch provides a configure option to disable the use of a lock file when calling mount from autofs. It also adds a patch to the &amp;quot;patches&amp;quot; directory that needs to be used for mount to (hopefully) prevent /etc/mtab corruption when rapidly mounting filesystems when autofs does not use locking.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bin86 0.16.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;x86_64-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows bin86 to compile on x86_64, which permits lilo to be used in a 64-bit system.  I'm dubious about ROCK's attempts to automatically add dual-licensing to all their patches, but bin86 is already GPL'd.  I've heard from the maintainer that this will be included in the next upload.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xmms 1.2.10 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes build issue when using GCC-4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xinetd 2.3.14 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vorbis-tools 1.1.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;utf8-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Vorbiscomment doesn't handle utf-8 characters correctly. https://trac.xiph.org/ticket/685&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== unzip 5.52 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch compiles unzip with -fPIE, and disables assembly so that unzip and libunzip do not have TEXT RELOCATION's. Needed for HLFS. This patch also makes unzip use a non-executable stack, needed with Grsecurity kernels.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dont_make_noise-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;When unzipping files, the unzip stub prints out lot of &amp;quot;useful&amp;quot; info messages. These messages can cause applications such as Midnight Commander to display strange behavior. This patch is useful for users linking unzip to the system zlib&lt;br /&gt;
(i.e. installed as per the BLFS guidelines).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fix_libz-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compilation against system zlib.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;security_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes CVE-2005-2475 and CVE-2005-4667&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-15T04:16:48Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* xinetd 2.3.14 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
 Various fixes from RedHat.&lt;br /&gt;
 Individual patches:&lt;br /&gt;
  grep-2.5.1-fgrep.patch,&lt;br /&gt;
  grep-2.5.1-bracket.patch,&lt;br /&gt;
  grep-2.5-i18n.patch,&lt;br /&gt;
  grep-2.5.1-oi.patch,&lt;br /&gt;
  grep-2.5.1-manpage.patch,&lt;br /&gt;
  grep-2.5.1-color.patch,&lt;br /&gt;
  grep-2.5.1-icolor.patch,&lt;br /&gt;
  grep-2.5.1-egf-speedup.patch,&lt;br /&gt;
  grep-2.5.1-dfa-optional.patch,&lt;br /&gt;
  grep-2.5.1-tests.patch,&lt;br /&gt;
  grep-2.5.1-w.patch&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vim 7.0 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-15.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Contains patches 001-206 from upstream excluding patches 005, 027, 028, 032, 045, 057, 065, 074, 108, 130, 132, 138, 156, 161, 170, 171, 180, 197, and 198 as they are for &amp;quot;extras&amp;quot; (e.g. Mac, Windows) only.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fortify_warnings-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes warnings caused by -D_FORTIFY_SOURCE=2.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch modifies Vim for paranoid temporary file creation.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mandir-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Adjusts installation of manual pages to meet Man-DB expectations. Additional change to explicitly install the man pages into /usr/share/man instead of /usr/man by Ag Hatzim.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;spellfile-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows downloading spellfiles via HTTP, thus reverting the negative effect of ftp://ftp.vim.org/pub/vim/patches/7.0/7.0.010&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== autofs 4.1.4 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;consolidated-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A consolidation of nine upstram packages. ========= This patch provides a configure option to disable the use of a lock file when calling mount from autofs. It also adds a patch to the &amp;quot;patches&amp;quot; directory that needs to be used for mount to (hopefully) prevent /etc/mtab corruption when rapidly mounting filesystems when autofs does not use locking.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bin86 0.16.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;x86_64-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows bin86 to compile on x86_64, which permits lilo to be used in a 64-bit system.  I'm dubious about ROCK's attempts to automatically add dual-licensing to all their patches, but bin86 is already GPL'd.  I've heard from the maintainer that this will be included in the next upload.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xmms 1.2.10 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes build issue when using GCC-4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xinetd 2.3.14 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vorbis-tools 1.1.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;utf8-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Vorbiscomment doesn't handle utf-8 characters correctly. https://trac.xiph.org/ticket/685&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-15T04:01:27Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* xmms 1.2.10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
 Various fixes from RedHat.&lt;br /&gt;
 Individual patches:&lt;br /&gt;
  grep-2.5.1-fgrep.patch,&lt;br /&gt;
  grep-2.5.1-bracket.patch,&lt;br /&gt;
  grep-2.5-i18n.patch,&lt;br /&gt;
  grep-2.5.1-oi.patch,&lt;br /&gt;
  grep-2.5.1-manpage.patch,&lt;br /&gt;
  grep-2.5.1-color.patch,&lt;br /&gt;
  grep-2.5.1-icolor.patch,&lt;br /&gt;
  grep-2.5.1-egf-speedup.patch,&lt;br /&gt;
  grep-2.5.1-dfa-optional.patch,&lt;br /&gt;
  grep-2.5.1-tests.patch,&lt;br /&gt;
  grep-2.5.1-w.patch&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vim 7.0 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-15.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Contains patches 001-206 from upstream excluding patches 005, 027, 028, 032, 045, 057, 065, 074, 108, 130, 132, 138, 156, 161, 170, 171, 180, 197, and 198 as they are for &amp;quot;extras&amp;quot; (e.g. Mac, Windows) only.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fortify_warnings-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes warnings caused by -D_FORTIFY_SOURCE=2.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch modifies Vim for paranoid temporary file creation.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mandir-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Adjusts installation of manual pages to meet Man-DB expectations. Additional change to explicitly install the man pages into /usr/share/man instead of /usr/man by Ag Hatzim.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;spellfile-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows downloading spellfiles via HTTP, thus reverting the negative effect of ftp://ftp.vim.org/pub/vim/patches/7.0/7.0.010&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== autofs 4.1.4 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;consolidated-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A consolidation of nine upstram packages. ========= This patch provides a configure option to disable the use of a lock file when calling mount from autofs. It also adds a patch to the &amp;quot;patches&amp;quot; directory that needs to be used for mount to (hopefully) prevent /etc/mtab corruption when rapidly mounting filesystems when autofs does not use locking.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bin86 0.16.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;x86_64-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows bin86 to compile on x86_64, which permits lilo to be used in a 64-bit system.  I'm dubious about ROCK's attempts to automatically add dual-licensing to all their patches, but bin86 is already GPL'd.  I've heard from the maintainer that this will be included in the next upload.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xmms 1.2.10 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes build issue when using GCC-4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xinetd 2.3.14 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-15T03:55:25Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* bin86 0.16.17 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
 Various fixes from RedHat.&lt;br /&gt;
 Individual patches:&lt;br /&gt;
  grep-2.5.1-fgrep.patch,&lt;br /&gt;
  grep-2.5.1-bracket.patch,&lt;br /&gt;
  grep-2.5-i18n.patch,&lt;br /&gt;
  grep-2.5.1-oi.patch,&lt;br /&gt;
  grep-2.5.1-manpage.patch,&lt;br /&gt;
  grep-2.5.1-color.patch,&lt;br /&gt;
  grep-2.5.1-icolor.patch,&lt;br /&gt;
  grep-2.5.1-egf-speedup.patch,&lt;br /&gt;
  grep-2.5.1-dfa-optional.patch,&lt;br /&gt;
  grep-2.5.1-tests.patch,&lt;br /&gt;
  grep-2.5.1-w.patch&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vim 7.0 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-15.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Contains patches 001-206 from upstream excluding patches 005, 027, 028, 032, 045, 057, 065, 074, 108, 130, 132, 138, 156, 161, 170, 171, 180, 197, and 198 as they are for &amp;quot;extras&amp;quot; (e.g. Mac, Windows) only.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fortify_warnings-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes warnings caused by -D_FORTIFY_SOURCE=2.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch modifies Vim for paranoid temporary file creation.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mandir-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Adjusts installation of manual pages to meet Man-DB expectations. Additional change to explicitly install the man pages into /usr/share/man instead of /usr/man by Ag Hatzim.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;spellfile-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows downloading spellfiles via HTTP, thus reverting the negative effect of ftp://ftp.vim.org/pub/vim/patches/7.0/7.0.010&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== autofs 4.1.4 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;consolidated-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A consolidation of nine upstram packages. ========= This patch provides a configure option to disable the use of a lock file when calling mount from autofs. It also adds a patch to the &amp;quot;patches&amp;quot; directory that needs to be used for mount to (hopefully) prevent /etc/mtab corruption when rapidly mounting filesystems when autofs does not use locking.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bin86 0.16.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;x86_64-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows bin86 to compile on x86_64, which permits lilo to be used in a 64-bit system.  I'm dubious about ROCK's attempts to automatically add dual-licensing to all their patches, but bin86 is already GPL'd.  I've heard from the maintainer that this will be included in the next upload.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xmms 1.2.10 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes build issue when using GCC-4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-14T22:00:28Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* autofs 4.1.4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
 Various fixes from RedHat.&lt;br /&gt;
 Individual patches:&lt;br /&gt;
  grep-2.5.1-fgrep.patch,&lt;br /&gt;
  grep-2.5.1-bracket.patch,&lt;br /&gt;
  grep-2.5-i18n.patch,&lt;br /&gt;
  grep-2.5.1-oi.patch,&lt;br /&gt;
  grep-2.5.1-manpage.patch,&lt;br /&gt;
  grep-2.5.1-color.patch,&lt;br /&gt;
  grep-2.5.1-icolor.patch,&lt;br /&gt;
  grep-2.5.1-egf-speedup.patch,&lt;br /&gt;
  grep-2.5.1-dfa-optional.patch,&lt;br /&gt;
  grep-2.5.1-tests.patch,&lt;br /&gt;
  grep-2.5.1-w.patch&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vim 7.0 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-15.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Contains patches 001-206 from upstream excluding patches 005, 027, 028, 032, 045, 057, 065, 074, 108, 130, 132, 138, 156, 161, 170, 171, 180, 197, and 198 as they are for &amp;quot;extras&amp;quot; (e.g. Mac, Windows) only.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fortify_warnings-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes warnings caused by -D_FORTIFY_SOURCE=2.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch modifies Vim for paranoid temporary file creation.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mandir-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Adjusts installation of manual pages to meet Man-DB expectations. Additional change to explicitly install the man pages into /usr/share/man instead of /usr/man by Ag Hatzim.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;spellfile-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows downloading spellfiles via HTTP, thus reverting the negative effect of ftp://ftp.vim.org/pub/vim/patches/7.0/7.0.010&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== autofs 4.1.4 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;consolidated-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A consolidation of nine upstram packages. ========= This patch provides a configure option to disable the use of a lock file when calling mount from autofs. It also adds a patch to the &amp;quot;patches&amp;quot; directory that needs to be used for mount to (hopefully) prevent /etc/mtab corruption when rapidly mounting filesystems when autofs does not use locking.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bin86 0.16.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;x86_64-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows bin86 to compile on x86_64, which permits lilo to be used in a 64-bit system.  I'm dubious about ROCK's attempts to automatically add dual-licensing to all their patches, but bin86 is already GPL'd.  I've heard from the maintainer that this will be included in the next upload.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-14T21:54:30Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* vim 7.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
 Various fixes from RedHat.&lt;br /&gt;
 Individual patches:&lt;br /&gt;
  grep-2.5.1-fgrep.patch,&lt;br /&gt;
  grep-2.5.1-bracket.patch,&lt;br /&gt;
  grep-2.5-i18n.patch,&lt;br /&gt;
  grep-2.5.1-oi.patch,&lt;br /&gt;
  grep-2.5.1-manpage.patch,&lt;br /&gt;
  grep-2.5.1-color.patch,&lt;br /&gt;
  grep-2.5.1-icolor.patch,&lt;br /&gt;
  grep-2.5.1-egf-speedup.patch,&lt;br /&gt;
  grep-2.5.1-dfa-optional.patch,&lt;br /&gt;
  grep-2.5.1-tests.patch,&lt;br /&gt;
  grep-2.5.1-w.patch&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vim 7.0 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-15.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Contains patches 001-206 from upstream excluding patches 005, 027, 028, 032, 045, 057, 065, 074, 108, 130, 132, 138, 156, 161, 170, 171, 180, 197, and 198 as they are for &amp;quot;extras&amp;quot; (e.g. Mac, Windows) only.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fortify_warnings-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes warnings caused by -D_FORTIFY_SOURCE=2.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch modifies Vim for paranoid temporary file creation.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mandir-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Adjusts installation of manual pages to meet Man-DB expectations. Additional change to explicitly install the man pages into /usr/share/man instead of /usr/man by Ag Hatzim.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;spellfile-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows downloading spellfiles via HTTP, thus reverting the negative effect of ftp://ftp.vim.org/pub/vim/patches/7.0/7.0.010&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== autofs 4.1.4 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;consolidated-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A consolidation of nine upstram packages. ========= This patch provides a configure option to disable the use of a lock file when calling mount from autofs. It also adds a patch to the &amp;quot;patches&amp;quot; directory that needs to be used for mount to (hopefully) prevent /etc/mtab corruption when rapidly mounting filesystems when autofs does not use locking.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-14T21:42:24Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* util-linux 2.12r */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
 Various fixes from RedHat.&lt;br /&gt;
 Individual patches:&lt;br /&gt;
  grep-2.5.1-fgrep.patch,&lt;br /&gt;
  grep-2.5.1-bracket.patch,&lt;br /&gt;
  grep-2.5-i18n.patch,&lt;br /&gt;
  grep-2.5.1-oi.patch,&lt;br /&gt;
  grep-2.5.1-manpage.patch,&lt;br /&gt;
  grep-2.5.1-color.patch,&lt;br /&gt;
  grep-2.5.1-icolor.patch,&lt;br /&gt;
  grep-2.5.1-egf-speedup.patch,&lt;br /&gt;
  grep-2.5.1-dfa-optional.patch,&lt;br /&gt;
  grep-2.5.1-tests.patch,&lt;br /&gt;
  grep-2.5.1-w.patch&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vim 7.0 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-15.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Contains patches 001-206 from upstream excluding patches 005, 027, 028, 032, 045, 057, 065, 074, 108, 130, 132, 138, 156, 161, 170, 171, 180, 197, and 198 as they are for &amp;quot;extras&amp;quot; (e.g. Mac, Windows) only.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fortify_warnings-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes warnings caused by -D_FORTIFY_SOURCE=2.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch modifies Vim for paranoid temporary file creation.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mandir-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Adjusts installation of manual pages to meet Man-DB expectations. Additional change to explicitly install the man pages into /usr/share/man instead of /usr/man by Ag Hatzim.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;spellfile-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Allows downloading spellfiles via HTTP, thus reverting the negative effect of ftp://ftp.vim.org/pub/vim/patches/7.0/7.0.010&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Changes_Configure_Scripts_and_Why</id>
		<title>Hardened Lunar-Linux Changes Configure Scripts and Why</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Changes_Configure_Scripts_and_Why"/>
				<updated>2007-03-13T06:31:06Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Changes to the Details files ==&lt;br /&gt;
&lt;br /&gt;
=== PSAFE ===&lt;br /&gt;
Some bugfixes contains fixes for parallel makes. Some Applications are PSAFE now - I removed PSAFE=no.&lt;br /&gt;
&lt;br /&gt;
=== Short description ===&lt;br /&gt;
I added &amp;quot;Hardened Version&amp;quot; to the End of this descriptions. It could be useful for support if someone&lt;br /&gt;
has an hardened version - or just a normal one.&lt;br /&gt;
&lt;br /&gt;
=== Sources(x), Sources(x)_Vfy, Sources(x)_Url ===&lt;br /&gt;
Well.. i added patches, so i added Sources.&lt;br /&gt;
&lt;br /&gt;
== Changes to the Build files ==&lt;br /&gt;
&lt;br /&gt;
=== In general ===&lt;br /&gt;
i added patch_it .. etc. Cause of the patches.&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
i had to change the build file, cause of a patch we have to run: aclocal &amp;amp;&amp;amp; autoconf &amp;amp;&amp;amp; autoheader first.&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
added the following things: --with-tls --enable-bind-now --enable-stackguard-randomization &lt;br /&gt;
&lt;br /&gt;
== Changes to Configure files ==&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
added --with-selinux as a query option.&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux</id>
		<title>Hardened Lunar-Linux</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux"/>
				<updated>2007-03-13T06:25:16Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* About this Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Project ==&lt;br /&gt;
&lt;br /&gt;
Since i use Lunar Linux on some production servers (In an hosting-company) i'm interested in securing Linux, especially securing Lunar Linux. This Project will give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A more secure System&lt;br /&gt;
 * A stable System&lt;br /&gt;
 * A good working environment&lt;br /&gt;
&lt;br /&gt;
We're providing many patches to applications. These patches are including bugfixes, security enhancements and other related things. The System itself will probably loose a few things, too. For example: It will not be as user-friendly as the original Lunar Linux is. Thats why i think we shouldn't add these patches and enhancements to the normal moonbase.&lt;br /&gt;
&lt;br /&gt;
This Project won't give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A 100% secured System&lt;br /&gt;
 * A racing-gaming-1337-System&lt;br /&gt;
&lt;br /&gt;
Please keep in mind: We, especially I can't give you any warranty, that this enhancements will keep your system really secure. For a really secure System you need a Systemadministrator and some more things. Feel free to contact me, if you need one ;-)&lt;br /&gt;
&lt;br /&gt;
== News / Progress ==&lt;br /&gt;
&lt;br /&gt;
 * Still experimental&lt;br /&gt;
&lt;br /&gt;
 * 13th March 2007 - Compiled everything like described in this Document. Everything seems working. Rebuilding now the entire System.&lt;br /&gt;
&lt;br /&gt;
== ToDo / Needed ==&lt;br /&gt;
&lt;br /&gt;
 * I need some people to test this enhancements.&lt;br /&gt;
 * I need some people helping me to be up-to-date in security informations (Needed patches, known vulnerabilities, etc).&lt;br /&gt;
 * I need some people helping writing, managing and searching patches.&lt;br /&gt;
&lt;br /&gt;
 * I need an bash script doing the installation of the hardened Lunar automatically. At the moment it's a bit annoying and much work for the end-user.&lt;br /&gt;
 * I have some patches not working - They have to be corrected.&lt;br /&gt;
&lt;br /&gt;
== What modules are we using? ==&lt;br /&gt;
&lt;br /&gt;
We're using the same modules like the original Lunar Linux, sometimes we use newer modules like gcc 4.1.2 and glibc 2.5 - Cause i personally think most problems with these newer modules are corrected with the used patches. Compiled and worked&lt;br /&gt;
really fine on 4 Systems. &lt;br /&gt;
&lt;br /&gt;
It could be, that Hardened Lunar Linux will have some older modules than the original Lunar Linux - Thats a 'Time'-Problem. We have to rewrite patches, search for new patches, looking for vulnerabilities and and and. Hardened Lunar Linux should offer a 'stable' and 'secure' system - Not an extremly-up-to-date distribution.&lt;br /&gt;
&lt;br /&gt;
== How about patches, where are they from? ==&lt;br /&gt;
&lt;br /&gt;
We take patches from the LFS and HLFS Download Sites. Perhaps we'll use patches from other Distributions, too. Depends on the patch - As long as we keep credit, this shouldn't be a problem. But at least we'll write our own patches, too.&lt;br /&gt;
&lt;br /&gt;
== Do i need GRSecurity or a special Kernel? ==&lt;br /&gt;
&lt;br /&gt;
Thats a good question, the simple answer is:&lt;br /&gt;
&lt;br /&gt;
No! You don't.&lt;br /&gt;
&lt;br /&gt;
The long answer is:&lt;br /&gt;
&lt;br /&gt;
Depends on what you want. It could be that a grsecurity kernel is exactly what u want - It could make your whole system more secure than anything else. But it could make your system unstable, too. If u want to use PAX, ACL, such things you will need at least a recompile of your kernel. But as i explained above: We're patching applications. These patches are bugfixes and security enhancements, possibly features and &amp;quot;now-i-work-better-with-grsec&amp;quot;-things.&lt;br /&gt;
&lt;br /&gt;
You are free, to use what u want.&lt;br /&gt;
&lt;br /&gt;
== Looks interesting, where do i begin? ==&lt;br /&gt;
&lt;br /&gt;
Here. Well, really here. You should make some coffee/tea. At the moment, it's a long way. I hope i will be able to write a little Bashscript with an automatically installation. Follow the following topics:&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Required files]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux The 3 Steps Installation]]&lt;br /&gt;
 3.) [[Hardened_Lunar-Linux Optional: Special Kernel]]&lt;br /&gt;
 4.) [[Hardened_Lunar-Linux Recommended: Testing everything]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
still working on it .. ;)&lt;br /&gt;
&lt;br /&gt;
=== Overview (For Developers or Interested Users ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Patches and their Descriptions]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux Changes Configure Scripts and Why]]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux</id>
		<title>Hardened Lunar-Linux</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux"/>
				<updated>2007-03-13T06:24:54Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* About this Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Project ==&lt;br /&gt;
&lt;br /&gt;
Since i use Lunar Linux on some production servers (In an hosting-company) i'm interested in securing Linux, especially securing Lunar Linux. This Project will give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A more secure System&lt;br /&gt;
 * A stable System&lt;br /&gt;
 * A good working environment&lt;br /&gt;
&lt;br /&gt;
We're providing many patches to applications. These patches are including bugfixes, security enhancements and other related things. The System itself will probably loose a few things, too. For example: It will not be as user-friendly as the original Lunar Linux is. Thats why i think we shouldn't add these patches and enhancements to the normal moonbase.&lt;br /&gt;
&lt;br /&gt;
This Project won't give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A 100% secured System&lt;br /&gt;
 * A racing-gaming-1337-System&lt;br /&gt;
&lt;br /&gt;
Please keep in mind: We, especially I can't give u any warranty, that this enhancements will keep your system really secure. For a really secure System you need a Systemadministrator and some more things. Feel free to contact me, if you need one ;-)&lt;br /&gt;
&lt;br /&gt;
== News / Progress ==&lt;br /&gt;
&lt;br /&gt;
 * Still experimental&lt;br /&gt;
&lt;br /&gt;
 * 13th March 2007 - Compiled everything like described in this Document. Everything seems working. Rebuilding now the entire System.&lt;br /&gt;
&lt;br /&gt;
== ToDo / Needed ==&lt;br /&gt;
&lt;br /&gt;
 * I need some people to test this enhancements.&lt;br /&gt;
 * I need some people helping me to be up-to-date in security informations (Needed patches, known vulnerabilities, etc).&lt;br /&gt;
 * I need some people helping writing, managing and searching patches.&lt;br /&gt;
&lt;br /&gt;
 * I need an bash script doing the installation of the hardened Lunar automatically. At the moment it's a bit annoying and much work for the end-user.&lt;br /&gt;
 * I have some patches not working - They have to be corrected.&lt;br /&gt;
&lt;br /&gt;
== What modules are we using? ==&lt;br /&gt;
&lt;br /&gt;
We're using the same modules like the original Lunar Linux, sometimes we use newer modules like gcc 4.1.2 and glibc 2.5 - Cause i personally think most problems with these newer modules are corrected with the used patches. Compiled and worked&lt;br /&gt;
really fine on 4 Systems. &lt;br /&gt;
&lt;br /&gt;
It could be, that Hardened Lunar Linux will have some older modules than the original Lunar Linux - Thats a 'Time'-Problem. We have to rewrite patches, search for new patches, looking for vulnerabilities and and and. Hardened Lunar Linux should offer a 'stable' and 'secure' system - Not an extremly-up-to-date distribution.&lt;br /&gt;
&lt;br /&gt;
== How about patches, where are they from? ==&lt;br /&gt;
&lt;br /&gt;
We take patches from the LFS and HLFS Download Sites. Perhaps we'll use patches from other Distributions, too. Depends on the patch - As long as we keep credit, this shouldn't be a problem. But at least we'll write our own patches, too.&lt;br /&gt;
&lt;br /&gt;
== Do i need GRSecurity or a special Kernel? ==&lt;br /&gt;
&lt;br /&gt;
Thats a good question, the simple answer is:&lt;br /&gt;
&lt;br /&gt;
No! You don't.&lt;br /&gt;
&lt;br /&gt;
The long answer is:&lt;br /&gt;
&lt;br /&gt;
Depends on what you want. It could be that a grsecurity kernel is exactly what u want - It could make your whole system more secure than anything else. But it could make your system unstable, too. If u want to use PAX, ACL, such things you will need at least a recompile of your kernel. But as i explained above: We're patching applications. These patches are bugfixes and security enhancements, possibly features and &amp;quot;now-i-work-better-with-grsec&amp;quot;-things.&lt;br /&gt;
&lt;br /&gt;
You are free, to use what u want.&lt;br /&gt;
&lt;br /&gt;
== Looks interesting, where do i begin? ==&lt;br /&gt;
&lt;br /&gt;
Here. Well, really here. You should make some coffee/tea. At the moment, it's a long way. I hope i will be able to write a little Bashscript with an automatically installation. Follow the following topics:&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Required files]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux The 3 Steps Installation]]&lt;br /&gt;
 3.) [[Hardened_Lunar-Linux Optional: Special Kernel]]&lt;br /&gt;
 4.) [[Hardened_Lunar-Linux Recommended: Testing everything]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
still working on it .. ;)&lt;br /&gt;
&lt;br /&gt;
=== Overview (For Developers or Interested Users ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Patches and their Descriptions]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux Changes Configure Scripts and Why]]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Required_files</id>
		<title>Hardened Lunar-Linux Required files</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Required_files"/>
				<updated>2007-03-13T06:23:09Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* The Hardened Lunar Linux Applications and Patches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Hardened Lunar-Linux Modules ==&lt;br /&gt;
As long as this Project is experimental and not many people are interested in it, it's only available for download as a tar.bz2 and a tar.gz.&lt;br /&gt;
&lt;br /&gt;
 '''Warning'''&lt;br /&gt;
 Backup your zlocal folder, if you have written own modules, not submitted to moonbase.&lt;br /&gt;
 Otherwise it's possible that such modules will be overwritten.&lt;br /&gt;
&lt;br /&gt;
Simply download it by the following command:&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ip-minds.de/lunar_hd/lunarlinux_hd.tar.bz2&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ip-minds.de/lunar_hd/lunarlinux_hd.tar.gz&lt;br /&gt;
&lt;br /&gt;
move it now to your &amp;quot;zlocal&amp;quot; directory by typing:&lt;br /&gt;
&lt;br /&gt;
 mv lunarlinux_hd.tar.bz2 /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 mv lunarlinux_hd.tar.gz /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
&lt;br /&gt;
Move to that directory and uncompress the archive:&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
 tar -xjvf lunarlinux_hd.tar.bz2&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
 tar -xzvf lunarlinux_hd.tar.gz&lt;br /&gt;
&lt;br /&gt;
That was everything. If u have no actual moonbase you should get one now:&lt;br /&gt;
&lt;br /&gt;
 lin moonbase&lt;br /&gt;
&lt;br /&gt;
== The Hardened Lunar Linux Applications and Patches ==&lt;br /&gt;
&lt;br /&gt;
Simply paste the following text to your console, it will download every module and patch so you can install them without beeing online.&lt;br /&gt;
&lt;br /&gt;
 lget gcc&lt;br /&gt;
 lget binutils&lt;br /&gt;
 lget coreutils&lt;br /&gt;
 lget glibc&lt;br /&gt;
 lget db&lt;br /&gt;
 lget procps&lt;br /&gt;
 lget perl&lt;br /&gt;
 lget readline&lt;br /&gt;
 lget zlib&lt;br /&gt;
 lget file&lt;br /&gt;
 lget groff&lt;br /&gt;
 lget less&lt;br /&gt;
 lget module-init-tools&lt;br /&gt;
 lget shadow&lt;br /&gt;
 lget linux-2.6&lt;br /&gt;
 lget sysvinit&lt;br /&gt;
 lget bash&lt;br /&gt;
 lget diffutils&lt;br /&gt;
 lget grep&lt;br /&gt;
 lget sed&lt;br /&gt;
 lget texinfo&lt;br /&gt;
 lget util-linux&lt;br /&gt;
&lt;br /&gt;
For 2.6 Kernel:&lt;br /&gt;
&lt;br /&gt;
 lget kernel-headers-2.6&lt;br /&gt;
 lget linux-2.6&lt;br /&gt;
 lget kernel-reqs&lt;br /&gt;
&lt;br /&gt;
For 2.4 Kernel (I only support 2.6 Kernel):&lt;br /&gt;
&lt;br /&gt;
 lget kernel-headers-2.4&lt;br /&gt;
 lget linux-2.4&lt;br /&gt;
 lget kernel-reqs&lt;br /&gt;
&lt;br /&gt;
If you have special Hardware and you need NVIDIA or linux-wlan-ng or something like this, you should&lt;br /&gt;
lget them, too.&lt;br /&gt;
&lt;br /&gt;
At least you need the filesystem related files.. for example if you use REISERFS:&lt;br /&gt;
&lt;br /&gt;
 lget reiserfsprogs&lt;br /&gt;
&lt;br /&gt;
If you use EXT2/3&lt;br /&gt;
&lt;br /&gt;
 lget e2fsprogs&lt;br /&gt;
&lt;br /&gt;
If you use JFS&lt;br /&gt;
&lt;br /&gt;
 lget jfsutils&lt;br /&gt;
&lt;br /&gt;
If you use XFS&lt;br /&gt;
&lt;br /&gt;
 lget xfsutils&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Required_files</id>
		<title>Hardened Lunar-Linux Required files</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Required_files"/>
				<updated>2007-03-13T06:22:32Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* The Hardened Lunar Linux Applications and Patches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Hardened Lunar-Linux Modules ==&lt;br /&gt;
As long as this Project is experimental and not many people are interested in it, it's only available for download as a tar.bz2 and a tar.gz.&lt;br /&gt;
&lt;br /&gt;
 '''Warning'''&lt;br /&gt;
 Backup your zlocal folder, if you have written own modules, not submitted to moonbase.&lt;br /&gt;
 Otherwise it's possible that such modules will be overwritten.&lt;br /&gt;
&lt;br /&gt;
Simply download it by the following command:&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ip-minds.de/lunar_hd/lunarlinux_hd.tar.bz2&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ip-minds.de/lunar_hd/lunarlinux_hd.tar.gz&lt;br /&gt;
&lt;br /&gt;
move it now to your &amp;quot;zlocal&amp;quot; directory by typing:&lt;br /&gt;
&lt;br /&gt;
 mv lunarlinux_hd.tar.bz2 /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 mv lunarlinux_hd.tar.gz /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
&lt;br /&gt;
Move to that directory and uncompress the archive:&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
 tar -xjvf lunarlinux_hd.tar.bz2&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
 tar -xzvf lunarlinux_hd.tar.gz&lt;br /&gt;
&lt;br /&gt;
That was everything. If u have no actual moonbase you should get one now:&lt;br /&gt;
&lt;br /&gt;
 lin moonbase&lt;br /&gt;
&lt;br /&gt;
== The Hardened Lunar Linux Applications and Patches ==&lt;br /&gt;
&lt;br /&gt;
Simply paste the following text to your console, it will download every module and patch so you can install them without beeing online.&lt;br /&gt;
&lt;br /&gt;
 lget gcc&lt;br /&gt;
 lget binutils&lt;br /&gt;
 lget coreutils&lt;br /&gt;
 lget glibc&lt;br /&gt;
 lget db&lt;br /&gt;
 lget procps&lt;br /&gt;
 lget perl&lt;br /&gt;
 lget readline&lt;br /&gt;
 lget zlib&lt;br /&gt;
 lget file&lt;br /&gt;
 lget groff&lt;br /&gt;
 lget less&lt;br /&gt;
 lget module-init-tools&lt;br /&gt;
 lget shadow&lt;br /&gt;
 lget linux-2.6&lt;br /&gt;
 lget sysvinit&lt;br /&gt;
 lget bash&lt;br /&gt;
 lget diffutils&lt;br /&gt;
 lget grep&lt;br /&gt;
 lget sed&lt;br /&gt;
 lget texinfo&lt;br /&gt;
 lget util-linux&lt;br /&gt;
&lt;br /&gt;
For 2.6 Kernel:&lt;br /&gt;
&lt;br /&gt;
 lget kernel-headers-2.6&lt;br /&gt;
 lget linux-2.6&lt;br /&gt;
 lget kernel-reqs&lt;br /&gt;
&lt;br /&gt;
For 2.4 Kernel (I only support 2.6 Kernel):&lt;br /&gt;
&lt;br /&gt;
 lget kernel-headers-2.4&lt;br /&gt;
 lget linux-2.4&lt;br /&gt;
 lget kernel-reqs&lt;br /&gt;
&lt;br /&gt;
If you have special Hardware and you need NVIDIA or linux-wlan-ng or something like this, you should&lt;br /&gt;
lget them, too.&lt;br /&gt;
&lt;br /&gt;
At least you need the filesystem related files.. for example if u use REISERFS:&lt;br /&gt;
&lt;br /&gt;
 lget reiserfsprogs&lt;br /&gt;
&lt;br /&gt;
If you use EXT2/3&lt;br /&gt;
&lt;br /&gt;
 lget e2fsprogs&lt;br /&gt;
&lt;br /&gt;
If you use JFS&lt;br /&gt;
&lt;br /&gt;
 lget jfsutils&lt;br /&gt;
&lt;br /&gt;
If you use XFS&lt;br /&gt;
&lt;br /&gt;
 lget xfsutils&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux</id>
		<title>Hardened Lunar-Linux</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux"/>
				<updated>2007-03-13T06:19:13Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* News */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Project ==&lt;br /&gt;
&lt;br /&gt;
Since i use Lunar Linux on some production servers (In an hosting-company) i'm interested in securing Linux, especially securing Lunar Linux. This Project will give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A more secure System&lt;br /&gt;
 * A stable System&lt;br /&gt;
 * A good working environment&lt;br /&gt;
&lt;br /&gt;
We're providing many patches to applications. These patches are including bugfixes, security enhancements and other related things. The System itself will probably loose a few things, too. For example: It will not be as user-friendly as the original Lunar Linux is. Thats why i think we shouldn't add these patches and enhancements to the normal moonbase.&lt;br /&gt;
&lt;br /&gt;
This Project won't give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A 100% secured System&lt;br /&gt;
&lt;br /&gt;
Please keep in mind: We, especially I can't give u any warranty, that this enhancements will keep your system really secure. For a really secure System you need a Systemadministrator and some more things. Feel free to contact me, if you need one ;-)&lt;br /&gt;
&lt;br /&gt;
== News / Progress ==&lt;br /&gt;
&lt;br /&gt;
 * Still experimental&lt;br /&gt;
&lt;br /&gt;
 * 13th March 2007 - Compiled everything like described in this Document. Everything seems working. Rebuilding now the entire System.&lt;br /&gt;
&lt;br /&gt;
== ToDo / Needed ==&lt;br /&gt;
&lt;br /&gt;
 * I need some people to test this enhancements.&lt;br /&gt;
 * I need some people helping me to be up-to-date in security informations (Needed patches, known vulnerabilities, etc).&lt;br /&gt;
 * I need some people helping writing, managing and searching patches.&lt;br /&gt;
&lt;br /&gt;
 * I need an bash script doing the installation of the hardened Lunar automatically. At the moment it's a bit annoying and much work for the end-user.&lt;br /&gt;
 * I have some patches not working - They have to be corrected.&lt;br /&gt;
&lt;br /&gt;
== What modules are we using? ==&lt;br /&gt;
&lt;br /&gt;
We're using the same modules like the original Lunar Linux, sometimes we use newer modules like gcc 4.1.2 and glibc 2.5 - Cause i personally think most problems with these newer modules are corrected with the used patches. Compiled and worked&lt;br /&gt;
really fine on 4 Systems. &lt;br /&gt;
&lt;br /&gt;
It could be, that Hardened Lunar Linux will have some older modules than the original Lunar Linux - Thats a 'Time'-Problem. We have to rewrite patches, search for new patches, looking for vulnerabilities and and and. Hardened Lunar Linux should offer a 'stable' and 'secure' system - Not an extremly-up-to-date distribution.&lt;br /&gt;
&lt;br /&gt;
== How about patches, where are they from? ==&lt;br /&gt;
&lt;br /&gt;
We take patches from the LFS and HLFS Download Sites. Perhaps we'll use patches from other Distributions, too. Depends on the patch - As long as we keep credit, this shouldn't be a problem. But at least we'll write our own patches, too.&lt;br /&gt;
&lt;br /&gt;
== Do i need GRSecurity or a special Kernel? ==&lt;br /&gt;
&lt;br /&gt;
Thats a good question, the simple answer is:&lt;br /&gt;
&lt;br /&gt;
No! You don't.&lt;br /&gt;
&lt;br /&gt;
The long answer is:&lt;br /&gt;
&lt;br /&gt;
Depends on what you want. It could be that a grsecurity kernel is exactly what u want - It could make your whole system more secure than anything else. But it could make your system unstable, too. If u want to use PAX, ACL, such things you will need at least a recompile of your kernel. But as i explained above: We're patching applications. These patches are bugfixes and security enhancements, possibly features and &amp;quot;now-i-work-better-with-grsec&amp;quot;-things.&lt;br /&gt;
&lt;br /&gt;
You are free, to use what u want.&lt;br /&gt;
&lt;br /&gt;
== Looks interesting, where do i begin? ==&lt;br /&gt;
&lt;br /&gt;
Here. Well, really here. You should make some coffee/tea. At the moment, it's a long way. I hope i will be able to write a little Bashscript with an automatically installation. Follow the following topics:&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Required files]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux The 3 Steps Installation]]&lt;br /&gt;
 3.) [[Hardened_Lunar-Linux Optional: Special Kernel]]&lt;br /&gt;
 4.) [[Hardened_Lunar-Linux Recommended: Testing everything]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
still working on it .. ;)&lt;br /&gt;
&lt;br /&gt;
=== Overview (For Developers or Interested Users ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Patches and their Descriptions]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux Changes Configure Scripts and Why]]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-13T06:17:50Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
 Various fixes from RedHat.&lt;br /&gt;
 Individual patches:&lt;br /&gt;
  grep-2.5.1-fgrep.patch,&lt;br /&gt;
  grep-2.5.1-bracket.patch,&lt;br /&gt;
  grep-2.5-i18n.patch,&lt;br /&gt;
  grep-2.5.1-oi.patch,&lt;br /&gt;
  grep-2.5.1-manpage.patch,&lt;br /&gt;
  grep-2.5.1-color.patch,&lt;br /&gt;
  grep-2.5.1-icolor.patch,&lt;br /&gt;
  grep-2.5.1-egf-speedup.patch,&lt;br /&gt;
  grep-2.5.1-dfa-optional.patch,&lt;br /&gt;
  grep-2.5.1-tests.patch,&lt;br /&gt;
  grep-2.5.1-w.patch&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-13T06:14:06Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* groff 1.19.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
Configure: Added --with-selinux as a query option, added the following things statically: --with-tls --enable-bind-now --enable-stackguard-randomization&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
 Various fixes from RedHat.&lt;br /&gt;
 Individual patches:&lt;br /&gt;
  grep-2.5.1-fgrep.patch,&lt;br /&gt;
  grep-2.5.1-bracket.patch,&lt;br /&gt;
  grep-2.5-i18n.patch,&lt;br /&gt;
  grep-2.5.1-oi.patch,&lt;br /&gt;
  grep-2.5.1-manpage.patch,&lt;br /&gt;
  grep-2.5.1-color.patch,&lt;br /&gt;
  grep-2.5.1-icolor.patch,&lt;br /&gt;
  grep-2.5.1-egf-speedup.patch,&lt;br /&gt;
  grep-2.5.1-dfa-optional.patch,&lt;br /&gt;
  grep-2.5.1-tests.patch,&lt;br /&gt;
  grep-2.5.1-w.patch&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-13T06:13:50Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* shadow 4.0.18.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
Configure: Added --with-selinux as a query option, added the following things statically: --with-tls --enable-bind-now --enable-stackguard-randomization&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
HINT: Should be PSAFE now. So i removed PSAFE=no from the DETAILS file. See patch for more Informations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
 Various fixes from RedHat.&lt;br /&gt;
 Individual patches:&lt;br /&gt;
  grep-2.5.1-fgrep.patch,&lt;br /&gt;
  grep-2.5.1-bracket.patch,&lt;br /&gt;
  grep-2.5-i18n.patch,&lt;br /&gt;
  grep-2.5.1-oi.patch,&lt;br /&gt;
  grep-2.5.1-manpage.patch,&lt;br /&gt;
  grep-2.5.1-color.patch,&lt;br /&gt;
  grep-2.5.1-icolor.patch,&lt;br /&gt;
  grep-2.5.1-egf-speedup.patch,&lt;br /&gt;
  grep-2.5.1-dfa-optional.patch,&lt;br /&gt;
  grep-2.5.1-tests.patch,&lt;br /&gt;
  grep-2.5.1-w.patch&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-13T06:12:57Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* grep 2.5.1a */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
Configure: Added --with-selinux as a query option, added the following things statically: --with-tls --enable-bind-now --enable-stackguard-randomization&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
HINT: Should be PSAFE now. So i removed PSAFE=no from the DETAILS file. See patch for more Informations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
NOTICE: i had to change the build file, cause of the patch we have to run: aclocal &amp;amp;&amp;amp; autoconf &amp;amp;&amp;amp; autoheader.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
 Various fixes from RedHat.&lt;br /&gt;
 Individual patches:&lt;br /&gt;
  grep-2.5.1-fgrep.patch,&lt;br /&gt;
  grep-2.5.1-bracket.patch,&lt;br /&gt;
  grep-2.5-i18n.patch,&lt;br /&gt;
  grep-2.5.1-oi.patch,&lt;br /&gt;
  grep-2.5.1-manpage.patch,&lt;br /&gt;
  grep-2.5.1-color.patch,&lt;br /&gt;
  grep-2.5.1-icolor.patch,&lt;br /&gt;
  grep-2.5.1-egf-speedup.patch,&lt;br /&gt;
  grep-2.5.1-dfa-optional.patch,&lt;br /&gt;
  grep-2.5.1-tests.patch,&lt;br /&gt;
  grep-2.5.1-w.patch&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions</id>
		<title>Hardened Lunar-Linux Patches and their Descriptions</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Patches_and_their_Descriptions"/>
				<updated>2007-03-13T06:11:02Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== gcc 4.1.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes GCC Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binutils 2.17 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is the binutils-2_17-branch (bug fix branch) update, compared from binutils-2.17-release and binutils-2_17-branch with all the fluff removed (CVS entries, maintainer files, etc). This patch should be updated periodically.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-3.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch uses mkstemp(3) and mkdtemp(3) for temporary file creation, if they are available, rather than the default mktemp(3). This is safer and removes some compiler warnings.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;lazy-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds -z lazy option, inverse of -z now.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This adds PT_PAX_FLAGS to Binutils. See: http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;posix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Makes binutils Posix Compliant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== coreutils 6.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes various problems with multibyte character support.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;uname-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fix the output of uname once and for all.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glibc 2.5 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
Configure: Added --with-selinux as a query option, added the following things statically: --with-tls --enable-bind-now --enable-stackguard-randomization&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds blowfish crypto to libcrypt.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;branch_update-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is a branch update for Glibc-2.5, and should be rechecked periodically. See the &amp;quot;Changelog&amp;quot; and &amp;quot;localedata/ChangeLog&amp;quot; files for specific details.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;dl_execstack_PaX-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch instructs mktemp(1) to use temporary file directory from the '-t' option. It also makes sure temporary files get removed after exiting the scripts.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;iconv_unnest-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Move nested function to a static one so we avoid generating a trampoline.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;localedef_segfault-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes Segfault when using localdef. This problem is only noticed when using PaX and some architectures besides x86. See debian bug # 231438&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;pt_pax-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Pax. http://pax.grsecurity.net/&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;strlcpy_strlcat-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;http://www.courtesan.com/todd/papers/strlcpy.html&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Berkeley DB 4.5.20 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a couple of issues when trying to access databases through the Java API.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== procps 3.2.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== perl 5.8.8 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;regex_ssp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;The regex code in this version of Perl segfaults when compiled with stack smashing protector. This patch disables stack smashing protector just on the affected files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;libc-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a test that checks to see which paramater needs to be used for -fPIC and forces the objects in DynaLoader to be built with -fPIC.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== readline 5.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;readline52-001&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Patch 001 from upstream: In some cases, code that is intended to be used in the presence of multibyte characters is called when no such characters are present, leading to incorrect display position calculations and incorrect redisplay.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== zlib 1.2.3 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fPIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;1.) Build shared and static lib in one pass 2.) Always add -fPIC when building shared lib, don't expect the user to set it.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== file 4.20 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;reg_startend-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes a bug caused by an undefined constant&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== groff 1.19.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
HINT: Should be PSAFE now. So i removed PSAFE=no from the DETAILS file. See patch for more Informations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;parallel_make-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes the dependencies in the groff Makefile so parallel builds are possible.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== less 394 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;signal_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch fixes a bug with the configure script so that 'sigset_t',&lt;br /&gt;
and 'sigprocmask', are detected and used.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== module-init-tools 3.2.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;modprobe-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates modprobe functionality to fix problem where aliases don't quite work properly&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nostatic-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the use of zlib.a, and removes insmod.static.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== shadow 4.0.18.1 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
NOTICE: i had to change the build file, cause of the patch we have to run: aclocal &amp;amp;&amp;amp; autoconf &amp;amp;&amp;amp; autoheader.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sysvinit 2.86 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;owl_blowfish.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Use this patch with the Glibc blowfish patch (also from openwall).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== bash 3.2 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;A combined patch containing patches 001-009 from upstream.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== diffutils 2.8.7 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_tmp-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch removes the more portable and less safe use of tmpname(3), in preference of mkstemp(3).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;i18n-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes treatment of whitespace in multibyte locales.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== grep 2.5.1a ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;config_update-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Updates config.sub and config.guess&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;redhat_fixes-2.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Various fixes from RedHat. Individual patches: grep-2.5.1-fgrep.patch, grep-2.5.1-bracket.patch, grep-2.5-i18n.patch, grep-2.5.1-oi.patch, grep-2.5.1-manpage.patch, grep-2.5.1-color.patch, grep-2.5.1-icolor.patch, grep-2.5.1-egf-speedup.patch, grep-2.5.1-dfa-optional.patch, grep-2.5.1-tests.patch, grep-2.5.1-w.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sed 4.1.5 ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch includes:&lt;br /&gt;
&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-bz185374.patch&lt;br /&gt;
 Redhat/Fedora - sed-4.1.5-relsymlink.patch&lt;br /&gt;
 OpenWall/Owl - sed-4.1.5-owl-warnings.diff&lt;br /&gt;
 Gentoo - sed-4.1.5-alloca.patch&lt;br /&gt;
&lt;br /&gt;
And a handfull of additional compiler warning fixes, including the addition of --enable-gcc-warnings (-Werror -Wall -Wformat -Wformat-security). Wrap fchown in assert() to deal with gcc -D_FORTIFY_SOURCE warnings (only if _FORTIFY_SOURCE is defined).&lt;br /&gt;
Added strlcpy(), and assert(), code if the system does not have them. This had to be put into one big patch mainly because of strlcpy().&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== texinfo 4.8a ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;multibyte-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Info assumes that a string width in character cells is the same as its length in bytes. This patch avoids cases when this assumption is not true.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;tempfile_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;(CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local users to overwrite arbitrary files via a symlink attack on temporary files.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== util-linux 2.12r ===&lt;br /&gt;
&lt;br /&gt;
Status: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid #000000; text-align: center; margin: 0 auto; width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;PIC-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This is needed for Grsec. http://www..grsecurity.net/ Util linux doesn't build with position independence without this patch.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;gcc4_fixes-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes GCC4 Compile Issues&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;hardened_cflags-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie, -z relro, -z now. Use whatever works.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;loop_AES-3.1b.patch.gz&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;util-linux patch that adds support for AES and other ciphers (from eswap.txt).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;mips64_fix-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes compile issue under MIPS 64 bit&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;missing_header-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;Fixes the missing delcaration of R_OK in swapon.c build&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 180px;&amp;quot;&amp;gt;nologin-1.patch&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #a1a1a1; color: #d1d1d1; border-bottom: 1px dashed #000000; text-align: left; width: 10px;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;padding: 3px; vertical-align: top; background-color: #c0c0c0; border-bottom: 1px dashed #000000; text-align: left;&amp;quot;&amp;gt;This patch adds /sbin/nologin and 'man 8 nologin', for polite&lt;br /&gt;
login refusal. nologin will try to read /etc/nologin.txt to use it for a&lt;br /&gt;
message, if /etc/nologin.txt does not exist it will use a hardcoded message.&lt;br /&gt;
If you do not want nologin to try to read /etc/nologin.txt at all then use:&lt;br /&gt;
&lt;br /&gt;
 make NOLOGIN_TXT=no&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux</id>
		<title>Hardened Lunar-Linux</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux"/>
				<updated>2007-03-13T06:10:36Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* Looks interesting, where do i begin? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Project ==&lt;br /&gt;
&lt;br /&gt;
Since i use Lunar Linux on some production servers (In an hosting-company) i'm interested in securing Linux, especially securing Lunar Linux. This Project will give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A more secure System&lt;br /&gt;
 * A stable System&lt;br /&gt;
 * A good working environment&lt;br /&gt;
&lt;br /&gt;
We're providing many patches to applications. These patches are including bugfixes, security enhancements and other related things. The System itself will probably loose a few things, too. For example: It will not be as user-friendly as the original Lunar Linux is. Thats why i think we shouldn't add these patches and enhancements to the normal moonbase.&lt;br /&gt;
&lt;br /&gt;
This Project won't give you the following things:&lt;br /&gt;
&lt;br /&gt;
 * A 100% secured System&lt;br /&gt;
&lt;br /&gt;
Please keep in mind: We, especially I can't give u any warranty, that this enhancements will keep your system really secure. For a really secure System you need a Systemadministrator and some more things. Feel free to contact me, if you need one ;-)&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
&lt;br /&gt;
 * 13th March 2007 - Compiled everything like described in this Document. Everything seems working. Rebuilding now the entire System.&lt;br /&gt;
&lt;br /&gt;
== ToDo / Needed ==&lt;br /&gt;
&lt;br /&gt;
 * I need some people to test this enhancements.&lt;br /&gt;
 * I need some people helping me to be up-to-date in security informations (Needed patches, known vulnerabilities, etc).&lt;br /&gt;
 * I need some people helping writing, managing and searching patches.&lt;br /&gt;
&lt;br /&gt;
 * I need an bash script doing the installation of the hardened Lunar automatically. At the moment it's a bit annoying and much work for the end-user.&lt;br /&gt;
 * I have some patches not working - They have to be corrected.&lt;br /&gt;
&lt;br /&gt;
== What modules are we using? ==&lt;br /&gt;
&lt;br /&gt;
We're using the same modules like the original Lunar Linux, sometimes we use newer modules like gcc 4.1.2 and glibc 2.5 - Cause i personally think most problems with these newer modules are corrected with the used patches. Compiled and worked&lt;br /&gt;
really fine on 4 Systems. &lt;br /&gt;
&lt;br /&gt;
It could be, that Hardened Lunar Linux will have some older modules than the original Lunar Linux - Thats a 'Time'-Problem. We have to rewrite patches, search for new patches, looking for vulnerabilities and and and. Hardened Lunar Linux should offer a 'stable' and 'secure' system - Not an extremly-up-to-date distribution.&lt;br /&gt;
&lt;br /&gt;
== How about patches, where are they from? ==&lt;br /&gt;
&lt;br /&gt;
We take patches from the LFS and HLFS Download Sites. Perhaps we'll use patches from other Distributions, too. Depends on the patch - As long as we keep credit, this shouldn't be a problem. But at least we'll write our own patches, too.&lt;br /&gt;
&lt;br /&gt;
== Do i need GRSecurity or a special Kernel? ==&lt;br /&gt;
&lt;br /&gt;
Thats a good question, the simple answer is:&lt;br /&gt;
&lt;br /&gt;
No! You don't.&lt;br /&gt;
&lt;br /&gt;
The long answer is:&lt;br /&gt;
&lt;br /&gt;
Depends on what you want. It could be that a grsecurity kernel is exactly what u want - It could make your whole system more secure than anything else. But it could make your system unstable, too. If u want to use PAX, ACL, such things you will need at least a recompile of your kernel. But as i explained above: We're patching applications. These patches are bugfixes and security enhancements, possibly features and &amp;quot;now-i-work-better-with-grsec&amp;quot;-things.&lt;br /&gt;
&lt;br /&gt;
You are free, to use what u want.&lt;br /&gt;
&lt;br /&gt;
== Looks interesting, where do i begin? ==&lt;br /&gt;
&lt;br /&gt;
Here. Well, really here. You should make some coffee/tea. At the moment, it's a long way. I hope i will be able to write a little Bashscript with an automatically installation. Follow the following topics:&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Required files]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux The 3 Steps Installation]]&lt;br /&gt;
 3.) [[Hardened_Lunar-Linux Optional: Special Kernel]]&lt;br /&gt;
 4.) [[Hardened_Lunar-Linux Recommended: Testing everything]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
still working on it .. ;)&lt;br /&gt;
&lt;br /&gt;
=== Overview (For Developers or Interested Users ===&lt;br /&gt;
 1.) [[Hardened_Lunar-Linux Patches and their Descriptions]]&lt;br /&gt;
 2.) [[Hardened_Lunar-Linux Changes Configure Scripts and Why]]&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Required_files</id>
		<title>Hardened Lunar-Linux Required files</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Required_files"/>
				<updated>2007-03-13T06:05:30Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* The Hardened Lunar-Linux Modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Hardened Lunar-Linux Modules ==&lt;br /&gt;
As long as this Project is experimental and not many people are interested in it, it's only available for download as a tar.bz2 and a tar.gz.&lt;br /&gt;
&lt;br /&gt;
 '''Warning'''&lt;br /&gt;
 Backup your zlocal folder, if you have written own modules, not submitted to moonbase.&lt;br /&gt;
 Otherwise it's possible that such modules will be overwritten.&lt;br /&gt;
&lt;br /&gt;
Simply download it by the following command:&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ip-minds.de/lunar_hd/lunarlinux_hd.tar.bz2&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ip-minds.de/lunar_hd/lunarlinux_hd.tar.gz&lt;br /&gt;
&lt;br /&gt;
move it now to your &amp;quot;zlocal&amp;quot; directory by typing:&lt;br /&gt;
&lt;br /&gt;
 mv lunarlinux_hd.tar.bz2 /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 mv lunarlinux_hd.tar.gz /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
&lt;br /&gt;
Move to that directory and uncompress the archive:&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
 tar -xjvf lunarlinux_hd.tar.bz2&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
 tar -xzvf lunarlinux_hd.tar.gz&lt;br /&gt;
&lt;br /&gt;
That was everything. If u have no actual moonbase you should get one now:&lt;br /&gt;
&lt;br /&gt;
 lin moonbase&lt;br /&gt;
&lt;br /&gt;
== The Hardened Lunar Linux Applications and Patches ==&lt;br /&gt;
&lt;br /&gt;
Simply paste the following text to your console, it will download every module and patch so you can install them without beeing online.&lt;br /&gt;
&lt;br /&gt;
 lget gcc&lt;br /&gt;
 lget binutils&lt;br /&gt;
 lget coreutils&lt;br /&gt;
 lget glibc&lt;br /&gt;
 lget db&lt;br /&gt;
 lget procps&lt;br /&gt;
 lget perl&lt;br /&gt;
 lget readline&lt;br /&gt;
 lget zlib&lt;br /&gt;
 lget file&lt;br /&gt;
 lget groff&lt;br /&gt;
 lget less&lt;br /&gt;
 lget module-init-tools&lt;br /&gt;
 lget shadow&lt;br /&gt;
 lget linux-2.6&lt;br /&gt;
 lget sysvinit&lt;br /&gt;
 lget bash&lt;br /&gt;
 lget diffutils&lt;br /&gt;
 lget grep&lt;br /&gt;
 lget sed&lt;br /&gt;
 lget texinfo&lt;br /&gt;
 lget util-linux&lt;br /&gt;
&lt;br /&gt;
For 2.6 Kernel:&lt;br /&gt;
&lt;br /&gt;
 lget kernel-headers-2.6&lt;br /&gt;
 lget linux-2.6&lt;br /&gt;
 lget kernel-reqs&lt;br /&gt;
&lt;br /&gt;
For 2.4 Kernel (I only support 2.6 Kernel):&lt;br /&gt;
&lt;br /&gt;
 lget kernel-headers-2.4&lt;br /&gt;
 lget linux-2.4&lt;br /&gt;
 lget kernel-reqs&lt;br /&gt;
&lt;br /&gt;
If you have special Hardware and you need NVIDIA or linux-wlan-ng or something like this, you should&lt;br /&gt;
lget them, too.&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Required_files</id>
		<title>Hardened Lunar-Linux Required files</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Required_files"/>
				<updated>2007-03-13T05:57:36Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: /* The Hardened Lunar-Linux Modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Hardened Lunar-Linux Modules ==&lt;br /&gt;
As long as this Project is experimental and not many people are interested in it, it's only available for download as a tar.bz2 and a tar.gz.&lt;br /&gt;
&lt;br /&gt;
 '''Warning'''&lt;br /&gt;
 Backup your zlocal folder, if you have written own modules, not submitted to moonbase.&lt;br /&gt;
 Otherwise it's possible that such modules will be overwritten.&lt;br /&gt;
&lt;br /&gt;
Simply download it by the following command:&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ip-minds.de/lunar_hd/lunarlinux_hd.tar.bz2&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ip-minds.de/lunar_hd/lunarlinux_hd.tar.gz&lt;br /&gt;
&lt;br /&gt;
move it now to your &amp;quot;zlocal&amp;quot; directory by typing:&lt;br /&gt;
&lt;br /&gt;
 mv lunarlinux_hd.tar.bz2 /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 mv lunarlinux_hd.tar.gz /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
&lt;br /&gt;
Move to that directory and uncompress the archive:&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
 tar -xjvf lunarlinux_hd.tar.bz2&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
 tar -xzvf lunarlinux_hd.tar.gz&lt;br /&gt;
&lt;br /&gt;
That was everything. If u have no actual moonbase you should get one now:&lt;br /&gt;
&lt;br /&gt;
 lin moonbase&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	<entry>
		<id>http://doc.lunar-linux.org/Hardened_Lunar-Linux_Required_files</id>
		<title>Hardened Lunar-Linux Required files</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Hardened_Lunar-Linux_Required_files"/>
				<updated>2007-03-13T05:57:13Z</updated>
		
		<summary type="html">&lt;p&gt;Wdp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Hardened Lunar-Linux Modules ==&lt;br /&gt;
As long as this Project is experimental and not many people are interested in it, it's only available for download as a tar.bz2 and a tar.gz.&lt;br /&gt;
&lt;br /&gt;
 '''Warning'''&lt;br /&gt;
 Backup your zlocal folder, if you have written own modules, not submitted to moonbase. Otherwise it's possible that such modules will be overwritten.&lt;br /&gt;
&lt;br /&gt;
Simply download it by the following command:&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ip-minds.de/lunar_hd/lunarlinux_hd.tar.bz2&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ip-minds.de/lunar_hd/lunarlinux_hd.tar.gz&lt;br /&gt;
&lt;br /&gt;
move it now to your &amp;quot;zlocal&amp;quot; directory by typing:&lt;br /&gt;
&lt;br /&gt;
 mv lunarlinux_hd.tar.bz2 /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 mv lunarlinux_hd.tar.gz /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
&lt;br /&gt;
Move to that directory and uncompress the archive:&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
 tar -xjvf lunarlinux_hd.tar.bz2&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal/&lt;br /&gt;
 tar -xzvf lunarlinux_hd.tar.gz&lt;br /&gt;
&lt;br /&gt;
That was everything. If u have no actual moonbase you should get one now:&lt;br /&gt;
&lt;br /&gt;
 lin moonbase&lt;/div&gt;</summary>
		<author><name>Wdp</name></author>	</entry>

	</feed>