diff --git a/elbepack/elbeproject.py b/elbepack/elbeproject.py index 07a84ebcb..086b3e98f 100644 --- a/elbepack/elbeproject.py +++ b/elbepack/elbeproject.py @@ -873,6 +873,9 @@ def create_pbuilder(self, cross, noccache, ccachesize): '--aptconfdir', os.path.join(self.builddir, 'aptconfdir'), '--debootstrapopts', '--include=git,gnupg', *no_check_gpg, *keyring]) + if debootstrap_key_path: + os.remove(debootstrap_key_path) + def sync_xml_to_disk(self): try: sourcexmlpath = os.path.join(self.builddir, 'source.xml') diff --git a/elbepack/pbuilder.py b/elbepack/pbuilder.py index 3696630f7..77f4d5f19 100644 --- a/elbepack/pbuilder.py +++ b/elbepack/pbuilder.py @@ -4,8 +4,10 @@ import os import pathlib +from tempfile import NamedTemporaryFile from urllib.request import urlopen +from elbepack.egpg import unarmor_openpgp_keyring from elbepack.treeutils import strip_leading_whitespace_from_lines @@ -177,8 +179,16 @@ def pbuilder_get_debootstrap_key_path(chrootpath, xml): # If we have a primary key for use with debootstrap, BuildEnv.debootstrap # will have added the key. We use the same key for the pbuilder # debootstrap options. - if get_debootstrap_key(xml): - return os.path.join(chrootpath, 'etc', 'apt', 'trusted.gpg.d', 'elbe-xml-primary-key.gpg') + key = get_debootstrap_key(xml) + if key is None: + return None + + tmp_file = NamedTemporaryFile(delete=False) + + tmp_file.write(unarmor_openpgp_keyring(key)) + tmp_file.close() + + return tmp_file.name def get_apt_keys(builddir, xml):