16306: Add package metadata.
authorTom Clegg <tom@curii.com>
Tue, 2 Feb 2021 16:12:45 +0000 (11:12 -0500)
committerTom Clegg <tom@curii.com>
Tue, 2 Feb 2021 16:12:45 +0000 (11:12 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

cmd/arvados-package/build.go
cmd/arvados-package/cmd.go
cmd/arvados-package/fpm.go

index e826408c1ab5e418b5dd6b99da692fd0df4ef510..6cbca5538ff2a9b7a69be56c665015a8a9df9ff1 100644 (file)
@@ -113,6 +113,8 @@ func build(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Wr
                "-package-version", opts.PackageVersion,
                "-package-dir", "/pkg",
                "-package-chown", opts.PackageChown,
+               "-package-maintainer", opts.Maintainer,
+               "-package-vendor", opts.Vendor,
        )
        cmd.Stdout = stdout
        cmd.Stderr = stderr
index 16d1fe89be2906e13aa953517c00567085e2c252..54f0809d6413eb9bee60fb9c741b117f73e938ac 100644 (file)
@@ -64,12 +64,16 @@ type opts struct {
        RebuildImage   bool
        SourceDir      string
        TargetOS       string
+       Maintainer     string
+       Vendor         string
 }
 
 func parseFlags(args []string) (opts, error) {
        opts := opts{
-               SourceDir: ".",
-               TargetOS:  "debian:10",
+               SourceDir:  ".",
+               TargetOS:   "debian:10",
+               Maintainer: "Arvados Package Maintainers <packaging@arvados.org>",
+               Vendor:     "The Arvados Project",
        }
        flags := flag.NewFlagSet("", flag.ContinueOnError)
        flags.StringVar(&opts.PackageVersion, "package-version", opts.PackageVersion, "package version to build/test, like \"1.2.3\"")
@@ -77,6 +81,8 @@ func parseFlags(args []string) (opts, error) {
        flags.StringVar(&opts.PackageDir, "package-dir", opts.PackageDir, "destination directory for new package (default is cwd)")
        flags.StringVar(&opts.PackageChown, "package-chown", opts.PackageChown, "desired uid:gid for new package (default is current user:group)")
        flags.StringVar(&opts.TargetOS, "target-os", opts.TargetOS, "target operating system vendor:version")
+       flags.StringVar(&opts.Maintainer, "package-maintainer", opts.Maintainer, "maintainer to be listed in package metadata")
+       flags.StringVar(&opts.Vendor, "package-vendor", opts.Vendor, "vendor to be listed in package metadata")
        flags.BoolVar(&opts.RebuildImage, "rebuild-image", opts.RebuildImage, "rebuild docker image(s) instead of using existing")
        flags.Usage = func() {
                fmt.Fprint(flags.Output(), `Usage: arvados-package <subcommand> [options]
index c143e46efe95d6d4b887fd85b3548323e7379c07..ca63929e9839a8e3e01aa14108c9a1b10b3d4dfb 100644 (file)
@@ -79,6 +79,11 @@ func fpm(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Writ
                "--package", pkgfile,
                "--name", "arvados-server-easy",
                "--version", opts.PackageVersion,
+               "--url", "https://arvados.org",
+               "--maintainer", opts.Maintainer,
+               "--vendor", opts.Vendor,
+               "--license", "GNU Affero General Public License, version 3.0",
+               "--description", "platform for managing, processing, and sharing genomic and other large scientific and biomedical data",
                "--input-type", "dir",
                "--output-type", format)
        deps, err := install.ProductionDependencies()