Greg Ward [Sun, 4 Jun 2000 15:30:35 +0000 (15:30 +0000)]
Fixed syntax error.
Half-fixed RPM 2 compatibility:added 'rpm_base' option, which must be set
(to eg. /usr/src/redhat on a stock Red Hat system) if rpm2_mode is on.
Still not quite working, though.
Greg Ward [Sun, 4 Jun 2000 15:00:34 +0000 (15:00 +0000)]
Patch from Harry Henry Gebel:
Fills in question marks in help
Reads scripts in from files rather than strings
Adds RPM 2 compatibility mode (untested). Use of this mode requires that
--bdist-base be specified because bdist_rpm has no way of detecting where
RPM wants to find spec files and source files. An unmodified RedHat 5.0
system would require '--bdist-base=/usr/src/RedHat'. (You would also have
to be root.) If the rpmrc file has been modified to allow RPMs to be built
by normal users then --build-base would need to be changed accordingly.
Formats the changelog.
GPW: tweaked formatting, added some editorial comments.
Greg Ward [Sat, 3 Jun 2000 00:44:30 +0000 (00:44 +0000)]
Added a bunch of new globals in '_init_mac()' -- these will be needed to
support the forthcoming Cygwin/Mingw32 GCC-on-Windows patch.
Standardized CVS id line.
Jack Jansen [Fri, 2 Jun 2000 21:40:07 +0000 (21:40 +0000)]
First version of the project that produces a working Carbon binary. The binary has only been tested on MacOS9, so far. This project needs CW IDE 4.1b4 or later.
Jack Jansen [Fri, 2 Jun 2000 21:35:07 +0000 (21:35 +0000)]
Made the core toolbox modules carbon-compatible using the new greylist feature of bgen: non-carbon methods are still included in non-carbon MacPython. The issue of backward compatibility of Python code is still open.
Macmodule and macosmodule have also been carbonified. Some functionality is still missing there.
Jack Jansen [Fri, 2 Jun 2000 21:28:52 +0000 (21:28 +0000)]
Removed (within an #ifdef) Carbon-incompatabilities:
- Don't call all the toolbox init routines.
- No balloon help, so removed help code from the initial dialog.
Jack Jansen [Fri, 2 Jun 2000 21:27:11 +0000 (21:27 +0000)]
Removed (within an #ifdef) Carbon-incompatabilities:
- Use TickCount() in stead of LMGetTicks()
- Don't use xxxGetFile event filter
- Don't call SystemTask or HandleSysWindowEvent (is this also automatically handled under os9??)
- Don't scan event queue for cmd-. (to be fixed at some point).
Jack Jansen [Fri, 2 Jun 2000 21:23:09 +0000 (21:23 +0000)]
Fixed callback function arguments to be carbon-compatible.
(Temporarily?) removed call to ProcessHighLevelEvent until we find out how to do this (Carbon only).
Greg Ward [Fri, 2 Jun 2000 02:23:42 +0000 (02:23 +0000)]
Bumped version number to 0.9pre (there will be a couple of code snapshots
before the real release, but I want to make it clear that a major new
release is on the way).
Greg Ward [Fri, 2 Jun 2000 01:49:58 +0000 (01:49 +0000)]
Fairly massive overhaul to support getting RPM inputs (extra meta-data,
prep/build/etc. scripts, doc files, dependency info) from a config file
rather than the dedicated "package_info" file. (The idea is that
developers will provide RPM-specific info in the "[bdist_rpm]" section of
setup.cfg, but of course it could also be supplied in the other config
files, on the command line, or in the setup script -- or any mix of the
above.)
Major changes:
* added a boatload of options to 'user_options' and
'initialize_options()': 'distribution_name', 'group', 'release', ...
* added 'finalize_package_data()', which takes the place of
'_get_package_data()' -- except it's called from 'finalize_options()',
not 'run()', so we have everything figured out before we actually run
the command
* added 'ensure_string()', 'ensure_string_list()', 'ensure_filename()';
these take the place of '_check_string()' and friends. (These actually
look like really useful type-checking methods that could come in handy
all over the Distutils; should consider moving them up to Command and
using them in other command classes' 'finalize_options()' method for
error-checking).
* various cleanup, commentary, and adaptation to the new way of
storing RPM info in '_make_spec_file()'
Fred Drake [Thu, 1 Jun 2000 18:37:36 +0000 (18:37 +0000)]
Trent Mick <trentm@ActiveState.com>:
This patch correct bounds checking in PyLong_FromLongLong. Currently, it does
not check properly for negative values when checking to see if the incoming
value fits in a long or unsigned long. This results in possible silent
truncation of the value for very large negative values.
Fred Drake [Thu, 1 Jun 2000 17:59:17 +0000 (17:59 +0000)]
Trent Mick <trentm@activestate.com>:
Fix test of the "math" module so it does not break on platforms that do
not offer rint(); just skip that portion of the test in that case.
Fix bug reported by atkins@gweep.net; re.compile(r"[\100-\410]")
dumps core. Solution: fix check_escape() to match its comment and
use only the low 8 bits of the octal number.
Greg Ward [Thu, 1 Jun 2000 00:40:25 +0000 (00:40 +0000)]
More tweaking to make this command act like other Distutils commands:
* added "--bdist-base" option to parameterize where we build
the RPM (comes from "bdist" by default: "build/bdist.<plat>")
* simplified/cleaned up some code in 'run()' in the process of
removing (most) hard-coded directory names
* if "--spec-only", drop spec file in "dist" rather than "redhat"
(directory name still hard-coded, though)
* use 'reinitialize_command()' to fetch the "sdist" object to
tweak before running "sdist" command
* use 'self.copy_file()' method rather than 'copy_file()' function
* cosmetic tweaks to comments, error messages
Greg Ward [Wed, 31 May 2000 23:56:45 +0000 (23:56 +0000)]
Regularize options a bit:
* help strings start with lowercase
* added affirmative version of '--no-clean' and '--no-rpm-opt-flags',
which are the default (thus the attributes that correspond to
the options are now 'clean' and 'use_rpm_opt_flags')
Greg Ward [Wed, 31 May 2000 01:09:52 +0000 (01:09 +0000)]
Overhauled to expect 'self.extensions' (taken from 'ext_modules' in the
setup script) to be a list of Extension instances, rather than a list of of
(ext_name, build_info) tuples. This is mostly a simplification, but
'check_extension_list()' got a lot more complicated because of the need to
convert the old-style tuples to Extension instances.
Temporarily dropped support for defining/undefining macros in the
'extensions' list -- I want to change the interface, but haven't yet made
the required changes in CCompiler and friends to support this nicely.
Also neatened up the code that merges 'extra_compile_flags' and the CFLAGS
environment variable.
Greg Ward [Sun, 28 May 2000 23:53:06 +0000 (23:53 +0000)]
Factored '_set_command_options()' out of 'get_command_obj()'.
Added 'reinitialize_command()' -- lets us "push" option values in
a controlled, safe way; this is a small change to the code, but
a big change to the Distutils philosophy of passing option values
around. The preferred mode is still definitely to "pull" options
from another command (eg. "install" fetches the base build directory
from "build"), but it is now feasible to "push" options onto another
command, when you know what's best for it. One possible application
will be a "config" command, which pokes around the system and pushes
values (eg. include and library directories) onto the "build" command.
Added 'dump_option_dicts()' method (for debugging output).
Greg Ward [Sat, 27 May 2000 17:27:23 +0000 (17:27 +0000)]
Some far-reaching naming changes:
* Command method 'find_peer()' -> 'get_finalized_command()'
* Command method 'run_peer()' -> 'run_command()'
Also deleted the 'get_command_option()' method from Command, and
fixed the one place where it was used (in "bdist_dumb").
Greg Ward [Sat, 27 May 2000 03:03:23 +0000 (03:03 +0000)]
Patch from Andrew Kuchling: prune out the build and source distribution
directories after all is said and done, so we don't accidentally include
those files in the source distribution.
(This is the quick and easy way to fix this; Andrew says: "Changing
findall() looked like it was going to be messy, so I tried this instead.
The only problem is that redundant directory traversals are being done,
walking through build/ only to throw out all the files found at the end.").
Greg Ward [Sat, 27 May 2000 01:35:27 +0000 (01:35 +0000)]
'mkpath()' now detects non-string 'name' arguments -- this is a fairly common
bug when adding new code, so I thought I'd make it blow up earlier
than deep in posix.py.
Greg Ward [Sat, 27 May 2000 01:33:12 +0000 (01:33 +0000)]
Support for the "install_headers" command:
* 'headers' entry added to all the install schemes
* '--install-headers' option added
* 'install_headers' added to 'sub_commands'
* added 'dist_name' to configuration variables (along with a few
others that seem handy: 'dist_version', 'dist_fullname', and
'py_version'
* in 'finalize_unix()', make sure 'install_headers' defined if
user specified 'install_base' and/or 'install_platbase'
* added 'has_headers()'
* a few other small changes
Jeremy Hylton [Fri, 26 May 2000 21:49:07 +0000 (21:49 +0000)]
Patch from M.-A. Lemburg:
Python on UNIX now trusts PYTHONHOME unconditionally
Modules/getpath.c:
Landmark changed to os.py.
Setting PYTHONHOME now unconditionally sets sys.prefix
(and sys.exec_prefix). No further checks are done whether the
standard lib can be found in that location or not. This is in
sync with the PC subdir getpath implementations.
PC/getpathp.c:
Landmark changed to os.py.
PC/os2vacpp/getpathp.c:
Landmark changed to os.py.
Note: BAW's checkin on exceptions.c eliminates earlier concerns about
a bogus PYTHONHOME value leading to a core dump. Instead it causes a
useless sys.path and prevents imports.
Fred Drake [Fri, 26 May 2000 19:32:14 +0000 (19:32 +0000)]
Added documentation for gettempprefix().
Deprecated direct access to template.
Added note about past need to modify template so that legacy code has a
better chance of being understood, noting that the requirement to reset
template after os.fork() disappeared in 1.5.2.
Fred Drake [Fri, 26 May 2000 19:05:16 +0000 (19:05 +0000)]
Added documentation for TemporaryFile() and the siffix parameter to mktemp().
Removed obsolete comments about this module not creating or removing actual
files.
Removed obsolete comment about users needing to set template to None after
calling os.fork().
Greg Ward [Fri, 26 May 2000 12:22:54 +0000 (12:22 +0000)]
When building on Solaris and the compiler is GCC, use '$(CC) -G' to
create shared extensions rather than 'ld -G'. This ensures that shared
extensions link against libgcc.a, in case there are any functions in the
GCC runtime not already in the Python core.
Fred Drake [Fri, 26 May 2000 04:08:37 +0000 (04:08 +0000)]
Piers Lauder <piers@cs.su.oz.au>:
I've added an extra comment about quoting arguments to
IMAP4 commands. Also changed the command descriptions
to show optional extra commands where appropriate.
Fred Drake:
Added example usage for the search() method based on comments from
<Lucas.DeJonge@awtpl.com.au>; elaborated error handling information
when arguments are missing from search() and uid().
Greg Ward [Fri, 26 May 2000 01:31:53 +0000 (01:31 +0000)]
Rene Liebscher: check if the extension file (.so or .pyd) is
up-to-date with respect to the source files; that way, we
don't needlessly rebuild just because object files go away.
Greg Ward [Fri, 26 May 2000 01:00:15 +0000 (01:00 +0000)]
Factored out code for extracting-or-creating one of the option
dictionaries in 'self.command_options' to 'get_option_dict()'.
Simplified code in 'parse_config_files()' and 'parse_command_line()'
accordingly.
Fixed code in constructor that processes the 'options' dictionary
from the setup script so it actually works: uses the new
'self.command_options' dictionary rather than creating command
objects and calling 'set_option()' on them.
Greg Ward [Fri, 26 May 2000 00:54:52 +0000 (00:54 +0000)]
Added the DEBUG global (set from the DISTUTILS_DEBUG environment variable).
Changed the exception-handling code in 'setup()' to re-raise exceptions
if DEBUG is true.
Greg Ward [Fri, 26 May 2000 00:44:06 +0000 (00:44 +0000)]
Fixed a couple of long-hidden bugs (amazing what you find when you
attempt to verify the bold assertions in the documentation):
* entries for the "root package" in 'package_dir' didn't work --
fixed by improving the fall-through code in 'get_package_dir()'
* __init__.py files weren't installed when modules-in-packages
were listed individually (ie. in 'py_modules' in the setup script);
fixed by making 'check_package()' return the name of the __init__
file if it exists, and making 'find_modules()' add an entry to
the module list for __init__ if applicable