On Fri, Jun 24, 2011 at 05:32:39PM -0400, Chuck Martin email@example.com wrote:
After a little experimentation, it seems lv2config needs to be run during
the installation of the package, rather than during the creation of the
package. This seems like a very bad way of doing it. It means that
there are two directories and a symlink that are installed, but that
aren't in the list of files the package manager knows to be a part of
the package, so if the package is ever removed, those extra directories
and symlink are left behind.
I found a way around this, but it isn't pretty, because it involves
building the package twice. During the first build, I run lv2config,
which doesn't find the lv2.h header file where it expects to find it, so
it does nothing. I then install this version, but I don't run lv2config
after installing. I then build the package a second time, and this time
when I run lv2config, it finds the header file where it expects to find
it, so it creates usr/include/lv2plug.in and usr/include/lv2plug.in/ns
in the directory where I'm building the package (it does this because
I run lv2config as "lv2config $PKG/usr/include"), and also creates
usr/include/lv2plug.in/lv2core as a symlink to /usr/lib64/lv2/lv2core.lv2,
where lv2.h has already been installed from the first incomplete build.
This all becomes a part of the rebuilt package, so I can then either use
removepkg to remove the first version without the two extra directories
and the symlink, and then install the corrected version with installpkg,
or I can use upgradepkg to replace it in one step. This seems like a
very kludgey way to do it, but it's the only way to make sure that it
will remove cleanly if I ever decide to do so.
What's the purpose of creating the extra subdirectories and symlink,
anyway, if the header file has already been installed in both
/usr/include/ and /usr/lib64/lv2/lv2core.lv2/? And why is it installed
twice in the first place? Isn't once enough?
Linux-audio-user mailing list