Commit Graph

426 Commits

Author SHA1 Message Date
André Roth
61650e5b3b Merge branch 'master' into dpkg-compliant-version-compare 2025-12-26 16:55:52 +01:00
Juan Calderon-Perez
0021cf876b Harden latest-only filtering 2025-12-11 07:20:37 -05:00
Yaksh Bariya
e0f282aca9 make version comparision more similar to that of dpkg
Initially found by automated repository health checks used by Termux
in https://github.com/termux/termux-packages/issues/27472

The root problem was 4.3.5a comparing less than 4.3.5-rc1-1 by aptly
According to debian "4.3.5a" > "4.3.5-rc1-1"

This is because dpkg splits hyphen for revision at the first hyphen,
whereas aptly was splitting at the last hyphen which is different from
dpkg's behaviour.

dpkg behaviour: https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/lib/dpkg/parsehelp.c#n242

Perhaps this wasn't detected as there was broken tests in the repository
since the initial commit of aptly. This also fixes those tests
2025-12-01 00:28:37 +05:30
JupiterRider
c2d5f47643 Merge branch 'master' into tautological_condition 2025-08-30 18:51:27 +02:00
JupiterRider
4b73ae462f remove tautological (unnecessary) nil condition 2025-08-20 19:45:53 +02:00
JupiterRider
b49a631e0b ran "gofmt -s -w ." to format the code 2025-08-20 19:41:26 +02:00
André Roth
27c15680e8 Merge pull request #1445 from silkeh/fix-db-references
Remove corrupt package references in `db recover`
2025-05-01 10:27:42 +02:00
Silke Hofstra
d8a4a28259 Remove corrupt package references in db recover
When aptly crashes it is possible to get a corrupt database with a dangling key reference.
This results in an error with 'key not found', eg:

    ERROR: unable to load package Pall example-package 1.2.3 778cf6f877bf6e2d: key not found

This change makes `db recover` fix this situation by removing the dangling references.
2025-04-30 12:21:34 +02:00
André Roth
f7057a9517 go1.24: fix lint, unit and system tests
- development env: base on debian trixie with go1.24
- lint: run with default config
- fix lint errors
- fix unit tests
- fix system test
2025-04-26 13:29:50 +02:00
André Roth
666b5c9700 Merge pull request #1422 from aptly-dev/fix/empty-mirror-snapshot
Allow snapshotting empty mirrors
2025-01-13 12:36:01 +01:00
Mikel Olasagasti Uranga
7074fc8856 Switch to google/uuid module
Current used github.com/pborman/uuid hasn't seen any updates in years.

Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
2025-01-11 23:18:50 +01:00
André Roth
aa0830ff0c Revert "fix empty mirror check"
This reverts commit 09a44ba409.
2025-01-11 19:17:28 +01:00
Gordian Schoenherr
8c3fe8dabb Fix failing system test
The fix of the -with-filter flag causes the following previously
missing source files to be downloaded, so I updated the test file.

```
rkward_0.7.5-1~bullseyecran.0.debian.tar.xz
rkward_0.7.5-1~bullseyecran.0.dsc
rkward_0.7.5.orig.tar.gz
rpy2_3.5.12-1~bullseyecran.0.debian.tar.xz
rpy2_3.5.12-1~bullseyecran.0.dsc
rpy2_3.5.12.orig.tar.gz
```
2024-12-10 11:52:55 +09:00
Gordian Schoenherr
ef6815222c Add unit tests for filtering with source packages 2024-12-09 13:17:41 +09:00
Gordian Schoenherr
0c76677b16 Fix -with-sources not downloading differently named sources
Such as e.g. downloading 'glibc' when the sources for 'libc6'
are requested.
2024-12-09 13:17:41 +09:00
Gordian Schoenherr
3b785e4165 Refactor Filter options into a struct
It was already a lot of options for one method and I am going to add
another one in the next commit.
2024-12-09 13:17:41 +09:00
Christoph Fiehe
7d9f020ae8 Fix null pointer when dropping a multi dist published repo.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-12-02 15:09:46 +01:00
André Roth
e2cbd637b8 use new azure-sdk 2024-11-17 17:43:20 +01:00
André Roth
9ca9569714 fix build and golangci-lint 2024-11-17 14:09:37 +01:00
Mauro Regli
1357d246d8 rename addon files to skel files 2024-11-17 14:09:37 +01:00
Mauro Regli
c75c2c7594 pass down addonpath from api and cmd context 2024-11-17 14:09:37 +01:00
Mauro Regli
17186b0c73 add GetAddonPaths to publish file 2024-11-17 14:09:37 +01:00
Mauro Regli
2aac7baf52 add AddonIndex to index_files
I had to remove "signable: false" (line 399), since that property
doesn't exist.
2024-11-17 14:09:37 +01:00
André Roth
0936922172 only allow mirrors with architectures set 2024-11-08 17:07:37 +01:00
André Roth
62a0a1a560 log error 2024-11-08 17:07:37 +01:00
André Roth
e642847a82 log filtering error 2024-11-08 17:07:37 +01:00
André Roth
26c14e218a fix lint 2024-11-08 17:07:37 +01:00
André Roth
26c775ccfd fix test
flat repos may have architecture which is needed for filtering dependencies
2024-11-08 17:07:37 +01:00
André Roth
d6284148f9 set Architectures from flat mirror
note: 'Architecture' is not official, but used by nvidia mirrors for no debian arch 'x86_64'. shold this be supported ?
2024-11-08 17:07:37 +01:00
André Roth
4c58266a87 do not set empty mirror architectures for flat mirrors 2024-11-08 17:07:37 +01:00
5hir0kur0
c8fca7953c package.go: Fix bug in providesDependency
Use package version if `Provides:` entry does not specify a version.
2024-11-08 15:55:01 +01:00
André Roth
eafec74c29 allow to exclude provided packages from list.Search 2024-11-04 17:02:54 +01:00
Christoph Fiehe
f8f28e9554 Fixing tests and fix cleanup.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
Christoph Fiehe
ac5ecf946d Cleanup improved and code redundant code removed.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
Christoph Fiehe
d87d8bac92 Fix test cases.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
Christoph Fiehe
14c29ff912 Fixing tests.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
Christoph Fiehe
bd64232eb6 Allow management of components
This commit allows to add, remove and update components of published repositories without the need to recreate them.

Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
André Roth
75ca51b23b improve error message 2024-10-10 12:03:13 +02:00
André Roth
861260198a publish: persist multidist flag 2024-10-08 22:28:12 +02:00
Christoph Fiehe
4195ad90bc Allow to add a new component to a published repo
This commit modifies the behavior of the publish switch method in the way, that also new components can be added to an already published repository. It is no longer necessary to drop and recreate the whole publish.

Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-09-24 15:43:27 +02:00
5hir0kur0
d2332e6452 Log a warning for errors in MatchesDependency 2024-08-11 12:35:46 +02:00
André Roth
1428f54a02 make compatible with go 1.19 2024-08-11 12:35:46 +02:00
André Roth
feb87c0f19 Revert "Remove errors.Join usage for go1.19 compatibility"
This reverts commit 1339e35dd7.
2024-08-11 12:35:46 +02:00
5hir0kur0
934fa0598b Remove errors.Join usage for go1.19 compatibility 2024-08-11 12:35:46 +02:00
5hir0kur0
6d6761e234 Add unit tests for Provides entries with version 2024-08-11 12:35:46 +02:00
5hir0kur0
ab18d4835b Support version relation in Provides entries 2024-08-11 12:35:46 +02:00
André Roth
09a44ba409 fix empty mirror check 2024-07-24 21:19:47 +02:00
5hir0kur0
02bdb7c76a Deduplicate missing dependency list 2024-07-11 18:25:49 +02:00
5hir0kur0
8d537b4e3e Fix bug in dependency resolution 2024-07-11 18:25:49 +02:00
André Roth
3a286ae07f fix unit tests 2024-07-03 18:08:58 +02:00