-
Notifications
You must be signed in to change notification settings - Fork 837
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bddeb: new --packaging-branch argument to pull packaging from branch #576
Conversation
d7cabc9
to
0130f93
Compare
I was temped to propose this as the new default build method, but the "templated" approach still has a couple of advantages:
and possibly other things I'm missing, so I'm leaving the default alone, unless the team thinks otherwise. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really like this change. For older release branches (like xenial) it's much harder to test correctly since bddeb won't have many of the per-branch changes to the runtime code (not just packing changes).
Some comments in-line
0130f93
to
4ed6cd8
Compare
Thanks for the comments @raharper, I updated the branch. Notable changes:
I'd like to have some feedback on the |
4ed6cd8
to
e0e13ac
Compare
I very much would expect patches to come as well; otherwise I'd just build master. You're correct that building master with merged release branch and patches won't always work. However, our daily recipes already have to deal with this; IIUC, there is a two step branch merge to address this. @blackboxsw and @OddBloke have this worked out for our daily recipe; so we'd need to pull that in. Given that it's more complicated, but desirable (IMO) then I think this could use a --without-patches to disable this behavior. |
+1 on keeping the patches. If I connected the dots correctly correctly, the daily recipe reverts the cherry-picked patches, which are identified by their filename (has to match |
That's probably not a good idea either. I dropped the "exclude patches" bit, let's wait and see if we hit an actual situation where we would like some patches to be excluded and then see if there's a sensible way to do it. |
b166325
to
98c4ce8
Compare
98c4ce8
to
f672d8b
Compare
Rebased on master. |
hey @raharper, does the current PR address your review suggestions? |
|
||
print("Adding new entry to debian/changelog") | ||
full_deb_version = ( | ||
templ_data["version_long"] + "-1~bddeb" + templ_data["release_suffix"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did we close on whether this value ("-1~bddeb") needs to be user-controllable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like this is behaves like plain bddeb
without --packaging-branch
. We can certainly make it configurable, but is it useful in practice?
Hello! Thank you for this proposed change to cloud-init. This pull request is now marked as stale as it has not seen any activity in 14 days. If no activity occurs within the next 7 days, this pull request will automatically close. If you are waiting for code review and you are seeing this message, apologies! Please reply, tagging mitechie, and he will ensure that someone takes a look soon. (If the pull request is closed, please do feel free to reopen it if you wish to continue working on it.) |
I think that's the best option @paride. We will have this case any time we have a "cpicked" patch back into an ubunut/. We'll need to pop that cpick file off the stack if we want to continue to build using ubuntu/xenial/debian on master. I think this case is unneeded though as this complexity is solved by the ubuntu/daily/ branches and doesn't really need to be solved by your switch here. I think the majority of cases we would use this in would be just building master with ubuntu/devel/debian dir, and the devel branch shouldn't really carry cherry picks as we would mostly prefer to just release tip of master into ubuntu/devel for two reasons:
I don't think it warrants us designing the cpick* patch-popping algorithm in bddeb as we don't use bddeb in the daily recipes. We instead rely on a simplified package branching strategy to allow our daily builds to succeed when merging tip of master into the ubuntu/ branch. |
bddeb normally builds a .deb package using the template packaging files in packages/debian/. The new --packaging-branch argument allows to specify a git branch where to pull the packaging (i.e. the debian/ directory) from. This is useful to build a .deb package from master with the very same packaging which is used for the uploads. The contents of debian/patches is excluded.
Co-authored-by: Ryan Harper <rharper@woxford.com>
Co-authored-by: Ryan Harper <rharper@woxford.com>
If the packaging branch is missing hint the user to do a local checkout of the branch.
0535c18
to
71a972b
Compare
Thanks for the review, @blackboxsw hint added. I agree |
confirmed we are ok on this current branch via IRC conversation
bddeb builds a .deb package using the template packaging files in
packages/debian/.
The new --packaging-branch flag allows to specify a git branch
where to pull the packaging (i.e. the debian/ directory) from.
This is useful to build a .deb package from master with the very
same packaging which is used for the uploads.