Martin von Gagern [Wed, 26 Oct 2011 21:49:36 +0000 (14:49 -0700)]
Bug #388615 - optimize FEATURES=prelink-checksums
Only spawn prelink if the file has an ELF header.
Zac Medico [Wed, 26 Oct 2011 18:13:27 +0000 (11:13 -0700)]
UpdateChangeLog: sort files
Zac Medico [Tue, 25 Oct 2011 22:52:59 +0000 (15:52 -0700)]
layout.conf: rename cache_format to cache_formats
We read layout.conf cache-formats from left to right and use the first
supported type that's found. This will allow support for multiple
formats in parallel, providing for smooth transitions between formats.
Brian Harring [Tue, 25 Oct 2011 05:41:17 +0000 (22:41 -0700)]
add profile-formats portage-1 awareness and enforcement
Currently it just spits warnings for implicit portage-1 format usage;
down the line, this will be converted into an explicit error.
For repo's that configure themselves as portage-1 or pms explicitly, enforce
it.
Brian Harring [Tue, 25 Oct 2011 05:40:16 +0000 (22:40 -0700)]
layout.conf: add profile-format awareness
Note the portage-1-compat mode; this isn't settable externally, is
purely an internal mode for tracking if a repository is in portage-1
compat mode, rather than explicit portage-1 mode.
This compat mode will be removed once portage becomes strict.
Brian Harring [Tue, 25 Oct 2011 05:37:34 +0000 (22:37 -0700)]
Track profile format, and if compatibility mode is in use.
Warn if the profile is using portage-1 format, but isn't marked as such.
Brian Harring [Tue, 25 Oct 2011 00:38:33 +0000 (17:38 -0700)]
split out layout.conf parsing so it's usable elsewhere
Zac Medico [Tue, 25 Oct 2011 19:52:40 +0000 (12:52 -0700)]
runtests.sh: fix arguments pass-through
Zac Medico [Tue, 25 Oct 2011 16:41:15 +0000 (09:41 -0700)]
test_config: test PORTDIR default masters
Zac Medico [Tue, 25 Oct 2011 14:51:26 +0000 (07:51 -0700)]
expand_new_virt: fix vardbapi.root reference
Zac Medico [Tue, 25 Oct 2011 08:59:39 +0000 (01:59 -0700)]
Use EROOT instead of ROOT for keys everywhere.
It makes more sense to use EROOT instead of ROOT for keys in mappings
like portage.db, since it allows for multiple prefixes to exist
simultaneously within the same map without having a key collision.
This affects all portageq commands which take a <root> parameter, since
that parameter now corresponds to EROOT instead of ROOT. None of this
makes any difference for non-prefix users, since EROOT and ROOT are
identical when EPREFIX is empty.
Zac Medico [Tue, 25 Oct 2011 08:25:24 +0000 (01:25 -0700)]
create_trees: save target_root for later use
Zac Medico [Tue, 25 Oct 2011 08:09:26 +0000 (01:09 -0700)]
ResolverPlayground: use create_trees
Zac Medico [Tue, 25 Oct 2011 06:42:51 +0000 (23:42 -0700)]
runtests.sh: add --python-versions option
Zac Medico [Tue, 25 Oct 2011 06:27:58 +0000 (23:27 -0700)]
tests/emerge: test pkg_config and pkg_info
Zac Medico [Tue, 25 Oct 2011 06:18:42 +0000 (23:18 -0700)]
Remove unused root parameters from doebuild calls
Zac Medico [Tue, 25 Oct 2011 00:15:51 +0000 (17:15 -0700)]
tests/emerge: test file owner lookup
Zac Medico [Mon, 24 Oct 2011 22:26:35 +0000 (15:26 -0700)]
doebuid: deprecate redundant "root" parameter
Zac Medico [Mon, 24 Oct 2011 17:54:48 +0000 (10:54 -0700)]
deprecate "root" attributes
In preparation for prefix support, were EROOT will be used in place of
ROOT in many places, deprecate unnecessary "root" attributes in order
to eliminate them as a possible source of confusion.
Zac Medico [Sun, 23 Oct 2011 22:23:25 +0000 (15:23 -0700)]
test_global_updates: test move with operator
Zac Medico [Sun, 23 Oct 2011 22:17:10 +0000 (15:17 -0700)]
test_global_updates: add missing Atom constructor
Zac Medico [Sun, 23 Oct 2011 22:15:34 +0000 (15:15 -0700)]
test bug #388187
Zac Medico [Sun, 23 Oct 2011 21:12:40 +0000 (14:12 -0700)]
man/repoman.1: reference changelog/layout.conf
Zac Medico [Sun, 23 Oct 2011 18:51:43 +0000 (11:51 -0700)]
Skip global updates prior to sync (called after).
Zac Medico [Sun, 23 Oct 2011 18:31:05 +0000 (11:31 -0700)]
parse_updates: filter invalid for bug #388187
Zac Medico [Fri, 21 Oct 2011 08:50:06 +0000 (01:50 -0700)]
man/portage.5: layout.conf update-changelog
Zac Medico [Fri, 21 Oct 2011 08:11:32 +0000 (01:11 -0700)]
UpdateChangeLog: tweak clold_lines logic
There are two cases here that have to be mutually exclusive.
Zac Medico [Fri, 21 Oct 2011 07:37:32 +0000 (00:37 -0700)]
update_copyright: make pretend a keyword arg
Zac Medico [Fri, 21 Oct 2011 07:19:48 +0000 (00:19 -0700)]
_update_copyright_year: optimize no-match case
Zac Medico [Fri, 21 Oct 2011 07:06:32 +0000 (00:06 -0700)]
update_copyright: process files as raw bytes
This function will work correctly with files encoded in any character
set, as long as the copyright statements consist of plain ASCII.
Zac Medico [Fri, 21 Oct 2011 06:06:33 +0000 (23:06 -0700)]
UpdateChangeLog: split out/test copyright regex
This also fixes a case where something like "Copyright 2011 " would be
replaced with "Copyright 2011-2011 ".
Zac Medico [Fri, 21 Oct 2011 04:53:14 +0000 (21:53 -0700)]
UpdateChangeLog: tweak new/changed coded
Zac Medico [Fri, 21 Oct 2011 04:07:34 +0000 (21:07 -0700)]
UpdateChangeLog: split out get_committer_name()
Zac Medico [Fri, 21 Oct 2011 02:19:28 +0000 (19:19 -0700)]
misc-functions.sh: condense world-writable output
Zac Medico [Fri, 21 Oct 2011 01:26:05 +0000 (18:26 -0700)]
UpdateChangeLog: handle edge cases
This should handle all kinds of variance in the input ChangeLog and
skel.ChangeLog.
Zac Medico [Thu, 20 Oct 2011 21:51:05 +0000 (14:51 -0700)]
UpdateChangeLog: don't hardcode 1999 copyright
We want repoman to be applicable to as many repositories as possible.
If necessary, we can add another layout.conf attribute that configures
the copyright start years for all files.
Zac Medico [Thu, 20 Oct 2011 21:29:23 +0000 (14:29 -0700)]
update_copyright: remove stray semicolon
Zac Medico [Thu, 20 Oct 2011 21:26:26 +0000 (14:26 -0700)]
update_copyright: don't hardcode 1999 start year
We want repoman to be applicable to as many repositories as possible.
If necessary, we can add another layout.conf attribute that configures
the copyright start years for all files.
Zac Medico [Thu, 20 Oct 2011 21:18:34 +0000 (14:18 -0700)]
tests/repoman: add skel.ChangeLog
Fabian Groffen [Thu, 20 Oct 2011 20:40:06 +0000 (22:40 +0200)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Fabian Groffen [Thu, 20 Oct 2011 20:39:38 +0000 (22:39 +0200)]
UpdateChangeLog: fix whitespace
Fabian Groffen [Thu, 20 Oct 2011 20:38:00 +0000 (22:38 +0200)]
repoman: update copyright on modified files
To retain the behaviour of echangelog, update the copyrights on modified
files (mostly ebuilds) when necessary. Also update the ChangeLog's
copyright.
Fabian Groffen [Thu, 20 Oct 2011 20:35:41 +0000 (22:35 +0200)]
repoman: get ChangeLog header from skel.ChangeLog
Use skel.ChangeLog from the repo to create the header of a new ChangeLog
file. Else, we just retain the original header of the ChangeLog. When
no skel.ChangeLog file exists, and this is a new ChangeLog, no header is
used.
Zac Medico [Thu, 20 Oct 2011 20:09:11 +0000 (13:09 -0700)]
tests/repoman: use layout.conf update-changelog
Zac Medico [Thu, 20 Oct 2011 19:10:50 +0000 (12:10 -0700)]
UpdateChangeLog: time in UTC
Fabian Groffen [Thu, 20 Oct 2011 16:58:04 +0000 (18:58 +0200)]
repoman: get default to update changelog from layout.conf
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
Zac Medico [Thu, 20 Oct 2011 16:29:46 +0000 (09:29 -0700)]
depgraph: fix installed masked warning
This warning has been broken since commit
5f65c2294df592a6a4e0f0fff0bedec49ed3491a.
Zac Medico [Thu, 20 Oct 2011 14:16:50 +0000 (07:16 -0700)]
misc-functions.sh: move sleep out of loop
Having sleep in the world-writable loop causes riduculous delays for
prefix users with exotic filesystem constraints (like a FAT filesystem
mounted with umask=000).
Zac Medico [Wed, 19 Oct 2011 21:32:40 +0000 (14:32 -0700)]
resolver/output: use set for myfetchlist hashing
Zac Medico [Wed, 19 Oct 2011 21:25:35 +0000 (14:25 -0700)]
resolver/output: display binary fetch size
Zac Medico [Wed, 19 Oct 2011 21:19:09 +0000 (14:19 -0700)]
Add bindbapi.getfetchsizes() like pordbapi has.
Zac Medico [Tue, 18 Oct 2011 07:22:33 +0000 (00:22 -0700)]
/etc/portage/modules: warn about metadata_overlay
This module is an alias for flat_hash now, and hasn't been useful
since FEATURES=metadata-transfer was disabled by default in commit
81db3e467cd7f8bb94fcdf96d5fb4acf27bf382b.
Zac Medico [Tue, 18 Oct 2011 06:27:46 +0000 (23:27 -0700)]
load_best_module: tweak metadata_overlay fallback
Zac Medico [Tue, 18 Oct 2011 06:05:09 +0000 (23:05 -0700)]
python3.2 fixes: "ResourceWarning: unclosed file"
Zac Medico [Tue, 18 Oct 2011 05:45:13 +0000 (22:45 -0700)]
python3.2 fixes: "ResourceWarning: unclosed file"
Zac Medico [Tue, 18 Oct 2011 05:37:11 +0000 (22:37 -0700)]
tests/repoman: fix 'unknown revision' git msgs
Zac Medico [Tue, 18 Oct 2011 05:26:27 +0000 (22:26 -0700)]
Fix serialize_eclasses = False in cache template.
This fixes volatile cache validation that did not get fixed in commit
a63c163a50bf8a4e5ca8673cd8bebae29c36643a. Now all volatile cache
problems that have been introduced since commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212 should be fixed.
Zac Medico [Mon, 17 Oct 2011 23:08:44 +0000 (16:08 -0700)]
portdbapi: fix volatile cache handling
The metadata_overlay usage, that was triggered automatically for users
without depcachedir write access, has been broken since commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212. The metadata_overlay class
is not compatible with the new validation code, so remove it. If users
have metadata_overlay configured as their cache module, fall back to
flat_hash.
Zac Medico [Mon, 17 Oct 2011 21:42:09 +0000 (14:42 -0700)]
eclass_cache: fix volatile cache DigestException
The deepcopy in catch/volatile.py misbehaved when it tried to copy
attributes like __DEEPCOPY__ that didn't correspond to known functions.
Zac Medico [Mon, 17 Oct 2011 15:53:29 +0000 (08:53 -0700)]
UpdateChangeLog: use struct_passwd attributes
Zac Medico [Mon, 17 Oct 2011 05:44:08 +0000 (22:44 -0700)]
tests/repoman: fix manifests before adding to git
Zac Medico [Mon, 17 Oct 2011 05:20:10 +0000 (22:20 -0700)]
portdbapi.aux_get: remove redunant EAPI code
This code only needs to exist in _metadata_callback.
Zac Medico [Mon, 17 Oct 2011 04:22:18 +0000 (21:22 -0700)]
repoman: support --echangelog=force
Allows forced ChangeLog generation even when the vcs has detected that
the ChangeLog has already been modified.
Zac Medico [Mon, 17 Oct 2011 03:45:10 +0000 (20:45 -0700)]
UpdateChangeLog: show trivial if nothing else
Like echangelog does, show ChangeLog or Manifest if there are no other
changes to display.
Zac Medico [Mon, 17 Oct 2011 03:03:25 +0000 (20:03 -0700)]
perform_checksum: OSerror to PermissionDenied
Zac Medico [Mon, 17 Oct 2011 03:00:08 +0000 (20:00 -0700)]
hashed_path: convert OSError to PermissionDenied
Zac Medico [Mon, 17 Oct 2011 02:56:01 +0000 (19:56 -0700)]
man/repoman.1: update date in header
Zac Medico [Mon, 17 Oct 2011 02:51:00 +0000 (19:51 -0700)]
repoman: handle subprocess bug with Python 3.1
Zac Medico [Mon, 17 Oct 2011 02:34:19 +0000 (19:34 -0700)]
tests/repoman: test commit with git
These tests only run if the git binary is found. They include testing
of new --echangelog=y option.
Zac Medico [Mon, 17 Oct 2011 01:46:41 +0000 (18:46 -0700)]
tests/emerge: test --regen and --metadata
Zac Medico [Mon, 17 Oct 2011 01:11:22 +0000 (18:11 -0700)]
UpdateChangeLog: update copyright year in header
This feature got dropped on commit
b655137b7b5f87c11a7e742b7ef0e028a1139677.
Zac Medico [Mon, 17 Oct 2011 00:39:47 +0000 (17:39 -0700)]
repoman: simplify autoadd code
Zac Medico [Mon, 17 Oct 2011 00:11:08 +0000 (17:11 -0700)]
UpdateChangeLog: optimize and add unicode support
Also:
* copy the old header from the old ChangeLog if it exists, in case it
contains a non-gentoo header
* don't add a header if the old ChangeLog exists and doesn't contain
a header
Fabian Groffen [Sun, 16 Oct 2011 22:31:07 +0000 (15:31 -0700)]
repoman: implemented echangelog functionality
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.
Zac Medico [Sun, 16 Oct 2011 21:13:45 +0000 (14:13 -0700)]
hashed_path: convert stat OSError to FileNotFound
This makes it consistent with perform_checksum call which also raises
FileNotFound instead of OSError.
Zac Medico [Sun, 16 Oct 2011 20:26:46 +0000 (13:26 -0700)]
EbuildMetadataPhase: avoid redundant EAPI parsing
Zac Medico [Sun, 16 Oct 2011 19:44:11 +0000 (12:44 -0700)]
man/emerge.1: update date in header
Sebastian Luther [Sun, 16 Oct 2011 18:43:17 +0000 (20:43 +0200)]
Add --binpkg-exclude option
This options disables creation of binary packages, no matter
what enabled it in the first place. See bug 386903.
Arfrever Frehtes Taifersar Arahesis [Sun, 16 Oct 2011 12:49:58 +0000 (14:49 +0200)]
Fix a typo in a comment.
Zac Medico [Sun, 16 Oct 2011 06:18:39 +0000 (23:18 -0700)]
RepoConfig: sort __slots__
Zac Medico [Sun, 16 Oct 2011 05:58:56 +0000 (22:58 -0700)]
_pull_valid_cache: pass unicode to hashed_path
This removes a conversion to bytes that should have been removed in
commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212. The hashed_path
location attribute should always be unicode, for consistency will path
handling throughout portage. The hashed_path class internally uses the
portage portage.os wrapper to ensure that paths are encoded as utf_8
bytes when they are passed to the real os module for stat calls.
Zac Medico [Sun, 16 Oct 2011 00:34:06 +0000 (17:34 -0700)]
MetadataRegen: remove unused import
Zac Medico [Sun, 16 Oct 2011 00:02:50 +0000 (17:02 -0700)]
egencache: remove unused import
Zac Medico [Sat, 15 Oct 2011 23:28:04 +0000 (16:28 -0700)]
EbuildMetadataPhase: tweak metadata_callback usage
For parse-eapi-ebuild-head, we want to assign self.metadata from the
return value, for conformity with usage elsewhere.
Zac Medico [Sat, 15 Oct 2011 23:10:18 +0000 (16:10 -0700)]
egencache: add _mtime_ to metadata
This fixes a regression in FEATURES=parse-eapi-ebuild-head support
for egencache since commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212.
If the metadata does not contain _mtime_ here, then _setitem from
cache.metadata.database will raise KeyError.
Zac Medico [Sat, 15 Oct 2011 22:55:31 +0000 (15:55 -0700)]
EbuildMetadataPhase: fix parse-eapi-ebuild-head
This fixes bugs that can only be triggered by egencache since
other callers handle parse-eapi-ebuild-head earlier.
Zac Medico [Sat, 15 Oct 2011 22:46:37 +0000 (15:46 -0700)]
EbuildMetadataPhase: fix broken _metadata_callback
This fixes a regression in FEATURES=parse-eapi-ebuild-head support
for egencache since commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212.
Zac Medico [Sat, 15 Oct 2011 22:32:55 +0000 (15:32 -0700)]
repoman: remove unused imports
Zac Medico [Sat, 15 Oct 2011 21:43:32 +0000 (14:43 -0700)]
bin/ebuild: don't set PORTAGE_CALLER
This removes the last reference to PORTAGE_CALLER.
Zac Medico [Sat, 15 Oct 2011 21:40:28 +0000 (14:40 -0700)]
fixpackages: don't use PORTAGE_CALLER
Zac Medico [Sat, 15 Oct 2011 20:28:44 +0000 (13:28 -0700)]
portdbapi.aux_get: fix broken _metadata_callback
This fixes a regression in FEATURES=parse-eapi-ebuild-head support
since commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212.
Zac Medico [Sat, 15 Oct 2011 19:34:09 +0000 (12:34 -0700)]
EbuildMetadataPhase: use b''.join() for bytes
Zac Medico [Sat, 15 Oct 2011 18:58:26 +0000 (11:58 -0700)]
repoman: handle categories for multiple masters
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.
Zac Medico [Sat, 15 Oct 2011 18:38:35 +0000 (11:38 -0700)]
frozenset categories optimize pordbapi.cp_list()
Zac Medico [Sat, 15 Oct 2011 18:20:06 +0000 (11:20 -0700)]
repoman: validate categories for vcs files
Fabian Groffen [Sat, 15 Oct 2011 12:41:13 +0000 (14:41 +0200)]
FindVCS: support Subversion 1.7
Since subversion 1.7, only a top-level .svn dir is used. Make FindVCS
also deal with that. (Tested with repoman on Prefix SVN-based tree.)
Zac Medico [Sat, 15 Oct 2011 06:11:02 +0000 (23:11 -0700)]
emerge --metadata: fix empty INHERITED handling
Since changes to eclass validation code in commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212, validation of cache for
packages with empty INHERITED metadata has been broken due to failure
to distinguish between None and empty dict return values from
eclass.cache.validate_and_rewrite_cache().
Zac Medico [Sat, 15 Oct 2011 05:10:28 +0000 (22:10 -0700)]
emerge --metadata: fix breakage
The hunk that got removed from action_metadata in commit
d4ea29bf6a3ce35d49e0f54f9173e3a6e42da2d6 is actually needed when
FEATURES=metadata-transfer is enabled.
Zac Medico [Sat, 15 Oct 2011 03:21:18 +0000 (20:21 -0700)]
repoman: simplify digestgen and gpgsign loops
We can re-use the vcs_files_to_cps() function from commit
9c9145a9e3c2d8d1bcebf791ce2188add656fee2.
Zac Medico [Sat, 15 Oct 2011 03:03:21 +0000 (20:03 -0700)]
repoman: optimize --if-modified and --echangelog
Avoid unnecessary nested loops.