Author: baggins Date: Wed Feb 29 13:44:29 2012 GMT Module: packages Tag: HEAD ---- Log message: - added POSIX-sh compatible init scripts - added systemd services and configs - drop hvm bcond, we have bcc on all relevant archs - updated files - merged udev into main package (there is no point splitting this on modern systems) - build stubdom in build not in install - stubdom must be built separately (no prefix and no CFLAGS redefining)
---- Files affected: packages/xen: xen.spec (1.95 -> 1.96) , blktapctrl.service (NONE -> 1.1) (NEW), blktapctrl.sysconfig (NONE -> 1.1) (NEW), proc-xen.mount (NONE -> 1.1) (NEW), var-lib-xenstored.mount (NONE -> 1.1) (NEW), xen-watchdog.init (NONE -> 1.1) (NEW), xen-watchdog.service (NONE -> 1.1) (NEW), xen.logrotate (NONE -> 1.1) (NEW), xenconsoled.init (NONE -> 1.1) (NEW), xenconsoled.service (NONE -> 1.1) (NEW), xenconsoled.sysconfig (NONE -> 1.1) (NEW), xend.init (NONE -> 1.1) (NEW), xend.service (NONE -> 1.1) (NEW), xend.tmpfiles (NONE -> 1.1) (NEW), xendomains.init (NONE -> 1.1) (NEW), xenstored.init (NONE -> 1.1) (NEW), xenstored.service (NONE -> 1.1) (NEW), xenstored.sysconfig (NONE -> 1.1) (NEW), xenstored.tmpfiles (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: packages/xen/xen.spec diff -u packages/xen/xen.spec:1.95 packages/xen/xen.spec:1.96 --- packages/xen/xen.spec:1.95 Wed Feb 8 19:20:39 2012 +++ packages/xen/xen.spec Wed Feb 29 14:44:23 2012 @@ -4,9 +4,6 @@ # - most of the qemu config options aren't detected (curses, NPTL, vde, fdt) # - package the ocaml stuff # -# Conditional build: -%bcond_without hvm # build with hvm (full virtualization) support - %define xen_extfiles_url http://xenbits.xensource.com/xen-extfiles Summary: Xen - a virtual machine monitor Summary(pl.UTF-8): Xen - monitor maszyny wirtualnej @@ -30,6 +27,25 @@ # Source14-md5: cd3f3eb54446be6003156158d51f4884 Source15: %{xen_extfiles_url}/ipxe-git-v1.0.0.tar.gz # Source15-md5: fb7df96781d337899066d82059346885 +Source30: proc-xen.mount +Source31: var-lib-xenstored.mount +Source32: blktapctrl.service +Source33: blktapctrl.sysconfig +Source34: xenconsoled.service +Source35: xenconsoled.sysconfig +Source36: xenstored.service +Source37: xenstored.sysconfig +Source38: xenstored.tmpfiles +Source39: xend.service +Source40: xend.tmpfiles +Source41: xen-watchdog.service +# sysvinit scripts +Source50: xend.init +Source51: xenconsoled.init +Source52: xenstored.init +Source53: xen-watchdog.init +Source54: xendomains.init +Source55: xen.logrotate Patch0: %{name}-python_scripts.patch Patch1: %{name}-symbols.patch Patch2: %{name}-curses.patch @@ -38,7 +54,7 @@ URL: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html BuildRequires: SDL-devel BuildRequires: acpica -%{?with_hvm:BuildRequires: bcc} +BuildRequires: bcc BuildRequires: curl-devel BuildRequires: e2fsprogs-devel BuildRequires: gcc >= 5:3.4 @@ -73,6 +89,7 @@ Requires: util-linux Requires: which Obsoletes: xen-doc +Obsoletes: xen-udev ExclusiveArch: %{ix86} %{x8664} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -140,17 +157,6 @@ %description static -l pl.UTF-8 Statyczne biblioteki xena. -%package udev -Summary: xen udev scripts -Summary(pl.UTF-8): Skrypty udev dla xena -Group: Applications/System - -%description udev -xen udev scripts. - -%description udev -l pl.UTF-8 -Skrypty udev dla xena. - %package xend Summary: xend daemon Summary(pl.UTF-8): Demon xend @@ -199,21 +205,50 @@ ln -s %{SOURCE15} tools/firmware/etherboot/ipxe.tar.gz %build -CFLAGS="%{rpmcflags} -I/usr/include/ncurses" \ -CXXFLAGS="%{rpmcflags} -I/usr/include/ncurses" \ -%{__make} -j1 xen tools \ +export CFLAGS="%{rpmcflags} -I/usr/include/ncurses" +export CXXFLAGS="%{rpmcflags} -I/usr/include/ncurses" + +%{__make} dist-xen dist-tools dist-docs \ + prefix=%{_prefix} \ + CC="%{__cc}" \ + CXX="%{__cxx}" + +unset CFLAGS +unset CXXFLAGS +%{__make} -j1 dist-stubdom \ CC="%{__cc}" \ CXX="%{__cxx}" %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/xen/examples +install -d $RPM_BUILD_ROOT/etc/xen/examples \ + $RPM_BUILD_ROOT{/usr/lib/tmpfiles.d,%{systemdunitdir}} -%{__make} install-xen install-tools install-stubdom install-docs \ - CC="%{__cc}" \ - CXX="%{__cxx}" \ +%{__make} -j1 install-xen install-tools install-stubdom install-docs \ + prefix=%{_prefix} \ DESTDIR=$RPM_BUILD_ROOT +install %{SOURCE30} $RPM_BUILD_ROOT%{systemdunitdir}/proc-xen.mount +install %{SOURCE31} $RPM_BUILD_ROOT%{systemdunitdir}/var-lib-xenstored.mount +install %{SOURCE32} $RPM_BUILD_ROOT%{systemdunitdir}/blktapctrl.service +install %{SOURCE33} $RPM_BUILD_ROOT/etc/sysconfig/blktapctrl.sysconfig +install %{SOURCE34} $RPM_BUILD_ROOT%{systemdunitdir}/xenconsoled.service +install %{SOURCE35} $RPM_BUILD_ROOT/etc/sysconfig/xenconsoled.sysconfig +install %{SOURCE36} $RPM_BUILD_ROOT%{systemdunitdir}/xenstored.service +install %{SOURCE37} $RPM_BUILD_ROOT/etc/sysconfig/xenstored.sysconfig +install %{SOURCE38} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/xenstored.conf +install %{SOURCE39} $RPM_BUILD_ROOT%{systemdunitdir}/xend.service +install %{SOURCE40} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/xend.conf +install %{SOURCE41} $RPM_BUILD_ROOT%{systemdunitdir}/xen-watchdog.service +# sysvinit scripts +%{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/* +install %{SOURCE50} $RPM_BUILD_ROOT/etc/rc.d/init.d/xend +install %{SOURCE51} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenconsoled +install %{SOURCE52} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenstored +install %{SOURCE53} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-watchdog +install %{SOURCE54} $RPM_BUILD_ROOT/etc/rc.d/init.d/xendomains +#install %{SOURCE55} $RPM_BUILD_ROOT/etc/logrotate.d/xen + mv $RPM_BUILD_ROOT/etc/xen/{xmexample*,examples} cp -p tools/blktap/README{,.blktap} @@ -235,7 +270,8 @@ %post /sbin/chkconfig --add xen-watchdog -/sbin/chkconfig --add xencommons +/sbin/chkconfig --add xenconsoled +/sbin/chkconfig --add xenstored /sbin/chkconfig --add xendomains %preun @@ -243,8 +279,11 @@ %service xendomains stop /sbin/chkconfig --del xendomains - %service xencommons stop - /sbin/chkconfig --del xencommons + %service xenconsoled stop + /sbin/chkconfig --del xenconsoled + + %service xenstored stop + /sbin/chkconfig --del xenstored %service xen-watchdog stop /sbin/chkconfig --del xen-watchdog @@ -271,10 +310,17 @@ /boot/%{name}-syms-%{version} /boot/%{name}-%{version}.gz /boot/%{name}.gz +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/* %attr(754,root,root) /etc/rc.d/init.d/xen-watchdog -%attr(754,root,root) /etc/rc.d/init.d/xencommons +%attr(754,root,root) /etc/rc.d/init.d/xenconsoled +%attr(754,root,root) /etc/rc.d/init.d/xenstored %attr(754,root,root) /etc/rc.d/init.d/xendomains -%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/* +%{systemdunitdir}/proc-xen.mount +%{systemdunitdir}/var-lib-xenstored.mount +%{systemdunitdir}/blktapctrl.service +%{systemdunitdir}/xen-watchdog.service +%{systemdunitdir}/xenconsoled.service +%{systemdunitdir}/xenstored.service %dir %{_sysconfdir}/xen %dir %{_sysconfdir}/xen/auto %dir %{_sysconfdir}/xen/examples @@ -284,6 +330,7 @@ %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/README* %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/cpupool %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xl.conf +%config(noreplace) %verify(not md5 mtime size) /etc/udev/* %attr(755,root,root) %{_bindir}/* %attr(755,root,root) %{_sbindir}/[bfgikloqtv]* %attr(755,root,root) %{_sbindir}/xen??* @@ -294,14 +341,22 @@ %attr(744,root,root) %{_libdir}/%{name}/bin/* %if "%{_lib}" != "lib" %dir %{_prefix}/lib/%{name} +%dir %{_prefix}/lib/%{name}/bin +%attr(755,root,root) %{_prefix}/lib/%{name}/bin/qemu-dm +%attr(755,root,root) %{_prefix}/lib/%{name}/bin/stubdom-dm +%attr(755,root,root) %{_prefix}/lib/%{name}/bin/stubdompath.sh %endif %dir %{_prefix}/lib/%{name}/boot -%{?with_hvm:%attr(744,root,root) %{_prefix}/lib/%{name}/boot/hvmloader} +%{_prefix}/lib/%{name}/boot/ioemu-stubdom.gz +%{_prefix}/lib/%{name}/boot/pv-grub-x86_32.gz +%{_prefix}/lib/%{name}/boot/pv-grub-x86_64.gz +%attr(744,root,root) %{_prefix}/lib/%{name}/boot/hvmloader %{_datadir}/xen %{_mandir}/man?/* %{_sharedstatedir}/xen %{_sharedstatedir}/xenstored %dir /var/run/xenstored +%{systemdtmpfilesdir}/xenstored.conf %files libs %defattr(644,root,root,755) @@ -324,18 +379,16 @@ %defattr(644,root,root,755) %{_libdir}/lib*.a -%files udev -%defattr(644,root,root,755) -%config(noreplace) %verify(not md5 mtime size) /etc/udev/* - %files xend %defattr(644,root,root,755) %attr(754,root,root) %{_sysconfdir}/rc.d/init.d/xend +%{systemdunitdir}/xend.service %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xm* %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xend* %attr(755,root,root) %{_sbindir}/xend %attr(755,root,root) %{_sbindir}/xm %dir %attr(700,root,root) /var/run/xend +%{systemdtmpfilesdir}/xend.conf %files -n python-xen %defattr(644,root,root,755) @@ -367,6 +420,15 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.96 2012/02/29 13:44:23 baggins +- added POSIX-sh compatible init scripts +- added systemd services and configs +- drop hvm bcond, we have bcc on all relevant archs +- updated files +- merged udev into main package (there is no point splitting this on modern systems) +- build stubdom in build not in install +- stubdom must be built separately (no prefix and no CFLAGS redefining) + Revision 1.95 2012/02/08 18:20:39 mmazur - remove R: kernel(xen0) ================================================================ Index: packages/xen/blktapctrl.service diff -u /dev/null packages/xen/blktapctrl.service:1.1 --- /dev/null Wed Feb 29 14:44:29 2012 +++ packages/xen/blktapctrl.service Wed Feb 29 14:44:23 2012 @@ -0,0 +1,15 @@ +[Unit] +Description=blktapctrl daemon +Requires=proc-xen.mount +After=proc-xen.mount +RefuseManualStop=true + +[Service] +Type=forking +Environment=BLKTAPCTRL_ARGS= +EnvironmentFile=-/etc/sysconfig/blktapctrl +ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities +ExecStart=/usr/sbin/blktapctrl $BLKTAPCTRL_ARGS + +[Install] +WantedBy=multi-user.target ================================================================ Index: packages/xen/blktapctrl.sysconfig diff -u /dev/null packages/xen/blktapctrl.sysconfig:1.1 --- /dev/null Wed Feb 29 14:44:29 2012 +++ packages/xen/blktapctrl.sysconfig Wed Feb 29 14:44:23 2012 @@ -0,0 +1 @@ +#BLKTAPCTRL_ARGS= ================================================================ Index: packages/xen/proc-xen.mount diff -u /dev/null packages/xen/proc-xen.mount:1.1 --- /dev/null Wed Feb 29 14:44:29 2012 +++ packages/xen/proc-xen.mount Wed Feb 29 14:44:23 2012 @@ -0,0 +1,9 @@ +[Unit] +Description=Mount /proc/xen files +ConditionPathExists=/proc/xen +RefuseManualStop=true + +[Mount] +What=xenfs +Where=/proc/xen +Type=xenfs ================================================================ Index: packages/xen/var-lib-xenstored.mount diff -u /dev/null packages/xen/var-lib-xenstored.mount:1.1 --- /dev/null Wed Feb 29 14:44:29 2012 +++ packages/xen/var-lib-xenstored.mount Wed Feb 29 14:44:23 2012 @@ -0,0 +1,9 @@ +[Unit] +Description=mount xenstore file system +ConditionPathExists=/proc/xen +RefuseManualStop=true + +[Mount] +What=xenstore +Where=/var/lib/xenstored +Type=tmpfs ================================================================ Index: packages/xen/xen-watchdog.init diff -u /dev/null packages/xen/xen-watchdog.init:1.1 --- /dev/null Wed Feb 29 14:44:29 2012 +++ packages/xen/xen-watchdog.init Wed Feb 29 14:44:23 2012 @@ -0,0 +1,77 @@ +#!/bin/sh +# +# xen-watchdog Run XEN domain watchdog daemon +# +# chkconfig: 2345 21 79 +# description: Run XEN domain watchdog daemon +# processname: xenwatchdogd +# +### BEGIN INIT INFO +# Provides: xen-watchdog +# Required-Start: $syslog $remote_fs +# Should-Start: xend +# Required-Stop: $syslog $remote_fs +# Should-Stop: xend +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start/stop xen-watchdog +# Description: Run XEN domain watchdog daemon. +### END INIT INFO +# + +# Source function library. +. /etc/rc.d/init.d/functions + +start() { + if [ -f /var/lock/subsys/xen-watchdog ]; then + msg_already_running "XEN domain watchdog daemon" + return + fi + msg_starting "XEN domain watchdog daemon" + + /usr/sbin/xenwatchdogd 30 15 + RETVAL=$? + if [ $RETVAL -ne 0 ]; then + return 7 + fi + touch /var/lock/subsys/xen-watchdog +} + +stop() { + if [ ! -f /var/lock/subsys/xen-watchdog ]; then + msg_not_running "XEN domain watchdog daemon" + return + fi + msg_stopping "XEN domain watchdog daemon" + + killproc xenwatchdogd -USR1 + RETVAL=$? + rm -f /var/lock/subsys/xen-watchdog +} + +RETVAL=0 +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + status) + status xenwatchdogd + ;; + condrestart) + stop + start + ;; + *) + msg_usage "$0 {start|stop|status|restart|condrestart}" + exit 3 +esac + +exit $RETVAL ================================================================ Index: packages/xen/xen-watchdog.service diff -u /dev/null packages/xen/xen-watchdog.service:1.1 --- /dev/null Wed Feb 29 14:44:29 2012 +++ packages/xen/xen-watchdog.service Wed Feb 29 14:44:23 2012 @@ -0,0 +1,12 @@ +[Unit] +Description=Xen-watchdog - run xen watchdog daemon +Requires=proc-xen.mount +After=proc-xen.mount xend.service + +[Service] +Type=forking +ExecStart=/usr/sbin/xenwatchdogd 30 15 +KillSignal=USR1 + +[Install] +WantedBy=multi-user.target ================================================================ Index: packages/xen/xen.logrotate diff -u /dev/null packages/xen/xen.logrotate:1.1 --- /dev/null Wed Feb 29 14:44:29 2012 +++ packages/xen/xen.logrotate Wed Feb 29 14:44:23 2012 @@ -0,0 +1,8 @@ +/var/log/xen/xend-debug.log +/var/log/xen/xen-hotplug.log +/var/log/xen/domain-builder-ng.log { + notifempty + missingok + copytruncate +} + ================================================================ Index: packages/xen/xenconsoled.init diff -u /dev/null packages/xen/xenconsoled.init:1.1 --- /dev/null Wed Feb 29 14:44:29 2012 +++ packages/xen/xenconsoled.init Wed Feb 29 14:44:23 2012 @@ -0,0 +1,79 @@ +#!/bin/sh +# +# xenconsoled Script to start and stop xenconsoled +# +# chkconfig: 2345 70 10 +# description: Starts and stops xenconsoled +### BEGIN INIT INFO +# Provides: xenconsoled +# Required-Start: $syslog $remote_fs +# Should-Start: +# Required-Stop: $syslog $remote_fs +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start/stop xenconsoled +# Description: Starts and stops the daemons neeeded for xl/xend +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +# Read in configuration options. +XENCONSOLED_ARGS= +XENCONSOLED_LOG=none +XENCONSOLED_LOG_DIR=/var/log/xen/console +[ -f /etc/sysconfig/xenconsoled ] && . /etc/sysconfig/xenconsoled + +if [ "$1" = "start" -a -d /proc/xen -a ! -f /proc/xen/capabilities ] && \ + ! grep -qs '^xenfs ' /proc/mounts >/dev/null; then + mount -t xenfs xenfs /proc/xen +fi + +grep -qs "control_d" /proc/xen/capabilities || exit 0 + +start() { + if [ -f /var/lock/subsys/xenconsoled ]; then + msg_already_running xenconsoled + return + fi + msg_starting xenconsoled + daemon /usr/sbin/xenconsoled --pidfile=/var/run/xenconsoled.pid --log=${XENCONSOLED_LOG} --log-dir=${XENCONSOLED_LOG_DIR} $XENCONSOLED_ARGS + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/xenconsoled +} + +stop() { + if [ ! -f /var/lock/subsys/xenconsoled ]; then + msg_not_running xenconsoled + return + fi + msg_stopping xenconsoled + killproc --pidfile /var/run/xenconsoled.pid xenconsoled + RETVAL=$? + rm -f /var/run/xenconsoled.pid >/dev/null 2>&1 + rm -f /var/lock/subsys/xenconsoled >/dev/null 2>&1 +} + +RETVAL=0 +# See how we were called. +case "$1" in + start) + start + ;; + status) + status xenconsoled + ;; + stop) + stop + ;; + force-reload|restart) + stop + start + ;; + *) + msg_usage "$0 {start|stop|status|restart|force-reload}" + exit 3 +esac + +exit $RETVAL ================================================================ Index: packages/xen/xenconsoled.service diff -u /dev/null packages/xen/xenconsoled.service:1.1 --- /dev/null Wed Feb 29 14:44:29 2012 +++ packages/xen/xenconsoled.service Wed Feb 29 14:44:23 2012 @@ -0,0 +1,17 @@ +[Unit] +Description=Xenconsoled - handles logging from guest consoles and hypervisor +Requires=proc-xen.mount +After=proc-xen.mount xenstored.service + +[Service] +Type=simple +Environment=XENCONSOLED_ARGS= +Environment=XENCONSOLED_LOG=none +Environment=XENCONSOLED_LOG_DIR=/var/log/xen/console +EnvironmentFile=-/etc/sysconfig/xenconsoled +PIDFile=/var/run/xenconsoled.pid +ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities +ExecStart=/usr/sbin/xenconsoled --log=${XENCONSOLED_LOG} --log-dir=${XENCONSOLED_LOG_DIR} $XENCONSOLED_ARGS + +[Install] +WantedBy=multi-user.target ================================================================ Index: packages/xen/xenconsoled.sysconfig diff -u /dev/null packages/xen/xenconsoled.sysconfig:1.1 --- /dev/null Wed Feb 29 14:44:29 2012 +++ packages/xen/xenconsoled.sysconfig Wed Feb 29 14:44:23 2012 @@ -0,0 +1,7 @@ +# Log xenconsoled messages (none|guest console only|hypervisor messages only|both) +#XENCONSOLED_LOG=[none|guest|hv|all] + +# Location to store guest & hypervisor logs +#XENCONSOLED_LOG_DIR=/var/log/xen/console + +#XENCONSOLED_ARGS= ================================================================ Index: packages/xen/xend.init diff -u /dev/null packages/xen/xend.init:1.1 --- /dev/null Wed Feb 29 14:44:29 2012 +++ packages/xen/xend.init Wed Feb 29 14:44:23 2012 @@ -0,0 +1,117 @@ +#!/bin/sh +# +# xend Script to start and stop the Xen control daemon. +# +# chkconfig: 2345 98 01 +# description: Starts and stops the Xen control daemon. +# +### BEGIN INIT INFO +# Provides: xend +# Required-Start: $syslog $remote_fs xenstored xenconsoled +# Should-Start: +# Required-Stop: $syslog $remote_fs xenstored xenconsoled +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start/stop xend +# Description: Starts and stops the Xen control daemon. +### END INIT INFO + +waitfordaemon() { + i=1 + rets=10 + /usr/sbin/xend status + while [ $? -ne 0 -a $i -lt $rets ]; do + sleep 1 + i=$(($i + 1)) + /usr/sbin/xend status + done + return $? +} + +start() { + if [ -f /var/lock/subsys/xend ]; then + msg_already_running "Xen control daemon" + return + fi + if [ ! -f /var/lock/subsys/xenconsoled -o ! -f /var/lock/subsys/xenstored ]; then + echo "xenconsoled and xenstored must be started first" + return + fi + show "Starting Xen control daemon" + busy + /usr/sbin/xend start + waitfordaemon + RETVAL=$? + if [ $RETVAL -eq 0 ]; then + touch /var/lock/subsys/xend + ok + else + fail <<Diff was trimmed, longer than 597 lines>> ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/xen/xen.spec?r1=1.95&r2=1.96&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
