relx relup, appups and dependencies

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

relx relup, appups and dependencies

David Welton-3
Hi,

I'm working on some inherited code that uses relx to manage releases,
and I've run into something that I'm not quite sure about:

In previous release - let's call it 1.0.0, say, I have

  {cowboy,          "1.0.0",  {git,
"git://github.com/extend/cowboy.git",             {tag,    "1.0.4"}}}

In my rebar.config

In the new one, 2.0.0 for the sake of argument, I have

  {cowboy,          "1.0.4",  {git,
"git://github.com/extend/cowboy.git",             {tag,    "1.0.4"}}},

When I run relx relup, it complains:

Could not open file erlapp/_rel/xxxxxxxxx/lib/cowboy-1.0.4/ebin/cowboy.appup

How are other people handling this?  I'm confident that cowboy is a
well behaving Erlang app, so I'm confident I should be able to do this
in my code without having to add anything to the cowboy code I've
checked out.

Thanks
--
David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: relx relup, appups and dependencies

David Welton-3
I should add:

The problem "goes away" if I don't specify the newer version in
relx.config - but then it doesn't seem to actually use the newer
version.

Also, various pieces of this system I have inherited are older (~2
years), so that *could* be relevant.

It looks like there may be some tools out there to help with this
("knit"?) - recommendations for what's worked for you would be
welcome.

Thanks
--
David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: relx relup, appups and dependencies

David Welton-3
Hi,

So I started looking at rebar and relx to see if there was anything to
be done, and it looks like rebar3 has a variety of dependencies that
can be hooked into.

The trick would be to

* Have a local directory with appups for the dependencies, so that
they can be managed as part of my project.
* Hook that copies those into the relevant directories in _rel when
it's time to make a relup.

This seems kind of hacky, and I feel like maybe I'm doing something
wrong, but not sure what.  Maybe no one actually uses relups?

--
David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: relx relup, appups and dependencies

zxq9-2
On 2017年09月25日 月曜日 10:43:22 David Welton wrote:
> This seems kind of hacky, and I feel like maybe I'm doing something
> wrong, but not sure what.  Maybe no one actually uses relups?

Tristan and Fred would have to verify this, but from what I've seen no, people who use rebar and erlang.mk do not do relups.

In my experience (having only seen three projects that were serious about using relups instead of restarts) projects that do relups use systools and relup. And the tooling isn't actually bad, it is just more complex because very few conveniences have been built into them (partly because "reasonable default" is a lot harder to pin down, and partly because, I think, most people who figure out reltool once have solved it for the life of their project, and forget that it was a PITA to straighten out initially).

-Craig
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: relx relup, appups and dependencies

Tristan Sloughter-4
Sadly not helpful to David right now, but discussing his issue with him
on irc made me want to finally suggest this patch for OTP:

https://github.com/erlang/otp/pull/1581

There is currently, as far as I know, no way to use release_handler to
switch to a new release without upgrades. This adds a new function to
release handler for switching to a new release without rebooting the VM.

I'm putting this here to see if anyone would actually use this -- I
can't argue that well for its inclusion since I'm all in on Kubernetes,
so wouldn't be using this anyway :)

--
  Tristan Sloughter
  "I am not a crackpot" - Abe Simpson
  [hidden email]

On Mon, Sep 25, 2017, at 11:02 AM, zxq9 wrote:

> On 2017年09月25日 月曜日 10:43:22 David Welton wrote:
> > This seems kind of hacky, and I feel like maybe I'm doing something
> > wrong, but not sure what.  Maybe no one actually uses relups?
>
> Tristan and Fred would have to verify this, but from what I've seen no,
> people who use rebar and erlang.mk do not do relups.
>
> In my experience (having only seen three projects that were serious about
> using relups instead of restarts) projects that do relups use systools
> and relup. And the tooling isn't actually bad, it is just more complex
> because very few conveniences have been built into them (partly because
> "reasonable default" is a lot harder to pin down, and partly because, I
> think, most people who figure out reltool once have solved it for the
> life of their project, and forget that it was a PITA to straighten out
> initially).
>
> -Craig
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions