I was recently asked to provide an EPEL8 version of one of my packages (python-keyring) in a bugzilla, so I did: fedpkg request-branch epel8
This opened up two pagure tickets, one each for two branches: epel8 epel8-playground
After the branches were created, an extra commit was added to the epel8 branch to create a package.cfg file (with a log message that had extra double-quotes around it, for some reason).
I have several questions:
1. Why did my request for a single branch automatically result in two separate tickets for two separate branches? 2. What is this '-playground' branch for? 3. Why was an extra commit added to the empty branch that was requested? 4. What is a package.cfg file? Do I need it? 5. (unimportant, but curious) How did the extra quotes get in the commit message that added the package.cfg file?
I'm particularly concerned about item 3 and 4, because if the file must be present in epel8 and absent in master/f33/f32, then the presence of the file seems like it will prevent me from doing fast-forward merges to keep the same HEAD commit for all actively maintained branches, which I like to do to make maintenance across branches easier (using conditionals in the spec file, if necessary).
Sorry if these questions have been asked before. I could not easily find concise answers to these questions pertaining to the overall `fedpkg request-branch` experience..
Thanks, Christopher
On Tue, Aug 18, 2020 at 11:15:14PM -0400, Christopher wrote:
I was recently asked to provide an EPEL8 version of one of my packages (python-keyring) in a bugzilla, so I did: fedpkg request-branch epel8
This opened up two pagure tickets, one each for two branches: epel8 epel8-playground
After the branches were created, an extra commit was added to the epel8 branch to create a package.cfg file (with a log message that had extra double-quotes around it, for some reason).
I have several questions:
- Why did my request for a single branch automatically result in two
separate tickets for two separate branches? 2. What is this '-playground' branch for? 3. Why was an extra commit added to the empty branch that was requested? 4. What is a package.cfg file? Do I need it? 5. (unimportant, but curious) How did the extra quotes get in the commit message that added the package.cfg file?
https://lists.fedoraproject.org/archives/list/epel-announce@lists.fedoraproj...
-- Petr
On Wed, Aug 19, 2020 at 4:07 AM Petr Pisar ppisar@redhat.com wrote:
On Tue, Aug 18, 2020 at 11:15:14PM -0400, Christopher wrote:
I was recently asked to provide an EPEL8 version of one of my packages (python-keyring) in a bugzilla, so I did: fedpkg request-branch epel8
This opened up two pagure tickets, one each for two branches: epel8 epel8-playground
After the branches were created, an extra commit was added to the epel8 branch to create a package.cfg file (with a log message that had extra double-quotes around it, for some reason).
I have several questions:
- Why did my request for a single branch automatically result in two
separate tickets for two separate branches? 2. What is this '-playground' branch for? 3. Why was an extra commit added to the empty branch that was requested? 4. What is a package.cfg file? Do I need it? 5. (unimportant, but curious) How did the extra quotes get in the commit message that added the package.cfg file?
https://lists.fedoraproject.org/archives/list/epel-announce@lists.fedoraproj...
Thanks, but I'm still confused on a few points.
1. Do I need epel8-playground? I want to keep the task of maintenance simple, and I don't want to deal with another branch to think about. I don't want choices, as that adds complexity. I want one simple path, because packaging is *not* my full time job. 2. Can I remove the 'package.cfg' file? Is it needed? Will everything work with epel8-testing and going to epel8-stable if this file is removed? I'd really like to maintain a single git history, rather than two, and the presence of this file seems to interfere with that. (Alternatively, if the package.cfg file contained some conditional directive, like 'if-branch = epel8', which probably should have been the design, in order to support single git history packages like me, then I wouldn't mind the file being present in the master/rawhide branch, but it doesn't.)
On Wed, 19 Aug 2020, Christopher wrote:
- Do I need epel8-playground? I want to keep the task of maintenance
simple, and I don't want to deal with another branch to think about. I don't want choices, as that adds complexity. I want one simple path, because packaging is *not* my full time job.
Under the normal configuration, you don't need to really worry about epel8-playground, if you don't want to. Whatever you build in epel8 will automatically be built in epel8-playground also.
- Can I remove the 'package.cfg' file? Is it needed? Will everything
work with epel8-testing and going to epel8-stable if this file is removed? I'd really like to maintain a single git history, rather than two, and the presence of this file seems to interfere with that. (Alternatively, if the package.cfg file contained some conditional directive, like 'if-branch = epel8', which probably should have been the design, in order to support single git history packages like me, then I wouldn't mind the file being present in the master/rawhide branch, but it doesn't.)
You can technically remove it. Then, nothing will be built in epel8-playground automatically. It won't affect epel8.
Scott
On Wed, Aug 19, 2020 at 9:12 AM Scott Talbert swt@techie.net wrote:
On Wed, 19 Aug 2020, Christopher wrote:
- Do I need epel8-playground? I want to keep the task of maintenance
simple, and I don't want to deal with another branch to think about. I don't want choices, as that adds complexity. I want one simple path, because packaging is *not* my full time job.
Under the normal configuration, you don't need to really worry about epel8-playground, if you don't want to. Whatever you build in epel8 will automatically be built in epel8-playground also.
- Can I remove the 'package.cfg' file? Is it needed? Will everything
work with epel8-testing and going to epel8-stable if this file is removed? I'd really like to maintain a single git history, rather than two, and the presence of this file seems to interfere with that. (Alternatively, if the package.cfg file contained some conditional directive, like 'if-branch = epel8', which probably should have been the design, in order to support single git history packages like me, then I wouldn't mind the file being present in the master/rawhide branch, but it doesn't.)
You can technically remove it. Then, nothing will be built in epel8-playground automatically. It won't affect epel8.
Scott
So, just to be absolutely clear... I can remove the file, just do epel8 as normal, and completely ignore the epel8-playground branch forever?
Can I have the extra commit that added the file removed by force-pushing the prior commit, so it's easier to fast-forward merge my 'master' branch onto epel8 without doing a bunch of crazy git merge nonsense so they have the same HEAD commit?
Can I have the epel8-playground branch removed? I never wanted it. I know I can just ignore it and never check it out locally... but... it's going to bug me being there on the remote.
Sorry for all the questions. I don't normally care about EPEL, so all this is a bit new to me. Thank you for indulging me.
On Wed, 19 Aug 2020, Christopher wrote:
So, just to be absolutely clear... I can remove the file, just do epel8 as normal, and completely ignore the epel8-playground branch forever?
As best as I can tell, yes. I have at least one package in epel8 that doesn't have the package.cfg and it works okay. It just doesn't build stuff automatically on epel8-playground. You might get bug reports from people who have epel8-playground enabled and can't install your package though.
You might get wider input on this on the epel-devel mailing list.
Also, I think there is some plan in the works to change how epel8-playground works.
Can I have the extra commit that added the file removed by force-pushing the prior commit, so it's easier to fast-forward merge my 'master' branch onto epel8 without doing a bunch of crazy git merge nonsense so they have the same HEAD commit?
I don't think you can force-push to dist-git so unfortunately you're stuck with that commit forever. There *is* a way to get your branches created without that commit in the first place, but it's too late for that now.
Can I have the epel8-playground branch removed? I never wanted it. I know I can just ignore it and never check it out locally... but... it's going to bug me being there on the remote.
Nope, you can't remove branches on dist-git.
Scott