Changeset 177 for tags/confman-1.5.5a/confmanlib.sh
- Timestamp:
- 10/08/2007 17:12:27 (5 years ago)
- File:
-
- 1 edited
-
tags/confman-1.5.5a/confmanlib.sh (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tags/confman-1.5.5a/confmanlib.sh
r172 r177 15 15 # Checks out the conf tree if we don't already have it. Updates it if we do. 16 16 function conf_checkout_tree { 17 if [ ! -d ${WORK_PATH} ] ; then17 if [ ! -d ${WORK_PATH}/.svn ] ; then 18 18 local path=`echo ${WORK_PATH} | sed -E 's:/[^/]+$::'` 19 19 mkdir -p ${WORK_PATH} … … 39 39 function conf_update_tree { 40 40 svn update ${WORK_PATH} 41 } 42 43 function conf_setup_lock { 44 if [ -f ${WORK_PATH}/confman.lock ] 45 then 46 return 1 47 else 48 touch ${WORK_PATH}/confman.lock 49 echo $$ > "${WORK_PATH}/confman.lock" #Send PID to the lock to allow for recursive calls 50 return 0 51 fi 52 } 53 54 function conf_lock_wcopy { 55 if [ ! -d ${WORK_PATH}/.svn ] 56 then 57 echo "${WORK_PATH} is not a valid svn working copy or does not exist." >&4 58 exit 1 59 fi 60 if [ -f ${WORK_PATH}/confman.lock ] 61 then 62 return 1 63 else 64 touch ${WORK_PATH}/confman.lock 65 echo $$ > "${WORK_PATH}/confman.lock" #Send PID to the lock to allow for recursive calls 66 return 0 67 fi 68 } 69 70 function conf_unlock_wcopy { 71 if [ -f ${WORK_PATH}/confman.lock ] 72 then 73 rm ${WORK_PATH}/confman.lock 74 fi 75 } 76 77 function conf_lock_system { 78 if [ -f /var/run/confman.lock ] 79 then 80 return 1 81 else 82 sudo touch /var/run/confman.lock 83 sudo chmod 666 /var/run/confman.lock 84 sudo echo $$ > "/var/run/confman.lock" 85 return 1 86 fi 87 } 88 89 function conf_unlock_system { 90 if [ -f /var/run/confman.lock ] 91 then 92 sudo rm /var/run/confman.lock 93 fi 94 } 95 96 function conf_wcopy_locked? { 97 if [ -f ${WORK_PATH}/confman.lock ] 98 then 99 return 0 100 else 101 return 1 102 fi 103 } 104 105 function conf_system_locked? { 106 if [ -f /var/run/confman.lock ] 107 then 108 return 0 109 else 110 return 1 111 fi 41 112 } 42 113 … … 377 448 svn mv ${WORK_PATH}/${oldmod} ${WORK_PATH}/${newmod} || \ 378 449 { echo "There was a problem renaming the modules." >&4 ; \ 379 conf_clean _exit 1450 conf_cleanExit 1 380 451 } 381 452 svn mv ${WORK_PATH}/${REPO_CHECKPTS}/${oldmod} \ 382 453 ${WORK_PATH}/${REPO_CHECKPTS}/${newmod} || \ 383 454 { echo "There was a problem renaming the checkpts." >&4 ; \ 384 conf_clean _exit 1455 conf_cleanExit 1 385 456 } 386 457 387 458 svn update ${WORK_PATH} || \ 388 459 { echo "Your working copy didn't update correctly." >&4 ; \ 389 conf_clean _exit 1460 conf_cleanExit 1 390 461 } 391 462 svn commit -m "Renaming ${oldmod} to ${newmod}, phase 1." \ 392 463 ${WORK_PATH}/{,${REPO_CHECKPTS}}/{${oldmod},${newmod}} || \ 393 { echo "Committing the changes failed." >&4 ; conf_clean _exit 1464 { echo "Committing the changes failed." >&4 ; conf_cleanExit 1 394 465 } 395 466 … … 404 475 svn update ${WORK_PATH} || \ 405 476 { echo "Your working copy didn't update correctly." >&4 ; \ 406 conf_clean _exit 1477 conf_cleanExit 1 407 478 } 408 479 svn commit -m "Renaming ${oldmod} to ${newmod}, phase 2." \ 409 480 ${WORK_PATH}/${newmod} || \ 410 { echo "Committing the changes failed." >&4 ; conf_clean _exit 1481 { echo "Committing the changes failed." >&4 ; conf_cleanExit 1 411 482 } 412 483 … … 418 489 svn update ${WORK_PATH} || \ 419 490 { echo "Your working copy didn't update correctly." >&4 ; \ 420 conf_clean _exit 1491 conf_cleanExit 1 421 492 } 422 493 svn commit -m "Renaming ${oldmod} to ${newmod}, complete." \ 423 494 ${WORK_PATH}/${newmod} || \ 424 { echo "Committing the changes failed." >&4 ; conf_clean _exit 1495 { echo "Committing the changes failed." >&4 ; conf_cleanExit 1 425 496 } 426 497 } … … 536 607 # The SIGNAL seems to kill the logger process spawned by the parent 537 608 # process, which is receiving its input from our fd 2. 538 function conf_clean exit {609 function conf_cleanExit { 539 610 echo "Received a signal. Exiting cleanly." | conf_logger 540 611 echo "Abort, Abort! Patience is a virtue." >&4 … … 544 615 # permissions here to be in a consistent state. 545 616 chmod 700 ${WORK_PATH} 546 547 617 echo "Removing leftover temp files..." >&4 548 618 find /tmp/confman* -maxdepth 0 -user `whoami` -exec rm -rf {} \; … … 551 621 echo "Undoing damage to your working copy..." >&4 552 622 [ -d "${WORK_PATH}" ] && svn cleanup ${WORK_PATH} 553 echo "All clean. Terminating." >&4 623 624 echo "Removing any system or working copy locks..." >&4 625 conf_unlock_wcopy 626 conf_unlock_system 627 628 echo "All clean. Terminating." >&4 554 629 555 630 exit ${1:-1} 556 631 } 557 632 633 function conf_checkgroup { 634 GROUP_FILE=$(mktemp -t confman) 635 GROUP_STAT=$(chgrp staff $GROUP_FILE 2>&1) 636 rm $GROUP_FILE 637 if [ -n "$GROUP_STAT" ] ; then 638 return 2 639 else 640 return 0 641 fi 642 } 643 558 644 # vim:ts=4 559 645
Note: See TracChangeset
for help on using the changeset viewer.
