On 08/07/2012 07:47 AM, Xu He Jie wrote:
Hi, Deepak:
You need attend there is compile argument --enable-hooks. if
without --enable-hooks, some hooks will not compile and package.
I want my hook to be compiled and packaged without enabling --enable-hooks.
Just like how faqemu and vhostmd are being compiled and packaged today.
Please see my inline comment.
On 08/07/2012 12:08 AM, Deepak C Shetty wrote:
> Hello,
> I am creating a new hook for qemu cmdline support.
> Facing the below issue :
>
> Checking for unpackaged file(s): /usr/lib/rpm/check-files
> /root/rpmbuild/BUILDROOT/vdsm-4.10.0-0.255.gitc80d988.fc16.x86_64
> error: Installed (but unpackaged) file(s) found:
> /usr/libexec/vdsm/hooks/before_vm_start/50_qemucmdline
>
>
> RPM build errors:
> Installed (but unpackaged) file(s) found:
> /usr/libexec/vdsm/hooks/before_vm_start/50_qemucmdline
> make: *** [rpm] Error 1
>
>
> I am not a RPM expert, so looking for suggestions.
> I followed the steps that are done for faqemu and vhostmd hooks which
> are shipped today.
> But its not working.
> ============================================================
>
> Changes I made..
>
> diff --git a/configure.ac b/configure.ac
> index ec35a49..519ba88 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -199,6 +199,7 @@ AC_OUTPUT([
> vdsm_hooks/pincpu/Makefile
> vdsm_hooks/promisc/Makefile
> vdsm_hooks/qos/Makefile
> + vdsm_hooks/qemucmdline/Makefile
> vdsm_hooks/scratchpad/Makefile
> vdsm_hooks/smartcard/Makefile
> vdsm_hooks/smbios/Makefile
> diff --git a/vdsm.spec.in b/vdsm.spec.in
> index 60f49ff..3a24193 100644
> --- a/vdsm.spec.in
> +++ b/vdsm.spec.in
> @@ -260,6 +260,16 @@ BuildArch: noarch
> VDSM promiscuous mode let user define a VM interface that will capture
> all network traffic.
>
you can find '%if 0%{?with_hooks}' at line 728, it means your package
will be packaged with --enable-hooks.
I dont want this. I want my hook to be packaged, even when --enable-hook
is not given
> +%package hook-qemucmdline
> +Summary: QEMU cmdline hook for VDSM
> +BuildArch: noarch
> +Requires: vdsm
> +
> +%description hook-qemucmdline
> +Provides support for injecting QEMU cmdline via VDSM hook.
> +It exploits libvirt's qemu:commandline facility available in the
> +qemu xml namespace.
> +
> %package hook-qos
> Summary: QoS network in/out traffic support for VDSM
> BuildArch: noarch
> @@ -773,6 +783,11 @@ exit 0
> %attr (755,vdsm,kvm)
> %{_libexecdir}/%{vdsm_name}/hooks/after_vm_start/50_promisc
> %attr (755,vdsm,kvm)
> %{_libexecdir}/%{vdsm_name}/hooks/before_vm_destroy/50_promisc
>
> +%files hook-qemucmdline
> +%defattr(-, vdsm, kvm, -)
> +%doc COPYING
> +%attr (755,vdsm,kvm)
> %{_libexecdir}/%{vdsm_name}/hooks/before_vm_start/50_qemucmdline
> +
> %files hook-qos
> %defattr(-, vdsm, kvm, -)
> %attr (755,vdsm,kvm)
> %{_libexecdir}/%{vdsm_name}/hooks/before_vm_start/50_qos
> diff --git a/vdsm_hooks/Makefile.am b/vdsm_hooks/Makefile.am
> index 091cd73..e6a8280 100644
> --- a/vdsm_hooks/Makefile.am
> +++ b/vdsm_hooks/Makefile.am
> @@ -18,7 +18,7 @@
> # Refer to the README and COPYING files for full details of the license
> #
>
> -SUBDIRS = faqemu vhostmd
> +SUBDIRS = faqemu vhostmd qemucmdline
But there you added your hooks at here, it means it will be complie
and pakcage even without --enable-hooks.
Yes that is what i want.
you can add your hooks to:
# Additional hooks
if HOOKS
SUBDIRS += \
directlun \
fileinject \
floppy \
hostusb \
hugepages \
isolatedprivatevlan \
numa \
pincpu \
promisc \
qos \
scratchpad \
smartcard \
smbios \
sriov \
vmdisk
endif
But faqemu and vhostmd are not added here, but they are still packaged,
how ?