Hi Alvin, have you had a chance to test out their packaging approach
yet?  I'm really curious why it would work where ours doesn't, and
despite digging through it this morning am still perplexed.

I dug through their packaging to try and understand why it works where
ours doesn't, but didn't spot anything obvious.  I verified we're using
the same orig.tar.xz archive as provided by them:

  3b2e7514a016a81859443723f6be514b  ../upstream/rabbitmq-server-3.6.10.tar.xz
  3b2e7514a016a81859443723f6be514b  ../bionic/rabbitmq-server_3.6.10.orig.tar.xz

But we can see the %%VSN%% is not substituted in the production of these
archives:

  upstream/rabbitmq-server-3.6.10$ grep -sr %%VSN *
  deps/rabbitmq_management/Makefile:    $(verbose) sed 
's/%%VSN%%/$(PROJECT_VERSION)/' bin/rabbitmqadmin
 deps/rabbitmq_management/bin/rabbitmqadmin:VERSION = '%%VSN%%'

You can see this is still true in the 3.7.9 package:

   https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.9/

  rabbitmq-server-3.7.9$ grep %%VSN -sr .
  ./deps/rabbitmq_management/Makefile:  $(verbose) sed 
's/%%VSN%%/$(PROJECT_VERSION)/' bin/rabbitmqadmin \
  ./deps/rabbitmq_management/bin/rabbitmqadmin:VERSION = '%%VSN%%'

Normally, like with C++ projects, the 'dist' target is what you run to
create the release tarball, so is only pertinent to upstream and not
supposed to be used for debian packaging.  From the name, I would expect
this same to be true with a target named 'prepare-dist' as well.
Indeed, digging through their makefiles I found this comment:

  # If the application's Makefile defines a `list-dist-deps` target, we         
                                                              
  # use it to populate the dependencies list. This is useful when the           
                                                              
  # application has also a `prepare-dist` target to modify the created          
                                                              
  # tree before we make an archive out of it.

That makes me think that their intention is indeed that prepare-dist is
intended to run *prior* to making the archive (i.e. tarball) of it.  But
since rabbitmqadmin still shows %%VSN%% for version in the rabbitmqadmin
script from the tarball posted on rabbitmq's website, I don't know if
it's just a bug in the release process, or if I've misunderstood
something.

I wondered if perhaps the `rabbitmq-plugins enable rabbitmq_management`
they mention does a VSN substitution, however in reviewing that code I
didn't see a step that does that.

It would be useful to know if upstream intends for the rabbitmqadmin in
their release tarballs to have %%VSN%% as the value for VERSION, or if
that should be showing the actual version number.  Assuming the former,
then question #2 is whether they intend the prepare-dist target to be
used in the production of the release archive (e.g. like in a
traditional 'make dist'), or if that is intended to be run by the
packager/user (e.g. like as part of the 'make && make install' step).

I hope what I've written is sensible.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1773324

Title:
  [SRU] rabbitmqadmin shows %%VSN%% as version

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rabbitmq-server/+bug/1773324/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to