From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: development@lists.ipfire.org Subject: Re: [PATCH] New Addons: qemu-ga 6.0.1 second try Date: Sun, 16 Jan 2022 15:12:34 +0000 Message-ID: <2F042694-8ED3-4AC9-BEF5-DFAF890BE52E@ipfire.org> In-Reply-To: <20220114204132.29347-1-smooky@v16.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1992668996702004530==" List-Id: --===============1992668996702004530== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello Marcel, Thank you. This looks very good. Can=E2=80=99t complain. -Michael Reviewed-by: Michael Tremer > On 14 Jan 2022, at 20:41, smooky(a)v16.de wrote: >=20 >>>> https://www.qemu.org/ <<< >=20 > source =3D https://download.qemu.org/qemu-6.0.1.tar.xz >=20 > Hi @ all >=20 > I have the addon qemu-ga for people who virtualize IPFire and to read the s= tatus=20 > without having to install the whole qemu package. > Modified following Michael's suggestions. >=20 >=20 > Signed-off-by: Marcel Follert (Smooky) > --- > config/rootfiles/packages/qemu-ga | 2 + > lfs/qemu-ga | 103 ++++++++++++++++++++++++++++++ > make.sh | 1 + > src/initscripts/packages/qemu-ga | 38 +++++++++++ > src/paks/qemu-ga/install.sh | 34 ++++++++++ > src/paks/qemu-ga/uninstall.sh | 32 ++++++++++ > src/paks/qemu-ga/update.sh | 27 ++++++++ > 7 files changed, 237 insertions(+) > create mode 100644 config/rootfiles/packages/qemu-ga > create mode 100644 lfs/qemu-ga > create mode 100755 src/initscripts/packages/qemu-ga > create mode 100644 src/paks/qemu-ga/install.sh > create mode 100644 src/paks/qemu-ga/uninstall.sh > create mode 100644 src/paks/qemu-ga/update.sh >=20 > diff --git a/config/rootfiles/packages/qemu-ga b/config/rootfiles/packages/= qemu-ga > new file mode 100644 > index 000000000..78f368862 > --- /dev/null > +++ b/config/rootfiles/packages/qemu-ga > @@ -0,0 +1,2 @@ > +usr/bin/qemu-ga > +etc/rc.d/init.d/qemu-ga > diff --git a/lfs/qemu-ga b/lfs/qemu-ga > new file mode 100644 > index 000000000..791c5b4c1 > --- /dev/null > +++ b/lfs/qemu-ga > @@ -0,0 +1,103 @@ > +##########################################################################= ##### > +# = # > +# IPFire.org - A linux based firewall = # > +# Copyright (C) 2007-2022 IPFire Team = # > +# = # > +# This program is free software: you can redistribute it and/or modify = # > +# it under the terms of the GNU General Public License as published by = # > +# the Free Software Foundation, either version 3 of the License, or = # > +# (at your option) any later version. = # > +# = # > +# This program is distributed in the hope that it will be useful, = # > +# but WITHOUT ANY WARRANTY; without even the implied warranty of = # > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the = # > +# GNU General Public License for more details. = # > +# = # > +# You should have received a copy of the GNU General Public License = # > +# along with this program. If not, see . = # > +# = # > +##########################################################################= ##### > + > +##########################################################################= ##### > +# Definitions > +##########################################################################= ##### > + > +include Config > + > +VER =3D 6.0.1 > + > +THISAPP =3D qemu-$(VER) > +DL_FILE =3D $(THISAPP).tar.xz > +DL_FROM =3D $(URL_IPFIRE) > +DIR_APP =3D $(DIR_SRC)/$(THISAPP) > +TARGET =3D $(DIR_INFO)/$(THISAPP) > +SUP_ARCH =3D x86_64 aarch64 > +PROG =3D qemu-ga > +PAK_VER =3D 1 > + > +DEPS =3D=20 > + > +TARGETS =3D > + > +##########################################################################= ##### > +# Top-level Rules > +##########################################################################= ##### > + > +objects =3D $(DL_FILE) > + > +$(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) > + > +$(DL_FILE)_MD5 =3D 10c651469e07844523995e2c980a4fdb > + > +install : $(TARGET) > + > +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) > + > +download :$(patsubst %,$(DIR_DL)/%,$(objects)) > + > +md5 : $(subst %,%_MD5,$(objects)) > + > +dist:=20 > + @$(PAK) > + > +##########################################################################= ##### > +# Downloading, checking, md5sum > +##########################################################################= ##### > + > +$(patsubst %,$(DIR_CHK)/%,$(objects)) : > + @$(CHECK) > + > +$(patsubst %,$(DIR_DL)/%,$(objects)) : > + @$(LOAD) > + > +$(subst %,%_MD5,$(objects)) : > + @$(MD5) > + > +##########################################################################= ##### > +# Installation Details > +##########################################################################= ##### > + > +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) > + @$(PREBUILD) > + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) > + cd $(DIR_APP) && ./configure \ > + --prefix=3D/usr \ > + --sysconfdir=3D/etc \ > + --localstatedir=3D/var \ > + --enable-kvm \ > + --disable-attr \ > + --extra-cflags=3D"$(CFLAGS)" \ > + --enable-spice \ > + --enable-usb-redir \ > + --enable-seccomp \ > + --disable-docs \ > + --disable-sdl I suppose some of the other switches are quite useless here, too. But this is= just something cosmetic. > + > + cd $(DIR_APP) && make qemu-ga $(MAKETUNING) > + cd $(DIR_APP) && cp build/qga/qemu-ga /usr/bin > + > + #install initscripts > + $(call INSTALL_INITSCRIPT,qemu-ga) > + > + @rm -rf $(DIR_APP) > + @$(POSTBUILD) > diff --git a/make.sh b/make.sh > index e6f948ba0..fe6dc123c 100755 > --- a/make.sh > +++ b/make.sh > @@ -1615,6 +1615,7 @@ buildipfire() { > lfsmake2 libcdada > lfsmake2 pmacct > lfsmake2 squid-asnbl > + lfsmake2 qemu-ga > } >=20 > buildinstaller() { > diff --git a/src/initscripts/packages/qemu-ga b/src/initscripts/packages/qe= mu-ga > new file mode 100755 > index 000000000..68863f86f > --- /dev/null > +++ b/src/initscripts/packages/qemu-ga > @@ -0,0 +1,38 @@ > +#!/bin/sh > +# Begin $rc_base/init.d/qemu-guest-agent > + > + > +. /etc/sysconfig/rc > +. $rc_functions > + > +case "$1" in > + start) > + boot_mesg "Starting QEMU Guest Agent..." > + /usr/bin/qemu-ga -m virtio-serial -p /dev/virtio-ports/org.qemu.guest_ag= ent.0 -f /run/qemu-ga.pid -d > + evaluate_retval > + ;; > + > + stop) > + boot_mesg "Stopping QEMU Guest Agent..." > + killproc /usr/bin/qemu-ga > + ;; > + > + restart) > + $0 stop > + sleep 3 > + $0 start > + ;; > + > + status) > + statusproc /usr/bin/qemu-ga > + ;; > + > + > + *) > + echo "Usage: $0 {start|stop|restart|status}" > + exit 1 > + ;; > +esac > + > + > +# End $rc_base/init.d/qemu-guest-agent > diff --git a/src/paks/qemu-ga/install.sh b/src/paks/qemu-ga/install.sh > new file mode 100644 > index 000000000..6980820ba > --- /dev/null > +++ b/src/paks/qemu-ga/install.sh > @@ -0,0 +1,34 @@ > +#!/bin/bash > +##########################################################################= ## > +# = # > +# This file is part of the IPFire Firewall. = # > +# = # > +# IPFire is free software; you can redistribute it and/or modify = # > +# it under the terms of the GNU General Public License as published by = # > +# the Free Software Foundation; either version 2 of the License, or = # > +# (at your option) any later version. = # > +# = # > +# IPFire is distributed in the hope that it will be useful, = # > +# but WITHOUT ANY WARRANTY; without even the implied warranty of = # > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the = # > +# GNU General Public License for more details. = # > +# = # > +# You should have received a copy of the GNU General Public License = # > +# along with IPFire; if not, write to the Free Software = # > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA= # > +# = # > +# Copyright (C) 2022 IPFire-Team . = # > +# = # > +##########################################################################= ## > +# > +. /opt/pakfire/lib/functions.sh > +extract_files > +restore_backup ${NAME} > + > +# add symlinks for qemu-ga > + > +ln -s /etc/rc.d/init.d/qemu-ga /etc/rc.d/rc0.d/K00qemu-ga > +ln -s /etc/rc.d/init.d/qemu-ga /etc/rc.d/rc3.d/S99qemu-ga > +ln -s /etc/rc.d/init.d/qemu-ga /etc/rc.d/rc6.d/K00qemu-ga > + > +start_service --background ${NAME} > diff --git a/src/paks/qemu-ga/uninstall.sh b/src/paks/qemu-ga/uninstall.sh > new file mode 100644 > index 000000000..cc1115b99 > --- /dev/null > +++ b/src/paks/qemu-ga/uninstall.sh > @@ -0,0 +1,32 @@ > +#!/bin/bash > +##########################################################################= ## > +# = # > +# This file is part of the IPFire Firewall. = # > +# = # > +# IPFire is free software; you can redistribute it and/or modify = # > +# it under the terms of the GNU General Public License as published by = # > +# the Free Software Foundation; either version 2 of the License, or = # > +# (at your option) any later version. = # > +# = # > +# IPFire is distributed in the hope that it will be useful, = # > +# but WITHOUT ANY WARRANTY; without even the implied warranty of = # > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the = # > +# GNU General Public License for more details. = # > +# = # > +# You should have received a copy of the GNU General Public License = # > +# along with IPFire; if not, write to the Free Software = # > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA= # > +# = # > +# Copyright (C) 2022 IPFire-Team . = # > +# = # > +##########################################################################= ## > +# > +. /opt/pakfire/lib/functions.sh > +stop_service ${NAME} > +make_backup ${NAME} > + > +# remove symlinks > + > +rm -f /etc/rc.d/rc0.d/K00qemu-ga /etc/rc.d/rc3.d/S99qemu-ga /etc/rc.d/rc6.= d/K00qemu-ga > + > +remove_files > diff --git a/src/paks/qemu-ga/update.sh b/src/paks/qemu-ga/update.sh > new file mode 100644 > index 000000000..ea2505f2a > --- /dev/null > +++ b/src/paks/qemu-ga/update.sh > @@ -0,0 +1,27 @@ > +#!/bin/bash > +##########################################################################= ## > +# = # > +# This file is part of the IPFire Firewall. = # > +# = # > +# IPFire is free software; you can redistribute it and/or modify = # > +# it under the terms of the GNU General Public License as published by = # > +# the Free Software Foundation; either version 2 of the License, or = # > +# (at your option) any later version. = # > +# = # > +# IPFire is distributed in the hope that it will be useful, = # > +# but WITHOUT ANY WARRANTY; without even the implied warranty of = # > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the = # > +# GNU General Public License for more details. = # > +# = # > +# You should have received a copy of the GNU General Public License = # > +# along with IPFire; if not, write to the Free Software = # > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA= # > +# = # > +# Copyright (C) 2007-2022 IPFire-Team . = # > +# = # > +##########################################################################= ## > +# > +. /opt/pakfire/lib/functions.sh > +extract_backup_includes > +./uninstall.sh > +./install.sh > --=20 > 2.33.1 >=20 --===============1992668996702004530==--