launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #31558
[Merge] ~pelpsi/launchpad-buildd:fetch-service-apt-initialization into launchpad-buildd:master
Simone Pelosi has proposed merging ~pelpsi/launchpad-buildd:fetch-service-apt-initialization into launchpad-buildd:master.
Commit message:
APT should use the proxy when run
Fetch service env variables should be in place and passed as env when
apt runs. In this way the fetch-service is aware of all the packages that
we are trying to install and can validate them.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~pelpsi/launchpad-buildd/+git/launchpad-buildd/+merge/473926
--
Your team Launchpad code reviewers is requested to review the proposed merge of ~pelpsi/launchpad-buildd:fetch-service-apt-initialization into launchpad-buildd:master.
diff --git a/lpbuildd/target/build_rock.py b/lpbuildd/target/build_rock.py
index 2da488c..814f98a 100644
--- a/lpbuildd/target/build_rock.py
+++ b/lpbuildd/target/build_rock.py
@@ -106,7 +106,11 @@ class BuildRock(
self.delete_apt_cache()
self.install_mitm_certificate()
self.install_snapd_proxy(proxy_url=self.args.proxy_url)
- self.backend.run(["apt-get", "-y", "update"])
+ env = self.build_proxy_environment(
+ proxy_url=self.args.proxy_url,
+ use_fetch_service=self.args.use_fetch_service
+ )
+ self.backend.run(["apt-get", "-y", "update"], env=env)
self.restart_snapd()
self.configure_git_protocol_v2()
diff --git a/lpbuildd/target/build_snap.py b/lpbuildd/target/build_snap.py
index 4e8962f..16cc259 100644
--- a/lpbuildd/target/build_snap.py
+++ b/lpbuildd/target/build_snap.py
@@ -169,7 +169,11 @@ class BuildSnap(
self.delete_apt_cache()
self.install_mitm_certificate()
self.install_snapd_proxy(proxy_url=self.args.proxy_url)
- self.backend.run(["apt-get", "-y", "update"])
+ env = self.build_proxy_environment(
+ proxy_url=self.args.proxy_url,
+ use_fetch_service=self.args.use_fetch_service
+ )
+ self.backend.run(["apt-get", "-y", "update"], env=env)
self.restart_snapd()
self.configure_git_protocol_v2()
diff --git a/lpbuildd/target/tests/test_build_rock.py b/lpbuildd/target/tests/test_build_rock.py
index f05c08d..3c1aadf 100644
--- a/lpbuildd/target/tests/test_build_rock.py
+++ b/lpbuildd/target/tests/test_build_rock.py
@@ -287,6 +287,14 @@ class TestBuildRock(TestCase):
proxy_script.write("proxy script\n")
os.fchmod(proxy_script.fileno(), 0o755)
build_rock.install()
+ env = {
+ "http_proxy": "http://proxy.example:3128/",
+ "https_proxy": "http://proxy.example:3128/",
+ "GIT_PROXY_COMMAND": "/usr/local/bin/lpbuildd-git-proxy",
+ "SNAPPY_STORE_NO_CDN": "1",
+ "CARGO_HTTP_CAINFO": "/usr/local/share/ca-certificates/local-ca.crt",
+ "GOPROXY": "direct"
+ }
self.assertThat(
build_rock.backend.run.calls,
MatchesListwise(
@@ -318,7 +326,7 @@ class TestBuildRock(TestCase):
"proxy.https=http://proxy.example:3128/",
]
),
- RanAptGet("update"),
+ RanCommand(["apt-get", "-y", "update"], **env),
RanCommand(
[
"systemctl",
@@ -368,6 +376,14 @@ class TestBuildRock(TestCase):
with open("/builderbin/lpbuildd-git-proxy", "w") as proxy_script:
proxy_script.write("proxy script\n")
os.fchmod(proxy_script.fileno(), 0o755)
+ env = {
+ "http_proxy": "http://proxy.example:3128/",
+ "https_proxy": "http://proxy.example:3128/",
+ "GIT_PROXY_COMMAND": "/usr/local/bin/lpbuildd-git-proxy",
+ "SNAPPY_STORE_NO_CDN": "1",
+ "CARGO_HTTP_CAINFO": "/usr/local/share/ca-certificates/local-ca.crt",
+ "GOPROXY": "direct"
+ }
build_rock.install()
self.assertThat(
build_rock.backend.run.calls,
@@ -400,7 +416,7 @@ class TestBuildRock(TestCase):
"proxy.https=http://proxy.example:3128/",
]
),
- RanAptGet("update"),
+ RanCommand(["apt-get", "-y", "update"], **env),
RanCommand(
[
"systemctl",
diff --git a/lpbuildd/target/tests/test_build_snap.py b/lpbuildd/target/tests/test_build_snap.py
index 6729aa3..b7336fc 100644
--- a/lpbuildd/target/tests/test_build_snap.py
+++ b/lpbuildd/target/tests/test_build_snap.py
@@ -218,6 +218,12 @@ class TestBuildSnap(TestCase):
with open("/builderbin/lpbuildd-git-proxy", "w") as proxy_script:
proxy_script.write("proxy script\n")
os.fchmod(proxy_script.fileno(), 0o755)
+ env = {
+ "http_proxy": "http://proxy.example:3128/",
+ "https_proxy": "http://proxy.example:3128/",
+ "GIT_PROXY_COMMAND": "/usr/local/bin/lpbuildd-git-proxy",
+ "SNAPPY_STORE_NO_CDN": "1",
+ }
build_snap.install()
self.assertThat(
build_snap.backend.run.calls,
@@ -245,7 +251,7 @@ class TestBuildSnap(TestCase):
"proxy.https=http://proxy.example:3128/",
]
),
- RanAptGet("update"),
+ RanCommand(["apt-get", "-y", "update"], **env),
RanCommand(
[
"systemctl",
@@ -303,6 +309,12 @@ class TestBuildSnap(TestCase):
with open("/builderbin/lpbuildd-git-proxy", "w") as proxy_script:
proxy_script.write("proxy script\n")
os.fchmod(proxy_script.fileno(), 0o755)
+ env = {
+ "http_proxy": "http://proxy.example:3128/",
+ "https_proxy": "http://proxy.example:3128/",
+ "GIT_PROXY_COMMAND": "/usr/local/bin/lpbuildd-git-proxy",
+ "SNAPPY_STORE_NO_CDN": "1",
+ }
build_snap.install()
self.assertThat(
build_snap.backend.run.calls,
@@ -330,7 +342,7 @@ class TestBuildSnap(TestCase):
"proxy.https=http://proxy.example:3128/",
]
),
- RanAptGet("update"),
+ RanCommand(["apt-get", "-y", "update"], **env),
RanCommand(
[
"systemctl",
Follow ups