summaryrefslogtreecommitdiff
path: root/lib/reltool/src
Commit message (Collapse)AuthorAgeFilesLines
* Change license text to APLv2Bruce Yinhe2015-06-1815-136/+151
|
* Merge branch 'rickard/time_api/OTP-11997'Rickard Green2015-03-202-4/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rickard/time_api/OTP-11997: (22 commits) Update primary bootstrap inets: Suppress deprecated warning on erlang:now/0 inets: Cleanup of multiple copies of functions Add inets_lib with common functions used by multiple modules inets: Update comments Suppress deprecated warning on erlang:now/0 Use new time API and be back-compatible in inets Remove unused functions and removed redundant test asn1 test SUITE: Eliminate use of now/0 Disable deprecated warning on erlang:now/0 in diameter_lib Use new time API and be back-compatible in ssh Replace all calls to now/0 in CT with new time API functions test_server: Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API otp_SUITE: Warn for calls to erlang:now/0 Replace usage of erlang:now() with usage of new API Multiple timer wheels Erlang based BIF timer implementation for scalability Implement ethread events with timeout ... Conflicts: bootstrap/bin/start.boot bootstrap/bin/start_clean.boot bootstrap/lib/compiler/ebin/beam_asm.beam bootstrap/lib/compiler/ebin/compile.beam bootstrap/lib/kernel/ebin/auth.beam bootstrap/lib/kernel/ebin/dist_util.beam bootstrap/lib/kernel/ebin/global.beam bootstrap/lib/kernel/ebin/hipe_unified_loader.beam bootstrap/lib/kernel/ebin/inet_db.beam bootstrap/lib/kernel/ebin/inet_dns.beam bootstrap/lib/kernel/ebin/inet_res.beam bootstrap/lib/kernel/ebin/os.beam bootstrap/lib/kernel/ebin/pg2.beam bootstrap/lib/stdlib/ebin/dets.beam bootstrap/lib/stdlib/ebin/dets_utils.beam bootstrap/lib/stdlib/ebin/erl_tar.beam bootstrap/lib/stdlib/ebin/escript.beam bootstrap/lib/stdlib/ebin/file_sorter.beam bootstrap/lib/stdlib/ebin/otp_internal.beam bootstrap/lib/stdlib/ebin/qlc.beam bootstrap/lib/stdlib/ebin/random.beam bootstrap/lib/stdlib/ebin/supervisor.beam bootstrap/lib/stdlib/ebin/timer.beam erts/aclocal.m4 erts/emulator/beam/bif.c erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_db_hash.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_thr_progress.c erts/emulator/beam/utils.c erts/emulator/sys/unix/sys.c erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam erts/preloaded/ebin/init.beam erts/preloaded/src/erts_internal.erl lib/common_test/test/ct_hooks_SUITE_data/cth/tests/empty_cth.erl lib/diameter/src/base/diameter_lib.erl lib/kernel/src/os.erl lib/ssh/test/ssh_basic_SUITE.erl system/doc/efficiency_guide/advanced.xml
| * Replace usage of erlang:now() with usage of new APIRickard Green2015-03-202-4/+4
| |
* | Start using os:getenv/2 funPeter Lemenkov2014-12-151-6/+1
|/ | | | | | See #535 Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
* Fix typo in error message in reltool_serverSiri Hansen2014-06-121-2/+2
|
* Introduce runtime_dependencies in .app filesRickard Green2014-03-203-2/+8
| | | | | | | | | | | | | Most dependencies introduced are exactly the dependencies to other applications found by xref. That is, there might be real dependencies missing. There might also be pure debug dependencies listed that probably should be removed. Each application has to be manually inspected in order to ensure that all real dependencies are listed. All dependencies introduced are to application versions used in OTP 17.0. This since the previously used version scheme wasn't designed for this, and in order to minimize the work of introducing the dependencies.
* Fix library application appup filesTobias Schlager2014-02-181-5/+4
| | | | | | | | | | As discussed in issue #240 *all* OTP library applications use the '.*' wildcard as up and down version. This makes library applications always up- and downgradeable. Using the wildcard version obsoletes all maintenance tasks regarding library applications' appup files. Additionally, it prevents upgrade problems caused by automatically included application dependencies when using reltool to create releases. Missing copyright headers are now consistently present.
* Add missing default value for regexps in reltoolHåkan Mattsson2014-01-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It caused a function clause in lists:sort/1: reltool_server_SUITE.erl(2512): <ERROR> Not matching actual result was: {error, {function_clause, [{lists,sort, [[{regexp,"^priv", {re_pattern,0,1, <<69,82,67,80,64,0,0,0,16,8,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,93,0,12,25,27,112,27,114,27,105,27,118,84, 0,12,0>>}}| undefined]], [{file,"lists.erl"},{line,465}]}, {reltool_server,decode,2,[{file,"reltool_server.erl"},{line,1499}]}, {reltool_server,decode,2,[{file,"reltool_server.erl"},{line,1363}]}, {reltool_server,read_config,2, [{file,"reltool_server.erl"},{line,1335}]}, {reltool_server,parse_options,4, [{file,"reltool_server.erl"},{line,224}]}, {reltool_server,do_init,1,[{file,"reltool_server.erl"},{line,154}]}, {reltool_server,init,1,[{file,"reltool_server.erl"},{line,133}]}, {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}} Expected { ok , _ }
* Merge branch 'siri/install-otp-in-unicode-path'Siri Hansen2013-06-051-4/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * siri/install-otp-in-unicode-path: [sasl] Remove priv dir after release_handler_SUITE Update preloaded init.beam Allow unicode characters for boot and config in init:make_permanent [sasl] Clean priv_dir after systools_SUITE [reltool] Use unicode characters in work dir for unicode test [sasl] Use unicode characters in priv dir name also on windows [reltool] Write erl.ini as UTF-8 [sasl] Update tests to run under unicode path [sasl] Rewrite release_handler_SUITE:clean_priv_dir to work on unicode paths [sasl] Update example/target_system.erl to handle unicode [sasl] Write erl.ini as utf8, allowing unicode path for root dir and bin dir
| * [reltool] Write erl.ini as UTF-8Siri Hansen2013-05-141-4/+5
| | | | | | | | | | Since file names on windows are unicode, and erl.ini contains paths to 'Bindir' and 'Rootdir', this file is now encoded in UTF-8.
* | Fix possibly "not owner" error while file copy with reltool.Alexey.Saltanov2013-04-301-1/+1
|/
* [reltool] Relax requirements on excluded applicationsHåkan Mattsson2013-03-271-12/+27
| | | | | A missing application directory is now classified as a warning if the application is explicitly excluded.
* Update copyright yearsBjörn-Egil Dahlberg2013-02-221-1/+1
|
* [reltool] Change ~s to ~ts and ~p to ~tp when appropriateSiri Hansen2013-02-218-101/+98
|
* [reltool] Add unicode option to re:compile to allow unicode filenamesSiri Hansen2013-02-211-1/+1
|
* [reltool] Fix reconstruct source from debug_info to handle unicodeSiri Hansen2013-02-211-31/+38
| | | | | Also changing from using erl_syntax and erl_prettypr to using erl_pp in order to get better handling of specs.
* [reltool] Honour encoding in reltool_utils:prim_consultSiri Hansen2013-02-211-2/+10
| | | | | | This function is similar to file:consult, except it also operates on a binary (e.g. read from an archive). The function now takes magic encoding comment into account.
* Update copyright yearsBjörn-Egil Dahlberg2013-01-251-1/+1
|
* Turn warnings to errors on selected applicationsBjörn Gustavsson2013-01-231-1/+2
|
* Merge branch 'nox/enable-silent-rules/OTP-10726'Björn-Egil Dahlberg2013-01-181-2/+2
|\ | | | | | | | | * nox/enable-silent-rules/OTP-10726: Implement ./otp_build configure --enable-silent-rules
| * Implement ./otp_build configure --enable-silent-rulesAnthony Ramine2013-01-151-2/+2
| | | | | | | | | | | | With silent rules, the output of make is less verbose and compilation warnings are easier to spot. Silent rules are disabled by default and can be disabled or enabled at will by make V=0 and make V=1.
* | Merge branch 'dgud/wx/fix-wx-2.9-compat/OTP-10407'Dan Gudmundsson2013-01-151-61/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * dgud/wx/fix-wx-2.9-compat/OTP-10407: (26 commits) wx: Fix comments wx: Workaround wx-2.9 bugs wx: Mac fixes wx: Fix demo and tests wx: Allow 64 bits compilation on mac, requires wxWidgets-2.9 appmon: Move runtime part to runtime_tools app reltool: fix wxWidgets-2.9 compability debugger: Fix 2.9 compat observer: Fix check for graphics contexts Observer: Fix distribution dialog observer: Fix font sizes wx: Fix the demo wx: Fix loading icons and cursors in Windows wx: Remove unnecessary casts wx: Fix changed getfunctions wx: Depricate wxCursor new functions wx: Fix int to enum wx: Include correct m4 file in 2.9 wx: Update examples so they work with both wxWidgets 2.8 and 2.9 wx: Modify tests so they work on wxWidgets-2.9 ...
| * | reltool: fix wxWidgets-2.9 compabilityDan Gudmundsson2013-01-091-61/+43
| |/
* | reltool: Remove support for packagesBjörn Gustavsson2013-01-091-26/+5
|/
* [reltool] Use application name from .app file instead of directory nameSiri Hansen2012-09-211-10/+69
| | | | | | | | | | | | | | | In the first traversal of library directories, reltool used only the directory names in order to figure out application names. This would succeed if the directory name was AppName only or AppName-AppVsn and AppVsn consisted of integers separated by dots only. If the AppVsn has any other format, then reltool would not find the correct application name. With this commit, reltool will first look for a .app file and use the .app file name as the application name. This will allow different formats of the version identifier in the directory name. Note that reltool can still not sort (and select the latest) amongst version identifiers of other format than integers separated by dots.
* [reltool] Keep order from rel spec when sorting used and included applicationsSiri Hansen2012-09-171-1/+53
| | | | | | | | | | | | | | | | | | | | | | | The rel specification now dictates the order in which included and used applications are loaded/started by the boot file. If the applications are not specified in the rel spec, then the order from the .app file is used. This was a bug earlier reported on systools, and is now also implemented in reltool. Example: If a .app file specified {applications,[x,y]} {included_applications,[b,c]} And the reltool.config has {rel, "myrel", "1.0", [a,y,x,c,b]} Then the boot file will load/start y before x and c before b. Earlier x would always be started before y and b always before c due to the order in the .app file.
* [reltool] Automatically add included applications in rel fileSiri Hansen2012-09-141-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | If a 'rel' spec in the reltool config does not contain all applications that are listed as {applications,Applications} in a .app file, then these applications are autmatically added when creating the .rel file. For 'included_applications', the behaviour was not the same. I.e. if a 'rel' spec in the reltool config did not contain all applications that are listed as {included_applications,InclApplications} in a .app file, then reltool would fail with reason "Undefined applications" when creating the .rel file. This has been corrected, so both 'applications' and 'included_applications' are now automatically added if not already in the 'rel' spec. I.e. for an application 'z', if z.app contains {applications,[stdlib,kernel,x]} {included_applications,[y]} then reltool configuration {rel, "myrel", "1.0", [z]} will cause the same .rel file as {rel, "myrel", "1.0", [stdlib,kernel,x,y,z]}
* [reltool] Make reltool:install/2 work on windowsSiri Hansen2012-09-121-5/+12
| | | | | | The erl.ini file generated by reltool:install/2 faulty pointed out $ROOT/bin as Bindir. This is now changed to $ROOT/erts-Vsn/bin. Also, backslashes in erl.ini needed to be escaped.
* [reltool] Allow incl_cond=derived on module levelSiri Hansen2012-09-111-3/+8
| | | | | | According to documentation it should be allowed to set incl_cond=include|exclude|derived, but if set to derived on module level, reltool_server would crash. This has been corrected.
* Update copyright yearsBjörn-Egil Dahlberg2012-08-311-1/+1
|
* [reltool] Add documentation for option 'excl_lib'Siri Hansen2012-08-201-1/+3
|
* [reltool] Add option {excl_lib,otp_root}Siri Hansen2012-08-203-20/+55
| | | | | | | With this option reltool will create a target structure with only the applications found in specified 'lib_dirs' (on system level) or 'lib_dir' (on app level). Erts will not be included, and no applications found under $OTP_ROOT/lib.
* Update to work with whitespace in exec pathLukas Larsson2012-06-051-5/+5
| | | | | OTP-10106 OTP-10107
* [reltool] Fix dialyzer warnings for R15B01Siri Hansen2012-03-291-40/+42
| | | | | Records #mod{} and #app{} are used in ets:select and must therefore have '$1', '$2' and '_' as possible value of fields.
* Merge branch 'siri/reltool/app-level-lib-dir/OTP-9977' into maintSiri Hansen2012-03-235-35/+92
|\ | | | | | | | | | | * siri/reltool/app-level-lib-dir/OTP-9977: [reltool] Allow lib_dir on app level to use relative path [reltool] Add configuration parameter lib_dir on application level
| * [reltool] Allow lib_dir on app level to use relative pathSiri Hansen2012-03-222-2/+19
| | | | | | | | | | | | This commit adds a normalization of the directory given with the lib_dir parameter on application level. This will covert the path to absolute, remove trailing slash and any occurrencies of "xxx/..".
| * [reltool] Add configuration parameter lib_dir on application levelSiri Hansen2012-03-225-35/+75
| | | | | | | | | | | | | | | | | | | | As a way of specifying one specific version of an application, the following configuration parameter is added on application level: {lib_dir,Dir}, Dir = string() This can be useful if the parent directory of the application directory is not suitable to use as a lib dir on system level.
* | Merge branch 'jc/omit-undefined-start_phases-3' into maintSiri Hansen2012-03-231-6/+10
|\ \ | |/ |/| | | | | | | | | | | * jc/omit-undefined-start_phases-3: Avoid undefined start_phases entry in .script Avoid creating an undefined start_phases entry when generating a release OTP-10003
| * Avoid creating an undefined start_phases entry when generating a releaseJuan Jose Comellas2012-01-131-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | When a release is generated and the applications in the release do not define a value for the start_phases entry of their .app files, reltool will generate the following entry in the .app files of the release: {start_phases, undefined} If this happens, when trying to create a release upgrade systools will fail because it doesn't allow the start_phases entry to be set to undefined. This patch avoids this situation by not generating a start_phases entry when it is set to undefined.
* | [reltool] Improve title of dependency columSiri Hansen2012-03-202-2/+2
| | | | | | | | | | | | | | | | OTP-9792 The colum listing modules that uses the current application or module did earlier have the title "Modules used by others". This is now changed to "Modules using this".
* | [reltool] Update status bar for all config changes and for generate targetSiri Hansen2012-03-201-4/+12
| | | | | | | | | | | | | | | | | | OTP-9792 For some configuration changes and during generation of target system, there was no indication in the status bar that reltool was working. This has been corrected - it now says "Processing libraries...".
* | [reltool] Fix GUI problems on WindowsSiri Hansen2012-03-193-33/+75
| | | | | | | | | | | | | | | | The new warning list did not work on Windows. It could not display tooltips for each warning and the popup window would always disappear behind the main system window. Also, column width did not occur well initially in list controls.
* | [reltool] Fix problems with sorting of applicationsSiri Hansen2012-03-194-43/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OTP-9792 The following problems have been solved: * reltool_target:do_merge_apps - in recursive calls to this function, the accumulator was reverted each time causing the order of applications listed after kernel and stdlib in the rel specification in the configuration to sometimes be messed up. * There are several ways to specify wich applications to include in an application: 1) in the .app file for the including applications 2a) in the .rel file, when listing applications 2b) in the rel specification in the reltool configuration 2a (systools) and 2b (reltool) should have the same effect and overwrite 1. According to the documentation of systools (sasl), the default value in 2a is an empty list. This should mean that if included applications are not mentioned in the .rel file, then any included application listed in the .app file will be disregarded. This is NOT the way systools actually works. The implementation sets the default for the .rel file to the same list as in the .app file. Reltool earlier implemented 2b as described in the systools documentation. However, after some discussion we decided to change this so that reltool handles 2b in the same way as systools handles 2a since this seems more intuitive. The sasl documentation will be altered accordingly (internal ref OTP-9980). * If the rel specification in the reltool configuration explicitly specified included applications to be an empty list, and the .app file had a non-empty list, then the empty list from the rel specification was discarded. This has been corrected so the rel specification now, if set, always overwrites the value of included_applications in the .app file. * reltool would earlier add load instructions in the script/boot files for ALL modules in the ebin directory of an application even if mod_cond was set to app (include only modules listed in the .app file). This has been corrected - now only modules with #mod.is_included==true are loaded. * reltool would earlier add start instructions in the script/boot file for included applications. This has been corrected - included applications shall only be loaded since the including application is responsible for starting them.
* | [reltool] Just warn if same module occurs twice in .app fileSiri Hansen2012-03-191-13/+27
| | | | | | | | | | | | | | | | | | | | OTP-9792 Earlier this would cause an error with reason "Module xxx potentially included by two different applications: yyy and yyy." This is now changed so it will only be a warning saying that the module is duplicated in the .app file.
* | [reltool] Always return warnings as flat stringsSiri Hansen2012-03-192-36/+32
| | | | | | | | OTP-9794
* | [reltool] Fix type spec and doc for app() and mod()Siri Hansen2012-03-191-1/+1
| | | | | | | | | | | | | | OTP-9792 Also correct documentation of reltool:install/2: first argument is RelName, not Server.
* | [reltool] Move tables out of common recordSiri Hansen2012-03-192-146/+134
| | | | | | | | | | | | | | OTP-9794 This is a minor change, in order to keep tables private to reltool_server.
* | [reltool] Display warnings continously in GUISiri Hansen2012-03-192-37/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OTP-9967 All active warnings are now displayed in a specific warning list at the bottom of the sys windows. Warnings do no longer cause popup dialogs during configuration. The reason for this is to avoid the same warning to pop up many times. This would happen since each configuration change now causes a fresh reading of the file system - and thus each warning would be detected each time the configuration was changed. reltool_manual_gui_SUITE is updated to test the new functionality.
* | [reltool] Improve error handlingSiri Hansen2012-03-194-474/+313
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OTP-9794 Stopping configuration (throw/catch) at first error instead of continuing through all steps and then returning the error at the end. Start of reltool_server will no longer succeed if the configuration causes an error. reltool:get_status can only return {error,Reason} in the case where the reltool_server has terminated. In all other cases it will return {ok,Warnings}. Bug fix in this commit: * warnings are no longer duplicated in pop-up or return from reltool_server
* | [reltool] Fix rollback and undoSiri Hansen2012-03-193-161/+132
| | | | | | | | | | | | | | | | | | | | OTP-9794 Backup old configuration before starting re-configuration so rollback is possible if configuration fails. Store last configuration including derivates so undo does no longer need to refresh and analyse everything from disk.