Adds patch to check for the existence of repos.conf file, bug #574188
authorDevan Franchini <twitch153@gentoo.org>
Sat, 30 Apr 2016 23:20:38 +0000 (19:20 -0400)
committerDevan Franchini <twitch153@gentoo.org>
Sat, 30 Apr 2016 23:20:38 +0000 (19:20 -0400)
Package-Manager: portage-2.2.27

app-portage/layman/files/layman-2.3.0-dir_check.patch [new file with mode: 0644]
app-portage/layman/layman-2.3.0-r1.ebuild

diff --git a/app-portage/layman/files/layman-2.3.0-dir_check.patch b/app-portage/layman/files/layman-2.3.0-dir_check.patch
new file mode 100644 (file)
index 0000000..af5ec4a
--- /dev/null
@@ -0,0 +1,31 @@
+From: Devan Franchini <twitch153@gentoo.org>
+Date: Sat, 30 Apr 2016 18:54:39 -0400
+Subject: [PATCH] Adds dir check for repos.conf rebuilding
+
+--- a/layman/updater.py        2015-02-07 22:38:49.000000000 -0500
++++ b/layman/updater.py        2016-04-30 18:54:39.103894343 -0400
+@@ -182,6 +182,24 @@
+     def create_repos_conf(self):
+         self.output.info("  Creating layman's repos.conf file")
++
++        if os.path.isdir(self.config['repos_conf']):
++            msg = '  create_repos_conf() error: %s is a directory and will\n'\
++                  '  not be written to.' % self.config['repos_conf']
++            self.output.error(msg)
++            return None
++
++        conf_dir = os.path.dirname(self.config['repos_conf'])
++
++        if not os.path.isdir(conf_dir):
++            try:
++                os.mkdir(conf_dir)
++            except OSError as e:
++                self.output.error('  create_repos_conf() error creating: %s: '\
++                                   % conf_dir)
++                self.output.error('  "%s"' % e)
++                return None
++
+         layman_inst = LaymanAPI(config=self.config)
+         overlays = {}
+         for ovl in layman_inst.get_installed():
index 090a8ff55cbb0857a25de00c5491fff69d477efa..d3a9a16c641016db8fc228f45a6d74123fca3368 100644 (file)
@@ -61,6 +61,7 @@ python_prepare_all()  {
        esetup.py setup_plugins
        distutils-r1_python_prepare_all
        #rm "${S}"/"${PN}"/tests/dtest.py
+       epatch "${FILESDIR}"/${P}-dir_check.patch
        eprefixify etc/layman.cfg layman/config.py
 }