Esempio n. 1
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))
Esempio n. 2
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
Esempio n. 3
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
Esempio n. 4
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)
Esempio n. 5
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)