You are not logged in.

#1 2023-03-26 05:53:28

ejiek
Member
From: Indonesia
Registered: 2016-11-07
Posts: 6
Website

Introducing PacOps - Seeking Input from Package Maintainers

Hello, Arch Linux community,

We’re excited to introduce a new project we're working on - PacOps. We aim to create a Swiss Army knife tool for package maintainers. PacOps focuses on making PKGBUILD updates more efficient and reducing manual intervention. Our primary target audience is AUR maintainers, but we also plan to make PacOps useful for custom and even official repositories.

As PacOps is currently in the early stages of development and we don’t have a lot of package maintenance experience, we are looking for community input.

Our current vision

One of the most common tasks in package maintenance is following upstream versions. Here are some AUR packages logs to illustrate the point: microsoft-edge-dev-bin, yay. Our first goal is to automate this process.

How does our prototype work?

- Parses PKGBUILD files to extract package version, source URL, and other relevant information
- Determines the location to look for newer package versions
- Scrapes webpages to find available package versions and identifies the latest version
- Updates the PKGBUILD file with the new version number, source URL, and checksums
Our prototype also tests the resulting package, commits the updated PKGBUILD to a git repo, and builds and publishes it to a self-hosted package repo. Please note that this is a hacked-together prototype, designed to help us become familiar with the domain.

Project goals

- Automatic version updates
- Support for multiple upstream formats: Debian folders (see microsoft-edge-dev-bin), GitHub releases, and more
- Versatile usage: from running locally on a single file to integrating with pipelines and cloud-native solutions for maintaining repositories with hundreds of packages
- Validation of an updated package

We need your help

If you're a package maintainer, we would love to hear your thoughts on this project and package maintenance in general. In particular, we're interested in learning about:

- Your current process for maintaining PKGBUILD files
- The challenges or pain points you face in maintaining your packages
- The tools you currently use and their limitations or areas for improvement
- Your expectations and preferences for a PKGBUILD maintenance tool like PacOps

We invite you to share your experiences and opinions here in this forum thread or, if you prefer, participate in a short interview. Your input will help shape the development of PacOps and ensure that it effectively addresses the needs of package maintainers in the Arch Linux community.

Extra info

Project maturity: early development of a revived pet project
Source code: github:ejiek/pacops
Programming language: Rust
License: GPL 3


Thank you for your time and consideration. We're looking forward to hearing your insights and working together to make package maintenance more efficient and enjoyable for everyone.

Best regards,

Vlad Petrov
PacOps Development Team

Offline

#2 2023-03-26 12:32:13

Stefan Husmann
Member
From: Germany
Registered: 2007-08-07
Posts: 1,391

Re: Introducing PacOps - Seeking Input from Package Maintainers

Indeed an important Painpoint is the problem of following upstream versions. There are some tools for this task, but they use completely different methods.

* pkgoutofdate  https://github.com/anatol/pkgoutofdate  https://aur.archlinux.org/packages/pkgoutofdate-git/
* aur-out-of-date  https://github.com/simon04/aur-out-of-date  https://aur.archlinux.org/packages/aur-out-of-date
* w3watch   https://github.com/pierres/w3watch  with two flavours in AUR.

For w3watch there must be an alternative written in Python, but I do not remember the name and do not use it.
w3watch an this python-tool need the user to maintain a config file. The other tools follow the idea you refer to as "upstream formats", but I am not sure if they follow repos from other distros (btw., I would not name such repos "upstream").

Offline

#3 2023-03-27 15:42:22

ejiek
Member
From: Indonesia
Registered: 2016-11-07
Posts: 6
Website

Re: Introducing PacOps - Seeking Input from Package Maintainers

Hi Stefan!

Thank you for pointing out these tools we missed during our research!

I found urlwatch, which could be the Python alternative to w3watch you mentioned.
Using a hash sum of a page is an interesting idea. It may offer performance improvements over searching for a newer version every time and could serve as a useful trigger. While it's not our first priority, it's definitely worth considering for future implementation.

Both pkgoutofdate and aur-out-of-date have a lot of functionality that aligns with our project goals. We aim to make the process of updating packages even less manual. This will likely involve extensive automated testing for updated packages, which is a bit scary with current state of test coverage.

You're right about the term "upstream"; it may not be the most accurate descriptor. Instead, we can use "source," which is more consistent with the terminology used in PKGBUILD files.

Thank you so much for your feedback! Your response has already been incredibly helpful, and we're glad we reached out to the community.

Best regards,
Vlad Petrov
PacOps Development Team

Offline

Board footer

Powered by FluxBB