Monday 12 June 2023

Re: git-ubuntu build

Hi,

On Sat, Jun 10, 2023, Neal McBurnett wrote:
> OK, I'm stuck. This sounds great, and just the sort of thing I want to do
> as a casual Ubuntu-oriented developer, but I keep running into roadblocks,
> and can't find any documentation.
>
> I google "git-ubuntu" and find nothing more recent and relevant than this
> 2017 article:
>
> Developing Ubuntu using git | Ubuntu
> https://ubuntu.com/blog/developing-ubuntu-using-git
>
> It doesn't lead me immediately to anything I can just run. Nor does wajig
> search git-ubuntu or ChatGPT-4 or this:

You should use the snap and I think you need the one from edge in
practice:

sudo snap install --edge git-ubuntu

I'm going to comment on some of your other questions but the snap is the
best way to install this.

Btw, "git foo" looks up an executable named "git-foo" in your $PATH.
That's why there can be new and third-party git subcommands like this
one.

> $ git ubuntu
> git: 'ubuntu' is not a git command. See 'git --help'.
>
> Next I try ` git clone lp:git-ubuntu` and get
> ssh: Could not resolve hostname lp: Temporary failure in name resolution

I think Steve has an SSH config which defines the "lp" host. What you'>

> ChatGPT suggests that perhaps I meant this:
>
> $ git clone --verbose https://git.launchpad.net/git-ubuntu:git-ubuntu
> Cloning into 'git-ubuntu'...
> Username for 'https://git.launchpad.net':

For the record, the correct way would be

git clone https://git.launchpad.net/git-ubuntu

> Finally, perhaps it would help to take the Ubuntu/Debian developer
> documentation and load it into some large language model for easier natural
> language search?
> Ala one of these:
>
> How to implement Q&A against your documentation with GPT3, embeddings and
> Datasette
> https://simonwillison.net/2023/Jan/13/semantic-search-answers/
>
> How to customize LLMs like ChatGPT with your own data and documents -
> TechTalks
> https://bdtechtalks.com/2023/05/01/customize-chatgpt-llm-embeddings/

One of the best and current resource is at

https://github.com/canonical/ubuntu-maintainers-handbook/blob/main/PackageMerging.md

(or one of the documents in the same repository)

I haven't tried to feed that to an LLM but I can see that giving good
results (it's too late for me to start this this evening), especially
since this documentation is good but fairly long (there are good reasons
for that but, yes, it's long). I could imagine some hand-holding or
"where do I start?" and "what's the next step?".

With that being said, as you can see from this documentation, at the
moment, you still have a lot to do if you're using git ubuntu as is
currently published in the snap. That's because git-ubuntu stores the
packages' sources and their history, both through technical means (e.g.
using git) and social/customary ones (the way things are formatted and
commited in git), but there is a lot more to Debian packaging and Ubuntu
processes.

I've quickly tried gu-build and I think it's young but probably has
promises. I tried it on a trivial merge from Debian by (iirc) git ubuntu
clone cdebconf, then git rebase pkg/debian/sid, and finally gu-build.
It feels a bit too automagic, especially because a) it does so many
steps that are typically described and done separately, and b) it pushes
the changes. Together these two elements mean that the command you use
to build and test also pushes the code but I usually like my mistakes to
not be pushed before I review them. Except that... fewer steps to think
about is exactly what's appealing to me with this.
I don't know if there exists steps in which the workflow can be split
into and that make sense both for computers which run the automation,
and humans who look at it. I hope such steps exist though.

PS: one improvement for gu-build would be to print to stdout the various
steps it goes through; a full, clean and pretty implementation is
probably fairly difficult but a crude one that is ~60% enough would
probably a matter of minutes.

--
Adrien

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel