From: Joshua Watt Date: Fri, 22 Mar 2024 13:50:47 +0000 (-0600) Subject: sstatesig: Set hash server credentials from bitbake variables X-Git-Tag: yocto-5.2~3310 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ba391d39f2b888706e53028e9df3a37c5baedfc1;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git sstatesig: Set hash server credentials from bitbake variables Allows the hash server credentials to be specified in bitbake variables. If omitted, the users .netrc will be checked Signed-off-by: Joshua Watt Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index aa891ecf0a0..b867e2a0529 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -6,6 +6,7 @@ import bb.siggen import bb.runqueue import oe +import netrc def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCaches): # Return True if we should keep the dependency, False to drop it @@ -327,6 +328,16 @@ class SignatureGeneratorOEEquivHash(SignatureGeneratorOEBasicHashMixIn, bb.sigge if not self.method: bb.fatal("OEEquivHash requires SSTATE_HASHEQUIV_METHOD to be set") self.max_parallel = int(data.getVar('BB_HASHSERVE_MAX_PARALLEL') or 1) + self.username = data.getVar("BB_HASHSERVE_USERNAME") + self.password = data.getVar("BB_HASHSERVE_PASSWORD") + if not self.username or not self.password: + try: + n = netrc.netrc() + auth = n.authenticators(self.server) + if auth is not None: + self.username, _, self.password = auth + except FileNotFoundError: + pass # Insert these classes into siggen's namespace so it can see and select them bb.siggen.SignatureGeneratorOEBasicHash = SignatureGeneratorOEBasicHash