From 68df47779d606f029f1897b07f8c23b48fb3e13c Mon Sep 17 00:00:00 2001 From: Ciaran Gultnieks Date: Wed, 5 Jun 2013 12:54:47 +0100 Subject: [PATCH] Fix more srclib-related stuff --- fdroidserver/build.py | 9 ++++++--- fdroidserver/common.py | 12 ++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/fdroidserver/build.py b/fdroidserver/build.py index c2b08492..0814a45c 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -676,17 +676,20 @@ def main(): # there are any. if first: if app['Repo Type'] == 'srclib': - build_dir = os.path.join('build', 'srclib') + build_dir = os.path.join('build', 'srclib', app['Repo']) else: build_dir = os.path.join('build', app['id']) # Set up vcs interface and make sure we have the latest code... + if options.verbose: + print "Getting {0} vcs interface for {1}".format( + app['Repo Type'], app['Repo']) vcs = common.getvcs(app['Repo Type'], app['Repo'], build_dir, sdk_path) - if app['Repo Type'] == 'srclib': - build_dir = os.path.join(build_dir, app['Repo']) first = False + if options.verbose: + print "Checking " + thisbuild['version'] if trybuild(app, thisbuild, build_dir, output_dir, also_check_dir, srclib_dir, extlib_dir, tmp_dir, repo_dir, vcs, options.test, options.server, options.install, options.force, diff --git a/fdroidserver/common.py b/fdroidserver/common.py index d45bc186..2579365e 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -35,7 +35,9 @@ def getvcs(vcstype, remote, local, sdk_path): if vcstype == 'bzr': return vcs_bzr(remote, local, sdk_path) if vcstype == 'srclib': - return getsrclib(remote, local, sdk_path, raw=True) + if local != 'build/srclib/' + remote: + raise VCSException("Error: srclib paths are hard-coded!") + return getsrclib(remote, 'build/srclib', sdk_path, raw=True) raise VCSException("Invalid vcs type " + vcstype) def getsrclibvcs(name): @@ -85,6 +87,7 @@ class vcs: '.fdroidvcs-' + os.path.basename(self.local)) cdata = self.repotype() + ' ' + self.remote writeback = True + deleterepo = False if os.path.exists(self.local): if os.path.exists(fdpath): with open(fdpath, 'r') as f: @@ -92,8 +95,13 @@ class vcs: if fsdata == cdata: writeback = False else: + deleterepo = True print "*** Repository details changed - deleting ***" - shutil.rmtree(self.local) + else: + deleterepo = True + print "*** Repository details missing - deleting ***" + if deleterepo: + shutil.rmtree(self.local) self.gotorevisionx(rev) -- 2.30.2