Example #1
0
 def init(path, config_file=Config.CONFIGFILE):
     ''' Needs the path to repo, or the repo name if specified in the config file '''
     try:
         Config.init(path, config_file)
         LocalRepo._repo = Repo(Config.get('path', path))
         Log.init(LocalRepo._repo.path)
         BuildLog.init(LocalRepo._repo.path)
         PkgbuildLog.init(LocalRepo._repo.path)
     except LocalRepoError as e:
         LocalRepo.error(e)
Example #2
0
	def init(path, config_file=Config.CONFIGFILE):
		''' Needs the path to repo, or the repo name if specified in the config file '''
		try:
			Config.init(path, config_file)
			LocalRepo._repo = Repo(Config.get('path', path))
			Log.init(LocalRepo._repo.path)
			BuildLog.init(LocalRepo._repo.path)
			PkgbuildLog.init(LocalRepo._repo.path)
		except LocalRepoError as e:
			LocalRepo.error(e)
Example #3
0
	def _load_pkgbuild(name, path):
		''' Stores the PKGBUILD dir or loads an existing PKGBUILD from the pkgbuild dir '''
		if not path.startswith(PkgbuildLog.log_dir(name)):
			PkgbuildLog.store(name, path)
			return path

		try:
			tmpdir = join(mkdtemp(dir=Package.get_tmpdir()), name)
			copytree(path, tmpdir)
			return tmpdir
		except:
			raise BuildError(_('Could not load PKGBUILD into workspace: {0}').format(path))
Example #4
0
    def _process_pkgbuild(path):
        ''' Parses the PKGBUILD and stores or loads it in/from the pkgbuild dir '''
        info = PkgbuildParser(path).parse()
        path = dirname(path)

        if not Config.get('pkgbuild', False):
            return path, info

        if not path.startswith(PkgbuildLog.log_dir(info['name'])):
            PkgbuildLog.store(info['name'], path)
            return path, info

        tmpdir = join(Package.get_tmpdir(), info['name'])
        PkgbuildLog.load(info['name'], tmpdir)
        return tmpdir, info
Example #5
0
	def _process_pkgbuild(path):
		''' Parses the PKGBUILD and stores or loads it in/from the pkgbuild dir '''
		info = PkgbuildParser(path).parse()
		path = dirname(path)

		if not Config.get('pkgbuild', False):
			return path, info

		if not path.startswith(PkgbuildLog.log_dir(info['name'])):
			PkgbuildLog.store(info['name'], path)
			return path, info

		tmpdir = join(Package.get_tmpdir(), info['name'])
		PkgbuildLog.load(info['name'], tmpdir)
		return tmpdir, info
Example #6
0
    def rebuild(names):
        ''' Rebuilds the specified packages '''
        if not Config.get('pkgbuild', False):
            LocalRepo.error(
                _('Please specify \'pkgbuild\' in your config file!'))

        LocalRepo.add([PkgbuildLog.log_dir(name) for name in names],
                      force=True)
Example #7
0
	def test_store_and_load__pkgbuild(self):
		PkgbuildLog.init(self.repo)

		for pkg in ['pkg1', 'pkg2', 'pkg1']:
			tmpdir = mkdtemp(prefix='local-repo-test-pkgbuild-dir-')
			l, f = mkstemp(prefix='local-repo-test-pkgbuild-file-', dir=tmpdir)
			PkgbuildLog.store(pkg, tmpdir)
			rmtree(tmpdir)
			self.assertIs(True, isfile(join(self.pkgbuild, pkg, basename(f))))

		tmpdir = mkdtemp(prefix='local-repo-test-pkgbuild-dir-')

		for pkg in ['pkg1', 'pkg2', 'pkg1']:
			PkgbuildLog.load(pkg, join(tmpdir, pkg))
			self.assertIs(True, isdir(join(tmpdir, pkg)))

		rmtree(tmpdir)
Example #8
0
    def test_store_and_load__pkgbuild(self):
        PkgbuildLog.init(self.repo)

        for pkg in ['pkg1', 'pkg2', 'pkg1']:
            tmpdir = mkdtemp(prefix='local-repo-test-pkgbuild-dir-')
            l, f = mkstemp(prefix='local-repo-test-pkgbuild-file-', dir=tmpdir)
            PkgbuildLog.store(pkg, tmpdir)
            rmtree(tmpdir)
            self.assertIs(True, isfile(join(self.pkgbuild, pkg, basename(f))))

        tmpdir = mkdtemp(prefix='local-repo-test-pkgbuild-dir-')

        for pkg in ['pkg1', 'pkg2', 'pkg1']:
            PkgbuildLog.load(pkg, join(tmpdir, pkg))
            self.assertIs(True, isdir(join(tmpdir, pkg)))

        rmtree(tmpdir)
Example #9
0
	def test_pkgbuild_log_dir(self):
		PkgbuildLog.init(self.repo)
		self.assertEqual(join(self.pkgbuild, 'pkgname'), PkgbuildLog.log_dir('pkgname'))
Example #10
0
	def rebuild(names):
		''' Rebuilds the specified packages '''
		if not Config.get('pkgbuild', False):
			LocalRepo.error(_('Please specify \'pkgbuild\' in your config file!'))

		LocalRepo.add([PkgbuildLog.log_dir(name) for name in names], force=True)
Example #11
0
 def test_pkgbuild_log_dir(self):
     PkgbuildLog.init(self.repo)
     self.assertEqual(join(self.pkgbuild, 'pkgname'),
                      PkgbuildLog.log_dir('pkgname'))