/usr/lib/python3.6/site-packages/dnf
NameSizeModeActions
cli/-0755rm
conf/-0755rm
db/-0755rm
module/-0755rm
rpm/-0755rm
yum/-0755rm
__pycache__/-0755rm
base.py1174930644editdlrm
callback.py37240644editdlrm
comps.py248200644editdlrm
const.py23680644editdlrm
crypto.py61230644editdlrm
dnssec.py113230644editdlrm
drpm.py63520644editdlrm
exceptions.py58490644editdlrm
goal.py11010644editdlrm
history.py11500644editdlrm
i18n.py123210644editdlrm
lock.py53220644editdlrm
logging.py103540644editdlrm
match_counter.py39240644editdlrm
package.py112040644editdlrm
persistor.py47190644editdlrm
plugin.py95580644editdlrm
pycomp.py36040644editdlrm
query.py15870644editdlrm
repo.py208120644editdlrm
repodict.py51580644editdlrm
sack.py30430644editdlrm
selector.py11250644editdlrm
subject.py11500644editdlrm
transaction.py43970644editdlrm
transaction_sr.py262090644editdlrm
util.py203750644editdlrm
__init__.py13890644editdlrm
Edit: /usr/lib/python3.6/site-packages/dnf/sack.py (3043B)
# sack.py # The dnf.Sack class, derived from hawkey.Sack # # Copyright (C) 2012-2016 Red Hat, Inc. # # This copyrighted material is made available to anyone wishing to use, # modify, copy, or redistribute it subject to the terms and conditions of # the GNU General Public License v.2, or (at your option) any later version. # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY expressed or implied, including the implied warranties of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General # Public License for more details. You should have received a copy of the # GNU General Public License along with this program; if not, write to the # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the # source code or documentation are not subject to the GNU General Public # License and may only be used or replicated with the express permission of # Red Hat, Inc. # from __future__ import absolute_import from __future__ import unicode_literals import dnf.util import dnf.package import dnf.query import logging import hawkey import os from dnf.pycomp import basestring from dnf.i18n import _ logger = logging.getLogger("dnf") class Sack(hawkey.Sack): # :api def __init__(self, *args, **kwargs): super(Sack, self).__init__(*args, **kwargs) def _configure(self, installonly=None, installonly_limit=0, allow_vendor_change=None): if installonly: self.installonly = installonly self.installonly_limit = installonly_limit if allow_vendor_change is not None: self.allow_vendor_change = allow_vendor_change if allow_vendor_change is False: logger.warning(_("allow_vendor_change is disabled. This option is currently not supported for downgrade and distro-sync commands")) def query(self, flags=0): # :api """Factory function returning a DNF Query.""" return dnf.query.Query(self, flags) def _build_sack(base): cachedir = base.conf.cachedir # create the dir ourselves so we have the permissions under control: dnf.util.ensure_dir(cachedir) return Sack(pkgcls=dnf.package.Package, pkginitval=base, arch=base.conf.substitutions["arch"], cachedir=cachedir, rootdir=base.conf.installroot, logfile=os.path.join(base.conf.logdir, dnf.const.LOG_HAWKEY), logdebug=base.conf.logfilelevel > 9) def _rpmdb_sack(base): # used by subscription-manager (src/dnf-plugins/product-id.py) sack = _build_sack(base) try: # It can fail if rpmDB is not present sack.load_system_repo(build_cache=False) except IOError: pass return sack def rpmdb_sack(base): # :api """ Returns a new instance of sack containing only installed packages (@System repo) Useful to get list of the installed RPMs after transaction. """ return _rpmdb_sack(base)