This patch moves the processing of usr/sbin/pkcs_slot/pkcs_slot.in to use a sed script at build time instead of relying on configure to process it at configure time.
Also use the right autoconf macros to try to identify where (and what) utilities to use. In addition, try to use standard directory variables. Signed-off-by: Klaus Heinrich Kiwi <[email protected]> --- configure.in | 15 +++++--- usr/sbin/pkcs_slot/Makefile.am | 13 +++++++ usr/sbin/pkcs_slot/pkcs_slot.in | 70 +++++++++++++++++++------------------- 3 files changed, 57 insertions(+), 41 deletions(-) diff --git a/configure.in b/configure.in index 6eb03cc..f876241 100644 --- a/configure.in +++ b/configure.in @@ -35,11 +35,15 @@ AC_FUNC_STRFTIME AC_FUNC_VPRINTF AC_CHECK_FUNCS([getcwd]) -# Used in the init scripts -AC_SUBST(ID, /usr/bin/id) -AC_SUBST(USERMOD, /usr/sbin/usermod) -AC_SUBST(GROUPADD, /usr/sbin/groupadd) - +dnl Used in various scripts +AC_PATH_PROG([ID], [id], [/us/bin/id]) +AC_PATH_PROG([USERMOD], [usermod], [/usr/sbin/usermod]) +AC_PATH_PROG([GROUPADD], [groupadd], [/usr/sbin/groupadd]) +AC_PATH_PROG([CAT], [cat], [/bin/cat]) +AC_PATH_PROG([CHMOD], [chmod], [/bin/chmod]) +AC_PATH_PROG([CHGRP], [chgrp], [/bin/chgrp]) +AC_PROG_SED +AC_PROG_MKDIR_P dnl i.e., /usr/local or /usr if test "x$prefix" = xNONE; then prefix=$ac_default_prefix @@ -302,7 +306,6 @@ AC_OUTPUT([Makefile usr/Makefile \ usr/sbin/pkcs11_startup/Makefile \ usr/sbin/pkcs11_startup/pkcs11_startup \ usr/sbin/pkcs_slot/Makefile \ - usr/sbin/pkcs_slot/pkcs_slot \ usr/sbin/pkcsconf/Makefile \ usr/sbin/pkcscca_migrate/Makefile \ usr/lib/pkcs11/methods/Makefile \ diff --git a/usr/sbin/pkcs_slot/Makefile.am b/usr/sbin/pkcs_slot/Makefile.am index 1bc259b..3ac2b4d 100644 --- a/usr/sbin/pkcs_slot/Makefile.am +++ b/usr/sbin/pkcs_slot/Makefile.am @@ -1 +1,14 @@ sbin_SCRIPTS = pkcs_slot + +EXTRA_DIST = pkcs_slot.in + +CLEANFILES = pkcs_slot + +pkcs_slot: pkcs_slot.in + @SED@ -e s...@libdir\@!"@libdir@"!g \ + -e s...@localstatedir\@!"@localstatedir@"!g \ + -e s...@mkdir_p\@!"@MKDIR_P@"!g \ + -e s...@chgrp\@!"@CHGRP@"!g \ + -e s...@chmod\@!"@CHMOD@"!g < $< > $...@-t + @CHMOD@ +x $...@-t + mv $...@-t $@ diff --git a/usr/sbin/pkcs_slot/pkcs_slot.in b/usr/sbin/pkcs_slot/pkcs_slot.in index c4845b5..8f06372 100644 --- a/usr/sbin/pkcs_slot/pkcs_slot.in +++ b/usr/sbin/pkcs_slot/pkcs_slot.in @@ -298,42 +298,42 @@ -DEEP4758_DLL="@STDLL_PATH@/PKCS11_4758.so" +DEEP4758_DLL="@libdir@/opencryptoki/stdll/PKCS11_4758.so" DEEP4758_DLL_FN="PKCS11_4758.so" DEEP4758_INIT="SC_Initialize" -SOFT_DIR="@DB_PATH@/swtok" -SOFT_DLL="@STDLL_PATH@/libpkcs11_sw.so" +SOFT_DIR="@localstatedir@/lib/opencryptoki/swtok" +SOFT_DLL="@libdir@/opencryptoki/stdll/libpkcs11_sw.so" SOFT_DLL_FN="libpkcs11_sw.so" SOFT_INIT="ST_Initialize" -ICA_DIR="@DB_PATH@/lite" -ICA_DLL="@STDLL_PATH@/libpkcs11_ica.so" +ICA_DIR="@localstatedir@/lib/opencryptoki/lite" +ICA_DLL="@libdir@/opencryptoki/stdll/libpkcs11_ica.so" ICA_DLL_FN="libpkcs11_ica.so" ICA_INIT="ST_Initialize" -BCOM_DIR="@DB_PATH@/bcom" -BCOM_DLL="@STDLL_PATH@/PKCS11_BC.so" +BCOM_DIR="@localstatedir@/lib/opencryptoki/bcom" +BCOM_DLL="@libdir@/opencryptoki/stdll/PKCS11_BC.so" BCOM_DLL_FN="PKCS11_BC.so" BCOM_INIT="ST_Initialize" -AEP_DIR="@DB_PATH@/aep" -AEP_DLL="@STDLL_PATH@/PKCS11_AEP.so" +AEP_DIR="@localstatedir@/lib/opencryptoki/aep" +AEP_DLL="@libdir@/opencryptoki/stdll/PKCS11_AEP.so" AEP_DLL_FN="PKCS11_AEP.so" AEP_INIT="ST_Initialize" -CR_DIR="@DB_PATH@/cr" -CR_DLL="@STDLL_PATH@/PKCS11_CR.so" +CR_DIR="@localstatedir@/lib/opencryptoki/cr" +CR_DLL="@libdir@/opencryptoki/stdll/PKCS11_CR.so" CR_DLL_FN="PKCS11_CR.so" CR_INIT="ST_Initialize" -TPM_DIR="@DB_PATH@/tpm" -TPM_DLL="@STDLL_PATH@/libpkcs11_tpm.so" +TPM_DIR="@localstatedir@/lib/opencryptoki/tpm" +TPM_DLL="@libdir@/opencryptoki/stdll/libpkcs11_tpm.so" TPM_DLL_FN="libpkcs11_tpm.so" TPM_INIT="ST_Initialize" -CCA_DIR="@DB_PATH@/ccatok" -CCA_DLL="@STDLL_PATH@/libpkcs11_cca.so" +CCA_DIR="@localstatedir@/lib/opencryptoki/ccatok" +CCA_DLL="@libdir@/opencryptoki/stdll/libpkcs11_cca.so" CCA_DLL_FN="libpkcs11_cca.so" CCA_INIT="ST_Initialize" @@ -357,11 +357,11 @@ DEVICE=$1 DEPTH=$2 # Check for the existance of the directories -if [ ! -d @DB_PATH@ ] +if [ ! -d @localstatedir@/lib/opencryptoki ] then - mkdir -p @DB_PATH@ - chgrp pkcs11 @DB_PATH@ - chmod -R g+rwx @DB_PATH@ + @MKDIR_P@ @localstatedir@/lib/opencryptoki + @CHGRP@ pkcs11 @localstatedir@/lib/opencryptoki + @CHMOD@ -R g+rwX @localstatedir@/lib/opencryptoki fi @@ -372,9 +372,9 @@ then if [ $? -ne 0 ] then mkdir $SOFT_DIR - chgrp pkcs11 $SOFT_DIR + @CHGRP@ pkcs11 $SOFT_DIR mkdir "$SOFT_DIR"/TOK_OBJ - chgrp pkcs11 "$SOFT_DIR"/TOK_OBJ + @CHGRP@ pkcs11 "$SOFT_DIR"/TOK_OBJ fi SYS_SLOT="Soft" fi @@ -386,7 +386,7 @@ then if [ $? -ne 0 ] then mkdir $TPM_DIR - chgrp pkcs11 $TPM_DIR + @CHGRP@ pkcs11 $TPM_DIR fi SYS_SLOT="TPM" fi @@ -397,9 +397,9 @@ then if [ $? -ne 0 ] then mkdir $CCA_DIR - chgrp pkcs11 $CCA_DIR + @CHGRP@ pkcs11 $CCA_DIR mkdir "$CCA_DIR"/TOK_OBJ - chgrp pkcs11 "$CCA_DIR"/TOK_OBJ + @CHGRP@ pkcs11 "$CCA_DIR"/TOK_OBJ fi SYS_SLOT="CCA" fi @@ -415,9 +415,9 @@ then if [ $? -ne 0 ] then mkdir $ICA_DIR - chgrp pkcs11 $ICA_DIR + @CHGRP@ pkcs11 $ICA_DIR mkdir "$ICA_DIR"/TOK_OBJ - chgrp pkcs11 "$ICA_DIR"/TOK_OBJ + @CHGRP@ pkcs11 "$ICA_DIR"/TOK_OBJ fi SYS_SLOT="ICA" fi @@ -428,9 +428,9 @@ then if [ $? -ne 0 ] then mkdir $BCOM_DIR - chgrp pkcs11 $BCOM_DIR + @CHGRP@ pkcs11 $BCOM_DIR mkdir "$BCOM_DIR"/TOK_OBJ - chgrp pkcs11 "$BCOM_DIR"/TOK_OBJ + @CHGRP@ pkcs11 "$BCOM_DIR"/TOK_OBJ fi SYS_SLOT="BCOM" fi @@ -441,9 +441,9 @@ then if [ $? -ne 0 ] then mkdir $AEP_DIR - chgrp pkcs11 $AEP_DIR + @CHGRP@ pkcs11 $AEP_DIR mkdir "$AEP_DIR"/TOK_OBJ - chgrp pkcs11 "$AEP_DIR"/TOK_OBJ + @CHGRP@ pkcs11 "$AEP_DIR"/TOK_OBJ fi SYS_SLOT="AEP" fi @@ -454,9 +454,9 @@ then if [ $? -ne 0 ] then mkdir $CR_DIR - chgrp pkcs11 $CR_DIR + @CHGRP@ pkcs11 $CR_DIR mkdir "$CR_DIR"/TOK_OBJ - chgrp pkcs11 "$CR_DIR"/TOK_OBJ + @CHGRP@ pkcs11 "$CR_DIR"/TOK_OBJ fi SYS_SLOT="CRNT" fi @@ -473,7 +473,7 @@ fi SLOT_DESCRIPTION=`echo $MANUFACTURER $SYSTEM "("$SYS_SLOT")"` -cfgfi...@config_path@/@CONFIG_FILE@ +cfgfi...@localstatedir@/lib/opencryptoki/pk_config_data if [ $DEPTH = "deep" ] then @@ -502,8 +502,8 @@ then echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$CCA_DLL_FN|$CCA_INIT" >>$CFGFILE fi -cd @DB_PATH@ -chmod -R g+wrx . +...@chmod@ -R g+wrX @localstatedir@/lib/opencryptoki + exit $OK -- 1.6.2.5 ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ Opencryptoki-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opencryptoki-tech
