Aleksey Rybalkin wrote:
> On Fri, May 03, 2013 at 09:54:42PM -0500, Bruce Dubbs wrote:
>> I'm going to write a program to automatically identify out of date
>> packages for LFS. Has anyone already done such a beast?
>>
>> Has anyone else looked at this?
>
> Hi. I wrote something like that not long ago. Here some ideas you
> might find helpful:
>
> 1. Lots of packages use git tagging for new versions, so if you have
> local git clone, you can periodically pull and check for new tags. I
> use alias like that for sorting tags by date (works only for
> annotated tags -- not every project uses them):
>
> [alias]
> sorted-tags = for-each-ref --sort='*authordate' --format='%(tag)'
> refs/tags
> Without alias it can be used like that from the root of git cloned
> tree:
> git for-each-ref --sort='*authordate' --format='%(tag)' refs/tags
I'd prefer to not be quite so bleeding edge. Waiting unto there is a
tarball in the distribution directory seems to be a better fit for us.
> 2. The most reliable way I found to compare verions is using coreutils
> sort (newer versions have -V flag for sorting versions):
>
> BIGGER=`echo -e "$1\n$2" | sort -V | head -n 1`
This is nice. I wasn't aware of that capability but I'll use it.
> 3. I also found checking package versions in testing branches of other
> distributions quite handy. Arch Linux testing branch is particulary
> easy to work with. I periodically pull from these two repositories:
>
> git://projects.archlinux.org/svntogit/packages.git
> git://projects.archlinux.org/svntogit/community.git
>
> Parsing versions from these repositories is trivial -- just sourcing
> sh scripts and checking ${pkgver}. One caveat -- not everything is up
> to date in Arch Linux testing (but mostly everything, they are quite
> quick to update), so you need to use other sources too.
That's a consideration. I'm going to try to go direct to the
distribution directories, but I'll keep this in mind.
> 4. Some projects use special "announce" mailing lists to announce new
> versions, like gnu-announce for example. These mailing lists can be
> used manually alongside automated scripted version checking.
I know, but sometime the announcement is quite late.
> As for parsing file listings -- I thought about that, but think it is
> less reliable and more clunky way than everything above combined.
Not sure it's less reliable, but I agree it's clunky.
> The code for my version checker is in my git:
> https://github.com/alekseyrybalkin/kiin/blob/master/kiin
> The code is not very well organized, but you can lookup
> "prepare-check-updates", "check-updates" and "vercomp" strings.
> I check git tags for linux and linux-stable versions (to check other
> packages is in my TODO-list) and Arch Linux community/core repos.
I'll take a look. Thanks.
-- Bruce
--
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page