Merge pull request #61 from Enlik/kswitch-revdep
[kswitch] use reverse dep. not PROVIDE
This commit is contained in:
21
.ci
Executable file
21
.ci
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
|
||||
python2 --version
|
||||
python3 --version
|
||||
|
||||
if [[ ! -e /usr/portage/profiles ]]; then
|
||||
rsync -av -H -A -X --delete-during \
|
||||
"rsync://rsync.at.gentoo.org/gentoo-portage/profiles/" \
|
||||
/usr/portage/profiles || exit 1
|
||||
fi
|
||||
|
||||
export LC_ALL=en_US.UTF-8 USERNAME=root ETP_TESTS_NONINTERACTIVE=1
|
||||
equo install dev-util/bsdiff || exit 1
|
||||
cd /entropy/lib/tests || exit 1
|
||||
|
||||
ret=0
|
||||
python2 ./run || ret=$?
|
||||
python3 ./run || ret=$?
|
||||
exit $ret
|
||||
@@ -7,13 +7,7 @@ before_install:
|
||||
- docker pull sabayon/base-amd64
|
||||
|
||||
script:
|
||||
- >
|
||||
docker run -v $TRAVIS_BUILD_DIR:/entropy sabayon/base-amd64
|
||||
bash -c "python2 --version; python3 --version"
|
||||
- >
|
||||
docker run -v $TRAVIS_BUILD_DIR:/entropy sabayon/base-amd64
|
||||
env LC_ALL=en_US.UTF-8 USERNAME=root ETP_TESTS_NONINTERACTIVE=1
|
||||
bash -c 'equo i dev-util/bsdiff; cd /entropy/lib/tests && ret=0 && { python2 ./run || ret=$?; python3 ./run || ret=$?; }; exit $ret'
|
||||
- docker run -v $TRAVIS_BUILD_DIR:/entropy sabayon/base-amd64 /entropy/.ci
|
||||
|
||||
notifications:
|
||||
irc: "chat.freenode.net#sabayon-infra"
|
||||
|
||||
@@ -29,6 +29,7 @@ import entropy.tools
|
||||
|
||||
KERNEL_BINARY_VIRTUAL = const_convert_to_unicode("virtual/linux-binary")
|
||||
KERNEL_BINARY_LTS_VIRTUAL = const_convert_to_unicode("virtual/linux-binary-lts")
|
||||
KERNEL_ATOM_PREFIX = "sys-kernel/"
|
||||
KERNELS_DIR = const_convert_to_rawstring("/etc/kernels")
|
||||
RELEASE_LEVEL = const_convert_to_rawstring("RELEASE_LEVEL")
|
||||
|
||||
@@ -155,10 +156,22 @@ class KernelSwitcher(object):
|
||||
"""
|
||||
Return a list of kernel package matches.
|
||||
"""
|
||||
return self._entropy.atom_match(
|
||||
kernel_virtual_pkgs, _rc = self._entropy.atom_match(
|
||||
KERNEL_BINARY_VIRTUAL,
|
||||
multi_match=True, multi_repo=True)
|
||||
|
||||
kernel_packages = []
|
||||
|
||||
for pkg_id, repo_id in kernel_virtual_pkgs:
|
||||
repo = self._entropy.open_repository(repo_id)
|
||||
kernel_pkgs = repo.retrieveReverseDependencies(pkg_id)
|
||||
for kernel_pkg in kernel_pkgs:
|
||||
atom = repo.retrieveAtom(kernel_pkg)
|
||||
if atom.startswith(KERNEL_ATOM_PREFIX):
|
||||
kernel_packages.append((atom, kernel_pkg, repo_id))
|
||||
|
||||
return kernel_packages
|
||||
|
||||
def _get_target_tag(self, kernel_match):
|
||||
"""
|
||||
Get the package tag for the given kernel package match.
|
||||
@@ -375,7 +388,7 @@ class KernelSwitcher(object):
|
||||
@return: a sorted list of Entropy package matches
|
||||
@rtype: list
|
||||
"""
|
||||
matches, _rc = self._get_kernels()
|
||||
key_sorter = lambda x: \
|
||||
self._entropy.open_repository(x[1]).retrieveAtom(x[0])
|
||||
return sorted(matches, key=key_sorter)
|
||||
matches = self._get_kernels()
|
||||
key_sorter = lambda x: x[0]
|
||||
result = [x[1:3] for x in sorted(matches, key=key_sorter)]
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user