public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Hamish McIntyre-Bhatty <hamishmb@live.co.uk>
To: cygwin-apps@cygwin.com
Subject: Re: [RFC] cygport pm for managing package releases
Date: Sat, 12 Sep 2020 23:14:59 +0100	[thread overview]
Message-ID: <DB7PR02MB39969B8218DD5201E3793773E7250@DB7PR02MB3996.eurprd02.prod.outlook.com> (raw)
In-Reply-To: <f2f52a85-1606-5f21-dca2-1b9aa50e8b5e@SystematicSw.ab.ca>


[-- Attachment #1.1.1: Type: text/plain, Size: 4663 bytes --]

On 12/09/2020 22:20, Brian Inglis wrote:
> On 2020-09-12 09:03, Ken Brown via Cygwin-apps wrote:
>> On 9/11/2020 12:07 PM, Andrew Schulman via Cygwin-apps wrote:
>>> 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.
>> Agreed.  Thanks for doing this.
>>
>> Concerning your specific suggestions:
>>
>>> * cygport pm list - list versions available in the Cygwin repositories.
>> Good idea.  I often find myself looking at setup.ini to get this information,
>> and it would be nice to have cygport automate the process.
>>
>>> * cygport pm test - set/clear "test" status for a version.
>> I like the idea of clearing test status, i.e., 'cygport pm untest'; this should
>> be trivial to implement in view of Jon's recent work:
>>
>>   https://cygwin.com/pipermail/cygwin-apps/2020-August/040440.html
>>
>> But I'm not sure about going in the other direction.  Once users have already
>> installed a non-test package, it could be very confusing to have that package
>> retroactively declared to be a test release.
>>
>>> * cygport pm del - remove a package version from the repositories.
>> This would be very useful.  The current mechanism for removing a package version
>> is very tedious.
>>
>>> * cygport pm obsolete - mark a package as obsolete.
>> I was about to question the need for this, but I'll bet you're thinking about
>> unison2.48.  It will soon become obsolete, with two or more possible replacement
>> packages.  So the usual mechanism of having a new package obsolete an old one
>> doesn't quite work.
> Python 2/2.7 (308) packages also come to mind as being dropped at some point in
> the next year as there is no longer any support.
>
I would definitely find these features helpful so you have my vote on
these additions for sure.

Hamish


[-- Attachment #1.1.2: 0x87B761FE07F548D6.asc --]
[-- Type: application/pgp-keys, Size: 3235 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2020-09-12 22:15 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-11 16:07 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 [this message]
2020-09-20 19:19 ` Jon Turney
2020-09-21 14:17   ` Ken Brown
2020-09-25 17:13   ` Andrew Schulman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DB7PR02MB39969B8218DD5201E3793773E7250@DB7PR02MB3996.eurprd02.prod.outlook.com \
    --to=hamishmb@live.co.uk \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).