diff options
author | sk7.park <sk7.park@samsung.com> | 2023-07-06 10:04:02 +0900 |
---|---|---|
committer | sk7.park <sk7.park@samsung.com> | 2023-07-06 10:43:46 +0900 |
commit | 64940c39946f8b10a3d5168e08abfe1d28c810da (patch) | |
tree | 894c52a3d745e664dbb52d88b0a3948dd782967a /packaging | |
parent | 42d85afb5622e7f32d108d53d19802d3b647ac89 (diff) | |
download | qemu-64940c39946f8b10a3d5168e08abfe1d28c810da.tar.gz qemu-64940c39946f8b10a3d5168e08abfe1d28c810da.tar.bz2 qemu-64940c39946f8b10a3d5168e08abfe1d28c810da.zip |
Build based on already-built binupstream/5.2.0.2accepted/tizen/base/test/20230707.025614
Change-Id: I628259ecc815d44e6aa332f5629f7df12a9e7147
Diffstat (limited to 'packaging')
-rw-r--r-- | packaging/baselibs.conf | 95 | ||||
-rw-r--r-- | packaging/bridge.conf | 11 | ||||
-rw-r--r-- | packaging/qemu-linux-user-5.2.0-2.1.x86_64.rpm | bin | 0 -> 12331976 bytes | |||
-rw-r--r-- | packaging/qemu-linux-user.spec | 112 | ||||
-rw-r--r-- | packaging/qemu.changes | 17 | ||||
-rw-r--r-- | packaging/qemu.spec | 216 | ||||
-rw-r--r-- | packaging/qemu.spec.in | 289 | ||||
-rw-r--r-- | packaging/qemu.spec.manifest | 5 | ||||
-rw-r--r-- | packaging/rpmlintrc | 5 | ||||
-rw-r--r-- | packaging/update_git.sh | 105 |
10 files changed, 202 insertions, 653 deletions
diff --git a/packaging/baselibs.conf b/packaging/baselibs.conf index dbe665759..1081132cf 100644 --- a/packaging/baselibs.conf +++ b/packaging/baselibs.conf @@ -1,8 +1,93 @@ -arch i686 targets armv7l:cross-arm aarch64:cross-arm -arch x86_64 targets armv7l:cross-arm aarch64:cross-arm +arch i586 targets armv7l:cross armv7hl:cross aarch64:cross riscv64:cross +arch i686 targets armv7l:cross armv7hl:cross aarch64:cross riscv64:cross +arch x86_64 targets armv7l:cross armv7hl:cross aarch64:cross riscv64:cross +arch i586 targets armv7l:x86-cross armv7hl:x86-cross aarch64:x86-cross riscv64:x86-cross +arch i686 targets armv7l:x86-cross armv7hl:x86-cross aarch64:x86-cross riscv64:x86-cross +arch x86_64 targets armv7l:x86_64-cross armv7hl:x86_64-cross aarch64:x86_64-cross riscv64:x86-cross +qemu-linux-user + +/ - -targettype cross-arm package qemu-linux-user +targettype cross package qemu-linux-user autoreqprov off - extension -cross +/ + post "function setbinfmt () {" + post " local arch=$1" + post " local fmt=$2" + post " local comp_fmt=$(echo ${fmt} | sed -e 's/.*:://;s/:[^:]$//;s/\\x//g')" + post " local curr_fmt=$(cat /proc/sys/fs/binfmt_misc/${arch} | sed -ne '/interpreter/{s/interpreter //;h};/magic/{s/magic //;H};/mask/{s/mask //;G;s/\([^\n]*\)\n\([^\n]*\)\n\([^\n]*\)/\3:\1:\2/p}')" + post " if ( [ ! -e "/proc/sys/fs/binfmt_misc/${arch}" ] || [ "x${comp_fmt}" != "x${curr_fmt}" ] ); then" + post " builtin echo -1 > "/proc/sys/fs/binfmt_misc/${arch}"" + post " builtin echo "${fmt}" > /proc/sys/fs/binfmt_misc/register" + post " fi" + post "}" + post "[ ! -d /proc/sys/fs/binfmt_misc ] && ( /sbin/modprobe binfmt_misc )" + post "[ ! -f /proc/sys/fs/binfmt_misc/register ] && ( mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc )" + post "[ -e /proc/sys/fs/binfmt_misc/arm64 ] && ( builtin echo -1 > /proc/sys/fs/binfmt_misc/arm64 )" + post "setbinfmt 'arm' ':arm:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-binfmt:P' " + post "setbinfmt 'armeb' ':armeb:M::\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb-binfmt:P'" + post "setbinfmt 'aarch64' ':aarch64:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-aarch64-binfmt:P'" + post "setbinfmt 'riscv64' ':riscv64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-riscv64-binfmt:P'" + post "# workaround for using ldd on non-pie executable causes segfault" + post "# ex) ldd /usr/bin/which" + post "# ldd: exited with unknown exit code (139)" + post "%ifarch aarch64" + post "echo 'export QEMU_GUEST_BASE=0x5500000000' > /etc/profile.d/qemu_base.sh" + post "chmod 755 /etc/profile.d/qemu_base.sh" + post "%endif" + +targettype x86_64-cross package qemu-linux-user + autoreqprov off + +/ + post "function setbinfmt () {" + post " local arch=$1" + post " local fmt=$2" + post " local comp_fmt=$(echo ${fmt} | sed -e 's/.*:://;s/:[^:]$//;s/\\x//g')" + post " local curr_fmt=$(cat /proc/sys/fs/binfmt_misc/${arch} | sed -ne '/interpreter/{s/interpreter //;h};/magic/{s/magic //;H};/mask/{s/mask //;G;s/\([^\n]*\)\n\([^\n]*\)\n\([^\n]*\)/\3:\1:\2/p}')" + post " if ( [ ! -e "/proc/sys/fs/binfmt_misc/${arch}" ] || [ "x${comp_fmt}" != "x${curr_fmt}" ] ); then" + post " builtin echo -1 > "/proc/sys/fs/binfmt_misc/${arch}"" + post " builtin echo "${fmt}" > /proc/sys/fs/binfmt_misc/register" + post " fi" + post "}" + post "[ ! -d /proc/sys/fs/binfmt_misc ] && ( /sbin/modprobe binfmt_misc )" + post "[ ! -f /proc/sys/fs/binfmt_misc/register ] && ( mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc )" + post "[ -e /proc/sys/fs/binfmt_misc/arm64 ] && ( builtin echo -1 > /proc/sys/fs/binfmt_misc/arm64 )" + post "setbinfmt 'arm' ':arm:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-binfmt:P' " + post "setbinfmt 'armeb' ':armeb:M::\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb-binfmt:P'" + post "setbinfmt 'aarch64' ':aarch64:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-aarch64-binfmt:P'" + post "setbinfmt 'riscv64' ':riscv64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-riscv64-binfmt:P'" + post "# workaround for using ldd on non-pie executable causes segfault" + post "# ex) ldd /usr/bin/which" + post "# ldd: exited with unknown exit code (139)" + post "%ifarch aarch64" + post "echo 'export QEMU_GUEST_BASE=0x5500000000' > /etc/profile.d/qemu_base.sh" + post "chmod 755 /etc/profile.d/qemu_base.sh" + post "%endif" + +targettype x86-cross package qemu-linux-user + autoreqprov off + +/ + post "function setbinfmt () {" + post " local arch=$1" + post " local fmt=$2" + post " local comp_fmt=$(echo ${fmt} | sed -e 's/.*:://;s/:[^:]$//;s/\\x//g')" + post " local curr_fmt=$(cat /proc/sys/fs/binfmt_misc/${arch} | sed -ne '/interpreter/{s/interpreter //;h};/magic/{s/magic //;H};/mask/{s/mask //;G;s/\([^\n]*\)\n\([^\n]*\)\n\([^\n]*\)/\3:\1:\2/p}')" + post " if ( [ ! -e "/proc/sys/fs/binfmt_misc/${arch}" ] || [ "x${comp_fmt}" != "x${curr_fmt}" ] ); then" + post " builtin echo -1 > "/proc/sys/fs/binfmt_misc/${arch}"" + post " builtin echo "${fmt}" > /proc/sys/fs/binfmt_misc/register" + post " fi" + post "}" + post "[ ! -d /proc/sys/fs/binfmt_misc ] && ( /sbin/modprobe binfmt_misc )" + post "[ ! -f /proc/sys/fs/binfmt_misc/register ] && ( mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc )" + post "[ -e /proc/sys/fs/binfmt_misc/arm64 ] && ( builtin echo -1 > /proc/sys/fs/binfmt_misc/arm64 )" + post "setbinfmt 'arm' ':arm:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-binfmt:P' " + post "setbinfmt 'armeb' ':armeb:M::\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb-binfmt:P'" + post "setbinfmt 'aarch64' ':aarch64:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-aarch64-binfmt:P'" + post "setbinfmt 'riscv64' ':riscv64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-riscv64-binfmt:P'" + post "# workaround for using ldd on non-pie executable causes segfault" + post "# ex) ldd /usr/bin/which" + post "# ldd: exited with unknown exit code (139)" + post "%ifarch aarch64" + post "echo 'export QEMU_GUEST_BASE=0x5500000000' > /etc/profile.d/qemu_base.sh" + post "chmod 755 /etc/profile.d/qemu_base.sh" + post "%endif" + diff --git a/packaging/bridge.conf b/packaging/bridge.conf deleted file mode 100644 index d06c62a33..000000000 --- a/packaging/bridge.conf +++ /dev/null @@ -1,11 +0,0 @@ -# Access control file for qemu bridge helper -# Syntax consists of: -# # comment (ignored) -# allow all -# allow <bridge_name> -# deny all -# deny <bridge_name> -# include /path/to/additional/ACL/file -# Users are blacklisted by default and 'deny' takes precedence over 'allow'. -# Including additional ACL files allows file access permissions to be used as -# a component of the policy to allow access or deny access to specific bridges. diff --git a/packaging/qemu-linux-user-5.2.0-2.1.x86_64.rpm b/packaging/qemu-linux-user-5.2.0-2.1.x86_64.rpm Binary files differnew file mode 100644 index 000000000..8a11b1e10 --- /dev/null +++ b/packaging/qemu-linux-user-5.2.0-2.1.x86_64.rpm diff --git a/packaging/qemu-linux-user.spec b/packaging/qemu-linux-user.spec new file mode 100644 index 000000000..2a5656385 --- /dev/null +++ b/packaging/qemu-linux-user.spec @@ -0,0 +1,112 @@ +# +# spec file for package qemu +# +# Copyright (c) 2021 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +# !! IMPORTANT !! See README.PACKAGING before modifying package in any way + +%define summary_string Machine emulator and virtualizer + +%define qemuver 5.2.0 +%define srcver 5.2.0 +%define sbver 1.14.0_0_g155821a +%define srcname qemu +Name: qemu-linux-user +VCS: platform/upstream/qemu#2d123e1fd1cdbb86bf15586a6867b8ac5b9b19c8 +URL: https://www.qemu.org/ +Summary: %{summary_string} +License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT +Group: System/Emulators/PC +Version: %qemuver +Release: 20.1 +Source: https://wiki.qemu.org/download/%{srcname}-%{srcver}.tar.xz +Source1001: qemu-linux-user-5.2.0-2.1.x86_64.rpm + +ExclusiveArch: x86_64 + +# Common BuildRequires listed here: +%if 0%{?qemu_user_space_build:1} +#!BuildIgnore: post-build-checks +%endif +#!BuildIgnore: build-compare + +%description +QEMU provides CPU emulation along with other related capabilities. This package +provides programs to run user space binaries and libraries meant for another +architecture. The syscall interface is intercepted and execution below the +syscall layer occurs on the native hardware and operating system. + +%prep +%setup -q +rpm2cpio %{SOURCE1001} | cpio -idv + +%build + +%check + +%install +mkdir -p %{buildroot}%_bindir +cp -r usr/bin/* %{buildroot}%_bindir/ +mkdir -p %{buildroot}%_sbindir +cp -r usr/sbin/* %{buildroot}%_sbindir/ + +%clean +rm -rf %{buildroot} + +%files +%defattr(-, root, root) +%doc COPYING COPYING.LIB Changelog README VERSION +%license COPYING COPYING.LIB LICENSE +%_bindir/qemu-aarch64 +%_bindir/qemu-aarch64_be +%_bindir/qemu-alpha +%_bindir/qemu-arm +%_bindir/qemu-armeb +%_bindir/qemu-cris +%_bindir/qemu-hppa +%_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-nios2 +%_bindir/qemu-or1k +%_bindir/qemu-ppc +%_bindir/qemu-ppc64 +%_bindir/qemu-ppc64le +%_bindir/qemu-riscv32 +%_bindir/qemu-riscv64 +%_bindir/qemu-s390x +%_bindir/qemu-sh4 +%_bindir/qemu-sh4eb +%_bindir/qemu-sparc +%_bindir/qemu-sparc32plus +%_bindir/qemu-sparc64 +%_bindir/qemu-x86_64 +%_bindir/qemu-xtensa +%_bindir/qemu-xtensaeb +%_bindir/qemu-binfmt +%_bindir/qemu-*-binfmt +# add compatibility symlinks +%_bindir/qemu-arm64 +%_bindir/qemu-*-static +%_sbindir/qemu-binfmt-conf.sh + diff --git a/packaging/qemu.changes b/packaging/qemu.changes deleted file mode 100644 index cd216d07a..000000000 --- a/packaging/qemu.changes +++ /dev/null @@ -1,17 +0,0 @@ -* Fri Sep 05 2014 Chanho Park <chanho61.park@samsung.com> upstream/2.1.0-41-g924386e -- Imported Upstream version 2.1.0 - -* Wed Aug 28 2013 Anas Nashif <anas.nashif@intel.com> submit/tizen/20130828.112706@2c24165 -- add baselibs.conf -- fixed group and license -- resetting manifest requested domain to floor - -* Sat May 11 2013 Anas Nashif <anas.nashif@intel.com> submit/tizen/20130509.183841@5388c0d -- Set license using %license - -* Wed Apr 17 2013 Patrick McCarty <patrick.mccarty@linux.intel.com> 1127a7e -- (TZPC-970) Enable SDL display support - -* Tue Jan 15 2013 Anas Nashif <anas.nashif@intel.com> upstream/1.3.0@4698b64 -- Update to 1.3 - diff --git a/packaging/qemu.spec b/packaging/qemu.spec deleted file mode 100644 index 0b3b5a569..000000000 --- a/packaging/qemu.spec +++ /dev/null @@ -1,216 +0,0 @@ -Name: qemu -Url: http://www.qemu.org/ -Summary: Universal CPU emulator -License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT -Group: System/Utilities -Version: 2.2.0 -Release: 0 -Source: %name-%version.tar.bz2 -# this is to make lint happy -Source300: rpmlintrc -Source302: bridge.conf -Source303: baselibs.conf -Source400: update_git.sh -BuildRequires: bison -#BuildRequires: curl-devel -BuildRequires: e2fsprogs-devel -BuildRequires: libattr-devel -#BuildRequires: libcap-devel -#BuildRequires: libcap-ng-devel -#BuildRequires: libgnutls-devel -#BuildRequires: libjpeg8-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: zlib-devel-static -BuildRequires: glibc-devel-static -BuildRequires: libattr-devel-static -BuildRequires: glib2-devel-static -BuildRequires: pcre-devel-static -BuildRequires: fdupes -BuildRequires: glib2-devel -#BuildRequires: pwdutils -BuildRequires: python -#BuildRequires: pkgconfig(sdl) -#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 - -%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-attr \ - --disable-linux-aio \ - --extra-cflags="$QEMU_OPT_FLAGS" \ - --enable-system \ - --disable-linux-user - -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 -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 -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 -%license COPYING -%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 -%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 diff --git a/packaging/qemu.spec.in b/packaging/qemu.spec.in deleted file mode 100644 index 57a2ba620..000000000 --- a/packaging/qemu.spec.in +++ /dev/null @@ -1,289 +0,0 @@ -# -# spec file for package qemu -# -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -Name: qemu -Url: http://www.qemu.org/ -Summary: Universal CPU emulator -License: BSD-3-Clause ; GPL-2.0+ ; LGPL-2.1+ ; MIT -Group: System/Emulators/PC -Version: 1.2.0 -Release: 0 -Source: %name-%version.tar.bz2 -PATCH_FILES -# this is to make lint happy -Source300: rpmlintrc -Source302: bridge.conf -Source400: update_git.sh -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: SDL-devel -BuildRequires: bison -BuildRequires: bluez-devel -BuildRequires: curl-devel -BuildRequires: cyrus-sasl-devel -BuildRequires: e2fsprogs-devel -BuildRequires: libaio -BuildRequires: libaio-devel -BuildRequires: libattr-devel -BuildRequires: libcap-devel -BuildRequires: libcap-ng-devel -BuildRequires: libgnutls-devel -BuildRequires: libjpeg-devel -BuildRequires: libpcap-devel -BuildRequires: libpng-devel -BuildRequires: mozilla-nss-devel >= 3.12.8 -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 -%if 0%{?suse_version} >= 1120 -BuildRequires: zlib-devel-static -%else -BuildRequires: zlib-devel -%endif -%if 0%{?suse_version} >= 1210 -BuildRequires: glibc-devel-static -BuildRequires: libattr-devel-static -BuildRequires: libfdt1-devel -%endif -%if 0%{?suse_version} >= 1140 -BuildRequires: glib2-devel-static -%endif -%if 0%{?suse_version} >= 1220 -BuildRequires: pcre-devel-static -%endif -%if 0%{?suse_version} >= 1130 -%ifarch %ix86 x86_64 -BuildRequires: libspice-server-devel -BuildRequires: spice-protocol-devel -%endif -%endif -%ifarch ppc ppc64 -#we need that for -M pseries support in SLES -BuildRequires: libfdt1-devel -%endif -BuildRequires: fdupes -BuildRequires: glib2-devel -BuildRequires: libvdeplug3-devel -BuildRequires: pwdutils -BuildRequires: python -Requires: /usr/sbin/groupadd -Requires: pwdutils -Requires: timezone -Recommends: qemu-tools - -%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 -Group: System/Emulators/PC -Provides: qemu:%_libexecdir/qemu-bridge-helper -PreReq: permissions - -%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 -Group: System/Emulators/PC -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 -Group: System/Emulators/PC -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 -PATCH_EXEC - -%build -# build QEMU -mkdir -p dynamic -# build qemu-system -./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \ - --libexecdir=%_libexecdir \ - --audio-card-list="ac97 es1370 sb16 cs4231a adlib gus" \ - --audio-drv-list="alsa sdl" --enable-mixemu --enable-vde \ - --enable-curl \ - --enable-virtfs \ - --extra-cflags="$QEMU_OPT_FLAGS" --enable-system --disable-linux-user \ -%if 0%{?suse_version} >= 1130 -%ifarch %ix86 x86_64 - --enable-spice -%else - --disable-spice -%endif -%else - --disable-spice -%endif -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{,.1} dynamic -make clean -# build userland emus -./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \ - --libexecdir=%_libexecdir \ - --enable-linux-user \ - --disable-system \ - --static --disable-linux-aio \ - --extra-cflags="$QEMU_OPT_FLAGS" -%if 0%{?suse_version} == 1140 -# -lrt needs to come after -lglib-2.0 to avoid undefined clock_gettime -sed -i "s/-lglib-2.0/-lglib-2.0 -lrt/" config-host.mak -%endif -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 -m 644 dynamic/qemu-img.1 $RPM_BUILD_ROOT/%_mandir/man1 -install -m 644 dynamic/virtfs-proxy-helper.1 $RPM_BUILD_ROOT/%_mandir/man1 -install -d -m 755 $RPM_BUILD_ROOT/%_mandir/man8 -install -m 644 dynamic/qemu-nbd.8 $RPM_BUILD_ROOT/%_mandir/man8 -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 -%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 - -%if 0%{?suse_version} >= 1130 -%post tools -%set_permissions %_libexecdir/qemu-bridge-helper - -%verifyscript tools -%verify_permissions %_libexecdir/qemu-bridge-helper -%endif - -%files -%defattr(-, root, root) -%doc COPYING COPYING.LIB Changelog README TODO VERSION qemu-doc.html qemu-tech.html -%_bindir/qemu-system-* -%doc %_mandir/man1/qemu.1.gz -%_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) -%doc %_mandir/man1/qemu-img.1.gz -%doc %_mandir/man1/virtfs-proxy-helper.1.gz -%doc %_mandir/man8/qemu-nbd.8.gz -%_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-arm -%_bindir/qemu-armeb -%_bindir/qemu-cris -%_bindir/qemu-i386 -%_bindir/qemu-m68k -%_bindir/qemu-microblaze -%_bindir/qemu-microblazeel -%_bindir/qemu-mips -%_bindir/qemu-mipsel -%_bindir/qemu-mipsn32 -%_bindir/qemu-mipsn32el -%_bindir/qemu-or32 -%_bindir/qemu-ppc64abi32 -%_bindir/qemu-ppc64 -%_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 diff --git a/packaging/qemu.spec.manifest b/packaging/qemu.spec.manifest deleted file mode 100644 index 017d22d3a..000000000 --- a/packaging/qemu.spec.manifest +++ /dev/null @@ -1,5 +0,0 @@ -<manifest> - <request> - <domain name="_"/> - </request> -</manifest> diff --git a/packaging/rpmlintrc b/packaging/rpmlintrc deleted file mode 100644 index 66f5a92d9..000000000 --- a/packaging/rpmlintrc +++ /dev/null @@ -1,5 +0,0 @@ -# This line is mandatory to access the configuration functions -from Config import * - -addFilter("arch-dependent-file-in-usr-share") - diff --git a/packaging/update_git.sh b/packaging/update_git.sh deleted file mode 100644 index 9583f1c8d..000000000 --- a/packaging/update_git.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/bash -e -# -# While updating versions of QEMU to 1.0 I got fed up with the -# quilt workflow and just put up a git tree that contains all -# the commits on top of a stable tarball. -# -# When updating this package, just either update the git tree -# below (use rebase!) or change the tree path and use your own -# -# That way we can easily rebase against the next stable release -# when it comes. - -GIT_TREE=git://github.com/openSUSE/qemu.git -GIT_LOCAL_TREE=~/git/qemu-opensuse -GIT_BRANCH=opensuse-2.0 -GIT_UPSTREAM_TAG=v2.0.0 -QEMU_TMP=/dev/shm/qemu-tmp - -restore_file_to_package() { -# If the processed file matches the previous one, move the previous -# one back in place, otherwise add the processed file. - - if cmp -s "$1" saved."$1"; then - osc mv --force saved."$1" "$1" - else - osc add "$1" - fi -} - -# save files in case they remain unchanged -if [ -e 0001-* ]; then - for i in 0*; do - osc mv $i saved.$i - done -fi -osc mv qemu.spec saved.qemu.spec -osc mv qemu-linux-user.spec saved.qemu-linux-user.spec - -# fetch all patches -rm -rf $QEMU_TMP -OSCDIR="$(pwd)" -if [ -d "$GIT_LOCAL_TREE" ]; then - git clone -ls $GIT_LOCAL_TREE $QEMU_TMP - cd $QEMU_TMP -else - git clone $GIT_TREE $QEMU_TMP - cd $QEMU_TMP - git remote add upstream git://git.qemu.org/qemu.git - git remote update -fi -git checkout $GIT_BRANCH -git format-patch -N $GIT_UPSTREAM_TAG -o "$OSCDIR" -QEMU_VERSION=`cat VERSION` -cd "$OSCDIR" -rm -rf $QEMU_TMP - -# cut off file name after 40 bytes, so we work around git version differences -# while at it, also remove the signature. -for i in 0*; do - PATCHNAME=${i%.patch} - PATCHNAME=${PATCHNAME:0:40}.patch - head -n $(expr $(wc -l $i | cut -d ' ' -f 1) - 3) $i > "$PATCHNAME.tmp" - rm "$i" - mv "$PATCHNAME.tmp" "$PATCHNAME" - restore_file_to_package "$PATCHNAME" -done - -# we have all patches as files now - generate the spec files! -for package in qemu qemu-linux-user; do - while IFS= read -r line; do - if [ "$line" = "PATCH_FILES" ]; then - for i in 0*; do - NUM=${i%%-*} - echo -e "Patch$NUM: $i" - done - elif [ "$line" = "PATCH_EXEC" ]; then - for i in 0*; do - NUM=${i%%-*} - echo "%patch$NUM -p1" - done - elif [ "$line" = "QEMU_VERSION" ]; then - echo "Version: $QEMU_VERSION" - elif [[ "$line" =~ ^Source: ]]; then - QEMU_TARBALL=qemu-`echo "$line" | cut -d '-' -f 2-` - VERSION_FILE=${QEMU_TARBALL%.tar.bz2}/roms/seabios/.version - SEABIOS_VERSION=`tar jxfO "$QEMU_TARBALL" "$VERSION_FILE"` - SEABIOS_VERSION=`echo $SEABIOS_VERSION | cut -d '-' -f 2` - echo "$line" - elif [ "$line" = "SEABIOS_VERSION" ]; then - echo "Version: $SEABIOS_VERSION" - else - echo "$line" - fi - done < $package.spec.in > $package.spec -done - -restore_file_to_package qemu.spec -restore_file_to_package qemu-linux-user.spec - -# remove any remaining saved files -files=(saved.*) -if [ -e "${files[0]}" ]; then - osc rm --force saved.* -fi - |