On Tue, Jan 13, 2015 at 4:09 PM, NGie Cooper <yaneurabeya_at_gmail.com> wrote: > On Tue, Jan 13, 2015 at 3:29 PM, Bryan Drewery <bdrewery_at_freebsd.org> wrote: >> On 1/13/2015 5:11 PM, Craig Rodrigues wrote: >>> Hi, >>> >>> Ahmed Kamal, a devops expert, is helping me to script the steps to >>> upgrade a cluster of FreeBSD machines. For certain machines, >>> we want to track the official FreeBSD releases and use freebsd-update >>> to install official updates. >>> >>> We found that when the invocation of freebsd-update was scripted >>> and not run via a real tty, we can into this error: >>> >>> "freebsd-update fetch should not be run non-interactively." >>> >>> There are various workarounds mentioned on various web pages. >>> However, should we modify freebsd-update so that it can work better >>> when not run via a real tty? This would make it more devops/automation >>> friendly. >>> >>> The closest thing I have found is "freebsd-update cron", which can fetch >>> the updates and run without a real tty. The only problem with >>> "freebsd-update cron" >>> is that it sleeps a random amount of time between 1 and 3600 seconds before >>> fetching the updates. This is OK when run in a cron job, >>> but not OK when run as part of a devops automation framework. >>> >>> Anybody have ideas as to the best way to proceed in fixing this in >>> freebsd-update? >>> -- >>> Craig >> >> >> sed -i '' -e 's,-t 0 ];,-t 0 ] \&\& [ 0 -eq 1 ],' /usr/sbin/freebsd-update >> >> This is untested. We'll likely put it in Poudriere as well. > > freebsd-update needs to grow a non-interactive option probably: > > 2375 read dummy </dev/tty > 2376 ${EDITOR} `pwd`/merge/new/${F} < /dev/tty > 2377 done < failed.merges > 2378 rm failed.merges $ grep -nr /dev/tty `which freebsd-update` 2375: read dummy </dev/tty 2376: ${EDITOR} `pwd`/merge/new/${F} < /dev/tty 2405: continuep < /dev/tty || return 1 2417: continuep < /dev/tty || return 1Received on Tue Jan 13 2015 - 23:12:27 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:54 UTC