allow-module-type-disambiguation   [plain text]


Index: samba/source/script/installmodules.sh
===================================================================
--- samba/source/script/installmodules.sh.orig
+++ samba/source/script/installmodules.sh
@@ -19,11 +19,19 @@ fi
 fi
 done
 
+# We expect the last component of LIBDIR to be the module type, eg. idmap,
+# pdb. By stripping this from the installation name, you can have multiple
+# modules of the same name but different types by creating eg. idmap_foo
+# and pdb_foo. This makes the most sense for idmap and pdb module, where
+# they need to be consistent.
+mtype=`basename $LIBDIR`
+
 for p in $*; do
  p2=`basename $p`
- echo Installing $p as $DESTDIR/$LIBDIR/$p2
- cp -f $p $DESTDIR/$LIBDIR/
- chmod $INSTALLPERMS $DESTDIR/$LIBDIR/$p2
+ name=`echo $p2 | sed -es/${mtype}_//`
+ echo Installing $p as $DESTDIR/$LIBDIR/$name
+ cp -f $p $DESTDIR/$LIBDIR/$name
+ chmod $INSTALLPERMS $DESTDIR/$LIBDIR/$name
 done
 
 exit 0