Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arch packages implementation #31037

Open
wants to merge 219 commits into
base: main
Choose a base branch
from

Conversation

ExplodingDragon
Copy link
Contributor

@ExplodingDragon ExplodingDragon commented May 21, 2024

close #25037

This Commit was created by d1nch8g (#25396).

Sources: https://ion.lc/core/gitea

This PR adds a package registry for Arch Linux packages with support for package files, signatures, and automatic pacman-database management.

Features:

  1. Push any tar.zst package and Gitea sign it.
  2. Delete endpoint for specific package version and all related files
  3. Supports trust levels with SigLevel = Required.
  4. Package UI with instructions to connect to the new pacman database and visualised package metadata

You can follow this tutorial to build a *.pkg.tar.zst package for testing

docs pr: gitea/docs#47

Co-authored-by: [email protected]
Co-authored-by: @KN4CK3R
Co-authored-by: @silverwind
Co-authored-by: @mahlzahn

dancheg97 and others added 30 commits June 20, 2023 23:08
…ction and remove windows incompatible dependency
… file in memory, added download counter related to pkg.tar.zst files
…equest automatically from package metadata in database
@ExplodingDragon ExplodingDragon marked this pull request as ready for review June 28, 2024 18:55
@ExplodingDragon ExplodingDragon changed the title WIP: Arch packages implementation Arch packages implementation Jun 28, 2024
@KN4CK3R
Copy link
Member

KN4CK3R commented Jun 28, 2024

When #25396 was closed some weeks ago, I adopted the PR and rewrote it to look similar to how the other package registries work. I will push my changes next week, then we could compare with this PR and decide how we continue.

@ExplodingDragon
Copy link
Contributor Author

When #25396 was closed some weeks ago, I adopted the PR and rewrote it to look similar to how the other package registries work. I will push my changes next week, then we could compare with this PR and decide how we continue.

@KN4CK3R My implementation is not perfect, in fact, I just refactored the original pr and delegated its signature to Gitea to manage, like #27069.

@ExplodingDragon
Copy link
Contributor Author

When #25396 was closed some weeks ago, I adopted the PR and rewrote it to look similar to how the other package registries work. I will push my changes next week, then we could compare with this PR and decide how we continue.

@KN4CK3R Any new changes?

@KN4CK3R
Copy link
Member

KN4CK3R commented Aug 2, 2024

You can find my code here: main...KN4CK3R:gitea:feature-arch

DennisRasey pushed a commit to DennisRasey/forgejo that referenced this pull request Aug 4, 2024
This PR is from go-gitea/gitea#31037

This PR was originally created by @d1nch8g , and the original source code comes from https://ion.lc/core/gitea.

This PR adds a package registry for [Arch Linux](https://archlinux.org/) packages with support for package files, [signatures](https://wiki.archlinux.org/title/Pacman/Package_signing), and automatic [pacman-database](https://archlinux.org/pacman/repo-add.8.html) management.

Features:

1. Push any ` tar.zst ` package and Gitea sign it.
2. Delete endpoint for specific package version and all related files
3. Supports trust levels with `SigLevel = Required`.
4. Package UI with instructions to connect to the new pacman database and visualised package metadata

![](/attachments/810ca6df-bd20-44c2-bdf7-95e94886d750)

You can follow [this tutorial](https://wiki.archlinux.org/title/Creating_packages) to build a *.pkg.tar.zst package for testing

docs pr: https://codeberg.org/forgejo/docs/pulls/791

Co-authored-by: [email protected]
Co-authored-by: @KN4CK3R
Co-authored-by: @mahlzahn
Co-authored-by: @silverwind
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4785
Reviewed-by: Earl Warren <[email protected]>
Co-authored-by: Exploding Dragon <[email protected]>
Co-committed-by: Exploding Dragon <[email protected]>
@techknowlogick
Copy link
Member

Thanks again @ExplodingDragon for your work on getting these additional package PRs in. I'm going through the backlog of PRs now, and would love to get to this one. Are you able to incorporate @KN4CK3R's work into this PR?

@ExplodingDragon
Copy link
Contributor Author

Thanks again @ExplodingDragon for your work on getting these additional package PRs in. I'm going through the backlog of PRs now, and would love to get to this one. Are you able to incorporate @KN4CK3R's work into this PR?

@techknowlogick This pull request is complete and ready for review at any time.

@lunny
Copy link
Member

lunny commented Aug 6, 2024

@ExplodingDragon Please send a doc pull request in https://gitea.com/gitea/docs like other package documentation. And that PR will be reviewed and merged after this one is merged.

@ExplodingDragon
Copy link
Contributor Author

ExplodingDragon commented Aug 7, 2024

@ExplodingDragon Please send a doc pull request in https://gitea.com/gitea/docs like other package documentation. And that PR will be reviewed and merged after this one is merged.

@lunny docs pr: gitea/docs#47

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. modifies/api This PR adds API routes or modifies them modifies/go Pull requests that update Go code modifies/templates This PR modifies the template files modifies/translation size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Arch linux packages
7 participants