Skip to content

Commit a019665

Browse files
committed
build RPM for peridot cli
1 parent dba4868 commit a019665

File tree

3 files changed

+53
-3
lines changed

3 files changed

+53
-3
lines changed

WORKSPACE

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,19 @@ load("//:repositories.bzl", "go_repositories")
6363

6464
go_rules_dependencies()
6565

66+
http_archive(
67+
name = "rules_pkg",
68+
urls = [
69+
"https://github.com/bazelbuild/rules_pkg/releases/download/0.10.1/rules_pkg-0.10.1.tar.gz",
70+
],
71+
sha256 = "d250924a2ecc5176808fc4c25d5cf5e9e79e6346d79d5ab1c493e289e722d1d0",
72+
)
73+
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
74+
rules_pkg_dependencies()
75+
76+
load("@rules_pkg//toolchains/rpm:rpmbuild_configure.bzl", "find_system_rpmbuild")
77+
find_system_rpmbuild(name="rules_pkg_rpmbuild")
78+
6679
go_register_toolchains(
6780
nogo = "@peridot//:nogo",
6881
version = "1.22.2",

peridot/cmd/v1/peridot/BUILD.bazel

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
22

3+
load(
4+
"@rules_pkg//pkg:mappings.bzl",
5+
"pkg_attributes",
6+
"pkg_files",
7+
)
8+
load("@rules_pkg//pkg:rpm.bzl", "pkg_rpm")
9+
310
go_library(
411
name = "peridot_lib",
512
srcs = [
@@ -20,6 +27,9 @@ go_library(
2027
data = [
2128
"//peridot/proto/v1:client_go",
2229
],
30+
x_defs = {
31+
"Version": "{STABLE_BUILD_TAG}",
32+
},
2333
importpath = "peridot.resf.org/peridot/cmd/v1/peridot",
2434
visibility = ["//visibility:private"],
2535
deps = [
@@ -37,3 +47,26 @@ go_binary(
3747
embed = [":peridot_lib"],
3848
visibility = ["//visibility:public"],
3949
)
50+
51+
pkg_files(
52+
name = "peridot-files",
53+
srcs = [":peridot"],
54+
attributes = pkg_attributes(
55+
user = "root",
56+
group = "root",
57+
mode = "0755",
58+
),
59+
prefix = "/usr/bin"
60+
)
61+
62+
pkg_rpm(
63+
name = "peridot-cli",
64+
srcs = [":peridot-files"],
65+
license = "MIT",
66+
summary = "Peridot Command Line Interface",
67+
version = "0.2.0",
68+
release = "0",
69+
architecture = "x86_64",
70+
description = "A command line interface to interact with the Peridot build system",
71+
source_date_epoch = 0,
72+
)

peridot/cmd/v1/peridot/main.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,19 @@
3131
package main
3232

3333
import (
34+
"log"
35+
"strings"
36+
3437
"github.com/sirupsen/logrus"
3538
"github.com/spf13/cobra"
3639
"github.com/spf13/viper"
37-
"log"
38-
"strings"
3940
)
4041

42+
var Version = "[unknown]"
43+
4144
var root = &cobra.Command{
42-
Use: "peridot",
45+
Use: "peridot",
46+
Version: Version,
4347
}
4448

4549
func init() {

0 commit comments

Comments
 (0)