|
Michal Luscon |
dfbd3a2 |
diff --git a/dnf.spec b/dnf.spec
|
|
Michal Luscon |
dfbd3a2 |
index 2deea95..00025db 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/dnf.spec
|
|
Michal Luscon |
dfbd3a2 |
+++ b/dnf.spec
|
|
Michal Luscon |
dfbd3a2 |
@@ -11,7 +11,7 @@
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
Name: dnf
|
|
Michal Luscon |
dfbd3a2 |
Version: 0.6.4
|
|
Michal Luscon |
dfbd3a2 |
-Release: 5%{?snapshot}%{?dist}
|
|
Michal Luscon |
dfbd3a2 |
+Release: 6%{?snapshot}%{?dist}
|
|
Michal Luscon |
dfbd3a2 |
Summary: Package manager forked from Yum, using libsolv as a dependency resolver
|
|
Michal Luscon |
dfbd3a2 |
# For a breakdown of the licensing, see PACKAGE-LICENSING
|
|
Michal Luscon |
dfbd3a2 |
License: GPLv2+ and GPLv2 and GPL
|
|
Michal Luscon |
dfbd3a2 |
@@ -125,6 +125,7 @@ mkdir -p $RPM_BUILD_ROOT%{pluginconfpath}
|
|
Michal Luscon |
dfbd3a2 |
mkdir -p $RPM_BUILD_ROOT%{py2pluginpath}
|
|
Michal Luscon |
dfbd3a2 |
mkdir -p $RPM_BUILD_ROOT%{py3pluginpath}/__pycache__
|
|
Michal Luscon |
dfbd3a2 |
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log
|
|
Michal Luscon |
dfbd3a2 |
+mkdir -p $RPM_BUILD_ROOT%{_var}/cache/dnf
|
|
Michal Luscon |
dfbd3a2 |
touch $RPM_BUILD_ROOT%{_localstatedir}/log/%{name}.log
|
|
Michal Luscon |
dfbd3a2 |
ln -sr $RPM_BUILD_ROOT%{_bindir}/dnf $RPM_BUILD_ROOT%{_bindir}/yum
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
@@ -152,6 +153,7 @@ popd
|
|
Michal Luscon |
dfbd3a2 |
%{_mandir}/man5/dnf.conf.5.gz
|
|
Michal Luscon |
dfbd3a2 |
%{_unitdir}/dnf-makecache.service
|
|
Michal Luscon |
dfbd3a2 |
%{_unitdir}/dnf-makecache.timer
|
|
Michal Luscon |
dfbd3a2 |
+%{_var}/cache/dnf
|
|
Michal Luscon |
dfbd3a2 |
%{_tmpfilesdir}/dnf.conf
|
|
Michal Luscon |
dfbd3a2 |
%exclude %{python_sitelib}/dnf/automatic
|
|
Michal Luscon |
dfbd3a2 |
%{python_sitelib}/dnf/
|
|
Michal Luscon |
dfbd3a2 |
@@ -187,6 +189,13 @@ popd
|
|
Michal Luscon |
dfbd3a2 |
%postun
|
|
Michal Luscon |
dfbd3a2 |
%systemd_postun_with_restart dnf-makecache.timer
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
+%posttrans
|
|
Michal Luscon |
dfbd3a2 |
+# cleanup pre-1.0.2 style cache
|
|
Michal Luscon |
dfbd3a2 |
+for arch in armv7hl i686 x86_64 ; do
|
|
Michal Luscon |
dfbd3a2 |
+ rm -rf /var/cache/dnf/$arch
|
|
Michal Luscon |
dfbd3a2 |
+done
|
|
Michal Luscon |
dfbd3a2 |
+exit 0
|
|
Michal Luscon |
dfbd3a2 |
+
|
|
Michal Luscon |
dfbd3a2 |
%post automatic
|
|
Michal Luscon |
dfbd3a2 |
%systemd_post dnf-automatic.timer
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
@@ -197,12 +206,19 @@ popd
|
|
Michal Luscon |
dfbd3a2 |
%systemd_postun_with_restart dnf-automatic.timer
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
%changelog
|
|
Michal Luscon |
dfbd3a2 |
+* Wed Aug 26 2015 Michal Luscon <mluscon@redhat.com> 0.6.4-6
|
|
Michal Luscon |
dfbd3a2 |
+- test: don't compute hash from absolute local file path (introduced in
|
|
Michal Luscon |
dfbd3a2 |
+ 10518b6)
|
|
Michal Luscon |
dfbd3a2 |
+- cleanup old cache in posttrans
|
|
Michal Luscon |
dfbd3a2 |
+- include /var/cache/dnf into rpm
|
|
Michal Luscon |
dfbd3a2 |
+- do not use releasever in cache path (related to RhBug:1173107)
|
|
Michal Luscon |
dfbd3a2 |
+
|
|
Michal Luscon |
dfbd3a2 |
* Thu Apr 16 2015 Michal Luscon <mluscon@redhat.com> 0.6.4-5
|
|
Michal Luscon |
dfbd3a2 |
- Revert "completion: work with just python(3)-dnf"
|
|
Michal Luscon |
dfbd3a2 |
- Revert "bash-completion: use python method to get commands (RhBug:1187579)"
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
* Thu Apr 16 2015 Michal Luscon <mluscon@redhat.com> 0.6.4-4
|
|
Michal Luscon |
dfbd3a2 |
-- upload correct source archive 0.6.4
|
|
Michal Luscon |
dfbd3a2 |
+- upload correct source archive 0.6.4
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
* Mon Apr 13 2015 Michal Luscon <mluscon@redhat.com> 0.6.4-3
|
|
Michal Luscon |
dfbd3a2 |
- rel-eng: use distro releaser
|
|
Michal Luscon |
dfbd3a2 |
diff --git a/dnf/base.py b/dnf/base.py
|
|
Michal Luscon |
dfbd3a2 |
index 725937b..f3df45c 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/dnf/base.py
|
|
Michal Luscon |
dfbd3a2 |
+++ b/dnf/base.py
|
|
Michal Luscon |
dfbd3a2 |
@@ -127,9 +127,8 @@ class Base(object):
|
|
Michal Luscon |
dfbd3a2 |
subst = conf.substitutions
|
|
Michal Luscon |
dfbd3a2 |
if 'releasever' not in subst:
|
|
Michal Luscon |
dfbd3a2 |
subst['releasever'] = \
|
|
Michal Luscon |
dfbd3a2 |
- dnf.rpm.detect_releasever(conf.installroot) or ''
|
|
Michal Luscon |
dfbd3a2 |
- suffix = dnf.conf.parser.substitute(dnf.const.CACHEDIR_SUFFIX, subst)
|
|
Michal Luscon |
dfbd3a2 |
- cache_dirs = dnf.conf.CliCache(conf.cachedir, suffix)
|
|
Michal Luscon |
dfbd3a2 |
+ dnf.rpm.detect_releasever(conf.installroot)
|
|
Michal Luscon |
dfbd3a2 |
+ cache_dirs = dnf.conf.CliCache(conf.cachedir)
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
conf.cachedir = cache_dirs.cachedir
|
|
Michal Luscon |
dfbd3a2 |
return conf
|
|
Michal Luscon |
dfbd3a2 |
diff --git a/dnf/cli/cli.py b/dnf/cli/cli.py
|
|
Michal Luscon |
dfbd3a2 |
index 2c6c40e..0bbd337 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/dnf/cli/cli.py
|
|
Michal Luscon |
dfbd3a2 |
+++ b/dnf/cli/cli.py
|
|
Michal Luscon |
dfbd3a2 |
@@ -101,9 +101,7 @@ def _list_cmd_calc_columns(output, ypl):
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
def cachedir_fit(conf):
|
|
Michal Luscon |
dfbd3a2 |
- subst = conf.substitutions
|
|
Michal Luscon |
dfbd3a2 |
- suffix = dnf.conf.parser.substitute(dnf.const.CACHEDIR_SUFFIX, subst)
|
|
Michal Luscon |
dfbd3a2 |
- cli_cache = dnf.conf.CliCache(conf.cachedir, suffix)
|
|
Michal Luscon |
dfbd3a2 |
+ cli_cache = dnf.conf.CliCache(conf.cachedir)
|
|
Michal Luscon |
dfbd3a2 |
return cli_cache.cachedir, cli_cache.system_cachedir
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
@@ -1021,10 +1019,6 @@ class Cli(object):
|
|
Michal Luscon |
dfbd3a2 |
conf.read(path)
|
|
Michal Luscon |
dfbd3a2 |
if releasever is None:
|
|
Michal Luscon |
dfbd3a2 |
releasever = dnf.rpm.detect_releasever(root)
|
|
Michal Luscon |
dfbd3a2 |
- if releasever is None:
|
|
Michal Luscon |
dfbd3a2 |
- msg = _('releasever not given and can not be detected '
|
|
Michal Luscon |
dfbd3a2 |
- 'from the installroot.')
|
|
Michal Luscon |
dfbd3a2 |
- raise dnf.exceptions.ConfigError(msg)
|
|
Michal Luscon |
dfbd3a2 |
conf.releasever = releasever
|
|
Michal Luscon |
dfbd3a2 |
subst = conf.substitutions
|
|
Michal Luscon |
dfbd3a2 |
subst.update_from_etc(root)
|
|
Michal Luscon |
dfbd3a2 |
@@ -1039,12 +1033,6 @@ class Cli(object):
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
self.base.logging.setup_from_dnf_conf(conf)
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
- # repos are ver/arch specific so add $basearch/$releasever
|
|
Michal Luscon |
dfbd3a2 |
- conf._repos_persistdir = os.path.normpath(
|
|
Michal Luscon |
dfbd3a2 |
- '%s/repos/%s/%s/' % (conf.persistdir,
|
|
Michal Luscon |
dfbd3a2 |
- subst.get('basearch', '$basearch'),
|
|
Michal Luscon |
dfbd3a2 |
- subst.get('releasever', '$releasever')))
|
|
Michal Luscon |
dfbd3a2 |
-
|
|
Michal Luscon |
dfbd3a2 |
timer()
|
|
Michal Luscon |
dfbd3a2 |
return conf
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
diff --git a/dnf/conf/__init__.py b/dnf/conf/__init__.py
|
|
Michal Luscon |
dfbd3a2 |
index f26f81b..ec03229 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/dnf/conf/__init__.py
|
|
Michal Luscon |
dfbd3a2 |
+++ b/dnf/conf/__init__.py
|
|
Michal Luscon |
dfbd3a2 |
@@ -49,10 +49,9 @@ logger = logging.getLogger('dnf')
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
class CliCache(object):
|
|
Michal Luscon |
dfbd3a2 |
- def __init__(self, prefix, suffix):
|
|
Michal Luscon |
dfbd3a2 |
+ def __init__(self, prefix):
|
|
Michal Luscon |
dfbd3a2 |
# set from the client, at most once:
|
|
Michal Luscon |
dfbd3a2 |
self.prefix = prefix
|
|
Michal Luscon |
dfbd3a2 |
- self.suffix = suffix
|
|
Michal Luscon |
dfbd3a2 |
# internal:
|
|
Michal Luscon |
dfbd3a2 |
self._ready = False
|
|
Michal Luscon |
dfbd3a2 |
self._cachedir = None
|
|
Michal Luscon |
dfbd3a2 |
@@ -63,19 +62,16 @@ class CliCache(object):
|
|
Michal Luscon |
dfbd3a2 |
return
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
self._ready = True
|
|
Michal Luscon |
dfbd3a2 |
- self._system_cachedir = self._retdir(self.prefix)
|
|
Michal Luscon |
dfbd3a2 |
+ self._system_cachedir = self.prefix
|
|
Michal Luscon |
dfbd3a2 |
if util.am_i_root():
|
|
Michal Luscon |
dfbd3a2 |
self._cachedir = self._system_cachedir
|
|
Michal Luscon |
dfbd3a2 |
else:
|
|
Michal Luscon |
dfbd3a2 |
try:
|
|
Michal Luscon |
dfbd3a2 |
user_prefix = misc.getCacheDir()
|
|
Michal Luscon |
dfbd3a2 |
- self._cachedir = self._retdir(user_prefix)
|
|
Michal Luscon |
dfbd3a2 |
+ self._cachedir = user_prefix
|
|
Michal Luscon |
dfbd3a2 |
except (IOError, OSError) as e:
|
|
Michal Luscon |
dfbd3a2 |
logger.critical(_('Could not set cachedir: %s'), ucd(e))
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
- def _retdir(self, dir):
|
|
Michal Luscon |
dfbd3a2 |
- return os.path.join(dir, self.suffix)
|
|
Michal Luscon |
dfbd3a2 |
-
|
|
Michal Luscon |
dfbd3a2 |
@property
|
|
Michal Luscon |
dfbd3a2 |
def cachedir(self):
|
|
Michal Luscon |
dfbd3a2 |
self._make_ready()
|
|
Michal Luscon |
dfbd3a2 |
diff --git a/dnf/const.py.in b/dnf/const.py.in
|
|
Michal Luscon |
dfbd3a2 |
index 3c498c9..652ec62 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/dnf/const.py.in
|
|
Michal Luscon |
dfbd3a2 |
+++ b/dnf/const.py.in
|
|
Michal Luscon |
dfbd3a2 |
@@ -21,7 +21,6 @@
|
|
Michal Luscon |
dfbd3a2 |
from __future__ import unicode_literals
|
|
Michal Luscon |
dfbd3a2 |
import distutils.sysconfig
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
-CACHEDIR_SUFFIX='$basearch/$releasever'
|
|
Michal Luscon |
dfbd3a2 |
CONF_FILENAME='/etc/dnf/dnf.conf' # :api
|
|
Michal Luscon |
dfbd3a2 |
CONF_AUTOMATIC_FILENAME='/etc/dnf/automatic.conf'
|
|
Michal Luscon |
dfbd3a2 |
DISTROVERPKG=('system-release(releasever)', 'redhat-release')
|
|
Michal Luscon |
dfbd3a2 |
diff --git a/dnf/repo.py b/dnf/repo.py
|
|
Michal Luscon |
dfbd3a2 |
index 5b9bddf..d0c6f33 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/dnf/repo.py
|
|
Michal Luscon |
dfbd3a2 |
+++ b/dnf/repo.py
|
|
Michal Luscon |
dfbd3a2 |
@@ -33,6 +33,7 @@ import dnf.util
|
|
Michal Luscon |
dfbd3a2 |
import dnf.yum.config
|
|
Michal Luscon |
dfbd3a2 |
import dnf.yum.misc
|
|
Michal Luscon |
dfbd3a2 |
import functools
|
|
Michal Luscon |
dfbd3a2 |
+import hashlib
|
|
Michal Luscon |
dfbd3a2 |
import hawkey
|
|
Michal Luscon |
dfbd3a2 |
import logging
|
|
Michal Luscon |
dfbd3a2 |
import librepo
|
|
Michal Luscon |
dfbd3a2 |
@@ -447,7 +448,14 @@ class Repo(dnf.yum.config.RepoConf):
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
@property
|
|
Michal Luscon |
dfbd3a2 |
def cachedir(self):
|
|
Michal Luscon |
dfbd3a2 |
- return os.path.join(self.basecachedir, self.id)
|
|
Michal Luscon |
dfbd3a2 |
+ url = self.metalink or self.mirrorlist \
|
|
Michal Luscon |
dfbd3a2 |
+ or (self.baseurl and self.baseurl[0])
|
|
Michal Luscon |
dfbd3a2 |
+ if url:
|
|
Michal Luscon |
dfbd3a2 |
+ digest = hashlib.sha256(url.encode('utf8')).hexdigest()[:16]
|
|
Michal Luscon |
dfbd3a2 |
+ repodir = "%s-%s" % (self.id, digest)
|
|
Michal Luscon |
dfbd3a2 |
+ else:
|
|
Michal Luscon |
dfbd3a2 |
+ repodir = self.id
|
|
Michal Luscon |
dfbd3a2 |
+ return os.path.join(self.basecachedir, repodir)
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
@property
|
|
Michal Luscon |
dfbd3a2 |
def filelists_fn(self):
|
|
Michal Luscon |
dfbd3a2 |
diff --git a/rel-eng/packages/dnf b/rel-eng/packages/dnf
|
|
Michal Luscon |
dfbd3a2 |
index 126e3e7..40ad0fa 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/rel-eng/packages/dnf
|
|
Michal Luscon |
dfbd3a2 |
+++ b/rel-eng/packages/dnf
|
|
Michal Luscon |
dfbd3a2 |
@@ -1 +1 @@
|
|
Michal Luscon |
dfbd3a2 |
-0.6.4-5 ./
|
|
Michal Luscon |
dfbd3a2 |
+0.6.4-6 ./
|
|
Michal Luscon |
dfbd3a2 |
diff --git a/tests/test_base.py b/tests/test_base.py
|
|
Michal Luscon |
dfbd3a2 |
index 4014c95..c56f94f 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/tests/test_base.py
|
|
Michal Luscon |
dfbd3a2 |
+++ b/tests/test_base.py
|
|
Michal Luscon |
dfbd3a2 |
@@ -42,7 +42,7 @@ class BaseTest(support.TestCase):
|
|
Michal Luscon |
dfbd3a2 |
base = dnf.Base()
|
|
Michal Luscon |
dfbd3a2 |
self.assertIsNotNone(base.conf)
|
|
Michal Luscon |
dfbd3a2 |
self.assertIsNotNone(base.conf.cachedir)
|
|
Michal Luscon |
dfbd3a2 |
- reg = re.compile('/var/cache/dnf/[a-zA-Z0-9_]+/x')
|
|
Michal Luscon |
dfbd3a2 |
+ reg = re.compile('/var/cache/dnf')
|
|
Michal Luscon |
dfbd3a2 |
self.assertIsNotNone(reg.match(base.conf.cachedir))
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
@mock.patch('dnf.rpm.detect_releasever', lambda x: 'x')
|
|
Michal Luscon |
dfbd3a2 |
@@ -51,7 +51,7 @@ class BaseTest(support.TestCase):
|
|
Michal Luscon |
dfbd3a2 |
base = dnf.Base()
|
|
Michal Luscon |
dfbd3a2 |
self.assertIsNotNone(base.conf)
|
|
Michal Luscon |
dfbd3a2 |
self.assertIsNotNone(base.conf.cachedir)
|
|
Michal Luscon |
dfbd3a2 |
- reg = re.compile('/var/tmp/dnf-[a-zA-Z0-9_-]+/[a-zA-Z0-9_]+/x')
|
|
Michal Luscon |
dfbd3a2 |
+ reg = re.compile('/var/tmp/dnf-[a-zA-Z0-9_-]+')
|
|
Michal Luscon |
dfbd3a2 |
self.assertIsNotNone(reg.match(base.conf.cachedir))
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
def test_reset(self):
|
|
Michal Luscon |
dfbd3a2 |
diff --git a/tests/test_cli.py b/tests/test_cli.py
|
|
Michal Luscon |
dfbd3a2 |
index b51a64f..34409da 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/tests/test_cli.py
|
|
Michal Luscon |
dfbd3a2 |
+++ b/tests/test_cli.py
|
|
Michal Luscon |
dfbd3a2 |
@@ -194,7 +194,7 @@ class ConfigureTest(TestCase):
|
|
Michal Luscon |
dfbd3a2 |
def test_configure_user(self):
|
|
Michal Luscon |
dfbd3a2 |
""" Test Cli.configure as user."""
|
|
Michal Luscon |
dfbd3a2 |
self.cli.configure(['update', '-c', self.conffile])
|
|
Michal Luscon |
dfbd3a2 |
- reg = re.compile('^/var/tmp/dnf-[a-zA-Z0-9_-]+/[a-zA-Z0-9_]+/[0-9]+$')
|
|
Michal Luscon |
dfbd3a2 |
+ reg = re.compile('^/var/tmp/dnf-[a-zA-Z0-9_-]+$')
|
|
Michal Luscon |
dfbd3a2 |
self.assertIsNotNone(reg.match(self.base.conf.cachedir))
|
|
Michal Luscon |
dfbd3a2 |
self.assertEqual(self.cli.cmdstring, "dnf update -c %s " % self.conffile)
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
@@ -202,7 +202,7 @@ class ConfigureTest(TestCase):
|
|
Michal Luscon |
dfbd3a2 |
def test_configure_root(self):
|
|
Michal Luscon |
dfbd3a2 |
""" Test Cli.configure as root."""
|
|
Michal Luscon |
dfbd3a2 |
self.cli.configure(['update', '-c', self.conffile])
|
|
Michal Luscon |
dfbd3a2 |
- reg = re.compile('^/var/cache/dnf/[a-zA-Z0-9_]+/[0-9]+$')
|
|
Michal Luscon |
dfbd3a2 |
+ reg = re.compile('^/var/cache/dnf$')
|
|
Michal Luscon |
dfbd3a2 |
self.assertIsNotNone(reg.match(self.base.conf.cachedir))
|
|
Michal Luscon |
dfbd3a2 |
self.assertEqual(self.cli.cmdstring, "dnf update -c %s " % self.conffile)
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
diff --git a/tests/test_config.py b/tests/test_config.py
|
|
Michal Luscon |
dfbd3a2 |
index 7f8d380..c59270e 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/tests/test_config.py
|
|
Michal Luscon |
dfbd3a2 |
+++ b/tests/test_config.py
|
|
Michal Luscon |
dfbd3a2 |
@@ -39,23 +39,26 @@ class OptionTest(unittest.TestCase):
|
|
Michal Luscon |
dfbd3a2 |
self.fail("option should be deleted now.")
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
class CacheTest(TestCase):
|
|
Michal Luscon |
dfbd3a2 |
- @mock.patch('dnf.util.am_i_root', return_value=True)
|
|
Michal Luscon |
dfbd3a2 |
- def test_root(self, unused_am_i_root):
|
|
Michal Luscon |
dfbd3a2 |
- cache = CliCache('/var/lib/spinning', 'i286/20')
|
|
Michal Luscon |
dfbd3a2 |
- self.assertEqual(cache.system_cachedir, '/var/lib/spinning/i286/20')
|
|
Michal Luscon |
dfbd3a2 |
- self.assertEqual(cache.cachedir, '/var/lib/spinning/i286/20')
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
- @mock.patch('dnf.yum.misc.getCacheDir', return_value="/notmp/dnf-walr-yeAH")
|
|
Michal Luscon |
dfbd3a2 |
- @mock.patch('dnf.util.am_i_root', return_value=False)
|
|
Michal Luscon |
dfbd3a2 |
- def test_noroot(self, fn_root, fn_getcachedir):
|
|
Michal Luscon |
dfbd3a2 |
- cache = CliCache('/var/lib/spinning', 'i286/20')
|
|
Michal Luscon |
dfbd3a2 |
- self.assertEqual(fn_getcachedir.call_count, 0)
|
|
Michal Luscon |
dfbd3a2 |
- self.assertEqual(cache.cachedir, '/notmp/dnf-walr-yeAH/i286/20')
|
|
Michal Luscon |
dfbd3a2 |
- self.assertEqual(fn_getcachedir.call_count, 1)
|
|
Michal Luscon |
dfbd3a2 |
+ @mock.patch('dnf.util.am_i_root', return_value=True)
|
|
Michal Luscon |
dfbd3a2 |
+ def test_root(self, unused_am_i_root):
|
|
Michal Luscon |
dfbd3a2 |
+ cache = CliCache('/var/lib/spinning')
|
|
Michal Luscon |
dfbd3a2 |
+ self.assertEqual(cache.system_cachedir, '/var/lib/spinning')
|
|
Michal Luscon |
dfbd3a2 |
+ self.assertEqual(cache.cachedir, '/var/lib/spinning')
|
|
Michal Luscon |
dfbd3a2 |
+
|
|
Michal Luscon |
dfbd3a2 |
+ @mock.patch('dnf.yum.misc.getCacheDir',
|
|
Michal Luscon |
dfbd3a2 |
+ return_value="/notmp/dnf-walr-yeAH")
|
|
Michal Luscon |
dfbd3a2 |
+ @mock.patch('dnf.util.am_i_root', return_value=False)
|
|
Michal Luscon |
dfbd3a2 |
+ def test_noroot(self, fn_root, fn_getcachedir):
|
|
Michal Luscon |
dfbd3a2 |
+ cache = CliCache('/var/lib/spinning')
|
|
Michal Luscon |
dfbd3a2 |
+ self.assertEqual(fn_getcachedir.call_count, 0)
|
|
Michal Luscon |
dfbd3a2 |
+ self.assertEqual(cache.cachedir, '/notmp/dnf-walr-yeAH')
|
|
Michal Luscon |
dfbd3a2 |
+ self.assertEqual(fn_getcachedir.call_count, 1)
|
|
Michal Luscon |
dfbd3a2 |
+
|
|
Michal Luscon |
dfbd3a2 |
+ # the cachedirs are cached now, getCacheDir is not called again:
|
|
Michal Luscon |
dfbd3a2 |
+ self.assertEqual(cache.cachedir, '/notmp/dnf-walr-yeAH')
|
|
Michal Luscon |
dfbd3a2 |
+ self.assertEqual(fn_getcachedir.call_count, 1)
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
- # the cachedirs are cached now, getCacheDir is not called again:
|
|
Michal Luscon |
dfbd3a2 |
- self.assertEqual(cache.cachedir, '/notmp/dnf-walr-yeAH/i286/20')
|
|
Michal Luscon |
dfbd3a2 |
- self.assertEqual(fn_getcachedir.call_count, 1)
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
class YumConfTest(TestCase):
|
|
Michal Luscon |
dfbd3a2 |
def test_bugtracker(self):
|
|
Michal Luscon |
dfbd3a2 |
diff --git a/tests/test_package.py b/tests/test_package.py
|
|
Michal Luscon |
dfbd3a2 |
index e30a2e5..225749c 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/tests/test_package.py
|
|
Michal Luscon |
dfbd3a2 |
+++ b/tests/test_package.py
|
|
Michal Luscon |
dfbd3a2 |
@@ -74,7 +74,8 @@ class PackageTest(support.TestCase):
|
|
Michal Luscon |
dfbd3a2 |
self.assertEquals(self.pkg.localPkg(), '/mnt/cd/f/foo.rpm')
|
|
Michal Luscon |
dfbd3a2 |
self.pkg.repo.baseurl = ['http://remote']
|
|
Michal Luscon |
dfbd3a2 |
self.assertFalse(self.pkg.repo.local)
|
|
Michal Luscon |
dfbd3a2 |
- self.assertEquals(self.pkg.localPkg(), '/cachedir/main/packages/foo.rpm')
|
|
Michal Luscon |
dfbd3a2 |
+ self.assertEquals(self.pkg.localPkg(),
|
|
Michal Luscon |
dfbd3a2 |
+ self.pkg.repo.cachedir + '/packages/foo.rpm')
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
def test_verify(self):
|
|
Michal Luscon |
dfbd3a2 |
with mock.patch.object(self.pkg, 'localPkg',
|
|
Michal Luscon |
dfbd3a2 |
diff --git a/tests/test_repo.py b/tests/test_repo.py
|
|
Michal Luscon |
dfbd3a2 |
index 5677ea9..a9bd4fc 100644
|
|
Michal Luscon |
dfbd3a2 |
--- a/tests/test_repo.py
|
|
Michal Luscon |
dfbd3a2 |
+++ b/tests/test_repo.py
|
|
Michal Luscon |
dfbd3a2 |
@@ -142,9 +142,13 @@ class RepoTest(RepoTestMixin, support.TestCase):
|
|
Michal Luscon |
dfbd3a2 |
def setUp(self):
|
|
Michal Luscon |
dfbd3a2 |
self.repo = self.build_repo('r', 'r for riot')
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
+ def tearDown(self):
|
|
Michal Luscon |
dfbd3a2 |
+ dnf.util.rm_rf(self.repo.cachedir)
|
|
Michal Luscon |
dfbd3a2 |
+
|
|
Michal Luscon |
dfbd3a2 |
def test_cachedir(self):
|
|
Michal Luscon |
dfbd3a2 |
+ self.repo.baseurl = ["http://download.repo.org/r"]
|
|
Michal Luscon |
dfbd3a2 |
self.assertEqual(self.repo.cachedir,
|
|
Michal Luscon |
dfbd3a2 |
- os.path.join(self.TMP_CACHEDIR, self.repo.id))
|
|
Michal Luscon |
dfbd3a2 |
+ os.path.join(self.TMP_CACHEDIR, 'r-0824b1db602c8695'))
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
def test_dump(self):
|
|
Michal Luscon |
dfbd3a2 |
dump = self.repo.dump()
|
|
Michal Luscon |
dfbd3a2 |
@@ -198,6 +202,7 @@ class RepoTest(RepoTestMixin, support.TestCase):
|
|
Michal Luscon |
dfbd3a2 |
# the second time we only hit the cache:
|
|
Michal Luscon |
dfbd3a2 |
del self.repo
|
|
Michal Luscon |
dfbd3a2 |
self.repo = dnf.repo.Repo("r", self.TMP_CACHEDIR)
|
|
Michal Luscon |
dfbd3a2 |
+ self.repo.baseurl = [BASEURL]
|
|
Michal Luscon |
dfbd3a2 |
self.assertFalse(self.repo.load())
|
|
Michal Luscon |
dfbd3a2 |
self.assertIsNotNone(self.repo.metadata)
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
@@ -206,7 +211,7 @@ class RepoTest(RepoTestMixin, support.TestCase):
|
|
Michal Luscon |
dfbd3a2 |
self.assertIsNone(repo.metadata)
|
|
Michal Luscon |
dfbd3a2 |
self.assertTrue(repo.load())
|
|
Michal Luscon |
dfbd3a2 |
self.assertIsNotNone(repo.metadata)
|
|
Michal Luscon |
dfbd3a2 |
- repomd = os.path.join(self.TMP_CACHEDIR, "r/repodata/repomd.xml")
|
|
Michal Luscon |
dfbd3a2 |
+ repomd = os.path.join(self.repo.cachedir, "repodata/repomd.xml")
|
|
Michal Luscon |
dfbd3a2 |
self.assertTrue(os.path.isfile(repomd))
|
|
Michal Luscon |
dfbd3a2 |
self.assertTrue(repo.metadata.fresh)
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
@@ -339,7 +344,8 @@ class LocalRepoTest(support.TestCase):
|
|
Michal Luscon |
dfbd3a2 |
('sha1', 'd5f18c856e765cd88a50dbf1bfaea51de3b5e516'),
|
|
Michal Luscon |
dfbd3a2 |
('sha256', 'ead48d5c448a481bd66a4413d7be28bd44ce5de1ee59ecb723c78dcf4e441696'),
|
|
Michal Luscon |
dfbd3a2 |
('sha512', '9a3131485c0c0a3f65bb5f25155e89d2d6b09e74ffdaa1c3339d3874885d160d8b4667a4a83dbd7d2702a5d41a4e1bc5622c4783b77dcf1f69626c68975202ce')]}
|
|
Michal Luscon |
dfbd3a2 |
- self.assertTrue(self.repo.load())
|
|
Michal Luscon |
dfbd3a2 |
+ with mock.patch('dnf.repo.Repo.cachedir', REPOS + "/rpm"):
|
|
Michal Luscon |
dfbd3a2 |
+ self.assertTrue(self.repo.load())
|
|
Michal Luscon |
dfbd3a2 |
self.assertTrue(remote_handle_m.fetchmirrors)
|
|
Michal Luscon |
dfbd3a2 |
self.assertFalse(self.repo._expired)
|
|
Michal Luscon |
dfbd3a2 |
reset_age_m.assert_called()
|
|
Michal Luscon |
dfbd3a2 |
@@ -422,7 +428,7 @@ class DownloadPayloadsTest(RepoTestMixin, support.TestCase):
|
|
Michal Luscon |
dfbd3a2 |
errs = dnf.repo.download_payloads([pload], drpm)
|
|
Michal Luscon |
dfbd3a2 |
self.assertEmpty(errs.recoverable)
|
|
Michal Luscon |
dfbd3a2 |
self.assertEmpty(errs.irrecoverable)
|
|
Michal Luscon |
dfbd3a2 |
- path = os.path.join(self.TMP_CACHEDIR, 'r/packages/tour-4-4.noarch.rpm')
|
|
Michal Luscon |
dfbd3a2 |
+ path = os.path.join(repo.cachedir, 'packages/tour-4-4.noarch.rpm')
|
|
Michal Luscon |
dfbd3a2 |
self.assertFile(path)
|
|
Michal Luscon |
dfbd3a2 |
|
|
Michal Luscon |
dfbd3a2 |
|