Skip to contentSkip to conversation

Autobuilder fixes and added functionality

PATCH In review Beth Flanagan 1 participant 3 messages Jan 4, 2011

lore
Share & tools
lore
#0 lore raw

cover Autobuilder fixes and added functionality

Some minor fixes to the Autobuilder. I've reverted to Buildbot 0.8.2 for the time being, as well as fixed some issues with poky-autobuild-generate-sources-tarball.

There is also a nasty issue when you have easy_install installed on a system. The BB installer will attempt to install via easy_install, however, if the install directory does not exist, it fails to install. I now create the install directories beforehand.

This is actually something that should be fixed on the BB side, and when I have some time I'll look at it.

I've also added a --installbase option which does away with having to set all of the --(*)dir= options when you are trying to relocate the install from ~.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: eflanagan/bb-0.8.3
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=eflanagan/bb-0.8.3

Thanks,
Beth Flanagan <[email protected]>
---

Beth Flanagan (1):
Fix for easy_install, source tarball and 0.8.3

 scripts/poky-autobuild-generate-sources-tarball |    2 +-
 scripts/poky-setup-autobuilder                  |   27 +++++++++++++++-------
 2 files changed, 19 insertions(+), 10 deletions(-)
#1 lore raw

PATCH 1/1 Fix for easy_install, source tarball and 0.8.3

A few fixes here. First, reverting down to 0.8.2 for the time being since there was issues with 0.8.3's git poller. Also, fixing an issue with how bb setup.py works when setuptools is installed.

Fixing a known error in how generate sources tarball performs

---
 scripts/poky-autobuild-generate-sources-tarball |    2 +-
 scripts/poky-setup-autobuilder                  |   27 +++++++++++++++-------
 2 files changed, 19 insertions(+), 10 deletions(-)
scripts/poky-autobuild-generate-sources-tarball +1 -1
index 11ebda1..c445f24 100755
@@ -19,7 +19,7 @@ if [[ -z "$RELEASE" || -z "$VERSION" ]]; then
 fi
 
 if [[ -z "$BRANCH" ]]; then
-	$BRANCH = "master"
+	BRANCH = "master"
 fi
 
 BASEDIR=poky-tarball
scripts/poky-setup-autobuilder +18 -9
index 51e06eb..ad31fef 100755
@@ -140,22 +140,23 @@ def configureBot(buildtype):
             bbInstallDir = bbMasterDir
         elif buildtype == "slave":
             bbInstallDir = bbSlaveDir
-        cmd = "cd " + bbSourceDir + "; export PYTHONPATH=" + bbInstallDir + "/lib/python2.6/site-packages/:$PYTHONPATH; python ./setup.py install --prefix=" + bbInstallDir
+        cmd = "cd " + bbSourceDir + "; export PYTHONPATH=" + bbInstallDir + "/lib/python2.6/site-packages/:$PYTHONPATH; python ./setup.py build; python ./setup.py install --prefix=" + bbInstallDir
         os.system (cmd) 
     except:
         print "Issues Configuring "
         sys.exit(1)
 
 
-#BuildBot download parameters
-bbVersion = "0.8.3"
+# BuildBot download parameters
+#bbVersion = "0.8.3"
+# Pushing this back down to 0.8.2 until 0.8.3p1 comes out.
+bbVersion = "0.8.2"
 bbMasterDownloadUrl = "http://buildbot.googlecode.com/files/buildbot-" + bbVersion + ".tar.gz"
 bbSlaveDownloadUrl = "http://buildbot.googlecode.com/files/buildbot-slave-" + bbVersion + ".tar.gz"
 bbConfigDownloadUrl = None
 bbInstallerHome = os.getcwd()
 bbInstallFile = ""
-# We need the expanded path for ~ later
-bbHome = os.path.expanduser('~')
+bbHome = ""
 bbType = None
 bbSlaveDesc="Poky Autobuilder Example"
 
@@ -188,7 +189,8 @@ parser.add_option( "--maxlogs", help = "The max number of logs you want saved. I
                        action = "store", dest = "bbMaxLogs", default = "10" )                        
 parser.add_option( "--adminmail", help = "The administrator email address. If left unset we set it to current user @ localhost",
                        action = "store", dest = "bbAdminMail", default = "root@localhost" )                        
-
+parser.add_option( "--installbase", help = "The base install directory. If left unset we set we'll use --masterdir/slavedir/sourcedir/pstagedir/controldir or their defaults",
+                       action = "store", dest = "bbHome", default = os.path.expanduser('~') )          
 options, args = parser.parse_args( sys.argv )
 
 # We need to decide if we're doing a master or slave install or both
@@ -236,7 +238,10 @@ if bbPStagingDir == "":
 
 if bbType == "master" or bbType == "both":
     try:
-        os.mkdir(bbMasterDir)
+        # We do this here, because if setuputils is installed BuildBot wants to use it the easy_install way
+        # however, their easy_install way will fail if the dir does not exist. It's a bug in the BB installer
+        # that I'm going to have to figure out and push upstream.
+        os.makedirs(bbMasterDir + "/lib/python2.6/site-packages/")
     except:
         print bbMasterDir + " already exists."
         pass
@@ -332,7 +337,10 @@ c['projectURL'] = pokyABConfig.poky_projurl
 
 if bbType == "slave" or bbType == "both":
     try:
-        os.mkdir(bbSlaveDir) 
+        # We do this here, because if setuputils is installed BuildBot wants to use it the easy_install way
+        # however, their easy_install way will fail if the dir does not exist. It's a bug in the BB installer
+        # that I'm going to have to figure out and push upstream.
+        os.makedirs(bbSlaveDir + "/lib/python2.6/site-packages/") 
         os.mkdir(bbOutputDir) 
         os.mkdir(bbPStagingDir) 
 
@@ -400,7 +408,7 @@ PSTAGEDIR=%s
 # We should correct this for slave only/master only builds
 
 print """
-nstallation complete. Please review the output above for any errors.
+Installation complete. Please review the output above for any errors.
 Then edit the master.cfg file in %s and start the build master and
 build slave by running 'make start' in %s and %s directories.
 ---------------------------------------------------------------------
@@ -418,3 +426,4 @@ cd <poky-slave>; make start
 """ % (bbMasterDir, bbMasterDir, bbSlaveDir, bbSlaveDir, bbSlaveDir, bbSlaveDir)
 
 
+
Signature · 1 line
1.7.1
#2 lore raw

Re: [PATCH 1/1] Fix for easy_install, source tarball and 0.8.3

Sorry about this. My initial reply to scrap the previous pull went to only me and for some reason my generation of the second pull request is pulling the wrong branch.

-b

Quoted 106 lines · Elizabeth

A few fixes here. First, reverting down to 0.8.2 for the time being since there was issues with 0.8.3's git poller. Also, fixing an issue with how bb setup.py works when setuptools is installed.

Fixing a known error in how generate sources tarball performs

---
 scripts/poky-autobuild-generate-sources-tarball |    2 +-
 scripts/poky-setup-autobuilder                  |   27 +++++++++++++++-------
 2 files changed, 19 insertions(+), 10 deletions(-)
scripts/poky-autobuild-generate-sources-tarball +1 -1
index 11ebda1..c445f24 100755
@@ -19,7 +19,7 @@ if [[ -z "$RELEASE" || -z "$VERSION" ]]; then
 fi
 
 if [[ -z "$BRANCH" ]]; then
-	$BRANCH = "master"
+	BRANCH = "master"
 fi
 
 BASEDIR=poky-tarball
scripts/poky-setup-autobuilder +18 -9
index 51e06eb..ad31fef 100755
@@ -140,22 +140,23 @@ def configureBot(buildtype):
             bbInstallDir = bbMasterDir
         elif buildtype == "slave":
             bbInstallDir = bbSlaveDir
-        cmd = "cd " + bbSourceDir + "; export PYTHONPATH=" + bbInstallDir + "/lib/python2.6/site-packages/:$PYTHONPATH; python ./setup.py install --prefix=" + bbInstallDir
+        cmd = "cd " + bbSourceDir + "; export PYTHONPATH=" + bbInstallDir + "/lib/python2.6/site-packages/:$PYTHONPATH; python ./setup.py build; python ./setup.py install --prefix=" + bbInstallDir
         os.system (cmd) 
     except:
         print "Issues Configuring "
         sys.exit(1)
 
 
-#BuildBot download parameters
-bbVersion = "0.8.3"
+# BuildBot download parameters
+#bbVersion = "0.8.3"
+# Pushing this back down to 0.8.2 until 0.8.3p1 comes out.
+bbVersion = "0.8.2"
 bbMasterDownloadUrl = "http://buildbot.googlecode.com/files/buildbot-" + bbVersion + ".tar.gz"
 bbSlaveDownloadUrl = "http://buildbot.googlecode.com/files/buildbot-slave-" + bbVersion + ".tar.gz"
 bbConfigDownloadUrl = None
 bbInstallerHome = os.getcwd()
 bbInstallFile = ""
-# We need the expanded path for ~ later
-bbHome = os.path.expanduser('~')
+bbHome = ""
 bbType = None
 bbSlaveDesc="Poky Autobuilder Example"
 
@@ -188,7 +189,8 @@ parser.add_option( "--maxlogs", help = "The max number of logs you want saved. I
                        action = "store", dest = "bbMaxLogs", default = "10" )                        
 parser.add_option( "--adminmail", help = "The administrator email address. If left unset we set it to current user @ localhost",
                        action = "store", dest = "bbAdminMail", default = "root@localhost" )                        
-
+parser.add_option( "--installbase", help = "The base install directory. If left unset we set we'll use --masterdir/slavedir/sourcedir/pstagedir/controldir or their defaults",
+                       action = "store", dest = "bbHome", default = os.path.expanduser('~') )          
 options, args = parser.parse_args( sys.argv )
 
 # We need to decide if we're doing a master or slave install or both
@@ -236,7 +238,10 @@ if bbPStagingDir == "":
 
 if bbType == "master" or bbType == "both":
     try:
-        os.mkdir(bbMasterDir)
+        # We do this here, because if setuputils is installed BuildBot wants to use it the easy_install way
+        # however, their easy_install way will fail if the dir does not exist. It's a bug in the BB installer
+        # that I'm going to have to figure out and push upstream.
+        os.makedirs(bbMasterDir + "/lib/python2.6/site-packages/")
     except:
         print bbMasterDir + " already exists."
         pass
@@ -332,7 +337,10 @@ c['projectURL'] = pokyABConfig.poky_projurl
 
 if bbType == "slave" or bbType == "both":
     try:
-        os.mkdir(bbSlaveDir) 
+        # We do this here, because if setuputils is installed BuildBot wants to use it the easy_install way
+        # however, their easy_install way will fail if the dir does not exist. It's a bug in the BB installer
+        # that I'm going to have to figure out and push upstream.
+        os.makedirs(bbSlaveDir + "/lib/python2.6/site-packages/") 
         os.mkdir(bbOutputDir) 
         os.mkdir(bbPStagingDir) 
 
@@ -400,7 +408,7 @@ PSTAGEDIR=%s
 # We should correct this for slave only/master only builds
 
 print """
-nstallation complete. Please review the output above for any errors.
+Installation complete. Please review the output above for any errors.
 Then edit the master.cfg file in %s and start the build master and
 build slave by running 'make start' in %s and %s directories.
 ---------------------------------------------------------------------
@@ -418,3 +426,4 @@ cd <poky-slave>; make start
 """ % (bbMasterDir, bbMasterDir, bbSlaveDir, bbSlaveDir, bbSlaveDir, bbSlaveDir)
 
 
+