Raku/nqp

*.moarvm files should be installed in /usr/lib/nqp and not in /usr/share/nqp/

dod38fr opened this issue · 5 comments

Hi

nqp Debian package is build with perl Configure.pl --backends=moar --prefix=/usr so all *.moarvm files land in /usr/share/nqp/:

/usr/share/nqp/lib
/usr/share/nqp/lib/MASTNodes.moarvm
/usr/share/nqp/lib/MASTOps.moarvm
...

But Debian quality tools are complaining:

N:    If the data in /usr/share is not architecture-independent, this is a
N:    Policy violation that should be fixed by moving the data elsewhere
N:    (usually /usr/lib).

As far as I recall, moarvm files are arch dependent so they should land un /usr/lib/nqp.

Is there a way to achieve this ?

All the best

Dod for Debian

I think .moarvm files are actually not arch dependent. In that respect they are pretty similar to Javas .class files.

Can someone more knowledgeable verify my claim?

niner commented

Correct, .moarvm files are architecture independent. Thus installation into /usr/share/nqp/ is correct according to the FHS.

For the record, nqp package used to be arch independent (i.e. one package is built to be deployed on all arches) until 2018.02.

The git log of the change to arch dependent shows:

generated moarvm files may not always be arch independent. It works most
of the time, but there's no guarantee.
Given the problem faced on big endian arches (rakudo build fails at the
first invocation of arch/all nqp), nqp is now a arch dependent packages
using the same arches as moarvm package.

Unfortunately, I cannot find my source. It was probably on IRC.

niner commented

You're right. I must split nqp package in nqp and nqp-data.

Thanks for the heads-up