Age | Commit message (Collapse) | Author |
|
|
|
The processing of them was implemented, but not the parsing...
|
|
Needed now that the comment contains a human-readable timestamp
|
|
We count the number of packages vaulted, not files
|
|
|
|
* calm/package.py (write_setup_ini): In addition to the epoch
timestamp write that time in a comment in human-readable form so
that it can be more easily deciphered.
|
|
We probably want to told when we are uploading a package which is
immediately going to be automatically removed as stale.
Uploading a package at the same time as a marking it for removal doesn't
make any sense, so report that as an error.
Update per-version testpackage to avoid this error.
|
|
Add an additional staleversion package to test the handling of stale
versions in the release area
|
|
Move stale package versions to the vault. A package version is not stale if
any of the following is true:
* The version is used as curr:, prev: or test: (due to either being
explictly listed in override.hint or implictly chosen)
* The version is listed as keep: in override.hint
* It's one of the highest n versions
* The first version which is less than t days old, and all higher versions.
where:
n is given by keep-count: in override.hint
t is given by keep-days: in override.hint
These tunables currently default to 0, so no more packages are kept than
would be kept by stalepkgs, although these defaults might change in future.
We track the freshness or staleness of install and source packages
separately. Unlike stalepkgs, a fresh empty install file does not cause the
corresponding source package to be considered fresh. Also remove any
pvr.hint which is stale.
Add the --no-stale option to disable.
First we check for stale pkgs in release area. stale pkgs arising due to
more fresh pckages being uploaded are reported as a part of the upload.
Avoid doing unnecessary work if nothing is stale.
Update tests
|
|
If there is an existing override.hint, it should be retained rather than be
discarded when there is an upload
|
|
Also check the setup.ini produced by the 'process' test against the expected output
|
|
Selection of the best version should take place after assuring there are
some versions, in case there are none.
|
|
|
|
|
|
|
|
Use the information from the 'best' version
(Previously we would have been using the same information from setup.hint
for all versions, so the precise version chosen perhaps doesn't make a big
difference)
|
|
|
|
Tests for packages with per-version and override hints
|
|
Update processing for the hints being stored for each package version,
rather than each package.
'skip' becomes a package flag, set if any version has it. (It doesn't seem
terribly useful to have this in the hint file, since it's implied by the
absence of any install tarfiles.)
When writing setup.ini
- sdesc:, ldesc:, category: and message: are taken from the curr version
- requires: is the union of all versions
- source: is controlled by external-source: per-version
|
|
For every package version, either setup.hint or pvr.hint must exist
Read version overrides from override.hint or setup.hint
Factor out reading hints and checking for errors in read_package
|
|
|
|
|
|
Fix reporting of problems with the package set after uploads are merged to
correctly identify the arch which has the problem.
|
|
If this option is specified, suppress warning that a package doesn’t
have a current version.
|
|
|
|
Also, make that check, and check for self-requires even if
-okmissing=required-package is used.
|
|
Don't import dirq unless we actually need it, i.e. if the experimental
option --queuedir is used.
Also remove dirq from setuptools requires
|
|
Permit the upload of a compressed empty file as a package file
Adjust a test pacakge to exercise that case
|
|
|
|
Report the offending packages if they aren't listed as past mistakes
|
|
Update tests appropriately:
- Remove naim test package, it's no longer valid
- Change to using arc package to test no sha512.sum behaviour
|
|
|
|
Removing a package doesn't make much sense currently.
We can't remove a package when it has been replaced by another one, all we
can do is replace it with an empty, obsolete one which depends on it's
replacement, so existing installs are updated to that.
Removing a package which is no longer relevant (i.e. an old soversion of a
shared library which has no users left) is permissible, but the files it
contains will linger forever in any existing installs.
|
|
This was an experiment
|
|
Fix the check if an uploaded file already exists in the release area.
This was broken by noarch changes.
|
|
Log an error if we need to access a package file in the release area which
isn't a valid compressed archive. Ideally, we'd use tarfile.is_tarfile() to
check that, but that can propagate exceptions from the decompressor.
(Perhaps we should also ignore these invalid files, but I'm not sure that is
a good idea.)
Note that we avoid opening the package files in the release area unless
unavoidable, as it's expensive. Validating a tar file involves reading the
entire file.
Always validate uploaded package files, and reject attempts to upload such
invalid files
Add appropriate tests
|
|
|
|
For noarch, we moved to a single timestamp per maintainer, but still reset
it if it wasn't checked for an individual arch
Pull the timestamp updating out to the maintainer class, so we can only
reset it if there were no reminders for any arch
|
|
|
|
Rather than adding a hint to indicate that a package is on the self-source
list and then later checking for that hint, directly check if it's on the
self-source list.
|
|
Rearrange file layout for python packaging
Add setup.py
Use python3 style relative imports
Add calm and mksetupini script entry points
Fix tests to locate testdata in the same directory
|
|
The versions containing hyphens are no longer present.
|
|
- Unfold process() as we need to validate both x86 and x86_64 before we can
move uploaded noarch packages to relarea
- Add arch as an argument to upload.scan(), package.write_setup_ini(),
pkg2html.update_package_listing() etc. rather than passing it around in args
- Use paths relative to relarea, rather than relarea/arch
- Generalize package merge to merge more than 2 sets of packages
- Remove uploads-scan script used in working-up
- Move the !reminder-timestamp file up to maintainer home dir
- Add a noarch package to testdata
- Update tests
|
|
|
|
Don't consider empty install packages as using any source they refer to, so
source files which are only used by empty install packages are reported as
effectively unused.
Log rather than throwing an exception when writing setup.ini in the
unexpected situation where an external-source is expected to exist, but
doesn't.
Add more reasonable test packages for keychain.
Update tests appropriately.
|
|
Remove filenames containing glob metacharacters aren't supported, it's
unclear that they ever actually worked correctly, and they are very hard to
implement safely. Report an erorr if an attempt is made to use them.
Also report an error if the remove file isn't empty
|
|
* _autorebase has a source package
* terminfo no longer has a hyphen in it's version
|
|
Even if the maintainer is just removing packages, we still have something to
do.
|
|
|
|
Also rename testdata/x86.hints to testdata/hints/x86
|