From ba576b3931719b15fa97234d5f5cdca244b9349e Mon Sep 17 00:00:00 2001
From: Jake Guffey <jake.guffey@eprotex.com>
Date: Thu, 21 Jun 2012 11:59:53 -0400
Subject: [PATCH 1/2] Don't symlink multiple times

Was checking for existence of $jaildir/home -- never exists; will always create new symlink
Changed to look for directory or symlink at $jaildir/base/home and respond accordingly
---
 conf/type/__jail/gencode-remote | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/conf/type/__jail/gencode-remote b/conf/type/__jail/gencode-remote
index 62aa7b60..71bb31b5 100755
--- a/conf/type/__jail/gencode-remote
+++ b/conf/type/__jail/gencode-remote
@@ -185,10 +185,12 @@ cat <<EOF
       if [ ! -d "${jaildir}/base/usr/home" ]; then
          mkdir -p "${jaildir}/base/usr/home"
       fi
-      if [ ! -d "${jaildir}/home" ]; then
-          SAVE=\$PWD; cd ${jaildir}/base
-          ln -s usr/home home
-          cd \$SAVE; unset SAVE
+      if [ ! -d "${jaildir}/base/home" ]; then
+          if [ ! -L "${jaildir}/base/home" ]; then
+             SAVE=\$PWD; cd ${jaildir}/base
+             ln -s usr/home home
+             cd \$SAVE; unset SAVE
+          fi
       fi
    fi
    if [ ! -d "${jaildir}/rw" ]; then

From b09d9786d25c31428f6175e1adaa84d6b9dbb6e6 Mon Sep 17 00:00:00 2001
From: Steven Armstrong <steven@icarus.ethz.ch>
Date: Fri, 22 Jun 2012 15:36:14 +0200
Subject: [PATCH 2/2] sync and remove require different options

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
---
 conf/type/__package_pacman/gencode-remote | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/conf/type/__package_pacman/gencode-remote b/conf/type/__package_pacman/gencode-remote
index 9defabe8..e585ee86 100755
--- a/conf/type/__package_pacman/gencode-remote
+++ b/conf/type/__package_pacman/gencode-remote
@@ -25,8 +25,6 @@
 # exec >&2
 # set -x
 
-pacopts="--needed --noconfirm --noprogressbar"
-
 if [ -f "$__object/parameter/name" ]; then
    name="$__object/parameter/name"
 else
@@ -57,10 +55,10 @@ fi
 
 case "$state_should" in
    present)
-         echo pacman "$pacopts" -S \"$name\"
+         echo pacman --needed --noconfirm --noprogressbar -S \"$name\"
    ;;
    absent)
-         echo pacman "$pacopts" -R \"$name\"
+         echo pacman --noconfirm --noprogressbar -R \"$name\"
    ;;
    *)
       echo "Unknown state: $state_should" >&2