Search
SailfishOS Open Build Service
>
Projects
>
home:LiuQian
:
makes
>
qemu
> qemu.spec
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File qemu.spec of Package qemu
Name: qemu VCS: platform/upstream/qemu#065b007a1b3c516b3c7f12c360dd2dcdeb4ac0c8 Url: http://www.qemu.org/ Summary: Universal CPU emulator Group: System/Utilities Version: 2.2.0 Release: 0 License: GPLv3+ Source: %name-%version.tar.bz2 # this is to make lint happy Source300: rpmlintrc Source302: bridge.conf Source303: baselibs.conf Source400: update_git.sh # Patches auto-generated by git-buildpackage: Patch0: 0001-XXX-dont-dump-core-on-sigabort.patch Patch1: 0002-XXX-work-around-SA_RESTART-race-with-boehm-gc-ARM-on.patch Patch2: 0003-qemu-0.9.0.cvs-binfmt.patch Patch3: 0004-qemu-cvs-alsa_bitfield.patch Patch4: 0005-qemu-cvs-alsa_ioctl.patch.gz Patch5: 0006-qemu-cvs-alsa_mmap.patch Patch6: 0007-qemu-cvs-gettimeofday.patch Patch7: 0008-qemu-cvs-ioctl_debug.patch Patch8: 0009-qemu-cvs-ioctl_nodirection.patch Patch9: 0010-block-vmdk-Support-creation-of-SCSI-VMDK-images-in-q.patch Patch10: 0011-linux-user-add-binfmt-wrapper-for-argv-0-handling.patch Patch11: 0012-PPC-KVM-Disable-mmu-notifier-check.patch Patch12: 0013-linux-user-fix-segfault-deadlock.patch Patch13: 0014-linux-user-binfmt-support-host-binaries.patch Patch14: 0015-target-arm-linux-user-no-tb_flush-on-reset.patch Patch15: 0016-linux-user-Ignore-broken-loop-ioctl.patch Patch16: 0017-linux-user-lock-tcg.patch Patch17: 0018-linux-user-Run-multi-threaded-code-on-a-single-core.patch Patch18: 0019-linux-user-lock-tb-flushing-too.patch Patch19: 0020-linux-user-Fake-proc-cpuinfo.patch Patch20: 0021-linux-user-implement-FS_IOC_GETFLAGS-ioctl.patch Patch21: 0022-linux-user-implement-FS_IOC_SETFLAGS-ioctl.patch Patch22: 0023-linux-user-XXX-disable-fiemap.patch Patch23: 0024-slirp-nooutgoing.patch Patch24: 0025-vnc-password-file-and-incoming-connections.patch Patch25: 0026-linux-user-add-more-blk-ioctls.patch Patch26: 0027-linux-user-use-target_ulong.patch Patch27: 0028-block-Add-support-for-DictZip-enabled-gzip-files.patch Patch28: 0029-block-Add-tar-container-format.patch Patch29: 0030-Legacy-Patch-kvm-qemu-preXX-dictzip3.patch.patch Patch30: 0031-Legacy-Patch-kvm-qemu-preXX-report-default-mac-used..patch Patch31: 0032-console-add-question-mark-escape-operator.patch Patch32: 0033-Make-char-muxer-more-robust-wrt-small-FIFOs.patch Patch33: 0034-linux-user-lseek-explicitly-cast-non-set-offsets-to-.patch Patch34: 0035-virtfs-proxy-helper-Provide-__u64-for-broken-sys-cap.patch Patch35: 0036-configure-Enable-PIE-for-ppc-and-ppc64-hosts.patch Patch36: 0037-qtest-Increase-socket-timeout.patch Patch37: 0038-virtfs-proxy-helper.c-fix-compile-error.patch Patch38: 0039-enable-32-bit-qemu-for-Tizen.patch Patch39: 0040-Force-pread64-pwrite64-to-return-0-for-zero-length-b.patch Patch40: 0041-Fix-emulation-of-splice-syscall.patch #BuildRequires: bison #BuildRequires: curl-devel #BuildRequires: e2fsprogs-devel BuildRequires: libattr-devel BuildRequires: libcap-devel #BuildRequires: libcap-ng-devel #BuildRequires: libgnutls-devel #BuildRequires: libjpeg-devel #BuildRequires: libpng-devel #BuildRequires: ncurses-devel # we must not install the qemu package when under qemu build #%if 0%{?qemu_user_space_build:1} #BuildRequires: -post-build-checks #%endif BuildRequires: pkgconfig(ext2fs) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(zlib) BuildRequires: bison BuildRequires: curl-devel BuildRequires: zlib-static BuildRequires: glibc-static BuildRequires: python-devel BuildRequires: glib2-static BuildRequires: pcre-static #BuildRequires: zlib-static #BuildRequires: glibc-static #BuildRequires: libattr-devel #BuildRequires: glib2-static #BuildRequires: pcre-devel BuildRequires: fdupes #BuildRequires: glib2-devel #BuildRequires: pwdutils #BuildRequires: python-devel #BuildRequires: pkgconfig #Requires: /usr/sbin/groupadd #Requires: pwdutils #Requires: timezone %description QEMU is an extremely well-performing CPU emulator that allows you to choose between simulating an entire system and running userspace binaries for different architectures under your native operating system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well as PC and PowerMac systems. %package tools Summary: Universal CPU emulator -- Tools Provides: qemu:%_libexecdir/qemu-bridge-helper %description tools QEMU is an extremely well-performing CPU emulator that allows you to choose between simulating an entire system and running userspace binaries for different architectures under your native operating system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well as PC and PowerMac systems. This sub-package contains various tools, including a bridge helper. %package guest-agent Summary: Universal CPU emulator -- Guest agent Provides: qemu:%_bindir/qemu-ga %description guest-agent QEMU is an extremely well-performing CPU emulator that allows you to choose between simulating an entire system and running userspace binaries for different architectures under your native operating system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well as PC and PowerMac systems. This sub-package contains the guest agent. %package linux-user Summary: Universal CPU emulator -- Linux User binaries Provides: qemu:%_bindir/qemu-arm %description linux-user QEMU is an extremely well-performing CPU emulator that allows you to choose between simulating an entire system and running userspace binaries for different architectures under your native operating system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well as PC and PowerMac systems. This sub-package contains statically linked binaries for running linux-user emulations. This can be used together with the OBS build script to run cross-architecture builds. %prep %setup -q -n %name-%version # 0001-XXX-dont-dump-core-on-sigabort.patch %patch0 -p1 # 0002-XXX-work-around-SA_RESTART-race-with-boehm-gc-ARM-on.patch %patch1 -p1 # 0003-qemu-0.9.0.cvs-binfmt.patch %patch2 -p1 # 0004-qemu-cvs-alsa_bitfield.patch %patch3 -p1 # 0005-qemu-cvs-alsa_ioctl.patch.gz %patch4 -p1 # 0006-qemu-cvs-alsa_mmap.patch %patch5 -p1 # 0007-qemu-cvs-gettimeofday.patch %patch6 -p1 # 0008-qemu-cvs-ioctl_debug.patch %patch7 -p1 # 0009-qemu-cvs-ioctl_nodirection.patch %patch8 -p1 # 0010-block-vmdk-Support-creation-of-SCSI-VMDK-images-in-q.patch %patch9 -p1 # 0011-linux-user-add-binfmt-wrapper-for-argv-0-handling.patch %patch10 -p1 # 0012-PPC-KVM-Disable-mmu-notifier-check.patch %patch11 -p1 # 0013-linux-user-fix-segfault-deadlock.patch %patch12 -p1 # 0014-linux-user-binfmt-support-host-binaries.patch %patch13 -p1 # 0015-target-arm-linux-user-no-tb_flush-on-reset.patch %patch14 -p1 # 0016-linux-user-Ignore-broken-loop-ioctl.patch %patch15 -p1 # 0017-linux-user-lock-tcg.patch %patch16 -p1 # 0018-linux-user-Run-multi-threaded-code-on-a-single-core.patch %patch17 -p1 # 0019-linux-user-lock-tb-flushing-too.patch %patch18 -p1 # 0020-linux-user-Fake-proc-cpuinfo.patch %patch19 -p1 # 0021-linux-user-implement-FS_IOC_GETFLAGS-ioctl.patch %patch20 -p1 # 0022-linux-user-implement-FS_IOC_SETFLAGS-ioctl.patch %patch21 -p1 # 0023-linux-user-XXX-disable-fiemap.patch %patch22 -p1 # 0024-slirp-nooutgoing.patch %patch23 -p1 # 0025-vnc-password-file-and-incoming-connections.patch %patch24 -p1 # 0026-linux-user-add-more-blk-ioctls.patch %patch25 -p1 # 0027-linux-user-use-target_ulong.patch %patch26 -p1 # 0028-block-Add-support-for-DictZip-enabled-gzip-files.patch %patch27 -p1 # 0029-block-Add-tar-container-format.patch %patch28 -p1 # 0030-Legacy-Patch-kvm-qemu-preXX-dictzip3.patch.patch %patch29 -p1 # 0031-Legacy-Patch-kvm-qemu-preXX-report-default-mac-used..patch %patch30 -p1 # 0032-console-add-question-mark-escape-operator.patch %patch31 -p1 # 0033-Make-char-muxer-more-robust-wrt-small-FIFOs.patch %patch32 -p1 # 0034-linux-user-lseek-explicitly-cast-non-set-offsets-to-.patch %patch33 -p1 # 0035-virtfs-proxy-helper-Provide-__u64-for-broken-sys-cap.patch %patch34 -p1 # 0036-configure-Enable-PIE-for-ppc-and-ppc64-hosts.patch %patch35 -p1 # 0037-qtest-Increase-socket-timeout.patch %patch36 -p1 # 0038-virtfs-proxy-helper.c-fix-compile-error.patch %patch37 -p1 # 0039-enable-32-bit-qemu-for-Tizen.patch %patch38 -p1 # 0040-Force-pread64-pwrite64-to-return-0-for-zero-length-b.patch %patch39 -p1 # 0041-Fix-emulation-of-splice-syscall.patch %patch40 -p1 %build export QEMU_OPT_FLAGS="$QEMU_OPT_FLAGS -Wno-error=type-limits" # build QEMU mkdir -p dynamic # build qemu-system ./configure --prefix=%_prefix \ --sysconfdir=%_sysconfdir \ --libexecdir=%_libexecdir \ --enable-curl \ --enable-virtfs \ --enable-attr \ --disable-linux-aio \ --extra-cflags="$QEMU_OPT_FLAGS" \ --enable-system \ --disable-linux-user \ --disable-sdl make %{?jobs:-j%jobs} V=1 mv *-softmmu/qemu-system-* dynamic mv qemu-io qemu-img qemu-nbd qemu-bridge-helper dynamic #mv qemu-img.1 qemu-nbd.8 dynamic mv qemu-ga dynamic mv fsdev/virtfs-proxy-helper dynamic make clean # build userland emus ./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \ --libexecdir=%_libexecdir \ --enable-linux-user \ --disable-system \ --enable-attr \ --static --disable-linux-aio \ --extra-cflags="$QEMU_OPT_FLAGS" \ make %{?jobs:-j%jobs} V=1 %install make install DESTDIR=$RPM_BUILD_ROOT rm -fr $RPM_BUILD_ROOT/%_datadir/doc install -m 755 dynamic/qemu-system-* $RPM_BUILD_ROOT/%_bindir install -m 755 dynamic/qemu-io $RPM_BUILD_ROOT/%_bindir install -m 755 dynamic/qemu-img $RPM_BUILD_ROOT/%_bindir install -m 755 dynamic/qemu-nbd $RPM_BUILD_ROOT/%_bindir install -m 755 dynamic/qemu-ga $RPM_BUILD_ROOT/%_bindir install -m 755 dynamic/virtfs-proxy-helper $RPM_BUILD_ROOT/%_bindir install -d -m 755 $RPM_BUILD_ROOT/%_sbindir install -m 755 scripts/qemu-binfmt-conf.sh $RPM_BUILD_ROOT/%_sbindir install -d -m 755 $RPM_BUILD_ROOT/%_libexecdir install -m 755 dynamic/qemu-bridge-helper $RPM_BUILD_ROOT/%_libexecdir install -d -m 755 $RPM_BUILD_ROOT/%_mandir/man1 install -D -m 644 %{SOURCE302} $RPM_BUILD_ROOT/%{_sysconfdir}/qemu/bridge.conf %ifnarch %ix86 x86_64 ln -sf ../../../emul/ia32-linux $RPM_BUILD_ROOT/usr/share/qemu/qemu-i386 %endif %ifnarch ia64 mkdir -p $RPM_BUILD_ROOT/emul/ia32-linux %endif ln -sf /%_bindir/qemu-aarch64 $RPM_BUILD_ROOT/%_bindir/qemu-arm64 ln -sf /%_bindir/qemu-aarch64-binfmt $RPM_BUILD_ROOT/%_bindir/qemu-arm64-binfmt %fdupes -s $RPM_BUILD_ROOT %clean rm -rf ${RPM_BUILD_ROOT} %pre %{_bindir}/getent group kvm >/dev/null || %{_sbindir}/groupadd -r kvm 2>/dev/null %{_bindir}/getent group qemu >/dev/null || %{_sbindir}/groupadd -r qemu 2>/dev/null %{_bindir}/getent passwd qemu >/dev/null || \ %{_sbindir}/useradd -r -g qemu -G kvm -d / -s /sbin/nologin \ -c "qemu user" qemu %files %defattr(-, root, root) %doc COPYING COPYING.LIB Changelog README VERSION %_bindir/qemu-system-* %_datadir/%name %ifnarch %ix86 x86_64 ia64 %dir /emul/ia32-linux %endif %dir %_sysconfdir/%name %config %_sysconfdir/%name/target-x86_64.conf %files tools %defattr(-, root, root) %_bindir/qemu-io %_bindir/qemu-img %_bindir/qemu-nbd %_bindir/virtfs-proxy-helper %verify(not mode) %_libexecdir/qemu-bridge-helper %dir %_sysconfdir/%name %config %_sysconfdir/%name/bridge.conf %files guest-agent %defattr(-, root, root) %attr(755,root,kvm) %_bindir/qemu-ga %files linux-user %defattr(-, root, root) %_bindir/qemu-alpha %_bindir/qemu-aarch64 %_bindir/qemu-arm64 %_bindir/qemu-arm %_bindir/qemu-armeb %_bindir/qemu-cris %_bindir/qemu-i386 %_bindir/qemu-m68k %_bindir/qemu-microblaze %_bindir/qemu-microblazeel %_bindir/qemu-mips %_bindir/qemu-mips64 %_bindir/qemu-mips64el %_bindir/qemu-mipsel %_bindir/qemu-mipsn32 %_bindir/qemu-mipsn32el %_bindir/qemu-or32 %_bindir/qemu-ppc64abi32 %_bindir/qemu-ppc64 %_bindir/qemu-ppc64le %_bindir/qemu-ppc %_bindir/qemu-s390x %_bindir/qemu-sh4 %_bindir/qemu-sh4eb %_bindir/qemu-sparc32plus %_bindir/qemu-sparc64 %_bindir/qemu-sparc %_bindir/qemu-unicore32 %_bindir/qemu-x86_64 %_bindir/qemu-*-binfmt %_sbindir/qemu-binfmt-conf.sh %changelog