Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Detecting kernel version upgrade
On Dec 6, 1:32pm, "William D. Jones" wrote:
}
} I use a cron script to pull changes from CVS and rebuild the NetBSD
} distributions for a variety of architectures each night. As expected, builds
} do not always succeed because the source tree is not guaranteed to compile.
} Most of these errors will fix themselves eventually. However, occasionally,
} I will run into errors that require a full rebuild. In particular, any time
} there is a kernel version upgrade, the builds will fail until I manually run
} a script to rebuild distributions from the beginning. As an example, such an
} error may look as follows:
}
} ======= 8 extra files in DESTDIR =========
} Files in DESTDIR but missing from flist.
} File is obsolete or flist is out of date ?
} ------------------------------------------
} ./usr/X11R7/lib/libxcb-randr.so.0
} ./usr/X11R7/lib/libxcb-randr.so.0.1
} ./usr/X11R7/lib/libxcb-sync.so.0
} ./usr/X11R7/lib/libxcb-sync.so.0.1
} ./usr/X11R7/lib/libxcb.so.1
} ./usr/X11R7/lib/libxcb.so.1.1
} ./usr/lib/libssh.so.22
} ./usr/lib/libssh.so.22.0
} ========= end of 8 extra files ===========
As pointed out by others, this has absolutely nothing to do
with the kernel version.
} For space reasons, I do not capture the output from each invocation of
} build.sh each night :P. I also cannot always check the build logs from my
} cron scripts each night (sometimes once a week). I've been looking into
} trying to autodetect kernel version upgrades so I can full rebuild without
The kernel version is located in sys/sys/param.h. You grep
it out with something like this:
grep __NetBSD_Version__ sys/sys/param.h
and store it. If it changes, you know that the kernel version has
changed.
} needing to manually run the script. The best I've come up with is the
} following grep command:
}
} ./gen_i386build.sh -u 2> /dev/null | grep -q "Files in DESTDIR but missing
} from flist."; echo $?
}
} Ignoring the contrived example above, this requires saving output to an
} intermediate file; I need both the output of build.sh and grep to detect
} whether to rebuild, fail, or continue, so a pipe in non-bash will not work
} in my cron scripts. While I can't guard against all errors, is it possible
} to programmatically (and reliably) detect when a kernel version upgrade
} occurred so I can tailor my cron scripts to do a full rebuild during those
} cases? Even better would be to detect a kernel version upgrade BEFORE
} beginning the builds :).
}
} As always, thanks in advance for any help.
}
} Sincerely,
}
} --
} William D. Jones
} Rowan University | ECE | 2012
} Member IEEE
} Member Tau Beta Pi
} thor0505%comcast.net@localhost
} Message sent using 'Windows Live Mail' client.
}
}-- End of excerpt from "William D. Jones"
Home |
Main Index |
Thread Index |
Old Index