This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] incremental rebase


On 12/9/2014 5:43 AM, Corinna Vinschen wrote:
On Dec  8 15:52, Ken Brown wrote:
On 12/8/2014 11:48 AM, Achim Gratz wrote:
Ken Brown writes:
I'm not convinced that we need to worry so much about all these
details.  What if we just check (based on timestamps of files in
/etc/setup/*.lst.gz) whether anything has been installed into
/usr/info or /usr/share/info since we last did this check.  If so,
then just do exactly what the current update-info-dir.sh does.

We also need to track if something was deinstalled.  Unless we want to
force all packages to do the appropriate install-info calls themselves
in preremove and postinstall, of course.

autorebase can't get away with anything so simple, but it seems to me
that this is good enough for update_info_dir.

We can always fall back to what we are doing now, yes.  But I'd like to
see if it can be improved.

The attached script is what I had in mind.  It's better than what we have
now and could be a starting point.

Ken


#!/bin/bash

update () {
     rm -f /usr/share/info/dir.info /usr/share/info/dir
     for f in /usr/share/info/*
     do
	case "$f" in
	    *\**)
		;;
	    */dir|*/dir.info*)
		;;
	    *-[0123456789]*)
		;;
	    *)
		install-info --quiet $f /usr/share/info/dir
		;;
	esac
     done
}

update_needed=no
marker_file=/usr/share/info/.updated
if [ ! -f ${marker_file} ]
then
     update_needed=yes
else
     for f in $(find /etc/setup -type f -name '*.lst.gz' -newer ${marker_file})
     do
	if gzip -d -c ${f} | grep -q usr/share/info -
	then
	    update_needed=yes
	    break
	fi
     done
fi
if [ ${update_needed} = "yes" ]
then
     update
fi
touch ${marker_file}

Neat.

Achim, I'd be willing to ITA _update-info-dir and provide this script, but I'm also happy to defer to you if you want to improve it.

Ken


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]