W. Trevor King [Mon, 20 Jan 2014 03:15:57 +0000 (19:15 -0800)]
ebuild: fetch: Flatten conditionals in _get_fetch_resume_size
Make this easier to read by avoiding nested conditionals [1].
[1]: http://article.gmane.org/gmane.linux.gentoo.portage.devel/4058
Reported-by: Tom Wijsman <TomWij@gentoo.org>
W. Trevor King [Sun, 19 Jan 2014 02:29:15 +0000 (18:29 -0800)]
ebuild: fetch: Factor out _get_uris
The current fetch() function is quite long, which makes it hard to
know what I can change without adverse side effects. By pulling this
logic out of the main function, we get clearer logic in fetch() and
more explicit input for the config extraction.
This block was especially complicated, so I also created the helper
functions _get_file_uri_tuples and _expand_mirror. I'd prefer if
_expand_mirror iterated through URIs instead of (group, URI) tuples,
but we need a distinct marker for third-party URIs to build
third_party_mirror_uris which is used to build primaryuri_dict which
is used way down in fetch():
if checksum_failure_count == \
checksum_failure_primaryuri:
# Switch to "primaryuri" mode in order
# to increase the probablility of
# of success.
primaryuris = \
primaryuri_dict.get(myfile)
if primaryuris:
uri_list.extend(
reversed(primaryuris))
I don't know if this is useful enough to motivate the uglier
_expandmirror return values, but I'll kick that can down the road for
now.
There was some discussion on the list [1] about the defaults in:
def _get_uris(uris, settings, custom_mirrors=(), locations=()):
but I prefer this to Alec's floated:
def _get_uris(uris, settings, custom_mirrors=None, locations=None):
if not custom_mirrors:
custom_mirrors = ()
if not locations:
locations = ()
Which accomplishes the same thing with less clarity ;). My default
values are tuples (and not mutable lists) to make it extra-obvious
that we're not relying on anything crazy like mutating our default
values ;).
There was also discussion about whether the ugly settings object
should be passed to _get_uris, or whether the appropriate settings
should be extracted first and then passed through [2]. I've passed
settings through, because I'd prefer to have the uglyness handled in
helper functions. The fetch() function is what most folks will care
about, so we want to keep that as clean as possible. If the helper
functions have to suffer a bit for a cleaner fetch(), so be it.
[1]: http://thread.gmane.org/gmane.linux.gentoo.portage.devel/4002/focus=4041
[2]: http://thread.gmane.org/gmane.linux.gentoo.portage.devel/4002/focus=4042
W. Trevor King [Sun, 19 Jan 2014 00:22:16 +0000 (16:22 -0800)]
ebuild: fetch: Factor out _get_fetch_resume_size
The current fetch() function is quite long, which makes it hard to
know what I can change without adverse side effects. By pulling this
logic out of the main function, we get clearer logic in fetch() and
more explicit input for the config extraction.
Following a suggestion by Tom Wijsman, I put the setting name in a new
'key' variable to cut down on the PORTAGE_FETCH_RESUME_MIN_SIZE noise.
W. Trevor King [Sun, 19 Jan 2014 00:11:04 +0000 (16:11 -0800)]
ebuild: fetch: Factor out _get_checksum_failure_max_tries
The current fetch() function is quite long, which makes it hard to
know what I can change without adverse side effects. By pulling this
logic out of the main function, we get clearer logic in fetch() and
more explicit input for the config extraction.
Following a suggestion by Tom Wijsman, I put the setting name in a new
'key' variable to cut down on the PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS
noise.
Arfrever Frehtes Taifersar Arahesis [Sat, 18 Jan 2014 11:38:31 +0000 (12:38 +0100)]
Enable BytesWarnings.
Arfrever Frehtes Taifersar Arahesis [Sat, 18 Jan 2014 11:33:01 +0000 (12:33 +0100)]
Add support for the following attributes in layout.conf to allow more
precise configuration of inheritance of settings from repositories:
eclass-masters
package.mask-masters
use.aliases-masters
use.force-masters
use.mask-masters
Arfrever Frehtes Taifersar Arahesis [Wed, 8 Jan 2014 13:42:23 +0000 (14:42 +0100)]
Document PORTAGE_REPOSITORIES.
Arfrever Frehtes Taifersar Arahesis [Tue, 7 Jan 2014 23:40:39 +0000 (00:40 +0100)]
portage.versions.ververify(): Return an instance of bool (which is a subclass of int anyway) for better __repr__.
Sebastian Luther [Tue, 7 Jan 2014 22:21:40 +0000 (23:21 +0100)]
Bug #497238: Fix unnecessary rebuild caused by equal versions in different repositories.
Arfrever Frehtes Taifersar Arahesis [Tue, 7 Jan 2014 21:38:29 +0000 (22:38 +0100)]
Use empty value of masters attribute in test suite when possible.
Arfrever Frehtes Taifersar Arahesis [Tue, 7 Jan 2014 20:39:49 +0000 (21:39 +0100)]
Use with statements.
Sebastian Luther [Tue, 7 Jan 2014 19:06:20 +0000 (20:06 +0100)]
ResolverPlayground: Write layout.conf if needed
Arfrever Frehtes Taifersar Arahesis [Tue, 7 Jan 2014 18:34:54 +0000 (19:34 +0100)]
Update dates in recently changed files.
Vladimir Romanov [Tue, 7 Jan 2014 08:15:32 +0000 (00:15 -0800)]
Russian translation update. Bug # 450372
Arfrever Frehtes Taifersar Arahesis [Mon, 6 Jan 2014 18:21:11 +0000 (19:21 +0100)]
Delete some references to deprecated PORTDIR and PORTDIR_OVERLAY variables in documentation.
Brian Dolbec [Sun, 5 Jan 2014 23:13:15 +0000 (15:13 -0800)]
Update the release notes for a release.
Brian Dolbec [Sun, 5 Jan 2014 23:11:32 +0000 (15:11 -0800)]
Add updating the NEWS, RELEASE_NOTES files to the release process.
Mike Frysinger [Sun, 5 Jan 2014 15:50:34 +0000 (10:50 -0500)]
mkrelease: add a --runtests shortcut
This automates the release+test cycle a bit so people don't have to do
it all by hand.
Mike Frysinger [Sun, 5 Jan 2014 22:23:05 +0000 (17:23 -0500)]
portage(5): layout.conf: clarify profile-formats key
Reported-by: Sebastian Luther <SebastianLuther@gmx.de>
Mike Frysinger [Sun, 5 Jan 2014 15:33:41 +0000 (10:33 -0500)]
runtests: hardfail when a requested version is not found
This way people don't have to worry about runtests.sh passing for a
specific version when it wasn't found in the system.
Mike Frysinger [Sun, 5 Jan 2014 15:31:32 +0000 (10:31 -0500)]
runtests: add a "supported" shortcut
This keeps the list of supported versions in one place so people can do:
./runtests.sh --python-versions=supported
No need to hardcode the list of python versions in multiple places.
Mike Frysinger [Sun, 5 Jan 2014 15:25:23 +0000 (10:25 -0500)]
document release process
Mike Frysinger [Sun, 5 Jan 2014 19:06:01 +0000 (14:06 -0500)]
portage(5): layout.conf: add a proper format/attributes section
URL: https://bugs.gentoo.org/395359
Tom Wijsman [Sun, 29 Dec 2013 02:21:48 +0000 (03:21 +0100)]
Make use of optparse to fix argument parsing for Python 2.6 in bin/chpathtool.py.
Mike Frysinger [Sun, 5 Jan 2014 15:14:35 +0000 (10:14 -0500)]
mkrelease: clean up bash style
Mike Frysinger [Sun, 5 Jan 2014 14:38:59 +0000 (09:38 -0500)]
prepstrip: do no strip static libs when FEATURES=splitdebug
When people have splitdebug enabled, they want debugging info to be
available to them. Unfortunately, splitdebug doesn't work with static
archives, so we have to leave it in. Stripping of that will be delayed
to when the final ELF is linked.
Arfrever Frehtes Taifersar Arahesis [Thu, 2 Jan 2014 22:52:29 +0000 (23:52 +0100)]
portage.exception.PortageException: Improve performance (at least with Python 3).
Arfrever Frehtes Taifersar Arahesis [Fri, 27 Dec 2013 18:06:10 +0000 (19:06 +0100)]
Bug #496134: Preserve extended attributes in binary packages.
Arfrever Frehtes Taifersar Arahesis [Tue, 24 Dec 2013 08:27:58 +0000 (09:27 +0100)]
Fix ResourceWarning.
Mike Frysinger [Sun, 22 Dec 2013 16:24:48 +0000 (11:24 -0500)]
ebuild(5): delete newinfo references
There has never been such a helper, so stop documenting it.
Mike Frysinger [Sat, 21 Dec 2013 09:46:10 +0000 (04:46 -0500)]
add a __bashpid helper for <bash-4.0 versions
The $BASHPID variable is new to bash-4.0, so we need to add fallback logic
to support older versions (notably, bash-3.2).
Reported-by: Ryan Hill <dirtyepic@gentoo.org>
Mike Frysinger [Tue, 17 Dec 2013 23:23:12 +0000 (18:23 -0500)]
econf: update configure/config.{sub,guess} atomically to avoid races
Use $BASHPID which will be unique even in subshells.
URL: https://bugs.gentoo.org/487478
Sebastian Luther [Thu, 5 Dec 2013 20:57:17 +0000 (21:57 +0100)]
QA warning for files in /var/{cache,lock,run}/ or /run/
No warning will be issued if the directories are created, but are
left empty.
URL: https://bugs.gentoo.org/493154
Arfrever Frehtes Taifersar Arahesis [Thu, 5 Dec 2013 21:51:40 +0000 (22:51 +0100)]
Fix a typo.
Sebastian Luther [Thu, 5 Dec 2013 13:36:51 +0000 (14:36 +0100)]
Don't filter USE for binary packages with IUSE (bug 485920)
USE may contain values that aren't present in IUSE for any
supported EAPI. This for example breaks use dependencies on
USE_EXPAND-values.
The behavior for binary packages is now in line with what is
done for installed packages.
Note that this filtering was not active during merge.
URL: https://bugs.gentoo.org/485920
Sebastian Luther [Mon, 2 Dec 2013 12:52:36 +0000 (13:52 +0100)]
Fix unnecessary rebuild (bug 487198)
This one was caused by a mix of >= and < dependencies.
Rename the test as requested by Sebastian to testSlotConflictMixedDependencies
Sebastian Luther [Mon, 2 Dec 2013 20:04:27 +0000 (21:04 +0100)]
Fix crash in _ignore_dependency
Arfrever Frehtes Taifersar Arahesis [Tue, 3 Dec 2013 15:24:53 +0000 (16:24 +0100)]
Bug #489544: Document empty value of sync-type and sync-uri attributes in repos.conf.
Arfrever Frehtes Taifersar Arahesis [Mon, 2 Dec 2013 15:17:54 +0000 (16:17 +0100)]
portageq: Print deprecation warnings for deprecated commands.
Arfrever Frehtes Taifersar Arahesis [Mon, 2 Dec 2013 15:13:58 +0000 (16:13 +0100)]
portage.5: Fix location of note about repos.conf directory.
Brian Dolbec [Mon, 2 Dec 2013 01:21:45 +0000 (17:21 -0800)]
whitespace cleanup.
Alexander Berntsen [Mon, 2 Dec 2013 01:20:57 +0000 (17:20 -0800)]
man-portage.5 Further document repos.conf fixes bug #491426
Alexander Berntsen [Mon, 2 Dec 2013 01:17:45 +0000 (17:17 -0800)]
make.conf.5, Mention sourced files syntax
Arfrever Frehtes Taifersar Arahesis [Sun, 1 Dec 2013 22:27:15 +0000 (23:27 +0100)]
Fix some typos.
Brian Dolbec [Sun, 1 Dec 2013 09:58:50 +0000 (01:58 -0800)]
Optimize out a common element for an early return.
Sebastian Luther [Thu, 28 Nov 2013 10:34:09 +0000 (11:34 +0100)]
Another slot operator bug (bug 486580, try 2)
This time rebuilds are scheduled properly, but we
might still forget to install the package that caused
the rebuild.
URL: https://bugs.gentoo.org/486580
Mike Frysinger [Sun, 1 Dec 2013 07:21:00 +0000 (02:21 -0500)]
docompress: add --limit support with newer EAPIs
We added support for not compressing files below a certain size (since the
speed/size/etc... tradeoffs didn't make sense), but it was only for man
pages and old EAPI's.
Add the logic to the newer EAPIs and apply to all compressed paths.
URL: http://bugs.gentoo.org/169260
Mike Frysinger [Sat, 30 Nov 2013 18:15:33 +0000 (13:15 -0500)]
portage.const: restore two dropped features
The script used to clean this up accidentally dropped two features.
Reported-by: Sebastian Luther <SebastianLuther@gmx.de>
Mike Frysinger [Sat, 30 Nov 2013 05:35:35 +0000 (00:35 -0500)]
portage.const: tweak style
Makes pylint happy, and makes the code much easier to modify.
Sebastian Luther [Fri, 29 Nov 2013 20:33:32 +0000 (21:33 +0100)]
portage.const: add git-r3 to the list of live eclasses
URL: https://bugs.gentoo.org/489662
Sebastian Luther [Fri, 29 Nov 2013 20:33:31 +0000 (21:33 +0100)]
portage.const: move list of live eclasses here
Mike Frysinger [Fri, 29 Nov 2013 23:29:40 +0000 (18:29 -0500)]
fix random pylint errors
Shouldn't be any functional changes here.
Sebastian Luther [Fri, 29 Nov 2013 18:02:22 +0000 (19:02 +0100)]
Use portage.const.TIMESTAMP_FORMAT where appropriate
Sebastian Luther [Fri, 29 Nov 2013 18:02:21 +0000 (19:02 +0100)]
egencache: --write-timestamp to create metadata/timestamp.chk
This is required to sync repositories using rsnyc.
URL: https://bugs.gentoo.org/488972
Arfrever Frehtes Taifersar Arahesis [Thu, 28 Nov 2013 09:19:20 +0000 (10:19 +0100)]
_emerge.depgraph.depgraph._show_abi_rebuild_info(): Write to stdout instead of stderr.
Arfrever Frehtes Taifersar Arahesis [Thu, 28 Nov 2013 03:04:32 +0000 (04:04 +0100)]
_emerge.depgraph.depgraph._compute_abi_rebuild_info(): Simplify some code.
Sebastian Luther [Tue, 26 Nov 2013 20:06:24 +0000 (21:06 +0100)]
Suppress debug outout from tests
Sebastian Luther [Tue, 26 Nov 2013 20:06:23 +0000 (21:06 +0100)]
Fix a missing rebuild
The dependency in the ebuild was changed from
slot operator to no slot operator. The vdb
contained the slot operator and emerge would
refuse to rebuild, causing a missed update.
URL: https://bugs.gentoo.org/490362
Sebastian Luther [Tue, 26 Nov 2013 20:15:37 +0000 (21:15 +0100)]
portageq envvar: shell escape variable (bug 492314)
Mike Frysinger [Wed, 27 Nov 2013 03:23:58 +0000 (22:23 -0500)]
test_slot_conflict_rebuild: drop pointless list cast
The range() func already returns a list, so need for list().
Mike Frysinger [Wed, 27 Nov 2013 03:23:45 +0000 (22:23 -0500)]
countdown: clean up & simplify a bit
Brian Dolbec [Tue, 26 Nov 2013 15:06:46 +0000 (07:06 -0800)]
fix py-3 compatibility
Sebastian Luther [Tue, 26 Nov 2013 09:03:11 +0000 (10:03 +0100)]
Add test case for bug 486580
Sebastian Luther [Mon, 25 Nov 2013 22:11:41 +0000 (23:11 +0100)]
Fix slot operator handling bug
emerge would backtrack once for each package that needed a rebuild.
This caused it to hit the backtrack limit and to not rebuild all
packages.
It also sometimes failed to install the packages that caused the rebuild
in the first place, making the rebuilds pointless.
This fixes bug 486580.
Sebastian Luther [Mon, 25 Nov 2013 18:46:27 +0000 (19:46 +0100)]
Show packages forcing rebuilds (bug 472104)
Arfrever Frehtes Taifersar Arahesis [Sat, 26 Oct 2013 19:31:17 +0000 (21:31 +0200)]
Fix a typo.
Mike Frysinger [Mon, 21 Oct 2013 02:11:05 +0000 (22:11 -0400)]
tests: support assertIn/assertNotIn in python-2.6
Mike Frysinger [Thu, 17 Oct 2013 05:00:56 +0000 (01:00 -0400)]
tests: support standard unittest.SkipTest exceptions
Brian Dolbec [Wed, 16 Oct 2013 23:24:25 +0000 (16:24 -0700)]
fix typo causing a "os" is not defined test error.
Mike Frysinger [Wed, 16 Oct 2013 20:51:56 +0000 (16:51 -0400)]
tests: add assertExists/assertNotExists helpers
This makes it easy to assert the state of paths and when things fail,
get a good error message in the process (without having to dig into
temp dirs by hand).
This has largely been cribbed from ChromiumOS's chromite module.
Mike Frysinger [Wed, 16 Oct 2013 18:41:02 +0000 (14:41 -0400)]
movefile: simplify xattr fallback logic
The "with open()" construct handles exceptions just fine.
Mike Frysinger [Wed, 16 Oct 2013 06:51:24 +0000 (02:51 -0400)]
helper-functions.sh: sync with multiprocessing.eclass
This pulls in (among other thing) portability fixes.
URL: https://bugs.gentoo.org/487056
Mike Frysinger [Tue, 15 Oct 2013 21:55:57 +0000 (17:55 -0400)]
pym/util: clean up style a bit
Shouldn't be any functional changes here.
Mike Frysinger [Fri, 11 Oct 2013 10:30:37 +0000 (06:30 -0400)]
xattr-helper: clean up command line interface
This uses the standard argparse fields rather than open coding things
ourselves. It also makes it a bit easier to test as you can now pass
paths on the command line in addition to stdin.
Mike Frysinger [Fri, 11 Oct 2013 10:29:35 +0000 (06:29 -0400)]
xattr-helper: refactor dump_xattrs to make it a bit more readable
Pull the common qoute chars out into a var and use % with format
strings rather than mixing + in between.
Mike Frysinger [Fri, 11 Oct 2013 10:27:15 +0000 (06:27 -0400)]
xattr-helper: standardize quoting style a bit
Mike Frysinger [Fri, 11 Oct 2013 10:24:22 +0000 (06:24 -0400)]
xattr-helper: use ValueError when the input is wrong
This is the standard exception for when the input is incorrect.
Mike Frysinger [Fri, 11 Oct 2013 10:23:49 +0000 (06:23 -0400)]
xattr-helper: add docstrings to more places
Mike Frysinger [Fri, 11 Oct 2013 10:19:49 +0000 (06:19 -0400)]
xattr-helper: use upper caps for module constants
Mike Frysinger [Tue, 8 Oct 2013 19:58:58 +0000 (15:58 -0400)]
chpathtool: clean up arg parsing to use proper argparse module
Also throw in some documentation for good measure since not everyone knows
what this thing does.
Mike Frysinger [Tue, 8 Oct 2013 19:39:53 +0000 (15:39 -0400)]
chpathtool: use built in %(prog)s for usage
Mike Frysinger [Tue, 8 Oct 2013 19:39:30 +0000 (15:39 -0400)]
chpathtool: standardize quote style
Arfrever Frehtes Taifersar Arahesis [Wed, 2 Oct 2013 10:36:49 +0000 (12:36 +0200)]
Bug #418475: Handle PermissionError caused by unreadable /etc/portage/modules.
Arfrever Frehtes Taifersar Arahesis [Wed, 2 Oct 2013 09:49:46 +0000 (11:49 +0200)]
Use 'with' statements.
Zac Medico [Mon, 23 Sep 2013 20:59:21 +0000 (13:59 -0700)]
RepoConfigLoader: Fix indent
Indent was wrong in commit
923f912d7c5ade8b5b18f23f1cd12add08f73c21.
Zac Medico [Mon, 23 Sep 2013 20:52:38 +0000 (13:52 -0700)]
mkrelease.sh: include README
Zac Medico [Mon, 23 Sep 2013 20:44:34 +0000 (13:44 -0700)]
emerge-webrsync: handle missing dir, bug #484950
Alexander Berntsen [Fri, 20 Sep 2013 09:00:39 +0000 (11:00 +0200)]
_emerge: Implement verbose-conflicts, bug #481366
Alexander Berntsen [Thu, 19 Sep 2013 10:16:22 +0000 (12:16 +0200)]
Add README
Ruud Koolen [Fri, 20 Sep 2013 12:39:31 +0000 (05:39 -0700)]
ebuild_main: prefix PKG_CONFIG_PATH, bug #485456
Zac Medico [Wed, 18 Sep 2013 18:29:27 +0000 (11:29 -0700)]
SpawnProcess: enable FD_CLOEXEC for Darwin
Bug #456296 is now handled by the F_GETFD/F_SETFD commands in commit
30c652a9db1014fc720f7d6055520a07b731c984.
Zac Medico [Tue, 17 Sep 2013 23:32:17 +0000 (16:32 -0700)]
Handle newline in symlink target for bug #485226.
Arfrever Frehtes Taifersar Arahesis [Mon, 16 Sep 2013 16:47:59 +0000 (18:47 +0200)]
portage.util.atomic_ofstream.__init__(): Fix compatibility with Python <2.6.5.
Reported by Stephen Klimaszewski.
Arfrever Frehtes Taifersar Arahesis [Mon, 16 Sep 2013 05:03:02 +0000 (07:03 +0200)]
Bug #485056: Fix portageq with Python <2.6.5.
Zac Medico [Sun, 15 Sep 2013 14:08:33 +0000 (07:08 -0700)]
RepoConfig: fix bug #485006
Zac Medico [Sun, 15 Sep 2013 10:57:55 +0000 (03:57 -0700)]
emerge-webrsync: fix bug #484950
Zac Medico [Sun, 15 Sep 2013 09:36:12 +0000 (02:36 -0700)]
_copyxattr: ignore EOPNOTSUPP from os.listxattr()
This will fix bug #484540.
Zac Medico [Sun, 15 Sep 2013 00:51:07 +0000 (17:51 -0700)]
_copyxattr: ignore EOPNOTSUPP from xattr.list()
Ryan Hill [Sun, 15 Sep 2013 00:29:38 +0000 (17:29 -0700)]
Flag -Waggressive-loop-optimizations warnings.
This will fix bug #484840.
Arfrever Frehtes Taifersar Arahesis [Fri, 13 Sep 2013 09:11:22 +0000 (11:11 +0200)]
Bug #484730: In sync mode, use repos.conf section name when repo_name file is missing.