From owner-freebsd-rc@FreeBSD.ORG Mon Oct 4 11:02:15 2004 Return-Path: Delivered-To: freebsd-rc@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AD13216A4E2 for ; Mon, 4 Oct 2004 11:02:15 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id A21DF43D55 for ; Mon, 4 Oct 2004 11:02:15 +0000 (GMT) (envelope-from owner-bugmaster@freebsd.org) Received: from freefall.freebsd.org (peter@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.11/8.12.11) with ESMTP id i94B2Fv5031467 for ; Mon, 4 Oct 2004 11:02:15 GMT (envelope-from owner-bugmaster@freebsd.org) Received: (from peter@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i94B2E3t031461 for freebsd-rc@freebsd.org; Mon, 4 Oct 2004 11:02:14 GMT (envelope-from owner-bugmaster@freebsd.org) Date: Mon, 4 Oct 2004 11:02:14 GMT Message-Id: <200410041102.i94B2E3t031461@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: peter set sender to owner-bugmaster@freebsd.org using -f From: FreeBSD bugmaster To: freebsd-rc@FreeBSD.org Subject: Current problem reports assigned to you X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to /etc/rc.d design and implementation. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Oct 2004 11:02:15 -0000 Current FreeBSD problem reports Critical problems Serious problems S Submitted Tracker Resp. Description ------------------------------------------------------------------------------- a [2004/03/09] kern/63954 rc devfs loses permissions 1 problem total. Non-critical problems S Submitted Tracker Resp. Description ------------------------------------------------------------------------------- o [2003/08/29] conf/56144 rc [PATCH] /etc/rc.d/ipmon, /etc/rc.d/ipfilt o [2004/06/30] conf/68525 rc Loader's verbose boot mode has rc.d/local o [2004/07/07] conf/68745 rc /etc/rc.d/devfs runs after ntpd so links 3 problems total. From owner-freebsd-rc@FreeBSD.ORG Tue Oct 5 23:22:11 2004 Return-Path: Delivered-To: freebsd-rc@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CBD6A16A4D0 for ; Tue, 5 Oct 2004 23:22:11 +0000 (GMT) Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by mx1.FreeBSD.org (Postfix) with ESMTP id 99E1B43D41 for ; Tue, 5 Oct 2004 23:22:11 +0000 (GMT) (envelope-from brdavis@odin.ac.hmc.edu) Received: from odin.ac.hmc.edu (localhost.localdomain [127.0.0.1]) by odin.ac.hmc.edu (8.13.0/8.13.0) with ESMTP id i95NREx7019849 for ; Tue, 5 Oct 2004 16:27:14 -0700 Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.13.0/8.13.0/Submit) id i95NRE67019846 for rc@freebsd.org; Tue, 5 Oct 2004 16:27:14 -0700 Date: Tue, 5 Oct 2004 16:27:14 -0700 From: Brooks Davis To: rc@freebsd.org Message-ID: <20041005232714.GA18350@odin.ac.hmc.edu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="liOOAslEiF7prFVr" Content-Disposition: inline User-Agent: Mutt/1.4.1i X-Virus-Scanned: by amavisd-new X-Spam-Status: No, hits=0.0 required=8.0 tests=none autolearn=no version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on odin.ac.hmc.edu Subject: Review request: fixing /usr dependencies in rc.d/var X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to /etc/rc.d design and implementation. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Oct 2004 23:22:11 -0000 --liOOAslEiF7prFVr Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable I'm trying to get the /usr dependencies out of rc.d/var. The patch below does everything except dealing with mtree (I think we're going to end up moving mtree to /sbin). This change causes two behavior changes. - If you delete one of the files now marked with a C, it will come right back next time you boot unless you remove the C. I don't think this is a big deal, but it may bite a user or two if they don't use mergemaster or read UPDATING. - Second, if you are booting diskless, only the files marked with C's or those created elsewhere (wtmp, lastlog, sendmail.st) will be created at boot instead of all the files. The old behavior can be returned by adding C's to the flags or change newsyslog_flags to -CCN. Any comments? -- Brooks ----- Forwarded message from Brooks Davis ----- From: Brooks Davis Date: Tue, 5 Oct 2004 23:13:13 GMT To: Perforce Change Reviews X-Virus-Status: No Subject: PERFORCE change 62717 for review http://perforce.freebsd.org/chv.cgi?CH=3D62717 Change 62717 by brooks@brooks_fellow on 2004/10/05 23:12:25 Reduce the dependencies on /usr in /etc/rc.d/var. This is done in several parts: - Move syslog creation to /etc/rc.d/newsyslog and hook newsyslog up to the build. - Adding C flags to all syslog files created by "cd etc; make distribution" so they are created by default. - Create /var/log/sendmail.st in /etc/rc.d/sendmail. - Create /var/log/lastlog and /var/log/wtmp /etc/rc.d/sysdb along side /var/run/utmp. Affected files ... =2E. //depot/user/brooks/cleanup/etc/defaults/rc.conf#20 edit =2E. //depot/user/brooks/cleanup/etc/newsyslog.conf#3 edit =2E. //depot/user/brooks/cleanup/etc/rc.d/Makefile#16 edit =2E. //depot/user/brooks/cleanup/etc/rc.d/newsyslog#2 edit =2E. //depot/user/brooks/cleanup/etc/rc.d/sendmail#6 edit =2E. //depot/user/brooks/cleanup/etc/rc.d/sysdb#2 edit =2E. //depot/user/brooks/cleanup/etc/rc.d/var#4 edit Differences ... =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/defaults/rc.conf#20 (text+ko) = =3D=3D=3D=3D @@ -153,6 +153,9 @@ syslogd_program=3D"/usr/sbin/syslogd" # path to syslogd, if you want a dif= ferent one. syslogd_flags=3D"-s" # Flags to syslogd (if enabled). #syslogd_flags=3D"-ss" # Syslogd flags to not bind an inet socket +newsyslog_enable=3D"YES" # Run newsyslog at boot (YES/NO) +newsyslog_program=3D"/usr/sbin/newsyslog" # path to newsyslog. +newsyslog_flags=3D"-CN" # Newsyslog flags to create marked files inetd_enable=3D"NO" # Run the network daemon dispatcher (YES/NO). inetd_program=3D"/usr/sbin/inetd" # path to inetd, if you want a different= one. inetd_flags=3D"-wW -C 60" # Optional flags to inetd =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/newsyslog.conf#3 (text+ko) =3D= =3D=3D=3D @@ -19,21 +19,21 @@ # logfilename [owner:group] mode count size when flags [/pid_= file] [sig_num] /var/log/all.log 600 7 * @T00 J /var/log/amd.log 644 7 100 * J -/var/log/auth.log 600 7 100 * J +/var/log/auth.log 600 7 100 * CJ /var/log/console.log 600 5 100 * J -/var/log/cron 600 3 100 * J +/var/log/cron 600 3 100 * CJ /var/log/daily.log 640 7 * @T00 JN -/var/log/debug.log 600 7 100 * J +/var/log/debug.log 600 7 100 * CJ /var/log/kerberos.log 600 7 100 * J -/var/log/lpd-errs 644 7 100 * J -/var/log/maillog 640 7 * @T00 J -/var/log/messages 644 5 100 * J +/var/log/lpd-errs 644 7 100 * CJ +/var/log/maillog 640 7 * @T00 CJ +/var/log/messages 644 5 100 * CJ /var/log/monthly.log 640 12 * $M1D0 JN /var/log/pflog 600 3 100 * JB /var/run/pflogd.pid -/var/log/ppp.log root:network 640 3 100 * J -/var/log/security 600 10 100 * J +/var/log/ppp.log root:network 640 3 100 * CJ +/var/log/security 600 10 100 * CJ /var/log/sendmail.st 640 10 * 168 B -/var/log/slip.log root:network 640 3 100 * J +/var/log/slip.log root:network 640 3 100 * CJ /var/log/weekly.log 640 5 1 $W6D0 JN /var/log/wtmp 644 3 * @01T05 B -/var/log/xferlog 600 7 100 * J +/var/log/xferlog 600 7 100 * CJ =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc.d/Makefile#16 (text+ko) =3D= =3D=3D=3D @@ -22,7 +22,7 @@ mixer motd mountcritlocal mountcritremote \ mountd moused mroute6d mrouted msgs \ named natd netif netoptions \ - network_ipv6 nfsclient nfsd \ + network_ipv6 newsyslog nfsclient nfsd \ nfslocking nfsserver nisdomain nsswitch ntpd ntpdate \ othermta \ pccard pcvt pf pflog preseedrandom \ =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc.d/newsyslog#2 (text+ko) =3D= =3D=3D=3D @@ -1,27 +1,19 @@ #!/bin/sh # -# $NetBSD: newsyslog,v 1.5 2002/03/24 15:51:26 lukem Exp $ -# $FreeBSD: src/etc/rc.d/newsyslog,v 1.2 2002/06/13 22:14:36 gordon Exp $ +# $FreeBSD$ # =20 # PROVIDE: newsyslog -# REQUIRE: mountcritremote sysdb -# BEFORE: syslogd SERVERS +# REQUIRE: cleanvar mountcritremote +# BEFORE: syslogd +# KEYWORD: FreeBSD =20 . /etc/rc.subr =20 name=3D"newsyslog" -rcvar=3D$name +start_cmd=3D${newsyslog_program} +stop_cmd=3D":" required_files=3D"/etc/newsyslog.conf" -start_cmd=3D"newsyslog_start" -stop_cmd=3D":" - -newsyslog_start() -{ - echo -n "Trimming log files:" - /usr/bin/newsyslog -s $rc_flags - echo " done." -} =20 load_rc_config $name run_rc_command "$1" =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc.d/sendmail#6 (text+ko) =3D= =3D=3D=3D @@ -69,6 +69,10 @@ "${name}: /etc/mail/aliases.db not present, generating" /usr/bin/newaliases fi + + if [ ! -f "/var/log/sendmail.st" ]; then + /usr/bin/touch /var/log/sendmail.st + fi } =20 run_rc_command "$1" =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc.d/sysdb#2 (text+ko) =3D=3D= =3D=3D @@ -30,6 +30,15 @@ # not be available then (possibly no /usr). # install -c -m 664 -g utmp /dev/null /var/run/utmp + + # Make sure lastlog wtmp exist. They might not be there if + # we are booting diskless. + if [ ! -f /var/log/lastlog ]; then + install -m 644 /dev/null /var/log/lastlog + fi + if [ ! -f /var/log/wtmp ]; then + install -m 644 /dev/null /var/log/wtmp + fi } =20 load_rc_config $name =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc.d/var#4 (text+ko) =3D=3D=3D= =3D @@ -48,10 +48,6 @@ ;; esac =20 - /usr/sbin/newsyslog -CC - - /usr/bin/touch /var/log/lastlog - # XXX: should create spool dirs for lpd } =20 @@ -87,8 +83,7 @@ *) if [ -d /var/run -a -d /var/db -a -d /var/empty ] ; then true - elif [ ! -x /usr/sbin/mtree -o ! -x /usr/sbin/newsyslog -o \ - ! -x /usr/bin/touch ] ; then + elif [ ! -x /usr/sbin/mtree ] ; then false else _populate_var ----- End forwarded message ----- --=20 Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 --liOOAslEiF7prFVr Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFBYy3RXY6L6fI4GtQRAgsHAJ97hIjEyNukZ0b1PHKZ9U6N10Nx7QCfRDYk basA9HqIOuWzY+FcG7k9nWk= =3TLI -----END PGP SIGNATURE----- --liOOAslEiF7prFVr-- From owner-freebsd-rc@FreeBSD.ORG Tue Oct 5 23:25:08 2004 Return-Path: Delivered-To: freebsd-rc@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0D78316A4CE for ; Tue, 5 Oct 2004 23:25:08 +0000 (GMT) Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by mx1.FreeBSD.org (Postfix) with ESMTP id CA56043D3F for ; Tue, 5 Oct 2004 23:25:07 +0000 (GMT) (envelope-from brdavis@odin.ac.hmc.edu) Received: from odin.ac.hmc.edu (localhost.localdomain [127.0.0.1]) by odin.ac.hmc.edu (8.13.0/8.13.0) with ESMTP id i95NUBfF020255; Tue, 5 Oct 2004 16:30:11 -0700 Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.13.0/8.13.0/Submit) id i95NUB5V020254; Tue, 5 Oct 2004 16:30:11 -0700 Date: Tue, 5 Oct 2004 16:30:11 -0700 From: Brooks Davis To: Brooks Davis Message-ID: <20041005233011.GA20133@odin.ac.hmc.edu> References: <20041005232714.GA18350@odin.ac.hmc.edu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="0OAP2g/MAC+5xKAE" Content-Disposition: inline In-Reply-To: <20041005232714.GA18350@odin.ac.hmc.edu> User-Agent: Mutt/1.4.1i X-Virus-Scanned: by amavisd-new X-Spam-Status: No, hits=0.0 required=8.0 tests=none autolearn=no version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on odin.ac.hmc.edu cc: rc@freebsd.org Subject: Re: Review request: fixing /usr dependencies in rc.d/var X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to /etc/rc.d design and implementation. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Oct 2004 23:25:08 -0000 --0OAP2g/MAC+5xKAE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Oct 05, 2004 at 04:27:14PM -0700, Brooks Davis wrote: > I'm trying to get the /usr dependencies out of rc.d/var. The patch > below does everything except dealing with mtree (I think we're going to > end up moving mtree to /sbin). This change causes two behavior changes. Oops, I forgot to mention that the -N flag you see to newsyslog means don't rotate, but do create. I haven't committed it yet. -- Brooks --0OAP2g/MAC+5xKAE Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFBYy6CXY6L6fI4GtQRAoiLAKDiXas8Wr/IupJneemf9TwNZJWxiACfd/So HGcmp2cM9LYFpMi8GJt3SPs= =bwXi -----END PGP SIGNATURE----- --0OAP2g/MAC+5xKAE-- From owner-freebsd-rc@FreeBSD.ORG Fri Oct 8 22:32:22 2004 Return-Path: Delivered-To: freebsd-rc@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5286D16A4CE for ; Fri, 8 Oct 2004 22:32:22 +0000 (GMT) Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by mx1.FreeBSD.org (Postfix) with ESMTP id 206DD43D48 for ; Fri, 8 Oct 2004 22:32:22 +0000 (GMT) (envelope-from brdavis@odin.ac.hmc.edu) Received: from odin.ac.hmc.edu (localhost.localdomain [127.0.0.1]) by odin.ac.hmc.edu (8.13.0/8.13.0) with ESMTP id i98MWEvC004932 for ; Fri, 8 Oct 2004 15:32:14 -0700 Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.13.0/8.13.0/Submit) id i98MWEHh004931 for rc@freebsd.org; Fri, 8 Oct 2004 15:32:14 -0700 Date: Fri, 8 Oct 2004 15:32:14 -0700 From: Brooks Davis To: rc@freebsd.org Message-ID: <20041008223214.GA4501@odin.ac.hmc.edu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="7JfCtLOvnd9MIVvH" Content-Disposition: inline User-Agent: Mutt/1.4.1i X-Virus-Scanned: by amavisd-new X-Spam-Status: No, hits=0.0 required=8.0 tests=none autolearn=no version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on odin.ac.hmc.edu Subject: review request: early rc.d scripts X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to /etc/rc.d design and implementation. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Oct 2004 22:32:22 -0000 --7JfCtLOvnd9MIVvH Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Please review the following changes. They create a new keyword=20 "early" which causes scripts to be run in a seperate rcorder evalution before the main set of scripts. This allows initdiskless to install more scripts in /etc/rc.d and have them executed rather then the current confusing behavior where they are added, but not run because the list is generated before they are added. -- Brooks ----- Forwarded message from Brooks Davis ----- From: Brooks Davis Date: Fri, 8 Oct 2004 22:28:13 GMT To: Perforce Change Reviews X-Virus-Status: No Subject: PERFORCE change 62882 for review http://perforce.freebsd.org/chv.cgi?CH=3D62882 Change 62882 by brooks@brooks_minya on 2004/10/08 22:27:26 Add an "early" keyword to preseedrandom and initdiskless. Run those scripts before running the main set of scripts. This allows initdiskless to install scripts in /etc/rc.d and actually have them run. Affected files ... =2E. //depot/user/brooks/cleanup/etc/rc#7 edit =2E. //depot/user/brooks/cleanup/etc/rc.d/initdiskless#11 edit =2E. //depot/user/brooks/cleanup/etc/rc.d/initrandom#5 edit =2E. //depot/user/brooks/cleanup/etc/rc.d/newsyslog#4 edit =2E. //depot/user/brooks/cleanup/etc/rc.d/preseedrandom#4 edit =2E. //depot/user/brooks/cleanup/etc/rc.d/rcconf.sh#3 edit =2E. //depot/user/brooks/cleanup/etc/rc.d/resolv#7 edit Differences ... =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc#7 (text+ko) =3D=3D=3D=3D @@ -65,9 +65,18 @@ _boot=3D"start" fi =20 -os=3D`eval ${CMD_OSTYPE}` +# Run a few script (primairly initdiskless) seperatly to allow +# things to be added to /etc/rc.d before the main run. +# skip=3D"-s nostart" [ `/sbin/sysctl -n security.jail.jailed` -eq 1 ] && skip=3D"$skip -s nojai= l" +files=3D`rcorder -k early ${skip} /etc/rc.d/* 2>/dev/null` + +for _rc_elem in ${files}; do + run_rc_script ${_rc_elem} ${_boot} +done + +skip=3D"${skip} -s early" files=3D`rcorder ${skip} /etc/rc.d/* 2>/dev/null` =20 for _rc_elem in ${files}; do =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc.d/initdiskless#11 (text+ko)= =3D=3D=3D=3D @@ -28,8 +28,7 @@ # # REQUIRE: preseedrandom # PROVIDE: initdiskless -# KEYWORD: nojail -# BEFORE: ipfw +# KEYWORD: early nojail =20 =20 # On entry to this script the entire system consists of a read-only root =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc.d/initrandom#5 (text+ko) = =3D=3D=3D=3D @@ -4,7 +4,7 @@ # =20 # PROVIDE: initrandom -# REQUIRE: initdiskless +# REQUIRE: rcconf # BEFORE: disks # KEYWORD: nojail =20 =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc.d/newsyslog#4 (text+ko) =3D= =3D=3D=3D @@ -11,7 +11,6 @@ . /etc/rc.subr =20 name=3D"newsyslog" -rcvar=3D$name required_files=3D"/etc/newsyslog.conf" start_cmd=3D"newsyslog_start" stop_cmd=3D":" =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc.d/preseedrandom#4 (text+ko)= =3D=3D=3D=3D @@ -4,7 +4,7 @@ # =20 # PROVIDE: preseedrandom -# KEYWORD: nojail +# KEYWORD: early nojail =20 feed_dev_random() { =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc.d/rcconf.sh#3 (text+ko) =3D= =3D=3D=3D @@ -4,7 +4,6 @@ # =20 # PROVIDE: rcconf -# REQUIRE: initdiskless # BEFORE: disks initrandom =20 . /etc/rc.subr =3D=3D=3D=3D //depot/user/brooks/cleanup/etc/rc.d/resolv#7 (text+ko) =3D=3D= =3D=3D @@ -28,7 +28,7 @@ # =20 # PROVIDE: resolv -# REQUIRE: initdiskless rcconf +# REQUIRE: rcconf # KEYWORD: nojail =20 . /etc/rc.subr ----- End forwarded message ----- --=20 Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 --7JfCtLOvnd9MIVvH Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFBZxVtXY6L6fI4GtQRAl4eAKDExoqDnnfMnfZotsbUaKiIzVpNlQCgwOZX Kzce/KWKic+TeXmP1nAgI48= =8VFQ -----END PGP SIGNATURE----- --7JfCtLOvnd9MIVvH--