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
0176a42f
Commit
0176a42f
authored
Jun 06, 2011
by
Éric Araujo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix sdist to always include setup.cfg (#11092), to comply with the spec
parent
a0892ced
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
19 deletions
+32
-19
Lib/packaging/command/sdist.py
Lib/packaging/command/sdist.py
+13
-8
Lib/packaging/tests/test_command_sdist.py
Lib/packaging/tests/test_command_sdist.py
+8
-5
Lib/packaging/tests/test_create.py
Lib/packaging/tests/test_create.py
+11
-6
No files found.
Lib/packaging/command/sdist.py
View file @
0176a42f
...
...
@@ -201,15 +201,20 @@ class sdist(Command):
self
.
filelist
.
write
(
self
.
manifest
)
def
add_defaults
(
self
):
"""Add all the default files to self.filelist:
- all pure Python modules mentioned in setup script
- all files pointed by package_data (build_py)
- all files defined in data_files.
- all files defined as scripts.
- all C sources listed as part of extensions or C libraries
in the setup script (doesn't catch C headers!)
Everything is optional.
"""Add all default files to self.filelist.
In addition to the setup.cfg file, this will include all files returned
by the get_source_files of every registered command. This will find
Python modules and packages, data files listed in package_data_,
data_files and extra_files, scripts, C sources of extension modules or
C libraries (headers are missing).
"""
if
os
.
path
.
exists
(
'setup.cfg'
):
self
.
filelist
.
append
(
'setup.cfg'
)
else
:
logger
.
warning
(
"%s: standard 'setup.cfg' file not found"
,
self
.
get_command_name
())
for
cmd_name
in
get_command_names
():
try
:
cmd_obj
=
self
.
get_finalized_command
(
cmd_name
)
...
...
Lib/packaging/tests/test_command_sdist.py
View file @
0176a42f
...
...
@@ -34,6 +34,7 @@ setup(name='fake')
MANIFEST
=
"""
\
# file GENERATED by packaging, do NOT edit
inroot.txt
setup.cfg
data%(sep)sdata.dt
scripts%(sep)sscript.py
some%(sep)sfile.txt
...
...
@@ -173,6 +174,7 @@ class SDistTestCase(support.TempdirManager,
# in package_data
dist
.
package_data
=
{
''
:
[
'*.cfg'
,
'*.dat'
],
'somecode'
:
[
'*.txt'
]}
self
.
write_file
((
self
.
tmp_dir
,
'setup.cfg'
),
'#'
)
self
.
write_file
((
self
.
tmp_dir
,
'somecode'
,
'doc.txt'
),
'#'
)
self
.
write_file
((
self
.
tmp_dir
,
'somecode'
,
'doc.dat'
),
'#'
)
...
...
@@ -212,8 +214,8 @@ class SDistTestCase(support.TempdirManager,
content
=
zip_file
.
namelist
()
# Making sure everything was added. This includes 8 code and data
# files in addition to PKG-INFO
.
self
.
assertEqual
(
len
(
content
),
9
)
# files in addition to PKG-INFO
and setup.cfg
self
.
assertEqual
(
len
(
content
),
10
)
# Checking the MANIFEST
with
open
(
join
(
self
.
tmp_dir
,
'MANIFEST'
))
as
fp
:
...
...
@@ -230,7 +232,7 @@ class SDistTestCase(support.TempdirManager,
cmd
.
ensure_finalized
()
cmd
.
run
()
warnings
=
self
.
get_logs
(
logging
.
WARN
)
self
.
assertEqual
(
len
(
warnings
),
3
)
self
.
assertEqual
(
len
(
warnings
),
4
)
# trying with a complete set of metadata
self
.
loghandler
.
flush
()
...
...
@@ -242,8 +244,9 @@ class SDistTestCase(support.TempdirManager,
# removing manifest generated warnings
warnings
=
[
warn
for
warn
in
warnings
if
not
warn
.
endswith
(
'-- skipping'
)]
# the remaining warning is about the use of the default file list
self
.
assertEqual
(
len
(
warnings
),
1
)
# the remaining warnings are about the use of the default file list and
# the absence of setup.cfg
self
.
assertEqual
(
len
(
warnings
),
2
)
def
test_show_formats
(
self
):
__
,
stdout
=
captured_stdout
(
show_formats
)
...
...
Lib/packaging/tests/test_create.py
View file @
0176a42f
...
...
@@ -66,10 +66,15 @@ class CreateTestCase(support.TempdirManager,
# building the structure
tempdir
=
self
.
wdir
dirs
=
[
'pkg1'
,
'data'
,
'pkg2'
,
'pkg2/sub'
]
files
=
[
'README'
,
'setup.cfg'
,
'foo.py'
,
'pkg1/__init__.py'
,
'pkg1/bar.py'
,
'data/data1'
,
'pkg2/__init__.py'
,
'pkg2/sub/__init__.py'
]
files
=
[
'README'
,
'data/data1'
,
'foo.py'
,
'pkg1/__init__.py'
,
'pkg1/bar.py'
,
'pkg2/__init__.py'
,
'pkg2/sub/__init__.py'
,
]
for
dir_
in
dirs
:
os
.
mkdir
(
os
.
path
.
join
(
tempdir
,
dir_
))
...
...
@@ -86,8 +91,8 @@ class CreateTestCase(support.TempdirManager,
[
'pkg1'
,
'pkg2'
,
'pkg2.sub'
])
self
.
assertEqual
(
mainprogram
.
data
[
'modules'
],
[
'foo'
])
data_fn
=
os
.
path
.
join
(
'data'
,
'data1'
)
self
.
assertEqual
(
set
(
mainprogram
.
data
[
'extra_files'
])
,
set
([
'setup.cfg'
,
'README'
,
data_fn
])
)
self
.
assertEqual
(
mainprogram
.
data
[
'extra_files'
]
,
[
'README'
,
data_fn
]
)
def
test_convert_setup_py_to_cfg
(
self
):
self
.
write_file
((
self
.
wdir
,
'setup.py'
),
...
...
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