Date: Thu, 28 Jan 2021 03:23:57 +0900 (JST) From: Yasuhiro Kimura <yasu@utahime.org> To: freebsd-ports@freebsd.org Subject: Re: List of packages upgraded last time `pkg upgrade` was executed Message-ID: <20210128.032357.1244236311987046987.yasu@utahime.org> In-Reply-To: <20210127100557.4cae09a8@bsd64.grem.de> References: <20210127.105722.43271801537229412.yasu@utahime.org> <YBEl2jz%2B3om7wEIz@straylight.m.ringlet.net> <20210127100557.4cae09a8@bsd64.grem.de>
next in thread | previous in thread | raw e-mail | index | archive | help
From: Michael Gmelin <freebsd@grem.de> Subject: Re: List of packages upgraded last time `pkg upgrade` was executed Date: Wed, 27 Jan 2021 10:05:57 +0100 > This will give you a list of all packages that were updated/installed > last: > > pkg query -e %t=$(pkg query %t | sort -n | tail -n1) %n-%v I tried this but unfortunately it doesn't seem to work as is expected. On the host I tried it, following packages are upgraded when I did `pkg upgrade` last time. p5-URI-5.06 p5-Module-CoreList-5.20210120 rubygem-bundler-2.2.7_1,1 sudo-1.9.5p2 1611721387 And I got following result. yasu@eastasia[1213]% pkg query -e %t=$(pkg query %t | sort -n | tail -n1) %n-%v p5-Module-CoreList-5.20210120 p5-URI-5.06 yasu@eastasia[1213]% So I checked timestamp of install packages. yasu@eastasia[1216]% pkg query -a '%n-%v %t' | sort -k 2 -n -r | head -10 ~ p5-URI-5.06 1611721389 p5-Module-CoreList-5.20210120 1611721389 rubygem-bundler-2.2.7_1,1 1611721388 sudo-1.9.5p2 1611721387 p5-Config-General-2.63 1611685127 libunwind-20201110 1611685127 bind916-9.16.11 1611685127 zstd-1.4.8 1611685126 sqlite3-3.34.1,1 1611685126 bind-tools-9.16.11 1611685125 yasu@eastasia[1217]% As you can see timestamps of rubygem-bundler-2.2.7_1,1 and sudo-1.9.5p2 are smaller than that of p5-URI-5.06 and p5-Module-CoreList-5.20210120. So they aren't included in the list. > As far as I can tell, packages installed by the same pkg invocation run > share the same installation timestamp (I didn't check the pkg sources, > but that's what appears to be the case), According to the above result, it doesn't seem to be true. And I think it's quite possible. When packages are upgraded they are upgraded not in parallel but sequentially. So let me assume following situation. * Pakcage A and B are to be upgraded. * A is upgraded first and B is next. * Both are quite large package. * Host is low-spec. In this case upgrade of each package may take a few minutes. And it result in that there is difference of a few minites between the timestamps of them after upgrade. > If you use a script to do upgrades, you could store the timestamp as > part of that and do something like this: > > touch /tmp/lastupgrade > pkg upgrade > # then, later: > pkg query -e "%t>=$(stat -f %m /tmp/lastupgrade)" %n-%v This didn't hit upon me and I think it's really excellent way to use file for timestamp. I'll use it in my shell script. Thank you for letting me know. --- Yasuhiro Kimura
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210128.032357.1244236311987046987.yasu>