Re: Future changes in the new package and new branch processes

2014-10-13 Thread Pierre-Yves Chibon
On Mon, Sep 08, 2014 at 11:55:06AM +0200, Pierre-Yves Chibon wrote:
 On Mon, Sep 08, 2014 at 11:31:58AM +0200, Tomas Tomecek wrote:
  Quoting Pierre-Yves Chibon (2014-09-05 17:08:39)
   New procedure
   =
   
   * packager opens a review-request on bugzilla
   * reviewer sets the fedora-review flag to ?
   * reviewer does the review
   * reviewer sets the fedora-review flag to +
   * packager goes to pkgdb2 to request new package and specifies:
  - package name
  - package summary
  
  How about taking this from specfile? (and therefore provide a tool for
  maintaining specfiles  srpms for reviews)
 
 That would imply parsing the bugzilla ticket to find the spec file and then
 parse it again which itself implies knowing the bugzilla ticket number.
 
 I think it's just as easy to ask the user to do it.
 
 Note that we have an API endpoint to edit a package's information:
 https://admin.fedoraproject.org/pkgdb/api/#edit_a_package
 and a script to do it in pkgdb2:
 https://git.fedorahosted.org/cgit/pkgdb2.git/tree/utility/update_package_info.py

In case you did not notice, know that the cron has been deployed and is now
running for two weeks on a weekly basis.

So pkgdb's information about packages is now up to date with the information
contained in yum's meta-data fom the rawhide repo (yes that does mean that
packages retired from repo or present only in epel aren't up to date atm).

By curiousity:
The first time we ran the script:
  16638 packages checked
  15723 packages updated

Last week's run:
  16690 packages checked
  50 packages updated


Piere
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-09 Thread Tomas Tomecek
Quoting Pierre-Yves Chibon (2014-09-08 11:55:06)
 On Mon, Sep 08, 2014 at 11:31:58AM +0200, Tomas Tomecek wrote:
  Quoting Pierre-Yves Chibon (2014-09-05 17:08:39)
   New procedure
   =
   
   * packager opens a review-request on bugzilla
   * reviewer sets the fedora-review flag to ?
   * reviewer does the review
   * reviewer sets the fedora-review flag to +
   * packager goes to pkgdb2 to request new package and specifies:
  - package name
  - package summary
  
  How about taking this from specfile? (and therefore provide a tool for
  maintaining specfiles  srpms for reviews)
 
 That would imply parsing the bugzilla ticket to find the spec file and then
 parse it again which itself implies knowing the bugzilla ticket number.

My point was mainly that if you are working on improving the process, there
should be automated as much stuff as possible.

I've read a topic by Mirek Suchy on fedora-devel today about hooking dist-git 
with
copr and I think that review process could benefit out of it. Roughly, something
like this:

$ fedpkg new-package create-repo

Creating new dist-git repo with sample specfile.

$ ${EDITOR} *.spec

$ fedpkg copr new

Sets owner, project name, arches... and links the repo with copr project
together

$ fedpkg copr build --with-fedora-review

$ fedpkg new-package create-bugzilla

$ fedpkg new-package add-to-pkgdb


This is roughly from top of my head, but I think you'll get my point.

The new-package process would be so much easier (at least to me).

 I think it's just as easy to ask the user to do it.
 
 Note that we have an API endpoint to edit a package's information:
 https://admin.fedoraproject.org/pkgdb/api/#edit_a_package
 and a script to do it in pkgdb2:
 https://git.fedorahosted.org/cgit/pkgdb2.git/tree/utility/update_package_info.py
 (Although we still need to deploy this one in a cron job)
 
 Pierre
 -- 
 devel mailing list
 devel@lists.fedoraproject.org
 https://admin.fedoraproject.org/mailman/listinfo/devel
 Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Cheers,

Tomas
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-09 Thread Tomas Tomecek
Quoting Christopher (2014-09-08 21:35:23)
 It'd be great if the fedpkg tool could do some of this. For example, fedpkg
 could create git repos locally, from a template and a few questions, for
 new packages, which could be pushed somewhere for review (usually GitHub,
 I'd imagine). It could even create the review bug automatically, as well as
 assist in the review process for the reviewer (setting the correct flags).
 
 Once approved and the package is created in pkgdb, git could be adjusted
 automatically from a clone of this original repo created by the fedpkg tool.
 
 This puts some burden on the reviewer to review not only the package, but
 also the use of the packaging process: ensure that the user created the git
 repo correctly. But, that might not be a bad thing. I was struck by how
 manual the new package process was, and how automated everything is
 later. It's a big gap that could be closed with more tools on the prepare
 for review side of things.

I think this is excellent idea.

(Mocked something already in response to Pierre)

On the other hand, I think that webui process should be kept (just for sake of
people who don't prefer CLI tools).

Tomas

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-08 Thread Marcela Mašláňová

On 09/05/2014 05:08 PM, Pierre-Yves Chibon wrote:

Dear all,

In the last months, Till and I together with infrastructure and
release-engineering have been thinking and working on how we could improve the
current workflow for new package and new branch.

To give you an idea, this is the current workflow:

Current new-package procedure:
==

* packager opens a review-request on bugzilla
* reviewer sets the fedora-review flag to ?
* reviewer does the review
* reviewer sets the fedora-review flag to +
* packager creates the scm-request and set fedora-cvs flag to ?
* cvsadmin checks the review (check reviewer is a packager, check if reviewee
   required a sponsor or not, check if there was a review)
* cvsadmin processes the scm-request:
   - Create git repo
   - Create package in pkgdb
* cvsadmin sets fedora-cvs flag to +

We thought that a number of these steps could be automated. For example,
creating the git repos themselve could be automated using information from 
pkgdb.

Our idea has been to port part of this procedure to pkgdb itself.

This is our proposal:

New procedure
=

* packager opens a review-request on bugzilla
* reviewer sets the fedora-review flag to ?
* reviewer does the review
* reviewer sets the fedora-review flag to +
* packager goes to pkgdb2 to request new package and specifies:
- package name
- package summary
- package branches
- link to review on bugzilla
  = requests added to the scm admin queue
* cvsadmin checks the review (check reviewer is a packager¹)
* cvsadmin approves the creation of the package in pkgdb
  = package creation broadcasted on fedmsg
* git adjusted automatically

What are the main changes:
- More work for the packager that asks for the package to be created directly
   in pkgdb instead of using the SCM request mechanism in bugzilla
- No more use of the fedora-cvs flag in bugzilla
- Simplied work for releng that just checks the review and approves/denies in
   pkgdb


Similarly, for new-branch:

Current new-branch procedure:
=

* packager find the original package review ticket / opens a new ticket
* packager make the change request and sets fedora-cvs flag to ?
* cvsadmin checks the request/package (check if user is a packager, check if
   package exists in the RHEL for EPEL branch request)
* cvsadmin processes the scm-request:
   - Adjust git repo
   - Adjust package in pkgdb
* cvsadmin sets fedora-cvs flag to +

New new-branch procedure:
=

* packager requests new branch in pkgdb (2 clicks)
  = requests added to the scm admin queue
* cvsadmin checks the request/package (check if package exists in the RHEL for
   EPEL branch request - check if the user is a packager done in pkgdb itself)
* cvsadmin approves the creation of the new branch in pkgdb
  = branch creation broadcasted on fedmsg
* git adjusted automatically


Currently, we are working towards these workflows but of course they are not
set in stone and we would like to discuss them as early as possible to be sure
we're not going in a completely wrong direction.

Thanks for your feedbacks,

Pierre and Till


¹ We should be able to automate the check if the reviewee/reviewer are
   packagers or not.
___
devel-announce mailing list
devel-annou...@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel-announce


Couldn't we finally rename cvs to scm? It's confusing for newcommers.

Otherwise, process seems to be much better. I hope now it won't be 
possible that someone asks for new branch and make me a maintainer of 
branch, which I don't want to maintain. It was a bug in old process.


Marcela
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-08 Thread David Howells
Pierre-Yves Chibon pin...@pingoured.fr wrote:

 * packager creates the scm-request and set fedora-cvs flag to ?

I find this step counter intuitive.  I accidentally set it to '+' rather than
'?' and then was confused about why things weren't progressing.  Can it be
split into two flags?  On requesting git creation and one showing that git
creation has been performed?

David
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-08 Thread Tomas Tomecek
Quoting Pierre-Yves Chibon (2014-09-05 17:08:39)
 New procedure
 =
 
 * packager opens a review-request on bugzilla
 * reviewer sets the fedora-review flag to ?
 * reviewer does the review
 * reviewer sets the fedora-review flag to +
 * packager goes to pkgdb2 to request new package and specifies:
- package name
- package summary

How about taking this from specfile? (and therefore provide a tool for
maintaining specfiles  srpms for reviews)

- package branches
- link to review on bugzilla
  = requests added to the scm admin queue
 * cvsadmin checks the review (check reviewer is a packager¹)
 * cvsadmin approves the creation of the package in pkgdb
  = package creation broadcasted on fedmsg
 * git adjusted automatically

Tomas

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-08 Thread Pierre-Yves Chibon
On Mon, Sep 08, 2014 at 10:15:33AM +0100, David Howells wrote:
 Pierre-Yves Chibon pin...@pingoured.fr wrote:
 
  * packager creates the scm-request and set fedora-cvs flag to ?
 
 I find this step counter intuitive.  I accidentally set it to '+' rather than
 '?' and then was confused about why things weren't progressing.  Can it be
 split into two flags?  On requesting git creation and one showing that git
 creation has been performed?

Well there is already two flags:
fedora-cvs = ? - Request git creation
fedora-cvs = + - git creation performed

But anyway, the idea is to drop this flag completely.

Pierre
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-08 Thread Pierre-Yves Chibon
On Mon, Sep 08, 2014 at 11:31:58AM +0200, Tomas Tomecek wrote:
 Quoting Pierre-Yves Chibon (2014-09-05 17:08:39)
  New procedure
  =
  
  * packager opens a review-request on bugzilla
  * reviewer sets the fedora-review flag to ?
  * reviewer does the review
  * reviewer sets the fedora-review flag to +
  * packager goes to pkgdb2 to request new package and specifies:
 - package name
 - package summary
 
 How about taking this from specfile? (and therefore provide a tool for
 maintaining specfiles  srpms for reviews)

That would imply parsing the bugzilla ticket to find the spec file and then
parse it again which itself implies knowing the bugzilla ticket number.

I think it's just as easy to ask the user to do it.

Note that we have an API endpoint to edit a package's information:
https://admin.fedoraproject.org/pkgdb/api/#edit_a_package
and a script to do it in pkgdb2:
https://git.fedorahosted.org/cgit/pkgdb2.git/tree/utility/update_package_info.py
(Although we still need to deploy this one in a cron job)

Pierre
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-08 Thread Till Maas
On Sun, Sep 07, 2014 at 05:23:15AM +0200, Ralf Corsepius wrote:

 I think the only safe way is to create an empty branch and not to populate
 it, because there are many constraints to be considered before a package can

My proposal is to point new branches to the first commit in the master
branch in each repo. This is also what is done initially, when a new
repo is set up. Empty branches, i.e. only the ACL but no commit in the
branch might lead to maintainers accidentally creating the wrong branch.

Regards
Till
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-08 Thread Ralf Corsepius

On 09/08/2014 06:12 PM, Till Maas wrote:

On Sun, Sep 07, 2014 at 05:23:15AM +0200, Ralf Corsepius wrote:


I think the only safe way is to create an empty branch and not to populate
it, because there are many constraints to be considered before a package can


My proposal is to point new branches to the first commit in the master
branch in each repo.


I fail to understand the rationale for this. It doesn't make any sense 
to me. The pkgdb simply doesn't have any knowledge about what is right 
or wrong.


Imagine you were going to branch a package for EPEL5. If you are going 
to populate it from master, the likelihood, this package will be 
incompatible to EPEL5 is almost 100%.



This is also what is done initially, when a new
repo is set up. Empty branches, i.e. only the ACL but no commit in the
branch might lead to maintainers accidentally creating the wrong branch.
I fail to understand once more. Empty branches are the status quo ever 
since Fedora is using git. I feel you are trying to introduce a solution 
to a non-problem,



Ralf


--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-08 Thread Till Maas
On Mon, Sep 08, 2014 at 06:46:10PM +0200, Ralf Corsepius wrote:
 On 09/08/2014 06:12 PM, Till Maas wrote:

 This is also what is done initially, when a new
 repo is set up. Empty branches, i.e. only the ACL but no commit in the
 branch might lead to maintainers accidentally creating the wrong branch.
 I fail to understand once more. Empty branches are the status quo ever
 since Fedora is using git. I feel you are trying to introduce a solution to
 a non-problem,

No, repos are setup with empty .gitignore and sources files, which is
also the first commit in the master branch. So I guess you actually
agree to me.

Regards
Till
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-08 Thread Pierre-Yves Chibon
On Mon, Sep 08, 2014 at 06:46:10PM +0200, Ralf Corsepius wrote:
 On 09/08/2014 06:12 PM, Till Maas wrote:
 On Sun, Sep 07, 2014 at 05:23:15AM +0200, Ralf Corsepius wrote:
 
 I think the only safe way is to create an empty branch and not to populate
 it, because there are many constraints to be considered before a package can
 
 My proposal is to point new branches to the first commit in the master
 branch in each repo.
 
 I fail to understand the rationale for this. It doesn't make any sense to
 me. The pkgdb simply doesn't have any knowledge about what is right or
 wrong.
 
 Imagine you were going to branch a package for EPEL5. If you are going to
 populate it from master, the likelihood, this package will be incompatible
 to EPEL5 is almost 100%.

I think you mis-read or mis-understood Till's proposal. Basically Till is
proposing that we point every new branch to the commit that created the git
repo, for example for perl-MooX-Types-MooseLike-Numeric that you maintain it
would be:
http://pkgs.fedoraproject.org/cgit/perl-MooX-Types-MooseLike-Numeric.git/commit/?id=101a14a33

But looking through other repo, Till, it seems that older repo do not have this
commit.

Pierre
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-08 Thread Christopher
On Mon, Sep 8, 2014 at 5:31 AM, Tomas Tomecek ttome...@redhat.com wrote:

 Quoting Pierre-Yves Chibon (2014-09-05 17:08:39)
  New procedure
  =
 
  * packager opens a review-request on bugzilla
  * reviewer sets the fedora-review flag to ?
  * reviewer does the review
  * reviewer sets the fedora-review flag to +
  * packager goes to pkgdb2 to request new package and specifies:
 - package name
 - package summary

 How about taking this from specfile? (and therefore provide a tool for
 maintaining specfiles  srpms for reviews)


It'd be great if the fedpkg tool could do some of this. For example, fedpkg
could create git repos locally, from a template and a few questions, for
new packages, which could be pushed somewhere for review (usually GitHub,
I'd imagine). It could even create the review bug automatically, as well as
assist in the review process for the reviewer (setting the correct flags).

Once approved and the package is created in pkgdb, git could be adjusted
automatically from a clone of this original repo created by the fedpkg tool.

This puts some burden on the reviewer to review not only the package, but
also the use of the packaging process: ensure that the user created the git
repo correctly. But, that might not be a bad thing. I was struck by how
manual the new package process was, and how automated everything is
later. It's a big gap that could be closed with more tools on the prepare
for review side of things.


 - package branches
 - link to review on bugzilla
   = requests added to the scm admin queue
  * cvsadmin checks the review (check reviewer is a packager¹)
  * cvsadmin approves the creation of the package in pkgdb
   = package creation broadcasted on fedmsg
  * git adjusted automatically

 Tomas


Overall, I like the proposal, but I think it could be made simpler on new
packagers (and reviewers) with better tooling (which I suppose could be
considered out of scope for this proposal, but something to consider in
future).

--
Christopher L Tubbs II
http://gravatar.com/ctubbsii
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-07 Thread Orion Poplawski

On 09/06/2014 09:23 PM, Ralf Corsepius wrote:

On 09/06/2014 03:09 PM, Pierre-Yves Chibon wrote:

On Sat, Sep 06, 2014 at 07:52:52AM +0200, Ralf Corsepius wrote:

On 09/05/2014 05:08 PM, Pierre-Yves Chibon wrote:


I wonder if we should rather create an empty branch and let the
packager merge
the branch of his/her interest back into this new branch.

Thoughts?


I think the only safe way is to create an empty branch and not to
populate it, because there are many constraints to be considered before
a package can be added to an older branch. E.g. a package may have a
chain of dependencies, which can't be fullfilled because something else
is missing on this older release and can't be upgraded to a compatible
version.


Agreed.  And it is trivial to merge from wherever the packager feels 
most appropriate to.



--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA/CoRA DivisionFAX: 303-415-9702
3380 Mitchell Lane  or...@cora.nwra.com
Boulder, CO 80301  http://www.cora.nwra.com
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-06 Thread Pierre-Yves Chibon
On Fri, Sep 05, 2014 at 06:35:45PM +0200, Haïkel wrote:
 2014-09-05 17:08 GMT+02:00 Pierre-Yves Chibon pin...@pingoured.fr:
  Dear all,
 
  In the last months, Till and I together with infrastructure and
  release-engineering have been thinking and working on how we could improve 
  the
  current workflow for new package and new branch.
 
  To give you an idea, this is the current workflow:
 
  Current new-package procedure:
  ==
 
  * packager opens a review-request on bugzilla
  * reviewer sets the fedora-review flag to ?
  * reviewer does the review
  * reviewer sets the fedora-review flag to +
  * packager creates the scm-request and set fedora-cvs flag to ?
  * cvsadmin checks the review (check reviewer is a packager, check if 
  reviewee
required a sponsor or not, check if there was a review)
  * cvsadmin processes the scm-request:
- Create git repo
- Create package in pkgdb
  * cvsadmin sets fedora-cvs flag to +
 
  We thought that a number of these steps could be automated. For example,
  creating the git repos themselve could be automated using information from 
  pkgdb.
 
  Our idea has been to port part of this procedure to pkgdb itself.
 
  This is our proposal:
 
 
 overall, kudos for this proposal, it looks better than the current workflow.
 
 One question, when do we close the review ticket ?
 Currently, it is supposed to be handled by the reviewee after the
 first build but it is often forgotten. Off course, it's the
 responsability of the reviewer to check this but it's an impediment.
 Astute people use bodhi to automatically close the ticket when it's
 build on a branched release, but it's not possible on rawhide.
 
 From what I understand, pkgdb2 would be able to link a package to its
 review, so it should be possible to automatically close the review
 ticket, am I right ?

We can go several ways there:
a) let it the way it is now
   - Closed manualy
   - Closed via bodhi
   - Closed after a while when somone goes through his/her list of tickets and
 see that some can be closed
b) let pkgdb close the ticket (once the package is created)
c) let pkgdb close the ticket when the only branch requested is rawhide (once 
the
   package is created)

Obviously, a) requires the less work, b) is easy but c) kind of make more sense
as in theory it should be bodhi that closes the ticket (cf a)).

  New new-branch procedure:
  =
 
  * packager requests new branch in pkgdb (2 clicks)
   = requests added to the scm admin queue
  * cvsadmin checks the request/package (check if package exists in the RHEL 
  for
EPEL branch request - check if the user is a packager done in pkgdb 
  itself)
  * cvsadmin approves the creation of the new branch in pkgdb
   = branch creation broadcasted on fedmsg
  * git adjusted automatically
 
 
 *nods*
 Silly question, some of those cvsadmins checks could be automated too,
 at least, providing hints to the scm admins.
 Something like a script listening to fedmsg, doing these checks and
 then sending the results that could be consumed by pkgdb2 (maybe
 displaying them as flash messages ?)

Since the checks will be performed by cvsadmins, manually, I think it make more
sense to do them when the admin runs the script rather than automatically based
on a fedmsg. Integrated back from fedmsg to pkgdb this type of information might
not be easiest thing for no clear advantage, I think.


Thanks for the feedbacks and ideas,

Pierre
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-06 Thread Pierre-Yves Chibon
On Fri, Sep 05, 2014 at 08:12:49PM +0200, Zbigniew Jędrzejewski-Szmek wrote:
 On Fri, Sep 05, 2014 at 05:08:39PM +0200, Pierre-Yves Chibon wrote:
  Dear all,
  
  In the last months, Till and I together with infrastructure and
  release-engineering have been thinking and working on how we could improve 
  the
  current workflow for new package and new branch.
  
  To give you an idea, this is the current workflow:
  
  Current new-package procedure:
  ==
  
  * packager opens a review-request on bugzilla
  * reviewer sets the fedora-review flag to ?
 Is this necessary? Normally having status=ASSIGNED is enough to know
 that the review is handling the review. One of the issues with current
 procedure is that this step can be forgotten, and then some automatic
 steps don't happen when the flag to +. (One that I noticed it that the
 email with subject 'fedora-review granted' is not sent.) 
 Since you're simplifying the procedure, this manual step could be
 pruned too.

That's a good question, but I don't know how many tools we have that relies on
this flag and I suspect there are some.

That's a question to bring to releng I guess.


Pierre

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-06 Thread Pierre-Yves Chibon
On Sat, Sep 06, 2014 at 07:52:52AM +0200, Ralf Corsepius wrote:
 On 09/05/2014 05:08 PM, Pierre-Yves Chibon wrote:
 
 * packager requests new branch in pkgdb (2 clicks)
   = requests added to the scm admin queue
 * cvsadmin checks the request/package (check if package exists in the RHEL 
 for
EPEL branch request - check if the user is a packager done in pkgdb 
  itself)
 I guess, EPEL is just an example for a new branch to create?

Indeed, it's just an example.

 We also have cases were packages only exists in newer Fedoras (eg. rawhide
 only), until someone comes along and asks for branches to be created in
 older Fedoras.

We would have to clear it with releng, but I wonder what are the mandatory
checks to perform when creating a new *fedora* branch for a package that has
already been reviewed.
If the only check is: is the person a packager?, then I guess we may be
able to automatically create the fedora branch in pkgdb (which would then
propagate the change to git).

 * cvsadmin approves the creation of the new branch in pkgdb
   = branch creation broadcasted on fedmsg
 * git adjusted automatically
 What does this sentence mean? Create an empty branch or even to populate it
 from some other branch?

The script creating the git branches has a mapping of which branch to create a
new branch from [1]. So new epel7 branches will be created from the f19 branch.

I wonder if we should rather create an empty branch and let the packager merge
the branch of his/her interest back into this new branch.

Thoughts?


Pierre


[1]
http://infrastructure.fedoraproject.org/infra/ansible/roles/distgit/templates/pkgdb_sync_git_branches.py
see BRANCHES_FROM

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-06 Thread Ralf Corsepius

On 09/06/2014 03:09 PM, Pierre-Yves Chibon wrote:

On Sat, Sep 06, 2014 at 07:52:52AM +0200, Ralf Corsepius wrote:

On 09/05/2014 05:08 PM, Pierre-Yves Chibon wrote:



* cvsadmin approves the creation of the new branch in pkgdb
  = branch creation broadcasted on fedmsg
* git adjusted automatically

What does this sentence mean? Create an empty branch or even to populate it
from some other branch?


The script creating the git branches has a mapping of which branch to create a
new branch from [1]. So new epel7 branches will be created from the f19 branch.

I wonder if we should rather create an empty branch and let the packager merge
the branch of his/her interest back into this new branch.

Thoughts?


I think the only safe way is to create an empty branch and not to 
populate it, because there are many constraints to be considered before 
a package can be added to an older branch. E.g. a package may have a 
chain of dependencies, which can't be fullfilled because something else 
is missing on this older release and can't be upgraded to a compatible 
version.


Ralf


--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Future changes in the new package and new branch processes

2014-09-05 Thread Pierre-Yves Chibon
Dear all,

In the last months, Till and I together with infrastructure and
release-engineering have been thinking and working on how we could improve the
current workflow for new package and new branch.

To give you an idea, this is the current workflow:

Current new-package procedure:
==

* packager opens a review-request on bugzilla
* reviewer sets the fedora-review flag to ?
* reviewer does the review
* reviewer sets the fedora-review flag to +
* packager creates the scm-request and set fedora-cvs flag to ?
* cvsadmin checks the review (check reviewer is a packager, check if reviewee
  required a sponsor or not, check if there was a review)
* cvsadmin processes the scm-request:
  - Create git repo
  - Create package in pkgdb
* cvsadmin sets fedora-cvs flag to +

We thought that a number of these steps could be automated. For example,
creating the git repos themselve could be automated using information from 
pkgdb.

Our idea has been to port part of this procedure to pkgdb itself.

This is our proposal:

New procedure
=

* packager opens a review-request on bugzilla
* reviewer sets the fedora-review flag to ?
* reviewer does the review
* reviewer sets the fedora-review flag to +
* packager goes to pkgdb2 to request new package and specifies:
   - package name
   - package summary
   - package branches
   - link to review on bugzilla
 = requests added to the scm admin queue
* cvsadmin checks the review (check reviewer is a packager¹)
* cvsadmin approves the creation of the package in pkgdb
 = package creation broadcasted on fedmsg
* git adjusted automatically

What are the main changes:
- More work for the packager that asks for the package to be created directly
  in pkgdb instead of using the SCM request mechanism in bugzilla
- No more use of the fedora-cvs flag in bugzilla
- Simplied work for releng that just checks the review and approves/denies in
  pkgdb


Similarly, for new-branch:

Current new-branch procedure:
=

* packager find the original package review ticket / opens a new ticket
* packager make the change request and sets fedora-cvs flag to ?
* cvsadmin checks the request/package (check if user is a packager, check if
  package exists in the RHEL for EPEL branch request)
* cvsadmin processes the scm-request:
  - Adjust git repo
  - Adjust package in pkgdb
* cvsadmin sets fedora-cvs flag to +

New new-branch procedure:
=

* packager requests new branch in pkgdb (2 clicks)
 = requests added to the scm admin queue
* cvsadmin checks the request/package (check if package exists in the RHEL for
  EPEL branch request - check if the user is a packager done in pkgdb itself)
* cvsadmin approves the creation of the new branch in pkgdb
 = branch creation broadcasted on fedmsg
* git adjusted automatically


Currently, we are working towards these workflows but of course they are not
set in stone and we would like to discuss them as early as possible to be sure
we're not going in a completely wrong direction.

Thanks for your feedbacks,

Pierre and Till


¹ We should be able to automate the check if the reviewee/reviewer are
  packagers or not.
___
devel-announce mailing list
devel-annou...@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel-announce
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-05 Thread Haïkel
2014-09-05 17:08 GMT+02:00 Pierre-Yves Chibon pin...@pingoured.fr:
 Dear all,

 In the last months, Till and I together with infrastructure and
 release-engineering have been thinking and working on how we could improve the
 current workflow for new package and new branch.

 To give you an idea, this is the current workflow:

 Current new-package procedure:
 ==

 * packager opens a review-request on bugzilla
 * reviewer sets the fedora-review flag to ?
 * reviewer does the review
 * reviewer sets the fedora-review flag to +
 * packager creates the scm-request and set fedora-cvs flag to ?
 * cvsadmin checks the review (check reviewer is a packager, check if reviewee
   required a sponsor or not, check if there was a review)
 * cvsadmin processes the scm-request:
   - Create git repo
   - Create package in pkgdb
 * cvsadmin sets fedora-cvs flag to +

 We thought that a number of these steps could be automated. For example,
 creating the git repos themselve could be automated using information from 
 pkgdb.

 Our idea has been to port part of this procedure to pkgdb itself.

 This is our proposal:


overall, kudos for this proposal, it looks better than the current workflow.

One question, when do we close the review ticket ?
Currently, it is supposed to be handled by the reviewee after the
first build but it is often forgotten. Off course, it's the
responsability of the reviewer to check this but it's an impediment.
Astute people use bodhi to automatically close the ticket when it's
build on a branched release, but it's not possible on rawhide.

From what I understand, pkgdb2 would be able to link a package to its
review, so it should be possible to automatically close the review
ticket, am I right ?

 New procedure
 =

 * packager opens a review-request on bugzilla
 * reviewer sets the fedora-review flag to ?
 * reviewer does the review
 * reviewer sets the fedora-review flag to +
 * packager goes to pkgdb2 to request new package and specifies:
- package name
- package summary
- package branches
- link to review on bugzilla
  = requests added to the scm admin queue
 * cvsadmin checks the review (check reviewer is a packager¹)
 * cvsadmin approves the creation of the package in pkgdb
  = package creation broadcasted on fedmsg
 * git adjusted automatically

 What are the main changes:
 - More work for the packager that asks for the package to be created directly
   in pkgdb instead of using the SCM request mechanism in bugzilla
 - No more use of the fedora-cvs flag in bugzilla
 - Simplied work for releng that just checks the review and approves/denies in
   pkgdb


 Similarly, for new-branch:

 Current new-branch procedure:
 =

 * packager find the original package review ticket / opens a new ticket
 * packager make the change request and sets fedora-cvs flag to ?
 * cvsadmin checks the request/package (check if user is a packager, check if
   package exists in the RHEL for EPEL branch request)
 * cvsadmin processes the scm-request:
   - Adjust git repo
   - Adjust package in pkgdb
 * cvsadmin sets fedora-cvs flag to +

 New new-branch procedure:
 =

 * packager requests new branch in pkgdb (2 clicks)
  = requests added to the scm admin queue
 * cvsadmin checks the request/package (check if package exists in the RHEL for
   EPEL branch request - check if the user is a packager done in pkgdb itself)
 * cvsadmin approves the creation of the new branch in pkgdb
  = branch creation broadcasted on fedmsg
 * git adjusted automatically


*nods*
Silly question, some of those cvsadmins checks could be automated too,
at least, providing hints to the scm admins.
Something like a script listening to fedmsg, doing these checks and
then sending the results that could be consumed by pkgdb2 (maybe
displaying them as flash messages ?)

Best regards,
H.


 Currently, we are working towards these workflows but of course they are not
 set in stone and we would like to discuss them as early as possible to be sure
 we're not going in a completely wrong direction.

 Thanks for your feedbacks,

 Pierre and Till


 ¹ We should be able to automate the check if the reviewee/reviewer are
   packagers or not.
 ___
 devel-announce mailing list
 devel-annou...@lists.fedoraproject.org
 https://admin.fedoraproject.org/mailman/listinfo/devel-announce
 --
 devel mailing list
 devel@lists.fedoraproject.org
 https://admin.fedoraproject.org/mailman/listinfo/devel
 Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-05 Thread Zbigniew Jędrzejewski-Szmek
On Fri, Sep 05, 2014 at 05:08:39PM +0200, Pierre-Yves Chibon wrote:
 Dear all,
 
 In the last months, Till and I together with infrastructure and
 release-engineering have been thinking and working on how we could improve the
 current workflow for new package and new branch.
 
 To give you an idea, this is the current workflow:
 
 Current new-package procedure:
 ==
 
 * packager opens a review-request on bugzilla
 * reviewer sets the fedora-review flag to ?
Is this necessary? Normally having status=ASSIGNED is enough to know
that the review is handling the review. One of the issues with current
procedure is that this step can be forgotten, and then some automatic
steps don't happen when the flag to +. (One that I noticed it that the
email with subject 'fedora-review granted' is not sent.) 
Since you're simplifying the procedure, this manual step could be
pruned too.

Zbyszek

 * reviewer does the review
 * reviewer sets the fedora-review flag to +
 * packager creates the scm-request and set fedora-cvs flag to ?
 * cvsadmin checks the review (check reviewer is a packager, check if reviewee
   required a sponsor or not, check if there was a review)
 * cvsadmin processes the scm-request:
   - Create git repo
   - Create package in pkgdb
 * cvsadmin sets fedora-cvs flag to +
 
 We thought that a number of these steps could be automated. For example,
 creating the git repos themselve could be automated using information from 
 pkgdb.
 
 Our idea has been to port part of this procedure to pkgdb itself.
 
 This is our proposal:
 
 New procedure
 =
 
 * packager opens a review-request on bugzilla
 * reviewer sets the fedora-review flag to ?
 * reviewer does the review
 * reviewer sets the fedora-review flag to +
 * packager goes to pkgdb2 to request new package and specifies:
- package name
- package summary
- package branches
- link to review on bugzilla
  = requests added to the scm admin queue
 * cvsadmin checks the review (check reviewer is a packager¹)
 * cvsadmin approves the creation of the package in pkgdb
  = package creation broadcasted on fedmsg
 * git adjusted automatically
 
 What are the main changes:
 - More work for the packager that asks for the package to be created directly
   in pkgdb instead of using the SCM request mechanism in bugzilla
 - No more use of the fedora-cvs flag in bugzilla
 - Simplied work for releng that just checks the review and approves/denies in
   pkgdb
 
 
 Similarly, for new-branch:
 
 Current new-branch procedure:
 =
 
 * packager find the original package review ticket / opens a new ticket
 * packager make the change request and sets fedora-cvs flag to ?
 * cvsadmin checks the request/package (check if user is a packager, check if
   package exists in the RHEL for EPEL branch request)
 * cvsadmin processes the scm-request:
   - Adjust git repo
   - Adjust package in pkgdb
 * cvsadmin sets fedora-cvs flag to +
 
 New new-branch procedure:
 =
 
 * packager requests new branch in pkgdb (2 clicks)
  = requests added to the scm admin queue
 * cvsadmin checks the request/package (check if package exists in the RHEL for
   EPEL branch request - check if the user is a packager done in pkgdb itself)
 * cvsadmin approves the creation of the new branch in pkgdb
  = branch creation broadcasted on fedmsg
 * git adjusted automatically
 
 
 Currently, we are working towards these workflows but of course they are not
 set in stone and we would like to discuss them as early as possible to be sure
 we're not going in a completely wrong direction.
 
 Thanks for your feedbacks,
 
 Pierre and Till
 
 
 ¹ We should be able to automate the check if the reviewee/reviewer are
   packagers or not.
 ___
 devel-announce mailing list
 devel-annou...@lists.fedoraproject.org
 https://admin.fedoraproject.org/mailman/listinfo/devel-announce
 -- 
 devel mailing list
 devel@lists.fedoraproject.org
 https://admin.fedoraproject.org/mailman/listinfo/devel
 Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Future changes in the new package and new branch processes

2014-09-05 Thread Ralf Corsepius

On 09/05/2014 05:08 PM, Pierre-Yves Chibon wrote:


* packager requests new branch in pkgdb (2 clicks)
  = requests added to the scm admin queue
* cvsadmin checks the request/package (check if package exists in the RHEL for
   EPEL branch request - check if the user is a packager done in pkgdb itself)

I guess, EPEL is just an example for a new branch to create?

We also have cases were packages only exists in newer Fedoras (eg. 
rawhide only), until someone comes along and asks for branches to be 
created in older Fedoras.



* cvsadmin approves the creation of the new branch in pkgdb
  = branch creation broadcasted on fedmsg
* git adjusted automatically
What does this sentence mean? Create an empty branch or even to populate 
it from some other branch?


I don't think, the later is applicable, because e.g. rawhide packages 
often aren't applicable on older EPELs, while branches based on older 
versions are.


Ralf

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct