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.
Zac Medico [Sat, 15 Oct 2011 02:54:39 +0000 (19:54 -0700)]
repoman --echangelog: fix manifest-only commmits
Zac Medico [Sat, 15 Oct 2011 02:33:32 +0000 (19:33 -0700)]
repoman --if-modified: handle removed files
Zac Medico [Sat, 15 Oct 2011 01:49:13 +0000 (18:49 -0700)]
eclass_cache: fix cache_getter typo
This triggered a regression since commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212 that caused cache entries
containing eclass paths to appear invalid.
Brian Harring [Fri, 14 Oct 2011 09:40:00 +0000 (02:40 -0700)]
layout.conf: add git friendly pregenerated cache format
Enabled via cache-format = md5-dict
This format is essentially just flat_hash, using md5 rather than mtime,
and dropping the path component from _eclasses_ entries.
From a speed standpoint, the md5 overhead is ~16% in comparison to mtime,
timed on a modern sandybridge; specifically, validating 29k nodes takes
~8.8s for flat_md5, while the pms norm is ~7.7s.
That said, the cache is /usable/ in places PMS is not; in those cases,
it can definitely be a win since even if the cache is partially old,
it's better than regenerating everything from scratch.
(cherry picked from commit
95ddf97e2f7e7d3f6a072604b2df5f77e9298558)
Change-Id: Ic3561369b7a8be7f86480f339ab1686fddea6dff
Brian Harring [Fri, 14 Oct 2011 06:27:22 +0000 (23:27 -0700)]
cache: rewrite to support arbitrary validation method
Specifically, the cache can use any portage supported checksum method,
or use the standard mtime approach. In addition, support controlling
whether or not paths are stored, and generally try to restore some
of the centralization/encapsulation that was in place originally.
(cherry picked from commit
bc1aed614fb588f0ade5bcb5d1265a8db0f8d247)
Change-Id: Ic38057e7dbb15063c64a93c99e66e113a7d4c70e
Brian Harring [Fri, 14 Oct 2011 08:07:57 +0000 (01:07 -0700)]
cache.util: drop completely dead module/code
Looks of it, this code was copied/mangled into action_metadata; the
noise/callbacks in use don't do anything, so drop them, the dead code,
and clean up the exception handling to reflect the new reality
(cherry picked from commit
320890fadbedf678119ac06d458ed6086075431e)
Zac Medico [Fri, 14 Oct 2011 19:31:19 +0000 (12:31 -0700)]
repoman: handle unicode in echangelog args
Zac Medico [Fri, 14 Oct 2011 17:55:31 +0000 (10:55 -0700)]
repoman: add --echangelog=<y|n> for bug #337853
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.
Zac Medico [Fri, 14 Oct 2011 16:29:37 +0000 (09:29 -0700)]
repoman: support REPOMAN_DEFAULT_OPTS variable
Zac Medico [Fri, 14 Oct 2011 15:30:17 +0000 (08:30 -0700)]
Revert "Use plain ascii encoding for this file"
This reverts commit
2a4b07c8d0105ea7418ea3afc9e777a7a396fc46.
Current python ebuilds no longer remove the encodings directory when
USE=ebuild is enabled, so now it's possible to use UTF8 encoding in
python source files without triggering unsightly SyntaxError messages
when python_mod_optimize is compiling byte-code files.
Sebastian Luther [Fri, 14 Oct 2011 10:55:22 +0000 (12:55 +0200)]
Update --prune man page entry (bug 387011)
Zac Medico [Fri, 14 Oct 2011 07:01:08 +0000 (00:01 -0700)]
RELEASE-NOTES: FEATURES=fixpackages unconditional
This should help people who get warnings about unknown value(s) in
FEATURES due to having FEATURES=fixpackages enabled in make.conf even
though it's been enabled by default for almost 3 years (bug #386871).
Zac Medico [Fri, 14 Oct 2011 06:40:02 +0000 (23:40 -0700)]
Fix inverted QA_SONAME_NO_SYMLINK logic.
Zac Medico [Fri, 14 Oct 2011 06:23:48 +0000 (23:23 -0700)]
Don't generate soname symlinks for bug #387053.
The symlink is not really needed now that the QA notice has been
available for some time (testing since 2.1.10.4, and stable
since 2.1.10.11).
Zac Medico [Fri, 14 Oct 2011 06:14:40 +0000 (23:14 -0700)]
Add QA_SONAME_NO_SYMLINK for bug #387053.
Zac Medico [Fri, 14 Oct 2011 05:13:03 +0000 (22:13 -0700)]
quickpkg: optimize */* matches
Zac Medico [Fri, 14 Oct 2011 05:04:04 +0000 (22:04 -0700)]
portageq match: wildcard support
Zac Medico [Fri, 14 Oct 2011 00:23:28 +0000 (17:23 -0700)]
_pull_valid_cache: fix readonly delete logic
Brian Harring [Thu, 13 Oct 2011 23:26:03 +0000 (16:26 -0700)]
layout.conf: make the pregenerated cache format controllable
Controllable via 'cache-format', currently it supports only one cache;
'pms', and defaults to it. If an unsupported cache-format is specified,
the cache is disabled. If pms is specified and metadata/cache directory
doesn't exist, the cache is disabled.
Finally, this rips out the best module support for locally overriding
the cache format used for pregenerated caches; this functionality made
zero sense (upstream determines the format, we use what is available).
Zac Medico [Thu, 13 Oct 2011 21:58:17 +0000 (14:58 -0700)]
quickpkg: use AmbiguousPackageName
Zac Medico [Thu, 13 Oct 2011 21:53:45 +0000 (14:53 -0700)]
quickpkg: fix '*' in arg extended atom check
This check isn't really accurate due to the =* operator, and we don't
want to reject =* atoms when they omit the category.
Zac Medico [Thu, 13 Oct 2011 21:27:03 +0000 (14:27 -0700)]
layout.conf: revert authoritative-cache support
Those who wanted it have decided to use a different approach.
Zac Medico [Thu, 13 Oct 2011 20:58:16 +0000 (13:58 -0700)]
digestcheck: handle allow_missing for distfiles
Zac Medico [Thu, 13 Oct 2011 15:14:18 +0000 (08:14 -0700)]
quickpkg_extended_atom: handle =* operator
Sebastian Luther [Thu, 13 Oct 2011 13:03:34 +0000 (15:03 +0200)]
quickpkg: Support extended atoms
Mike Frysinger [Thu, 13 Oct 2011 02:50:57 +0000 (22:50 -0400)]
xpak(5): fix grammar, spelling, style, and add more content
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Tue, 11 Oct 2011 23:45:46 +0000 (16:45 -0700)]
Remove FEATURES=fixpackages support.
This reduces the probability of users encountering issues related to
package moves when they disable --dynamic-deps, and --package-moves=n
can be set in EMERGE_DEFAULT_OPTS if package moves need to be
temporarily avoided for some reason.
Zac Medico [Tue, 11 Oct 2011 20:57:49 +0000 (13:57 -0700)]
Ensure correct IUSE in vdb for bug #386829.
Zac Medico [Tue, 11 Oct 2011 18:28:18 +0000 (11:28 -0700)]
bin/ebuild: add --version option
Mike Frysinger [Tue, 11 Oct 2011 17:28:45 +0000 (13:28 -0400)]
prepstrip: make sure eu-strip embeds right filename
Signed-off-by: Mike Frysinger <vapier@gentoo.org>