Jalankan '/usr/sbin/freebsd-update.fixed fetch' terlebih dahulu
Poudriere mungkin harus memeriksa apakah freebsd-update menemukan pembaruan sebelum memintanya untuk menginstal pembaruan (mungkin tidak ada), untuk menghindari membingungkan pengguna dengan pesan di atas.
~/git/poudriere # grep 'Run.*first' `which freebsd-update` echo "Jalankan '$0 install' terlebih dahulu." echo "Jalankan '$0 ambil' terlebih dahulu."
Ini berasal dari freebsd-update
.
Tanpa lebih banyak konteks dalam laporan, saya tidak yakin di mana ini ditampilkan dan dalam kondisi apa.
Masalahnya adalah jail.sh menjalankan /usr/sbin/freebsd-update.fixed fetch install
. Jika fetch
menemukan bahwa tidak ada pembaruan yang diperlukan (misalnya, ini adalah rilis baru yang belum memiliki nasihat keamanan) maka install
mencetak pesan yang membingungkan.
Solusinya adalah dengan menjalankan /usr/sbin/freebsd-update.fixed fetch
, periksa apakah ada pembaruan yang diambil, lalu jalankan /usr/sbin/freebsd-update.fixed install
.
Bagaimana cara menentukan apakah ada pembaruan yang diambil?
Periksa apakah /var/db/freebsd-update/f465c3739385890c221dff1a05e578c6cae0d0430e46996d319db7439f884336-install
adalah symlink.
Saya lebih suka tidak melakukan pelanggaran lapisan seperti itu dan membuat Poudriere bergantung pada file internal freebsd-update seperti ini. Saya hanya akan menghapus pesannya (seperti yang dilakukan dengan kode lain seperti pemeriksaan tty).
Jika Poudriere dapat mendeteksi jika pengambilan baru saja dilakukan, lalu mengapa freebsd-update mencetak pesan?
mengapa freebsd-update mencetak pesan
Karena freebsd-update fetch install
adalah sinonim untuk freebsd-update fetch; freebsd-update install
.
Benar, tetapi Anda memberi tahu saya bahwa poudriere dapat mendeteksi jika pembaruan baru saja diambil, jadi freebsd-update install
harus dapat dan tidak mencetak pesan yang tidak berguna jika belum ada yang diambil. Perbandingan mtime sederhana akan bekerja pada ini seperti yang kita lakukan dengan pkg update
dengan hanya menampilkan pesan setelah pengambilan terakhir adalah periode waktu tertentu.
Ya, pembaruan freebsd mungkin harus menangani itu. Alasan saya tidak melakukannya pada awalnya adalah karena saya tidak ingin mendorong orang untuk mengunduh dan menginstal pembaruan secara membabi buta.
Tetapi pada titik ini bahkan jika saya memperbaiki pembaruan freebsd, poudriere akan menggunakan kode pembaruan freebsd lama selama beberapa tahun sehingga mengajarkan poudriere untuk menghapusnya akan menghemat kebingungan.
Komentar yang paling membantu
Ya, pembaruan freebsd mungkin harus menangani itu. Alasan saya tidak melakukannya pada awalnya adalah karena saya tidak ingin mendorong orang untuk mengunduh dan menginstal pembaruan secara membabi buta.
Tetapi pada titik ini bahkan jika saya memperbaiki pembaruan freebsd, poudriere akan menggunakan kode pembaruan freebsd lama selama beberapa tahun sehingga mengajarkan poudriere untuk menghapusnya akan menghemat kebingungan.