Discussion:
Bug#868526: dgit-user(7) should say how to use sbuild
(too old to reply)
Ian Jackson
2017-07-16 12:30:03 UTC
Permalink
Raw Message
Package: dgit
Version: 3.11

This is not trivial, because sbuild wants to work from a source
package, and the purely git-based workflow here does not produce a
tree that can be represented by dpkg-source.

For now it appears likely that
sbuild --dpkg-source-opts='--format=1.0 -sn'
will generate a 1.0 native source package and should work.

However, I think it will leave the "source package" lying around in
the user's .. . This is a hazard, because that "source package" is a
bear trap: it cannot be extracted and re-packed !

Also it will probably apply unnecessarily-vigorous compression to the
package.

Some testing is needed.

Ian.
--
Ian Jackson <***@chiark.greenend.org.uk> These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.
Sean Whitton
2017-07-16 20:00:02 UTC
Permalink
Raw Message
Could you explain why you think it is desirable to have anything about
sbuild in dgit-user(7)? Don't we have `apt-get build-dep` for precisely
this use-case -- a user wanting to make modifications to a package from
the suite they are running?

sbuild-createchroot(1) is pretty good, but I'm not sure why users
wanting to apply patches to packages in their suite would want to use
it.
--
Sean Whitton
Ian Jackson
2017-07-16 20:30:01 UTC
Permalink
Raw Message
Post by Sean Whitton
Could you explain why you think it is desirable to have anything about
sbuild in dgit-user(7)? Don't we have `apt-get build-dep` for precisely
this use-case -- a user wanting to make modifications to a package from
the suite they are running?
sbuild-createchroot(1) is pretty good, but I'm not sure why users
wanting to apply patches to packages in their suite would want to use
it.
I think it's useful to document this because I have had at least two
separate conversations with people who started with dgit-user(7) and
wanted to use sbuild. (Indeed dgit-user(7) itself suggests you may
need sbuild to cope with multiarch.)

It needs documenting because it's nontrivial (not to say insane).
It's a small enough chunk that it's probably worth keeping there
rather than in some other tutorial.

I'm very open to your opinion about what else to do with this
information.

Ian.
--
Ian Jackson <***@chiark.greenend.org.uk> These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.
Sean Whitton
2017-07-17 00:30:02 UTC
Permalink
Raw Message
Post by Ian Jackson
I think it's useful to document this because I have had at least two
separate conversations with people who started with dgit-user(7) and
wanted to use sbuild. (Indeed dgit-user(7) itself suggests you may
need sbuild to cope with multiarch.)
Ah, good.
Post by Ian Jackson
It needs documenting because it's nontrivial (not to say insane).
It's a small enough chunk that it's probably worth keeping there
rather than in some other tutorial.
Yes, though let's try and keep it cordoned off.
Post by Ian Jackson
I'm very open to your opinion about what else to do with this
information.
Thanks. Let's see what invocation of sbuild we end up with. As you
know, I'm hoping to come up with a script for dgit-user(7), using git
subtrees.
--
Sean Whitton
Ian Jackson
2017-07-17 09:40:01 UTC
Permalink
Raw Message
Post by Sean Whitton
Thanks. Let's see what invocation of sbuild we end up with.
git pull chiark master

and you'll see4 what I came up with. It's not pretty. See also
#868527 against sbuild.
Post by Sean Whitton
As you know, I'm hoping to come up with a script for dgit-user(7),
using git subtrees.
What ? I haven't had any coffee yet, but I am confused.

Ian.
Ian Jackson
2017-07-17 09:50:01 UTC
Permalink
Raw Message
Post by Ian Jackson
Post by Sean Whitton
Thanks. Let's see what invocation of sbuild we end up with.
git pull chiark master
Actually, this is in branch wip.sbuild (rebasing), for now.

Ian.
Sean Whitton
2017-07-17 19:10:01 UTC
Permalink
Raw Message
Post by Ian Jackson
Post by Sean Whitton
Thanks. Let's see what invocation of sbuild we end up with.
git pull chiark master
and you'll see4 what I came up with.
Well, `git fetch ian` in my case ;)

LGTM.
Post by Ian Jackson
It's not pretty. See also #868527 against sbuild.
#868527 is a very encouraging read. To my mind, the git-archive(1)
approach suggested there would be a big step forward for sbuild.

Depending on the final interface for that new feature -- whether it
requires an option, or whether sbuild autodetects a git repo -- it might
be worth ensuring that `dgit sbuild` always uses the new feature.
Post by Ian Jackson
Post by Sean Whitton
As you know, I'm hoping to come up with a script for dgit-user(7),
using git subtrees.
What ? I haven't had any coffee yet, but I am confused.
Sorry, I meant worktrees.

I think that this new sbuild feature might render that idea of mine
obsolete.
--
Sean Whitton
Loading...