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
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
André Roth
a93ccd4100
fix tests
2024-07-03 18:08:58 +02:00
André Roth
c1f7e5fe96
handle GpgDisableVerify and ignore-signatures consistently
...
and be less verbose
2024-07-03 18:08:58 +02:00
André Roth
d16110068c
allow not signed mirrors without InRelease file
2024-07-03 18:08:58 +02:00
André Roth
1a3cfea348
replace io/ioutil
...
fixes golangci-lint errors
2024-06-17 11:51:18 +02:00
Ryan Gonzalez
810df17009
Clean up temporary files when mirroring
...
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com >
2024-06-17 11:51:18 +02:00
Ryan Gonzalez
19255debb9
Reduce required usage of LocalPackagePool
...
Several sections of the code *required* a LocalPackagePool, but they
could still perform their operations with a standard PackagePool.
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com >
2024-06-17 11:51:18 +02:00
Lorenzo Bolla
1afcd68e01
Make downloader type configurable
2022-01-31 10:32:54 +01:00
Oliver Sauder
f09a273ad7
Add publish output progress counting remaining number of packages
2022-01-27 09:30:14 +01:00
Oliver Sauder
208a2151c1
every go routine needs to have its own collection factory
...
this is needed so concurrent reads and writes are possible.
2022-01-27 09:30:14 +01:00
Andrey Smirnov
77d7c3871a
Consistently use transactions to update database
...
For any action which is multi-step (requires updating more than 1 DB
key), use transaction to make update atomic.
Also pack big chunks of updates (importing packages for importing and
mirror updates) into single transaction to improve aptly performance and
get some isolation.
Note that still layers up (Collections) provide some level of isolation,
so this is going to shine with the future PRs to remove collection
locks.
Spin-off of #459
2019-08-11 00:11:53 +03:00
Andrey Smirnov
f0a370db24
Rework HTTP downloader retry logic
...
Apply retries as global, config-level option `downloadRetries` so that
it can be applied to any aptly command which downloads objects.
Unwrap `errors.Wrap` which is used in downloader.
Unwrap `*url.Error` which should be the actual error returned from the
HTTP client, catch more cases, be more specific around failures.
2019-08-07 20:23:05 +03:00
Oliver Sauder
108b0ea226
Add support to mirror non package installer files
2018-07-06 15:02:37 +02:00
Andrey Smirnov
b8c5303fdb
Fix paths after repository transfer to aptly-dev
2018-04-18 21:19:43 +03:00
Andrey Smirnov
b7490fe909
Refactor to embed gocontext.Context into aptly context
2017-11-30 23:44:04 +03:00
Andrey Smirnov
15618c8ea8
Use Go context to abort gracefully mirror updates
...
There are two fixes here:
1. Abort package download immediately as ^C is pressed.
2. Import all the already downloaded files into package pool,
so that next time mirror is updated, aptly won't download them
once again.
2017-11-30 00:49:37 +03:00
Andrey Smirnov
01512df853
Rework mirror update to support closing/reoping DB for the download duration
...
This requires splitting up import file phase as separate step in then end,
it should be pretty fast, as it only does file move (hardlink) and
DB update for new checksums.
2017-04-26 23:17:04 +03:00
Andrey Smirnov
c1d4c0fb88
Temporarily disable db close/open cycle (to be addressed later)
2017-04-26 23:17:04 +03:00
Andrey Smirnov
5dd11a2ec2
Pull original packages when skipping existing packages
2017-04-26 23:17:04 +03:00
Andrey Smirnov
10c096fbb6
Update all other pieces for the CheckumStorage and Verify
2017-04-26 23:17:04 +03:00
Andrey Smirnov
c40025a335
Add progress bar on package saving progress
2017-04-26 23:17:03 +03:00
Andrey Smirnov
bc7903f86e
Rework mirror update (download packages) implementation
...
`PackageDownloadTask` is just a reference to file now. Whole process
was rewritten to follow pattern: download to temp location inside the pool,
verify/update checksums, import into pool as final step.
This removes a lot of edge cases when aptly internal state might be broken
if updating from rogue mirror.
Also this changes whole memory model: package list/files are kept in memory
now during the duration of `mirror update` command and saved to disk
only in the end.
2017-04-26 23:17:03 +03:00
Andrey Smirnov
72d233b587
Final round of updates, everything except mirror download should be ready
2017-04-26 23:17:03 +03:00
Andrey Smirnov
85b4a8b1ae
Add new option for detailed logging on dependency resolving
...
This adds command-line arg and config option, with option enabled
aptly is more verbose on internal depeendency resolving cycles:
```
Missing dependencies: file-rc (>= 0.8.16) [amd64], python:any (>= 2.7.1-0ubuntu2) [amd64], python3:any (>= 3.3.2-2~) [amd64], file-rc [amd64], perl (<< 5.17) [amd64], iptables-router (>= 1.2.3) [amd64], systemd [amd64], sgml-base (>= 1.26+nmu2) [amd64], sed (>= 4.1.2-8) [amd64]
Unsatisfied dependency: file-rc (>= 0.8.16) [amd64]
Unsatisfied dependency: python:any (>= 2.7.1-0ubuntu2) [amd64]
Unsatisfied dependency: python3:any (>= 3.3.2-2~) [amd64]
Unsatisfied dependency: file-rc [amd64]
Unsatisfied dependency: perl (<< 5.17) [amd64]
Unsatisfied dependency: iptables-router (>= 1.2.3) [amd64]
Unsatisfied dependency: systemd [amd64]
Injecting package: sgml-base_1.26+nmu4ubuntu1_all
Injecting package: sed_4.2.2-4ubuntu1_amd64
```
2017-03-28 22:58:07 +03:00
Clemens Rabe
aa16899c60
Adaption of tests.
2017-03-24 06:25:46 +01:00
Clemens Rabe
16a0d0d428
Added option --skip-existing-packages to speed up mirror update.
2017-03-23 22:01:11 +01:00
Clemens Rabe
66f51d2b17
Added option --skip-existing-packages to speed up mirror update.
2017-03-23 21:55:22 +01:00
Andrey Smirnov
11d828b3b1
Add govet/golint into Travis CI build
...
Fix current issues
2017-03-22 21:49:16 +03:00
Oliver Sauder
6becd5a3aa
Added max-tries flag for mirror update
2016-11-28 17:02:24 +01:00
Andrey Smirnov
8a787d2c35
Refactor by separating AptlyContext into separate package. #116
2014-10-06 21:54:15 +04:00
Andrey Smirnov
27de979733
More comments. #45 #114
2014-10-03 11:02:31 +04:00
Andrey Smirnov
ad11053412
Support for locking, unlocking, interruption, cleanup. #45 #114
2014-10-03 01:34:22 +04:00
Andrey Smirnov
a0870f6726
Refactor mirror download code, split it into separate methods. #45 #114
2014-10-02 19:30:37 +04:00
Andrey Smirnov
fe1046a7a3
Support for filters in mirror create/update/show. #64
2014-07-16 13:28:11 +04:00
Andrey Smirnov
9893e4af3d
Add flag to control downlod limit in aptly mirror update. #62
2014-07-13 16:11:18 +04:00
Andrey Smirnov
05a42f4cba
aptly exits with 2 on command/flag parse error. #52
2014-05-16 00:22:51 +04:00
Artem Yakimenko
d9f4686e2c
Fixing minor spelling/grammar issues in documentation.
2014-04-22 11:08:57 +04:00
Andrey Smirnov
2c3553ef0b
Major refactoring: access to context happens in methods. #13
2014-04-05 16:10:51 +04:00
Andrey Smirnov
f648c9547c
Support for switching to smira/commander with free placement of flags. #17
2014-04-03 00:16:18 +04:00
Andrey Smirnov
d84226a054
Switch to own fork of commander/flag.
2014-03-28 23:05:54 +04:00
Andrey Smirnov
1a60ac6aa0
Refactoring: use CollectionFactory instead of manual collection creation.
2014-03-25 14:59:26 +04:00
Andrey Smirnov
4c81f0f52a
Update integrated help.
2014-03-10 19:42:27 +04:00
Andrey Smirnov
8328c44c39
Use progress to output message to fix order of messages on screen.
2014-02-25 00:11:44 +04:00
Andrey Smirnov
66cf2fe53e
Split mirror subcommands into files.
2014-02-19 15:07:56 +04:00