[qemu/f18] add libcacard, -25
Alon Levy
alon at fedoraproject.org
Mon Dec 3 09:52:47 UTC 2012
commit d1c1d00a453b90bba19eb588c112ff11028155e8
Author: Alon Levy <alevy at redhat.com>
Date: Mon Dec 3 11:52:36 2012 +0200
add libcacard, -25
...acard-fix-missing-symbols-in-libcacard.so.patch | 25 +++++
...ure-move-vscclient-binary-under-libcacard.patch | 93 ++++++++++++++++++++
qemu.spec | 59 ++++++++++++-
3 files changed, 175 insertions(+), 2 deletions(-)
---
diff --git a/1001-libcacard-fix-missing-symbols-in-libcacard.so.patch b/1001-libcacard-fix-missing-symbols-in-libcacard.so.patch
new file mode 100644
index 0000000..7fcf77b
--- /dev/null
+++ b/1001-libcacard-fix-missing-symbols-in-libcacard.so.patch
@@ -0,0 +1,25 @@
+From 3bf390b736e7befd0fbcd252ef5ac6dffd26cf03 Mon Sep 17 00:00:00 2001
+From: Alon Levy <alevy at redhat.com>
+Date: Wed, 28 Nov 2012 16:38:43 +0200
+Subject: [PATCH] libcacard: fix missing symbols in libcacard.so
+
+---
+ libcacard/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libcacard/Makefile b/libcacard/Makefile
+index 63990b7..58e5731 100644
+--- a/libcacard/Makefile
++++ b/libcacard/Makefile
+@@ -7,7 +7,7 @@ libcacard_includedir=$(includedir)/cacard
+ $(call set-vpath, $(SRC_PATH))
+
+ # objects linked into a shared library, built with libtool with -fPIC if required
+-QEMU_OBJS=$(oslib-obj-y) qemu-timer-common.o $(trace-obj-y)
++QEMU_OBJS=$(oslib-obj-y) qemu-timer-common.o iov.o cutils.o qemu-user.o $(trace-obj-y)
+ QEMU_OBJS_LIB=$(patsubst %.o,%.lo,$(QEMU_OBJS))
+
+ QEMU_CFLAGS+=-I../
+--
+1.8.0
+
diff --git a/1002-configure-move-vscclient-binary-under-libcacard.patch b/1002-configure-move-vscclient-binary-under-libcacard.patch
new file mode 100644
index 0000000..31ac7b2
--- /dev/null
+++ b/1002-configure-move-vscclient-binary-under-libcacard.patch
@@ -0,0 +1,93 @@
+From 373d00412f13f280619fd161e780cd5da5dfc1a3 Mon Sep 17 00:00:00 2001
+From: Alon Levy <alevy at redhat.com>
+Date: Thu, 29 Nov 2012 14:11:19 +0200
+Subject: [PATCH] configure: move vscclient binary under libcacard
+
+build rule is in top level Makefile like other tools.
+
+build rule also exists in libcacard for installation purposes. This was
+fixed in a better way in 1.3.0-rc2
+---
+ Makefile | 4 ++--
+ Makefile.objs | 11 ++++++-----
+ configure | 2 +-
+ libcacard/Makefile | 6 +++++-
+ 4 files changed, 14 insertions(+), 9 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index dd11e3c..13c1693 100644
+--- a/Makefile
++++ b/Makefile
+@@ -168,8 +168,8 @@ qemu-io$(EXESUF): qemu-io.o cmd.o $(tools-obj-y) $(block-obj-y)
+
+ qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o
+
+-vscclient$(EXESUF): $(libcacard-y) $(oslib-obj-y) $(trace-obj-y) $(tools-obj-y) qemu-timer-common.o libcacard/vscclient.o
+- $(call quiet-command,$(CC) $(LDFLAGS) -o $@ $^ $(libcacard_libs) $(LIBS)," LINK $@")
++libcacard/vscclient$(EXESUF): $(libcacard-y) $(oslib-obj-y) $(trace-obj-y) qemu-timer-common.o iov.o cutils.o qemu-user.o libcacard/vscclient.o
++libcacard/vscclient$(EXESUF): LIBS += $(libcacard_libs)
+
+ fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/virtio-9p-marshal.o oslib-posix.o $(trace-obj-y)
+ fsdev/virtfs-proxy-helper$(EXESUF): LIBS += -lcap
+diff --git a/Makefile.objs b/Makefile.objs
+index 4412757..92d6b4a 100644
+--- a/Makefile.objs
++++ b/Makefile.objs
+@@ -206,11 +206,12 @@ $(trace-obj-y): $(GENERATED_HEADERS)
+ ######################################################################
+ # smartcard
+
+-libcacard-y += libcacard/cac.o libcacard/event.o
+-libcacard-y += libcacard/vcard.o libcacard/vreader.o
+-libcacard-y += libcacard/vcard_emul_nss.o
+-libcacard-y += libcacard/vcard_emul_type.o
+-libcacard-y += libcacard/card_7816.o
++libcacard-base-y += cac.o event.o
++libcacard-base-y += vcard.o vreader.o
++libcacard-base-y += vcard_emul_nss.o
++libcacard-base-y += vcard_emul_type.o
++libcacard-base-y += card_7816.o
++libcacard-y = $(addprefix libcacard/,$(libcacard-base-y))
+
+ common-obj-$(CONFIG_SMARTCARD_NSS) += $(libcacard-y)
+
+diff --git a/configure b/configure
+index 950912a..64b8aa7 100755
+--- a/configure
++++ b/configure
+@@ -3073,7 +3073,7 @@ if test "$softmmu" = yes ; then
+ fi
+ fi
+ if test "$smartcard_nss" = "yes" ; then
+- tools="vscclient\$(EXESUF) $tools"
++ tools="libcacard/vscclient\$(EXESUF) $tools"
+ fi
+ fi
+
+diff --git a/libcacard/Makefile b/libcacard/Makefile
+index 9ce3117..88ed064 100644
+--- a/libcacard/Makefile
++++ b/libcacard/Makefile
+@@ -44,6 +44,10 @@ libcacard.pc: $(libcacard_srcpath)/libcacard.pc.in
+ < $(libcacard_srcpath)/libcacard.pc.in > libcacard.pc,\
+ " GEN $@")
+
++VSCCLIENT_QEMU_OBJS=$(addprefix ../,$(oslib-obj-y) $(trace-obj-y) qemu-timer-common.o iov.o cutils.o qemu-user.o)
++vscclient$(EXESUF): $(VSCCLIENT_QEMU_OBJS) $(libcacard-base-y) vscclient.o
++vscclient$(EXESUF): LIBS += $(libcacard_libs)
++
+ .PHONY: install-libcacard
+
+ install-libcacard: libcacard.pc libcacard.la vscclient
+@@ -51,7 +55,7 @@ install-libcacard: libcacard.pc libcacard.la vscclient
+ $(INSTALL_DIR) "$(DESTDIR)$(libdir)/pkgconfig"
+ $(INSTALL_DIR) "$(DESTDIR)$(libcacard_includedir)"
+ $(INSTALL_DIR) "$(DESTDIR)$(bindir)"
+- $(LIBTOOL) --mode=install $(INSTALL_PROG) vscclient "$(DESTDIR)$(bindir)"
++ $(LIBTOOL) --mode=install $(INSTALL_PROG) vscclient$(EXESUF) "$(DESTDIR)$(bindir)"
+ $(LIBTOOL) --mode=install $(INSTALL_DATA) libcacard.la "$(DESTDIR)$(libdir)"
+ $(LIBTOOL) --mode=install $(INSTALL_DATA) libcacard.pc "$(DESTDIR)$(libdir)/pkgconfig"
+ for inc in *.h; do \
+--
+1.8.0.1
+
diff --git a/qemu.spec b/qemu.spec
index c6c0002..b2eed16 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -109,7 +109,7 @@
Summary: QEMU is a FAST! processor emulator
Name: qemu
Version: 1.2.0
-Release: 24%{?dist}
+Release: 25%{?dist}
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
Epoch: 2
License: GPLv2+ and LGPLv2+ and BSD
@@ -485,6 +485,10 @@ Patch804: 0804-wip-hw-qxl-inject-interrupts-in-any-state.patch
# 38f419f (configure: Fix CONFIG_QEMU_HELPERDIR generation, 2012-10-17)
Patch805: 0805-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch
+# libcacard
+Patch1001: 1001-libcacard-fix-missing-symbols-in-libcacard.so.patch
+Patch1002: 1002-configure-move-vscclient-binary-under-libcacard.patch
+
BuildRequires: SDL-devel
BuildRequires: zlib-devel
BuildRequires: which
@@ -902,6 +906,29 @@ This package contains some diagnostics and debugging tools for KVM,
such as kvm_stat.
%endif
+%package -n libcacard
+Summary: Common Access Card (CAC) Emulation
+Group: Development/Libraries
+
+%description -n libcacard
+Common Access Card (CAC) emulation library.
+
+%package -n libcacard-tools
+Summary: CAC Emulation tools
+Group: Development/Libraries
+Requires: libcacard = %{epoch}:%{version}-%{release}
+
+%description -n libcacard-tools
+CAC emulation tools.
+
+%package -n libcacard-devel
+Summary: CAC Emulation devel
+Group: Development/Libraries
+Requires: libcacard = %{epoch}:%{version}-%{release}
+
+%description -n libcacard-devel
+CAC emulation development files.
+
%prep
%setup -q -n qemu-kvm-%{version}
@@ -1227,6 +1254,10 @@ such as kvm_stat.
%patch804 -p1
%patch805 -p1
+# libcacard
+%patch1001 -p1
+%patch1002 -p1
+
%build
%if %{with kvmonly}
buildarch="%{kvm_target}-softmmu"
@@ -1260,6 +1291,7 @@ sed -i.debug 's/"-g $CFLAGS"/"$CFLAGS"/g' configure
dobuild() {
./configure \
--prefix=%{_prefix} \
+ --libdir=%{_libdir} \
--sysconfdir=%{_sysconfdir} \
--interp-prefix=%{_prefix}/qemu-%%M \
--audio-drv-list=pa,sdl,alsa,oss \
@@ -1293,6 +1325,8 @@ dobuild() {
echo "==="
make V=1 %{?_smp_mflags} $buildldflags
+ make V=1 %{?_smp_mflags} $buildldflags libcacard.la
+ make V=1 %{?_smp_mflags} $buildldflags libcacard/vscclient
}
# This is kind of confusing. We run ./configure + make twice here to
@@ -1488,6 +1522,10 @@ install -m 0644 %{SOURCE11} $RPM_BUILD_ROOT%{_udevdir}
install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/qemu
chmod u+s $RPM_BUILD_ROOT%{_libexecdir}/qemu-bridge-helper
+make %{?_smp_mflags} $buildldflags DESTDIR=$RPM_BUILD_ROOT install-libcacard
+find $RPM_BUILD_ROOT -name '*.la' -or -name '*.a' | xargs rm -f
+find $RPM_BUILD_ROOT -name "libcacard.so*" -exec chmod +x \{\} \;
+
%check
make check
@@ -1570,7 +1608,6 @@ fi
%doc %{qemudocdir}/LICENSE
%dir %{_datadir}/%{name}/
%{_datadir}/%{name}/keymaps/
-%{_bindir}/vscclient
%{_mandir}/man1/qemu.1*
%{_mandir}/man1/virtfs-proxy-helper.1*
%{_bindir}/virtfs-proxy-helper
@@ -1821,7 +1858,25 @@ fi
%{_mandir}/man1/qemu-img.1*
%{_mandir}/man8/qemu-nbd.8*
+
+%files -n libcacard
+%defattr(-,root,root,-)
+%{_libdir}/libcacard.so.*
+
+%files -n libcacard-tools
+%defattr(-,root,root,-)
+%{_bindir}/vscclient
+
+%files -n libcacard-devel
+%defattr(-,root,root,-)
+%{_includedir}/cacard
+%{_libdir}/libcacard.so
+%{_libdir}/pkgconfig/libcacard.pc
+
%changelog
+* Wed Nov 28 2012 Alon Levy <alevy at redhat.com> - 2:1.2.0-25
+* Merge libcacard into qemu, since they both use the same sources now.
+
* Thu Nov 22 2012 Paolo Bonzini <pbonzini at redhat.com> - 2:1.2.0-24
- Move vscclient to qemu-common, qemu-nbd to qemu-img
More information about the scm-commits
mailing list