#!/bin/bash DIALOG=${DIALOG=dialog} tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ choice=1 #WEBTARGET="/var/www/sfmirror" WEBTARGET="karneevor@rapier.sourceforge.net:/home/groups/r/ra/rapier/htdocs" trap "rm -f $tempfile" 0 1 2 5 15 function toggletarget(){ if [ "$WEBTARGET" == "karneevor@rapier.sourceforge.net:/home/groups/r/ra/rapier/htdocs" ] then WEBTARGET="/var/www/sfmirror" else WEBTARGET="karneevor@rapier.sourceforge.net:/home/groups/r/ra/rapier/htdocs" fi } function UpdateZ8Documentation(){ echo "Getting Z8 documentation" echo "running doxygen in Z8 code" cd /mnt/c-drev/rapier doxygen doxygen.conf echo "Updating the Z8 code documentation into latex" rsync -vut /mnt/c-drev/rapier/docs/latex/* /data/rapier-project/documentation/latex/z8/ echo "Updating the Z8 code documentation into html" rsync -vut /mnt/c-drev/rapier/docs/html/* /data/rapier-project/sourceforge/html/documentation/z8/ cd /data/rapier-project } function UpdateGUIDocumentation(){ echo "Getting GUI documentation" echo "Running doxygen in GUI code" cd /data/rapier-project/software/gui doxygen doxygen.conf echo "Updating the GUI code documentation into latex" rsync -vut /data/rapier-project/software/gui/docs/latex/* /data/rapier-project/documentation/latex/gui/ echo "Updating the GUI code documentation into html" rsync -vut /data/rapier-project/software/gui/docs/html/* /data/rapier-project/sourceforge/html/documentation/gui/ cd /data/rapier-project sleep 4 } function BackupTools(){ echo "Backing up Tools ..." itctools --dir-full tools/ } function BackupManagement(){ echo "Backing up Management ..." itctools --dir-full management/ } function BackupHardware(){ echo "Backing up Hardware ..." itctools --dir-full hardware/ } function BackupSoftware(){ echo "Backing up software ..." itctools --dir-full software/ } function BackupSourceForge(){ echo "Backing up source forge ..." itctools --dir-full sourceforge/ } function BackupDocumentation(){ echo "Backing up documentation ..." itctools --dir-full documentation/ } function MakeLatexTools(){ echo "Making latex tools." cd tools/dds/ tar czvf ../../sourceforge/html/tools/unitycircle.tgz unitycircle/* tar czvf ../../sourceforge/html/tools/sinuswave.tgz sinuswave/* cd ../.. } function CleanUpBackups(){ echo "Cleaning out backups." find . -name *~ -print -exec rm -v {} \; find . -name *backup -print -exec rm -v {} \; sleep 1 } function MakeTarlatex(){ echo "Making a tar ball from the latex documentation." cd documentation tar czvf ../sourceforge/html/documentation/rapier.latex.tgz latex/* cd .. } function Getrapierproject(){ echo "Updating rapierproject." rsync -vut rapierproject sourceforge/html/tools/rapierproject rsync -vut rapierproject documentation/latex/sw-bmd/rapierproject } function Getitctools(){ echo "Updating itctools." rsync -vut /usr/bin/itctools sourceforge/html/tools/itctools } function Z8code(){ echo "Collecting the Z8 source code." rsync -vut /mnt/c-drev/rapier/* software/z8/ CleanUpBackups cd software/ tar czvf ../sourceforge/html/sourcecode/z8.tgz z8/* cd .. } function GUIcode(){ echo "Collecting the GUI code." rsync -vut /var/www/banshee/* software/web-gui/ CleanUpBackups cd software/ tar czvf ../sourceforge/html/sourcecode/gui.tgz gui/* cd .. } function BuildOnlineDocumentationFromPDF(){ echo "Building online documentaion from PDF." cd sourceforge/html/documentation/online/ cp ../rapier.pdf ./ pdftohtml -c rapier.pdf rm rapier.pdf cd ../../../.. } function CompileLatex(){ echo "Compile Latex." cd documentation/latex/ echo "Compiling LaTeX files" latex rapier.tex cd ../.. } function DVI2PDF(){ echo "Creating PDF from DVI." cd documentation/latex/ echo "DVI -> PDF" dvipdf rapier.dvi cd ../.. mv documentation/latex/rapier.pdf sourceforge/html/documentation/ } function UploadHomepage(){ echo "Uploading homepage" echo "html" rsync -vut -e ssh sourceforge/html/*html $WEBTARGET/ echo "jpg" rsync -vut -e ssh sourceforge/html/*jpg $WEBTARGET/ echo "php" rsync -vut -e ssh sourceforge/html/*php $WEBTARGET/ echo "pictures/" rsync -vut -e ssh sourceforge/html/pictures/* $WEBTARGET/pictures/ echo "pics/" rsync -vut -e ssh sourceforge/html/pics/* $WEBTARGET/pics/ } function UploadOnlineDocumentation(){ echo "Uploading Online Documentation" echo "online" rsync -vut -e ssh sourceforge/html/documentation/online/* $WEBTARGET/documentation/online/ echo "z8" rsync -vut -e ssh sourceforge/html/documentation/z8/* $WEBTARGET/documentation/z8/ echo "gui" rsync -vut -e ssh sourceforge/html/documentation/gui/* $WEBTARGET/documentation/gui/ } function UploadLatexDocumentation(){ echo "Uploading Latex documenation" rsync -vut -e ssh sourceforge/html/documentation/rapier.latex.tgz $WEBTARGET/documentation/ } function UploadPdfDocumentation(){ echo "Uploading PDF documenation" rsync -vut -e ssh sourceforge/html/documentation/rapier.pdf $WEBTARGET/documentation/ } function UploadSourceCode(){ echo "Uploading Source Code" rsync -vut -e ssh sourceforge/html/sourcecode/* $WEBTARGET/sourcecode/ } function UploadTools(){ echo "Uploading Tools" rsync -vut -e ssh sourceforge/html/tools/* $WEBTARGET/tools/ } function UploadApplicationNotes(){ echo "Uploading Application Notes" rsync -vut -e ssh sourceforge/html/application_notes/* $WEBTARGET/application_notes/ } function CopyPartlists(){ echo "Getting Partlists" cp -v hardware/*/*partlist.txt documentation/latex/hw-bmd/ } function UpdatePhotos(){ BASEDIRNAME[1]="documentation/photo" BASEDIRNAME[2]="documentation/photo" BASEDIRNAME[3]="documentation/photo" BASEDIRNAME[4]="documentation/photo" BASEDIRNAME[5]="documentation/photo" BASEDIRNAME[6]="documentation/photo" BASEDIRNAME[7]="documentation/photo" BASEDIRNAME[8]="documentation/photo" BASEDIRNAME[9]="documentation/photo" BASEDIRNAME[10]="documentation/photo" BASEDIRNAME[11]="documentation/photo" BASEDIRNAME[12]="documentation/photo" BASEDIRNAME[13]="test_and_measurement/analog_IO" BASEDIRNAME[14]="test_and_measurement/analog_IO" BASEDIRNAME[15]="test_and_measurement/analog_IO" BASEDIRNAME[16]="test_and_measurement/analog_IO" BASEFILENAME[1]="ab-buttom-photo" BASEFILENAME[2]="ab-top-photo" BASEFILENAME[3]="aib-photo" BASEFILENAME[4]="aob-photo" BASEFILENAME[5]="dib-photo" BASEFILENAME[6]="dob-photo" BASEFILENAME[7]="full-system1-photo" BASEFILENAME[8]="full-system2-photo" BASEFILENAME[9]="mpb-photo" BASEFILENAME[10]="z8-photo" BASEFILENAME[11]="loop_output_to_input" BASEFILENAME[12]="aob2v" BASEFILENAME[13]="ad-linearity" BASEFILENAME[14]="da-linearity" BASEFILENAME[15]="dad-linearity" BASEFILENAME[16]="user-input-linearity" for index in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 do echo "" echo "" echo "" echo "Managing ${BASEDIRNAME[index]} \ ${BASEFILENAME[index]}" echo "" BASEDIRNAME="${BASEDIRNAME[index]}" BASEFILENAME="${BASEFILENAME[index]}" convert -verbose $BASEDIRNAME/$BASEFILENAME.jpg sourceforge/html/pictures/$BASEFILENAME.jpg convert -verbose -resize 800x600 $BASEDIRNAME/$BASEFILENAME.jpg sourceforge/html/pictures/$BASEFILENAME-half.jpg convert -verbose -size 240x240 -resize 240x240 $BASEDIRNAME/$BASEFILENAME.jpg sourceforge/html/pictures/$BASEFILENAME-thumbnail.jpg convert -verbose -colors 256 -density 75x75 -compress JPEG $BASEDIRNAME/$BASEFILENAME.jpg documentation/latex/pictures/$BASEFILENAME.eps done } function UpdateSchematics(){ echo "Updating pictures" BASEDIRNAME[1]="hardware/adaptor_board" BASEDIRNAME[2]="hardware/analog_input_board" BASEDIRNAME[3]="hardware/analog_output_board" BASEDIRNAME[4]="hardware/digital_input_board" BASEDIRNAME[5]="hardware/digital_output_board" BASEDIRNAME[6]="hardware/monitoring_and_power_board" BASEDIRNAME[7]="hardware/monitoring_and_power_board" BASEFILENAME[1]="ab-schematic" BASEFILENAME[2]="aib-schematic" BASEFILENAME[3]="aob-schematic" BASEFILENAME[4]="dib-schematic" BASEFILENAME[5]="dob-schematic" BASEFILENAME[6]="mpb-schematic" BASEFILENAME[7]="power_cable" for index in 1 2 3 4 5 6 7 do echo "" echo "" echo "" echo "Managing ${BASEDIRNAME[index]} \ ${BASEFILENAME[index]}" echo "" BASEDIRNAME="${BASEDIRNAME[index]}" BASEFILENAME="${BASEFILENAME[index]}" convert -verbose -colors 4 -compress BZip +antialias -density 150x150 +dither $BASEDIRNAME/$BASEFILENAME.png documentation/latex/pictures/$BASEFILENAME.eps convert -verbose -size 240x240 -resize 240x240 $BASEDIRNAME/$BASEFILENAME.png sourceforge/html/pictures/$BASEFILENAME-thumbnail.jpg convert -verbose $BASEDIRNAME/$BASEFILENAME.png sourceforge/html/pictures/$BASEFILENAME.jpg done } function UpdateCircuitDescriptionSchematics(){ echo "Updating pictures" BASEFILENAME[1]="adress-comparator" BASEFILENAME[2]="board-selection" BASEFILENAME[3]="bus-input" BASEFILENAME[4]="bus-output" BASEFILENAME[5]="current-to-voltage" BASEFILENAME[6]="da-converter" BASEFILENAME[7]="led-driver" BASEFILENAME[8]="opto-coupled-input" BASEFILENAME[9]="surge-protection" for index in 1 2 3 4 5 6 7 8 9 do echo "" echo "" echo "" echo "Managing hardware/circuit-description \ ${BASEFILENAME[index]}" echo "" BASEDIRNAME="hardware/circuit-description" BASEFILENAME="${BASEFILENAME[index]}" convert -verbose -colors 4 -compress BZip +antialias -density 150x150 +dither $BASEDIRNAME/$BASEFILENAME.png documentation/latex/pictures/$BASEFILENAME.eps done } function UpdateCalculationIllustrations(){ echo "Updating calculation illustrations" rsync -vut hardware/calculation_illustrations/*eps documentation/latex/calculations/illustrations/ } function UpdateBlockDiagrams(){ echo "Updating block diagrams" rsync -vut documentation/illustrations/*eps documentation/latex/pictures/ rsync -vut documentation/software/gui/*eps documentation/latex/pictures/ } while [ "$choice" != "q" ] do $DIALOG --clear --title "Rapier project" \ --menu "Choose an action:" 49 130 44 \ "Change upload target" "Currently uploading to: $WEBTARGET." \ "Everything" "Do everything. Takes a very long time." \ "DocumentationUploadBackup" "Updates documentation, upload documentation, backup everything." \ "Illustrations" "Update all illustrations." \ "Illustrations->Photos" "Update photos into docs and html." \ "Illustrations->Schematics" "Update schematics into docs and html." \ "Illustrations->CircuitDescriptions" "Update circuit description schematics into docs" \ "Illustrations->Calculations" "Update Calculation Illustrations into docs." \ "Illustrations->BlockDiagrams" "Update Block Diagrams into docs." \ "Documentation" "All jobs on documentation." \ "Documentation->Partlists" "Copy partlists into documentation(latex)." \ "Documentation->Tar Latex" "Creates a tar ball of latex." \ "Documentation->Latex" "Compile Latex." \ "Documentation->DVI->PDF" "Compile latex to PDF." \ "Documentation->Online" "Build Online Documentation from PDF." \ "Documentation->Z8Code" "Updating Z8 code documentation" \ "Documentation->GUICode" "Updating GUI code documentation" \ "SourceCode" "All jobs on Source Code." \ "SourceCode->Z8" "Z8 Source Code." \ "SourceCode->GUI" "GUI Source Code." \ "Tools" "All jobs on tools." \ "Tools->Rapierproject" "Collects Rapier Project software" \ "Tools->itctools" "Collects itcutils software" \ "Tools->LatexTools" "Collects latex tools software" \ "Upload" "All upload jobs." \ "Upload->HTML" "Upload html to sourceforge.net." \ "Upload->Online Documentation" "Upload Online Documentation to sourceforge.net." \ "Upload->Latex Documentation" "Upload Latex Documentation to sourceforge.net." \ "Upload->PDF Documentation" "Upload PDF Documentation to sourceforge.net." \ "Upload->Tools" "Upload tools to sourceforge.net." \ "Upload->SourceCode" "Upload Source Code to sourceforge.net." \ "Upload->ApplicationNotes" "Upload Application Notes to sourceforge.net." \ "Backup" "All backup jobs." \ "Backup->Software" "Backup all software." \ "Backup->Source Forge" "Backup Source Forge." \ "Backup->Documentation" "Backup Documentation." \ "Backup->Hardware" "Backup Hardware." \ "Backup->Management" "Backup Management." \ "Backup->Tools" "Backup Tools." \ 2> $tempfile retval=$? choice=`cat $tempfile` case $retval in 0) ####################################################### if [ "$choice" == "Change upload target" ] then toggletarget fi ####################################################### if [ "$choice" == "Illustrations->Photos" -o "$choice" == "Everything" -o "$choice" == "Illustrations" ] then UpdatePhotos fi if [ "$choice" == "Illustrations->Schematics" -o "$choice" == "Everything" -o "$choice" == "Illustrations" ] then UpdateSchematics fi if [ "$choice" == "Illustrations->CircuitDescriptions" -o "$choice" == "Everything" -o "$choice" == "Illustrations" ] then UpdateCircuitDescriptionSchematics fi if [ "$choice" == "Illustrations->Calculations" -o "$choice" == "Everything" -o "$choice" == "Illustrations" ] then UpdateCalculationIllustrations fi if [ "$choice" == "Illustrations->BlockDiagrams" -o "$choice" == "Everything" -o "$choice" == "Illustrations" ] then UpdateBlockDiagrams fi ####################################################### if [ "$choice" == "Documentation->Partlists" -o "$choice" == "Everything" -o "$choice" == "Documentation" -o "$choice" == "DocumentationUploadBackup" ] then CopyPartlists fi if [ "$choice" == "Documentation->Latex" -o "$choice" == "Everything" -o "$choice" == "Documentation" -o "$choice" == "DocumentationUploadBackup" ] then CompileLatex fi if [ "$choice" == "Documentation->DVI->PDF" -o "$choice" == "Everything" -o "$choice" == "Documentation" -o "$choice" == "DocumentationUploadBackup" ] then DVI2PDF fi if [ "$choice" == "Documentation->Online" -o "$choice" == "Everything" -o "$choice" == "Documentation" -o "$choice" == "DocumentationUploadBackup" ] then BuildOnlineDocumentationFromPDF fi if [ "$choice" == "Documentation->Tar Latex" -o "$choice" == "Everything" -o "$choice" == "Documentation" -o "$choice" == "DocumentationUploadBackup" ] then MakeTarlatex fi if [ "$choice" == "Documentation->Z8Code" -o "$choice" == "Everything" -o "$choice" == "Documentation" -o "$choice" == "DocumentationUploadBackup" ] then UpdateZ8Documentation fi if [ "$choice" == "Documentation->GUICode" -o "$choice" == "Everything" -o "$choice" == "Documentation" -o "$choice" == "DocumentationUploadBackup" ] then UpdateGUIDocumentation fi ####################################################### if [ "$choice" == "SourceCode->Z8" -o "$choice" == "Everything" -o "$choice" == "SourceCode" ] then Z8code fi if [ "$choice" == "SourceCode->GUI" -o "$choice" == "Everything" -o "$choice" == "SourceCode" ] then GUIcode fi ####################################################### if [ "$choice" == "Tools->Rapierproject" -o "$choice" == "Everything" -o "$choice" == "Tools" ] then Getrapierproject fi if [ "$choice" == "Tools->itctools" -o "$choice" == "Everything" -o "$choice" == "Tools" ] then Getitctools fi if [ "$choice" == "Tools->LatexTools" -o "$choice" == "Everything" -o "$choice" == "Tools" ] then MakeLatexTools fi ####################################################### if [ "$choice" == "Upload->HTML" -o "$choice" == "Everything" -o "$choice" == "Upload" -o "$choice" == "DocumentationUploadBackup" ] then UploadHomepage fi if [ "$choice" == "Upload->Online Documentation" -o "$choice" == "Everything" -o "$choice" == "Upload" -o "$choice" == "DocumentationUploadBackup" ] then UploadOnlineDocumentation fi if [ "$choice" == "Upload->Latex Documentation" -o "$choice" == "Everything" -o "$choice" == "Upload" -o "$choice" == "DocumentationUploadBackup" ] then UploadLatexDocumentation fi if [ "$choice" == "Upload->PDF Documentation" -o "$choice" == "Everything" -o "$choice" == "Upload" -o "$choice" == "DocumentationUploadBackup" ] then UploadPdfDocumentation fi if [ "$choice" == "Upload->Tools" -o "$choice" == "Everything" -o "$choice" == "Upload" -o "$choice" == "DocumentationUploadBackup" ] then UploadTools fi if [ "$choice" == "Upload->SourceCode" -o "$choice" == "Everything" -o "$choice" == "Upload" -o "$choice" == "DocumentationUploadBackup" ] then UploadSourceCode fi if [ "$choice" == "Upload->ApplicationNotes" -o "$choice" == "Everything" -o "$choice" == "Upload" -o "$choice" == "DocumentationUploadBackup" ] then UploadApplicationNotes fi ####################################################### if [ "$choice" == "Backup->Software" -o "$choice" == "Everything" -o "$choice" == "Backup" -o "$choice" == "DocumentationUploadBackup" ] then BackupSoftware fi if [ "$choice" == "Backup->Source Forge" -o "$choice" == "Everything" -o "$choice" == "Backup" -o "$choice" == "DocumentationUploadBackup" ] then BackupSourceForge fi if [ "$choice" == "Backup->Documentation" -o "$choice" == "Everything" -o "$choice" == "Backup" -o "$choice" == "DocumentationUploadBackup" ] then BackupDocumentation fi if [ "$choice" == "Backup->Hardware" -o "$choice" == "Everything" -o "$choice" == "Backup" -o "$choice" == "DocumentationUploadBackup" ] then BackupHardware fi if [ "$choice" == "Backup->Management" -o "$choice" == "Everything" -o "$choice" == "Backup" -o "$choice" == "DocumentationUploadBackup" ] then BackupManagement fi if [ "$choice" == "Backup->Tools" -o "$choice" == "Everything" -o "$choice" == "Backup" -o "$choice" == "DocumentationUploadBackup" ] then BackupTools fi echo "Jobs done!!" sleep 1 ;; 1) choice="q";; 255) choice="q";; esac done clear