Streamline build-packages-locally article#431
Conversation
b538e8c to
ad31d7e
Compare
This will make the article primarily present how to use sbuild, rather than suggesting multiple build tools. Instead, other build tools are linked at the very bottom. Known bug: copying the configuration file does not include the hashes in comments.
ad31d7e to
57180c6
Compare
|
Force pushed for typo correction |
|
@rkratky Nice, thanks! I appreciate the changes. Let me have a look. |
Main changes:
Removed numbers from headings
Gerunds in sub-headings
Long options for readability
More direct/authoritative style
Some formatting modifications
(Removed hard line breaks, but only because it was easier to edit like that. Otherwise it's not a problem.)
|
Merged your changes now, the looked good to me. |
|
You need to fix #270 if you're going to recommend unshare and ~/.config/sbuild/sbuild.pl` since otherwise the instructions won't work with the current Ubuntu LTS. See my notes from #295 I don't think enabling experimental tags ( The purge config is unnecessary for unshare, but it is helpful if you're going to use schroot for cross building. $build_dir = '/home/my_user/schroot/build';
$log_dir = '/home/my_user/schroot/logs';I don't think this should mention |
|
@jbicha Great points! Thanks for the feedback. It's really easy to assume everything from the perspective of the bleeding edge release, however that also risks these incompatibilities you mentioned here. In this case, I think the way forward is fixing #270 as you suggested, saying in |
mwhudson
left a comment
There was a problem hiding this comment.
Here's a few unsolicited comments! I think the changes mostly go in the right direction but some things are a bit muddled. It probably makes sense to document the new shiny unshare backend and then have a section that says "on older releases set up schroot like a b c"? (I think it's just a touch premature to drop all documentation of the schroot based solution).
|
With this $chroot_mode = 'unshare';
$unshare_mmdebstrap_keep_tarball = 1;
# /tmp is tmpfs and large builds will fail after filling all memory.
$unshare_tmpdir_template = '/var/tmp/tmp.sbuild.XXXXXXXXXX';
$clean_source = 0;
$run_lintian = 0; |
Co-authored-by: Robert Krátký <robert.kratky@canonical.com>
|
Hey folks! In order to get things moving, we are planning to get this merged and move the current unresolved comments into a separate issue in order to keep track of them. I will link the new issue here once it has been created. |
|
Here is the new issue: #536 For ease of use, I have linked the unresolved comments as well in there. |
|
I was trying to follow the docs a week before this got merged,and wanted to help improving the docs myself, but now I see this already have been merged. Thanks for that. There is one thing I'd like to quickly discuss. We have a dedicated section about setting up chroots in https://documentation.ubuntu.com/project/contributors/setup/set-up-for-ubuntu-development/#sbuild, but still this PR duplicated some information into the sbuild section of https://documentation.ubuntu.com/project/contributors/bug-fix/build-packages-locally/#setting-up-sbuild. Is this done on purpose? Or would it be better to have a single source of truth and just link to it? Cheers! |
Hey there @jugmac00! That was interestingly something me and Robert discussed. The reason for duplicating the information there was essentially to provide a coherent guide for building packages, and it was believed that linking to a section of another article would disrupt the flow (seeing as the article in this PR specifically deals with using I think having a single source of truth would be the best way to go about it, although I'm not certain where to put it. I think the "How to set up for Ubuntu development" is a very concise place for configuration settings, however it does not contain any usage examples relating to the tools it configures. Consider an entirely new contributor reading that article - I'd wager they would have questions like "what is What do you think? |
|
@BAMF0 I think having a single place which we can refer to is the best option. I also still think we can everything in a "How to set up for Ubuntu development" and add a few more hints about what these tools are about, maybe in a collapsed view. I was an entirely new contributor like 2 weeks ago when I tried it for the first time - and I would have not minded a "please set up your dev environment first before you read on" article. As we both know, there was nothing there two weeks ago :) I discussed this with @cpaelzer and he will clarify the direction with the TAs. I have a couple of more ideas on how to improve that page, but will wait for a decision. |
+1 I think that's a good suggestion. Having a "Step 0"/Prologue that should be completed before these guides is something we should go for. In that case each article author could always write with the assumption that the reader at least has their environment setup. Now that you bring it up it's likely better to revise https://documentation.ubuntu.com/project/contributors/setup/set-up-for-ubuntu-development/, than to split up or move that information. |
|
https://documentation.ubuntu.com/project/contributors/setup/set-up-for-ubuntu-development/ has been improved already, at least about what packages need to be installed, thanks to @cpaelzer I still propose to move all schroot setup related info to a single location, and ideally to that page, too. Is this something we can agree upon? Or do you or @rkratky insist on having things duplicated in build-packages-locally.rst? I just want to make sure I know where I can put my focus on - there are many other places to improve our docs. |
|
I'm for moving it into a single location. In that case I would link to https://documentation.ubuntu.com/project/contributors/setup/set-up-for-ubuntu-development/ as a prerequisite for the entire article. It will probably be a bit slim, but that's maybe okay in that case. If we move it, I think we should consider having a structure similar to I would like to know @rkratky's opinion as well, but besides that I'm for your proposal. |
|
Hi @jugmac00, @BAMF0. I agree with what's being proposed. My hesitation before stemmed mainly from the fact that the 'set up for U. development' page used to be a mess. It's better now. I think we should still improve it and make it shorter + more opinionated/authoritative. But overall, I support having it as a prerequisite for all the other build, fix, etc. articles. |
|
@BAMF0 Is this something you want to work on? i.e. as a first step unify the sbuild setup in https://documentation.ubuntu.com/project/contributors/setup/set-up-for-ubuntu-development/? I have a couple of notes, and I would love to iterate with you on the PR. Also, what do you think of using tabs to show ways for setting this up until 24.04 and a default tab to show what is the way with newer versions? For a visual example of tabs in docs (with unrelated content), see https://canonical-launchpad-admin-manual--261.com.readthedocs.build/en/261/reference/read-launchpad-logs-via-rsync/#known-rsync-modules. |
|
@jugmac00 Absolutely, I'd gladly work on it! I think tabs seem like a good idea. It gives a good overview of the different versions of similar instructions. We should try that out and see how it feels. Perhaps I could start by creating an issue named something like "Centralize and overhaul |
|
Sounds great! |
|
For reference: #572 |
Description
This pull request will streamline the article "How to build packages locally" by making it propose one recommended and more authoritative way of building packages using
sbuild, rather than multiple. It is needed to provide a more up to date and direct instruction set that should allow contributor's to build packages in a more uniform way.Related issue
Checklist
Additional notes (optional)
Configuration files as code blocks do not allow copying hashes ("#"), which is currently a UX bug since the text has to be manually copied instead.