#5 Create /usr/local/lib/pythonX.Y when needed (#1576924)
Merged 5 years ago by churchyard. Opened 5 years ago by churchyard.
rpms/ churchyard/python-setuptools create-site-packages  into  master

@@ -0,0 +1,17 @@ 

+ diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py

+ index 91c48b3..0c9b0f4 100755

+ --- a/setuptools/command/easy_install.py

+ +++ b/setuptools/command/easy_install.py

+ @@ -446,6 +446,12 @@ class easy_install(Command):

+          instdir = normalize_path(self.install_dir)

+          pth_file = os.path.join(instdir, 'easy-install.pth')

+  

+ +        if not os.path.exists(instdir):

+ +            try:

+ +                os.makedirs(instdir)

+ +            except (OSError, IOError):

+ +                self.cant_write_to_target()

+ +

+          # Is it a configured, PYTHONPATH, implicit, or explicit site dir?

+          is_site_dir = instdir in self.all_site_dirs

+  

file modified
+11 -2
@@ -31,7 +31,7 @@ 

  

  Name:           python-setuptools

  Version:        39.2.0

- Release:        5%{?dist}

+ Release:        6%{?dist}

  Summary:        Easily build and distribute Python packages

  

  Group:          Applications/System
@@ -39,6 +39,12 @@ 

  URL:            https://pypi.python.org/pypi/%{srcname}

  Source0:        https://files.pythonhosted.org/packages/source/s/%{srcname}/%{srcname}-%{version}.zip

  

+ # In Fedora, sudo setup.py install installs to /usr/local/lib/pythonX.Y/site-packages

+ # But pythonX doesn't own that dir, that would be against FHS

+ # We need to create it if it doesn't exist

+ # https://bugzilla.redhat.com/show_bug.cgi?id=1576924

+ Patch0:         create-site-packages.patch

+ 

  BuildArch:      noarch

  

  BuildRequires:  gcc
@@ -123,7 +129,7 @@ 

  

  

  %prep

- %setup -q -n %{srcname}-%{version}

+ %autosetup -p1 -n %{srcname}-%{version}

  

  # We can't remove .egg-info (but it doesn't matter, since it'll be rebuilt):

  #  The problem is that to properly execute setuptools' setup.py,
@@ -246,6 +252,9 @@ 

  

  

  %changelog

+ * Thu Jul 19 2018 Miro Hrončok <mhroncok@redhat.com> - 39.2.0-6

+ - Create /usr/local/lib/pythonX.Y when needed (#1576924)

+ 

  * Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 39.2.0-5

  - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

  

In Fedora, sudo setup.py install installs to /usr/local/lib/pythonX.Y/site-packages
But pythonX doesn't own that dir, that would be against FSH
We need to create it if it doesn't exist

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1576924

@cstratak could you review please?

@ncoghlan Do you think PyPA would accept this change even tough it's not needed on unpatched Python?

rebased onto dbcd0a1

5 years ago

Pull-Request has been merged by churchyard

5 years ago