Commit Graph

101 Commits

Author SHA1 Message Date
Danila Fominykh
d6a05c30d2
moved package properties to constants in metadata module 2023-11-01 15:24:40 -03:00
Danila Fominykh
45c86cce58
Merge branch 'main' into pacman-packages 2023-10-31 20:39:42 -03:00
Danila Fominykh
8aeada8c30
additional validations for package metadata fields, split package metadata into file and version related structures, better test coverage and refactoring in metadata module 2023-10-30 21:53:14 -03:00
KN4CK3R
b36e2ca419
List all Debian package versions in Packages (#27786)
Closes #27783

This PR lists all and not only the latest package versions in the
`Packages` index.
2023-10-29 14:14:47 +00:00
Danila Fominykh
f8b78cba23
Merge branch 'main' into pacman-packages 2023-10-26 12:16:04 -03:00
KN4CK3R
ab3f6c1bac
Close all hashed buffers (#27787)
Add missing `.Close()` calls. The current code does not delete the
temporary files if the data grows over 32mb.
2023-10-25 21:24:24 +02:00
merlleu
796ff26e0e
Do not force creation of _cargo-index repo on publish (#27266)
Hello there,
Cargo Index over HTTP is now prefered over git for package updates: we
should not force users who do not need the GIT repo to have the repo
created/updated on each publish (it can still be created in the packages
settings).

The current behavior when publishing is to check if the repo exist and
create it on the fly if not, then update it's content.
Cargo HTTP Index does not rely on the repo itself so this will be
useless for everyone not using the git protocol for cargo registry.

This PR only disable the creation on the fly of the repo when publishing
a crate.

This is linked to #26844 (error 500 when trying to publish a crate if
user is missing write access to the repo) because it's now optional.

---------

Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
2023-10-24 03:26:38 +00:00
Danila Fominykh
95a1df6dfc
import naming unification with other package types 2023-10-12 11:56:54 -03:00
Danila Fominykh
6052aea5f2
moved upload function to arch service 2023-10-12 11:43:33 -03:00
Danila Fominykh
d473e01d7e
fixed pacman database creation process, corrected switch to next entry when current package desc is found 2023-10-03 14:31:24 -03:00
Danila Fominykh
784b4f9304
refactoring in metadata module, pacman database creation function 2023-10-02 22:00:44 -03:00
Danila Fominykh
8974d27ba3
refactoring in metadata module, better readability
shorter function calls in arch service
fix - request now ends if unable to decode package signature from hex
fix - now package search continues to previous versions in package file for required architecture not found for current version
2023-10-02 19:12:06 -03:00
Danila Fominykh
fcb3fd11de
corrected procedure of retrieving package file property to package owner scope 2023-10-02 13:19:57 -03:00
Danila Fominykh
a1ee2a0a96
Merge branch 'main' into pacman-packages 2023-09-28 17:14:23 -03:00
Danila Fominykh
c09da2a9e1
removed functionality related to automatic source code repository connection 2023-09-28 17:13:40 -03:00
Danila Fominykh
4656b3b958
replaced bytes.Buffer with packages.HashedBuffer to return working io.ReadSeeker implementation 2023-09-25 18:42:48 -03:00
JakobDev
7047df36d4
Another round of db.DefaultContext refactor (#27103)
Part of #27065

---------

Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
2023-09-25 13:17:37 +00:00
Danila Fominykh
54fd84d83f
function to get package file property by composite key, refactoring function creating pacman database 2023-09-24 13:32:53 -03:00
Danila Fominykh
a9a5b7a2cf
service method to get package file stream 2023-09-23 20:26:51 -03:00
Danila Fominykh
a4d878c670
Merge branch 'go-gitea:main' into pacman-packages 2023-09-17 22:31:30 -03:00
JakobDev
c548dde205
More refactoring of db.DefaultContext (#27083)
Next step of #27065
2023-09-15 06:13:19 +00:00
Danila Fominykh
429477e3e1
Merge branch 'main' into pacman-packages 2023-09-12 10:02:36 -03:00
Lunny Xiao
4f32abaf94
move repository deletion to service layer (#26948)
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2023-09-08 04:51:15 +00:00
Danila Fominykh
7c2d1b3ca3
fixed package key when getting any architecture 2023-09-07 15:23:13 -03:00
Danila Fominykh
934d1197b9
Merge branch 'go-gitea:main' into pacman-packages 2023-09-06 16:07:59 -03:00
Lunny Xiao
b9df9fa2e2
Move createrepository from module to service layer (#26927)
Repository creation depends on many models, so moving it to service
layer is better.
2023-09-06 12:08:51 +00:00
Danila Fominykh
70effa24a1
Merge branch 'go-gitea:main' into pacman-packages 2023-09-05 15:50:13 -03:00
Lunny Xiao
540bf9fa6d
Move notification interface to services layer (#26915)
Extract from #22266
2023-09-05 18:37:47 +00:00
Danila Fominykh
431dabfc5c
fixed procedure of retrieving package properties for signatures and pacman database file 2023-09-05 14:51:29 -03:00
Danila Fominykh
93b1f854c4
Merge branch 'main' into pacman-packages 2023-08-30 19:41:38 -03:00
Chongyi Zheng
ac2f8c9ac6
Reduce some allocations in type conversion (#26772) 2023-08-29 00:43:16 +08:00
merlleu
a587d25261
Add auth-required to config.json for Cargo http registry (#26729)
Cargo registry-auth feature requires config.json to have a property
auth-required set to true in order to send token to all registry
requests.
This is ok for git index because you can manually edit the config.json
file to add the auth-required, but when using sparse
(setting index url to
"sparse+https://git.example.com/api/packages/{owner}/cargo/"), the
config.json is dynamically rendered, and does not reflect changes to the
config.json file in the repo.

I see two approaches:
- Serve the real config.json file when fetching the config.json on the
cargo service.
- Automatically detect if the registry requires authorization. (This is
what I implemented in this PR).

What the PR does:
- When a cargo index repository is created, on the config.json, set
auth-required to wether or not the repository is private.
- When the cargo/config.json endpoint is called, set auth-required to
wether or not the request was authorized using an API token.
2023-08-28 07:05:39 +00:00
Danila Fominykh
27fa8158ef
fixed database creation procedure for packages with any architecture 2023-08-08 19:46:58 +03:00
Danila Fominykh
0d08eaa556
reduced amount of logic, removed unnecessary fields 2023-08-08 19:40:54 +03:00
Danila Fominykh
e86bdfcb0e
metadata and signature are stored in package properties instead of object storage 2023-08-08 16:21:17 +03:00
Danila Fominykh
2548414865
Merge branch 'main' into pacman-packages 2023-08-08 16:00:19 +03:00
KN4CK3R
0c6ae61229
Allow package cleanup from admin page (#25307)
Until now expired package data gets deleted daily by a cronjob. The
admin page shows the size of all packages and the size of unreferenced
data. The users (#25035, #20631) expect the deletion of this data if
they run the cronjob from the admin page but the job only deletes data
older than 24h.

This PR adds a new button which deletes all expired data.

![grafik](https://github.com/go-gitea/gitea/assets/1666336/b3e35d73-9496-4fa7-a20c-e5d30b1f6850)

---------

Co-authored-by: silverwind <me@silverwind.io>
2023-08-08 00:46:10 +00:00
Danila Fominykh
a3cb45cf3b
Merge branch 'main' into pacman-packages 2023-08-05 12:00:07 +03:00
KN4CK3R
2d3924d0e7
Prevent newline errors with Debian packages (#26332)
Fixes #26313
2023-08-05 10:59:52 +02:00
Danila Fominykh
28712bc91e
refactoring 2023-08-04 14:52:36 +03:00
Danila Fominykh
0c7aa7f63e
refactoring 2023-08-03 20:43:13 +03:00
Danila Fominykh
ebaa5436ad
lint corrections 2023-08-03 17:36:48 +03:00
Danila Fominykh
d069303825
fixed pacman database creation algorithm, arch UI template 2023-08-02 00:23:12 +03:00
Danila Fominykh
f422942a7a
fixed mechanics of pacman database creation 2023-07-31 12:18:18 +03:00
Danila Fominykh
3df8d52fb8
changed pacman database creation mechanics, storing package desc as file in object storage, metadata structure update 2023-07-28 16:32:01 +03:00
Danila Fominykh
0093004d0f
removed distro field from arch package metadata, corrected related UI 2023-07-23 20:18:26 +03:00
Danila Fominykh
597a948e33
replaced custom auth with existing methods 2023-07-23 15:42:52 +03:00
Danila Fominykh
245a54532f
Merge branch 'main' into pacman-packages 2023-07-22 20:34:30 +03:00
Peter Verraedt
48cd82b759
Fix version in rpm repodata/primary.xml.gz (#26009)
The version listed in rpm repodata should only contain the rpm version
(1.0.0) and not the combination of version and release (1.0.0-2). We
correct this behaviour in primary.xml.gz, filelists.xml.gz and
others.xml.gz.

Signed-off-by: Peter Verraedt <peter@verraedt.be>
2023-07-21 19:41:38 +00:00
harryzcy
0f9f6567bb
Bump github.com/golang-jwt/jwt to v5 (#25975)
Bumping `github.com/golang-jwt/jwt` from v4 to v5.

`github.com/golang-jwt/jwt` v5 is bringing some breaking changes:

- standard `Valid()` method on claims is removed. It's replaced by
`ClaimsValidator` interface implementing `Validator()` method instead,
which is called after standard validation. Gitea doesn't seem to be
using this logic.
- `jwt.Token` has a field `Valid`, so it's checked in `ParseToken`
function in `services/auth/source/oauth2/token.go`

---------

Co-authored-by: Giteabot <teabot@gitea.io>
2023-07-19 09:57:10 +00:00