--- a/Makefile
+++ b/Makefile
@@ -51,19 +51,20 @@
 
 SM_XML := XE_SR_ERRORCODES
 
-SM_DEST := /opt/xensource/sm/
-DEBUG_DEST := /opt/xensource/debug/
-BIN_DEST := /opt/xensource/bin/
+SM_DEST := /usr/lib/xen-common/xapi/sm/
+DEBUG_DEST := /usr/lib/xen-common/xapi/debug/
+BIN_DEST := /usr/lib/xen-common/xapi/bin/
 MASTER_SCRIPT_DEST := /etc/xensource/master.d/
 PLUGIN_SCRIPT_DEST := /etc/xapi.d/plugins/
-LIBEXEC := /opt/xensource/libexec/
+LIBEXEC := /usr/lib/xen-common/xapi/libexec/
 CRON_DEST := /etc/cron.d/
 
 SM_STAGING := $(DESTDIR)
 SM_STAMP := $(MY_OBJ_DIR)/.staging_stamp
 
 .PHONY: build
-	make -C dcopy 
+build: 
+#	make -C dcopy 
 	make -C snapwatchd
 
 .PHONY: install
@@ -108,7 +109,7 @@
 	mkdir -p $(SM_STAGING)$(LIBEXEC)
 	install -m 755 scripts/local-device-change $(SM_STAGING)$(LIBEXEC)
 	install -m 755 scripts/check-device-sharing $(SM_STAGING)$(LIBEXEC)
-	$(MAKE) -C dcopy install DESTDIR=$(SM_STAGING)
+#	$(MAKE) -C dcopy install DESTDIR=$(SM_STAGING)
 	$(MAKE) -C snapwatchd install DESTDIR=$(SM_STAGING)
 	ln -sf $(SM_DEST)blktap2.py $(SM_STAGING)$(BIN_DEST)/blktap2
 	mkdir -p $(SM_STAGING)$(CRON_DEST)
--- a/snapwatchd/Makefile
+++ b/snapwatchd/Makefile
@@ -1,11 +1,11 @@
 XS_INCLUDE ?= /usr/include
 XS_LIB     ?= -lxenstore
 
-PREFIX ?= /opt/xensource/sm/snapwatchd
+PREFIX ?= /usr/lib/xen-common/xapi/sm/snapwatchd
 INITDIR ?= /etc/rc.d/init.d
 DESTDIR ?= 
 
-PYTHON_INCLUDE ?= /usr/include/python2.4
+PYTHON_INCLUDE ?= /usr/include/python2.6
 
 CFLAGS ?= -O2
 CFLAGS += -I$(PYTHON_INCLUDE) -I$(XS_INCLUDE)
--- a/drivers/02-vhdcleanup
+++ b/drivers/02-vhdcleanup
@@ -15,8 +15,8 @@
 # Source function library.
 . /etc/init.d/functions
 
-CLEANUP_SCRIPT="/opt/xensource/sm/cleanup.py"
-LVHD_UTIL_SCRIPT="/opt/xensource/sm/lvhdutil.py"
+CLEANUP_SCRIPT="/usr/lib/xen-common/xapi/sm/cleanup.py"
+LVHD_UTIL_SCRIPT="/usr/lib/xen-common/xapi/sm/lvhdutil.py"
 
 start() {
     echo -n $"Fixing refcounts on new master: "
--- a/drivers/SR.py
+++ b/drivers/SR.py
@@ -448,7 +448,7 @@
                 self.mpath = "false"
                 self.mpathhandle = "null"
                 
-            if not os.path.exists("/opt/xensource/sm/mpath_%s.py" % self.mpathhandle):
+            if not os.path.exists("/usr/lib/xen-common/xapi/sm/mpath_%s.py" % self.mpathhandle):
                 raise
         except:
             self.mpath = "false"
@@ -473,7 +473,7 @@
             self.session.xenapi.SR.set_sm_config(self.sr_ref, sm_config)
 
             if self.mpath == "true" and len(SCSIid):
-                cmd = ['/opt/xensource/sm/mpathcount.py',SCSIid]
+                cmd = ['/usr/lib/xen-common/xapi/sm/mpathcount.py',SCSIid]
                 util.pread2(cmd)
         except:
             pass
--- a/drivers/VASSR.py
+++ b/drivers/VASSR.py
@@ -68,7 +68,7 @@
 
 # XXX
 import sys
-sys.path = ['/opt/xensource/sm'] + sys.path
+sys.path = ['/usr/lib/xen-common/xapi/sm'] + sys.path
 
 import SR
 import VDI
--- a/drivers/coalesce-leaf
+++ b/drivers/coalesce-leaf
@@ -16,8 +16,8 @@
 
 import sys
 import XenAPIPlugin
-sys.path.append("/opt/xensource/sm/")
-sys.path.insert(0, "/opt/xensource/sm")
+sys.path.append("/usr/lib/xen-common/xapi/sm/")
+sys.path.insert(0, "/usr/lib/xen-common/xapi/sm")
 import getopt
 import XenAPI
 import cleanup
--- a/drivers/lvhd-thin
+++ b/drivers/lvhd-thin
@@ -16,7 +16,7 @@
 
 import sys
 import XenAPIPlugin
-sys.path.append("/opt/xensource/sm/")
+sys.path.append("/usr/lib/xen-common/xapi/sm/")
 import util
 import vhdutil
 import lvhdutil
--- a/drivers/mpath_dmp.py
+++ b/drivers/mpath_dmp.py
@@ -29,7 +29,7 @@
 iscsi_mpath_file = "/etc/iscsi/iscsid-mpath.conf"
 iscsi_default_file = "/etc/iscsi/iscsid-default.conf"
 iscsi_file = "/etc/iscsi/iscsid.conf"
-hba_script = "/opt/xensource/sm/mpathHBA"
+hba_script = "/usr/lib/xen-common/xapi/sm/mpathHBA"
 
 DMPBIN = "/sbin/multipath"
 DEVMAPPERPATH = "/dev/mapper"
@@ -40,7 +40,7 @@
 UMPD_PATH='/var/run/updatempppathd.pid'
 MP_INUSEDIR = "/dev/disk/mpInuse"
 
-MPPGETAIDLNOBIN = "/opt/xensource/bin/xe-get-arrayid-lunnum"
+MPPGETAIDLNOBIN = "/usr/lib/xen-common/xapi/bin/xe-get-arrayid-lunnum"
 
 def _is_mpath_daemon_running():
     cmd = ["/sbin/pidof", "-s", "/sbin/multipathd"]
@@ -48,7 +48,7 @@
     return (rc==0)
 
 def _is_mpp_daemon_running():
-    #cmd = ["/sbin/pidof", "-s", "/opt/xensource/sm/updatempppathd.py"]
+    #cmd = ["/sbin/pidof", "-s", "/usr/lib/xen-common/xapi/sm/updatempppathd.py"]
     #(rc,stdout,stderr) = util.doexec(cmd)
     if os.path.exists(UMPD_PATH):
         return True
--- a/drivers/nfs-on-slave
+++ b/drivers/nfs-on-slave
@@ -12,7 +12,7 @@
 #
 # A plugin for synchronizing slaves when something changes on the Master
 
-import sys; sys.path.append("/opt/xensource/sm/")
+import sys; sys.path.append("/usr/lib/xen-common/xapi/sm/")
 import util
 import os, glob, errno, re
 
--- a/drivers/on-slave
+++ b/drivers/on-slave
@@ -15,7 +15,7 @@
 
 import sys
 import XenAPIPlugin
-sys.path.append("/opt/xensource/sm/")
+sys.path.append("/usr/lib/xen-common/xapi/sm/")
 import util
 import lock
 from lvmcache import LVMCache
--- a/drivers/srmetadata.py
+++ b/drivers/srmetadata.py
@@ -19,7 +19,7 @@
 import metadata
 import os
 import sys
-sys.path.insert(0,'/opt/xensource/sm/snapwatchd')
+sys.path.insert(0,'/usr/lib/xen-common/xapi/sm/snapwatchd')
 from xslib import get_min_blk_size, open_file_for_write, open_file_for_read, \
     xs_file_write, xs_file_read, close_file
 
--- a/drivers/tapdisk-pause
+++ b/drivers/tapdisk-pause
@@ -5,7 +5,7 @@
 import os
 import sys
 import XenAPIPlugin
-sys.path.append("/opt/xensource/sm/")
+sys.path.append("/usr/lib/xen-common/xapi/sm/")
 import blktap2, util
 from lock import Lock
 import xs_errors
--- a/drivers/updatempppathd.py
+++ b/drivers/updatempppathd.py
@@ -91,7 +91,7 @@
 		    DEBUG("Some path status has changed for SCSI ID %s, updating PBD." % scsiid) 
 		    entry = "[" + str(activePaths) + ", " + str(totalPaths) + "]"
                     DEBUG(entry)
-                    cmd = ['/opt/xensource/sm/mpathcount.py', scsiid, entry]
+                    cmd = ['/usr/lib/xen-common/xapi/sm/mpathcount.py', scsiid, entry]
                     util.pread2(cmd)
 
 		    # Now update the cache with this updated path status
--- a/drivers/util.py
+++ b/drivers/util.py
@@ -969,7 +969,7 @@
             print "Fork failed: %s (%d)" % (e.strerror,e.errno)
             sys.exit(-1)
         if (p_id == 0):
-            os.chdir('/opt/xensource/sm')
+            os.chdir('/usr/lib/xen-common/xapi/sm')
             os.umask(0)
         else:
             os._exit(0)                             
--- a/drivers/vmpr
+++ b/drivers/vmpr
@@ -16,7 +16,7 @@
 import os
 import sys
 import XenAPIPlugin
-sys.path.append("/opt/xensource/sm/")
+sys.path.append("/usr/lib/xen-common/xapi/sm/")
 import util
 import time
 from threading import Thread
--- a/drivers/vmprcron
+++ b/drivers/vmprcron
@@ -1 +1 @@
-*/15 * * * * root /opt/xensource/sm/runvmpr
+*/15 * * * * root /usr/lib/xen-common/xapi/sm/runvmpr
--- a/drivers/vss_control
+++ b/drivers/vss_control
@@ -15,8 +15,8 @@
 import os
 import sys
 import XenAPIPlugin
-sys.path.append("/opt/xensource/sm/")
-sys.path.append("/opt/xensource/sm/snapwatchd/")
+sys.path.append("/usr/lib/xen-common/xapi/sm/")
+sys.path.append("/usr/lib/xen-common/xapi/sm/snapwatchd/")
 import util
 import xslib
 import time 
--- a/drivers/xs_errors.py
+++ b/drivers/xs_errors.py
@@ -19,7 +19,7 @@
 import SR
 import util
 
-XML_DEFS = '/opt/xensource/sm/XE_SR_ERRORCODES.xml'
+XML_DEFS = '/usr/lib/xen-common/xapi/sm/XE_SR_ERRORCODES.xml'
 class XenError(object):
     def __init__(self, key, opterr=None):
         # Check the XML definition file exists
