Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sql directory not included in hex release #3251

Closed
tonnenpinguin opened this issue May 4, 2020 · 1 comment
Closed

sql directory not included in hex release #3251

tonnenpinguin opened this issue May 4, 2020 · 1 comment

Comments

@tonnenpinguin
Copy link

tonnenpinguin commented May 4, 2020

Environment

  • ejabberd version: 20.4
  • Erlang version: Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6
  • OS: Linux (Ubuntu )
  • Installed from: hex

Bug description

The latest version released on hex (20.4) does not seem to include the sql directory, causing the following error to be thrown when trying to assemble a release:

==> Release packaging failed due to errors:
    ejabberd: Cannot add file _build/dev/rel/spice/lib/ejabberd-20.4.0/priv to tar file - _build/dev/rel/spice/lib/ejabberd-20.4.0/priv/sql: no such file or directory

The error isn't exactly right because the symlink ejabberd/priv/sql actually exists. However, the location it points to (../sql aka ejabberd/sql) does not.

It seems like this line might be the problem, but it was last changed 4 years ago. Does assembling a release within an umbrella application work for you guys or am I missing something obvious?

@tonnenpinguin tonnenpinguin changed the title sql directory not included in release sql directory not included in hex release May 4, 2020
@tonnenpinguin
Copy link
Author

tonnenpinguin commented May 5, 2020

I managed to get the release assembly to work by changing the dependency to git. However, this isn't great either as dependencies are not correctly resolved in the mix.lock file now.

@badlop badlop added this to the ejabberd 21.xx milestone Jul 11, 2021
badlop added a commit to badlop/ejabberd that referenced this issue Jul 14, 2021
*** Mejorado:

+ Add support for mix binary to: ./configure --enable-rebar=mix
+ Use config/runtime.exs instead of config.exs
+ Get version from vars.config
+ Sort applications list
+ Fix applications list to fix error "p1_utils is listed as both"
+ Sort package files
+ Add sql/ to package files (processone#3251)
+ Add vars.config to package files, so version and cond_deps can be get from there
+ Add support for releases

+ Ya puede iniciarse desde cualquier sitio
+ You puede usarse tanto ejabberd como ejabberdctl
+ ya usan el mismo nodename y cookie
+ Permite "make dev" con mix

*** Cosas por hacer:

- el :tar no incluye los ficheros que he copiado con copy_extra_files

*** Para compilar ejabberd usando mix:

./autogen.sh
./configure --with-rebar=mix --enable-all
make
make rel
_build/prod/rel/ejabberd/bin/ejabberd start_iex

o bien:
_build/prod/rel/ejabberd/bin/ejabberdctl live

*** Para preparar un package hex:

./autogen.sh
./configure --with-rebar=mix --enable-all
mix hex.publish --dry-run
mix hex.build --unpack; mv ejabberd-21* ..
badlop added a commit to badlop/ejabberd that referenced this issue Jul 14, 2021
*** Mejorado:

+ Add support for mix binary to: ./configure --enable-rebar=mix
+ Use config/runtime.exs instead of config.exs
+ Get version from vars.config
+ Sort applications list
+ Fix applications list to fix error "p1_utils is listed as both"
+ Sort package files
+ Add sql/ to package files (processone#3251)
+ Add vars.config to package files, so version and cond_deps can be get from there
+ Add support for releases

+ Ya puede iniciarse desde cualquier sitio
+ You puede usarse tanto ejabberd como ejabberdctl
+ ya usan el mismo nodename y cookie
+ Permite "make dev" con mix

*** Cosas por hacer:

- el :tar no incluye los ficheros que he copiado con copy_extra_files

*** Para compilar ejabberd usando mix:

./autogen.sh
./configure --with-rebar=mix --enable-all
make
make rel
_build/prod/rel/ejabberd/bin/ejabberd start_iex

o bien:
_build/prod/rel/ejabberd/bin/ejabberdctl live

o bien:
make dev
_build/dev/rel/ejabberd/bin/ejabberd start_iex
_build/dev/rel/ejabberd/bin/ejabberdctl live

*** Para preparar un package hex:

./autogen.sh
./configure --with-rebar=mix --enable-all
mix hex.publish --dry-run
mix hex.build --unpack; mv ejabberd-21* ..
badlop added a commit that referenced this issue Jul 16, 2021
@badlop badlop closed this as completed Jul 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants