Re: Defining the future of the packager workflow in Fedora

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 26, 2019 at 11:36:10AM +0200, Pierre-Yves Chibon wrote:
> Good Morning Everyone,

...snip...

So, a few thoughts in general on the thread and ideas... 

I think it might be helpfull for us to come up with some personas?
I know that kind of thing seems silly a lot of the time, but I think we
have some pretty clear ones and it would help us come up with a workflow
that could work for much of our maintainers instead of just one group. 

ie, for example I think we have a group of folks who maintain a very
small number of packages. These folks might be upstream maintaining
their software as a fedora package or just someone who uses / cares for
it. They want something simple where they can update packages/modules
from upstream releases on an optional number of releases using just a
tarball or other release artifacts. 

Then there's people who maintain 100's or many hundreds of packages,
usually in a stack (perl, ruby, node, etc). They want the ability to
update things but they also need to make big changes accross their
collection of packages for improvments or changes in the ecosystem. 

There's people who maintain a application and it's deps who may
need/want to update/test things in a bundle, etc. 

There's people who care about EPEL and want to follow the Fedora
branches, but only if they don't make major changes. 

And likely other cases I haven't thought of in a few seconds of
pondering, but we should definitely consider in our design.

I think it's pretty clear that the "Everything is a PR" work flow
doesn't work for everyone. As well as the "Sources are a git repo".
So, I think a ideal setup would allow people to make choices and switch
between them. Of course I don't think we should just allow everything,
but we should have path's that cover a large group and choices only
where we have to to accomodate the needs of the different groups. 

I like the idea of leveraging tags as a way to provide information to
our new system what to build and test. Allowing commits without
builds/testing would help the ecosystem user make a bunch of changes,
then they could tag that what they have is ready to build/test/make an
update out of, while a user doing just small updates could tag on every
commit if they wanted to. Perhaps we could also determine all the
information we want in tags and design it such that a web application, a
cli application or even a user who understood the format could just git
tag and enter the needed information. This would allow groups using each
of those to all work the same way as they choose. If we went crazy far
down this road: what if all our information is in tags? who can commit,
whois watching, etc... but then we would have to hate ourselves enough
to do gpg signed commits to make sure who was who.

I think we all agree we need to handle release and changelogs in an
automated way that lets commits/PR's be more generally useful. 

I also think we have not really any good tools for maintainers to know
important things like: "what is the full list of everything my package
depends on" or "Of all the things my package depends on, what hasn't
been updated in X years" or "What media is my package on?" which we have
wanted for ages. Not sure if that fits in here, but it would sure be
nice to have, and it would be required for any of the 'rebuild things
that depend on my package when I change it'.

I'm not sure how to handle the dychomoty between having different spec
files for each release and wanting to maintain just one spec that has a
bunch of crazy conditionals in it. Even thought I do this too, I think
we need a workflow that discourages this somehow. 

Anyhow, I think it might be worth making some personas and trying to map
out how tags could contain the information we might want and how that
would look?

kevin

Attachment: signature.asc
Description: PGP signature

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux