Hi,

I have a few question a bit related to the test failure in the github
PR#35 [1].

As of now, `/usr/bin/pristine-tar` will fail if we tell it to commit /
checkout a non existing signature.
So when calling `pristine-tar`, we need to check if the signature exists
or not.

For the commit operation, this is a simple `os.path.isfile` check.
If the signature file exists, include it to `pristine-tar commit`.

But for the checkout operation, we need to either:

1. Check if the signature is in the `pristine-tar` branch.
    - In that case, we need to replicate `pristine-tar` behavior to
      keep remote `pristine-tar` branch supported
    - This is what this PR does, using `git ls-tree`. But it
      currently only works with a local `pristine-tar` branch.

2. Always try to checkout with `pristine-tar --signature-file checkout`.
    - If this fails, retry without the signature
    - This has the downside of doing an useless try when the package
      doesn't use upstream signatures.

3. Add a new configuration option to enable signature storage with
`pristine-tar`
    - So we checkout with `pristine-tar --signature-file checkout`
      only if that option is enabled.
    - Like 2., if there is no signature, it will fail and we catch
      that failure to retry a checkout without the signature (this
      way we still handle checkout of tarball without signature)

4. Ask `pristine-tar` team to have a way to not fail when doing
`pristine-tar --signature-file checkout` with a non existing signature.
    - If there is no signature inside the `pristine-tar` branch,
      it would only extract the tarball without failing.

I'm not sure what's the preferred way to communicate github PR and/or
Debian BTS so I posted this on both.

[1] https://github.com/agx/git-buildpackage/pull/35

-- 
Alexis Murzeau
PGP: B7E6 0EBB 9293 7B06 BDBC  2787 E7BD 1904 F480 937F

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to