* [PATCH setup 00/10] Various setup patches @ 2017-05-23 16:46 Jon Turney 2017-05-23 16:47 ` [PATCH setup 01/10] isBinary() should return true for orphaned packages Jon Turney ` (7 more replies) 0 siblings, 8 replies; 24+ messages in thread From: Jon Turney @ 2017-05-23 16:46 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney Oh, I think I can see a bit of floor over there! Jon Turney (10): isBinary() should return true for orphaned packages Correctly calculate total data to checksum when using IncludeSource Rename category "Misc" to "Orphaned" Make PrereqChecker::setTrust() a static method Move and rename dumpAndList() Fold IniDBBuilderPackage::buildInstallSize() into buildPackageInstall() Fold build(Install|Source)(MD5|SHA512) into buildPackage(Install|Source) Fix infinite recursion in grammar for depends Improve error recovery in setup.ini parsing Remove OR from grammar IniDBBuilderPackage.cc | 88 ++++++++++++++++++++++++++------------------------ IniDBBuilderPackage.h | 21 ++++++++---- Makefile.am | 1 + ScanFindVisitor.cc | 4 +-- choose.cc | 5 ++- inilex.ll | 3 +- iniparse.yy | 26 ++++++--------- install.cc | 2 +- package_db.cc | 2 +- package_depends.cc | 33 +++++++++++++++++++ package_depends.h | 3 ++ package_meta.cc | 8 ++--- package_version.cc | 18 ----------- package_version.h | 3 -- prereq.h | 2 +- 15 files changed, 118 insertions(+), 101 deletions(-) create mode 100644 package_depends.cc -- 2.12.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH setup 01/10] isBinary() should return true for orphaned packages 2017-05-23 16:46 [PATCH setup 00/10] Various setup patches Jon Turney @ 2017-05-23 16:47 ` Jon Turney 2017-05-23 16:47 ` [PATCH setup 06/10] Fold IniDBBuilderPackage::buildInstallSize() into buildPackageInstall() Jon Turney ` (6 subsequent siblings) 7 siblings, 0 replies; 24+ messages in thread From: Jon Turney @ 2017-05-23 16:47 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney Test added in c23d96d6 is incorrect and results in orphaned packages being omitted from picker. --- package_meta.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_meta.cc b/package_meta.cc index cffb5b7..b1db191 100644 --- a/package_meta.cc +++ b/package_meta.cc @@ -546,7 +546,7 @@ packagemeta::isBinary () const { for (set<packageversion>::iterator i=versions.begin(); i != versions.end(); ++i) - if ((i->Type() == package_binary) && i->accessible()) + if ((i->Type() == package_binary) && (i->accessible() || (*i == installed))) return true; return false; -- 2.12.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH setup 06/10] Fold IniDBBuilderPackage::buildInstallSize() into buildPackageInstall() 2017-05-23 16:46 [PATCH setup 00/10] Various setup patches Jon Turney 2017-05-23 16:47 ` [PATCH setup 01/10] isBinary() should return true for orphaned packages Jon Turney @ 2017-05-23 16:47 ` Jon Turney 2017-05-23 16:47 ` [PATCH setup 03/10] Rename category "Misc" to "Orphaned" Jon Turney ` (5 subsequent siblings) 7 siblings, 0 replies; 24+ messages in thread From: Jon Turney @ 2017-05-23 16:47 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney As mentioned in 5a3799dc, this ripples through into ScanFindVisitor as well. --- IniDBBuilderPackage.cc | 10 +++------- IniDBBuilderPackage.h | 3 +-- ScanFindVisitor.cc | 4 ++-- iniparse.yy | 2 +- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/IniDBBuilderPackage.cc b/IniDBBuilderPackage.cc index b5b5f4c..c90bfe3 100644 --- a/IniDBBuilderPackage.cc +++ b/IniDBBuilderPackage.cc @@ -119,9 +119,11 @@ IniDBBuilderPackage::buildPackageLDesc (const std::string& theDesc) } void -IniDBBuilderPackage::buildPackageInstall (const std::string& path) +IniDBBuilderPackage::buildPackageInstall (const std::string& path, + const std::string& size) { process_src (*cbpv.source(), path); + setSourceSize (*cbpv.source(), size); } void @@ -198,12 +200,6 @@ IniDBBuilderPackage::buildBeginDepends () } void -IniDBBuilderPackage::buildInstallSize (const std::string &size) -{ - setSourceSize (*cbpv.source(), size); -} - -void IniDBBuilderPackage::buildInstallSHA512 (unsigned char const *sha512) { if (sha512 && !cbpv.source()->sha512_isSet) { diff --git a/IniDBBuilderPackage.h b/IniDBBuilderPackage.h index 4df1bdb..1dab41b 100644 --- a/IniDBBuilderPackage.h +++ b/IniDBBuilderPackage.h @@ -34,13 +34,12 @@ public: void buildPackageVersion (const std::string& ); void buildPackageSDesc (const std::string& ); void buildPackageLDesc (const std::string& ); - void buildPackageInstall (const std::string& ); + void buildPackageInstall (const std::string&, const std::string&); void buildPackageSource (const std::string&, const std::string&); void buildPackageTrust (int); void buildPackageCategory (const std::string& ); void buildBeginDepends (); - void buildInstallSize (const std::string& ); void buildInstallSHA512 (unsigned char const[64]); void buildSourceSHA512 (unsigned char const[64]); void buildInstallMD5 (unsigned char const[16]); diff --git a/ScanFindVisitor.cc b/ScanFindVisitor.cc index 02cd6e8..14c3722 100644 --- a/ScanFindVisitor.cc +++ b/ScanFindVisitor.cc @@ -46,8 +46,8 @@ ScanFindVisitor::visitFile(const std::string& basePath, if (!f.what.size()) { //assume binary - _Builder.buildPackageInstall (basePath + theFile->cFileName); - _Builder.buildInstallSize(stringify(theFile->nFileSizeLow)); + _Builder.buildPackageInstall (basePath + theFile->cFileName, + stringify(theFile->nFileSizeLow)); } else // patch or src, assume src until someone complains diff --git a/iniparse.yy b/iniparse.yy index 2480cc6..98b51bb 100644 --- a/iniparse.yy +++ b/iniparse.yy @@ -96,7 +96,7 @@ singleitem /* non-empty */ | T_OTHER NL { iniBuilder->buildPackageTrust (TRUST_OTHER); } | SOURCEPACKAGE source NL | CATEGORY categories NL - | INSTALL STRING STRING { iniBuilder->buildPackageInstall ($2); iniBuilder->buildInstallSize($3);} installchksum NL + | INSTALL STRING STRING { iniBuilder->buildPackageInstall ($2, $3);} installchksum NL | SOURCE STRING STRING sourcechksum NL {iniBuilder->buildPackageSource ($2, $3);} | DEPENDS { iniBuilder->buildBeginDepends(); } versionedpackagelist NL | REQUIRES { iniBuilder->buildBeginDepends(); } versionedpackagelistsp NL -- 2.12.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH setup 03/10] Rename category "Misc" to "Orphaned" 2017-05-23 16:46 [PATCH setup 00/10] Various setup patches Jon Turney 2017-05-23 16:47 ` [PATCH setup 01/10] isBinary() should return true for orphaned packages Jon Turney 2017-05-23 16:47 ` [PATCH setup 06/10] Fold IniDBBuilderPackage::buildInstallSize() into buildPackageInstall() Jon Turney @ 2017-05-23 16:47 ` Jon Turney 2017-05-23 16:47 ` [PATCH setup 07/10] Fold build(Install|Source)(MD5|SHA512) into buildPackage(Install|Source) Jon Turney ` (4 subsequent siblings) 7 siblings, 0 replies; 24+ messages in thread From: Jon Turney @ 2017-05-23 16:47 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney Packages which have no category are placed into this category. Since a category is mandatory for all packages in setup.ini, this effectively means packages which are "orphaned" in the sense that they are installed, but don't appear in any setup.ini. Usually it's safe to uninstall such packages (with --delete-orphans), unless you are actually using them, or have locally built packages which rely on them. --- choose.cc | 2 +- package_db.cc | 2 +- package_meta.cc | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/choose.cc b/choose.cc index 2016caa..4ac5aae 100644 --- a/choose.cc +++ b/choose.cc @@ -260,7 +260,7 @@ ChooserPage::OnInit () bool wanted = pkg.isManuallyWanted(); bool deleted = pkg.isManuallyDeleted(); bool basemisc = (pkg.categories.find ("Base") != pkg.categories.end () - || pkg.categories.find ("Misc") != pkg.categories.end ()); + || pkg.categories.find ("Orphaned") != pkg.categories.end ()); bool upgrade = wanted || (!pkg.installed && basemisc) || UpgradeAlsoOption || !hasManualSelections; bool install = wanted && !deleted && !pkg.installed; diff --git a/package_db.cc b/package_db.cc index 3978421..dbec17e 100644 --- a/package_db.cc +++ b/package_db.cc @@ -435,7 +435,7 @@ packagedb::defaultTrust (trusts trust) packagemeta & pkg = *(i->second); if (pkg.installed || pkg.categories.find ("Base") != pkg.categories.end () - || pkg.categories.find ("Misc") != pkg.categories.end ()) + || pkg.categories.find ("Orphaned") != pkg.categories.end ()) { pkg.desired = pkg.trustp (true, trust); if (pkg.desired) diff --git a/package_meta.cc b/package_meta.cc index b1db191..208b948 100644 --- a/package_meta.cc +++ b/package_meta.cc @@ -464,7 +464,7 @@ packagemeta::set_action (_actions action, packageversion const &default_version) { if (installed || categories.find ("Base") != categories.end () - || categories.find ("Misc") != categories.end ()) + || categories.find ("Orphaned") != categories.end ()) { desired = default_version; if (desired) @@ -688,7 +688,7 @@ packagemeta::hasNoCategories() const void packagemeta::setDefaultCategories() { - add_category ("Misc"); + add_category ("Orphaned"); } void -- 2.12.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH setup 07/10] Fold build(Install|Source)(MD5|SHA512) into buildPackage(Install|Source) 2017-05-23 16:46 [PATCH setup 00/10] Various setup patches Jon Turney ` (2 preceding siblings ...) 2017-05-23 16:47 ` [PATCH setup 03/10] Rename category "Misc" to "Orphaned" Jon Turney @ 2017-05-23 16:47 ` Jon Turney 2017-05-23 16:47 ` [PATCH setup 04/10] Make PrereqChecker::setTrust() a static method Jon Turney ` (3 subsequent siblings) 7 siblings, 0 replies; 24+ messages in thread From: Jon Turney @ 2017-05-23 16:47 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney Fold build(Install|Source)(MD5|SHA512) into buildPackage(Install|Source), so the (pathname, size, hash) information from an install: or source: line is all processed together. --- IniDBBuilderPackage.cc | 76 ++++++++++++++++++++++++++++---------------------- IniDBBuilderPackage.h | 20 +++++++++---- iniparse.yy | 16 +++-------- 3 files changed, 60 insertions(+), 52 deletions(-) diff --git a/IniDBBuilderPackage.cc b/IniDBBuilderPackage.cc index c90bfe3..ad1cc88 100644 --- a/IniDBBuilderPackage.cc +++ b/IniDBBuilderPackage.cc @@ -120,15 +120,37 @@ IniDBBuilderPackage::buildPackageLDesc (const std::string& theDesc) void IniDBBuilderPackage::buildPackageInstall (const std::string& path, - const std::string& size) + const std::string& size, + char *hash, + hashType type) { process_src (*cbpv.source(), path); setSourceSize (*cbpv.source(), size); + + switch (type) { + case hashType::sha512: + if (hash && !cbpv.source()->sha512_isSet) + { + memcpy (cbpv.source()->sha512sum, hash, sizeof(cbpv.source()->sha512sum)); + cbpv.source()->sha512_isSet = true; + } + break; + + case hashType::md5: + if (hash && !cbpv.source()->md5.isSet()) + cbpv.source()->md5.set((unsigned char *)hash); + break; + + case hashType::none: + break; + } } void IniDBBuilderPackage::buildPackageSource (const std::string& path, - const std::string& size) + const std::string& size, + char *hash, + hashType type) { packagedb db; /* get an appropriate metadata */ @@ -168,6 +190,24 @@ IniDBBuilderPackage::buildPackageSource (const std::string& path, spec.setVersion (cbpv.Canonical_version()); setSourceSize (*cspv.source(), size); + + switch (type) { + case hashType::sha512: + if (hash && !cspv.source()->sha512_isSet) + { + memcpy (cspv.source()->sha512sum, hash, sizeof(cspv.source()->sha512sum)); + cspv.source()->sha512_isSet = true; + } + break; + + case hashType::md5: + if (hash && !cspv.source()->md5.isSet()) + cspv.source()->md5.set((unsigned char *)hash); + break; + + case hashType::none: + break; + } } void @@ -200,38 +240,6 @@ IniDBBuilderPackage::buildBeginDepends () } void -IniDBBuilderPackage::buildInstallSHA512 (unsigned char const *sha512) -{ - if (sha512 && !cbpv.source()->sha512_isSet) { - memcpy (cbpv.source()->sha512sum, sha512, sizeof cbpv.source()->sha512sum); - cbpv.source()->sha512_isSet = true; - } -} - -void -IniDBBuilderPackage::buildSourceSHA512 (unsigned char const *sha512) -{ - if (sha512 && !cspv.source()->sha512_isSet) { - memcpy (cspv.source()->sha512sum, sha512, sizeof cspv.source()->sha512sum); - cspv.source()->sha512_isSet = true; - } -} - -void -IniDBBuilderPackage::buildInstallMD5 (unsigned char const *md5) -{ - if (md5 && !cbpv.source()->md5.isSet()) - cbpv.source()->md5.set(md5); -} - -void -IniDBBuilderPackage::buildSourceMD5 (unsigned char const *md5) -{ - if (md5 && !cspv.source()->md5.isSet()) - cspv.source()->md5.set(md5); -} - -void IniDBBuilderPackage::buildBeginBuildDepends () { #if DEBUG diff --git a/IniDBBuilderPackage.h b/IniDBBuilderPackage.h index 1dab41b..766a5ef 100644 --- a/IniDBBuilderPackage.h +++ b/IniDBBuilderPackage.h @@ -18,10 +18,13 @@ #include <vector> #include "package_version.h" + class IniParseFeedback; class packagesource; class packagemeta; +enum class hashType { none, md5, sha512 }; + class IniDBBuilderPackage { public: @@ -34,16 +37,21 @@ public: void buildPackageVersion (const std::string& ); void buildPackageSDesc (const std::string& ); void buildPackageLDesc (const std::string& ); - void buildPackageInstall (const std::string&, const std::string&); - void buildPackageSource (const std::string&, const std::string&); + void buildPackageInstall (const std::string&, const std::string&, + char *, hashType); + void buildPackageSource (const std::string&, const std::string&, + char *, hashType); + + // helpers for ScanFindVisitor + void buildPackageInstall (const std::string& path, const std::string& size) + { buildPackageInstall(path, size, NULL, hashType::none); } + void buildPackageSource (const std::string& path, const std::string& size) + { buildPackageSource(path, size, NULL, hashType::none); } + void buildPackageTrust (int); void buildPackageCategory (const std::string& ); void buildBeginDepends (); - void buildInstallSHA512 (unsigned char const[64]); - void buildSourceSHA512 (unsigned char const[64]); - void buildInstallMD5 (unsigned char const[16]); - void buildSourceMD5 (unsigned char const[16]); void buildBeginBuildDepends (); void buildMessage (const std::string&, const std::string&); void buildSourceName (const std::string& ); diff --git a/iniparse.yy b/iniparse.yy index 98b51bb..d768400 100644 --- a/iniparse.yy +++ b/iniparse.yy @@ -96,8 +96,10 @@ singleitem /* non-empty */ | T_OTHER NL { iniBuilder->buildPackageTrust (TRUST_OTHER); } | SOURCEPACKAGE source NL | CATEGORY categories NL - | INSTALL STRING STRING { iniBuilder->buildPackageInstall ($2, $3);} installchksum NL - | SOURCE STRING STRING sourcechksum NL {iniBuilder->buildPackageSource ($2, $3);} + | INSTALL STRING STRING MD5 NL { iniBuilder->buildPackageInstall ($2, $3, $4, hashType::md5); } + | INSTALL STRING STRING SHA512 NL { iniBuilder->buildPackageInstall ($2, $3, $4, hashType::sha512); } + | SOURCE STRING STRING MD5 NL {iniBuilder->buildPackageSource ($2, $3, $4, hashType::md5); } + | SOURCE STRING STRING SHA512 NL {iniBuilder->buildPackageSource ($2, $3, $4, hashType::sha512); } | DEPENDS { iniBuilder->buildBeginDepends(); } versionedpackagelist NL | REQUIRES { iniBuilder->buildBeginDepends(); } versionedpackagelistsp NL | BUILDDEPENDS { iniBuilder->buildBeginBuildDepends(); } versionedpackagelist NL @@ -112,16 +114,6 @@ categories: /* empty */ | categories STRING { iniBuilder->buildPackageCategory ($2); } ; -installchksum /* non-empty */ - : MD5 { iniBuilder->buildInstallMD5 ((unsigned char *)$1);} - | SHA512 { iniBuilder->buildInstallSHA512 ((unsigned char *)$1);} - ; - -sourcechksum /* non-empty */ - : MD5 { iniBuilder->buildSourceMD5 ((unsigned char *)$1); } - | SHA512 { iniBuilder->buildSourceSHA512 ((unsigned char *)$1); } - ; - source /* non-empty */ : STRING { iniBuilder->buildSourceName ($1); } versioninfo ; -- 2.12.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH setup 04/10] Make PrereqChecker::setTrust() a static method 2017-05-23 16:46 [PATCH setup 00/10] Various setup patches Jon Turney ` (3 preceding siblings ...) 2017-05-23 16:47 ` [PATCH setup 07/10] Fold build(Install|Source)(MD5|SHA512) into buildPackage(Install|Source) Jon Turney @ 2017-05-23 16:47 ` Jon Turney 2017-05-23 16:47 ` [PATCH setup 05/10] Move and rename dumpAndList() Jon Turney ` (2 subsequent siblings) 7 siblings, 0 replies; 24+ messages in thread From: Jon Turney @ 2017-05-23 16:47 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney Rather than instantiating PrereqChecker just to call an accessor method which changes a static data member, make that method static as well. --- choose.cc | 3 +-- prereq.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/choose.cc b/choose.cc index 4ac5aae..1bc4c0b 100644 --- a/choose.cc +++ b/choose.cc @@ -373,8 +373,7 @@ ChooserPage::changeTrust(trusts aTrust) SetBusy (); chooser->defaultTrust (aTrust); chooser->refresh(); - PrereqChecker p; - p.setTrust (aTrust); + PrereqChecker::setTrust (aTrust); ClearBusy (); } diff --git a/prereq.h b/prereq.h index 2aed63a..163af6e 100644 --- a/prereq.h +++ b/prereq.h @@ -45,7 +45,7 @@ public: void selectMissing (); // notes the current trust (for use in selectMissing) - void setTrust (trusts t) { theTrust = t; }; + static void setTrust (trusts t) { theTrust = t; }; private: -- 2.12.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH setup 05/10] Move and rename dumpAndList() 2017-05-23 16:46 [PATCH setup 00/10] Various setup patches Jon Turney ` (4 preceding siblings ...) 2017-05-23 16:47 ` [PATCH setup 04/10] Make PrereqChecker::setTrust() a static method Jon Turney @ 2017-05-23 16:47 ` Jon Turney 2017-05-23 16:47 ` [PATCH setup 02/10] Correctly calculate total data to checksum when using IncludeSource Jon Turney 2017-05-23 16:59 ` [PATCH setup 08/10] Fix infinite recursion in grammar for depends Jon Turney 7 siblings, 0 replies; 24+ messages in thread From: Jon Turney @ 2017-05-23 16:47 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney --- IniDBBuilderPackage.cc | 4 ++-- Makefile.am | 1 + package_depends.cc | 33 +++++++++++++++++++++++++++++++++ package_depends.h | 3 +++ package_meta.cc | 2 +- package_version.cc | 18 ------------------ package_version.h | 3 --- 7 files changed, 40 insertions(+), 24 deletions(-) create mode 100644 package_depends.cc diff --git a/IniDBBuilderPackage.cc b/IniDBBuilderPackage.cc index 7f500d6..b5b5f4c 100644 --- a/IniDBBuilderPackage.cc +++ b/IniDBBuilderPackage.cc @@ -77,7 +77,7 @@ IniDBBuilderPackage::buildPackage (const std::string& name) { Log (LOG_BABBLE) << "Version " << cbpv.Canonical_version() << endLog; Log (LOG_BABBLE) << "Depends:"; - dumpAndList (cbpv.depends(), Log (LOG_BABBLE)); + dumpPackageDepends (cbpv.depends(), Log (LOG_BABBLE)); Log (LOG_BABBLE) << endLog; } } @@ -191,7 +191,7 @@ IniDBBuilderPackage::buildBeginDepends () #if DEBUG Log (LOG_BABBLE) << "Beginning of a depends statement for " << cp->name << endLog; - dumpAndList (currentNodeList, Log (LOG_BABBLE)); + dumpPackageDepends (currentNodeList, Log (LOG_BABBLE)); #endif currentSpec = NULL; currentNodeList = cbpv.depends(); diff --git a/Makefile.am b/Makefile.am index af89af5..d4c8472 100644 --- a/Makefile.am +++ b/Makefile.am @@ -203,6 +203,7 @@ inilint_SOURCES = \ package_db.cc \ package_db.h \ package_depends.h \ + package_depends.cc \ package_meta.cc \ package_meta.h \ package_source.cc \ diff --git a/package_depends.cc b/package_depends.cc new file mode 100644 index 0000000..e288c0b --- /dev/null +++ b/package_depends.cc @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2017 Jon Turney + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * A copy of the GNU General Public License can be found at + * http://www.gnu.org/ + * + */ + +#include <package_depends.h> +#include <LogSingleton.h> + +void +dumpPackageDepends (PackageDepends const *currentList, + std::ostream &logger) +{ + if (currentList) + { + Log (LOG_BABBLE) << "( "; + PackageDepends::const_iterator i = currentList->begin(); + while (true) + { + if (i == currentList->end()) break; + Log (LOG_BABBLE) << **i << " "; + ++i; + } + Log (LOG_BABBLE) << ")"; + } +} diff --git a/package_depends.h b/package_depends.h index 05e0dc6..af3fa01 100644 --- a/package_depends.h +++ b/package_depends.h @@ -14,8 +14,11 @@ #ifndef PACKAGE_DEPENDS_H #define PACKAGE_DEPENDS_H +#include <PackageSpecification.h> #include <vector> typedef std::vector <PackageSpecification *> PackageDepends; +void dumpPackageDepends (PackageDepends const *currentList, std::ostream &); + #endif // PACKAGE_DEPENDS_H diff --git a/package_meta.cc b/package_meta.cc index 208b948..b35b554 100644 --- a/package_meta.cc +++ b/package_meta.cc @@ -564,7 +564,7 @@ packagemeta::logAllVersions () const { std::ostream & logger = Log (LOG_BABBLE); logger << " depends="; - dumpAndList(i->depends(), logger); + dumpPackageDepends(i->depends(), logger); logger << endLog; } } diff --git a/package_version.cc b/package_version.cc index 6a903c5..f022e70 100644 --- a/package_version.cc +++ b/package_version.cc @@ -412,21 +412,3 @@ _packageversion::scripts() { return scripts_; } - -void -dumpAndList (PackageDepends const *currentList, - std::ostream &logger) -{ - if (currentList) - { - Log (LOG_BABBLE) << "( "; - PackageDepends::const_iterator i = currentList->begin(); - while (true) - { - if (i == currentList->end()) break; - Log (LOG_BABBLE) << **i << " "; - ++i; - } - Log (LOG_BABBLE) << ")"; - } -} diff --git a/package_version.h b/package_version.h index ff16eb8..d70eda0 100644 --- a/package_version.h +++ b/package_version.h @@ -196,7 +196,4 @@ protected: std::vector <Script> scripts_; }; -// not sure where this belongs :}. -void dumpAndList (PackageDepends const *currentList, std::ostream &); - #endif /* SETUP_PACKAGE_VERSION_H */ -- 2.12.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH setup 02/10] Correctly calculate total data to checksum when using IncludeSource 2017-05-23 16:46 [PATCH setup 00/10] Various setup patches Jon Turney ` (5 preceding siblings ...) 2017-05-23 16:47 ` [PATCH setup 05/10] Move and rename dumpAndList() Jon Turney @ 2017-05-23 16:47 ` Jon Turney 2017-05-23 16:59 ` [PATCH setup 08/10] Fix infinite recursion in grammar for depends Jon Turney 7 siblings, 0 replies; 24+ messages in thread From: Jon Turney @ 2017-05-23 16:47 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney Correctly account for source packages installed due to IncludeSource in the total amount of data to checksum. The fact that this obvious bug is unreported kind of suggests that no-one is actually using this option... --- install.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.cc b/install.cc index 3721047..79ddd20 100644 --- a/install.cc +++ b/install.cc @@ -745,7 +745,7 @@ do_install_thread (HINSTANCE h, HWND owner) md5sum_total_bytes += pkg.desired.source()->size; } - if (pkg.desired.sourcePackage ().picked()) + if (pkg.desired.sourcePackage ().picked() || IncludeSource) { md5sum_total_bytes += pkg.desired.sourcePackage ().source()->size; } -- 2.12.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH setup 08/10] Fix infinite recursion in grammar for depends 2017-05-23 16:46 [PATCH setup 00/10] Various setup patches Jon Turney ` (6 preceding siblings ...) 2017-05-23 16:47 ` [PATCH setup 02/10] Correctly calculate total data to checksum when using IncludeSource Jon Turney @ 2017-05-23 16:59 ` Jon Turney 2017-05-23 16:59 ` [PATCH setup 09/10] Improve error recovery in setup.ini parsing Jon Turney 2017-05-23 16:59 ` [PATCH setup 10/10] Remove OR from grammar Jon Turney 7 siblings, 2 replies; 24+ messages in thread From: Jon Turney @ 2017-05-23 16:59 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney Allowing listseparator to be empty allows an infinite recursion in the versionedpackagelist rule Also make the comment documenting versionedpackageentry is non-empty consistent with all other similar comments Also allow lower-case depends: --- inilex.ll | 2 +- iniparse.yy | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/inilex.ll b/inilex.ll index 798a04b..b454f0f 100644 --- a/inilex.ll +++ b/inilex.ll @@ -121,7 +121,7 @@ B64 [a-zA-Z0-9_-] "category:"|"Section:" return CATEGORY; "requires:" return REQUIRES; -"Depends:" return DEPENDS; +[dD]"epends:" return DEPENDS; ^{STR}":" ignore_line (); diff --git a/iniparse.yy b/iniparse.yy index d768400..8ee7dc3 100644 --- a/iniparse.yy +++ b/iniparse.yy @@ -132,12 +132,12 @@ versionedpackagelistsp /* non-empty */ | versionedpackagelistsp versionedpackageentry ; -listseparator: /* empty */ - | COMMA +listseparator /* non-empty */ + : COMMA | COMMA NL ; -versionedpackageentry /* empty not allowed */ +versionedpackageentry /* non-empty */ : STRING { iniBuilder->buildPackageListNode($1); } versioncriteria ; -- 2.12.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH setup 09/10] Improve error recovery in setup.ini parsing 2017-05-23 16:59 ` [PATCH setup 08/10] Fix infinite recursion in grammar for depends Jon Turney @ 2017-05-23 16:59 ` Jon Turney 2017-05-23 16:59 ` [PATCH setup 10/10] Remove OR from grammar Jon Turney 1 sibling, 0 replies; 24+ messages in thread From: Jon Turney @ 2017-05-23 16:59 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney Following the error token with a NL allows the parser to discard tokens until a NL is found to resynchronize, rather than aborting. This doesn't help hugely, as *any* parse errors are considered fatal by do_remote_ini()/do_local_ini() and won't let us proceed. --- iniparse.yy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iniparse.yy b/iniparse.yy index 8ee7dc3..c540146 100644 --- a/iniparse.yy +++ b/iniparse.yy @@ -104,7 +104,7 @@ singleitem /* non-empty */ | REQUIRES { iniBuilder->buildBeginDepends(); } versionedpackagelistsp NL | BUILDDEPENDS { iniBuilder->buildBeginBuildDepends(); } versionedpackagelist NL | MESSAGE STRING STRING NL { iniBuilder->buildMessage ($2, $3); } - | error { yyerror (std::string("unrecognized line ") + | error NL { yyerror (std::string("unrecognized line ") + stringify(yylineno) + " (do you have the latest setup?)"); } -- 2.12.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH setup 10/10] Remove OR from grammar 2017-05-23 16:59 ` [PATCH setup 08/10] Fix infinite recursion in grammar for depends Jon Turney 2017-05-23 16:59 ` [PATCH setup 09/10] Improve error recovery in setup.ini parsing Jon Turney @ 2017-05-23 16:59 ` Jon Turney 1 sibling, 0 replies; 24+ messages in thread From: Jon Turney @ 2017-05-23 16:59 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney Unused since removal of complex dependency rules in 60b4f6ca --- inilex.ll | 1 - iniparse.yy | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/inilex.ll b/inilex.ll index b454f0f..13422b1 100644 --- a/inilex.ll +++ b/inilex.ll @@ -141,7 +141,6 @@ B64 [a-zA-Z0-9_-] "<" return LT; "=" return EQUAL; \, return COMMA; -"|" return OR; "@" return AT; {STR} { yylval = new char [strlen(yytext) + 1]; diff --git a/iniparse.yy b/iniparse.yy index c540146..18ebe2a 100644 --- a/iniparse.yy +++ b/iniparse.yy @@ -42,7 +42,7 @@ extern int yylineno; %token MD5 SHA512 %token SOURCEPACKAGE %token PACKAGENAME -%token COMMA OR NL AT +%token COMMA NL AT %token OPENBRACE CLOSEBRACE EQUAL GT LT GTEQUAL LTEQUAL %token BUILDDEPENDS %token MESSAGE -- 2.12.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH setup 00/10] Various setup patches @ 2016-08-02 15:31 Jon Turney 2016-08-03 7:10 ` Achim Gratz 2016-08-03 17:30 ` Corinna Vinschen 0 siblings, 2 replies; 24+ messages in thread From: Jon Turney @ 2016-08-02 15:31 UTC (permalink / raw) To: cygwin-apps; +Cc: Jon Turney Jon Turney (10): Remove stray execute permissions Prevent libtool warning that a getopt++ shared library cannot be built Add lex and yacc generated files to .gitignore Downgrade "Running preremove script" logging to debug Properly report progress in PrereqChecker::isMet Remove obsolete installed_from member from packagemeta Remove unused fn member from cygpackage Track if a package was installed by user, or as a dependency Add an additional filter view, showing packages which were user picked Reserve paths starting "." for package metadata .gitignore | 3 + KeysSetting.cc | 0 KeysSetting.h | 0 PickView.cc | 16 +++-- PickView.h | 4 +- crypto.cc | 0 crypto.h | 0 cyg-pubkey.h | 0 cygpackage.cc | 3 - cygpackage.h | 8 +-- cygwin.pub | Bin gpg-packet.cc | 0 gpg-packet.h | 0 ini.cc | 4 ++ install.cc | 11 +++- libgetopt++/Makefile.am | 3 +- package_db.cc | 152 +++++++++++++++++++++++++++++++++++++++++------- package_db.h | 3 + package_meta.cc | 6 +- package_meta.h | 11 +--- prereq.cc | 1 + res.rc | 5 +- tree-minus.bmp | Bin tree-plus.bmp | Bin 24 files changed, 181 insertions(+), 49 deletions(-) mode change 100755 => 100644 KeysSetting.cc mode change 100755 => 100644 KeysSetting.h mode change 100755 => 100644 crypto.cc mode change 100755 => 100644 crypto.h mode change 100755 => 100644 cyg-pubkey.h mode change 100755 => 100644 cygwin.pub mode change 100755 => 100644 gpg-packet.cc mode change 100755 => 100644 gpg-packet.h mode change 100755 => 100644 tree-minus.bmp mode change 100755 => 100644 tree-plus.bmp -- 2.8.3 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-02 15:31 [PATCH setup 00/10] Various setup patches Jon Turney @ 2016-08-03 7:10 ` Achim Gratz 2016-08-03 8:35 ` Corinna Vinschen 2016-08-03 17:30 ` Corinna Vinschen 1 sibling, 1 reply; 24+ messages in thread From: Achim Gratz @ 2016-08-03 7:10 UTC (permalink / raw) To: cygwin-apps Jon Turney writes: > Track if a package was installed by user, or as a dependency > Add an additional filter view, showing packages which were user picked As a suggestion (and I won't have time for implementation help at the moment): Please consider keeping /etc/setup/installed.db at version 2 and instead move the new-style database(s) to somewhere under /var/setup. For some time we would have to generate both the old and new databases from setup of course until everything has switched over to the new locations. The format of the new database is up for discussion I think, but besides the distinction between picked and non-picked I think there should be a way to record version locks or preferences for prev/curr/test. I would also like to add checksums to the package lists, provided we can find a way to ignore the changes due to rebasing, so it becomes easier to audit an installation for changes. > Reserve paths starting "." for package metadata What did you envision here? In general I like the idea, but when we start to have a structured package format I think we should move to some other naming convention than .tar.xz, like .cyg or .cpm perhaps. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for KORG EX-800 and Poly-800MkII V0.9: http://Synth.Stromeko.net/Downloads.html#KorgSDada ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-03 7:10 ` Achim Gratz @ 2016-08-03 8:35 ` Corinna Vinschen 2016-08-03 9:52 ` Achim Gratz 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2016-08-03 8:35 UTC (permalink / raw) To: cygwin-apps [-- Attachment #1: Type: text/plain, Size: 2901 bytes --] On Aug 3 09:10, Achim Gratz wrote: > Jon Turney writes: > > Track if a package was installed by user, or as a dependency > > Add an additional filter view, showing packages which were user picked > > As a suggestion (and I won't have time for implementation help at the > moment): Please consider keeping /etc/setup/installed.db at version 2 > and instead move the new-style database(s) to somewhere under > /var/setup. *If* we do that, the setup files should go under /var/lib/setup. However, why would this make sense exactly? Yes, I know LSB and yada yada, but why *exactly* would that make sense in *our* situation? > For some time we would have to generate both the old and > new databases from setup of course until everything has switched over to > the new locations. Moving from /etc/ to /var requires to move all files. It's useless if the lst files stay in /etc while the db and rc files go to /var. That means, a move to /var requires to copy/move the lst files over in a single step, even (especially) the old ones, otherwise you'd have a broken database, with files in /etc and /var. Who's going to do this? Setup itself would have to do it since a post-install script would be too late. So you'd have to write code into setup for just this move to /var. Code which runs exactly once. And then writing *both* at the same time? What packages are the consumers of the data in /etc/setup? AFAICS, cygwin itself (cygcheck), cygcheck-dep, and _autorebase only. Wouldn't it make more sense either to stick to /etc/setup, or to change all three packages to check for /var/lib/setup and use that if it exists, /etc/setup otherwise? > The format of the new database is up for discussion > I think, but besides the distinction between picked and non-picked I > think there should be a way to record version locks or preferences for > prev/curr/test. I think the old "size" field should become a flag field instead, with picked/non-picked having the bit value 1. That covers a lot of info already. > I would also like to add checksums to the package lists, provided we can > find a way to ignore the changes due to rebasing, so it becomes easier to > audit an installation for changes. Feel free to add stuff. Just make sure the (hopefully only) three dependent packages can work with the new format before we introduce the new format. > > Reserve paths starting "." for package metadata > > What did you envision here? In general I like the idea, but when we > start to have a structured package format I think we should move to some > other naming convention than .tar.xz, like .cyg or .cpm perhaps. .cpm sounds a bit... old-fashioned ;) Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-03 8:35 ` Corinna Vinschen @ 2016-08-03 9:52 ` Achim Gratz 2016-08-03 17:40 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Achim Gratz @ 2016-08-03 9:52 UTC (permalink / raw) To: cygwin-apps Corinna Vinschen writes: > *If* we do that, the setup files should go under /var/lib/setup. Yes. > However, why would this make sense exactly? Yes, I know LSB and yada > yada, but why *exactly* would that make sense in *our* situation? In this case it's just a clean way to separate the old and new databases. >> For some time we would have to generate both the old and >> new databases from setup of course until everything has switched over to >> the new locations. > > Moving from /etc/ to /var requires to move all files. It's useless > if the lst files stay in /etc while the db and rc files go to /var. The way we're installing at the moment we could just hardlink. > And then writing *both* at the same time? What packages are the > consumers of the data in /etc/setup? AFAICS, cygwin itself (cygcheck), > cygcheck-dep, and _autorebase only. > > Wouldn't it make more sense either to stick to /etc/setup, or to > change all three packages to check for /var/lib/setup and use that > if it exists, /etc/setup otherwise? Maybe we could just rename installed.db to installed.db3 or seomthing similar. >> The format of the new database is up for discussion >> I think, but besides the distinction between picked and non-picked I >> think there should be a way to record version locks or preferences for >> prev/curr/test. > > I think the old "size" field should become a flag field instead, with > picked/non-picked having the bit value 1. That covers a lot of info > already. Yes, but you'll still have to come up with some encoding and it would be awfully nice if the new file format was a bit more forward-thinking when it comes to extensibility. > Feel free to add stuff. Just make sure the (hopefully only) three > dependent packages can work with the new format before we introduce the > new format. That would be either supplemental files with the hashes or some new .lst format which could/should use a different extension anyway since the transition period will be long. >> > Reserve paths starting "." for package metadata >> >> What did you envision here? In general I like the idea, but when we >> start to have a structured package format I think we should move to some >> other naming convention than .tar.xz, like .cyg or .cpm perhaps. > > .cpm sounds a bit... old-fashioned ;) I still have one of these, not that I've run it in the last few years: http://www.robotron-net.de/pc_s.html#BIC Too "boot" the CP/M clone you just have to insert a floppy with an emtpy file SCPX5105.SYS since actually it's in ROM (otherwise it starts BASIC). Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Samples for the Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#BlofeldSamplesExtra ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-03 9:52 ` Achim Gratz @ 2016-08-03 17:40 ` Corinna Vinschen 2016-08-03 18:28 ` Achim Gratz 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2016-08-03 17:40 UTC (permalink / raw) To: cygwin-apps [-- Attachment #1: Type: text/plain, Size: 3596 bytes --] On Aug 3 11:51, Achim Gratz wrote: > Corinna Vinschen writes: > > *If* we do that, the setup files should go under /var/lib/setup. > > Yes. > > > However, why would this make sense exactly? Yes, I know LSB and yada > > yada, but why *exactly* would that make sense in *our* situation? > > In this case it's just a clean way to separate the old and new databases. > > >> For some time we would have to generate both the old and > >> new databases from setup of course until everything has switched over to > >> the new locations. > > > > Moving from /etc/ to /var requires to move all files. It's useless > > if the lst files stay in /etc while the db and rc files go to /var. > > The way we're installing at the moment we could just hardlink. If the filesystem supports it. We *might* get away with the assumption the underlying filesystem is NTFS or similar, but even a newer FS like ReFS has no hardlinks :( > > And then writing *both* at the same time? What packages are the > > consumers of the data in /etc/setup? AFAICS, cygwin itself (cygcheck), > > cygcheck-dep, and _autorebase only. > > > > Wouldn't it make more sense either to stick to /etc/setup, or to > > change all three packages to check for /var/lib/setup and use that > > if it exists, /etc/setup otherwise? > > Maybe we could just rename installed.db to installed.db3 or seomthing > similar. In the current state of Jon's patch that shouldn't be necessary, but whatever you do, you don't drop the requirement that tools like cygcheck, cygcheck-dep or _autorebase have to adapt. > >> The format of the new database is up for discussion > >> I think, but besides the distinction between picked and non-picked I > >> think there should be a way to record version locks or preferences for > >> prev/curr/test. > > > > I think the old "size" field should become a flag field instead, with > > picked/non-picked having the bit value 1. That covers a lot of info > > already. > > Yes, but you'll still have to come up with some encoding and it would be > awfully nice if the new file format was a bit more forward-thinking when > it comes to extensibility. I don't think that's really necessary as long as you *add* information. What's really important is to check and, if required, change cygcheck and friends to be able to skip information they don't evaluate, rather than choking on it. > > Feel free to add stuff. Just make sure the (hopefully only) three > > dependent packages can work with the new format before we introduce the > > new format. > > That would be either supplemental files with the hashes or some new .lst > format which could/should use a different extension anyway since the > transition period will be long. Why? The transition period can be very much shortened if we do what I wrote above. > >> > Reserve paths starting "." for package metadata > >> > >> What did you envision here? In general I like the idea, but when we > >> start to have a structured package format I think we should move to some > >> other naming convention than .tar.xz, like .cyg or .cpm perhaps. In terms of all of the above, I'd like to see some input from Jon, Yaakov et al. > > .cpm sounds a bit... old-fashioned ;) > > I still have one of these, not that I've run it in the last few years: > http://www.robotron-net.de/pc_s.html#BIC Wow! Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-03 17:40 ` Corinna Vinschen @ 2016-08-03 18:28 ` Achim Gratz 2016-08-03 18:43 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Achim Gratz @ 2016-08-03 18:28 UTC (permalink / raw) To: cygwin-apps Corinna Vinschen writes: >> That would be either supplemental files with the hashes or some new .lst >> format which could/should use a different extension anyway since the >> transition period will be long. > > Why? The transition period can be very much shortened if we do what > I wrote above. People tend to not re-install their whole set of packages just because some new version of setup is announced, so I'm going to assume that for quite some time a mix of old and new .lst files (for instance) exists on the majority of installations and whatever we do (in cygcheck, say) needs to work with that. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-03 18:28 ` Achim Gratz @ 2016-08-03 18:43 ` Corinna Vinschen 2016-08-03 19:52 ` Achim Gratz 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2016-08-03 18:43 UTC (permalink / raw) To: cygwin-apps [-- Attachment #1: Type: text/plain, Size: 1174 bytes --] On Aug 3 20:27, Achim Gratz wrote: > Corinna Vinschen writes: > >> That would be either supplemental files with the hashes or some new .lst > >> format which could/should use a different extension anyway since the > >> transition period will be long. > > > > Why? The transition period can be very much shortened if we do what > > I wrote above. > > People tend to not re-install their whole set of packages just because > some new version of setup is announced, Uhm? If you download a new setup, but then don't update your packages, why did you download the latest setup at all? If you don't run this new setup, you won't get new-style files. > so I'm going to assume that for > quite some time a mix of old and new .lst files (for instance) exists on > the majority of installations and whatever we do (in cygcheck, say) > needs to work with that. 1. Provide new versions of cygwin, cygcheck-dep and _autorebase 2. time passes (2 weeks or so) 3. Provide a new version of setup Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-03 18:43 ` Corinna Vinschen @ 2016-08-03 19:52 ` Achim Gratz 2016-08-04 11:40 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Achim Gratz @ 2016-08-03 19:52 UTC (permalink / raw) To: cygwin-apps Corinna Vinschen writes: >> People tend to not re-install their whole set of packages just because >> some new version of setup is announced, > > Uhm? If you download a new setup, but then don't update your packages, > why did you download the latest setup at all? If you don't run this > new setup, you won't get new-style files. The checksum information has to come from somewhere and that somewhere requires a package install or update. Together with that new setup we might have an update of cygccheck and some unrelated packages that happen to have been rebuilt recently, but certainly not the whole distribution. >> so I'm going to assume that for >> quite some time a mix of old and new .lst files (for instance) exists on >> the majority of installations and whatever we do (in cygcheck, say) >> needs to work with that. > > 1. Provide new versions of cygwin, cygcheck-dep and _autorebase > 2. time passes (2 weeks or so) > 3. Provide a new version of setup That doesn't cut it, unless you want to require the whole distribution to be rebuilt and everything re-installed with that change. Cygwin10 1609 or something like that? :-) Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-03 19:52 ` Achim Gratz @ 2016-08-04 11:40 ` Corinna Vinschen 2016-08-04 17:57 ` Achim Gratz 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2016-08-04 11:40 UTC (permalink / raw) To: cygwin-apps [-- Attachment #1: Type: text/plain, Size: 1679 bytes --] On Aug 3 21:52, Achim Gratz wrote: > Corinna Vinschen writes: > >> People tend to not re-install their whole set of packages just because > >> some new version of setup is announced, > > > > Uhm? If you download a new setup, but then don't update your packages, > > why did you download the latest setup at all? If you don't run this > > new setup, you won't get new-style files. > > The checksum information has to come from somewhere and that somewhere > requires a package install or update. Together with that new setup we might > have an update of cygccheck and some unrelated packages that happen to > have been rebuilt recently, but certainly not the whole distribution. Why is that important? The checksums will collect over time. > >> so I'm going to assume that for > >> quite some time a mix of old and new .lst files (for instance) exists on > >> the majority of installations and whatever we do (in cygcheck, say) > >> needs to work with that. > > > > 1. Provide new versions of cygwin, cygcheck-dep and _autorebase > > 2. time passes (2 weeks or so) > > 3. Provide a new version of setup > > That doesn't cut it, unless you want to require the whole distribution > to be rebuilt and everything re-installed with that change. Cygwin10 > 1609 or something like that? :-) I don't think I understand what you're up to. Why is it important to add the extra information all at once? And if that's the case, couldn't we use a runonce postinstall script for that? Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-04 11:40 ` Corinna Vinschen @ 2016-08-04 17:57 ` Achim Gratz 2016-08-04 18:00 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Achim Gratz @ 2016-08-04 17:57 UTC (permalink / raw) To: cygwin-apps Corinna Vinschen writes: >> The checksum information has to come from somewhere and that somewhere >> requires a package install or update. Together with that new setup we might >> have an update of cygccheck and some unrelated packages that happen to >> have been rebuilt recently, but certainly not the whole distribution. > > Why is that important? The checksums will collect over time. That's the plan, but then you'll have to deal with missing checksums while that particular strand of hair grows out. > I don't think I understand what you're up to. Why is it important > to add the extra information all at once? And if that's the case, > couldn't we use a runonce postinstall script for that? I was interpreting your reply that you wanted the tools to only support the new list formats. I'm not sure what you suppose the postinstall script should do, but it certainly shouldn't be trying to checksum the existing installation and using _that_ information instead. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptation for Waldorf microQ V2.22R2: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-04 17:57 ` Achim Gratz @ 2016-08-04 18:00 ` Corinna Vinschen 2016-08-04 19:26 ` Achim Gratz 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2016-08-04 18:00 UTC (permalink / raw) To: cygwin-apps [-- Attachment #1: Type: text/plain, Size: 1217 bytes --] On Aug 4 19:56, Achim Gratz wrote: > Corinna Vinschen writes: > >> The checksum information has to come from somewhere and that somewhere > >> requires a package install or update. Together with that new setup we might > >> have an update of cygccheck and some unrelated packages that happen to > >> have been rebuilt recently, but certainly not the whole distribution. > > > > Why is that important? The checksums will collect over time. > > That's the plan, but then you'll have to deal with missing checksums > while that particular strand of hair grows out. > > > I don't think I understand what you're up to. Why is it important > > to add the extra information all at once? And if that's the case, > > couldn't we use a runonce postinstall script for that? > > I was interpreting your reply that you wanted the tools to only support > the new list formats. Oh, no, sorry if I was unclear but I would like the tools just to adapt so that they don't choke on new formats while still working happily on the old formats. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-04 18:00 ` Corinna Vinschen @ 2016-08-04 19:26 ` Achim Gratz 0 siblings, 0 replies; 24+ messages in thread From: Achim Gratz @ 2016-08-04 19:26 UTC (permalink / raw) To: cygwin-apps Corinna Vinschen writes: > Oh, no, sorry if I was unclear but I would like the tools just to > adapt so that they don't choke on new formats while still working > happily on the old formats. Oh goody, then we're on the same page. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ DIY Stuff: http://Synth.Stromeko.net/DIY.html ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH setup 00/10] Various setup patches 2016-08-02 15:31 [PATCH setup 00/10] Various setup patches Jon Turney 2016-08-03 7:10 ` Achim Gratz @ 2016-08-03 17:30 ` Corinna Vinschen 1 sibling, 0 replies; 24+ messages in thread From: Corinna Vinschen @ 2016-08-03 17:30 UTC (permalink / raw) To: cygwin-apps [-- Attachment #1: Type: text/plain, Size: 2276 bytes --] On Aug 2 16:30, Jon Turney wrote: > Jon Turney (10): > Remove stray execute permissions > Prevent libtool warning that a getopt++ shared library cannot be built > Add lex and yacc generated files to .gitignore > Downgrade "Running preremove script" logging to debug > Properly report progress in PrereqChecker::isMet > Remove obsolete installed_from member from packagemeta > Remove unused fn member from cygpackage > Track if a package was installed by user, or as a dependency > Add an additional filter view, showing packages which were user picked > Reserve paths starting "." for package metadata > > .gitignore | 3 + > KeysSetting.cc | 0 > KeysSetting.h | 0 > PickView.cc | 16 +++-- > PickView.h | 4 +- > crypto.cc | 0 > crypto.h | 0 > cyg-pubkey.h | 0 > cygpackage.cc | 3 - > cygpackage.h | 8 +-- > cygwin.pub | Bin > gpg-packet.cc | 0 > gpg-packet.h | 0 > ini.cc | 4 ++ > install.cc | 11 +++- > libgetopt++/Makefile.am | 3 +- > package_db.cc | 152 +++++++++++++++++++++++++++++++++++++++++------- > package_db.h | 3 + > package_meta.cc | 6 +- > package_meta.h | 11 +--- > prereq.cc | 1 + > res.rc | 5 +- > tree-minus.bmp | Bin > tree-plus.bmp | Bin > 24 files changed, 181 insertions(+), 49 deletions(-) > mode change 100755 => 100644 KeysSetting.cc > mode change 100755 => 100644 KeysSetting.h > mode change 100755 => 100644 crypto.cc > mode change 100755 => 100644 crypto.h > mode change 100755 => 100644 cyg-pubkey.h > mode change 100755 => 100644 cygwin.pub > mode change 100755 => 100644 gpg-packet.cc > mode change 100755 => 100644 gpg-packet.h > mode change 100755 => 100644 tree-minus.bmp > mode change 100755 => 100644 tree-plus.bmp ACK for the series with v2 of patch 8. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2017-05-23 16:59 UTC | newest] Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-05-23 16:46 [PATCH setup 00/10] Various setup patches Jon Turney 2017-05-23 16:47 ` [PATCH setup 01/10] isBinary() should return true for orphaned packages Jon Turney 2017-05-23 16:47 ` [PATCH setup 06/10] Fold IniDBBuilderPackage::buildInstallSize() into buildPackageInstall() Jon Turney 2017-05-23 16:47 ` [PATCH setup 03/10] Rename category "Misc" to "Orphaned" Jon Turney 2017-05-23 16:47 ` [PATCH setup 07/10] Fold build(Install|Source)(MD5|SHA512) into buildPackage(Install|Source) Jon Turney 2017-05-23 16:47 ` [PATCH setup 04/10] Make PrereqChecker::setTrust() a static method Jon Turney 2017-05-23 16:47 ` [PATCH setup 05/10] Move and rename dumpAndList() Jon Turney 2017-05-23 16:47 ` [PATCH setup 02/10] Correctly calculate total data to checksum when using IncludeSource Jon Turney 2017-05-23 16:59 ` [PATCH setup 08/10] Fix infinite recursion in grammar for depends Jon Turney 2017-05-23 16:59 ` [PATCH setup 09/10] Improve error recovery in setup.ini parsing Jon Turney 2017-05-23 16:59 ` [PATCH setup 10/10] Remove OR from grammar Jon Turney -- strict thread matches above, loose matches on Subject: below -- 2016-08-02 15:31 [PATCH setup 00/10] Various setup patches Jon Turney 2016-08-03 7:10 ` Achim Gratz 2016-08-03 8:35 ` Corinna Vinschen 2016-08-03 9:52 ` Achim Gratz 2016-08-03 17:40 ` Corinna Vinschen 2016-08-03 18:28 ` Achim Gratz 2016-08-03 18:43 ` Corinna Vinschen 2016-08-03 19:52 ` Achim Gratz 2016-08-04 11:40 ` Corinna Vinschen 2016-08-04 17:57 ` Achim Gratz 2016-08-04 18:00 ` Corinna Vinschen 2016-08-04 19:26 ` Achim Gratz 2016-08-03 17:30 ` Corinna Vinschen
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).