Subversion Repositories HomeAutomation

Rev

Rev 1682 | Rev 1760 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1. #!/bin/bash
  2.  
  3. ATOMDIR=/tmp/atomppa
  4. SVNURL=http://svn.arune.se/svn/HomeAutomation/trunk/PcSoftware/Atom1.5
  5. SVNURLCNF=http://svn.arune.se/svn/HomeAutomation/trunk/Configuration
  6. SVNDIR=AtomSvn
  7. SVNDIRCNF=ConfigSvn
  8. CNFDIR=Configuration
  9. PPA=ppa:arune/auml-atom-daily
  10. DEBUILDFLG="-S -sa -k7EA270B4"
  11. PKGNAME=atom
  12. DIST=maverick
  13. PKGMAINT="Anders Runeson <runeson@gmail.com>"
  14.  
  15. RUNDIR=`dirname $0`
  16. CHLOGDATE=`date -R`
  17. REVFILE=$RUNDIR/AtomSvnRev
  18.  
  19. CURRREV=`svn info $SVNURL |grep '^Revision:' | sed -e 's/^Revision: //'`
  20. VERSION=1.5.$CURRREV
  21. NOSVNDIR=atom-$VERSION
  22. ORIGTAR=atom_$VERSION.orig.tar.gz
  23. SRCCHFILE=atom_$VERSION\_source.changes
  24. DPUTFLG="auml-atom-daily $SRCCHFILE"
  25.  
  26. #echo $RUNDIR
  27. #echo $CURRREV
  28.  
  29. # Run script from cron every hour
  30. # script will check revision of Atom in SVN and if there is a new version the script will
  31. # download it and create a complete debian source package and upload to launchpad as a ppa
  32.  
  33.  
  34. #temporary during development of script
  35. rm -rf $ATOMDIR
  36. rm $REVFILE
  37.  
  38. # Check that revision variable is set
  39. if [ -z $CURRREV ]; then
  40.   echo "Error: Could not find SVN revision"
  41.   exit 1
  42. fi
  43.  
  44. # Check that revision is sane
  45. if [ ! $CURRREV -gt 0 ]; then
  46.   echo "Error: SVN revision is not greater than 0"
  47.   exit 1
  48. fi
  49.  
  50. # Check if script is already running
  51. if [ -d $ATOMDIR ]; then
  52.   echo "Error: Already running?"
  53.   exit 1
  54. fi
  55.  
  56. if [ -e $REVFILE ]; then
  57.   # If revision file exists, check current revision
  58.   OLDREV=`cat $REVFILE`
  59.   if [ "$CURRREV" -le "$OLDREV" ]; then
  60.     echo "Error: No new svn revision."
  61.     exit 1
  62.   fi
  63. fi
  64.  
  65. mkdir $ATOMDIR
  66.  
  67. # Checkout atom and configuration, not needed, can export directly instead
  68. #svn co $SVNURL $ATOMDIR/$SVNDIR
  69. #svn co $SVNURLCNF $ATOMDIR/$SVNDIRCNF
  70.  
  71. # Export atom to get rid of .svn subfolders
  72. svn export $SVNURL $ATOMDIR/$NOSVNDIR
  73. #svn export $ATOMDIR/$SVNDIR $ATOMDIR/$NOSVNDIR
  74. # Export configuration folder into the exported Atom-folder
  75. svn export $SVNURLCNF $ATOMDIR/$NOSVNDIR/$CNFDIR
  76. #svn export $ATOMDIR/$SVNDIRCNF $ATOMDIR/$NOSVNDIR/$CNFDIR
  77.  
  78. # Add a svn revision file, atom need the svn revision when building
  79. echo -n $CURRREV > $ATOMDIR/$NOSVNDIR/AtomSvnRev
  80.  
  81. # Change install-target for data.xml file in CMakeList.txt, not needed, done in CMakeList.txt
  82. #cat $ATOMDIR/$NOSVNDIR/CMakeLists.txt | sed -e 's/\/..\/..\/Configuration\/data.xml/\/Configuration\/data.xml/' > $ATOMDIR/$NOSVNDIR/CMakeLists.txt
  83.  
  84. # Create change log file by reading log from svn
  85. SVNLOG=`svn log -r $CURRREV $SVNURL`
  86.  
  87. echo "$PKGNAME ($VERSION) $DIST; urgency=low" > $ATOMDIR/$NOSVNDIR/debian/changelog
  88. echo "" >> $ATOMDIR/$NOSVNDIR/debian/changelog
  89. OLDIFS="$IFS"
  90. IFS=$'\n'
  91. for LOGENTRY in $SVNLOG; do
  92.   if [[ ! $LOGENTRY == *--------------* ]]; then
  93.     echo "  * $LOGENTRY" >> $ATOMDIR/$NOSVNDIR/debian/changelog
  94.   fi
  95. done
  96. IFS="$OLDIFS"
  97. echo "" >> $ATOMDIR/$NOSVNDIR/debian/changelog
  98. echo " -- $PKGMAINT  $CHLOGDATE" >> $ATOMDIR/$NOSVNDIR/debian/changelog
  99.  
  100. # Create orig tar gz
  101. cd $ATOMDIR
  102. tar -zcf $ORIGTAR $NOSVNDIR
  103.  
  104. # Create source package with debuild
  105. #cd $ATOMDIR/$NOSVNDIR
  106. #debuild $DEBUILDFLG
  107. #echo cd $ATOMDIR/$NOSVNDIR
  108. #echo debuild $DEBUILDFLG
  109.  
  110. # Upload to launchpad with dput
  111. #cd $ATOMDIR
  112. #dput $DPUTFLG
  113. #echo cd $ATOMDIR
  114. #echo dput $DPUTFLG
  115. # Requires ubuntu 9.10 or newer
  116. #dput $PPA $SRCCHFILE
  117.  
  118. #echo "the end $RUNDIR"
  119.  
  120. # Remove all temporary files
  121. #rm -rf $ATOMDIR
  122.  
  123. # Write the current svn revision to file
  124. echo -n $CURRREV > $REVFILE
  125.  
  126. cd $RUNDIR
  127.