#684 Fix bootstrap guidelines
Closed: accepted 2 years ago Opened 2 years ago by vondruch.

Link to the draft

https://fedoraproject.org/wiki/User:Vondruch/Bootsrap_guidelines#Bootstrapping

Link to diff

https://fedoraproject.org/w/index.php?title=User:Vondruch/Bootsrap_guidelines&diff=492334&oldid=492333

Explanation

The current bootstarp guidelines makes no sense, since --with=bootstrap option should set the bootstrap flag, but the logic is unfortunately inverted in the guidelines.

This change was demanded in (1), but it actually never really materialized.


I want "like" button here.

Let me share my comment especially too [1]
The summary of the comment is that the negative operator !? is wrong or bug.

And let me explain why this is important for me.
I am maintaining Ruby packages related to Ruby on Rails in Fedora Project.

To build Ruby on Rails 5.0 from scratch, I have to build the packages total 103 times considering bootstrap using a configuration file [2].
You can see many bootstrap parts in the file.
I am one of the people who use bootstrap logic actively.

It is important to fix bootsrap issue, though many ruby packages have already been using this suggested format.

For example, we must be using bootstrap below ways for mock.

For _with_foo variable.

$ mock -r fedora-rawhide-x86_64 --with=bootstrap *.src.rpm

For other general variable.

$ mock -r fedora-rawhide-x86_64 --define '_with_bootstrap 1' *.src.rpm

@james Good day James, we created this ticket newly for this topic, as you told us.
Could you assign someone in the package committee to the ticket?

That wouldn't really mean anything because we don't really use assignments, but if it makes you feel better I'll assign it to myself.

I personally would wait until the mailing list discussion arrives at any sort of conclusion before we vote on anything.

Metadata Update from @tibbs:
- Issue assigned to tibbs
- Issue tagged with: meeting

2 years ago

Hi @tibbs
All right. I understood it. Thank you for the consideration.

We discussed this at this weeks meeting (http://meetbot.fedoraproject.org/fedora-meeting-1/2017-05-11/fpc.2017-05-11-16.00.txt):

  • 684 Fix bootstrap guidelines (geppetto, 16:06:32)
  • ACTION: Fix bootstrap guidelines (+1:5, 0:0, -1:1) (geppetto,
    16:40:48)

Metadata Update from @james:
- Issue untagged with: meeting
- Issue tagged with: writeup

2 years ago

Of course, now I realize the issue with the proposed change - how does the packager enable bootstrap in koji?

Presumably by adding another line with:

%global bootstrap 1

But this is probably not obvious.

I elaborated why not use the %bcond_with and how to actually use it in without modifications of Koji/Copr right now here:

https://lists.fedoraproject.org/archives/list/packaging@lists.fedoraproject.org/message/QCRIFXIHLFUADVD445UYDQQPDBIKC6IA/

But of course the %global bootstrap 1 is the basic approach.

I also proposed there should be some Provide: bootsrap() to mark such packages and there should be also some revision modifier to make it without changing the .spec file. Should I update my proposal to include this?

@james, @orion thank you for discussing it on the meeting yesterday .

Of course, now I realize the issue with the proposed change - how does the packager enable bootstrap in koji?

Presumably by adding another line with:

%global bootstrap 1

But this is probably not obvious.

I am happy that you realize it.
In the case of Koji, I suppose that as Koji does not have a feature to inject macro like rpmbuild --define or mock --define, we have to insert it to a RPM spec file manually as far as I know. I suggested the feature to Koji today [1]

For more obvious document, we may be able to show actual command example in the document.
For example to insert the macro to the top of a RPM spec file foo.spec that includes %{?_with_bootstrap: %global bootstrap 1}.

$ sed -i '1s/^/%global bootstrap 1\n/' foo.spec

[1] https://pagure.io/koji/issue/416

Don't forget that you need to bump the Release, since Koji won't allow you to build to packages with the same NVR

@orion , @james @tibbs

I think that in the case of bootstrapping with Koji, if below commands are documented in https://fedoraproject.org/wiki/Packaging:Guidelines#Bootstrapping, it looks more obvious and no problem.

How do you think?
if you have still any concern to approve, please tell us.

Insert "%global bootstrap 1" to top of foo.spec file.

$ sed -i '1s/^/%global bootstrap 1\n/' foo.spec

Bump the release number with --rightmost (-r) option because Koji accepts only unique NEVR.

$ rpmdev-bumpspec -c 'Enable bootstrap' -r foo.spec

See https://pagure.io/koji/issue/416#comment-440806 for detail.

Dear Package committee
What is your next action?
Could you share us your plan?
What do you need for your decision?

Announcement text:

A very minor tweak was made to the bootstrapping guidelines to invert the sense of a test so that it matches expectations.

Metadata Update from @tibbs:
- Issue untagged with: writeup
- Issue tagged with: announce

2 years ago

Metadata Update from @tibbs:
- Issue untagged with: announce
- Issue close_status updated to: accepted
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata