Andrey Smirnov
51213899b7
More Go linters enabled, issues fixed
...
Ref: #528
Enables "staticcheck", "varcheck", "structcheck", "aligncheck"
2017-05-03 18:23:14 +03:00
Andrey Smirnov
bae3f949b4
Enable gosimple and ineffasign linters
2017-04-27 18:34:30 +03:00
Andrey Smirnov
186bb2dff0
Add flag to disable/enable support for legacy pool paths
...
Legacy pool paths are enabled by default, but for new aptly installations
(when aptly config is first generated), it would be disabled explicitly.
2017-04-26 23:37:31 +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
b48e8425ec
Fix bug with file not being updated properly
2017-04-26 23:17:04 +03:00
Andrey Smirnov
3ce8227122
Add baseName to LinkFromPool as explicit argument
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
6994e35119
ChecksumCollection implementation
2017-04-26 23:17:04 +03:00
Andrey Smirnov
4eedb62418
Fix misspelling
2017-04-26 23:17:04 +03:00
Andrey Smirnov
1f3cb2db5d
When downloading/importing packages, enforce all checksums
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
8dc6a14766
Allow snapshot to be created from empty local repo
...
Fixes #288
2017-04-26 00:33:09 +03:00
Clemens Rabe
25f9c29f00
Implemented filesystem endpoint with support for hardlinks, symlinks and copy.
2017-04-13 20:25:40 +02:00
Andrey Smirnov
60800b5f25
Fix temporary contents DB being left behind after publishing
...
NB: Go `defer` order execution is reverse to the order `defer` statements
are executed.
So before the change, `Drop()` was called before `Close()`, which was no-op.
Change that to explicit order in single func, print errors if they happen.
2017-04-10 23:43:33 +03:00
Andrey Smirnov
50cf2b49bd
Refactoring: use checksums instead of MD5 for pool/published
...
This is related to #506
As a first step, don't pass MD5 explicitly, pass checksum info object,
so that as a next step we can choose which hash to use.
There should be no functional changes so far.
Next step: stop returning explicit paths from public package pool.
2017-04-01 00:12:31 +03:00
Andrey Smirnov
bc469eecfb
Merge branch 'master' into dep-verbose-resolve
2017-03-31 19:17:57 +03:00
Andrey Smirnov
7a5be6736d
When contents generation fails, don't bail out
...
This replaces `panic` which aborts aptly execution with warning
message on console. So aptly continues publishing actions, but
`Contents` indexes might be incomplete.
Error will be printed every time contents generation is triggered.
2017-03-31 00:57:18 +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
Andrey Smirnov
800c5c1e06
Merge branch 'master' into feature_skip_existing_packages_latest
2017-03-28 21:26:28 +03:00
Andrey Smirnov
2943422d5d
Automatic versioning for aptly
...
New version format:
* for releases, `x.y.z` (follows tag without leading `v`)
* for nightly builds, `x.y.z+N+hash` (previous version, not the upcoming one)
This means that each nightly build `aptly` would report
correct version now.
Version is now complied into the aptly binary, system tests
automatically check for current version, no need to update them
anymore.
2017-03-25 00:18:45 +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
516dd7b044
Switch to gometalinter
...
Only small amount of required checks is enabled,
plan is to enable more linters as issues are fixed in the code.
2017-03-23 01:51:08 +03:00
Andrey Smirnov
11d828b3b1
Add govet/golint into Travis CI build
...
Fix current issues
2017-03-22 21:49:16 +03:00
Raphael Medaer
bfb9ffad1d
Added expected error on 'Packages.xz' for TestDownload[WithSources]Flat.
2017-03-16 22:41:25 +03:00
Szymon Sobik
b8e7ad9022
update changes unit test to account for dbgsym matching
2017-03-08 10:32:11 +01:00
Szymon Sobik
1b80d55ea4
since -dbgsym is for each binary package use that for PackageQuery
2017-03-08 10:31:44 +01:00
Szymon Sobik
a0832adfa5
include dbgsym packages
...
fixes #331
2017-03-07 17:06:59 +01:00
Andrey Smirnov
4c06e26d85
Throttle compaction on temporary DB
2017-02-23 01:01:17 +03:00
Andrey Smirnov
f2dc4eeec9
Generating contents indexes via temporary LevelDB
2017-02-21 19:09:51 +03:00
Andrey Smirnov
33d6cd8c0a
Allow filter to be empty for aptly * search commands
...
Empty filter implies "select all packages".
2017-02-10 23:07:06 +03:00
Andrey Smirnov
c75d4c749c
Add workaround for reading data.tar.gz as data.tar
...
It seems that in the wild there are .deb package which have
`data.tar.gz` which is actually `.tar` archive.
Add magic detection based on signature.
2017-01-24 19:30:53 +03:00
jolo
b0ab39e07f
Manually undo unintended changes
2017-01-20 02:19:44 +01:00
jola5
4bf27d1dae
Merge branch 'master' into master
2017-01-19 23:07:49 +01:00
Andrey Smirnov
d5df049630
Sort paths when generating checksums for Release/InRelease
2017-01-18 23:50:22 +03:00
jolo
91561b40f6
Change 'vertical' argument to a more generic 'layout', fix api
2017-01-16 22:13:13 +01:00
jolo
0e8ea6363a
Support vertical graph layouts
2017-01-14 02:18:56 +01:00
Oliver Sauder
f31b5ec3f8
Adjusted test with new maxTries param for download
2016-11-28 17:02:24 +01:00
Oliver Sauder
6becd5a3aa
Added max-tries flag for mirror update
2016-11-28 17:02:24 +01:00
Oliver Sauder
fcd4429370
only create bzip file if needed. #415
2016-10-13 13:48:28 +02:00
Daniel Stelter-Gliese
1c45c79cc1
Allow overriding architecture info from Release file
...
Adds a flag -force-architectures to ignore missing architectures from
mirrors. This flag can be used in cases where the mirrored repository
does not provide an "Architecture: " line.
Example Release file:
http://mitaka-jessie.pkgs.mirantis.com/debian/dists/jessie-mitaka-backports/Release
2016-05-16 03:25:00 +02:00
Andrey Smirnov
aa53b8da15
Go 1.6.
2016-04-18 12:47:00 +03:00
Andrey Smirnov
d7665119e4
Few more fixes.
2016-03-28 13:44:19 +03:00
Andrey Smirnov
587086beb4
Misc style and simple mistakes fixes.
2016-03-28 13:34:05 +03:00
Andrey Smirnov
644d24d1cc
Attempt to lower memory usage when publishing with contents.
2016-03-28 13:28:26 +03:00
Andrey Smirnov
ff52d2655a
Fix package search missing duplicate packages. #225
...
Implement package list with duplicate entries, use it when
initiating search from PackageCollection.
2016-03-22 12:23:13 +03:00