mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 14:30:30 +03:00 
			
		
		
		
	Merge branch 'submodules_ucm' into 'master'
checkupdates: don't fail when we can't init submodules Closes #231 See merge request fdroid/fdroidserver!395
This commit is contained in:
		
						commit
						5ae14fab18
					
				
					 3 changed files with 23 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -33,7 +33,7 @@ import copy
 | 
			
		|||
from . import _
 | 
			
		||||
from . import common
 | 
			
		||||
from . import metadata
 | 
			
		||||
from .exception import VCSException, FDroidException, MetaDataException
 | 
			
		||||
from .exception import VCSException, NoSubmodulesException, FDroidException, MetaDataException
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Check for a new version by looking at a document retrieved via HTTP.
 | 
			
		||||
| 
						 | 
				
			
			@ -110,8 +110,7 @@ def check_tags(app, pattern):
 | 
			
		|||
 | 
			
		||||
        last_build = app.get_last_build()
 | 
			
		||||
 | 
			
		||||
        if last_build.submodules:
 | 
			
		||||
            vcs.initsubmodules()
 | 
			
		||||
        try_init_submodules(app, last_build, vcs)
 | 
			
		||||
 | 
			
		||||
        hpak = None
 | 
			
		||||
        htag = None
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +206,7 @@ def check_repomanifest(app, branch=None):
 | 
			
		|||
        if len(app.builds) > 0:
 | 
			
		||||
            last_build = app.builds[-1]
 | 
			
		||||
 | 
			
		||||
        if last_build.submodules:
 | 
			
		||||
            vcs.initsubmodules()
 | 
			
		||||
        try_init_submodules(app, last_build, vcs)
 | 
			
		||||
 | 
			
		||||
        hpak = None
 | 
			
		||||
        hver = None
 | 
			
		||||
| 
						 | 
				
			
			@ -300,6 +298,19 @@ def check_gplay(app):
 | 
			
		|||
    return (version.strip(), None)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def try_init_submodules(app, last_build, vcs):
 | 
			
		||||
    """Try to init submodules if the last build entry used them.
 | 
			
		||||
    They might have been removed from the app's repo in the meantime,
 | 
			
		||||
    so if we can't find any submodules we continue with the updates check.
 | 
			
		||||
    If there is any other error in initializing them then we stop the check.
 | 
			
		||||
    """
 | 
			
		||||
    if last_build.submodules:
 | 
			
		||||
        try:
 | 
			
		||||
            vcs.initsubmodules()
 | 
			
		||||
        except NoSubmodulesException:
 | 
			
		||||
            logging.info("No submodules present for {}".format(app.Name))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Return all directories under startdir that contain any of the manifest
 | 
			
		||||
# files, and thus are probably an Android project.
 | 
			
		||||
def dirs_with_manifest(startdir):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,7 +53,8 @@ from distutils.util import strtobool
 | 
			
		|||
 | 
			
		||||
import fdroidserver.metadata
 | 
			
		||||
from fdroidserver import _
 | 
			
		||||
from fdroidserver.exception import FDroidException, VCSException, BuildException, VerificationException
 | 
			
		||||
from fdroidserver.exception import FDroidException, VCSException, NoSubmodulesException,\
 | 
			
		||||
    BuildException, VerificationException
 | 
			
		||||
from .asynchronousfilereader import AsynchronousFileReader
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -883,7 +884,7 @@ class vcs_git(vcs):
 | 
			
		|||
        self.checkrepo()
 | 
			
		||||
        submfile = os.path.join(self.local, '.gitmodules')
 | 
			
		||||
        if not os.path.isfile(submfile):
 | 
			
		||||
            raise VCSException(_("No git submodules available"))
 | 
			
		||||
            raise NoSubmodulesException(_("No git submodules available"))
 | 
			
		||||
 | 
			
		||||
        # fix submodules not accessible without an account and public key auth
 | 
			
		||||
        with open(submfile, 'r') as f:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,6 +39,10 @@ class VCSException(FDroidException):
 | 
			
		|||
    pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NoSubmodulesException(VCSException):
 | 
			
		||||
    pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BuildException(FDroidException):
 | 
			
		||||
    pass
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue