public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* [RFC] cygport pm for managing package releases
@ 2020-09-11 16:07 Andrew Schulman
  2020-09-11 23:07 ` Brian Inglis
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Andrew Schulman @ 2020-09-11 16:07 UTC (permalink / raw)
  To: cygwin-apps

cygport has automated a lot of the work of building and maintaining
packages for Cygwin. But one area where it doesn't help yet is in managing
the available releases of a package. For me as the maintainer of a dozen or
so packages, there are routine tasks that I still find to be painful:

* Finding out which versions of a package are currently available in the
Cygwin repositories, and which if any are marked as "test".
* Marking or unmarking a version as "test".
* Removing versions from the repositories.
* Marking a package as obsolete.

All of these are still manual tasks. Most require digging through
documentation (though that's also much improved in the last few years),
manually editing .hint files or creating dummy package files, and manually
uploading files to the right places in sftp://cygwin.com. It's not fun, and
so I don't keep up with it as well as I should.

To alleviate that, I think cygport should add a set of "pm" commands to
automate package management. For example:

* cygport pm list - list versions available in the Cygwin repositories.
* cygport pm test - set/clear "test" status for a version.
* cygport pm del - remove a package version from the repositories.
* cygport pm obsolete - mark a package as obsolete.

And probably others. I think this would make maintainer's lives easier, and
make these management tasks more reliable.

I can spend some time planning and developing this, and if others want to
collaborate on it, so much the better. But before I start on that, I want
to get people's comments here about whether:

* It's worth doing;
* (More to the point) It'd be likely to be accepted upstream, assuming the
implementation is satisfactory; and 
* There may be problems in implementing it that I haven't thought of. 

I can think of a few problems or objections:

1. The "pm" commands will bake into cygport logic that's specific to how
the package repositories and upset currently work. So if those change,
cygport will have to change to match them. That's true, but not just for
cygport pm - other parts of cygport, such as cygport up, are basically
clients for upset. And at least it'll centralize the changes in one place,
so maintainers won't have to worry about them.

2. "pm list" will require finding and parsing an appropriate setup.ini
file, unlike the other "pm" commands which will manipulate
sftp://cygwin.com. 

I think these are surmountable, but I want to know if there's a general
agreement that it's worth doing.

BTW a successful example like this one is the "cygport up" command, which
we added a few years ago to automate uploading packages to cygwin.com. I
think it's working well.

Andrew


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-09-25 17:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-11 16:07 [RFC] cygport pm for managing package releases Andrew Schulman
2020-09-11 23:07 ` Brian Inglis
2020-09-12 15:18   ` Andrew Schulman
2020-09-12 15:03 ` Ken Brown
2020-09-12 21:20   ` Brian Inglis
2020-09-12 22:14     ` Hamish McIntyre-Bhatty
2020-09-20 19:19 ` Jon Turney
2020-09-21 14:17   ` Ken Brown
2020-09-25 17:13   ` Andrew Schulman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).