Date: Tue, 05 Feb 2019 18:52:12 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 235538] [patch] freebsd-update: Try to avoid failing when network is unavailable Message-ID: <bug-235538-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D235538 Bug ID: 235538 Summary: [patch] freebsd-update: Try to avoid failing when network is unavailable Product: Base System Version: 12.0-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: bin Assignee: bugs@FreeBSD.org Reporter: rfraile@rfraile.eu Created attachment 201777 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D201777&action= =3Dedit Add fetch_check_connection function to freebsd-update Hello, Running freebsd-update in a system with limited resources (low power cpu an= d sd storage as disk for example) takes a long time (+5 hours in a RaspberryPi).= If we also have a poor network link dependent to a mobile 3G network, is more difficult to complete it properly. When freebsd-update execute the lines that calls phttpget, if the network is unavailable, it directly fails, throwing away the time spend previously. There is a workaround tunning phttpget with the HTTP_TIMEOUT environment variable, but it only works before doing the tcp connection. If it can't resolve the dns, it fails ending the execution. The solution that I include in the patch adds a call to the server previous= the phttpget execution, checking if it was ok or not, looping on it waiting 60 seconds until the next try if it fails. If the executions is made from cron= , it only loops once and fails. If you are looking over the upgrade and see that is stuck on that point, you have a chance to fix it, restart the modem, wait until you receive better connectivity or whatever, but it can continue. In the new function I use the fetch command because is used already on freebsd-update and its part of the base system. Also netcat or telnet can be used, but the environmental variables that can modify the fetch behaviour, = like http_proxy, aren't available on those alternatives. As well, I use for fetch the file latest.ssl because the other file that I found, pub.ssl, is a bit larger. I didn't find any other way to get a dumb = file like a readme.txt or similar in the updateN.freebsd.org servers. I tested it and works as expected. Thanks, --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-235538-227>