diff options
author | Steven Knight <knight@baldmt.com> | 2007-07-15 13:42:20 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2007-07-15 13:42:20 (GMT) |
commit | 13985d56678e8cb22accc865b3cae04accaba48e (patch) | |
tree | 165cead91807a7979699d472241fce9f46a4fb32 /test/packaging/rpm | |
parent | c1c5babea02556d1dbf3280d7644aa3323f1b876 (diff) | |
download | SCons-13985d56678e8cb22accc865b3cae04accaba48e.zip SCons-13985d56678e8cb22accc865b3cae04accaba48e.tar.gz SCons-13985d56678e8cb22accc865b3cae04accaba48e.tar.bz2 |
Merged revisions 1502-1677,1679-1682,1684-1918,1920-1968,1970-2116,2118-2125,2127-2136,2138 via svnmerge from
http://scons.tigris.org/svn/scons/branches/packaging
................
r1509 | pscholl | 2006-05-30 13:33:58 -0500 (Tue, 30 May 2006) | 5 lines
The first commit:
* a failing testcase.
* a Package() Builder.
................
r1510 | pscholl | 2006-05-31 15:39:42 -0500 (Wed, 31 May 2006) | 4 lines
The test passes, so this doesn't do much but calling the Tar Builder through a
different interface.
................
r1511 | pscholl | 2006-06-01 15:18:21 -0500 (Thu, 01 Jun 2006) | 3 lines
Add targz and tarbz2 packagers.
................
r1512 | pscholl | 2006-06-02 14:16:09 -0500 (Fri, 02 Jun 2006) | 4 lines
* package name generation from "projectname" and "version"
* targz and tarbz2 packager
................
r1513 | pscholl | 2006-06-02 14:24:53 -0500 (Fri, 02 Jun 2006) | 4 lines
* forgot the test for package name generation.
* add the zip packager.
................
r1514 | pscholl | 2006-06-10 15:02:50 -0500 (Sat, 10 Jun 2006) | 6 lines
* add support for "subdir".
* add support for more than one "type" of packager.
* add more testcases.
* add an example/.
................
r1516 | pscholl | 2006-06-19 14:51:44 -0500 (Mon, 19 Jun 2006) | 2 lines
* add a simple rpm testcase
* activate the builddir testcase
................
r1519 | pscholl | 2006-06-22 05:38:40 -0500 (Thu, 22 Jun 2006) | 7 lines
* add a rpm Tool.
* add a rpm Packager abstraction.
* add a new Error Class: EnvironmentError, for errors where the Environment
doesn't supply neccessary tools.
* Change Environment to include the rpm tool per default.
................
r1520 | pscholl | 2006-06-23 13:11:23 -0500 (Fri, 23 Jun 2006) | 5 lines
* create a fake_root_emitter, which puts source file under a new root
* create a rpm_spec_file emitter and actions to create a rpm specfile from a
list of files and a dict with specific keywords.
................
r1521 | pscholl | 2006-06-23 16:19:11 -0500 (Fri, 23 Jun 2006) | 8 lines
* fix the testcase/example. Problem: Proper Installation needs to be done form
rpm. Proper does mean that at least the "Installation Prefix" of the install
target can be specified.
* add an assertion to the rpm builder, that the target of the builder are the
files created by the rpmbuild call.
* hack the rpm_emitter to add possibly created targets of the rpmbuild call.
................
r1522 | pscholl | 2006-06-24 16:41:08 -0500 (Sat, 24 Jun 2006) | 11 lines
* make create_default_target() able to call a create_default_target() in a
chosen packager. This makes it possible to change the default targets for rpm
for example.
* rename fake_root to package_root
* rename subdir argument to package_root
* add method create_default_package_root()
................
r1523 | pscholl | 2006-06-25 09:12:45 -0500 (Sun, 25 Jun 2006) | 4 lines
* make international tags work.
* able to build a rpms iff with a highly specialized "install" target
................
r1524 | pscholl | 2006-06-25 09:55:00 -0500 (Sun, 25 Jun 2006) | 3 lines
* fix older testcases and change to new api
................
r1525 | pscholl | 2006-06-25 13:48:11 -0500 (Sun, 25 Jun 2006) | 1 line
set the rpm _topdir to something under the current build directory, so /usr/src/redhat does not need to be writable
................
r1526 | pscholl | 2006-06-27 09:16:31 -0500 (Tue, 27 Jun 2006) | 4 lines
* towards file tagging
* seperated source and binary packages automatically.
................
r1527 | pscholl | 2006-06-27 15:37:24 -0500 (Tue, 27 Jun 2006) | 1 line
better layout for specfile
................
r1528 | pscholl | 2006-06-28 02:43:29 -0500 (Wed, 28 Jun 2006) | 3 lines
use copy function instead of InstallAs for package_root_emitter()
................
r1529 | pscholl | 2006-06-28 06:40:17 -0500 (Wed, 28 Jun 2006) | 6 lines
* add a Tag() Builder to add packager tag to files.
* add examples for the packaging builder.
* prevent SCons from showing the stderr pipe from rpmbuild.
* clarify the compile() function of rpm specfile builder.
................
r1530 | pscholl | 2006-06-28 09:31:28 -0500 (Wed, 28 Jun 2006) | 3 lines
encoding ...
................
r1531 | pscholl | 2006-07-02 10:35:34 -0500 (Sun, 02 Jul 2006) | 8 lines
* introduce a DESTDIR command line arguments that is honored by the Install()
builders. Major caveat: SCons calculates default targets from the current
working directory. So if DESTDIR is outside of cwd, those files will not be
installed unless part of their path is given as a target ("/" will not work)
* adapt the rpm specfile accordingly.
................
r1532 | pscholl | 2006-07-09 15:52:58 -0500 (Sun, 09 Jul 2006) | 4 lines
Possible to generate WiX xml files and using the wix toolset from
http://wix.sf.net/ it is possible to create non-interactive installs.
................
r1545 | pscholl | 2006-07-26 02:34:38 -0500 (Wed, 26 Jul 2006) | 6 lines
* kill the packageversion tag.
* possible to create msi packages with the default Wix_mondo gui.
* msi honours the installation location of a File.
* x_msi_feature tag is available to split the package up into several parts.
................
r1548 | pscholl | 2006-07-27 10:32:48 -0500 (Thu, 27 Jul 2006) | 4 lines
* fix testcases
* fix wix toolchain lookup
................
r1549 | pscholl | 2006-07-27 11:13:58 -0500 (Thu, 27 Jul 2006) | 4 lines
* add license and license_tag file tags.
* add an example for msi package building.
................
r1591 | pscholl | 2006-08-14 13:32:07 -0500 (Mon, 14 Aug 2006) | 6 lines
Packaging framework refactoring:
* move common code to a superclass.
* Create BinaryPackager and SourcePackager.
* move TagCompiler from rpm to package.py
................
r1592 | pscholl | 2006-08-14 13:42:39 -0500 (Mon, 14 Aug 2006) | 3 lines
change DESTDIR to --install-sandbox
................
r1593 | pscholl | 2006-08-14 14:18:59 -0500 (Mon, 14 Aug 2006) | 1 line
fix msi builder.
................
r1595 | pscholl | 2006-08-15 09:19:05 -0500 (Tue, 15 Aug 2006) | 3 lines
add a ipkg packager.
................
r1596 | pscholl | 2006-08-15 12:09:17 -0500 (Tue, 15 Aug 2006) | 3 lines
small fix for ipk.
................
r1597 | pscholl | 2006-08-15 12:10:13 -0500 (Tue, 15 Aug 2006) | 3 lines
add some forgotten tests.
................
r1598 | pscholl | 2006-08-16 08:49:19 -0500 (Wed, 16 Aug 2006) | 11 lines
* add an ipk packaging example
* fix outstanding problems with ipk:
* split the strip_install_emitter, which strips the InstallBuilder of the
given source list and adds the install_location tag, from the
specfile_emitter.
* therefore the .ipk file is now independent of the *installed* files.
* add a 'architecture' PackageTag for ipk and rpm packages.
* rpm support is currently not working.
................
r1599 | pscholl | 2006-08-16 08:59:39 -0500 (Wed, 16 Aug 2006) | 3 lines
rename x_ipk_architecture -> architecture
................
r1601 | pscholl | 2006-08-17 04:35:00 -0500 (Thu, 17 Aug 2006) | 7 lines
First implementation of new Installer:
* is split off as a Tool in Tool/install.py and added to the 'default' tools.
* honors the --install-sandbox option
* fix the rpm package building in the process
................
r1602 | pscholl | 2006-08-17 15:20:35 -0500 (Thu, 17 Aug 2006) | 1 line
change default INSTALLSTR
................
r1603 | pscholl | 2006-08-17 16:28:44 -0500 (Thu, 17 Aug 2006) | 6 lines
* strip Install_old and InstallAs_old from Environment.py
* fix the source package building part of the rpm builder.
* add '--package-type=' option.
* add 'package' default alias.
................
r1604 | pscholl | 2006-08-17 16:39:12 -0500 (Thu, 17 Aug 2006) | 3 lines
* forgot the test
................
r1605 | pscholl | 2006-08-17 17:37:07 -0500 (Thu, 17 Aug 2006) | 5 lines
* introduce 'src_zip', 'src_tarbz2', 'src_targz' packagers. Their difference to
'zip', 'tarbz2', 'targz' is an emitter that only accepts files that have an
'InstallBuilder' attached.
................
r1606 | pscholl | 2006-08-17 17:58:54 -0500 (Thu, 17 Aug 2006) | 4 lines
* rename x_ipk_source and x_ipk_source to source_url.
* let rpm honor source_url accordingly.
................
r1607 | pscholl | 2006-08-18 09:35:53 -0500 (Fri, 18 Aug 2006) | 7 lines
* merge with trunk from r1501 to 1594
* add Environment.FindInstalledFiles(), which returns the
env['_INSTALLEDFILES'] list.
* add Environment.FindSourceFiles() which tries to find all files by inspecting
the '.' directory.
................
r1608 | pscholl | 2006-08-19 09:04:15 -0500 (Sat, 19 Aug 2006) | 3 lines
Create a Tool/filesystem.py, which creates the CopyTo() and CopyAs() builders.
................
r1609 | pscholl | 2006-08-19 09:51:50 -0500 (Sat, 19 Aug 2006) | 5 lines
add a 'change_specfile' packagetag which takes a function, that will be called
with the target and source parameters to enable the user to change the specfile
after it has been generated.
................
r1610 | pscholl | 2006-08-19 09:58:42 -0500 (Sat, 19 Aug 2006) | 1 line
fix msi packaging
................
r1612 | pscholl | 2006-08-20 12:03:28 -0500 (Sun, 20 Aug 2006) | 1 line
To fix issues with a set BuildDir, copy all tag information to the srcnode() of the file the tags are attached to.
................
r1613 | pscholl | 2006-08-20 15:20:12 -0500 (Sun, 20 Aug 2006) | 3 lines
last minute fixes.
................
r1614 | pscholl | 2006-08-20 21:38:02 -0500 (Sun, 20 Aug 2006) | 1 line
fix some smaller problems with msi.
................
r1615 | pscholl | 2006-08-20 21:44:04 -0500 (Sun, 20 Aug 2006) | 1 line
get rid of ambiguous shortname warnings.
................
r1616 | pscholl | 2006-08-21 05:55:10 -0500 (Mon, 21 Aug 2006) | 3 lines
change conf filetag in ipk to config
................
r1618 | pscholl | 2006-08-22 06:09:52 -0500 (Tue, 22 Aug 2006) | 1 line
fix bug where no builder is attached to source files
................
r1624 | pscholl | 2006-09-09 07:14:40 -0500 (Sat, 09 Sep 2006) | 35 lines
* move stip_abs.path() to SCons.Util
* Optik.option_parsers does not raise an error on interspersed option that
start with '--' or '-', while loosing the capability to raise an error on
a given commandline option that is not defined.
* change Tool/install.py to use the builder functions which were in
Environment.py
* Tools might now define their own command line options, by modifying a
env-wide Options() object. Their help text is automatically generated for
each Tool initialization. For example running 'scons -h' in a directory with
a SConstruct that uses the install builder gives this result:
scons: Reading SConscript files ...
scons: done reading SConscript files.
DESTDIR: A directory under which all installed files will be placed. (
/path/to/DESTDIR )
default: None
actual: None
aliases: ['--install-sandbox']
prefix: The prefix which can be configured for every installed
files. ( /path/to/prefix )
default: /usr/local
actual: /usr/local
aliases: ['--install-prefix']
Use scons -H for help about command-line options.
* fix packaging and filesystem from unneeded references to install internals.
................
r1669 | stevenknight | 2006-11-02 12:33:48 -0600 (Thu, 02 Nov 2006) | 2 lines
Ignore the *.pyc files.
................
r1670 | stevenknight | 2006-11-02 19:42:36 -0600 (Thu, 02 Nov 2006) | 2 lines
Changes to fix various test failures on the packaging branch.
................
r1671 | stevenknight | 2006-11-03 00:00:59 -0600 (Fri, 03 Nov 2006) | 2 lines
Map the i[456]86 flavors to i386 for RPM testing purposes.
................
r1679 | pscholl | 2006-11-04 05:34:44 -0600 (Sat, 04 Nov 2006) | 14 lines
* exclude the packaging from the default tool listing, change tests accordingly.
* remove get_tags and set_tags method from FS/Node.py, replaced by hasattr(),
setattr() and getattr()
* rename strip_abs_path to make_path_relative
* make tool initilisation only try to zipimport if the exception thrown is "No
module named <xyz>". This way you get the real error that causes problems
importing the module.
* Start the packaging.xml doc
................
r1680 | pscholl | 2006-11-04 05:42:12 -0600 (Sat, 04 Nov 2006) | 1 line
fix the filesystem tool
................
r1681 | pscholl | 2006-11-04 07:51:11 -0600 (Sat, 04 Nov 2006) | 3 lines
Packaging -> packaging
................
r1682 | pscholl | 2006-11-04 07:52:58 -0600 (Sat, 04 Nov 2006) | 3 lines
somehow I managed to let svn forget about those file through a rename ;)
................
r1685 | pscholl | 2006-11-05 03:42:52 -0600 (Sun, 05 Nov 2006) | 3 lines
Those have been missing on the last commit
................
r1686 | pscholl | 2006-11-05 15:12:13 -0600 (Sun, 05 Nov 2006) | 3 lines
add test skipping
................
r1734 | pscholl | 2006-12-15 09:07:51 -0600 (Fri, 15 Dec 2006) | 5 lines
* change rpm, tarbz, targz, ipk, zip packager to new api
* instead of hardcoding the packager type mapping use a __all__ of the
packaging submodule.
................
r1911 | pscholl | 2007-05-19 09:13:57 -0500 (Sat, 19 May 2007) | 10 lines
* convert Package() build parameters to uppercase (incomplete)
* let optik_parser pass undefined command line options starting with "-" and
"--" to the Options() parses, instead of failing with a undefined option
error.
* Small fix for a subsequent bug in handling gnu long opts, see comment in
code.
................
r1912 | stevenknight | 2007-05-19 10:21:45 -0500 (Sat, 19 May 2007) | 4 lines
Minor fixes for Python 1.5 (no list comprehensions, no +=, string.split()
instead of .split() string method). Python 2.x code has been left
in place, commented out, for when we drop 1.5.
................
r1913 | stevenknight | 2007-05-19 21:40:51 -0500 (Sat, 19 May 2007) | 2 lines
Remove the leftover "import SCons.Tool.Packaging" line so tests can pass.
................
r1915 | pscholl | 2007-05-20 10:00:20 -0500 (Sun, 20 May 2007) | 6 lines
* uppercasing construction variables complete. change tests accordingly.
* start of the man page doc xml, see SCons/Tool/packaging/__init.xml, which
lists all construction variables and all builders.
................
r1918 | stevenknight | 2007-05-21 07:20:46 -0500 (Mon, 21 May 2007) | 4 lines
Propagate a fix from the trunk: prepend './' when interpreting the file
name to install so we don't treat a file actually named '#...' as being
relative to the top-level SConstruct directory.
................
r1922 | pscholl | 2007-05-22 18:16:38 -0500 (Tue, 22 May 2007) | 3 lines
fix CopyTo builder.
................
r1923 | pscholl | 2007-05-22 19:02:33 -0500 (Tue, 22 May 2007) | 1 line
fix the try block
................
r1926 | stevenknight | 2007-05-22 22:45:48 -0500 (Tue, 22 May 2007) | 747 lines
Merged revisions 1679-1917 via svnmerge from
http://scons.tigris.org/svn/scons/trunk
(Not completely clean; some tests still fail. The failures are the same,
though, before and after the merge.)
................
r1684 | stevenknight | 2006-11-04 14:26:57 -0600 (Sat, 04 Nov 2006) | 3 lines
Update the instructions to correct a few errors in setting up svnmerge
on branches. Add a few clarifying comments.
................
r1688 | stevenknight | 2006-11-06 13:27:39 -0600 (Mon, 06 Nov 2006) | 2 lines
Change announcement etc. for 0.96.93.
................
r1738 | stevenknight | 2006-12-15 19:43:01 -0600 (Fri, 15 Dec 2006) | 195 lines
Merged revisions 1675-1736 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core
........
r1689 | stevenknight | 2006-11-06 20:56:29 -0600 (Mon, 06 Nov 2006) | 1 line
0.96.D483 - Merge changes for 0.96.93 packaging from the subsidiary branch.
........
r1690 | stevenknight | 2006-11-06 20:59:30 -0600 (Mon, 06 Nov 2006) | 1 line
0.96.D484 - Update HOWTO for releases. Fix name type in src/CHANGES.txt.
........
r1691 | stevenknight | 2006-11-08 13:55:36 -0600 (Wed, 08 Nov 2006) | 1 line
0.96.D485 - Fix MergeFlags() handling of None values. (John Pye)
........
r1692 | stevenknight | 2006-11-08 17:15:05 -0600 (Wed, 08 Nov 2006) | 1 line
0.96.D486 - Directly execute commands on Windows when possible. (Jay Kint)
........
r1693 | stevenknight | 2006-11-08 18:54:49 -0600 (Wed, 08 Nov 2006) | 1 line
0.96.D487 - Remove the semi-colon from the list of characters that determine when we use cmd
........
r1694 | stevenknight | 2006-11-09 01:34:06 -0600 (Thu, 09 Nov 2006) | 1 line
0.96.D488 - Pick up latex/bibtex 'Rerun to get citations correct' messages. (Dmitry Mikhin)
........
r1695 | stevenknight | 2006-11-11 08:36:33 -0600 (Sat, 11 Nov 2006) | 1 line
0.96.D489 - Back out the direct-execution-on-Windows change until we solve a corner case.
........
r1696 | stevenknight | 2006-11-15 10:33:10 -0600 (Wed, 15 Nov 2006) | 1 line
0.96.D490 - Fix the sconsign script when the .sconsign.dblite file is specified with its suf
........
r1697 | stevenknight | 2006-11-18 10:45:50 -0600 (Sat, 18 Nov 2006) | 4 lines
Complete move of test/sconsign/script.py to underneath test/sconsign/script/.
(This got left out of the previous checkin due to an error in the
script that resubmits Aegis changes to Subversion.)
........
r1698 | stevenknight | 2006-11-18 11:05:26 -0600 (Sat, 18 Nov 2006) | 1 line
0.96.D491 - Allow an Options converter to take the construction environment as a parameter.
........
r1699 | stevenknight | 2006-11-30 15:34:37 -0600 (Thu, 30 Nov 2006) | 1 line
0.96.D492 - Reverse the order in which we try the arguments Options converters, first a sing
........
r1700 | stevenknight | 2006-11-30 16:03:09 -0600 (Thu, 30 Nov 2006) | 1 line
0.96.D493 - Speed up rel_path() by avoiding recomputation of intermediate directory relative
........
r1701 | stevenknight | 2006-11-30 16:14:16 -0600 (Thu, 30 Nov 2006) | 1 line
0.96.D494 - More efficient get_suffix(): compute it once when we set the name.
........
r1702 | stevenknight | 2006-11-30 16:22:55 -0600 (Thu, 30 Nov 2006) | 1 line
0.96.D495 - Fix missing XML end tags.
........
r1703 | stevenknight | 2006-11-30 17:15:25 -0600 (Thu, 30 Nov 2006) | 1 line
0.96.D496 - Turn Memoizer into a simple counter for --debug=memoizer, not something that doe
........
r1704 | stevenknight | 2006-11-30 20:30:50 -0600 (Thu, 30 Nov 2006) | 1 line
0.96.D497 - Add the scons-time script, with doc and tests.
........
r1705 | stevenknight | 2006-11-30 23:28:20 -0600 (Thu, 30 Nov 2006) | 1 line
0.96.D498 - Update the copyright years string.
........
r1706 | stevenknight | 2006-12-01 11:54:22 -0600 (Fri, 01 Dec 2006) | 1 line
0.96.D499 - Fix _do_Lookup => _doLookup value-caching misspellings. (Ben Leslie)
........
r1707 | stevenknight | 2006-12-01 12:03:46 -0600 (Fri, 01 Dec 2006) | 1 line
0.96.D500 - Fix copyright test against debian build. (Walter Franzini)
........
r1708 | stevenknight | 2006-12-01 14:23:29 -0600 (Fri, 01 Dec 2006) | 1 line
0.96.D501 - Add #include lines for test portability. (Gary Oberbrunner)
........
r1709 | stevenknight | 2006-12-01 14:51:12 -0600 (Fri, 01 Dec 2006) | 1 line
0.96.D502 - Fix tests under Python versions with no profiler (pstats module).
........
r1710 | stevenknight | 2006-12-01 20:04:49 -0600 (Fri, 01 Dec 2006) | 1 line
0.96.D503 - Remove unnecessary os.path.normpath() calls. (Gary Oberbrunner)
........
r1711 | stevenknight | 2006-12-01 20:34:31 -0600 (Fri, 01 Dec 2006) | 1 line
0.96.D504 - Accomodate arbitray white space after a SWIG %module keyword. (Anonymous)
........
r1712 | stevenknight | 2006-12-05 14:49:54 -0600 (Tue, 05 Dec 2006) | 1 line
0.96.D506 - Cache substitutions of of Builder source suffixes. Use a new PathList module, and a refactor Node.FS.Rfindalldirs() method, to cache calculations of values like CPPPATH.
........
r1713 | stevenknight | 2006-12-05 18:43:36 -0600 (Tue, 05 Dec 2006) | 1 line
0.96.D507 - Use cached stat() values in diskchecks.
........
r1714 | stevenknight | 2006-12-05 21:11:24 -0600 (Tue, 05 Dec 2006) | 1 line
0.96.D508 - Fix Memoizer hit counts for methods memoizing simple values. Clean up the code for memoizing return values in a dictionary. Fix comments.
........
r1715 | stevenknight | 2006-12-06 07:23:18 -0600 (Wed, 06 Dec 2006) | 1 line
0.96.D369 - More efficient Node.FS.Dir.current() check. Fix some Windows test portability issues.
........
r1716 | stevenknight | 2006-12-06 12:24:32 -0600 (Wed, 06 Dec 2006) | 2 lines
Undo previous checkin (distributed incorrect Aegis change number).
........
r1717 | stevenknight | 2006-12-06 12:34:53 -0600 (Wed, 06 Dec 2006) | 1 line
0.96.D505 - Update ae-{cvs,svn}-ci for newer versions of aetar, and to not truncate descriptions.
........
r1718 | stevenknight | 2006-12-07 23:01:41 -0600 (Thu, 07 Dec 2006) | 1 line
0.96.D509 - Only look for mslink on Windows systems. (Sohail Somani)
........
r1719 | stevenknight | 2006-12-07 23:18:33 -0600 (Thu, 07 Dec 2006) | 1 line
0.96.D510 - Have the D compiler Tool use the same logic for shared libraries, too. (Paolo Invernizzi)
........
r1720 | stevenknight | 2006-12-07 23:29:47 -0600 (Thu, 07 Dec 2006) | 1 line
0.96.D511 - Generalize a JobTests.py test so it doesn't assume a specific order in which the operating system executes the threads.
........
r1721 | stevenknight | 2006-12-07 23:39:37 -0600 (Thu, 07 Dec 2006) | 1 line
0.96.D512 - Back out the Tool/dmd.py change; it breaks shared library linking for other lanuages beside D in the construction environment.
........
r1722 | stevenknight | 2006-12-07 23:47:11 -0600 (Thu, 07 Dec 2006) | 1 line
0.96.D513 - Test fixes: Windows portability, handle changes to Python 2.5 messages.
........
r1723 | stevenknight | 2006-12-08 00:00:13 -0600 (Fri, 08 Dec 2006) | 1 line
0.96.D514 - Change how the 'as' Tool is imported to accomodate the Python 2.6 'as' keyword.
........
r1724 | stevenknight | 2006-12-08 11:19:27 -0600 (Fri, 08 Dec 2006) | 1 line
0.96.D515 - Cache both Node.FS.find_file() and Node.FS.Dri.srcdir_find_file().
........
r1725 | stevenknight | 2006-12-08 17:27:35 -0600 (Fri, 08 Dec 2006) | 1 line
0.96.D516 - Better error when we try to fetch contents from an Entry that doesn't exist. (Tom Parker)
........
r1726 | stevenknight | 2006-12-08 23:28:55 -0600 (Fri, 08 Dec 2006) | 1 line
0.96.D517 - Make sure we pick up the scons-local directory regardless of where we chdir internally.
........
r1727 | stevenknight | 2006-12-11 16:25:53 -0600 (Mon, 11 Dec 2006) | 1 line
0.96.D518 - Cache results of Executor.get_unignored_sources() and Executor.process_sources(). Eliminate some map() and disambiguate() calls when scanning for implicit dependencies.
........
r1728 | stevenknight | 2006-12-12 14:32:22 -0600 (Tue, 12 Dec 2006) | 1 line
0.96.D519 - Fix SideEffect() when -j is used.
........
r1729 | stevenknight | 2006-12-12 16:58:15 -0600 (Tue, 12 Dec 2006) | 1 line
0.96.D520 - Add a srcdir keyword to Builder calls.
........
r1730 | stevenknight | 2006-12-12 21:40:59 -0600 (Tue, 12 Dec 2006) | 1 line
0.96.D521 - TeX/LaTeX updates, including handling files in subdirectories. (Joel B. Mohler, Rob Managan, Dmitry Mikhin)
........
r1731 | stevenknight | 2006-12-14 15:01:02 -0600 (Thu, 14 Dec 2006) | 1 line
0.96.D522 - Propogate TypeErrors during variable substitution for display to the user.
........
r1732 | stevenknight | 2006-12-14 20:01:49 -0600 (Thu, 14 Dec 2006) | 1 line
0.96.D523 - Fix the os.path.join() calls in EnvironmentTests.py.
........
r1733 | stevenknight | 2006-12-15 07:48:22 -0600 (Fri, 15 Dec 2006) | 1 line
0.96.D524 - Fix source directories as dependencies of an Alias (0.96.93 problem found by LilyPond).
........
r1735 | stevenknight | 2006-12-15 12:43:45 -0600 (Fri, 15 Dec 2006) | 1 line
0.96.D525 - Allow printing Debug.caller() output (or other end-of-run debugging info) when using -h.
........
r1736 | stevenknight | 2006-12-15 16:30:08 -0600 (Fri, 15 Dec 2006) | 1 line
0.96.D526 - Add an option to debug IndexError and NameError exceptions during variable substitution.
........
................
r1740 | stevenknight | 2006-12-15 21:17:20 -0600 (Fri, 15 Dec 2006) | 13 lines
Merged revisions 1440-1541,1543-1582,1584-1667,1669-1675,1677-1738 via svnmerge from
http://scons.tigris.org/svn/scons/branches/tools
........
r1646 | stevenknight | 2006-10-17 17:21:58 -0500 (Tue, 17 Oct 2006) | 6 lines
Move all the scons.org stuff from the scons source tree itself to a
directory next to the trunk, and delete the copies from the branches.
There's a lot of stuff there (what with all of the documentation of
the different versions) and it's ridiculous to make everyone sync it
just to work on the code.
........
................
r1757 | stevenknight | 2007-01-07 01:23:05 -0600 (Sun, 07 Jan 2007) | 65 lines
Merged revisions 1738-1754,1756 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core
........
r1741 | stevenknight | 2006-12-16 22:51:07 -0600 (Sat, 16 Dec 2006) | 1 line
0.96.D527 - Give the f90 and f95 Tool modules knowledge of how to build source files of earlier Fortran versions.
........
r1742 | stevenknight | 2006-12-16 23:22:54 -0600 (Sat, 16 Dec 2006) | 1 line
0.96.D528 - Better handling of timestamp fallback if there's no md5 module.
........
r1743 | stevenknight | 2006-12-17 00:21:31 -0600 (Sun, 17 Dec 2006) | 1 line
0.96.D529 - Fix portability of new tests on systems that don't have TeX installed.
........
r1744 | stevenknight | 2006-12-19 15:30:16 -0600 (Tue, 19 Dec 2006) | 1 line
0.96.D530 - Eliminate the ListBuilder subclass in favor of using the Executor's target lists.
........
r1745 | stevenknight | 2006-12-19 18:54:26 -0600 (Tue, 19 Dec 2006) | 1 line
0.96.D531 - Eliminate of MultiStepBuilder as a separate Builder subclass.
........
r1746 | garyo | 2006-12-21 13:21:08 -0600 (Thu, 21 Dec 2006) | 1 line
Minor doc fix, thanks to Douglas Landgraf.
........
r1747 | stevenknight | 2006-12-21 17:13:55 -0600 (Thu, 21 Dec 2006) | 1 line
0.96.D533 - Add CFLAGS for options common to C/C++. (Gary Oberbrunner)
........
r1748 | stevenknight | 2007-01-03 19:48:05 -0600 (Wed, 03 Jan 2007) | 1 line
0.96.D534 - Fix signature storage when targets are retrieved from CacheDir().
........
r1749 | stevenknight | 2007-01-04 16:48:47 -0600 (Thu, 04 Jan 2007) | 1 line
0.96.D535 - Teach the lex and yacc tools about target files generated by different flex/bison options, and about Objective C suffixes. (Pupeno)
........
r1750 | stevenknight | 2007-01-04 17:14:38 -0600 (Thu, 04 Jan 2007) | 1 line
0.96.D536 - Refactor duplicate disambiguation logic in Entry.get_contents().
........
r1751 | stevenknight | 2007-01-05 13:00:54 -0600 (Fri, 05 Jan 2007) | 1 line
0.96.D537 - Fix lprof regression from 0.96.92.
........
r1752 | stevenknight | 2007-01-05 20:43:48 -0600 (Fri, 05 Jan 2007) | 1 line
0.96.D538 - Fix caching of Builder suffix matching (to fix lprof regression).
........
r1753 | stevenknight | 2007-01-06 00:03:16 -0600 (Sat, 06 Jan 2007) | 1 line
0.96.D539 - Fix --include-dir when using MinGW. (Paul)
........
r1754 | stevenknight | 2007-01-06 00:24:53 -0600 (Sat, 06 Jan 2007) | 1 line
0.96.D540 - Make bootstrap.py something useful to execute SCons out of a source directory.
........
r1756 | stevenknight | 2007-01-06 21:32:11 -0600 (Sat, 06 Jan 2007) | 1 line
0.96.D541 - Update the Copyright year string to include 2007. Automate updating the month+year string in man page title headers. Fix hard-coded __revision__ strings that crept into some older tests.
........
................
r1764 | stevenknight | 2007-01-08 01:13:59 -0600 (Mon, 08 Jan 2007) | 2 lines
Add announcements for 0.96.94.
................
r1767 | stevenknight | 2007-01-08 11:33:58 -0600 (Mon, 08 Jan 2007) | 13 lines
Merged revisions 1757-1765 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core
........
r1759 | stevenknight | 2007-01-07 09:36:37 -0600 (Sun, 07 Jan 2007) | 1 line
0.96.D541 - Update the Copyright year string to include 2007. Automate updating the month+year string in man page title headers. Fix hard-coded __revision__ strings that crept into some older tests.
........
r1765 | stevenknight | 2007-01-08 11:28:02 -0600 (Mon, 08 Jan 2007) | 1 line
0.96.D543 - Update development line for 0.96.94.
........
................
r1784 | stevenknight | 2007-01-21 14:13:49 -0600 (Sun, 21 Jan 2007) | 57 lines
Merged revisions 1767-1783 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core
........
r1771 | stevenknight | 2007-01-11 10:42:17 -0600 (Thu, 11 Jan 2007) | 1 line
0.96.D544 - Fix maximum recursion depth exceeded when writing .sconsign files after using Nodes on two different Windows drive letters.
........
r1772 | stevenknight | 2007-01-11 12:15:07 -0600 (Thu, 11 Jan 2007) | 1 line
0.96.D545 - Restore caching of file contents in Node.FS.File.get_contents().
........
r1773 | stevenknight | 2007-01-12 10:22:40 -0600 (Fri, 12 Jan 2007) | 1 line
0.96.D405 - Add MergeFlags() and AddFlags() methods. (Greg Noel) Support recognizing compiler flags that begin with +. (Kent Boortz)
........
r1774 | stevenknight | 2007-01-16 15:58:39 -0600 (Tue, 16 Jan 2007) | 2 lines
Back out previous modification; the wrong change was distributed.
........
r1775 | stevenknight | 2007-01-16 16:08:26 -0600 (Tue, 16 Jan 2007) | 1 line
0.96.D546 - Back out previous change that cached get_contents().
........
r1776 | stevenknight | 2007-01-17 14:30:59 -0600 (Wed, 17 Jan 2007) | 1 line
0.96.D547 - Document the use of ${} to evaluate arbitrary Python code. (Gary Oberbrunner)
........
r1777 | stevenknight | 2007-01-17 15:43:18 -0600 (Wed, 17 Jan 2007) | 1 line
0.96.D548 - Better man page Scanner example (Matt Doar); add FindPathDirs() to the publicly-available functions, and document it.
........
r1778 | stevenknight | 2007-01-17 17:01:03 -0600 (Wed, 17 Jan 2007) | 1 line
0.96.D549 - Return MSVC default paths for versions >= 8.0. (Anonymous)
........
r1779 | stevenknight | 2007-01-18 08:37:58 -0600 (Thu, 18 Jan 2007) | 1 line
0.96.D550 - Windows fix for the rel_path() unit test.
........
r1780 | stevenknight | 2007-01-18 14:01:32 -0600 (Thu, 18 Jan 2007) | 1 line
0.96.D551 - Fix use of __builtins__ in Subst.py.
........
r1781 | stevenknight | 2007-01-18 16:00:27 -0600 (Thu, 18 Jan 2007) | 1 line
0.96.D552 - Collect compatibility code in its own SCons.compat subpackage.
........
r1782 | stevenknight | 2007-01-18 16:22:52 -0600 (Thu, 18 Jan 2007) | 1 line
0.96.D553 - Add the vanilla Python 2.5 subprocess.py module (currently unused) as a baseline for our backwards-compatibility changes to that module.
........
r1783 | stevenknight | 2007-01-18 17:09:39 -0600 (Thu, 18 Jan 2007) | 1 line
0.96.D554 - Change env.ParseConfig() to use the new subprocess module.
........
................
r1814 | stevenknight | 2007-02-08 09:40:05 -0600 (Thu, 08 Feb 2007) | 2 lines
Add links to queries for ENHANCEMENT issues.
................
r1826 | stevenknight | 2007-02-10 23:02:05 -0600 (Sat, 10 Feb 2007) | 137 lines
Merged revisions 1784-1824 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core
........
r1786 | stevenknight | 2007-01-25 15:29:15 -0600 (Thu, 25 Jan 2007) | 1 line
0.96.D555 - Doc string updates for TaskMaster to better describe the architecture. Get rid of some no-longer-used code.
........
r1787 | stevenknight | 2007-01-25 23:24:31 -0600 (Thu, 25 Jan 2007) | 1 line
0.96.D556 - Packaging changes to support building packages in an arbitrary directory.
........
r1788 | stevenknight | 2007-01-30 20:35:39 -0600 (Tue, 30 Jan 2007) | 1 line
0.96.D557 - Make the Scanner.Base class able to handle Scanner.Selector functionality (i.e., a dictionary to select other scanners) and prepare to deprecate Scanner.Selector and Scanner.Scanner() in the future.
........
r1789 | stevenknight | 2007-01-30 20:45:23 -0600 (Tue, 30 Jan 2007) | 1 line
0.96.D558 - Add support for a site-scons subdirectory. (Gary Oberbrunner)
........
r1790 | stevenknight | 2007-01-31 00:36:20 -0600 (Wed, 31 Jan 2007) | 1 line
0.96.D559 - Clean up various module imports and other pychecker-detected problems.
........
r1791 | stevenknight | 2007-01-31 11:51:04 -0600 (Wed, 31 Jan 2007) | 1 line
0.96.D560 - Fix detection of Java anonymous classes if a newline precedes the opening brace. (Leanid Nazdrynau)
........
r1792 | stevenknight | 2007-02-02 11:57:59 -0600 (Fri, 02 Feb 2007) | 1 line
0.96.D561 - Add a --bootstrap_src option to bootstrap.py; search the bootstrap.py directory by default. (Greg Noel)
........
r1793 | stevenknight | 2007-02-02 18:04:52 -0600 (Fri, 02 Feb 2007) | 1 line
0.96.D562 - Don't check the build/*/gentoo directories for copyright strings.
........
r1794 | stevenknight | 2007-02-02 18:12:43 -0600 (Fri, 02 Feb 2007) | 1 line
0.96.D563 - Fix pychecker clean-ups on later Python versions.
........
r1795 | stevenknight | 2007-02-02 18:38:47 -0600 (Fri, 02 Feb 2007) | 1 line
0.96.D564 - Add a NoCache() function to allow marking targets as not being suitable for propagating/ to (or retrieving from) CacheDir(). (Dave Vitek)
........
r1796 | stevenknight | 2007-02-02 20:08:33 -0600 (Fri, 02 Feb 2007) | 1 line
0.96.D565 - Add a --tree= option, to make the interface to dumping dependency graphs a little clearner, and give it a 'prune' option to avoid repeating the dependency walk for Nodes we've already visited.
........
r1797 | stevenknight | 2007-02-03 20:37:25 -0600 (Sat, 03 Feb 2007) | 1 line
0.96.D566 - Packaging fix: don't add '#' to the beginning of a build_dir name if it's already an absolute path.
........
r1798 | stevenknight | 2007-02-03 20:53:42 -0600 (Sat, 03 Feb 2007) | 1 line
0.96.D567 - Add backwards-compatibility for set() types, and restore the line that used them in the compatibility _subprocess.py module.
........
r1799 | stevenknight | 2007-02-05 10:30:28 -0600 (Mon, 05 Feb 2007) | 1 line
0.96.D568 - Capture outline and build configuration for a possible future Developer's Guide.
........
r1800 | stevenknight | 2007-02-05 11:03:37 -0600 (Mon, 05 Feb 2007) | 1 line
0.96.D569 - Exclude the new developer guide MANIFEST from Copyright string checks.
........
r1801 | stevenknight | 2007-02-05 11:16:04 -0600 (Mon, 05 Feb 2007) | 1 line
0.96.D570 - Track fix in upstream subprocess.py. (Ralf W. Grosse-Kunstleve)
........
r1802 | stevenknight | 2007-02-05 20:05:59 -0600 (Mon, 05 Feb 2007) | 1 line
0.96.D571 - Change the Windows installer to register scons.bat as an 'App Path', so the directory doesn't need to be added to %PATH%.
........
r1803 | stevenknight | 2007-02-05 21:33:01 -0600 (Mon, 05 Feb 2007) | 1 line
0.96.D572 - Prepare SConf for use with the subprocess module by refactoring the Unbuffered class.
........
r1804 | stevenknight | 2007-02-05 22:37:09 -0600 (Mon, 05 Feb 2007) | 1 line
0.96.D573 - Get rid of left-over Node.Node.{pre,post}_actions attributes.
........
r1805 | stevenknight | 2007-02-06 12:04:14 -0600 (Tue, 06 Feb 2007) | 1 line
0.96.D574 - Remove leftover print in the test/CacheDir/NoCache.py test.
........
r1806 | stevenknight | 2007-02-06 17:11:03 -0600 (Tue, 06 Feb 2007) | 1 line
0.96.D575 - Support the ability to evaluate a ${} construction variable to select the spawner function.
........
r1809 | stevenknight | 2007-02-07 00:30:10 -0600 (Wed, 07 Feb 2007) | 1 line
0.96.D576 - Documentation fixes and updates.
........
r1810 | stevenknight | 2007-02-07 15:51:20 -0600 (Wed, 07 Feb 2007) | 1 line
0.96.D577 - Don't expect a bootstrap.py runtest.py file to be generated when swig -noproxy is used.
........
r1811 | stevenknight | 2007-02-07 16:55:06 -0600 (Wed, 07 Feb 2007) | 1 line
0.96.D578 - Make --srcdir a synonym for -Y/--repository.
........
r1812 | stevenknight | 2007-02-07 23:46:22 -0600 (Wed, 07 Feb 2007) | 1 line
0.96.D579 - More doc updates: PathAccept, #include+Repository double-quote limitation.
........
r1817 | stevenknight | 2007-02-08 12:46:42 -0600 (Thu, 08 Feb 2007) | 1 line
0.96.D580 - Fix use of toolpath with BuildDir.
........
r1818 | stevenknight | 2007-02-08 12:59:23 -0600 (Thu, 08 Feb 2007) | 1 line
0.96.D581 - Enable build of the text version of the User's Guide.
........
r1819 | stevenknight | 2007-02-08 14:21:31 -0600 (Thu, 08 Feb 2007) | 1 line
0.96.D582 - Fix handling of Java inner classes with JARCHDIR.
........
r1820 | stevenknight | 2007-02-08 14:39:33 -0600 (Thu, 08 Feb 2007) | 1 line
0.96.D583 - Add linking with -lm to the dmd.py Tool smart linker. (Anonymous)
........
r1821 | stevenknight | 2007-02-08 17:26:29 -0600 (Thu, 08 Feb 2007) | 1 line
0.96.D584 - Fix ParseConfig() when *FLAGS variables have been replaced with strings.
........
r1822 | stevenknight | 2007-02-09 12:21:17 -0600 (Fri, 09 Feb 2007) | 1 line
0.96.D585 - Fix installation of file names beginning with #. (Dave Weber)
........
r1823 | stevenknight | 2007-02-09 14:14:47 -0600 (Fri, 09 Feb 2007) | 1 line
0.96.D586 - Post-review improvements to recent toolpath and MergeFlags() changes. (Gary Oberbrunner, Greg Noel)
........
r1824 | stevenknight | 2007-02-10 00:53:13 -0600 (Sat, 10 Feb 2007) | 1 line
0.96.D587 - Commonize flags initialization between the c and c++ Tools.
........
................
r1834 | stevenknight | 2007-02-15 00:58:45 -0600 (Thu, 15 Feb 2007) | 2 lines
Update project highlights for 0.96.95.
................
r1863 | stevenknight | 2007-03-15 17:16:54 -0500 (Thu, 15 Mar 2007) | 2 lines
Add banner about SoC2007 to the project highlights.
................
r1884 | stevenknight | 2007-04-13 18:36:39 -0500 (Fri, 13 Apr 2007) | 185 lines
Merged revisions 1826-1882 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core
........
r1828 | stevenknight | 2007-02-12 13:29:17 -0600 (Mon, 12 Feb 2007) | 1 line
0.96.D588 - Speed up Builder suffix-matching.
........
r1829 | stevenknight | 2007-02-14 08:12:32 -0600 (Wed, 14 Feb 2007) | 1 line
0.96.D589 - The scons command, branch 0.96.94.
........
r1830 | stevenknight | 2007-02-14 09:49:44 -0600 (Wed, 14 Feb 2007) | 1 line
0.96.D590 - Fix the scons-doc .tar.gz file packaging.
........
r1835 | stevenknight | 2007-02-15 11:03:20 -0600 (Thu, 15 Feb 2007) | 1 line
0.96.D591 - Update the release HOWTO.
........
r1836 | stevenknight | 2007-02-15 13:39:24 -0600 (Thu, 15 Feb 2007) | 1 line
0.96.D592 - The scons command, branch 0.96.95.
........
r1837 | stevenknight | 2007-02-15 18:34:18 -0600 (Thu, 15 Feb 2007) | 1 line
0.96.D593 - Back out (comment out) Windows registry installer changes.
........
r1838 | stevenknight | 2007-02-16 10:37:28 -0600 (Fri, 16 Feb 2007) | 1 line
0.96.D594 - Update Debian packaging to remove hard-coded references to Python 2.2. (Jean-Baptiste Lab)
........
r1839 | stevenknight | 2007-02-20 09:34:23 -0600 (Tue, 20 Feb 2007) | 1 line
0.96.D595 - Documentation fixes. In the construction variable appendix, use cross-referenced links to entries.
........
r1840 | stevenknight | 2007-02-21 05:11:35 -0600 (Wed, 21 Feb 2007) | 1 line
0.96.D596 - Handle Java '.class' attributes after non-word tokens without assuming it introduces an inner class.
........
r1841 | stevenknight | 2007-02-21 22:33:28 -0600 (Wed, 21 Feb 2007) | 1 line
0.96.D597 - CPPDEFINES regression
........
r1842 | stevenknight | 2007-02-22 14:19:10 -0600 (Thu, 22 Feb 2007) | 1 line
0.96.D598 - Do not detect a Java anonymous class when the first non-skipped token after "new" is a closing brace.
........
r1843 | stevenknight | 2007-02-23 10:45:06 -0600 (Fri, 23 Feb 2007) | 1 line
0.96.D599 - Better [Errno 21] Is a directory error message.
........
r1844 | stevenknight | 2007-02-23 13:32:11 -0600 (Fri, 23 Feb 2007) | 1 line
0.96.D600 - Fix expansion of non-Node objects within a PathList (maximum recursion / unhashable type bug).
........
r1847 | stevenknight | 2007-03-02 00:12:27 -0600 (Fri, 02 Mar 2007) | 1 line
0.96.D601 - Generate SCons API documentation from the docstrings using epydoc.
........
r1848 | stevenknight | 2007-03-02 14:10:06 -0600 (Fri, 02 Mar 2007) | 1 line
0.96.D602 - Fix use of custom include and lib paths with Visual Studio 8. (Richard Viney)
........
r1849 | stevenknight | 2007-03-03 01:00:22 -0600 (Sat, 03 Mar 2007) | 1 line
0.96.D603 - Man page fix: ParseDepends(). User's Guide updates: NoCache(), Clean(), fix CPPDEFINES output, markers for to-be-documented features, white space clean-up.
........
r1850 | stevenknight | 2007-03-06 02:29:08 -0600 (Tue, 06 Mar 2007) | 1 line
0.96.D604 - Fix use of --debug=presub with the Actions for our out-of-the-box Builders.
........
r1851 | stevenknight | 2007-03-06 09:10:43 -0600 (Tue, 06 Mar 2007) | 1 line
0.96.D605 - User Guide updates: --random, AlwaysBuild(), --tree=, --debug=presub, --debug=stacktrace.
........
r1852 | stevenknight | 2007-03-06 15:38:06 -0600 (Tue, 06 Mar 2007) | 1 line
0.96.D606 - Have the Intel toolchain use the default smart linking logic. (Dmitry Grigorenko and Gary Oberbrunner)
........
r1853 | stevenknight | 2007-03-06 17:56:44 -0600 (Tue, 06 Mar 2007) | 1 line
0.96.D607 - Fix tests: ActionTests.py for presub change, command detection in test/Intel/icpc-link.py.
........
r1854 | stevenknight | 2007-03-08 09:35:25 -0600 (Thu, 08 Mar 2007) | 1 line
0.96.D608 - Better selection of .NET Framework SDK paths. (Richard Viney)
........
r1855 | stevenknight | 2007-03-08 10:34:37 -0600 (Thu, 08 Mar 2007) | 1 line
0.96.D609 - Don't re-run TeX if the triggering strings (\makeindex, \bibliography, \tableofcontents) are commented out. (Matthias Troffaes)
........
r1856 | stevenknight | 2007-03-09 16:18:36 -0600 (Fri, 09 Mar 2007) | 1 line
0.96.D610 - Teach the new PathList module to handle nested lists within CPPPATH and the like.
........
r1857 | stevenknight | 2007-03-10 23:30:29 -0600 (Sat, 10 Mar 2007) | 1 line
0.96.D611 - Qt builders_used failure.
........
r1858 | stevenknight | 2007-03-11 15:33:34 -0500 (Sun, 11 Mar 2007) | 1 line
0.96.D612 - Document limitations of --implicit-cache w.r.t. CPPPATH/LIBPATH/etc.
........
r1859 | stevenknight | 2007-03-11 21:11:26 -0500 (Sun, 11 Mar 2007) | 1 line
0.96.D613 - Document --debug=findlibs and --taskmastertrace in the User's Guide.
........
r1860 | stevenknight | 2007-03-12 13:28:42 -0500 (Mon, 12 Mar 2007) | 1 line
0.96.D614 - Remove deleted cons file from the User's Guide MANIFEST. Fix epydoc API build if the build directory is outside the current directory.
........
r1861 | stevenknight | 2007-03-13 13:03:56 -0500 (Tue, 13 Mar 2007) | 2 lines
Ignore '*.pyc' files in the compat/ subdirectory.
........
r1862 | stevenknight | 2007-03-13 19:08:19 -0500 (Tue, 13 Mar 2007) | 1 line
0.96.D615 - Fix use of $VAR expansions within CPPPATH/LIBPATH values when the expansion is itself a Dir node concatenated with a string.
........
r1866 | stevenknight | 2007-03-16 01:46:10 -0500 (Fri, 16 Mar 2007) | 1 line
0.96.D616 - Back off to the 0.96.94 of Builder.py (with some performance improvements).
........
r1867 | stevenknight | 2007-03-16 11:20:39 -0500 (Fri, 16 Mar 2007) | 1 line
0.96.D617 - Fix an unnamed variable error if we can't map the Visual Studio version to a default framework version.
........
r1868 | stevenknight | 2007-03-16 12:08:18 -0500 (Fri, 16 Mar 2007) | 1 line
0.96.D618 - Quote the MSVS build target in command lines to handle spaces target name. (Jeff Mahovsky)
........
r1869 | stevenknight | 2007-03-16 13:30:06 -0500 (Fri, 16 Mar 2007) | 1 line
0.96.D619 - Portability fixes for tests run on Windows.
........
r1870 | stevenknight | 2007-03-20 00:18:04 -0500 (Tue, 20 Mar 2007) | 1 line
0.96.D620 - Windows portability fixes: test scripts and infrastructure, detect vcexpress.exe.
........
r1871 | garyo | 2007-03-21 18:32:54 -0500 (Wed, 21 Mar 2007) | 1 line
Fix bug where site_scons dir was added to sys.path as relative, not absolute. Added test case. Bug reported by Timothy Woods; thanks for the test case!
........
r1872 | stevenknight | 2007-03-22 09:43:23 -0500 (Thu, 22 Mar 2007) | 1 line
0.96.D622 - Add mention of site_scons fix to src/CHANGES.txt.
........
r1873 | stevenknight | 2007-04-02 23:49:36 -0500 (Mon, 02 Apr 2007) | 1 line
0.96.D623 - Parallel build dependencies with multiple entries in children. (Adam Simpkins)
........
r1874 | stevenknight | 2007-04-04 07:45:05 -0500 (Wed, 04 Apr 2007) | 1 line
0.96.D624 - Make all necessary LaTeX auxiliary files Precious, so bibliography contents aren't affected by whether the auxiliary files exist or not. (Joel B. Mohler)
........
r1875 | stevenknight | 2007-04-04 13:15:39 -0500 (Wed, 04 Apr 2007) | 1 line
0.96.D625 - Fix --debug-time value when -j option is used.
........
r1876 | stevenknight | 2007-04-09 19:40:08 -0500 (Mon, 09 Apr 2007) | 1 line
0.96.D626 - Fix man page example of propagating external user environment. Eliminate cut-and-paste sentence in NoCache() description. (Helmut Grohne, Joe Bloggs) [Issue 1626] [Issue 1627]
........
r1877 | stevenknight | 2007-04-09 23:20:14 -0500 (Mon, 09 Apr 2007) | 1 line
0.96.D627 - Re-run latex after bibtex runs. (Rob Managan)
........
r1878 | stevenknight | 2007-04-11 23:38:17 -0500 (Wed, 11 Apr 2007) | 1 line
0.96.D628 - Fix typo in the User's Guide. [issue 1600]
........
r1879 | stevenknight | 2007-04-12 01:06:35 -0500 (Thu, 12 Apr 2007) | 1 line
0.96.D629 - Avoid name conflicts with compat/ modules (specifically _subprocess.py).
........
r1880 | stevenknight | 2007-04-12 01:33:42 -0500 (Thu, 12 Apr 2007) | 1 line
0.96.D630 - Portability fixes and other improvements in test scripts.
........
r1882 | stevenknight | 2007-04-13 16:42:02 -0500 (Fri, 13 Apr 2007) | 1 line
0.96.D631 - The scons command, branch 0.96.96.
........
................
r1905 | stevenknight | 2007-05-17 16:27:36 -0500 (Thu, 17 May 2007) | 2 lines
Update project highlights and the roadmap for the release of 0.97.
................
r1907 | stevenknight | 2007-05-18 00:40:31 -0500 (Fri, 18 May 2007) | 29 lines
Merged revisions 1884-1905 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core
........
r1891 | stevenknight | 2007-04-24 08:57:03 -0500 (Tue, 24 Apr 2007) | 1 line
0.96.D632 - Fix 0.96.96 reference count regression during parallel builds.
........
r1892 | stevenknight | 2007-04-24 12:51:05 -0500 (Tue, 24 Apr 2007) | 1 line
0.96.D633 - Fix documented default value(s) of $MSVS_USE_MFC_DIRS.
........
r1893 | stevenknight | 2007-04-24 16:12:14 -0500 (Tue, 24 Apr 2007) | 1 line
0.96.D634 - Make the DirEntryScanner tolerant of non-Dir nodes.
........
r1898 | stevenknight | 2007-05-09 15:07:15 -0500 (Wed, 09 May 2007) | 1 line
0.96.D635 - Portability fixes in test scripts.
........
r1899 | stevenknight | 2007-05-12 08:19:13 -0500 (Sat, 12 May 2007) | 1 line
0.96.D636 - Update documentation with rudimentary Tool module descriptions.
........
r1901 | stevenknight | 2007-05-17 14:32:14 -0500 (Thu, 17 May 2007) | 1 line
0.97.D001 - Initialize 0.97 for release.
........
................
................
r1931 | pscholl | 2007-05-23 18:41:24 -0500 (Wed, 23 May 2007) | 5 lines
Install, InstallAs, CopyTo and CopyAs will not get instantiated for each
environment.
................
r1936 | stevenknight | 2007-05-26 14:56:36 -0500 (Sat, 26 May 2007) | 3 lines
Windows has no os.uname() method, so just leave "machine" initialized to
None on those systems.
................
r1946 | pscholl | 2007-05-30 11:44:51 -0500 (Wed, 30 May 2007) | 3 lines
* let FindSourceFile use '.' as the default target
................
r1948 | pscholl | 2007-05-30 12:23:42 -0500 (Wed, 30 May 2007) | 3 lines
* use has_builder() instead of len(node.sources)==0 to select leaves in the DAG
................
r1950 | stevenknight | 2007-05-31 09:03:19 -0500 (Thu, 31 May 2007) | 6 lines
Clean ups:
Add a missing test.pass_test() call.
Use test.skip_test() when a utility isn't found.
Un-indent the test.*() calls in the main bodies of the test.
Use test.must_exist() instead of test.fail_test(not os.path.exists()).
................
r1965 | stevenknight | 2007-06-01 15:24:14 -0500 (Fri, 01 Jun 2007) | 3 lines
Remove the Install() and InstallAs() unit tests, since those are
no longer native construction environment methods.
................
r1966 | stevenknight | 2007-06-01 15:25:47 -0500 (Fri, 01 Jun 2007) | 3 lines
Remove an extra line interfering with a fix for installing files that
begin with '#'. (Probably left over from a hasty merge.)
................
r1967 | stevenknight | 2007-06-01 15:32:36 -0500 (Fri, 01 Jun 2007) | 2 lines
Remove a duplicate line.
................
r1974 | stevenknight | 2007-06-04 12:41:16 -0500 (Mon, 04 Jun 2007) | 7 lines
Change FindSourceFiles so it disambiguates Entry nodes into File
nodes while performing its walk.
Use isinstance() instead explicit __class__ comparison to allow for
future subclassing.
Use set() to find uniq elements in a list (available to earlier
Python versions through our compatibility library).
................
r2122 | stevenknight | 2007-07-11 15:52:15 -0500 (Wed, 11 Jul 2007) | 3 lines
1.5 portability issues (nested scope, comment out Help-text stuff that
will be superceded by the AddOption() support).
................
r2124 | stevenknight | 2007-07-12 11:55:38 -0500 (Thu, 12 Jul 2007) | 2 lines
Skip MSI tests if xml.dom.minidom isn't installed (early Python version)
................
r2125 | stevenknight | 2007-07-12 12:27:36 -0500 (Thu, 12 Jul 2007) | 13 lines
Set TAR_OPTIONS=--wildcards when executing rpmbuild, so the extraction
of the .spec file from the tarball will work with newer versions of tar.
Change the RPM tool to initialize variables using env.SetDefault(), so
the re-application of the tools to the construction environment (?)
doesn't wipe out our $RPM setting (to add TAR_OPTIONS=--wildcards).
Have the .spec files generated by the tests build/install the software
using the version of SCons under test, not whatever happens to be
installed as "scons" on the system.
Python 1.5 fixes in various RPM code.
................
r2127 | stevenknight | 2007-07-12 15:03:45 -0500 (Thu, 12 Jul 2007) | 10 lines
Use the new AddOption() method to support --install-sandbox, restoring
the ability to call the options() function of a Tool module.
Python 2.2 fix in packaging/test/packaging/rpm/tagging.py.
Earlier-version Python fixes in other tests.
Removal of unnecessary "import os" lines, and use of TestCmd.must_exist()
where it can be.
................
r2129 | stevenknight | 2007-07-13 09:39:26 -0500 (Fri, 13 Jul 2007) | 7 lines
Pre-2.2 Python fixes:
Pull a recursively-called embedded function into the global Environment.py
namespace.
Avoid .split() and .replace() string object methods.
................
Diffstat (limited to 'test/packaging/rpm')
-rw-r--r-- | test/packaging/rpm/cleanup.py | 100 | ||||
-rw-r--r-- | test/packaging/rpm/internationalization.py | 180 | ||||
-rw-r--r-- | test/packaging/rpm/package.py | 91 | ||||
-rw-r--r-- | test/packaging/rpm/tagging.py | 97 |
4 files changed, 468 insertions, 0 deletions
diff --git a/test/packaging/rpm/cleanup.py b/test/packaging/rpm/cleanup.py new file mode 100644 index 0000000..26bf79b --- /dev/null +++ b/test/packaging/rpm/cleanup.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python +# +# __COPYRIGHT__ +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" + +""" +Assert that files created by the RPM packager will be removed by 'scons -c'. +""" + +import TestSCons + +machine = TestSCons.machine +_python_ = TestSCons._python_ + +test = TestSCons.TestSCons() + +scons = test.program + +# TODO: skip this test, since only the intermediate directory needs to be +# removed. + +rpm = test.Environment().WhereIs('rpm') + +if not rpm: + test.skip_test('rpm not found, skipping test\n') + +test.subdir('src') + +test.write( [ 'src', 'main.c' ], r""" +int main( int argc, char* argv[] ) +{ + return 0; +} +""") + +test.write('SConstruct', """ +env=Environment(tools=['default', 'packaging']) + +env.Prepend(RPM = 'TAR_OPTIONS=--wildcards ') + +prog = env.Install( '/bin/' , Program( 'src/main.c') ) + +env.Package( NAME = 'foo', + VERSION = '1.2.3', + PACKAGEVERSION = 0, + PACKAGETYPE = 'rpm', + LICENSE = 'gpl', + SUMMARY = 'balalalalal', + X_RPM_GROUP = 'Application/fu', + X_RPM_INSTALL = r'%(_python_)s %(scons)s --install-sandbox="$RPM_BUILD_ROOT" "$RPM_BUILD_ROOT"', + DESCRIPTION = 'this should be really really long', + source = [ prog ], + SOURCE_URL = 'http://foo.org/foo-1.2.3.tar.gz' + ) + +env.Alias( 'install', prog ) +""" % locals()) + +# first run: build the package +# second run: test if the intermediate files have been cleaned +test.run( arguments='' ) +test.run( arguments='-c' ) + +src_rpm = 'foo-1.2.3-0.src.rpm' +machine_rpm = 'foo-1.2.3-0.%s.rpm' % machine + +test.must_not_exist( machine_rpm ) +test.must_not_exist( src_rpm ) +test.must_not_exist( 'foo-1.2.3.tar.gz' ) +test.must_not_exist( 'foo-1.2.3.spec' ) +test.must_not_exist( 'foo-1.2.3/foo-1.2.3.spec' ) +test.must_not_exist( 'foo-1.2.3/SConstruct' ) +test.must_not_exist( 'foo-1.2.3/src/main.c' ) +# We don't remove the directories themselves. Yet. +#test.must_not_exist( 'foo-1.2.3' ) +#test.must_not_exist( 'foo-1.2.3/src' ) +test.must_not_exist( 'bin/main' ) + +test.pass_test() diff --git a/test/packaging/rpm/internationalization.py b/test/packaging/rpm/internationalization.py new file mode 100644 index 0000000..66c2291 --- /dev/null +++ b/test/packaging/rpm/internationalization.py @@ -0,0 +1,180 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# __COPYRIGHT__ +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" + +""" +Test the ability to handle internationalized package and file meta-data. + +These are x-rpm-Group, description, summary and the lang_xx file tag. +""" + +import os + +import TestSCons + +machine = TestSCons.machine +_python_ = TestSCons._python_ + +test = TestSCons.TestSCons() + +scons = test.program + +rpm = test.Environment().WhereIs('rpm') + +if not rpm: + test.skip_test('rpm not found, skipping test\n') + +# +# test INTERNATIONAL PACKAGE META-DATA +# +test.write( [ 'main.c' ], r""" +int main( int argc, char* argv[] ) +{ + return 0; +} +""") + +test.write('SConstruct', """ +# -*- coding: utf-8 -*- +import os + +env = Environment(tools=['default', 'packaging']) + +env.Prepend(RPM = 'TAR_OPTIONS=--wildcards ') + +prog = env.Install( '/bin', Program( 'main.c' ) ) + +env.Package( NAME = 'foo', + VERSION = '1.2.3', + PACKAGETYPE = 'rpm', + LICENSE = 'gpl', + SUMMARY = 'hello', + SUMMARY_de = 'hallo', + SUMMARY_fr = 'bonjour', + PACKAGEVERSION = 0, + X_RPM_GROUP = 'Application/office', + X_RPM_GROUP_de = 'Applikation/büro', + X_RPM_GROUP_fr = 'Application/bureau', + X_RPM_INSTALL = r'%(_python_)s %(scons)s --install-sandbox="$RPM_BUILD_ROOT" "$RPM_BUILD_ROOT"', + DESCRIPTION = 'this should be really long', + DESCRIPTION_de = 'das sollte wirklich lang sein', + DESCRIPTION_fr = 'ceci devrait être vraiment long', + source = [ prog ], + SOURCE_URL = 'http://foo.org/foo-1.2.3.tar.gz' + ) + +env.Alias ( 'install', prog ) +""" % locals()) + +test.run(arguments='', stderr = None) + +src_rpm = 'foo-1.2.3-0.src.rpm' +machine_rpm = 'foo-1.2.3-0.%s.rpm' % machine + +test.must_exist( src_rpm ) +test.must_exist( machine_rpm ) + +test.must_not_exist( 'bin/main' ) + +cmd = 'rpm -qp --queryformat \'%%{GROUP}-%%{SUMMARY}-%%{DESCRIPTION}\' %s' + +os.environ['LC_ALL'] = 'de_DE.utf8' +os.environ['LANGUAGE'] = 'de' +out = os.popen( cmd % test.workpath(machine_rpm) ).read() +test.fail_test( out != 'Applikation/büro-hallo-das sollte wirklich lang sein' ) + +os.environ['LC_ALL'] = 'fr_FR.utf8' +os.environ['LANGUAGE'] = 'fr' +out = os.popen( cmd % test.workpath(machine_rpm) ).read() +test.fail_test( out != 'Application/bureau-bonjour-ceci devrait être vraiment long' ) + +os.environ['LANGUAGE'] = 'en' +out = os.popen( cmd % test.workpath(machine_rpm) ).read() +test.fail_test( out != 'Application/office-hello-this should be really long' ) + +os.environ['LC_ALL'] = 'ae' +out = os.popen( cmd % test.workpath(machine_rpm) ).read() +test.fail_test( out != 'Application/office-hello-this should be really long' ) + +# +# test INTERNATIONAL PACKAGE TAGS +# + +test.write( [ 'main.c' ], r""" +int main( int argc, char* argv[] ) +{ + return 0; +} +""") + +test.write( ['man.de'], '' ) +test.write( ['man.en'], '' ) +test.write( ['man.fr'], '' ) + +test.write('SConstruct', """ +# -*- coding: utf-8 -*- +import os + +env = Environment(tools=['default', 'packaging']) +prog = env.Install( '/bin', Program( 'main.c' ) ) + +man_pages = Flatten( [ + env.Install( '/usr/share/man/de', 'man.de' ), + env.Install( '/usr/share/man/en', 'man.en' ), + env.Install( '/usr/share/man/fr', 'man.fr' ) +] ) + +env.Tag( man_pages, 'LANG_DE', 'DOC') + +env.Package( NAME = 'foo', + VERSION = '1.2.3', + PACKAGETYPE = 'rpm', + LICENSE = 'gpl', + SUMMARY = 'hello', + SUMMARY_de = 'hallo', + SUMMARY_fr = 'bonjour', + PACKAGEVERSION = 0, + X_RPM_GROUP = 'Application/office', + X_RPM_GROUP_de = 'Applikation/büro', + X_RPM_GROUP_fr = 'Application/bureau', + X_RPM_INSTALL = r'%(_python_)s %(scons)s --install-sandbox="$RPM_BUILD_ROOT" "$RPM_BUILD_ROOT"', + DESCRIPTION = 'this should be really long', + DESCRIPTION_de = 'das sollte wirklich lang sein', + DESCRIPTION_fr = 'ceci devrait être vraiment long', + source = [ prog, man_pages ], + SOURCE_URL = 'http://foo.org/foo-1.2.3.tar.gz', + ) + +env.Alias ( 'install', [ prog, man_pages ] ) +""" % locals()) + + +test.run(arguments='--install-sandbox=blubb install', stderr = None) + +test.must_exist( src_rpm ) +test.must_exist( machine_rpm ) + +test.pass_test() diff --git a/test/packaging/rpm/package.py b/test/packaging/rpm/package.py new file mode 100644 index 0000000..a5f9f0f --- /dev/null +++ b/test/packaging/rpm/package.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python +# +# __COPYRIGHT__ +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" + +""" +Test the ability to create a really simple rpm package. +""" + +import os +import TestSCons + +machine = TestSCons.machine +_python_ = TestSCons._python_ + +test = TestSCons.TestSCons() + +scons = test.program + +rpm = test.Environment().WhereIs('rpm') + +if not rpm: + test.skip_test('rpm not found, skipping test\n') + +test.subdir('src') + +test.write( [ 'src', 'main.c' ], r""" +int main( int argc, char* argv[] ) +{ + return 0; +} +""") + +test.write('SConstruct', """ +import os + +env=Environment(tools=['default', 'packaging']) + +env.Prepend(RPM = 'TAR_OPTIONS=--wildcards ') + +prog = env.Install( '/bin/' , Program( 'src/main.c') ) + +env.Package( NAME = 'foo', + VERSION = '1.2.3', + PACKAGEVERSION = 0, + PACKAGETYPE = 'rpm', + LICENSE = 'gpl', + SUMMARY = 'balalalalal', + X_RPM_GROUP = 'Application/fu', + X_RPM_INSTALL = r'%(_python_)s %(scons)s --debug=tree --install-sandbox="$RPM_BUILD_ROOT" "$RPM_BUILD_ROOT"', + DESCRIPTION = 'this should be really really long', + source = [ prog ], + SOURCE_URL = 'http://foo.org/foo-1.2.3.tar.gz' + ) + +env.Alias( 'install', prog ) +""" % locals()) + +test.run(arguments='', stderr = None) + +src_rpm = 'foo-1.2.3-0.src.rpm' +machine_rpm = 'foo-1.2.3-0.%s.rpm' % machine + +test.must_exist( machine_rpm ) +test.must_exist( src_rpm ) +test.must_not_exist( 'bin/main' ) +test.fail_test( not os.popen('rpm -qpl %s' % machine_rpm).read()=='/bin/main\n') +test.fail_test( not os.popen('rpm -qpl %s' % src_rpm).read()=='foo-1.2.3.spec\nfoo-1.2.3.tar.gz\n') + +test.pass_test() diff --git a/test/packaging/rpm/tagging.py b/test/packaging/rpm/tagging.py new file mode 100644 index 0000000..198799a --- /dev/null +++ b/test/packaging/rpm/tagging.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python +# +# __COPYRIGHT__ +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" + +""" +Test the ability to add file tags +""" + +import os +import string + +import TestSCons + +machine = TestSCons.machine +_python_ = TestSCons._python_ + +test = TestSCons.TestSCons() + +scons = test.program + +rpm = test.Environment().WhereIs('rpm') + +if not rpm: + test.skip_test('rpm not found, skipping test\n') + +# +# Test adding an attr tag to the built program. +# +test.subdir('src') + +test.write( [ 'src', 'main.c' ], r""" +int main( int argc, char* argv[] ) +{ +return 0; +} +""") + +test.write('SConstruct', """ +import os + +env = Environment(tools=['default', 'packaging']) +env.Prepend(RPM = 'TAR_OPTIONS=--wildcards ') +install_dir= os.path.join( ARGUMENTS.get('prefix', '/'), 'bin/' ) +prog_install = env.Install( install_dir , Program( 'src/main.c' ) ) +env.Tag( prog_install, UNIX_ATTR = '(0755, root, users)' ) +env.Alias( 'install', prog_install ) + +env.Package( NAME = 'foo', + VERSION = '1.2.3', + PACKAGETYPE = 'rpm', + LICENSE = 'gpl', + SUMMARY = 'balalalalal', + PACKAGEVERSION = 0, + X_RPM_GROUP = 'Applicatio/fu', + X_RPM_INSTALL = r'%(_python_)s %(scons)s --install-sandbox="$RPM_BUILD_ROOT" "$RPM_BUILD_ROOT"', + DESCRIPTION = 'this should be really really long', + source = [ prog_install ], + SOURCE_URL = 'http://foo.org/foo-1.2.3.tar.gz' + ) +""" % locals()) + +test.run(arguments='', stderr = None) + +src_rpm = 'foo-1.2.3-0.src.rpm' +machine_rpm = 'foo-1.2.3-0.%s.rpm' % machine + +test.must_exist( machine_rpm ) +test.must_exist( src_rpm ) +test.fail_test( not os.popen('rpm -qpl %s' % machine_rpm).read()=='/bin/main\n') +test.fail_test( not os.popen('rpm -qpl %s' % src_rpm).read()=='foo-1.2.3.spec\nfoo-1.2.3.tar.gz\n') + +expect = '(0755, root, users) /bin/main' +test.fail_test(string.find(test.read('foo-1.2.3.spec'), expect) == -1) + +test.pass_test() |