[libvirt] [PATCH 0/2] First round of out-of-tree build fixes

Michal Privoznik posted 2 patches 4 years, 5 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1573478022.git.mprivozn@redhat.com
src/Makefile.am                 | 7 ++-----
src/bhyve/Makefile.inc.am       | 4 ++--
src/esx/Makefile.inc.am         | 2 +-
src/hyperv/Makefile.inc.am      | 2 +-
src/interface/Makefile.inc.am   | 4 ++--
src/libxl/Makefile.inc.am       | 4 ++--
src/lxc/Makefile.inc.am         | 4 ++--
src/network/Makefile.inc.am     | 4 ++--
src/node_device/Makefile.inc.am | 8 ++++----
src/nwfilter/Makefile.inc.am    | 4 ++--
src/openvz/Makefile.inc.am      | 2 +-
src/phyp/Makefile.inc.am        | 2 +-
src/qemu/Makefile.inc.am        | 4 ++--
src/remote/Makefile.inc.am      | 2 +-
src/secret/Makefile.inc.am      | 4 ++--
src/storage/Makefile.inc.am     | 4 ++--
src/test/Makefile.inc.am        | 2 +-
src/vbox/Makefile.inc.am        | 4 ++--
src/vmware/Makefile.inc.am      | 2 +-
src/vz/Makefile.inc.am          | 4 ++--
20 files changed, 35 insertions(+), 38 deletions(-)
[libvirt] [PATCH 0/2] First round of out-of-tree build fixes
Posted by Michal Privoznik 4 years, 5 months ago
Some low hanging fruit here.

There are more serious issues that I yet have to figure out:
1) docs/ is broken. Just open any site from your build directory. Our
main.js lives in the source dir but we are trying to load it relative to
build dir

2) Generation of acl.html is broken - it assumes aclperms.htmlinc file
lives under $srcdir which is not true anymore => page that's generated
is useless

3) I've tried to update Gentoo live ebuild, but it failed to compile:

Making all in src
make[2]: Entering directory '/var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999_build/src'
...
/usr/bin/perl /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/access/genpolkit.pl < /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/access/viraccessperm.h > access/org.libvirt.api.policy || rm -f access/org.libvirt.api.policy
/usr/bin/perl -w /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/rpc/gendispatch.pl --mode=aclheader \
  remote REMOTE /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/remote/remote_protocol.x \
  > access/viraccessapicheck.h
/bin/sh: access/org.libvirt.api.policy: No such file or directory

The libvirt-9999_build/src/access dir doesn't exist (I'm surprised it
wasn't created automatically by autotools since src/ was). I'll have to
investigate further.


Michal Prívozník (2):
  src: Make check-aclrules work again
  make check-driverimpls work again

 src/Makefile.am                 | 7 ++-----
 src/bhyve/Makefile.inc.am       | 4 ++--
 src/esx/Makefile.inc.am         | 2 +-
 src/hyperv/Makefile.inc.am      | 2 +-
 src/interface/Makefile.inc.am   | 4 ++--
 src/libxl/Makefile.inc.am       | 4 ++--
 src/lxc/Makefile.inc.am         | 4 ++--
 src/network/Makefile.inc.am     | 4 ++--
 src/node_device/Makefile.inc.am | 8 ++++----
 src/nwfilter/Makefile.inc.am    | 4 ++--
 src/openvz/Makefile.inc.am      | 2 +-
 src/phyp/Makefile.inc.am        | 2 +-
 src/qemu/Makefile.inc.am        | 4 ++--
 src/remote/Makefile.inc.am      | 2 +-
 src/secret/Makefile.inc.am      | 4 ++--
 src/storage/Makefile.inc.am     | 4 ++--
 src/test/Makefile.inc.am        | 2 +-
 src/vbox/Makefile.inc.am        | 4 ++--
 src/vmware/Makefile.inc.am      | 2 +-
 src/vz/Makefile.inc.am          | 4 ++--
 20 files changed, 35 insertions(+), 38 deletions(-)

-- 
2.23.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 0/2] First round of out-of-tree build fixes
Posted by Daniel P. Berrangé 4 years, 5 months ago
On Mon, Nov 11, 2019 at 02:22:19PM +0100, Michal Privoznik wrote:
> Some low hanging fruit here.
> 
> There are more serious issues that I yet have to figure out:
> 1) docs/ is broken. Just open any site from your build directory. Our
> main.js lives in the source dir but we are trying to load it relative to
> build dir

When you "make install" the result should work correctly.

IOW, IIUC, We've only broken the ability to browse the website from
inside the build dir.

We could "build" the static files by simply cp'ing them from the
src dir

  for i in ../../docs/{js,fonts,logos}
  do
    cp -a $i .
  done

  for i in ../../docs/*.css
  do
    cp -a $i .
  done

The "make install" rule can then install the ones in the build
dir.

> 2) Generation of acl.html is broken - it assumes aclperms.htmlinc file
> lives under $srcdir which is not true anymore => page that's generated
> is useless
> 
> 3) I've tried to update Gentoo live ebuild, but it failed to compile:
> 
> Making all in src
> make[2]: Entering directory '/var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999_build/src'
> ...
> /usr/bin/perl /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/access/genpolkit.pl < /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/access/viraccessperm.h > access/org.libvirt.api.policy || rm -f access/org.libvirt.api.policy
> /usr/bin/perl -w /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/rpc/gendispatch.pl --mode=aclheader \
>   remote REMOTE /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/remote/remote_protocol.x \
>   > access/viraccessapicheck.h
> /bin/sh: access/org.libvirt.api.policy: No such file or directory
> 
> The libvirt-9999_build/src/access dir doesn't exist (I'm surprised it
> wasn't created automatically by autotools since src/ was). I'll have to
> investigate further.

I hit this problem when making the RPM uses a build!=src dir
originally.  I can't recall what I did to fix it though - it
was something annoyingly stupid though IIRC. Like a parallel
build happening when it shouldn't or something like that.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH 0/2] First round of out-of-tree build fixes
Posted by Michal Privoznik 4 years, 5 months ago
On 11/11/19 2:42 PM, Daniel P. Berrangé wrote:
> On Mon, Nov 11, 2019 at 02:22:19PM +0100, Michal Privoznik wrote:
>> Some low hanging fruit here.
>>


>> 3) I've tried to update Gentoo live ebuild, but it failed to compile:
>>
>> Making all in src
>> make[2]: Entering directory '/var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999_build/src'
>> ...
>> /usr/bin/perl /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/access/genpolkit.pl < /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/access/viraccessperm.h > access/org.libvirt.api.policy || rm -f access/org.libvirt.api.policy
>> /usr/bin/perl -w /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/rpc/gendispatch.pl --mode=aclheader \
>>    remote REMOTE /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/remote/remote_protocol.x \
>>    > access/viraccessapicheck.h
>> /bin/sh: access/org.libvirt.api.policy: No such file or directory
>>
>> The libvirt-9999_build/src/access dir doesn't exist (I'm surprised it
>> wasn't created automatically by autotools since src/ was). I'll have to
>> investigate further.
> 
> I hit this problem when making the RPM uses a build!=src dir
> originally.  I can't recall what I did to fix it though - it
> was something annoyingly stupid though IIRC. Like a parallel
> build happening when it shouldn't or something like that.

I've identified the issue. It's ebuild/eclass who disables 
dependency-tracking whenever possible. Gentoo developers claim it's for 
faster configure (because by default, gentoo does in-tree builds) and 
they are right. But what dependency tracking has to do with creating 
directories is beyond me.

Michal

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 0/2] First round of out-of-tree build fixes
Posted by Daniel P. Berrangé 4 years, 5 months ago
On Tue, Nov 12, 2019 at 02:22:23PM +0100, Michal Privoznik wrote:
> On 11/11/19 2:42 PM, Daniel P. Berrangé wrote:
> > On Mon, Nov 11, 2019 at 02:22:19PM +0100, Michal Privoznik wrote:
> > > Some low hanging fruit here.
> > > 
> 
> 
> > > 3) I've tried to update Gentoo live ebuild, but it failed to compile:
> > > 
> > > Making all in src
> > > make[2]: Entering directory '/var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999_build/src'
> > > ...
> > > /usr/bin/perl /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/access/genpolkit.pl < /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/access/viraccessperm.h > access/org.libvirt.api.policy || rm -f access/org.libvirt.api.policy
> > > /usr/bin/perl -w /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/rpc/gendispatch.pl --mode=aclheader \
> > >    remote REMOTE /var/tmp/portage/app-emulation/libvirt-9999/work/libvirt-9999/src/remote/remote_protocol.x \
> > >    > access/viraccessapicheck.h
> > > /bin/sh: access/org.libvirt.api.policy: No such file or directory
> > > 
> > > The libvirt-9999_build/src/access dir doesn't exist (I'm surprised it
> > > wasn't created automatically by autotools since src/ was). I'll have to
> > > investigate further.
> > 
> > I hit this problem when making the RPM uses a build!=src dir
> > originally.  I can't recall what I did to fix it though - it
> > was something annoyingly stupid though IIRC. Like a parallel
> > build happening when it shouldn't or something like that.
> 
> I've identified the issue. It's ebuild/eclass who disables
> dependency-tracking whenever possible. Gentoo developers claim it's for
> faster configure (because by default, gentoo does in-tree builds) and they
> are right. But what dependency tracking has to do with creating directories
> is beyond me.

Ahhhh yes, we did that for the RPM build too in commit
f96395e78eaccffbf128336382c74b1250f04032 having to pass
--enable-dependancy-tracking to override from RPM does by
default in %configure.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list