From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11785 invoked by alias); 6 Dec 2014 13:50:42 -0000 Mailing-List: contact cygwin-apps-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cygwin-apps-cvs-owner@sourceware.org Received: (qmail 11759 invoked by uid 10076); 6 Dec 2014 13:50:42 -0000 Message-ID: <20141206135042.11756.qmail@sourceware.org> From: gratz@sourceware.org Date: Sat, 06 Dec 2014 13:50:00 -0000 To: cygwin-apps-cvs@sourceware.org Subject: setup ChangeLog install.cc postinstall.cc scri ... User-Agent: Heirloom mailx 12.4 7/29/08 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2014-q4/txt/msg00023.txt.bz2 CVSROOT: /cvs/cygwin-apps Module name: setup Changes by: gratz@sourceware.org 2014-12-06 13:50:42 Modified files: . : ChangeLog install.cc postinstall.cc script.cc script.h Log message: implement minimal stratified postinstall * install.cc (do_install_thread): Remove initialization for run_script. * postinstall.cc (do_postinstall_thread): Remove initialization for run_script. Implement stratified postinstall (hardcode three strata for now). For each stratum, run perpetual scripts first after sorting them as ASCII, then the postinstall scripts just installed, then check for dormant scripts in postinstall and try to run those. (PerpetualFindVisitor): New helper class to pick up perpetual scripts. (RunFindVisitor): Use new Script member function and pick up only runnable non-perpetual scripts. * script.h (Script::baseName): Add private variable. (Script::scriptExtension): Ditto. (Script::scriptStratum): Ditto (Script::scriptType): Ditto (Script::allowedStrata): Ditto (Script::allowedTypes): Ditto (Script::match): New private member function. (Script::not_p): New public member function to check for non-perpetual runnable script. (Script::is_p): Ditto, but for perpetual scripts. (Script::operator ==): Qualify as const. (Script::operator <): New const qualified, used for sorting as ASCII. * script.cc (class Script): Implement those additional members. (run): Implement using the new member variables and std::string functions instead of C string manipulations. (isAScript): Ditto. (fullName): Ditto. (baseName): Ditto. (Script): Extend initialization section and calculate values for member variables. Move initialization for run_script into the constructor. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/setup/ChangeLog.diff?cvsroot=cygwin-apps&r1=2.856&r2=2.857 http://sourceware.org/cgi-bin/cvsweb.cgi/setup/install.cc.diff?cvsroot=cygwin-apps&r1=2.111&r2=2.112 http://sourceware.org/cgi-bin/cvsweb.cgi/setup/postinstall.cc.diff?cvsroot=cygwin-apps&r1=2.30&r2=2.31 http://sourceware.org/cgi-bin/cvsweb.cgi/setup/script.cc.diff?cvsroot=cygwin-apps&r1=2.43&r2=2.44 http://sourceware.org/cgi-bin/cvsweb.cgi/setup/script.h.diff?cvsroot=cygwin-apps&r1=2.15&r2=2.16