pkgsrc changes:
- requiring more actual p5-Test-Simple (0.88) according to META.yml
Upstream changes:
0.94 Tue, Sep 22, 2009
* Class::MOP::Attribute
- Introduce set_raw_value and get_raw_value, side effect free variants
of {get,set}_value. These don't do anything useful in Class::MOP but
have different behavior that set_value and get_value for Moose
attributes. (nothingmuch)
such as xulrunner-1.9.1, firefox-3.5, thunderbird-3.0 and seamonkey-2.0.
Nothing in the tree uses this file yet. Having it here now makes for one
less pullup later.
using the real path in CPPFLAGS etc. The wrapper framework will translate
those back.
Add some more substitutions for additional directories to help other
packages being destdir safe.
Fri Sep 11 20:50:00 UTC 2009
0.45 release.
Changes
- Certs now link to the key that signed them by the key's
hash, instead of its name. This should provide some
security and usability improvements.
The database schema has been changed, so you will need to
run 'mtn db migrate' (preferably after making a backup copy
of your db).
The netsync protocol version has also changed. However, we
found space to implement full protocol version negotiation,
so no flag day is needed. If your particular project has a
situation where there are multiple keys with the same name,
you will receive errors when trying to sync certs signed by
those keys to older netsync peers.
A number of commands have slightly different output now,
particularly 'ls certs', 'ls tags', 'automate keys',
'automate tags' and 'automate certs'. There is a new Lua
hook associated with these changes,
'get_local_key_name(identity)', and all Lua hooks that used
to take a key name as an argument now instead take a table
with several fields.
Commands which previously accepted a key name now also
accept the key's hash or local name, which is a local alias
for equally named keys. 'read-permissions' and
'write-permissions' accept either the key name or the hash.
There is also a new 'db fix_certs' command which fixes wrong
key assignments in migrated databases if you have the correct
key available.
- The 'resolved_user' conflict resolution is no longer
reported by 'automate show_conflicts' for file content
conflicts; 'resolved_user_left' is used instead.
- 'format_version' was removed from 'automate tags' and
'automate get_attributes' which both do not need this
additional versioning information.
New features
- The 'log' command now, by default, converts all dates it
prints to your timezone instead of leaving them in UTC, and
uses a somewhat more friendly format for the dates.
You can customize the date format with the new
"get_date_format_spec" Lua hook, which returns a strftime(3)
format string. You can also override the format for one
command with the new --date-format option, disable date
conversion for one command with --no-format-dates, or
disable it by default by having the above Lua hook return an
empty string.
- The 'diff' and 'automate content_diff' commands take a
'--reverse' option when one revision is specified, to
control the order of the diff with the workspace.
- The 'update', 'checkout', 'pluck', and 'pivot_root' commands
take an option '--move-conflicting-paths', to handle
unversioned files that are blocking the action. The
unversioned files are moved to
_MTN/resolutions/<workspace_path>, so the action can
succeed, and the user can recover the files if necessary.
- Resolution of orphaned file conflicts is now supported by
'merge --resolve-conflicts' and the 'conflicts' commands.
- Duplicate name conflicts now support the 'keep' resolution.
- Monotone now accepts ':memory:' as argument to the --db option
and sets up a memory-only SQLite database.
- 'clone' allows cloning into the current directory when
'.' is given as argument.
Bugs fixed
- Monotone now sanely skips paths with invalid characters
it encounters during 'add' or 'automate inventory'.
- Key names, cert names, and var domains with non-ASCII
characters should work properly now. Previously, they would
be (usually) converted to punycode on input, and not decoded
on output. They will now not be converted to punycode at
all.
- The 'conflict' commands can now handle duplicate name
conflicts for directories.
- 'cvs_import' now properly parses CVS timestamps (again).
- Windows' cmd.exe is recognized as smart terminal and thus
monotone should create more readable output in
netsync operations.
Tue May 12 20:44:00 UTC 2009
0.44 release.
Changes
- Private keys no longer have a separate hash from the associated
public key. This changes the hashes output by 'ls keys', and also
changes the format of 'automate keys' and 'automate genkey'.
New features
- New 'w:' selector type for selecting the revision the workspace
is based on.
Bugs fixed
- C++ exceptions in Lua extension functions are now converted into
Lua errors catchable with pcall, instead of causing a crash.
- In 0.43 revert became excessively noisy and would report changes to
all attributes on included files and directories regardless of whether
the attributes had been changed or not. This has been silenced.
Monotone will now specifically report changes to execute permissions
only when they occur.
- In 0.43 monotone would lose execute permissions on all files modified
during an update operation. Execute permissions are now reset on
updated files that have the mtn:execute attribute set to true.
- Invalid revision selectors now cause an immediate error instead of
being dropped from the selection. The old behavior could produce
undesired effects from typoed commands, such as spewing a list of
all revisions in the database.
- If "automate stdio" is in use, invalid selectors are reported via
the automate protocol rather than on stderr.
- "Best-effort" character set conversions now work again; 'mtn log'
will not crash just because there is a change log entry with a
character not representable in your locale. However, if your system
iconv(3) implementation does not support the //TRANSLIT extension,
you may see garbage characters in the above scenario.
Internal
- Various small code changes to make monotone compile under (Open)
Solaris using Sun Studio, and under Windows with Visual C++.
- monotone.spec has been removed from the distribution.
Sun Mar 22 22:26:00 UTC 2009
0.43 release.
Changes
- The Monotone source distribution no longer includes copies of
several third-party libraries. This means they must be downloaded
and built separately, before building monotone. See INSTALL for a
complete list of necessary libraries.
This allows monotone's developers to concentrate on monotone
itself, rather than tracking external library updates, which in
practice did not happen. By way of illustration, we were still
shipping sqlite 3.4.1, which is years out of date. This has also
been a long-standing request of various redistributors of binary
packages, who prefer the use of globally shared libraries.
- There is a new db var "database delta-direction", which can have
values "reverse" (default), "forward", and "both". This controls
what kind of deltas are stored for new file versions. Forward
deltas are very fast for netsync, but slow for most other uses.
Set this to "both" (or perhaps "forward" if you're very short on
disk space) on an empty db and pull everything into it, to get a
database which will be much faster for server usage (especially
initial pulls).
- 'mtn help <command_or_group>' or 'mtn <command_or_group> --help' no
longer print global options, thus making the output of specific help
requests more compact. You still see all available global options
by executing 'mtn help' without any arguments.
- 'mtn automate get_current_revision' now returns an empty changeset
instead of an error if a workspace contains no changes.
New features
- A monotone database may be exported in the git fast-import format
using the git_export command. The output from this command may be
piped into git fast-import or other tools supporting this format.
- Additional 'u:' and 'm:' selector types for selecting the revision the
workspace was last updated from and revisions matching specified
message globs in changelog and comment certs.
- Additional '--revision' option for 'mtn log' allows logging of
selected sets of revisions.
- Additional '--full' option for 'mtn db info' to display some
statistic analysis of the date certs in the database.
- Command line options in the EDITOR and/or VISUAL environment
variables are honored; for instance, EDITOR="emacs -nw"
works now. (Debian bug #320565.)
- The `mtn_automate' lua function now correctly parses and sets
options for executed automate commands.
- The 'commit' command accepts a non-empty _MTN/log as the log
message when '--message-file=_MTN/log' is given.
Bugs fixed
- Performance of the log command has been improved significantly.
Previous versions of monotone loaded individual certs by name for each
printed revision and this caused sqlite to not use the correct
index. Now, all certs are loaded for each printed revision once and
individual certs are selected from the full list which allows sqlite
to use the preferred index.
- In 0.42, a netsync writer would attempt to queue up all outgoing
data as soon as it knew what data to send, in a single operation,
without servicing the event loop. If there was a large amount of
data to send, this would cause very long pauses and sometimes
timeouts and dropped connections (for pauses over 10 minutes).
The bug that caused this is fixed, and that operation now has a
safety timer that should prevent it from coming back.
- When the netsync server receives garbage over the network, it
should be much better about only terminating the offending connection
instead of the entire server.
- The log command was missing '--depth' and '--exclude' options used to
restrict revisions printed to those touching specific paths. Log now
allows these options and uses them properly.
- The update command previously did not clear execute permissions from
files that had their associated 'mtn:execute' attribute cleared.
- Several minor problems with workspace attributes have been fixed.
Earlier versions of monotone would reset attributes such as
mtn:execute on all files when any workspace modifying command was
executed. Applying attribute changes to workspace files is now done
much more selectively in the same manner that content and name changes
are applied.
- In certain cases, especially also on FreeBSD and Mac OS X, netsync
called select() even after read() returned 0 bytes to indicate the
end of the file, resulting in a confusing error message. This
is fixed by treating EOF specially and prevent further calls
to select() on the file handle, as recommended by the
select_tut man page.
- If given a filename, `mtn ssh_agent_export' now creates that
file with the correct permissions (i.e. mode 600), creates
directories as necessary, and does not throw an internal
error if creation or writing fails. (You're still on your
own for directory creation and permissions if you take the
key on standard output and redirect it to a file.)
- The `p:' selector now accepts single character revision ids.
- `mtn merge_into_workspace' no longer crashes if one tries to merge
in an ancestor or descendant of a workspace, but gives a helpful
error message.
- Several bugfixes to `mtn automate stdio':
* It now correctly distinguishs between syntax and command errors by
returning error code 1 for the former and error code 2 for the
latter - just as advertised in the documentation.
* The stdio event loop no longer quits if a syntax error occurs, but
rather discards the wrong state and accepts new (valid) commands.
* Option errors haven't been catched properly and thus weren't encoded
in stdio either; this has been fixed as well.
* Global options, which were set or changed by a previously executed
command, weren't properly reset before the next command was issued.
It was f.e. not possible to "unignore" suspended branches for
the `branches' command when `--ignore-suspend-certs' was given in
a previous run. Now only those global options persist between
executed commands which were given to stdio directly.
Internal
- Using 64 bit integer values to represent dates internally. This
has no user visible effect.
- The unit test code has been separated from the main source, thus
building the tests no longer requires a full recompilation. Also,
the number of modules which are linked into unit tester has
decreased tremendously.
- A couple of debug commands have been added to the `database'
command group to aid performance timing. See `mtn help --hidden db'
for a list of available commands.
- Our internal error handling has been overhauled. N() is gone, and E()
takes three arguments instead of 2: E(bool, origin::type, i18n_format).
origin::type is an enum describing the source of the error, eg network,
user, internal. Data types can publically inherit origin_aware (as the
vocab types do) to obtain a public origin::type member named
'made_from'; this can then be supplied to E() when sanity-checking
that data. origin_aware and origin::type are in origin_type.hh.
I() will throw a unrecoverable_failure, and E() will throw either a
unrecoverable_failure or a recoverable_failure depending on the
origin::type provided. informative_failure is gone.
Upstream changes:
* v0.80, 16 September 2009
Add notes for 64-bit perl
Bump all the version numbers
Fix a bunch of tests (nothing major, just make them work better)
Fix sound-env-var checking code for tests (no more sound tests
unless you ask for them with MAC_CARBON_SOUND, which was in the
last version, but the logic was broken)
Make CFStringRef typemap better
Remove high-bit characters from source files
Add new system version gestalt constants
Fix leak in Mac::Processes and Mac::Speech
Upstream changes:
1.004007 2009-09-02
- Ensure that $ENV{PERL5LIB} and @INC are always de-duped, stopping
them from growing if local::lib is invoked multiple times for the
same path. (t0m)
- Doc improvements by kurisuto@irc.perl.org/#catalyst.
- Cleaned up indentation of code lines in the POD. Everything should be
nice and flush, now.
pkgsrc changes:
- Adjusting dependencies
Upstream changes:
0.27 Tue, 22 Sep 2009 14:30:23 +0200
* Depend on MooseX::LazyRequire 0.04 to avoid fail on version 0.03, which has
been broken by recent Moose versions (Closes RT#49903) (Maik Hentsche).
Test::UseAllModules v0.12 from PR pkg/42023 with minor modifications.
Sick of writing 00_load.t (or something like that) that do use_ok() for every
written module? Even sicker of updating 00_load.t every time adding another file
to the distro? This module reads MANIFEST to find modules to be tested and does
use_ok() for each of them. Now all to do is keeping MANIFEST up to date.
MooseX::SimpleConfig v0.03 from PR pkg/42024.
This role loads simple configfiles to set object attributes. It is based on the
abstract role MooseX::ConfigFromFile, and uses Config::Any to load your
configfile. Config::Any will in turn support any of a variety of different
config formats, detected by the file extension. See Config::Any for more
details about supported formats.
Like all MooseX::ConfigFromFile -derived configfile loaders, this module is
automatically supported by the MooseX::Getopt role as well, which allows
specifying -configfile on the commandline.
MooseX::ConfigFromFile v0.02 from PR pkg/42025 with some modifications.
This is an abstract role which provides an alternate constructor for creating
objects using parameters passed in from a configuration file. The actual
implementation of reading the configuration file is left to concrete subroles.
It declares an attribute configfile and a class method new_with_config, and
requires that concrete roles derived from it implement the class method
get_config_from_file.
Attributes specified directly as arguments to new_with_config supercede those
in the configfile.
pkgsrc changes:
- Adding license definition
- Adjusting dependencies
Upstream changes:
0.33 - or the "ZOMGIBROKECPAN" release
- Make the test scripts adaptive to Test::More diagnostic changes in
version 0.88
- Skip invalid package names in Test::Class::Load::_load so that we
don't try to load classes in .svn/et-al paths
- Removed #! script invocation line from the MethodInfo.pm module
0.32_1 - or the "Birmingham QA 2009" release
- Removed pointless use of Test::Exception in t/bad-autoloads.t to stop
bogus warnings that were confusing some folk
- Added add_testinfo for Test::Class::Sugar (thanks Piers Cawley)
Upstream changes:
0.32 Tue Sep 22 16:44:57 2009
* Add many tests copied from Moose (gfx)
* Fix Mouse::Util::find_meta() and Mouse::Util::does_role() (gfx)
* Fix the timing triggers are invoked (gfx)
* Implement confliction checks in roles
* work around create() and create_anon() in Mouse::Meta::Role
0.31 Tue Sep 22 11:08:12 2009
* Add find_meta() and does_role() to Mouse::Util (gfx)
* Fix tests using Class::Method::Modifiers to be skipped correctly (gfx)
* Remove Test::Mouse, which was accidentally included (gfx)
0.30 Mon Sep 21 16:43:05 2009
* Implement RT #46930 (accessor/reader/writer in has()) (gfx)
* Work around anonymous classes as mortal classes (gfx)
* Implement with $role => -exlucdes => [...] (gfx)
* Implement get_method() in M::Meta::Class and M::Meta::Role (gfx)
* Make get_method_list() compatible with Moose's (gfx)
* Make unimport() not to remove non-Mouse functions (blessed and confess) (gfx)
* Remove a lot of duplication code (gfx)
* Support is => 'bare', and you must pass and 'is' option to has() (gfx)
Upstream changes:
0.87 Mon Sep 21 15:55:00 CET 2009
- Promote to stable release
0.86_01 Thu Sep 17 10:01:00 CET 2009
- From perl change 09330df80caf214f375fcf0c04857347e3b17c69 (Zefram):
Fix [perl #66970] Incorrect coderef in MODIFY_CODE_ATTRIBUTES
Attribute handlers being applied to a temporary CV has actually been
reported as a bug, #66970. The attached patch fixes the bug, by
changing the order in which things happen: attributes are now applied
after the temporary CV has been merged into the existing CV or has
otherwise been added to the appropriate GV.
The change breaks part of Attribute::Handlers. Part of A:H searches the
package to find the name of the sub to which a :ATTR attribute is being
applied, and the correct time at which to launch that search depends
crucially on the order in which the CV construction events occur. So
this patch also includes a change to A:H, to make it detect which way
things happen. The resulting A:H works either way, which is essential
for its dual-life nature.
(CVE-2006-0224 was already fixed by patch-aa in pkgsrc).
XXX: self test failed on NetBSD-5.0.1, but old version also failed.
Changes: The string class is now both an interface and an implementation, so
parallel implementations (e.g., a glib string wrapper) can be created. Detection
of Imlib2 support and a pixmap leak when it was disabled have been fixed. Fixes
have been made for gcc4/newer autotools. This release also contains a fix for
CVE-2006-0224, a buffer overflow which could lead to privilege escalation in set
uid/setgid apps using LibAST's configuration engine.
Upstream changes:
0.25_02 Sat Aug 1 06:41:55 EDT 2009
- MS VC++ 7 doesn't like inline nor 'long long'
(patch provided by Taro Nishino (taro DOT nishino AT gmail.com)
- Newx isbn't around in older perls so use New(0,...) instead
0.25_01 Thu Jul 30 17:43:20 EDT 2009
- it seems the only way of handling the stack that works on all
flavors of the multicall API is by making a shallow copy of it
and use that between the PUSH/POP_MULTICALL bracket
- fix awkward ok() override in List-MoreUtils.t so that it reports
line numbers in test failures properly