Restore the ability to install sbin-tools into sbindir since it works fine with pure distutils. The issue is python-exec/eclass-specific and therefore all the relevant workarounds belong in the ebuild. --- pym/portage/tests/__init__.py | 4 +--- setup.py | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/pym/portage/tests/__init__.py b/pym/portage/tests/__init__.py index afa57e3..708dd59 100644 --- a/pym/portage/tests/__init__.py +++ b/pym/portage/tests/__init__.py @@ -197,9 +197,7 @@ class TestCase(unittest.TestCase): self.cnf_path = cnf_path self.cnf_etc_path = cnf_etc_path self.bindir = cnf_bindir - # sbin scripts are installed by setup.py to the bindir - # they are relocated to /usr/sbin dir by the ebuild later - self.sbindir = self.bindir + self.sbindir = cnf_sbindir def defaultTestResult(self): return TextTestResult() diff --git a/setup.py b/setup.py index dba8539..8231c0a 100755 --- a/setup.py +++ b/setup.py @@ -30,10 +30,12 @@ import sys x_scripts = { 'bin': [ - 'bin/archive-conf', 'bin/dispatch-conf', 'bin/ebuild', 'bin/egencache', - 'bin/emaint', 'bin/emerge', 'bin/emerge-webrsync', 'bin/emirrordist', - 'bin/env-update', 'bin/etc-update', 'bin/fixpackages', 'bin/portageq', - 'bin/quickpkg', 'bin/regenworld', 'bin/repoman', + 'bin/ebuild', 'bin/egencache', 'bin/emerge', 'bin/emerge-webrsync', + 'bin/emirrordist', 'bin/portageq', 'bin/quickpkg', 'bin/repoman' + ], + 'sbin': [ + 'bin/archive-conf', 'bin/dispatch-conf', 'bin/emaint', 'bin/env-update', + 'bin/etc-update', 'bin/fixpackages', 'bin/regenworld' ], } @@ -224,6 +226,10 @@ class x_build_scripts_bin(x_build_scripts_custom): dir_name = 'bin' +class x_build_scripts_sbin(x_build_scripts_custom): + dir_name = 'sbin' + + class x_build_scripts_portagebin(x_build_scripts_custom): dir_name = 'portage' @@ -238,6 +244,7 @@ class x_build_scripts(build_scripts): def run(self): self.run_command('build_scripts_bin') self.run_command('build_scripts_portagebin') + self.run_command('build_scripts_sbin') class x_clean(clean): @@ -473,6 +480,11 @@ class x_install_scripts_bin(x_install_scripts_custom): var_name = 'bindir' +class x_install_scripts_sbin(x_install_scripts_custom): + dir_name = 'sbin' + var_name = 'sbindir' + + class x_install_scripts_portagebin(x_install_scripts_custom): dir_name = 'portage' var_name = 'portage_bindir' @@ -488,6 +500,7 @@ class x_install_scripts(install_scripts): def run(self): self.run_command('install_scripts_bin') self.run_command('install_scripts_portagebin') + self.run_command('install_scripts_sbin') class x_sdist(sdist): @@ -624,6 +637,7 @@ setup( 'build_scripts': x_build_scripts, 'build_scripts_bin': x_build_scripts_bin, 'build_scripts_portagebin': x_build_scripts_portagebin, + 'build_scripts_sbin': x_build_scripts_sbin, 'build_tests': build_tests, 'clean': x_clean, 'docbook': docbook, @@ -636,6 +650,7 @@ setup( 'install_scripts': x_install_scripts, 'install_scripts_bin': x_install_scripts_bin, 'install_scripts_portagebin': x_install_scripts_portagebin, + 'install_scripts_sbin': x_install_scripts_sbin, 'sdist': x_sdist, 'test': test, }, -- 2.1.3