| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updating the ChangeLog file may be desirable in more repos than just the
one named 'gentoo', like e.g. the Prefix one. Hence, make this default
configurable though metadata/layout.conf.
This commit must go accompanied by a commit to
gentoo-x86/metadata/layout.conf that adds the following bit:
# Bug #337853 - gentoo's council says to enable
# --echangelog by default for the "gentoo" repo
update-changelog = true
|
| |
|
|
|
|
|
| |
Allows forced ChangeLog generation even when the vcs has detected that
the ChangeLog has already been modified.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instead of calling echangelog, which on its turn has to query the VCS
again, use the existing information on changes made to the current
directory, and update the ChangeLog from Python itself.
This avoids a call to echangelog, and avoids again retrieving the same
VCS information as repoman already did. It makes repoman independent
from external tools it didn't install itself, and should be faster in
general.
|
| |
|
|
|
|
|
|
| |
Also, copy repoman_settings.categories to each individual
profile's dep_settings.categories attribute, in order to ensure
that portdbapi.cp_list() uses the correct category set.
|
| |
|
| |
|
|
|
|
|
| |
We can re-use the vcs_files_to_cps() function from commit
9c9145a9e3c2d8d1bcebf791ce2188add656fee2.
|
|
|
|
| |
Avoid unnecessary nested loops.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This option will call echangelog for each package that has modified
files and does not have a modified ChangeLog. Gentoo's council has
decided that this option will be enabled by default for the "gentoo"
repository. If desired, we can add a metadata/layout.conf setting so
that other repositories can control the default behavior.
|
| |
|
|
|
|
|
|
|
| |
This fixes _getMaskAtom to work correctly with the repo atoms that are
generated by MaskManager, solving the issue reported here:
https://github.com/cschwan/sage-on-gentoo/issues/90#issuecomment-2324953
|
|
|
|
|
|
|
|
| |
If we unconditionally exclude myremoved from myupdates, then removed
files will also be excluded from myheaders. This allows us to avoid
unnecessary separate manifest commits in cases when "myheaders" only
contained files that were being removed. Since our code always uses
myupdates + myremoved, this change in logic doesn't break anything.
|
|
|
|
|
| |
Don't populate the "myheaders" variable when we have thin-manifests
that contain only DIST entries.
|
|
|
|
| |
bug #340475.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This removes a special case where manifests would first be commited
without signatures for category-level or greater commits. This case
behavior wasn't very useful anyway, and would be a problem if the
unsigned manifests got rejected by a commit hook (as may happen in the
near future).
|
|
|
|
|
|
| |
Also, make repoman cache IUSE, since that's required for _match_use to
work effciently. This will eliminate lots of redundant aux_get calls
for repoman, triggered by USE deps.
|
| |
|
|
|
|
| |
This will fix bug #383269.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This allows repos to disable manifest signatures, which is useful if
they want to prevent merge conflicts like those that thin-manifests is
designed to prevent.
|
|
|
|
|
| |
Thin manifests imply reliance on the VCS for file integrity,
which implies that manifest signatures are not needed.
|
|
|
|
|
| |
This enables controling the behaviour (creation and validation) per
repo, and while mildly ugly, refactors in the right direction.
|
| |
|
|
|
|
| |
This solves the issues discussed in bug #381087, comment #8.
|
|
|
|
| |
This will fix bug #381087.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This is useful if you want to do a repo-level or category-level commit
but you only want to run checks for the packages that have uncommitted
modifications.
|
|
|
|
|
|
|
|
| |
Since the io module in python-2.6 was broken when threading was
disabled, we needed to fall back from io.StringIO to StringIO.StringIO
in this case (typically just for Gentoo's stage1 and stage2 tarballs).
Now that python-2.7 is stable in stages and we rely on io.open() being
available, we can also rely on io.StringIO being available.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The io.open() function is the same as the built-in open() function in
python3, and its implementation is optimized in python-2.7 and later.
In addition to the possible performance improvement, this also allows
us to avoid any future compatibility issues with codecs.open() that
may arise if it is delegated to the built-in open() function as
discussed in PEP 400.
The main caveat involved with io.open() is that TextIOWrapper.write()
raises TypeError if given raw bytes, unlike the streams returned from
codecs.open(). This is mainly an issue for python2 since literal
strings are raw bytes. We handle this by wrapping TextIOWrapper.write()
arguments with our _unicode_decode() function. Also, the
atomic_ofstream class overrides the write() method in python2 so that
it performs automatic coercion to unicode when necessary.
|
|
|
|
|
| |
The ElementTree.ParseError class is undocumented and isn't available
in python-2.6, so use its SyntaxError base class instead.
|
| |
|
|
|
|
|
| |
This checks for a dependency that refers to an unknown package (which
may be provided by an overlay), as requested in bug #372789.
|
|
|
|
| |
This will fix bug #371987.
|
| |
|