Autobuilder fixes and added functionality
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(-)
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
@@ -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
@@ -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
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.pyworks when setuptools is installed.Fixing a known error in how generate sources tarball performs
Signed-off-by Beth Flanagan <[email protected]>--- 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@@ -19,7 +19,7 @@ if [[ -z "$RELEASE" || -z "$VERSION" ]]; then fi if [[ -z "$BRANCH" ]]; then - $BRANCH = "master" + BRANCH = "master" fi BASEDIR=poky-tarballscripts/poky-setup-autobuilder +18
-9@@ -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) +