public inbox for cygwin-apps-cvs@sourceware.org help / color / mirror / Atom feed
From: Jon TURNEY <jturney@sourceware.org> To: cygwin-apps-cvs@sourceware.org Subject: [setup - the official Cygwin setup program] branch master, updated. release_2.920 Date: Sat, 2 Jul 2022 12:40:27 +0000 (GMT) [thread overview] Message-ID: <20220702124027.CD3EA3858C2F@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=df567cdb822e189ac1011024fffa77a70cc736bb commit df567cdb822e189ac1011024fffa77a70cc736bb Author: Christian Franke <christian.franke@t-online.de> Date: Wed Jun 29 16:51:47 2022 +0200 Clear filename on GUI after running perpetual preremove scripts https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=6fa3f022f1d98a27aec12c1c707ff960a6d47845 commit 6fa3f022f1d98a27aec12c1c707ff960a6d47845 Author: Christian Franke <christian.franke@t-online.de> Date: Wed Jun 29 19:57:26 2022 +0200 Also run stratum 'z' perpetual preremove scripts Diff: --- install.cc | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/install.cc b/install.cc index 6689a08d..1fdc699f 100644 --- a/install.cc +++ b/install.cc @@ -76,26 +76,28 @@ struct std_dirs_t { mode_t mode; }; -class Perpetual0RemoveFindVisitor : public FindVisitor +class PerpetualRemoveFindVisitor : public FindVisitor { public: - explicit Perpetual0RemoveFindVisitor (std::vector<Script> *scripts) - : _scripts(scripts) + PerpetualRemoveFindVisitor (std::vector<Script> *scripts, const std::string& stratum) + : _scripts(scripts), + stratum(stratum) {} virtual void visitFile(const std::string& basePath, const WIN32_FIND_DATA *theFile) { std::string fn = std::string("/etc/preremove/") + theFile->cFileName; Script script(fn); - if (script.is_p("0")) + if (script.is_p(stratum)) _scripts->push_back(Script (fn)); } - virtual ~ Perpetual0RemoveFindVisitor () {} + virtual ~ PerpetualRemoveFindVisitor () {} protected: - Perpetual0RemoveFindVisitor (Perpetual0RemoveFindVisitor const &); - Perpetual0RemoveFindVisitor & operator= (Perpetual0RemoveFindVisitor const &); + PerpetualRemoveFindVisitor (PerpetualRemoveFindVisitor const &); + PerpetualRemoveFindVisitor & operator= (PerpetualRemoveFindVisitor const &); private: std::vector<Script> *_scripts; + const std::string stratum; }; class Installer @@ -105,7 +107,7 @@ class Installer Installer(); void initDialog(); void progress (int bytes); - void preremovePerpetual0 (); + void preremovePerpetual (const std::string& stratum); void preremoveOne (packagemeta &); void uninstallOne (packagemeta &); void replaceOnRebootFailed (const std::string& fn); @@ -177,21 +179,22 @@ Installer::StandardDirs[] = { static int num_installs, num_uninstalls; void -Installer::preremovePerpetual0 () +Installer::preremovePerpetual (const std::string& stratum) { std::vector<Script> perpetual; - Perpetual0RemoveFindVisitor visitor (&perpetual); + PerpetualRemoveFindVisitor visitor (&perpetual, stratum); Find (cygpath ("/etc/preremove")).accept (visitor); if (perpetual.empty()) return; Progress.SetText1 (IDS_PROGRESS_PREREMOVE); - Progress.SetText2 ("0/Perpetual"); + Progress.SetText2 ((stratum + "/Perpetual").c_str ()); std::sort (perpetual.begin(), perpetual.end()); for (std::vector<Script>::iterator i = perpetual.begin (); i != perpetual.end (); ++i) { Progress.SetText3 (i->fullName ().c_str()); i->run(); } + Progress.SetText3 (""); } void @@ -904,7 +907,7 @@ do_install_thread (HINSTANCE h, HWND owner) /* start with uninstalls - remove files that new packages may replace */ Progress.SetBar2(0); - myInstaller.preremovePerpetual0 (); + myInstaller.preremovePerpetual ("0"); Progress.SetBar2(0); for (std::vector <packageversion>::iterator i = uninstall_q.begin (); @@ -916,6 +919,9 @@ do_install_thread (HINSTANCE h, HWND owner) Progress.SetBar2(std::distance(uninstall_q.begin(), i) + 1, uninstall_q.size()); } + Progress.SetBar2(0); + myInstaller.preremovePerpetual ("z"); + Progress.SetBar2(0); for (std::vector <packageversion>::iterator i = uninstall_q.begin (); i != uninstall_q.end (); ++i)
reply other threads:[~2022-07-02 12:40 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220702124027.CD3EA3858C2F@sourceware.org \ --to=jturney@sourceware.org \ --cc=cygwin-apps-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).