From 4865911a605128adb454b3280b1cf9dcd38f499e Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Wed, 27 Jan 2021 03:14:44 -0500 Subject: [PATCH] 16306: Accept -package-version arg to testinstall. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- cmd/arvados-package/build.go | 2 +- cmd/arvados-package/build_test.go | 1 + cmd/arvados-package/install.go | 10 +++++----- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/cmd/arvados-package/build.go b/cmd/arvados-package/build.go index cf9cbfa6c3..e826408c1a 100644 --- a/cmd/arvados-package/build.go +++ b/cmd/arvados-package/build.go @@ -126,7 +126,7 @@ func build(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Wr return err } - cmd = exec.CommandContext(ctx, "bash", "-c", "dpkg-scanpackages . | gzip > Packages.gz.tmp && mv Packages.gz.tmp Packages.gz") + cmd = exec.CommandContext(ctx, "bash", "-c", "dpkg-scanpackages --multiversion . | gzip > Packages.gz.tmp && mv Packages.gz.tmp Packages.gz") cmd.Stdout = stdout cmd.Stderr = stderr cmd.Dir = opts.PackageDir diff --git a/cmd/arvados-package/build_test.go b/cmd/arvados-package/build_test.go index b4ad68b1df..75e8f7604e 100644 --- a/cmd/arvados-package/build_test.go +++ b/cmd/arvados-package/build_test.go @@ -56,6 +56,7 @@ func (s *BuildSuite) TestBuildAndInstall(c *check.C) { cmd = exec.Command("go", "run", ".", "testinstall", "-package-dir", tmpdir, + "-package-version", "1.2.3~rc4", ) cmd.Stdout = os.Stderr cmd.Stderr = os.Stderr diff --git a/cmd/arvados-package/install.go b/cmd/arvados-package/install.go index 774771efb0..9847799504 100644 --- a/cmd/arvados-package/install.go +++ b/cmd/arvados-package/install.go @@ -6,7 +6,6 @@ package main import ( "context" - "errors" "fmt" "io" "io/ioutil" @@ -20,9 +19,6 @@ import ( ) func testinstall(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Writer) error { - if opts.PackageVersion != "" { - return errors.New("not implemented: package version was specified, but I only know how to test the latest version in pkgdir") - } depsImageName := "arvados-package-deps-" + opts.TargetOS depsCtrName := strings.Replace(depsImageName, ":", "-", -1) @@ -77,6 +73,10 @@ eatmydata apt-get remove -y arvados-server-easy } } + versionsuffix := "" + if opts.PackageVersion != "" { + versionsuffix = "=" + opts.PackageVersion + } cmd := exec.CommandContext(ctx, "docker", "run", "--rm", "--tmpfs", "/tmp:exec,mode=01777", "-v", opts.PackageDir+":/pkg:ro", @@ -87,7 +87,7 @@ eatmydata apt-get remove -y arvados-server-easy set -e PATH="/var/lib/arvados/bin:$PATH" apt-get update -eatmydata apt-get install --reinstall -y --no-install-recommends arvados-server-easy +eatmydata apt-get install --reinstall -y --no-install-recommends arvados-server-easy`+versionsuffix+` apt-get -y autoremove /etc/init.d/postgresql start arvados-server init -cluster-id x1234 -- 2.30.2