Commit Graph

1523 Commits

Author SHA1 Message Date
Éric Araujo e5567ccc86 Create ~/.pypirc securely (#13512).
There was a window between the write and the chmod where the user’s
password would be exposed, depending on default permissions.  Philip
Jenvey’s patch fixes it.
2012-07-03 01:23:46 -04:00
Éric Araujo 3cf202e957 Ignore .nfs* files in distutils (#7719).
These files are created by some NFS clients a file is edited and removed
concurrently (see added link in doc for more info).  If such a file is
removed between distutils calls listdir and copy, it will get confused.
Other special files are ignored in sdist (namely VCS directories), but
this has to be filtered out earlier.
2012-07-03 01:12:42 -04:00
Benjamin Peterson ad6b3f570a merge 2.7.3 release branch 2012-04-09 19:05:58 -04:00
Benjamin Peterson e95a8f6ff1 bump to 2.7.3 final 2012-04-09 19:04:04 -04:00
Benjamin Peterson f1acd0ab38 merge from 2.7 release branch 2012-03-15 13:01:04 -05:00
Benjamin Peterson ee933eccc9 bump to 2.7.3rc2 2012-03-15 12:25:54 -05:00
Éric Araujo 021eddfff6 Fix long-standing bugs with MANIFEST.in parsing on Windows (#6884).
These regex changes fix a number of issues for distutils on Windows:
- #6884: impossible to include a file starting with 'build'
- #9691 and #14004: sdist includes too many files
- #13193: test_filelist failures

This commit replaces the incorrect changes done in 557a973709de,
c566a3447ba1 and 3925081a7ca0 to fix #13193; we were too eager to fix
the test failures and I did not study the code enough before
greenlighting patches.  This time we have unit tests from the problems
reported by users to be sure we have the right fix.

Thanks to Nadeem Vawda for his help.
2012-02-25 16:13:53 +01:00
Benjamin Peterson a2aa2ef313 bump to 2.7.3rc1 2012-02-23 10:52:17 -05:00
Éric Araujo c82da813c1 Fix test failure for shared builds caused by #1326113 fix 2012-02-15 18:13:45 +01:00
Éric Araujo e897a7472d Fix parsing of build_ext --libraries option (#1326113) 2012-02-15 16:28:20 +01:00
Nadeem Vawda c48c16ea3a Issue #13193: Fix distutils.filelist tests to always use / as path separator. 2012-02-13 21:33:51 +02:00
Éric Araujo 6faad8de7f Fix distutils.filelist.FileList under Windows (#13193).
The code used to call os.path.join to build a regex but without escaping
the backslash, which lead to test failures on Windows.  Antoine Pitrou
fixed it in 557a973709de by enhancing the code to accept both / and \,
with proper escaping, but in my opinion this goes against the distutils
feature freeze, hence this change.
2012-02-12 04:41:36 +01:00
Ned Deily c47a459251 Issue #13994: Earler partial revert of Distutils enhancements in 2.7
has left two versions of customize_compiler, the original in
distutils.sysconfig and another copy in distutils.ccompiler, with some
parts of distutils calling one and others using the other.
Complete the revert back to only having one in distutils.sysconfig as
is the case in 3.x.
2012-02-11 20:40:24 +01:00
Ned Deily 0d0ea48709 Issue #13590: On OS X 10.7 and 10.6 with Xcode 4.2, building
Distutils-based packages with C extension modules may fail because
Apple has removed gcc-4.2, the version used to build python.org
64-bit/32-bit Pythons.  If the user does not explicitly override
the default C compiler by setting the CC environment variable,
Distutils will now attempt to compile extension modules with clang
if gcc-4.2 is required but not found. Also as a convenience, if
the user does explicitly set CC, substitute its value as the default
compiler in the Distutils LDSHARED configuration variable for OS X.
(Note, the python.org 32-bit-only Pythons use gcc-4.0 and the 10.4u
SDK, neither of which are available in Xcode 4.  This change does not
attempt to override settings to support their use with Xcode 4.)
2012-02-10 12:59:06 +01:00
Ned Deily fbc56fde26 Issue #13901: Prevent test_distutils failures on OS X with --enable-shared. 2012-02-03 02:39:49 +01:00
Jesus Cea f830aa5455 Emergency fix for #13803 bootstrap issue: Under Solaris, distutils doesn't include bitness in the directory name 2012-01-18 04:25:28 +01:00
Jesus Cea 4a8ba19783 Closes #13803: Under Solaris, distutils doesn't include bitness in the directory name 2012-01-18 03:51:38 +01:00
Éric Araujo ec17afdfda Backout buggy patch for #13719 2012-03-07 21:00:44 +01:00
Éric Araujo 1bf6bb6c37 Fix NameError 2012-03-05 17:00:49 +01:00
Éric Araujo dcd280480f Make distutils’ upload command work with bdist_msi products (#13719).
Patch by Ralf Schmitt.
2012-03-05 16:47:33 +01:00
Éric Araujo ae50babe32 Synchronize some distutils tests with 3.2.
- Actually check the contents of the file created by bdist_dumb.
- Don’t use “RECORD” as filename for non-PEP 376 record file
- Don’t start method name with “_test”, it looks like a disabled test
  method instead of an helper method
- Fix some idioms (assertIn, addCleanup)
2012-02-26 01:53:53 +01:00
Éric Araujo d673b62bac Stop ignoring RPMs in distutils' upload command (#2945).
Bug reported by Hartmut Goebel and patch contributed by Carl Robben.
Untested backport of the fix committed and tested for 3.2.
2012-02-26 01:16:47 +01:00
Éric Araujo 31378df83a Fix long-standing bugs with MANIFEST.in parsing on Windows (#6884).
These regex changes fix a number of issues for distutils on Windows:
- #6884: impossible to include a file starting with 'build'
- #9691 and #14004: sdist includes too many files
- #13193: test_filelist failures

This commit replaces the incorrect changes done in 557a973709de,
c566a3447ba1 and 3925081a7ca0 to fix #13193; we were too eager to fix
the test failures and I did not study the code enough before
greenlighting patches.  This time we have unit tests from the problems
reported by users to be sure we have the right fix.

Thanks to Nadeem Vawda for his help.
2012-02-25 16:13:53 +01:00
Jason R. Coombs 79e50c659a Limit test scope to those platforms that can save the target filenames. Reference #11638. 2011-12-28 11:42:22 -05:00
Jason R. Coombs 042370e750 Issue #11638: Adding test to ensure .tar.gz files can be generated by sdist command with unicode metadata, based on David Barnett's patch.
Issue #11638: Added tests to capture failures in make_tarball with various unicode strings.
Following fix for Issue #13639, these tests now pass.
2011-12-26 10:15:15 -05:00
Antoine Pitrou 667383c8d4 Issue #13193: Fix distutils.filelist.FileList under Windows. The
"recursive-include" directive now recognizes both legal path separators.
2011-11-12 01:33:59 +01:00
Mark Hammond 3dca9f52a4 normalize whitespace in Lib/distutils/msvc9compiler.py 2011-10-17 11:35:06 +11:00
Mark Hammond 323b5daa10 Issue #7833: Ext. modules built using distutils on Windows no longer get a manifest 2011-10-17 11:05:36 +11:00
Éric Araujo 5baef6d23b Increase test coverage for distutils.filelist (#11751).
Patch by Justin Love.
2011-10-14 18:15:31 +02:00
Éric Araujo 017e535bde Fix distutils’ check and register Unicode handling (#13114).
The check command was fixed by Kirill Kuzminykh.

The register command was using StringIO.getvalue, which uses “''.join”
and thus coerces to str using the default encoding (ASCII), so I changed
the code to use one extra intermediary list and correctly encode to
UTF-8.
2011-10-09 07:11:19 +02:00
Éric Araujo 5fb16cd1d2 Make C code in one distutils test comply with ISO C (#10359).
Patch by Hallvard B Furuseth.
2011-10-08 02:15:55 +02:00
Éric Araujo a13cd39533 Fix determination of Metadata version (#8933). Patch by Filip Gruszczyński. 2011-09-10 05:39:45 +02:00
Éric Araujo 0c4007641e Slight cleanup in distutils test_dist.
I have tests to add in this file and it’s always nice to start from a
clean base.  I’ve also changed a test that used to write an invalid
config file ('[global]command_packages = etc.' on one line), but the
test passes before and after this change, so either it magically works
or the test is poorly written.  Sigh.
2011-09-10 05:37:33 +02:00
Jesus Cea c6072d8675 Issue #12333: fix test_distutils failures under Solaris and derivatives. Patch by Antoine Pitrou 2011-09-09 18:50:59 +02:00
Éric Araujo 0f2dbf3645 Warn instead of crashing because of invalid path in MANIFEST.in (#8286).
sdist used to crash with a full traceback dump instead of printing a
nice warning with the faulty line number.
2011-09-03 00:47:07 +02:00
Éric Araujo cb18d077c6 Enable catching WARN-level logging messages in distutils' test_sdist 2011-09-03 00:28:43 +02:00
Éric Araujo 429b890561 Make bdist_* commands respect --skip-build passed to bdist (#10946) 2011-08-30 01:48:59 +02:00
Éric Araujo 288ebb446e Add FIXME note as a reminder 2011-08-26 16:35:19 +02:00
Éric Araujo 1bd3b9cea0 Branch merge 2011-08-26 16:32:36 +02:00
Éric Araujo e10fbb1550 Backport tests for the distutils install command 2011-08-26 02:06:27 +02:00
Éric Araujo cea5fc0b7b Try to fix test_distutils on Windows (#12678) 2011-08-26 02:05:44 +02:00
Éric Araujo c811fb2d56 Add tests for build_ext --user (backport from 3.2) 2011-08-26 02:00:14 +02:00
Éric Araujo 04612d6092 Refactor helpers for compiling the xx module in distutils tests.
I need to copy the xxmodule.c file in other tests, so I moved the
support code to distutils.tests.support and improved it:
- don’t skip when run from the Lib/distutils/tests directory
- use proper skip machinery instead of custom print/return/test suite
  fiddling.

I also took out the fixup_build_ext function, which is needed for tests
to pass on Unix shared builds and Windows debug builds.

Finally, I cleaned up a few things:
- don’t remove directories in tearDown when the parent class’ tearDown
  has already registered the directories for removal
- simplify restoration of sys.path
- remove a few unused names found by pyflakes.
2011-08-26 01:56:15 +02:00
Nadeem Vawda 367d4c8a80 Issue #12678: Fix distutils sdist test on Windows.
Patch by Jeremy Kloth.
2011-08-21 22:40:04 +02:00
Éric Araujo 33af263d36 Fix incorrect mtime comparison in distutils (#11933).
This is a regression introduced in 9211a5d7d0b4, when uses of ST_MTIME
constants were changed to uses of st_mtime attributes.  As diagnosed in
the bug report, this change is not merely stylistic: st_mtime is a
float but ST_MTIME’s resolution is rounded to the seconds, so there was
a mismatch between the values seen by file_util and dep_util which
caused an sdist to be unnecessarily created a second time on an ext4
filesystem.

This patch has been tested by John S. Gruber, who reported the bug.
As this is a simple code revert, I think it’s okay to commit without a
unit test.
2011-08-02 03:16:12 +02:00
Éric Araujo 560bf855d3 Fix regression with distutils MANIFEST handing (#11104, #8688).
The changed behavior of sdist in 2.7 broke packaging for projects that
wanted to use a manually-maintained MANIFEST file (instead of having a
MANIFEST.in template and letting distutils generate the MANIFEST).

The fixes that were committed for #8688 (d29399100973 by Tarek and
f7639dcdffc3 by me) did not fix all issues exposed in the bug report,
and also added one problem: the MANIFEST file format gained comments,
but the read_manifest method was not updated to handle (i.e. ignore)
them.  This changeset should fix everything; the tests have been
expanded and I successfully tested with Mercurial, which suffered from
this regression.

I have grouped the versionchanged directives for these bugs in one place
and added micro version numbers to help users know the quirks of the
exact version they’re using.  I also removed a stanza in the docs that
was forgotten in Tarek’s first changeset.

Initial report, thorough diagnosis and patch by John Dennis, further
work on the patch by Stephen Thorne, and a few edits and additions by
me.
2011-07-31 02:04:00 +02:00
Ned Deily 041645a8cb Issue #9516: Change distutils to no longer globally attempt to check and
set the MACOSX_DEPLOYMENT_TARGET env variable for the interpreter process
on OS X.  This could cause failures in non-distutils subprocesses and was
unreliable since tests or user programs could modify the interpreter
environment after distutils set it.  Instead, have distutils set the
the deployment target only in the environment of each build subprocess.

Continue to use the previous algorithm for deriving the deployment target
value:
    if MACOSX_DEPLOYMENT_TARGET is not set in the interpreter's env:
        use the interpreter build configure MACOSX_DEPLOYMENT_TARGET
    elif the MACOSX_DEPLOYMENT_TARGET env value >= configure value:
        use the env MACOSX_DEPLOYMENT_TARGET
    else: # env value less than interpreter build configure value
        raise exception
This allows building extensions that can only run on newer versions of
the OS than the version python was built for, for example with a python
built for 10.3 or later and an extension that needs to be built for 10.5.
2011-06-28 19:40:39 -07:00
Ned Deily 053c6ad6b7 Issue #9516: Correct and expand OS X deployment target tests in distutils
test_build_ext.
2011-06-28 19:39:10 -07:00
Ned Deily 63144c6444 Issue #12141: Install a copy of template C module file so that
test_build_ext of test_distutils is no longer silently skipped when
run outside of a build directory.
2011-06-28 00:39:19 -07:00
Benjamin Peterson a573e0df36 merge 2.7.2 release branch 2011-06-11 09:51:21 -05:00