#1308 Add documentation on how to bootstrap packages with Koji
Opened 7 months ago by eclipseo. Modified 10 days ago
eclipseo/packaging-committee bootstrap_doc  into  master

@@ -3096,9 +3096,11 @@ 

       the `+~bootstrap+` suffix is appended to the dist tag.

       This avoids the need to bump release

       between bootstrap and final build.

-      You can temporarily enable bootstrapping by commit,

-      which changes `+%bcond_with bootstrap+` to `+%bcond_without bootstrap+`

-      and later reverting the commit to do final build.

+      You can enable or disable bootstrapping by default by setting:

+      `+%bcond_without bootstrap+` (enabled by default) and

+      `+%bcond_with bootstrap+` (disabled by default)

+      then pass an option to Koji to switch the option according

+      to your need as explained in <<kojibootstrapping>>.

  

  TIP: Since Fedora 31,

       you can disable the automatic suffix addition
@@ -3120,6 +3122,44 @@ 

  in bootstrap still needs an exception from the Packaging Committee

  as stated in <<General Exception Policy>>.

  

+ [#kojibootstrapping]

+ === Using bootstrapping with Koji

+ 

+ You can enable or disable the bootstrapping while building your package in a

+ sidetag in Koji.

+ 

+ First you should install `python3-koji-cli-plugins`

+ 

+ [source, bash]

+ ----

+ sudo dnf install python3-koji-cli-plugins

+ ----

+ 

+ Then you need to request a sidetag where you will bootstrap your packages:

+ 

+ [source, bash]

+ ----

+ fedpkg request-side-tag --base-tag fXX-build

+ ----

+ 

+ Wait for the sidetag to be created, then edit the sidetag to add the

+ bootstrapping option:

+ 

+ [source, bash]

+ ----

+ koji edit-sidetag --rpm-macro _with_bootstrap=1 fXX-build-side-XXXXX

+ ----

+ 

+ You can now build your packages with the bootstrap option. Once your

+ bootstrapped packages are built, you can delete the option:

+ 

+ [source, bash]

+ ----

+ koji edit-sidetag --remove-rpm-macro _with_bootstrap fXX-build-side-XXXXX

+ ----

+ 

+ And then build the unboostrapped versions.

+ 

  == System Cryptographic Policies

  

  Applications which make use the SSL or TLS cryptographic protocols

Thanks!

releng#11254 doesn't fully explain how to use the feature, and we shouldn't force contributors to dig in the releng archives for this info.
I don't have a voting power here, but I'd like to see this section in the docs.


There's a TIP: a few lines above which says

     You can temporarily enable bootstrapping by commit,
     which changes `+%bcond_with bootstrap+` to `+%bcond_without bootstrap+`
     and later reverting the commit to do final build.

It would be nice to a) adjust the tip text and b) for absolute clarity, reiterate in the == Using bootstrapping with Koji section that the method does not require touching bcond in the spec or committing/reverting anything.

That's not accurate; %bcond bootstrap 0 only checks if _with_bootstrap is defined and doesn't look at the value. E.g. rpmbuild --define '_with_bootstrap 0' ... would continue as if the bootstrap option was enabled.

Please, remove this and leave --remove-rpm-macro as the only option.

rebased onto 0e681df

10 days ago

rebased onto b55052d

10 days ago

I updated the text as specified.

rebased onto a405a74

10 days ago

rebased onto 0670ca3

10 days ago
Metadata