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
40b998b0
Commit
40b998b0
authored
Oct 27, 2009
by
Tarek Ziadé
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed #1180: Option to ignore ~/.pydistutils.cfg in Distutils
parent
4e1be94b
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
71 additions
and
8 deletions
+71
-8
Doc/ACKS.txt
Doc/ACKS.txt
+1
-0
Doc/distutils/builtdist.rst
Doc/distutils/builtdist.rst
+2
-1
Doc/install/index.rst
Doc/install/index.rst
+3
-0
Lib/distutils/core.py
Lib/distutils/core.py
+3
-2
Lib/distutils/dist.py
Lib/distutils/dist.py
+30
-5
Lib/distutils/tests/test_dist.py
Lib/distutils/tests/test_dist.py
+29
-0
Misc/NEWS
Misc/NEWS
+3
-0
No files found.
Doc/ACKS.txt
View file @
40b998b0
...
...
@@ -207,6 +207,7 @@ docs@python.org), and we'll be glad to correct the problem.
* Mats Wichmann
* Gerry Wiener
* Timothy Wild
* Paul Winkler
* Collin Winter
* Blake Winton
* Dan Wolfe
...
...
Doc/distutils/builtdist.rst
View file @
40b998b0
...
...
@@ -241,7 +241,8 @@ tedious and error-prone, so it's usually best to put them in the setup
configuration file, :file:`setup.cfg`\ ---see section :ref:`setup-config`. If
you distribute or package many Python module distributions, you might want to
put options that apply to all of them in your personal Distutils configuration
file (:file:`~/.pydistutils.cfg`).
file (:file:`~/.pydistutils.cfg`). If you want to temporarily disable
this file, you can pass the --no-user-cfg option to setup.py.
There are three steps to building a binary RPM package, all of which are
handled automatically by the Distutils:
...
...
Doc/install/index.rst
View file @
40b998b0
...
...
@@ -694,6 +694,9 @@ And on Windows, the configuration files are:
| local | :file:`setup.cfg` | \(3) |
+--------------+-------------------------------------------------+-------+
On all platforms, the "personal" file can be temporarily disabled by
passing the `--no-user-cfg` option.
Notes:
(1)
...
...
Lib/distutils/core.py
View file @
40b998b0
...
...
@@ -129,8 +129,9 @@ def setup (**attrs):
if
_setup_stop_after
==
"config"
:
return
dist
# Parse the command line; any command-line errors are the end user's
# fault, so turn them into SystemExit to suppress tracebacks.
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try
:
ok
=
dist
.
parse_command_line
()
except
DistutilsArgError
,
msg
:
...
...
Lib/distutils/dist.py
View file @
40b998b0
...
...
@@ -56,7 +56,9 @@ class Distribution:
(
'quiet'
,
'q'
,
"run quietly (turns verbosity off)"
),
(
'dry-run'
,
'n'
,
"don't actually do anything"
),
(
'help'
,
'h'
,
"show detailed help message"
),
]
(
'no-user-cfg'
,
None
,
'ignore pydistutils.cfg in your home directory'
),
]
# 'common_usage' is a short (2-3 line) string describing the common
# usage of the setup script.
...
...
@@ -264,6 +266,22 @@ Common commands: (see '--help-commands' for more)
else
:
sys
.
stderr
.
write
(
msg
+
"
\
n
"
)
# no-user-cfg is handled before other command line args
# because other args override the config files, and this
# one is needed before we can load the config files.
# If attrs['script_args'] wasn't passed, assume false.
#
# This also make sure we just look at the global options
self
.
want_user_cfg
=
True
if
self
.
script_args
is
not
None
:
for
arg
in
self
.
script_args
:
if
not
arg
.
startswith
(
'-'
):
break
if
arg
==
'--no-user-cfg'
:
self
.
want_user_cfg
=
False
break
self
.
finalize_options
()
def
get_option_dict
(
self
,
command
):
...
...
@@ -316,7 +334,10 @@ Common commands: (see '--help-commands' for more)
Distutils installation directory (ie. where the top-level
Distutils __inst__.py file lives), a file in the user's home
directory named .pydistutils.cfg on Unix and pydistutils.cfg
on Windows/Mac, and setup.cfg in the current directory.
on Windows/Mac; and setup.cfg in the current directory.
The file in the user's home directory can be disabled with the
--no-user-cfg option.
"""
files
=
[]
check_environ
()
...
...
@@ -336,15 +357,19 @@ Common commands: (see '--help-commands' for more)
user_filename
=
"pydistutils.cfg"
# And look for the user config file
user_file
=
os
.
path
.
join
(
os
.
path
.
expanduser
(
'~'
),
user_filename
)
if
os
.
path
.
isfile
(
user_file
):
files
.
append
(
user_file
)
if
self
.
want_user_cfg
:
user_file
=
os
.
path
.
join
(
os
.
path
.
expanduser
(
'~'
),
user_filename
)
if
os
.
path
.
isfile
(
user_file
):
files
.
append
(
user_file
)
# All platforms support local setup.cfg
local_file
=
"setup.cfg"
if
os
.
path
.
isfile
(
local_file
):
files
.
append
(
local_file
)
if
DEBUG
:
self
.
announce
(
"using config files: %s"
%
', '
.
join
(
files
))
return
files
def
parse_config_files
(
self
,
filenames
=
None
):
...
...
Lib/distutils/tests/test_dist.py
View file @
40b998b0
...
...
@@ -209,6 +209,35 @@ class DistributionTestCase(support.TempdirManager,
kwargs
=
{
'level'
:
'ok2'
}
self
.
assertRaises
(
ValueError
,
dist
.
announce
,
args
,
kwargs
)
def
test_find_config_files_disable
(
self
):
# Ticket #1180: Allow user to disable their home config file.
temp_home
=
self
.
mkdtemp
()
if
os
.
name
==
'posix'
:
user_filename
=
os
.
path
.
join
(
temp_home
,
".pydistutils.cfg"
)
else
:
user_filename
=
os
.
path
.
join
(
temp_home
,
"pydistutils.cfg"
)
with
open
(
user_filename
,
'w'
)
as
f
:
f
.
write
(
'[distutils]
\
n
'
)
def
_expander
(
path
):
return
temp_home
old_expander
=
os
.
path
.
expanduser
os
.
path
.
expanduser
=
_expander
try
:
d
=
distutils
.
dist
.
Distribution
()
all_files
=
d
.
find_config_files
()
d
=
distutils
.
dist
.
Distribution
(
attrs
=
{
'script_args'
:
[
'--no-user-cfg'
]})
files
=
d
.
find_config_files
()
finally
:
os
.
path
.
expanduser
=
old_expander
# make sure --no-user-cfg disables the user cfg file
self
.
assertEquals
(
len
(
all_files
)
-
1
,
len
(
files
))
class
MetadataTestCase
(
support
.
TempdirManager
,
support
.
EnvironGuard
,
unittest
.
TestCase
):
...
...
Misc/NEWS
View file @
40b998b0
...
...
@@ -427,6 +427,9 @@ Core and Builtins
Library
-------
- Issue #1180: Added a new global option to ignore ~/.pydistutils.cfg in
Distutils.
- Issue #7218: Fix test_site for win32, the directory comparison was done with
an uppercase.
...
...
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