erlware / relx

Sane, simple release creation for Erlang
http://erlware.github.io/relx
Apache License 2.0
696 stars 231 forks source link

`relx release tar` crashes. #35

Closed blt closed 11 years ago

blt commented 11 years ago

I'm now running relx 73536c5a81c5aff57c8e7f8d76fde760b5ddd3ce. With reference to beat 0c25d4f7aae25a3111b8971a7d029b845088ce5a, I find the following:

> sh v1to2.sh
...
Starting relx build process ...
Resolving OTP Applications from directories:
    /Users/blt/projects/us/troutwine/beat/apps
    /Users/blt/projects/us/troutwine/beat/deps
    /Users/blt/.kerl/installs/R15B03/lib

Resolving available releases from directories:
    /Users/blt/projects/us/troutwine/beat/apps
    /Users/blt/projects/us/troutwine/beat/deps
    /Users/blt/.kerl/installs/R15B03/lib

Resolved beat-0.1.0
release successfully created!
tarball /Users/blt/projects/us/troutwine/beat/_rel/beat-0.1.0.tar.gz successfully created!
Tarball generation error for error reason {case_clause,
                                           {"/Users/blt/projects/us/troutwine/beat/_rel/58639684/lib",
                                            {error,eexist}}}
Usage: relx [-n <relname>] [-v <relvsn>] [-g <goal>] [-u <upfrom>]
            [-o <output_dir>] [-l <lib_dir>]
            [--disable-default-libs [<disable_default_libs>]]
            [-V [<log_level>]] [-a <override_app>] [-c [<config>]]
            [-r <root_dir>] [*release-specification-file*]

  -n, --relname           Specify the name for the release that will be 
                          generated
  -v, --relvsn            Specify the version for the release
  -g, --goal              Specify a target constraint on the system. These 
                          are usually the OTP
  -u, --upfrom            Only valid with relup target, specify the 
                          release to upgrade from
  -o, --output-dir        The output directory for the release. This is 
                          `./` by default.
  -l, --lib-dir           Additional dirs that should be searched for OTP 
                          Apps
  --disable-default-libs  Disable the default system added lib dirs (means 
                          you must add them all manually [default: false]
  -V, --verbose           Verbosity level, maybe between 0 and 2 [default: 
                          1]
  -a, --override_app      Provide an app name and a directory to override 
                          in the form <appname>:<app directory>
  -c, --config            The path to a config file [default: ]
  -r, --root              The project root directory

make: *** [release] Error 127

The command issued by the v1to2.sh script via the project Makefile is

relx release tar
tsloughter commented 11 years ago

Well shit.. I assume that dir _rel/58639684/lib does exist? This is a temp directory it makes so it can extract the tar.gz and rebuild it including things like bin/ and vm.args. And then it deletes that directory after repackaging.

Can you rerun with -V2 so I can see the debug statements?

blt commented 11 years ago

I assume that dir _rel/58639684/lib does exist?

It does, though the name changes.

> ls _rel 
13701306          bin               lib
beat-0.1.0.tar.gz erts-5.9.3        releases

Can you rerun with -V2 so I can see the debug statements?

Sure.

> relx -V2 release tar         
Starting relx build process ...
state(command_line):
    log: (2:debug),
    config file: 
    goals: 
    output_dir: /Users/blt/projects/us/troutwine/beat/_rel
    lib_dirs: 
    providers: 
        rlx_prv_config,
        rlx_prv_discover,
        rlx_prv_release,
        rlx_prv_overlay,
        rlx_prv_assembler,
    provider config values: 
        {disable_default_libs,false},

Running provider rlx_prv_config
Provider successfully run: rlx_prv_config
Running provider rlx_prv_discover
Resolving OTP Applications from directories:
    /Users/blt/projects/us/troutwine/beat/apps
    /Users/blt/projects/us/troutwine/beat/deps
    /Users/blt/.kerl/installs/R15B03/lib
    /Users/blt/projects/us/troutwine/beat/_rel

Resolved the following OTP Applications from the system: 
    beat_tcp_api-2013.1: /Users/blt/projects/us/troutwine/beat/apps/beat_tcp_api
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
            beat_core,
        Library Dependencies:
            ranch,

    beat_core-2013.1: /Users/blt/projects/us/troutwine/beat/apps/beat_core
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    ranch-0.8.5: /Users/blt/projects/us/troutwine/beat/deps/ranch
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    xmerl-1.3.2: /Users/blt/.kerl/installs/R15B03/lib/xmerl-1.3.2
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    wx-0.99.2: /Users/blt/.kerl/installs/R15B03/lib/wx-0.99.2
        Symlink: false
        Active Dependencies:
            stdlib,
            kernel,
        Library Dependencies:

    webtool-0.8.9.1: /Users/blt/.kerl/installs/R15B03/lib/webtool-0.8.9.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    typer-0.9.4: /Users/blt/.kerl/installs/R15B03/lib/typer-0.9.4
        Symlink: false
        Active Dependencies:
            compiler,
            dialyzer,
            hipe,
            kernel,
            stdlib,
        Library Dependencies:

    tv-2.1.4.9: /Users/blt/.kerl/installs/R15B03/lib/tv-2.1.4.9
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
            gs,
        Library Dependencies:

    tools-2.6.8: /Users/blt/.kerl/installs/R15B03/lib/tools-2.6.8
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    toolbar-1.4.2.2: /Users/blt/.kerl/installs/R15B03/lib/toolbar-1.4.2.2
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
            gs,
        Library Dependencies:

    test_server-3.5.3: /Users/blt/.kerl/installs/R15B03/lib/test_server-3.5.3
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    syntax_tools-1.6.9: /Users/blt/.kerl/installs/R15B03/lib/syntax_tools-1.6.9
        Symlink: false
        Active Dependencies:
            stdlib,
        Library Dependencies:

    stdlib-1.18.3: /Users/blt/.kerl/installs/R15B03/lib/stdlib-1.18.3
        Symlink: false
        Active Dependencies:
            kernel,
        Library Dependencies:

    ssl-5.1.1: /Users/blt/.kerl/installs/R15B03/lib/ssl-5.1.1
        Symlink: false
        Active Dependencies:
            crypto,
            public_key,
            kernel,
            stdlib,
        Library Dependencies:

    ssh-2.1.2: /Users/blt/.kerl/installs/R15B03/lib/ssh-2.1.2
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
            crypto,
        Library Dependencies:

    snmp-4.22.1: /Users/blt/.kerl/installs/R15B03/lib/snmp-4.22.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    sasl-2.2.1: /Users/blt/.kerl/installs/R15B03/lib/sasl-2.2.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    runtime_tools-1.8.9: /Users/blt/.kerl/installs/R15B03/lib/runtime_tools-1.8.9
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    reltool-0.6.1: /Users/blt/.kerl/installs/R15B03/lib/reltool-0.6.1
        Symlink: false
        Active Dependencies:
            stdlib,
            kernel,
        Library Dependencies:

    public_key-0.17: /Users/blt/.kerl/installs/R15B03/lib/public_key-0.17
        Symlink: false
        Active Dependencies:
            crypto,
            kernel,
            stdlib,
        Library Dependencies:

    pman-2.7.1.2: /Users/blt/.kerl/installs/R15B03/lib/pman-2.7.1.2
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    percept-0.8.7: /Users/blt/.kerl/installs/R15B03/lib/percept-0.8.7
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    parsetools-2.0.7: /Users/blt/.kerl/installs/R15B03/lib/parsetools-2.0.7
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    otp_mibs-1.0.7: /Users/blt/.kerl/installs/R15B03/lib/otp_mibs-1.0.7
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
            snmp,
        Library Dependencies:

    os_mon-2.2.10: /Users/blt/.kerl/installs/R15B03/lib/os_mon-2.2.10
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
            sasl,
        Library Dependencies:

    orber-3.6.24: /Users/blt/.kerl/installs/R15B03/lib/orber-3.6.24
        Symlink: false
        Active Dependencies:
            stdlib,
            kernel,
            mnesia,
        Library Dependencies:

    odbc-2.10.13: /Users/blt/.kerl/installs/R15B03/lib/odbc-2.10.13
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    observer-1.2: /Users/blt/.kerl/installs/R15B03/lib/observer-1.2
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    mnesia-4.7.1: /Users/blt/.kerl/installs/R15B03/lib/mnesia-4.7.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    megaco-3.16.0.2: /Users/blt/.kerl/installs/R15B03/lib/megaco-3.16.0.2
        Symlink: false
        Active Dependencies:
            stdlib,
            kernel,
        Library Dependencies:

    kernel-2.15.3: /Users/blt/.kerl/installs/R15B03/lib/kernel-2.15.3
        Symlink: false
        Active Dependencies:
        Library Dependencies:

    inviso-0.6.3: /Users/blt/.kerl/installs/R15B03/lib/inviso-0.6.3
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
            runtime_tools,
        Library Dependencies:

    inets-5.9.2: /Users/blt/.kerl/installs/R15B03/lib/inets-5.9.2
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    ic-4.2.31: /Users/blt/.kerl/installs/R15B03/lib/ic-4.2.31
        Symlink: false
        Active Dependencies:
            stdlib,
            kernel,
        Library Dependencies:

    hipe-3.9.3: /Users/blt/.kerl/installs/R15B03/lib/hipe-3.9.3
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    gs-1.5.15.1: /Users/blt/.kerl/installs/R15B03/lib/gs-1.5.15.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    eunit-2.2.3: /Users/blt/.kerl/installs/R15B03/lib/eunit-2.2.3
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    et-1.4.4.2: /Users/blt/.kerl/installs/R15B03/lib/et-1.4.4.2
        Symlink: false
        Active Dependencies:
            stdlib,
            kernel,
        Library Dependencies:

    erl_docgen-0.3.3: /Users/blt/.kerl/installs/R15B03/lib/erl_docgen-0.3.3
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    eldap-1.0: /Users/blt/.kerl/installs/R15B03/lib/eldap-1.0
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    edoc-0.7.10: /Users/blt/.kerl/installs/R15B03/lib/edoc-0.7.10
        Symlink: false
        Active Dependencies:
            compiler,
            kernel,
            stdlib,
            syntax_tools,
        Library Dependencies:

    diameter-1.3: /Users/blt/.kerl/installs/R15B03/lib/diameter-1.3
        Symlink: false
        Active Dependencies:
            stdlib,
            kernel,
        Library Dependencies:

    dialyzer-2.5.3: /Users/blt/.kerl/installs/R15B03/lib/dialyzer-2.5.3
        Symlink: false
        Active Dependencies:
            compiler,
            gs,
            hipe,
            kernel,
            stdlib,
            wx,
        Library Dependencies:

    debugger-3.2.8: /Users/blt/.kerl/installs/R15B03/lib/debugger-3.2.8
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
            gs,
        Library Dependencies:

    crypto-2.2: /Users/blt/.kerl/installs/R15B03/lib/crypto-2.2
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    cosTransactions-1.2.12: /Users/blt/.kerl/installs/R15B03/lib/cosTransactions-1.2.12
        Symlink: false
        Active Dependencies:
            orber,
            stdlib,
            kernel,
        Library Dependencies:

    cosTime-1.1.12: /Users/blt/.kerl/installs/R15B03/lib/cosTime-1.1.12
        Symlink: false
        Active Dependencies:
            orber,
            stdlib,
            kernel,
        Library Dependencies:

    cosProperty-1.1.15: /Users/blt/.kerl/installs/R15B03/lib/cosProperty-1.1.15
        Symlink: false
        Active Dependencies:
            orber,
            stdlib,
            kernel,
        Library Dependencies:

    cosNotification-1.1.18: /Users/blt/.kerl/installs/R15B03/lib/cosNotification-1.1.18
        Symlink: false
        Active Dependencies:
            orber,
            stdlib,
            kernel,
        Library Dependencies:

    cosFileTransfer-1.1.13: /Users/blt/.kerl/installs/R15B03/lib/cosFileTransfer-1.1.13
        Symlink: false
        Active Dependencies:
            orber,
            stdlib,
            kernel,
        Library Dependencies:

    cosEventDomain-1.1.12: /Users/blt/.kerl/installs/R15B03/lib/cosEventDomain-1.1.12
        Symlink: false
        Active Dependencies:
            orber,
            stdlib,
            kernel,
        Library Dependencies:

    cosEvent-2.1.12: /Users/blt/.kerl/installs/R15B03/lib/cosEvent-2.1.12
        Symlink: false
        Active Dependencies:
            orber,
            stdlib,
            kernel,
        Library Dependencies:

    compiler-4.8.2: /Users/blt/.kerl/installs/R15B03/lib/compiler-4.8.2
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    common_test-1.6.3: /Users/blt/.kerl/installs/R15B03/lib/common_test-1.6.3
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    asn1-1.8: /Users/blt/.kerl/installs/R15B03/lib/asn1-1.8
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    appmon-2.1.14.1: /Users/blt/.kerl/installs/R15B03/lib/appmon-2.1.14.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    stdlib-1.18.3: /Users/blt/projects/us/troutwine/beat/_rel/lib/stdlib-1.18.3
        Symlink: false
        Active Dependencies:
            kernel,
        Library Dependencies:

    sasl-2.2.1: /Users/blt/projects/us/troutwine/beat/_rel/lib/sasl-2.2.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    ranch-0.8.5: /Users/blt/projects/us/troutwine/beat/_rel/lib/ranch-0.8.5
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    kernel-2.15.3: /Users/blt/projects/us/troutwine/beat/_rel/lib/kernel-2.15.3
        Symlink: false
        Active Dependencies:
        Library Dependencies:

    beat_tcp_api-2013.1: /Users/blt/projects/us/troutwine/beat/_rel/lib/beat_tcp_api-2013.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
            beat_core,
        Library Dependencies:
            ranch,

    beat_core-2013.1: /Users/blt/projects/us/troutwine/beat/_rel/lib/beat_core-2013.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    stdlib-1.18.3: /Users/blt/projects/us/troutwine/beat/_rel/13701306/lib/stdlib-1.18.3
        Symlink: false
        Active Dependencies:
            kernel,
        Library Dependencies:

    sasl-2.2.1: /Users/blt/projects/us/troutwine/beat/_rel/13701306/lib/sasl-2.2.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    ranch-0.8.5: /Users/blt/projects/us/troutwine/beat/_rel/13701306/lib/ranch-0.8.5
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

    kernel-2.15.3: /Users/blt/projects/us/troutwine/beat/_rel/13701306/lib/kernel-2.15.3
        Symlink: false
        Active Dependencies:
        Library Dependencies:

    beat_tcp_api-2013.1: /Users/blt/projects/us/troutwine/beat/_rel/13701306/lib/beat_tcp_api-2013.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
            beat_core,
        Library Dependencies:
            ranch,

    beat_core-2013.1: /Users/blt/projects/us/troutwine/beat/_rel/13701306/lib/beat_core-2013.1
        Symlink: false
        Active Dependencies:
            kernel,
            stdlib,
        Library Dependencies:

Resolving available releases from directories:
    /Users/blt/projects/us/troutwine/beat/apps
    /Users/blt/projects/us/troutwine/beat/deps
    /Users/blt/.kerl/installs/R15B03/lib
    /Users/blt/projects/us/troutwine/beat/_rel

Resolved the following OTP Releases from the system: 
    release: beat-0.1.0
         erts-5.9.3, realized = false
    goals: 

    release: beat-0.1.0
         erts-5.9.3, realized = false
    goals: 

    release: beat-0.1.0
         erts-5.9.3, realized = false
    goals: 

Provider successfully run: rlx_prv_discover
Running provider rlx_prv_release
Solving Release beat-0.1.0
Resolved beat-0.1.0
    release: beat-0.1.0
         erts-5.9.3, realized = true
    goals: 
        sasl,
        {"beat_tcp_api",{{2013,1},{[],[]}},'='},
        {"beat_core",{{2013,1},{[],[]}},'='},
    applications: 
        {kernel,"2.15.3"},
        {stdlib,"1.18.3"},
        {beat_core,"2013.1"},
        {ranch,"0.8.5",load},
        {beat_tcp_api,"2013.1"},
        {sasl,"2.2.1"},

Provider successfully run: rlx_prv_release
Running provider rlx_prv_overlay
Provider successfully run: rlx_prv_overlay
Running provider rlx_prv_assembler
release successfully created!
tarball /Users/blt/projects/us/troutwine/beat/_rel/beat-0.1.0.tar.gz successfully created!
Provider (rlx_prv_assembler) failed with: {error,
                                           {rlx_prv_assembler,
                                            {tar_generation_error,error,
                                             {case_clause,
                                              {"/Users/blt/projects/us/troutwine/beat/_rel/31966444/lib",
                                               {error,eexist}}}}}}
Tarball generation error for error reason {case_clause,
                                           {"/Users/blt/projects/us/troutwine/beat/_rel/31966444/lib",
                                            {error,eexist}}}
Usage: relx [-n <relname>] [-v <relvsn>] [-g <goal>] [-u <upfrom>]
            [-o <output_dir>] [-l <lib_dir>]
            [--disable-default-libs [<disable_default_libs>]]
            [-V [<log_level>]] [-a <override_app>] [-c [<config>]]
            [-r <root_dir>] [*release-specification-file*]

  -n, --relname           Specify the name for the release that will be 
                          generated
  -v, --relvsn            Specify the version for the release
  -g, --goal              Specify a target constraint on the system. These 
                          are usually the OTP
  -u, --upfrom            Only valid with relup target, specify the 
                          release to upgrade from
  -o, --output-dir        The output directory for the release. This is 
                          `./` by default.
  -l, --lib-dir           Additional dirs that should be searched for OTP 
                          Apps
  --disable-default-libs  Disable the default system added lib dirs (means 
                          you must add them all manually [default: false]
  -V, --verbose           Verbosity level, maybe between 0 and 2 [default: 
                          1]
  -a, --override_app      Provide an app name and a directory to override 
                          in the form <appname>:<app directory>
  -c, --config            The path to a config file [default: ]
  -r, --root              The project root directory
tsloughter commented 11 years ago

Hmm, ok, so it is complaining that that lib dir is not empty and thus it can't run del_dir on it. Maybe my delete_dir function isn't as clever as I thought... Really annoying there is no Erlang function to delete a non-empty directory. So I made:

delete_dir(Path) ->
    lists:foldr(fun(File, ok) ->
                        case filelib:is_dir(File) of
                            true ->
                                file:del_dir(File);
                            false ->
                                file:delete(File)
                        end
                end, ok, filelib:wildcard(filename:join(Path, "**"))),
    ok = file:del_dir(Path).

Since it is foldr it should get the files in a dir before the dir because of the order I saw it returning in.

So may just be a bug with my logic here. Will try to figure it out, let me know if you have a theory :)

blt commented 11 years ago

I don't see anything obviously wrong, but I'm working from a phone right now so I can't experiment. I wonder if the problem is wildcard returning in a different order on different file systems and if an explicitly depth first recursion might not be more bullet proof.

Anyway, that's my BART inspired hypothesis.

tsloughter commented 11 years ago

Yea, I was wondering the same. If you have time later to run the wildcard statement and see what it returns on your system that would be great. I'll see if I can find a better way of doing this today.

blt commented 11 years ago

Okay, so here's the output of the wildcard:

1> filelib:wildcard("_rel/**").
["_rel/13701306","_rel/31966444","_rel/beat-0.1.0.tar.gz",
 "_rel/bin","_rel/erts-5.9.3","_rel/lib","_rel/releases"]

and the tree, for good measure:

> tree _rel 
_rel
├── 13701306
│   ├── erts-5.9.3
│   │   └── bin
│   │       ├── beam
│   │       ├── beam.smp
│   │       ├── child_setup
│   │       ├── ct_run
│   │       ├── dialyzer
│   │       ├── dyn_erl
│   │       ├── epmd
│   │       ├── erl
│   │       ├── erl.src
│   │       ├── erlc
│   │       ├── erlexec
│   │       ├── escript
│   │       ├── heart
│   │       ├── inet_gethost
│   │       ├── run_erl
│   │       ├── start
│   │       ├── start.src
│   │       ├── start_erl.src
│   │       ├── to_erl
│   │       └── typer
│   ├── lib
│   │   ├── beat_core-2013.1
│   │   │   └── ebin
│   │   │       ├── beat_core.app
│   │   │       ├── beat_core.beam
│   │   │       ├── beat_core_app.beam
│   │   │       ├── beat_core_beater.beam
│   │   │       └── beat_core_sup.beam
│   │   ├── beat_tcp_api-2013.1
│   │   │   └── ebin
│   │   │       ├── beat_tcp_api.app
│   │   │       ├── beat_tcp_api.beam
│   │   │       ├── beat_tcp_api_app.beam
│   │   │       ├── beat_tcp_api_sup.beam
│   │   │       └── bta_protocol.beam
│   │   ├── kernel-2.15.3
│   │   │   └── ebin
│   │   │       ├── application.beam
│   │   │       ├── application_controller.beam
│   │   │       ├── application_master.beam
│   │   │       ├── application_starter.beam
│   │   │       ├── auth.beam
│   │   │       ├── code.beam
│   │   │       ├── code_server.beam
│   │   │       ├── disk_log.beam
│   │   │       ├── disk_log_1.beam
│   │   │       ├── disk_log_server.beam
│   │   │       ├── disk_log_sup.beam
│   │   │       ├── dist_ac.beam
│   │   │       ├── dist_util.beam
│   │   │       ├── erl_boot_server.beam
│   │   │       ├── erl_ddll.beam
│   │   │       ├── erl_distribution.beam
│   │   │       ├── erl_epmd.beam
│   │   │       ├── erl_reply.beam
│   │   │       ├── error_handler.beam
│   │   │       ├── error_logger.beam
│   │   │       ├── erts_debug.beam
│   │   │       ├── file.beam
│   │   │       ├── file_io_server.beam
│   │   │       ├── file_server.beam
│   │   │       ├── gen_sctp.beam
│   │   │       ├── gen_tcp.beam
│   │   │       ├── gen_udp.beam
│   │   │       ├── global.beam
│   │   │       ├── global_group.beam
│   │   │       ├── global_search.beam
│   │   │       ├── group.beam
│   │   │       ├── heart.beam
│   │   │       ├── hipe_unified_loader.beam
│   │   │       ├── inet.beam
│   │   │       ├── inet6_sctp.beam
│   │   │       ├── inet6_tcp.beam
│   │   │       ├── inet6_tcp_dist.beam
│   │   │       ├── inet6_udp.beam
│   │   │       ├── inet_config.beam
│   │   │       ├── inet_db.beam
│   │   │       ├── inet_dns.beam
│   │   │       ├── inet_gethost_native.beam
│   │   │       ├── inet_hosts.beam
│   │   │       ├── inet_parse.beam
│   │   │       ├── inet_res.beam
│   │   │       ├── inet_sctp.beam
│   │   │       ├── inet_tcp.beam
│   │   │       ├── inet_tcp_dist.beam
│   │   │       ├── inet_udp.beam
│   │   │       ├── kernel.app
│   │   │       ├── kernel.beam
│   │   │       ├── kernel_config.beam
│   │   │       ├── net.beam
│   │   │       ├── net_adm.beam
│   │   │       ├── net_kernel.beam
│   │   │       ├── os.beam
│   │   │       ├── packages.beam
│   │   │       ├── pg2.beam
│   │   │       ├── ram_file.beam
│   │   │       ├── rpc.beam
│   │   │       ├── seq_trace.beam
│   │   │       ├── standard_error.beam
│   │   │       ├── user.beam
│   │   │       ├── user_drv.beam
│   │   │       ├── user_sup.beam
│   │   │       └── wrap_log_reader.beam
│   │   ├── ranch-0.8.5
│   │   │   └── ebin
│   │   │       ├── ranch.app
│   │   │       ├── ranch.beam
│   │   │       ├── ranch_acceptor.beam
│   │   │       ├── ranch_acceptors_sup.beam
│   │   │       ├── ranch_app.beam
│   │   │       ├── ranch_conns_sup.beam
│   │   │       ├── ranch_listener_sup.beam
│   │   │       ├── ranch_protocol.beam
│   │   │       ├── ranch_server.beam
│   │   │       ├── ranch_ssl.beam
│   │   │       ├── ranch_sup.beam
│   │   │       ├── ranch_tcp.beam
│   │   │       └── ranch_transport.beam
│   │   ├── sasl-2.2.1
│   │   │   └── ebin
│   │   │       ├── alarm_handler.beam
│   │   │       ├── erlsrv.beam
│   │   │       ├── format_lib_supp.beam
│   │   │       ├── misc_supp.beam
│   │   │       ├── overload.beam
│   │   │       ├── rb.beam
│   │   │       ├── rb_format_supp.beam
│   │   │       ├── release_handler.beam
│   │   │       ├── release_handler_1.beam
│   │   │       ├── sasl.app
│   │   │       ├── sasl.beam
│   │   │       ├── sasl_report.beam
│   │   │       ├── sasl_report_file_h.beam
│   │   │       ├── sasl_report_tty_h.beam
│   │   │       ├── si.beam
│   │   │       ├── si_sasl_supp.beam
│   │   │       ├── systools.beam
│   │   │       ├── systools_lib.beam
│   │   │       ├── systools_make.beam
│   │   │       ├── systools_rc.beam
│   │   │       └── systools_relup.beam
│   │   └── stdlib-1.18.3
│   │       └── ebin
│   │           ├── array.beam
│   │           ├── base64.beam
│   │           ├── beam_lib.beam
│   │           ├── binary.beam
│   │           ├── c.beam
│   │           ├── calendar.beam
│   │           ├── dets.beam
│   │           ├── dets_server.beam
│   │           ├── dets_sup.beam
│   │           ├── dets_utils.beam
│   │           ├── dets_v8.beam
│   │           ├── dets_v9.beam
│   │           ├── dict.beam
│   │           ├── digraph.beam
│   │           ├── digraph_utils.beam
│   │           ├── edlin.beam
│   │           ├── edlin_expand.beam
│   │           ├── epp.beam
│   │           ├── erl_bits.beam
│   │           ├── erl_compile.beam
│   │           ├── erl_eval.beam
│   │           ├── erl_expand_records.beam
│   │           ├── erl_internal.beam
│   │           ├── erl_lint.beam
│   │           ├── erl_parse.beam
│   │           ├── erl_posix_msg.beam
│   │           ├── erl_pp.beam
│   │           ├── erl_scan.beam
│   │           ├── erl_tar.beam
│   │           ├── error_logger_file_h.beam
│   │           ├── error_logger_tty_h.beam
│   │           ├── escript.beam
│   │           ├── ets.beam
│   │           ├── eval_bits.beam
│   │           ├── file_sorter.beam
│   │           ├── filelib.beam
│   │           ├── filename.beam
│   │           ├── gb_sets.beam
│   │           ├── gb_trees.beam
│   │           ├── gen.beam
│   │           ├── gen_event.beam
│   │           ├── gen_fsm.beam
│   │           ├── gen_server.beam
│   │           ├── io.beam
│   │           ├── io_lib.beam
│   │           ├── io_lib_format.beam
│   │           ├── io_lib_fread.beam
│   │           ├── io_lib_pretty.beam
│   │           ├── lib.beam
│   │           ├── lists.beam
│   │           ├── log_mf_h.beam
│   │           ├── math.beam
│   │           ├── ms_transform.beam
│   │           ├── orddict.beam
│   │           ├── ordsets.beam
│   │           ├── otp_internal.beam
│   │           ├── pg.beam
│   │           ├── pool.beam
│   │           ├── proc_lib.beam
│   │           ├── proplists.beam
│   │           ├── qlc.beam
│   │           ├── qlc_pt.beam
│   │           ├── queue.beam
│   │           ├── random.beam
│   │           ├── re.beam
│   │           ├── sets.beam
│   │           ├── shell.beam
│   │           ├── shell_default.beam
│   │           ├── slave.beam
│   │           ├── sofs.beam
│   │           ├── stdlib.app
│   │           ├── string.beam
│   │           ├── supervisor.beam
│   │           ├── supervisor_bridge.beam
│   │           ├── sys.beam
│   │           ├── timer.beam
│   │           ├── unicode.beam
│   │           ├── win32reg.beam
│   │           └── zip.beam
│   └── releases
│       ├── 0.1.0
│       │   ├── beat.rel
│       │   ├── start.boot
│       │   └── sys.config
│       └── beat.rel
├── 31966444
│   ├── erts-5.9.3
│   │   └── bin
│   │       ├── beam
│   │       ├── beam.smp
│   │       ├── child_setup
│   │       ├── ct_run
│   │       ├── dialyzer
│   │       ├── dyn_erl
│   │       ├── epmd
│   │       ├── erl
│   │       ├── erl.src
│   │       ├── erlc
│   │       ├── erlexec
│   │       ├── escript
│   │       ├── heart
│   │       ├── inet_gethost
│   │       ├── run_erl
│   │       ├── start
│   │       ├── start.src
│   │       ├── start_erl.src
│   │       ├── to_erl
│   │       └── typer
│   ├── lib
│   │   ├── beat_core-2013.1
│   │   │   └── ebin
│   │   │       ├── beat_core.app
│   │   │       ├── beat_core.beam
│   │   │       ├── beat_core_app.beam
│   │   │       ├── beat_core_beater.beam
│   │   │       └── beat_core_sup.beam
│   │   ├── beat_tcp_api-2013.1
│   │   │   └── ebin
│   │   │       ├── beat_tcp_api.app
│   │   │       ├── beat_tcp_api.beam
│   │   │       ├── beat_tcp_api_app.beam
│   │   │       ├── beat_tcp_api_sup.beam
│   │   │       └── bta_protocol.beam
│   │   ├── kernel-2.15.3
│   │   │   └── ebin
│   │   │       ├── application.beam
│   │   │       ├── application_controller.beam
│   │   │       ├── application_master.beam
│   │   │       ├── application_starter.beam
│   │   │       ├── auth.beam
│   │   │       ├── code.beam
│   │   │       ├── code_server.beam
│   │   │       ├── disk_log.beam
│   │   │       ├── disk_log_1.beam
│   │   │       ├── disk_log_server.beam
│   │   │       ├── disk_log_sup.beam
│   │   │       ├── dist_ac.beam
│   │   │       ├── dist_util.beam
│   │   │       ├── erl_boot_server.beam
│   │   │       ├── erl_ddll.beam
│   │   │       ├── erl_distribution.beam
│   │   │       ├── erl_epmd.beam
│   │   │       ├── erl_reply.beam
│   │   │       ├── error_handler.beam
│   │   │       ├── error_logger.beam
│   │   │       ├── erts_debug.beam
│   │   │       ├── file.beam
│   │   │       ├── file_io_server.beam
│   │   │       ├── file_server.beam
│   │   │       ├── gen_sctp.beam
│   │   │       ├── gen_tcp.beam
│   │   │       ├── gen_udp.beam
│   │   │       ├── global.beam
│   │   │       ├── global_group.beam
│   │   │       ├── global_search.beam
│   │   │       ├── group.beam
│   │   │       ├── heart.beam
│   │   │       ├── hipe_unified_loader.beam
│   │   │       ├── inet.beam
│   │   │       ├── inet6_sctp.beam
│   │   │       ├── inet6_tcp.beam
│   │   │       ├── inet6_tcp_dist.beam
│   │   │       ├── inet6_udp.beam
│   │   │       ├── inet_config.beam
│   │   │       ├── inet_db.beam
│   │   │       ├── inet_dns.beam
│   │   │       ├── inet_gethost_native.beam
│   │   │       ├── inet_hosts.beam
│   │   │       ├── inet_parse.beam
│   │   │       ├── inet_res.beam
│   │   │       ├── inet_sctp.beam
│   │   │       ├── inet_tcp.beam
│   │   │       ├── inet_tcp_dist.beam
│   │   │       ├── inet_udp.beam
│   │   │       ├── kernel.app
│   │   │       ├── kernel.beam
│   │   │       ├── kernel_config.beam
│   │   │       ├── net.beam
│   │   │       ├── net_adm.beam
│   │   │       ├── net_kernel.beam
│   │   │       ├── os.beam
│   │   │       ├── packages.beam
│   │   │       ├── pg2.beam
│   │   │       ├── ram_file.beam
│   │   │       ├── rpc.beam
│   │   │       ├── seq_trace.beam
│   │   │       ├── standard_error.beam
│   │   │       ├── user.beam
│   │   │       ├── user_drv.beam
│   │   │       ├── user_sup.beam
│   │   │       └── wrap_log_reader.beam
│   │   ├── ranch-0.8.5
│   │   │   └── ebin
│   │   │       ├── ranch.app
│   │   │       ├── ranch.beam
│   │   │       ├── ranch_acceptor.beam
│   │   │       ├── ranch_acceptors_sup.beam
│   │   │       ├── ranch_app.beam
│   │   │       ├── ranch_conns_sup.beam
│   │   │       ├── ranch_listener_sup.beam
│   │   │       ├── ranch_protocol.beam
│   │   │       ├── ranch_server.beam
│   │   │       ├── ranch_ssl.beam
│   │   │       ├── ranch_sup.beam
│   │   │       ├── ranch_tcp.beam
│   │   │       └── ranch_transport.beam
│   │   ├── sasl-2.2.1
│   │   │   └── ebin
│   │   │       ├── alarm_handler.beam
│   │   │       ├── erlsrv.beam
│   │   │       ├── format_lib_supp.beam
│   │   │       ├── misc_supp.beam
│   │   │       ├── overload.beam
│   │   │       ├── rb.beam
│   │   │       ├── rb_format_supp.beam
│   │   │       ├── release_handler.beam
│   │   │       ├── release_handler_1.beam
│   │   │       ├── sasl.app
│   │   │       ├── sasl.beam
│   │   │       ├── sasl_report.beam
│   │   │       ├── sasl_report_file_h.beam
│   │   │       ├── sasl_report_tty_h.beam
│   │   │       ├── si.beam
│   │   │       ├── si_sasl_supp.beam
│   │   │       ├── systools.beam
│   │   │       ├── systools_lib.beam
│   │   │       ├── systools_make.beam
│   │   │       ├── systools_rc.beam
│   │   │       └── systools_relup.beam
│   │   └── stdlib-1.18.3
│   │       └── ebin
│   │           ├── array.beam
│   │           ├── base64.beam
│   │           ├── beam_lib.beam
│   │           ├── binary.beam
│   │           ├── c.beam
│   │           ├── calendar.beam
│   │           ├── dets.beam
│   │           ├── dets_server.beam
│   │           ├── dets_sup.beam
│   │           ├── dets_utils.beam
│   │           ├── dets_v8.beam
│   │           ├── dets_v9.beam
│   │           ├── dict.beam
│   │           ├── digraph.beam
│   │           ├── digraph_utils.beam
│   │           ├── edlin.beam
│   │           ├── edlin_expand.beam
│   │           ├── epp.beam
│   │           ├── erl_bits.beam
│   │           ├── erl_compile.beam
│   │           ├── erl_eval.beam
│   │           ├── erl_expand_records.beam
│   │           ├── erl_internal.beam
│   │           ├── erl_lint.beam
│   │           ├── erl_parse.beam
│   │           ├── erl_posix_msg.beam
│   │           ├── erl_pp.beam
│   │           ├── erl_scan.beam
│   │           ├── erl_tar.beam
│   │           ├── error_logger_file_h.beam
│   │           ├── error_logger_tty_h.beam
│   │           ├── escript.beam
│   │           ├── ets.beam
│   │           ├── eval_bits.beam
│   │           ├── file_sorter.beam
│   │           ├── filelib.beam
│   │           ├── filename.beam
│   │           ├── gb_sets.beam
│   │           ├── gb_trees.beam
│   │           ├── gen.beam
│   │           ├── gen_event.beam
│   │           ├── gen_fsm.beam
│   │           ├── gen_server.beam
│   │           ├── io.beam
│   │           ├── io_lib.beam
│   │           ├── io_lib_format.beam
│   │           ├── io_lib_fread.beam
│   │           ├── io_lib_pretty.beam
│   │           ├── lib.beam
│   │           ├── lists.beam
│   │           ├── log_mf_h.beam
│   │           ├── math.beam
│   │           ├── ms_transform.beam
│   │           ├── orddict.beam
│   │           ├── ordsets.beam
│   │           ├── otp_internal.beam
│   │           ├── pg.beam
│   │           ├── pool.beam
│   │           ├── proc_lib.beam
│   │           ├── proplists.beam
│   │           ├── qlc.beam
│   │           ├── qlc_pt.beam
│   │           ├── queue.beam
│   │           ├── random.beam
│   │           ├── re.beam
│   │           ├── sets.beam
│   │           ├── shell.beam
│   │           ├── shell_default.beam
│   │           ├── slave.beam
│   │           ├── sofs.beam
│   │           ├── stdlib.app
│   │           ├── string.beam
│   │           ├── supervisor.beam
│   │           ├── supervisor_bridge.beam
│   │           ├── sys.beam
│   │           ├── timer.beam
│   │           ├── unicode.beam
│   │           ├── win32reg.beam
│   │           └── zip.beam
│   └── releases
│       ├── 0.1.0
│       │   ├── beat.rel
│       │   ├── start.boot
│       │   └── sys.config
│       └── beat.rel
├── beat-0.1.0.tar.gz
├── bin
│   ├── beat
│   ├── beat-0.1.0
│   └── start_clean.boot
├── erts-5.9.3
│   ├── bin
│   │   ├── beam
│   │   ├── beam.smp
│   │   ├── child_setup
│   │   ├── ct_run
│   │   ├── dialyzer
│   │   ├── dyn_erl
│   │   ├── epmd
│   │   ├── erl
│   │   ├── erl.src
│   │   ├── erlc
│   │   ├── erlexec
│   │   ├── escript
│   │   ├── heart
│   │   ├── inet_gethost
│   │   ├── install_upgrade.escript
│   │   ├── nodetool
│   │   ├── run_erl
│   │   ├── start
│   │   ├── start.src
│   │   ├── start_erl.src
│   │   ├── to_erl
│   │   └── typer
│   ├── doc
│   ├── include
│   │   ├── driver_int.h
│   │   ├── erl_driver.h
│   │   ├── erl_drv_nif.h
│   │   ├── erl_fixed_size_int_types.h
│   │   ├── erl_int_sizes_config.h
│   │   ├── erl_memory_trace_parser.h
│   │   ├── erl_nif.h
│   │   ├── erl_nif_api_funcs.h
│   │   └── internal
│   │       ├── README
│   │       ├── erl_errno.h
│   │       ├── erl_memory_trace_protocol.h
│   │       ├── erl_misc_utils.h
│   │       ├── erl_printf.h
│   │       ├── erl_printf_format.h
│   │       ├── erts_internal.mk
│   │       ├── ethr_atomics.h
│   │       ├── ethr_mutex.h
│   │       ├── ethr_optimized_fallbacks.h
│   │       ├── ethread.h
│   │       ├── ethread.mk
│   │       ├── ethread_header_config.h
│   │       ├── gcc
│   │       │   ├── ethr_atomic.h
│   │       │   ├── ethr_dw_atomic.h
│   │       │   ├── ethr_membar.h
│   │       │   └── ethread.h
│   │       ├── i386
│   │       │   ├── atomic.h
│   │       │   ├── ethr_dw_atomic.h
│   │       │   ├── ethr_membar.h
│   │       │   ├── ethread.h
│   │       │   ├── rwlock.h
│   │       │   └── spinlock.h
│   │       ├── libatomic_ops
│   │       │   ├── ethr_atomic.h
│   │       │   ├── ethr_membar.h
│   │       │   └── ethread.h
│   │       ├── ppc32
│   │       │   ├── atomic.h
│   │       │   ├── ethr_membar.h
│   │       │   ├── ethread.h
│   │       │   ├── rwlock.h
│   │       │   └── spinlock.h
│   │       ├── pthread
│   │       │   └── ethr_event.h
│   │       ├── sparc32
│   │       │   ├── atomic.h
│   │       │   ├── ethr_membar.h
│   │       │   ├── ethread.h
│   │       │   ├── rwlock.h
│   │       │   └── spinlock.h
│   │       ├── sparc64
│   │       │   └── ethread.h
│   │       ├── tile
│   │       │   ├── atomic.h
│   │       │   ├── ethr_membar.h
│   │       │   └── ethread.h
│   │       ├── win
│   │       │   ├── ethr_atomic.h
│   │       │   ├── ethr_dw_atomic.h
│   │       │   ├── ethr_event.h
│   │       │   ├── ethr_membar.h
│   │       │   └── ethread.h
│   │       └── x86_64
│   │           └── ethread.h
│   ├── lib
│   │   ├── internal
│   │   │   ├── README
│   │   │   ├── liberts_internal.a
│   │   │   ├── liberts_internal_r.a
│   │   │   └── libethread.a
│   │   ├── liberts.a
│   │   └── liberts_r.a
│   ├── man
│   └── src
│       └── setuid_socket_wrap.c
├── lib
│   ├── beat_core-2013.1
│   │   ├── ebin
│   │   │   ├── beat_core.app
│   │   │   ├── beat_core.appup
│   │   │   ├── beat_core.beam
│   │   │   ├── beat_core_app.beam
│   │   │   ├── beat_core_beater.beam
│   │   │   └── beat_core_sup.beam
│   │   └── src
│   │       ├── beat_core.erl
│   │       ├── beat_core_app.erl
│   │       ├── beat_core_beater.erl
│   │       └── beat_core_sup.erl
│   ├── beat_tcp_api-2013.1
│   │   ├── ebin
│   │   │   ├── beat_tcp_api.app
│   │   │   ├── beat_tcp_api.beam
│   │   │   ├── beat_tcp_api_app.beam
│   │   │   ├── beat_tcp_api_sup.beam
│   │   │   └── bta_protocol.beam
│   │   └── src
│   │       ├── beat_tcp_api.erl
│   │       ├── beat_tcp_api_app.erl
│   │       ├── beat_tcp_api_sup.erl
│   │       └── bta_protocol.erl
│   ├── kernel-2.15.3
│   │   ├── ebin
│   │   │   ├── application.beam
│   │   │   ├── application_controller.beam
│   │   │   ├── application_master.beam
│   │   │   ├── application_starter.beam
│   │   │   ├── auth.beam
│   │   │   ├── code.beam
│   │   │   ├── code_server.beam
│   │   │   ├── disk_log.beam
│   │   │   ├── disk_log_1.beam
│   │   │   ├── disk_log_server.beam
│   │   │   ├── disk_log_sup.beam
│   │   │   ├── dist_ac.beam
│   │   │   ├── dist_util.beam
│   │   │   ├── erl_boot_server.beam
│   │   │   ├── erl_ddll.beam
│   │   │   ├── erl_distribution.beam
│   │   │   ├── erl_epmd.beam
│   │   │   ├── erl_reply.beam
│   │   │   ├── error_handler.beam
│   │   │   ├── error_logger.beam
│   │   │   ├── erts_debug.beam
│   │   │   ├── file.beam
│   │   │   ├── file_io_server.beam
│   │   │   ├── file_server.beam
│   │   │   ├── gen_sctp.beam
│   │   │   ├── gen_tcp.beam
│   │   │   ├── gen_udp.beam
│   │   │   ├── global.beam
│   │   │   ├── global_group.beam
│   │   │   ├── global_search.beam
│   │   │   ├── group.beam
│   │   │   ├── heart.beam
│   │   │   ├── hipe_unified_loader.beam
│   │   │   ├── inet.beam
│   │   │   ├── inet6_sctp.beam
│   │   │   ├── inet6_tcp.beam
│   │   │   ├── inet6_tcp_dist.beam
│   │   │   ├── inet6_udp.beam
│   │   │   ├── inet_config.beam
│   │   │   ├── inet_db.beam
│   │   │   ├── inet_dns.beam
│   │   │   ├── inet_gethost_native.beam
│   │   │   ├── inet_hosts.beam
│   │   │   ├── inet_parse.beam
│   │   │   ├── inet_res.beam
│   │   │   ├── inet_sctp.beam
│   │   │   ├── inet_tcp.beam
│   │   │   ├── inet_tcp_dist.beam
│   │   │   ├── inet_udp.beam
│   │   │   ├── kernel.app
│   │   │   ├── kernel.appup
│   │   │   ├── kernel.beam
│   │   │   ├── kernel_config.beam
│   │   │   ├── net.beam
│   │   │   ├── net_adm.beam
│   │   │   ├── net_kernel.beam
│   │   │   ├── os.beam
│   │   │   ├── packages.beam
│   │   │   ├── pg2.beam
│   │   │   ├── ram_file.beam
│   │   │   ├── rpc.beam
│   │   │   ├── seq_trace.beam
│   │   │   ├── standard_error.beam
│   │   │   ├── user.beam
│   │   │   ├── user_drv.beam
│   │   │   ├── user_sup.beam
│   │   │   └── wrap_log_reader.beam
│   │   ├── include
│   │   │   ├── dist.hrl
│   │   │   ├── dist_util.hrl
│   │   │   ├── file.hrl
│   │   │   ├── inet.hrl
│   │   │   ├── inet_sctp.hrl
│   │   │   └── net_address.hrl
│   │   └── src
│   │       ├── application.erl
│   │       ├── application_controller.erl
│   │       ├── application_master.erl
│   │       ├── application_master.hrl
│   │       ├── application_starter.erl
│   │       ├── auth.erl
│   │       ├── code.erl
│   │       ├── code_server.erl
│   │       ├── disk_log.erl
│   │       ├── disk_log.hrl
│   │       ├── disk_log_1.erl
│   │       ├── disk_log_server.erl
│   │       ├── disk_log_sup.erl
│   │       ├── dist_ac.erl
│   │       ├── dist_util.erl
│   │       ├── erl_boot_server.erl
│   │       ├── erl_ddll.erl
│   │       ├── erl_distribution.erl
│   │       ├── erl_epmd.erl
│   │       ├── erl_reply.erl
│   │       ├── error_handler.erl
│   │       ├── error_logger.erl
│   │       ├── erts_debug.erl
│   │       ├── file.erl
│   │       ├── file_io_server.erl
│   │       ├── file_server.erl
│   │       ├── gen_sctp.erl
│   │       ├── gen_tcp.erl
│   │       ├── gen_udp.erl
│   │       ├── global.erl
│   │       ├── global_group.erl
│   │       ├── global_search.erl
│   │       ├── group.erl
│   │       ├── heart.erl
│   │       ├── hipe_unified_loader.erl
│   │       ├── inet.erl
│   │       ├── inet6_sctp.erl
│   │       ├── inet6_tcp.erl
│   │       ├── inet6_tcp_dist.erl
│   │       ├── inet6_udp.erl
│   │       ├── inet_boot.hrl
│   │       ├── inet_config.erl
│   │       ├── inet_config.hrl
│   │       ├── inet_db.erl
│   │       ├── inet_dns.erl
│   │       ├── inet_dns.hrl
│   │       ├── inet_dns_record_adts.hrl
│   │       ├── inet_gethost_native.erl
│   │       ├── inet_hosts.erl
│   │       ├── inet_int.hrl
│   │       ├── inet_parse.erl
│   │       ├── inet_res.erl
│   │       ├── inet_res.hrl
│   │       ├── inet_sctp.erl
│   │       ├── inet_tcp.erl
│   │       ├── inet_tcp_dist.erl
│   │       ├── inet_udp.erl
│   │       ├── kernel.erl
│   │       ├── kernel_config.erl
│   │       ├── net.erl
│   │       ├── net_adm.erl
│   │       ├── net_kernel.erl
│   │       ├── os.erl
│   │       ├── packages.erl
│   │       ├── pg2.erl
│   │       ├── ram_file.erl
│   │       ├── rpc.erl
│   │       ├── seq_trace.erl
│   │       ├── standard_error.erl
│   │       ├── user.erl
│   │       ├── user_drv.erl
│   │       ├── user_sup.erl
│   │       └── wrap_log_reader.erl
│   ├── ranch-0.8.5
│   │   ├── ebin
│   │   │   ├── ranch.app
│   │   │   ├── ranch.beam
│   │   │   ├── ranch_acceptor.beam
│   │   │   ├── ranch_acceptors_sup.beam
│   │   │   ├── ranch_app.beam
│   │   │   ├── ranch_conns_sup.beam
│   │   │   ├── ranch_listener_sup.beam
│   │   │   ├── ranch_protocol.beam
│   │   │   ├── ranch_server.beam
│   │   │   ├── ranch_ssl.beam
│   │   │   ├── ranch_sup.beam
│   │   │   ├── ranch_tcp.beam
│   │   │   └── ranch_transport.beam
│   │   └── src
│   │       ├── ranch.app.src
│   │       ├── ranch.erl
│   │       ├── ranch_acceptor.erl
│   │       ├── ranch_acceptors_sup.erl
│   │       ├── ranch_app.erl
│   │       ├── ranch_conns_sup.erl
│   │       ├── ranch_listener_sup.erl
│   │       ├── ranch_protocol.erl
│   │       ├── ranch_server.erl
│   │       ├── ranch_ssl.erl
│   │       ├── ranch_sup.erl
│   │       ├── ranch_tcp.erl
│   │       └── ranch_transport.erl
│   ├── sasl-2.2.1
│   │   ├── ebin
│   │   │   ├── alarm_handler.beam
│   │   │   ├── erlsrv.beam
│   │   │   ├── format_lib_supp.beam
│   │   │   ├── misc_supp.beam
│   │   │   ├── overload.beam
│   │   │   ├── rb.beam
│   │   │   ├── rb_format_supp.beam
│   │   │   ├── release_handler.beam
│   │   │   ├── release_handler_1.beam
│   │   │   ├── sasl.app
│   │   │   ├── sasl.appup
│   │   │   ├── sasl.beam
│   │   │   ├── sasl_report.beam
│   │   │   ├── sasl_report_file_h.beam
│   │   │   ├── sasl_report_tty_h.beam
│   │   │   ├── si.beam
│   │   │   ├── si_sasl_supp.beam
│   │   │   ├── systools.beam
│   │   │   ├── systools_lib.beam
│   │   │   ├── systools_make.beam
│   │   │   ├── systools_rc.beam
│   │   │   └── systools_relup.beam
│   │   └── src
│   │       ├── alarm_handler.erl
│   │       ├── erlsrv.erl
│   │       ├── format_lib_supp.erl
│   │       ├── misc_supp.erl
│   │       ├── overload.erl
│   │       ├── rb.erl
│   │       ├── rb_format_supp.erl
│   │       ├── release_handler.erl
│   │       ├── release_handler_1.erl
│   │       ├── sasl.erl
│   │       ├── sasl_report.erl
│   │       ├── sasl_report_file_h.erl
│   │       ├── sasl_report_tty_h.erl
│   │       ├── si.erl
│   │       ├── si_sasl_supp.erl
│   │       ├── systools.erl
│   │       ├── systools.hrl
│   │       ├── systools_lib.erl
│   │       ├── systools_make.erl
│   │       ├── systools_rc.erl
│   │       └── systools_relup.erl
│   └── stdlib-1.18.3
│       ├── ebin
│       │   ├── array.beam
│       │   ├── base64.beam
│       │   ├── beam_lib.beam
│       │   ├── binary.beam
│       │   ├── c.beam
│       │   ├── calendar.beam
│       │   ├── dets.beam
│       │   ├── dets_server.beam
│       │   ├── dets_sup.beam
│       │   ├── dets_utils.beam
│       │   ├── dets_v8.beam
│       │   ├── dets_v9.beam
│       │   ├── dict.beam
│       │   ├── digraph.beam
│       │   ├── digraph_utils.beam
│       │   ├── edlin.beam
│       │   ├── edlin_expand.beam
│       │   ├── epp.beam
│       │   ├── erl_bits.beam
│       │   ├── erl_compile.beam
│       │   ├── erl_eval.beam
│       │   ├── erl_expand_records.beam
│       │   ├── erl_internal.beam
│       │   ├── erl_lint.beam
│       │   ├── erl_parse.beam
│       │   ├── erl_posix_msg.beam
│       │   ├── erl_pp.beam
│       │   ├── erl_scan.beam
│       │   ├── erl_tar.beam
│       │   ├── error_logger_file_h.beam
│       │   ├── error_logger_tty_h.beam
│       │   ├── escript.beam
│       │   ├── ets.beam
│       │   ├── eval_bits.beam
│       │   ├── file_sorter.beam
│       │   ├── filelib.beam
│       │   ├── filename.beam
│       │   ├── gb_sets.beam
│       │   ├── gb_trees.beam
│       │   ├── gen.beam
│       │   ├── gen_event.beam
│       │   ├── gen_fsm.beam
│       │   ├── gen_server.beam
│       │   ├── io.beam
│       │   ├── io_lib.beam
│       │   ├── io_lib_format.beam
│       │   ├── io_lib_fread.beam
│       │   ├── io_lib_pretty.beam
│       │   ├── lib.beam
│       │   ├── lists.beam
│       │   ├── log_mf_h.beam
│       │   ├── math.beam
│       │   ├── ms_transform.beam
│       │   ├── orddict.beam
│       │   ├── ordsets.beam
│       │   ├── otp_internal.beam
│       │   ├── pg.beam
│       │   ├── pool.beam
│       │   ├── proc_lib.beam
│       │   ├── proplists.beam
│       │   ├── qlc.beam
│       │   ├── qlc_pt.beam
│       │   ├── queue.beam
│       │   ├── random.beam
│       │   ├── re.beam
│       │   ├── sets.beam
│       │   ├── shell.beam
│       │   ├── shell_default.beam
│       │   ├── slave.beam
│       │   ├── sofs.beam
│       │   ├── stdlib.app
│       │   ├── stdlib.appup
│       │   ├── string.beam
│       │   ├── supervisor.beam
│       │   ├── supervisor_bridge.beam
│       │   ├── sys.beam
│       │   ├── timer.beam
│       │   ├── unicode.beam
│       │   ├── win32reg.beam
│       │   └── zip.beam
│       ├── include
│       │   ├── erl_bits.hrl
│       │   ├── erl_compile.hrl
│       │   ├── ms_transform.hrl
│       │   ├── qlc.hrl
│       │   └── zip.hrl
│       └── src
│           ├── array.erl
│           ├── base64.erl
│           ├── beam_lib.erl
│           ├── binary.erl
│           ├── c.erl
│           ├── calendar.erl
│           ├── dets.erl
│           ├── dets.hrl
│           ├── dets_server.erl
│           ├── dets_sup.erl
│           ├── dets_utils.erl
│           ├── dets_v8.erl
│           ├── dets_v9.erl
│           ├── dict.erl
│           ├── digraph.erl
│           ├── digraph_utils.erl
│           ├── edlin.erl
│           ├── edlin_expand.erl
│           ├── epp.erl
│           ├── erl_bits.erl
│           ├── erl_compile.erl
│           ├── erl_eval.erl
│           ├── erl_expand_records.erl
│           ├── erl_internal.erl
│           ├── erl_lint.erl
│           ├── erl_parse.erl
│           ├── erl_parse.yrl
│           ├── erl_posix_msg.erl
│           ├── erl_pp.erl
│           ├── erl_scan.erl
│           ├── erl_tar.erl
│           ├── error_logger_file_h.erl
│           ├── error_logger_tty_h.erl
│           ├── escript.erl
│           ├── ets.erl
│           ├── eval_bits.erl
│           ├── file_sorter.erl
│           ├── filelib.erl
│           ├── filename.erl
│           ├── gb_sets.erl
│           ├── gb_trees.erl
│           ├── gen.erl
│           ├── gen_event.erl
│           ├── gen_fsm.erl
│           ├── gen_server.erl
│           ├── io.erl
│           ├── io_lib.erl
│           ├── io_lib_format.erl
│           ├── io_lib_fread.erl
│           ├── io_lib_pretty.erl
│           ├── lib.erl
│           ├── lists.erl
│           ├── log_mf_h.erl
│           ├── math.erl
│           ├── ms_transform.erl
│           ├── orddict.erl
│           ├── ordsets.erl
│           ├── otp_internal.erl
│           ├── pg.erl
│           ├── pool.erl
│           ├── proc_lib.erl
│           ├── proplists.erl
│           ├── qlc.erl
│           ├── qlc_pt.erl
│           ├── queue.erl
│           ├── random.erl
│           ├── re.erl
│           ├── sets.erl
│           ├── shell.erl
│           ├── shell_default.erl
│           ├── slave.erl
│           ├── sofs.erl
│           ├── string.erl
│           ├── supervisor.erl
│           ├── supervisor_bridge.erl
│           ├── sys.erl
│           ├── timer.erl
│           ├── unicode.erl
│           ├── win32reg.erl
│           └── zip.erl
└── releases
    └── 0.1.0
        ├── beat.boot
        ├── beat.rel
        ├── beat.script
        ├── sys.config
        └── vm.args

79 directories, 918 files
tsloughter commented 11 years ago

What the... It isn't going into directories. I'd be surprised, but maybe they only added support of \ in R16... Grrrr, that sucks if that is the case. You are on R15 right?

blt commented 11 years ago

I am. I think R14 is still pretty commonly deployed too.

On Fri, Sep 13, 2013 at 10:15 AM, Tristan Sloughter notifications@github.com wrote:

What the... It isn't going into directories. I'd be surprised, but maybe they only added support of \ in R16... Grrrr, that sucks if that is the case. You are on R15 right?

Reply to this email directly or view it on GitHub: https://github.com/erlware/relx/issues/35#issuecomment-24409850

tsloughter commented 11 years ago

Damn, yup: R16 OTP-10431 Allow \ in filelib:wildcard

So yea, have to change that function. I'll find an alternative.

And yea, we want to support R14 and above.

tsloughter commented 11 years ago

OK, fixed in my master branch, will be merged soon and I'll release 0.1.2.

It will also now making the temp directory in /tmp/.tmpdir*, when I found the remove function in erlware_commons I also found mktempdir :), I should really pay more attention to what functions we have in there, haha.

blt commented 11 years ago

Works great!

tsloughter commented 11 years ago

Fixed in https://github.com/erlware/relx/releases/tag/0.1.2