Commit Graph
2738 Commits
Author SHA1 Message Date
Oliver Sauder 1e9c032072 Merge pull request #774 from nuclearsandwich/update-contributing-docs
Use github.com/aptly-dev/aptly as the go package path.
2018-09-13 08:42:58 +02:00
Steven! Ragnarök c741cca5f2 Use github.com/aptly-dev/aptly as the go package path.
Without this change the first time setup instructions fail at the `make install` stage.
2018-09-13 00:21:14 -04:00
Andrey Smirnov 72ff71f59c Merge pull request #766 from aptly-dev/761-more-lazy
Reimplement DB collections for mirrors, repos and snapshots
2018-08-21 17:00:08 +03:00
Andrey Smirnov 699323e2e0 Reimplement DB collections for mirrors, repos and snapshots
See #765, #761

Collections were relying on keeping in-memory list of all the objects
for any kind of operation which doesn't scale well the number of
objects in the database.

With this rewrite, objects are loaded only on demand which might
be pessimization in some edge cases but should improve performance
and memory footprint signifcantly.
2018-08-21 01:08:14 +03:00
Andrey Smirnov fb5985bbbe Merge pull request #767 from aptly-dev/fix-sys-test-take-N
Fix system tests on `master` branch
2018-08-20 17:55:54 +03:00
Andrey Smirnov 5a9f4bee12 Fix system tests on master branch 2018-08-17 18:11:49 +03:00
Andrey Smirnov 4717793d8e Merge pull request #765 from aptly-dev/761-lazy-iteration
Implement lazy iteration (ForEach) over collections
2018-08-16 16:44:05 +03:00
Andrey Smirnov de38011dd2 Add simple benchmark for SnapshotCollection.ForEach() 2018-08-14 00:56:15 +03:00
Andrey Smirnov 0f4bbc4752 Implement lazy iteration (ForEach) over collections
See #761

aptly had a concept of loading small amount of info per each object
into memory once collection is accessed for the first time.

This might have simplified some operations, but it doesn't scale well
with huge aptly databases.

This is just intermediate step towards better memory management -
list of objects is not loaded unless some method is called.
`ForEach` method (mainly used in cleanup) is reimplemented to
iterate over database without ever loading all the objects into memory.

Memory was even worse with previous approach, as for each item usually
`LoadComplete()` is called, which pulls even more data into memory
and item stays in memory till the end of the iteration as it is referenced
from `collection.list`.

For the subsequent PR: reimplement `ByUUID()` and probably other methods
to avoid loading all the items into memory, at least for all the collecitons
except for published repos. When published repository is being loaded, it
might pull source local repo which in turn would trigger loading for all the
local repos which is not acceptable.
2018-08-04 00:26:02 +03:00
Andrey Smirnov 86a1c41e5d Merge pull request #762 from aptly-dev/761-flush-collections
Lower memory usage for `aptly db cleanup`
2018-08-01 00:29:18 +03:00
Andrey Smirnov 021b8c4cff Lower memory usage for aptly db cleanup
This is not a complete fix, but the easiest first step.

During `db cleanup`, aptly is loading every repo/mirror/... into memory,
and even though each object is processed only once, collection holds
a reference to all the loaded objects, so they won't be GC'd until
process exits.

CollectionFactory.Flush() releases pointers to collection objects,
making objects egligble for GC.

This is not a complete fix, as during iteration we could have tried
to release a link to every object being GCed and that would have
helped much more.
2018-07-20 01:04:51 +03:00
Andrey Smirnov bcacb7b7f0 Merge pull request #760 from aptly-dev/756-fix
Keep checksum of not compressed index file even if it's not uploaded
2018-07-16 23:50:48 +03:00
Andrey Smirnov 747b9752ce Keep checksum of not compressed index file even if it's not uploaded
Fixes: #756
2018-07-14 00:17:36 +03:00
Andrey Smirnov b0be6c8a7a Merge pull request #755 from aptly-dev/gpg2-gpg1
Unit tests for PGP signing/verification
2018-07-11 19:19:37 +03:00
Andrey Smirnov 58c7358113 Unit tests for PGP signing/verification
These unit-tests cover operations via both PGP providers:
built-in `openpgp` and external `gpg`.

Next step is to run these tests for gpg1 & gpg2
as separate entities.
2018-07-11 01:07:13 +03:00
Oliver Sauder b1a2523ef0 Add unit test for remote and http 2018-07-06 15:02:37 +02:00
Oliver Sauder b7323db31b Add detached signature to installer hashsum file 2018-07-06 15:02:37 +02:00
Oliver Sauder 2e52692ba6 Test LinkFromPool with nested filenames 2018-07-06 15:02:37 +02:00
Oliver Sauder 0075ead526 Simplify package function signature LinkFromPool 2018-07-06 15:02:37 +02:00
Oliver Sauder 6df4a746f1 Clarify doc strings 2018-07-06 15:02:37 +02:00
Oliver Sauder 074904ee92 Allow editing of with-installer mirror flag 2018-07-06 15:02:37 +02:00
Oliver Sauder 108b0ea226 Add support to mirror non package installer files 2018-07-06 15:02:37 +02:00
aviau c9f52ab9f4 combine autodep8 and autopkgtest 2018-06-29 18:11:55 -04:00
aviau c44eb676b0 Combine autodep8 and autopkgtest 2018-06-27 13:32:17 -04:00
aviau d29fbb8acf aptly test: allow-stderr 2018-06-26 23:28:52 -04:00
aviau 1566f9a229 fix broken autopkgtest 2018-06-26 23:20:02 -04:00
aviau b65434650c depend on gpgv1 2018-06-26 23:10:31 -04:00
aviau 4ba3e0b941 s/UNRELEASED/unstable/ 2018-06-26 23:01:49 -04:00
aviau 535d7149bd Fix unnecessary-testsuite-autopkgtest-field 2018-06-26 22:58:48 -04:00
aviau e8df80555c Fix syntax-error-in-dep5-copyright 2018-06-26 22:12:45 -04:00
Sébastien Delafond d978ae5a15 Update changelog for 1.3.0-4 release 2018-06-26 14:24:57 +02:00
Sébastien Delafond 8de7940335 Depend on gnupg1 (Closes: #902419) 2018-06-26 14:23:38 +02:00
Sebastien Delafond b6a1adf90e Merge branch 'master' into 'debian/master'
autopkgtest and gitlab-ci

See merge request debian/aptly!3
2018-06-26 12:15:52 +00:00
Hans-Christoph Steiner 910b969894 add debian/.gitlab-ci.yml 2018-06-26 13:06:53 +02:00
Hans-Christoph Steiner 476f17b84c add simple autopkgtest 2018-06-26 13:06:53 +02:00
Hans-Christoph Steiner 1fe6cbdb4c point debian/watch to new git repo on GitHub 2018-06-26 13:06:53 +02:00
Sébastien Delafond fb9f92e99e Document #902128 in debian/copyright 2018-06-26 10:39:12 +02:00
Sébastien Delafond 056182923a Target unstable 2018-06-25 14:52:03 +02:00
Sebastien Delafond be0e5f1dad Merge branch 'aptly-api' into 'debian/master'
create aptly-api package

See merge request debian/aptly!2
2018-06-25 12:48:41 +00:00
Andrey Smirnov 9a704de43b Merge pull request #754 from aviau/lzma
switch to packaged lzma package
2018-06-23 00:58:50 +03:00
aviau 5add1af33b create aptly-api package 2018-06-22 15:58:42 -04:00
aviau 7dfc12d138 switch to packaged lzma package 2018-06-22 12:44:23 -04:00
Sébastien Delafond bda3b8dad2 Merge remote-tracking branch 'salsa/dh-golang' into debian/master 2018-06-22 13:55:20 +02:00
Harald Sitter 9000446663 Merge pull request #753 from aviau/official-uuid
dep: use official uuid package
2018-06-22 11:14:35 +02:00
aviau 814ac6c28c dep: use official uuid package 2018-06-21 16:12:45 -04:00
aviau 5679b4b1db switch to dh_golang 2018-06-21 15:09:32 -04:00
Sébastien Delafond 7730890e7c Update changelog for 1.3.0-1 release 2018-06-21 16:09:01 +02:00
Sébastien Delafond 7d2ddd44c0 Bump-up Standards-Version 2018-06-21 16:09:01 +02:00
Sébastien Delafond ba8c42d70b Now hosted at https://github.com/aptly-dev/aptly 2018-06-21 16:07:02 +02:00
Sébastien Delafond 09ad0121c6 New upstream version 1.3.0 2018-06-21 16:07:02 +02:00