Comprehensive Upstream Provider Polling Assistant
As a package maintainer, it's a challenging task to keep track of every new release of a piece of software. Usually this involves subscribing to mailing lists, signing up for notifications from FOSS portals like Github, or even subscribing to news sites. For a distro, this might also mean a repeated effort amongst its package maintainers. The inefficiency and time requirements of such an approach is inevitable. This has led several distros to create their own upstream tracking platforms to automate the process of tracking upstream releases. However, these platforms are often distro specific, leading to further duplication of effort between distros.
- Support as many upstream providers as possible
- Be completely distro agnostic
- Extensibility
- A Rating on Report Card
- CPAN
- Github (with API Key support)
- GitLab
- GNOME
- Hackage
- Jetbrains
- KDE
- Launchpad
- PyPi
- RubyGems
- Sourceforge
- BitBucket
- FTP
- Git
- RSS
Both of these will require some level of scraping to get useful info.
- NPM Completely pointless as this will just pivot to another provider
- Stackage Not really in scope for this project and they seem to be missing a web API
- Clone repo and enter its
make
sudo make install
Your configuration file must be located at $HOME/.config/cuppa
Github limits the number of requests per day for unauthenticated clients. If you would like to get around this limitation, you can configure Cuppa to use a Personal Access Key (PAK) by following the instructions here. You do not need to enable any OAuth Scopes.
Example:
[github]
key = "<personal access key>"
All cuppa
commands follow the format:
cuppa CMD URL
where CMD is the action to perform and URL is the link to an existing source.
CMD | Alias | Description |
---|---|---|
help | ? | Get help for the other commands. |
latest | l | Get the details for the latest (non-beta) release. |
quick | q | Get just the new version number and URL if found. |
releases | r | Get all known previous (non-beta) releases. |
Copyright 2016-2021 Bryan T. Meyers [email protected]
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.