pkgsrc/lang/erlang/patches/patch-ai

87 lines
2.5 KiB
Text
Raw Normal View History

Update to Erlang/OTP R15B01 Presumably fixes PR pkg/46297 Changes in Erlang/OTP R15B01 Highlights: * Added erlang:statistics(scheduler_wall_time) to ensure correct determination of scheduler utilization. Measuring scheduler utilization is strongly preferred over CPU utilization, since CPU utilization gives very poor indications of actual scheduler/vm usage. * Changed ssh implementation to use the public_key application for all public key handling. This is also a first step for enabling a callback API for supplying public keys and handling keys protected with password phrases. Additionally the test suites where improved so that they do not copy the users keys to test server directories as this is a security liability. Also ipv6 and file access issues found in the process has been fixed. * When an escript ends now all printout to standard output and standard error gets out on the terminal. This bug has been corrected by changing the behaviour of erlang:halt/0,1, which should fix the same problem for other escript-like applications, i.e. that data stored in the output port driver buffers got lost when printing on a TTY and exiting through erlang:halt/0,1. The BIF:s erlang:halt/0,1 has gotten improved semantics and there is a new BIF erlang:halt/2 to accomplish something like the old semantics. See the documentation. * The DTrace source patch from Scott Lystig Fritchie is integrated in the source tree. Using an emulator with dtrace probe is still not supported for production use, but may be a valuable debugging tool. * Added Torbjörn Törnkvists LDAP client as a new application called eldap. * Added options for the ssh client to support user keys files that are password protected. Changes in Erlang/OTP R15B Highlights: * Line number and filename information are now included in exception backtraces. This information will be pretty-printed in the shell and used in crash reports etc. In practice it will be much easier to find where something failed. * The driver interface has been changed to enable 64-bit aware drivers. Most importantly the return types for ErlDrvEntry callbacks 'call' and 'control' has been changed which require drivers to be changed. * New in this release is the support for 64 bit Windows. The self extracting installer can be found here. * CommonTest hooks are now in a final supported version. * There is a new GUI tool in the observer application which integrates pman, etop, appmon and tv into one tool. The tool does also contain functions for activating tracing in an easy way. * The Erlang distribution can now be run over the new SSL implementation. Changes in Erlang/OTP R15A Notable changes: OTP-9468 'Line numbers in exceptions' OTP-9451 'Parallel make' OTP-4779 A new GUI for Observer. Integrating pman, etop and tv into observer with tracing facilities. OTP-7775 A number of memory allocation optimizations have been implemented. Most optimizations reduce contention caused by synchronization between threads during allocation and deallocation of memory. Most notably: Synchronization of memory management in scheduler specific allocator instances has been rewritten to use lock-free synchronization. Synchronization of memory management in scheduler specific pre-allocators has been rewritten to use lock-free synchronization. The 'mseg_alloc' memory segment allocator now use scheduler specific instances instead of one instance. Apart from reducing contention this also ensures that memory allocators always create memory segments on the local NUMA node on a NUMA system. OTP-9632 An ERTS internal, generic, many to one, lock-free queue for communication between threads has been introduced. The many to one scenario is very common in ERTS, so it can be used in a lot of places in the future. Currently it is used by scheduling of certain jobs, and the async thread pool, but more uses are planned for the future. Drivers using the driver_async functionality are not automatically locked to the system anymore, and can be unloaded as any dynamically linked in driver. Scheduling of ready async jobs is now also interleaved in between other jobs. Previously all ready async jobs were performed at once. OTP-9631 The ERTS internal system block functionality has been replaced by new functionality for blocking the system. The old system block functionality had contention issues and complexity issues. The new functionality piggy-backs on thread progress tracking functionality needed by newly introduced lock-free synchronization in the runtime system. When the functionality for blocking the system isn't used, there is more or less no overhead at all. This since the functionality for tracking thread progress is there and needed anyway.
2012-04-12 14:14:12 +02:00
$NetBSD: patch-ai,v 1.4 2012/04/12 12:14:13 asau Exp $
Update to Erlang/OTP R15B01 Presumably fixes PR pkg/46297 Changes in Erlang/OTP R15B01 Highlights: * Added erlang:statistics(scheduler_wall_time) to ensure correct determination of scheduler utilization. Measuring scheduler utilization is strongly preferred over CPU utilization, since CPU utilization gives very poor indications of actual scheduler/vm usage. * Changed ssh implementation to use the public_key application for all public key handling. This is also a first step for enabling a callback API for supplying public keys and handling keys protected with password phrases. Additionally the test suites where improved so that they do not copy the users keys to test server directories as this is a security liability. Also ipv6 and file access issues found in the process has been fixed. * When an escript ends now all printout to standard output and standard error gets out on the terminal. This bug has been corrected by changing the behaviour of erlang:halt/0,1, which should fix the same problem for other escript-like applications, i.e. that data stored in the output port driver buffers got lost when printing on a TTY and exiting through erlang:halt/0,1. The BIF:s erlang:halt/0,1 has gotten improved semantics and there is a new BIF erlang:halt/2 to accomplish something like the old semantics. See the documentation. * The DTrace source patch from Scott Lystig Fritchie is integrated in the source tree. Using an emulator with dtrace probe is still not supported for production use, but may be a valuable debugging tool. * Added Torbjörn Törnkvists LDAP client as a new application called eldap. * Added options for the ssh client to support user keys files that are password protected. Changes in Erlang/OTP R15B Highlights: * Line number and filename information are now included in exception backtraces. This information will be pretty-printed in the shell and used in crash reports etc. In practice it will be much easier to find where something failed. * The driver interface has been changed to enable 64-bit aware drivers. Most importantly the return types for ErlDrvEntry callbacks 'call' and 'control' has been changed which require drivers to be changed. * New in this release is the support for 64 bit Windows. The self extracting installer can be found here. * CommonTest hooks are now in a final supported version. * There is a new GUI tool in the observer application which integrates pman, etop, appmon and tv into one tool. The tool does also contain functions for activating tracing in an easy way. * The Erlang distribution can now be run over the new SSL implementation. Changes in Erlang/OTP R15A Notable changes: OTP-9468 'Line numbers in exceptions' OTP-9451 'Parallel make' OTP-4779 A new GUI for Observer. Integrating pman, etop and tv into observer with tracing facilities. OTP-7775 A number of memory allocation optimizations have been implemented. Most optimizations reduce contention caused by synchronization between threads during allocation and deallocation of memory. Most notably: Synchronization of memory management in scheduler specific allocator instances has been rewritten to use lock-free synchronization. Synchronization of memory management in scheduler specific pre-allocators has been rewritten to use lock-free synchronization. The 'mseg_alloc' memory segment allocator now use scheduler specific instances instead of one instance. Apart from reducing contention this also ensures that memory allocators always create memory segments on the local NUMA node on a NUMA system. OTP-9632 An ERTS internal, generic, many to one, lock-free queue for communication between threads has been introduced. The many to one scenario is very common in ERTS, so it can be used in a lot of places in the future. Currently it is used by scheduling of certain jobs, and the async thread pool, but more uses are planned for the future. Drivers using the driver_async functionality are not automatically locked to the system anymore, and can be unloaded as any dynamically linked in driver. Scheduling of ready async jobs is now also interleaved in between other jobs. Previously all ready async jobs were performed at once. OTP-9631 The ERTS internal system block functionality has been replaced by new functionality for blocking the system. The old system block functionality had contention issues and complexity issues. The new functionality piggy-backs on thread progress tracking functionality needed by newly introduced lock-free synchronization in the runtime system. When the functionality for blocking the system isn't used, there is more or less no overhead at all. This since the functionality for tracking thread progress is there and needed anyway.
2012-04-12 14:14:12 +02:00
--- lib/gs/src/tool_utils.erl.orig 2011-12-14 14:22:11.000000000 +0400
+++ lib/gs/src/tool_utils.erl 2012-01-05 04:38:39.000000000 +0400
Update to Erlang/OTP R14B02 Highlights composed by Matthew Sporleder. Changes in R14B02 (http://www.erlang.org/download/otp_src_R14B02.readme) - It is now possible to use Erlang specifications and types in EDoc documentation - All tests in Erlang/OTP have been converted to be run with Common Test as the backend instead of Test Server. - From this release, the previously experimental halfword emulator is now official - Dependency generation for Makefiles has been added to the compiler and erlc - Add a --fullpath option to Dialyzer (include version 2.4.2) - Many fixes in erts - Remove hipe constants pool - Partial support for recursive structs and unions - It is now possible to use SSH to sign and verify binary data. - typer has been rewritten Changes R14B01 (http://www.erlang.org/download/otp_src_R14B01.readme) - New ETS option compressed, to enable a more compact storage format at the expence of heavier table operations - There is now a new function inet:getifaddrs/0 modeled after C library function getifaddrs() on BSD and Linux that reports existing interfaces and their addresses on the host - Multiple crashes and infinite loops fixed - AES CTR encryption support in crypto - erl_call: remove get_hostent - The Erlang VM now supports Unicode filenames - New ETS option compressed Changes in R14B (http://www.erlang.org/download/otp_src_R14B.readme) - Large parts of the ethread library have been rewritten. - The changed API of the ethread library has also caused modifications in the Erlang runtime system. - Some Built In Functions (BIFs) are now autoimported - Added erlang:system_info(build_type) - A number of memory leaks in the crypto NIF library have been fixed - erl_call: fix multiple buffer overflows - NIF 64-bit integer support - Removed some potential vulnerabilities from the Erlang Port Mapper Daemon (epmd) - Replaced the old http client api module (http) with the new, httpc in the users guide. - inet6 improvements - ssh fixes - many ssl improvements/fixes - wx crash fix Changes in R14A (http://www.erlang.org/download/otp_src_R14A.readme) - R14A is a major new release of Erlang/OTP. - The module binary from EEP31 (and EEP9) is implemented - It is now possible for the user to provide specific callback modules that handle test configuration data - New NIF features - Receive statements that can only read out a newly created reference are now specially optimized so that it will execute in constant time regardless of the number of messages in the receive queue for the process. - The run_test script has been replaced by a program (with the same name) which can be executed without explicit installation - eprof has been reimplemented with support in the Erlang virtual machine and is now both faster (i.e. slows down the code being measured less) and scales much better Changes in R13B04 (http://www.erlang.org/download/otp_src_R13B04.readme) - Many documentation and documentation build improvements - cross-compile/build improvements - buffer overflow fix - telnet keep alive fixes - compiler crash on boolean ifs - -Werror for erlc fixed - macro overloading implemented - the crypto module now supports Blowfish - explicit top directories in archive files are now optional - add lock profiling tool: lcnt - httpd methods "PUT" and "DELETE" now allowed + others fixes to resolver routine - compression supported when copying between mnesia nodes
2011-04-14 21:34:07 +02:00
@@ -40,6 +40,9 @@
}).
+%% Browser executable list (openURL command line protocol required)
+-define(BROWSERS, ["netscape", "mozilla", "MozillaFirebird", "opera"]).
+
%%----------------------------------------------------------------------
%% open_help(Parent, File)
%% Parent = gsobj() (GS root object or parent window)
Update to Erlang/OTP R14B02 Highlights composed by Matthew Sporleder. Changes in R14B02 (http://www.erlang.org/download/otp_src_R14B02.readme) - It is now possible to use Erlang specifications and types in EDoc documentation - All tests in Erlang/OTP have been converted to be run with Common Test as the backend instead of Test Server. - From this release, the previously experimental halfword emulator is now official - Dependency generation for Makefiles has been added to the compiler and erlc - Add a --fullpath option to Dialyzer (include version 2.4.2) - Many fixes in erts - Remove hipe constants pool - Partial support for recursive structs and unions - It is now possible to use SSH to sign and verify binary data. - typer has been rewritten Changes R14B01 (http://www.erlang.org/download/otp_src_R14B01.readme) - New ETS option compressed, to enable a more compact storage format at the expence of heavier table operations - There is now a new function inet:getifaddrs/0 modeled after C library function getifaddrs() on BSD and Linux that reports existing interfaces and their addresses on the host - Multiple crashes and infinite loops fixed - AES CTR encryption support in crypto - erl_call: remove get_hostent - The Erlang VM now supports Unicode filenames - New ETS option compressed Changes in R14B (http://www.erlang.org/download/otp_src_R14B.readme) - Large parts of the ethread library have been rewritten. - The changed API of the ethread library has also caused modifications in the Erlang runtime system. - Some Built In Functions (BIFs) are now autoimported - Added erlang:system_info(build_type) - A number of memory leaks in the crypto NIF library have been fixed - erl_call: fix multiple buffer overflows - NIF 64-bit integer support - Removed some potential vulnerabilities from the Erlang Port Mapper Daemon (epmd) - Replaced the old http client api module (http) with the new, httpc in the users guide. - inet6 improvements - ssh fixes - many ssl improvements/fixes - wx crash fix Changes in R14A (http://www.erlang.org/download/otp_src_R14A.readme) - R14A is a major new release of Erlang/OTP. - The module binary from EEP31 (and EEP9) is implemented - It is now possible for the user to provide specific callback modules that handle test configuration data - New NIF features - Receive statements that can only read out a newly created reference are now specially optimized so that it will execute in constant time regardless of the number of messages in the receive queue for the process. - The run_test script has been replaced by a program (with the same name) which can be executed without explicit installation - eprof has been reimplemented with support in the Erlang virtual machine and is now both faster (i.e. slows down the code being measured less) and scales much better Changes in R13B04 (http://www.erlang.org/download/otp_src_R13B04.readme) - Many documentation and documentation build improvements - cross-compile/build improvements - buffer overflow fix - telnet keep alive fixes - compiler crash on boolean ifs - -Werror for erlc fixed - macro overloading implemented - the crypto module now supports Blowfish - explicit top directories in archive files are now optional - add lock profiling tool: lcnt - httpd methods "PUT" and "DELETE" now allowed + others fixes to resolver routine - compression supported when copying between mnesia nodes
2011-04-14 21:34:07 +02:00
@@ -80,7 +83,7 @@
{unix,Type} ->
case Type of
darwin -> "open " ++ File;
- _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
+ _Else -> unix_url_command("file:" ++ File)
end;
{win32,_AnyType} ->
"start " ++ filename:nativename(File);
Update to Erlang/OTP R14B02 Highlights composed by Matthew Sporleder. Changes in R14B02 (http://www.erlang.org/download/otp_src_R14B02.readme) - It is now possible to use Erlang specifications and types in EDoc documentation - All tests in Erlang/OTP have been converted to be run with Common Test as the backend instead of Test Server. - From this release, the previously experimental halfword emulator is now official - Dependency generation for Makefiles has been added to the compiler and erlc - Add a --fullpath option to Dialyzer (include version 2.4.2) - Many fixes in erts - Remove hipe constants pool - Partial support for recursive structs and unions - It is now possible to use SSH to sign and verify binary data. - typer has been rewritten Changes R14B01 (http://www.erlang.org/download/otp_src_R14B01.readme) - New ETS option compressed, to enable a more compact storage format at the expence of heavier table operations - There is now a new function inet:getifaddrs/0 modeled after C library function getifaddrs() on BSD and Linux that reports existing interfaces and their addresses on the host - Multiple crashes and infinite loops fixed - AES CTR encryption support in crypto - erl_call: remove get_hostent - The Erlang VM now supports Unicode filenames - New ETS option compressed Changes in R14B (http://www.erlang.org/download/otp_src_R14B.readme) - Large parts of the ethread library have been rewritten. - The changed API of the ethread library has also caused modifications in the Erlang runtime system. - Some Built In Functions (BIFs) are now autoimported - Added erlang:system_info(build_type) - A number of memory leaks in the crypto NIF library have been fixed - erl_call: fix multiple buffer overflows - NIF 64-bit integer support - Removed some potential vulnerabilities from the Erlang Port Mapper Daemon (epmd) - Replaced the old http client api module (http) with the new, httpc in the users guide. - inet6 improvements - ssh fixes - many ssl improvements/fixes - wx crash fix Changes in R14A (http://www.erlang.org/download/otp_src_R14A.readme) - R14A is a major new release of Erlang/OTP. - The module binary from EEP31 (and EEP9) is implemented - It is now possible for the user to provide specific callback modules that handle test configuration data - New NIF features - Receive statements that can only read out a newly created reference are now specially optimized so that it will execute in constant time regardless of the number of messages in the receive queue for the process. - The run_test script has been replaced by a program (with the same name) which can be executed without explicit installation - eprof has been reimplemented with support in the Erlang virtual machine and is now both faster (i.e. slows down the code being measured less) and scales much better Changes in R13B04 (http://www.erlang.org/download/otp_src_R13B04.readme) - Many documentation and documentation build improvements - cross-compile/build improvements - buffer overflow fix - telnet keep alive fixes - compiler crash on boolean ifs - -Werror for erlc fixed - macro overloading implemented - the crypto module now supports Blowfish - explicit top directories in archive files are now optional - add lock profiling tool: lcnt - httpd methods "PUT" and "DELETE" now allowed + others fixes to resolver routine - compression supported when copying between mnesia nodes
2011-04-14 21:34:07 +02:00
@@ -95,7 +98,7 @@
{unix,Type} ->
case Type of
darwin -> "open " ++ File;
- _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
+ _Else -> unix_url_command("file:" ++ File)
end;
{win32,_AnyType} ->
Update to Erlang/OTP R15B01 Presumably fixes PR pkg/46297 Changes in Erlang/OTP R15B01 Highlights: * Added erlang:statistics(scheduler_wall_time) to ensure correct determination of scheduler utilization. Measuring scheduler utilization is strongly preferred over CPU utilization, since CPU utilization gives very poor indications of actual scheduler/vm usage. * Changed ssh implementation to use the public_key application for all public key handling. This is also a first step for enabling a callback API for supplying public keys and handling keys protected with password phrases. Additionally the test suites where improved so that they do not copy the users keys to test server directories as this is a security liability. Also ipv6 and file access issues found in the process has been fixed. * When an escript ends now all printout to standard output and standard error gets out on the terminal. This bug has been corrected by changing the behaviour of erlang:halt/0,1, which should fix the same problem for other escript-like applications, i.e. that data stored in the output port driver buffers got lost when printing on a TTY and exiting through erlang:halt/0,1. The BIF:s erlang:halt/0,1 has gotten improved semantics and there is a new BIF erlang:halt/2 to accomplish something like the old semantics. See the documentation. * The DTrace source patch from Scott Lystig Fritchie is integrated in the source tree. Using an emulator with dtrace probe is still not supported for production use, but may be a valuable debugging tool. * Added Torbjörn Törnkvists LDAP client as a new application called eldap. * Added options for the ssh client to support user keys files that are password protected. Changes in Erlang/OTP R15B Highlights: * Line number and filename information are now included in exception backtraces. This information will be pretty-printed in the shell and used in crash reports etc. In practice it will be much easier to find where something failed. * The driver interface has been changed to enable 64-bit aware drivers. Most importantly the return types for ErlDrvEntry callbacks 'call' and 'control' has been changed which require drivers to be changed. * New in this release is the support for 64 bit Windows. The self extracting installer can be found here. * CommonTest hooks are now in a final supported version. * There is a new GUI tool in the observer application which integrates pman, etop, appmon and tv into one tool. The tool does also contain functions for activating tracing in an easy way. * The Erlang distribution can now be run over the new SSL implementation. Changes in Erlang/OTP R15A Notable changes: OTP-9468 'Line numbers in exceptions' OTP-9451 'Parallel make' OTP-4779 A new GUI for Observer. Integrating pman, etop and tv into observer with tracing facilities. OTP-7775 A number of memory allocation optimizations have been implemented. Most optimizations reduce contention caused by synchronization between threads during allocation and deallocation of memory. Most notably: Synchronization of memory management in scheduler specific allocator instances has been rewritten to use lock-free synchronization. Synchronization of memory management in scheduler specific pre-allocators has been rewritten to use lock-free synchronization. The 'mseg_alloc' memory segment allocator now use scheduler specific instances instead of one instance. Apart from reducing contention this also ensures that memory allocators always create memory segments on the local NUMA node on a NUMA system. OTP-9632 An ERTS internal, generic, many to one, lock-free queue for communication between threads has been introduced. The many to one scenario is very common in ERTS, so it can be used in a lot of places in the future. Currently it is used by scheduling of certain jobs, and the async thread pool, but more uses are planned for the future. Drivers using the driver_async functionality are not automatically locked to the system anymore, and can be unloaded as any dynamically linked in driver. Scheduling of ready async jobs is now also interleaved in between other jobs. Previously all ready async jobs were performed at once. OTP-9631 The ERTS internal system block functionality has been replaced by new functionality for blocking the system. The old system block functionality had contention issues and complexity issues. The new functionality piggy-backs on thread progress tracking functionality needed by newly introduced lock-free synchronization in the runtime system. When the functionality for blocking the system isn't used, there is more or less no overhead at all. This since the functionality for tracking thread progress is there and needed anyway.
2012-04-12 14:14:12 +02:00
"netscape.exe -h " ++
@@ -430,3 +433,53 @@
[Last];
insert_newlines(Other) ->
Other.
+
+%% find_browser(BrowserList) => string() | false
+%% BrowserList - [string()]
+%% Given a list of basenames, find the first available executable.
+
+find_browser([]) ->
+ false;
+
+find_browser([H | T]) ->
+ case os:find_executable(H) of
+ false ->
+ find_browser(T);
+ Browser ->
+ Browser
+ end.
+
+%% unix_url_command(URL) => string()
+%% URL - string()
+%% Open an URL, using a browser which supports the openURL command
+%% line protocol. If no browser is found, the empty string will be
+%% returned.
+
+unix_url_command(URL) ->
+ Template = "BROWSER -remote \"openURL(" ++ URL ++ ")\" || BROWSER " ++ URL ++ "&",
+
+ case os:getenv("BROWSER") of
+ false ->
+ %% look for a compatible browser
+ case find_browser(?BROWSERS) of
+ false ->
+ "";
+ Browser ->
+ case regexp:gsub(Template, "BROWSER", Browser) of
+ {ok, Command, 0} ->
+ %% Template does not contain "BROWSER" placeholder
+ "";
+ {ok, Command, _} ->
+ Command
+ end
+ end;
+
+ Value ->
+ case regexp:gsub(Template, "BROWSER", Value) of
+ {ok, Command2, 0} ->
+ %% no placeholder
+ "";
+ {ok, Command2, _} ->
+ Command2
+ end
+ end.