Date: Tue, 11 Aug 2015 09:31:04 +0100 From: Matthew Seaman <matthew@freebsd.org> To: =?UTF-8?Q?Marko_Cupa=c4=87?= <marko.cupac@mimar.rs>, freebsd-stable@freebsd.org Subject: Re: (once again) freebsd-update cron and man whatis Message-ID: <55C9B2C8.6020406@freebsd.org> In-Reply-To: <20150811092154.0252ba46@efreet> References: <20150811092154.0252ba46@efreet>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --JuXwPiQTWOt2ev7ci9JFbWTSadC9Gb79H Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 08/11/15 08:21, Marko Cupa=C4=87 wrote: > - Next morning I get notification from freebsd-cron for the same update= > I installed yesterday, but only for /usr/share/man/whatis. (not ok) Did you by any chance happend to run the weekly/320.makewhatis periodic script that night? It is enabled by default. However, you shouldn't need it if you maintain your system entirely through freebsd-update. > Are there any differences between freebsd-update cron and > freebsd-update fetch, apart from random time offset? freebsd-update is a shell script, so it's fairly easy to see the difference between 'fetch' and 'cron' -- look for the functions 'cmd_fetch()' and 'cmd_cron()' in the code (they're right next to each other.) The differences are: 'fetch' tests that is is connected to a tty and complains about not being run interactively if not 'cron' sleeps for a random number of seconds up to 1 hour, and it logs everything it does to a temporary file in order to mail back a report to the user if needed. Otherwise, they both call exactly the same 'fetch_check_params()' and 'fetch_run()' functions. Cheers, Matthew # Fetch command. Make sure that we're being called # interactively, then run fetch_check_params and fetch_run cmd_fetch () { if [ ! -t 0 -a $NOTTYOK -eq 0 ]; then echo -n "`basename $0` fetch should not " echo "be run non-interactively." echo "Run `basename $0` cron instead." exit 1 fi fetch_check_params fetch_run || exit 1 } # Cron command. Make sure the parameters are sensible; wait # rand(3600) seconds; then fetch updates. While fetching updates, # send output to a temporary file; only print that file if the # fetching failed. cmd_cron () { fetch_check_params sleep `jot -r 1 0 3600` TMPFILE=3D`mktemp /tmp/freebsd-update.XXXXXX` || exit 1 if ! fetch_run >> ${TMPFILE} || ! grep -q "No updates needed" ${TMPFILE} || [ ${VERBOSELEVEL} =3D "debug" ]; then mail -s "`hostname` security updates" ${MAILTO} < ${TMPFI= LE} fi rm ${TMPFILE} } --JuXwPiQTWOt2ev7ci9JFbWTSadC9Gb79H Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJVybLYAAoJEABRPxDgqeTn/nAQALInNQvAFjSvjTfWugPt4brz OUjdnua+gOV1jxm3+Tp2USHJg9YvNKBK/vdpKRx9Js7ln21DXSbhtLNPQNBk9J4W EN++iseEZFZAPKdpoQaBmKZN/MB6TP6SaiXc5PjN7nzOYlCDKNTSmn4iNLIF8Gec Qr/S16fkCf30TRvb26uqVv+km+PagLVSGAxM5C6Vk+p6EPbbBU5GtEoPdIFA1qim /wFZ8kHI29BQJeLV+1eiOLh6sG+djz0ORonILdy8SLYmLmgP14iNUW25WOpU6it+ 0sExj1om+HDu9i7/3bFl/sRm+UB4rv/TnCm/0PrkNr5wogZJCi4hNby2D7dN5mx+ tvNkjeOOOsuv7MeNq+ZYIniW8X52RVphDs0bNuk9c3477n+QKH+BlkmAG5v+G6Ml XQfUI8Z9rxIfywruEvTxCLa4Hpf0e9xcVklDhQAVvtDbXvZkGAIk/3j0lYSgBtZp URjyANqDTt2SOoWS2YPsrbLuBh1Y+42dA6L3b5raZ8n3OEx1STqWQgVJhOLk13yI /CEMSjkDAoGnEQWGbHYhOhtsjNd5+GrRBR2MHwju1W+a2KG2h1s6bfG99BR9havv XwBLh6Y/4C1V4NnecjqTzb1iJADJ9EdmT1n3CW92e+KggCVoef8mp9s37xQOWzMw kh367qG4Upa1wowrrNhk =NMXi -----END PGP SIGNATURE----- --JuXwPiQTWOt2ev7ci9JFbWTSadC9Gb79H--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55C9B2C8.6020406>