Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
df55334d
Commit
df55334d
authored
Jun 10, 2011
by
Éric Araujo
Browse files
Options
Browse Files
Download
Plain Diff
Branch merge
parents
ff9b5c76
fa6cfbc4
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
35 additions
and
9 deletions
+35
-9
Lib/packaging/install.py
Lib/packaging/install.py
+15
-4
Lib/packaging/tests/test_command_install_distinfo.py
Lib/packaging/tests/test_command_install_distinfo.py
+1
-1
Lib/packaging/tests/test_dist.py
Lib/packaging/tests/test_dist.py
+1
-1
Lib/packaging/tests/test_install.py
Lib/packaging/tests/test_install.py
+12
-2
Makefile.pre.in
Makefile.pre.in
+1
-1
Misc/ACKS
Misc/ACKS
+1
-0
Misc/NEWS
Misc/NEWS
+4
-0
No files found.
Lib/packaging/install.py
View file @
df55334d
...
...
@@ -13,7 +13,7 @@ import errno
import
shutil
import
logging
import
tempfile
from
sysconfig
import
get_config_var
,
get_path
from
sysconfig
import
get_config_var
,
get_path
,
is_python_build
from
packaging
import
logger
from
packaging.dist
import
Distribution
...
...
@@ -488,20 +488,31 @@ def install(project):
Returns True on success, False on failure
"""
if
is_python_build
():
# Python would try to install into the site-packages directory under
# $PREFIX, but when running from an uninstalled code checkout we don't
# want to create directories under the installation root
message
=
(
'installing third-party projects from an uninstalled '
'Python is not supported'
)
logger
.
error
(
message
)
return
False
logger
.
info
(
'Checking the installation location...'
)
purelib_path
=
get_path
(
'purelib'
)
# trying to write a file there
try
:
with
tempfile
.
NamedTemporaryFile
(
suffix
=
project
,
dir
=
purelib_path
)
as
testfile
:
testfile
.
write
(
b'test'
)
except
OSError
:
# was unable to write a file
# FIXME this should check the errno, or be removed altogether (race
# condition: the directory permissions could be changed between here
# and the actual install)
logger
.
info
(
'Unable to write in "%s". Do you have the permissions ?'
%
purelib_path
)
return
False
logger
.
info
(
'Getting information about %r...'
,
project
)
try
:
info
=
get_infos
(
project
)
...
...
@@ -520,7 +531,7 @@ def install(project):
except
InstallationConflict
as
e
:
if
logger
.
isEnabledFor
(
logging
.
INFO
):
projects
=
[
'%
s
%s'
%
(
p
.
name
,
p
.
version
)
for
p
in
e
.
args
[
0
]]
projects
=
[
'%
r
%s'
%
(
p
.
name
,
p
.
version
)
for
p
in
e
.
args
[
0
]]
logger
.
info
(
'%r conflicts with %s'
,
project
,
','
.
join
(
projects
))
return
True
...
...
Lib/packaging/tests/test_command_install_distinfo.py
View file @
df55334d
...
...
@@ -162,7 +162,7 @@ class InstallDistinfoTestCase(support.TempdirManager,
expected
=
[]
for
f
in
install
.
get_outputs
():
if
(
f
.
endswith
(
'.pyc'
)
or
f
==
os
.
path
.
join
(
if
(
f
.
endswith
(
(
'.pyc'
,
'.pyo'
)
)
or
f
==
os
.
path
.
join
(
install_dir
,
'foo-1.0.dist-info'
,
'RECORD'
)):
expected
.
append
([
f
,
''
,
''
])
else
:
...
...
Lib/packaging/tests/test_dist.py
View file @
df55334d
...
...
@@ -35,7 +35,7 @@ class DistributionTestCase(support.TempdirManager,
support
.
EnvironRestorer
,
unittest
.
TestCase
):
restore_environ
=
[
'HOME'
]
restore_environ
=
[
'HOME'
,
'PLAT'
]
def
setUp
(
self
):
super
(
DistributionTestCase
,
self
).
setUp
()
...
...
Lib/packaging/tests/test_install.py
View file @
df55334d
"""Tests for the packaging.install module."""
import
os
import
logging
from
sysconfig
import
is_python_build
from
tempfile
import
mkstemp
from
packaging
import
install
...
...
@@ -357,9 +359,17 @@ class TestInstall(LoggingCatcher, TempdirManager, unittest.TestCase):
install
.
_install_dist
=
old_install_dist
def
test_install_permission_denied
(
self
):
# if we don't have
the access to the installation
#
path, we should abort immediat
ly
# if we don't have
access to the installation path, we should abort
#
immediate
ly
project
=
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
'package.tgz'
)
# when running from an uninstalled build, a warning is emitted and the
# installation is not attempted
if
is_python_build
():
self
.
assertFalse
(
install
.
install
(
project
))
self
.
assertEqual
(
1
,
len
(
self
.
get_logs
(
logging
.
ERROR
)))
return
install_path
=
self
.
mkdtemp
()
old_get_path
=
install
.
get_path
install
.
get_path
=
lambda
path
:
install_path
...
...
Makefile.pre.in
View file @
df55334d
...
...
@@ -950,7 +950,7 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR)
else
true
;
\
fi
;
\
done
@
for
i
in
$(srcdir)
/Lib/
*
.py
$(srcdir)
/Lib/
*
.
egg-info
$(srcdir)
/Lib/
*
.
cfg
;
\
@
for
i
in
$(srcdir)
/Lib/
*
.py
$(srcdir)
/Lib/
*
.cfg
;
\
do
\
if
test
-x
$$
i
;
then
\
$(INSTALL_SCRIPT)
$$
i
$(DESTDIR)$(LIBDEST)
;
\
...
...
Misc/ACKS
View file @
df55334d
...
...
@@ -550,6 +550,7 @@ Joerg Lehmann
Robert Lehmann
Petri Lehtinen
Luke Kenneth Casson Leighton
Tshepang Lekhonkhobe
Marc-Andre Lemburg
John Lenton
Christopher Tur Lesniewski-Laas
...
...
Misc/NEWS
View file @
df55334d
...
...
@@ -187,6 +187,10 @@ Core and Builtins
Library
-------
- Issue #12246: Warn and fail when trying to install a third-party project from
an uninstalled Python (built in a source checkout). Original patch by
Tshepang Lekhonkhobe.
- Issue #10694: zipfile now ignores garbage at the end of a zipfile.
- Issue #12283: Fixed regression in smtplib quoting of leading dots in DATA.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment