[cadvisor] Initial commit
Jan Chaloupka
jchaloup at fedoraproject.org
Mon Sep 29 16:55:54 UTC 2014
commit e8aa89618ed6d5d912ad2705a9efcb15dcbb361e
Author: Jan Chaloupka <jchaloup at redhat.com>
Date: Mon Sep 29 18:55:37 2014 +0200
Initial commit
.gitignore | 1 +
cadvisor.spec | 208 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sources | 1 +
3 files changed, 210 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..931f884 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/cadvisor-9d158c3.tar.gz
diff --git a/cadvisor.spec b/cadvisor.spec
new file mode 100644
index 0000000..211f056
--- /dev/null
+++ b/cadvisor.spec
@@ -0,0 +1,208 @@
+%global provider github
+%global provider_tld com
+%global project google
+%global repo cadvisor
+%global commit 9d158c3d66e8e6d14cfeb1d73695ab18dbc744e8
+
+%global import_path %{provider}.%{provider_tld}/%{project}/%{repo}
+%global gopath %{_datadir}/gocode
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global debug_package %{nil}
+
+Name: %{repo}
+Version: 0.3.0
+Release: 0.3.git%{shortcommit}%{?dist}
+Summary: Analyzes resource usage and performance characteristics of running containers
+License: ASL 2.0
+URL: https://%{import_path}
+Source0: https://%{import_path}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
+Patch0: 0001-add-systemd-unit-file-sysconfig.patch
+BuildRequires: docker-io-pkg-devel
+BuildRequires: systemd
+BuildRequires: golang >= 1.2.1-3
+BuildRequires: golang(github.com/docker/libcontainer)
+BuildRequires: golang(github.com/fsouza/go-dockerclient)
+BuildRequires: golang(github.com/coreos/go-systemd)
+BuildRequires: golang(github.com/godbus/dbus)
+BuildRequires: golang(github.com/kr/text)
+BuildRequires: golang(github.com/kr/pretty)
+BuildRequires: golang(github.com/influxdb/influxdb/client)
+BuildRequires: golang(github.com/stretchr/testify)
+BuildRequires: golang(github.com/stretchr/objx)
+BuildRequires: golang(github.com/golang/glog)
+ExclusiveArch: x86_64
+
+%description
+%{summary}
+
+cAdvisor (Container Advisor) provides container users an understanding of the
+resource usage and performance characteristics of their running containers.
+It is a running daemon that collects, aggregates, processes, and exports
+information about running containers. Specifically, for each container it keeps
+resource isolation parameters, historical resource usage, histograms of
+complete historical resource usage and network statistics. This data is
+exported by container and machine-wide.
+
+cAdvisor currently supports lmctfy containers as well as Docker containers
+(those that use the default libcontainer execdriver). Other container backends
+can also be added. cAdvisor's container abstraction is based on lmctfy's
+so containers are inherently nested hierarchically.
+
+%package devel
+Requires: golang
+Summary: Analyzes resource usage and performance characteristics of running containers
+Provides: golang(%{import_path}) = %{version}-%{release}
+Provides: golang(%{import_path}/advice) = %{version}-%{release}
+Provides: golang(%{import_path}/advice/interface) = %{version}-%{release}
+Provides: golang(%{import_path}/api) = %{version}-%{release}
+Provides: golang(%{import_path}/client) = %{version}-%{release}
+Provides: golang(%{import_path}/container) = %{version}-%{release}
+Provides: golang(%{import_path}/container/docker) = %{version}-%{release}
+Provides: golang(%{import_path}/container/libcontainer) = %{version}-%{release}
+Provides: golang(%{import_path}/container/raw) = %{version}-%{release}
+Provides: golang(%{import_path}/deploy) = %{version}-%{release}
+Provides: golang(%{import_path}/info) = %{version}-%{release}
+Provides: golang(%{import_path}/manager) = %{version}-%{release}
+Provides: golang(%{import_path}/pages) = %{version}-%{release}
+Provides: golang(%{import_path}/pages/static) = %{version}-%{release}
+Provides: golang(%{import_path}/sampling) = %{version}-%{release}
+Provides: golang(%{import_path}/storage) = %{version}-%{release}
+Provides: golang(%{import_path}/storage/cache) = %{version}-%{release}
+Provides: golang(%{import_path}/storage/influxdb) = %{version}-%{release}
+Provides: golang(%{import_path}/storage/memory) = %{version}-%{release}
+Provides: golang(%{import_path}/utils) = %{version}-%{release}
+BuildRequires: docker-io-pkg-devel
+BuildRequires: golang
+BuildRequires: golang(github.com/docker/libcontainer)
+BuildRequires: golang(github.com/fsouza/go-dockerclient)
+BuildRequires: golang(github.com/coreos/go-systemd)
+BuildRequires: golang(github.com/godbus/dbus)
+BuildRequires: golang(github.com/kr/text)
+BuildRequires: golang(github.com/kr/pretty)
+BuildRequires: golang(github.com/influxdb/influxdb/client)
+BuildRequires: golang(github.com/stretchr/testify)
+BuildRequires: golang(github.com/stretchr/objx)
+
+%description devel
+%{summary}
+
+cAdvisor (Container Advisor) provides container users an understanding of the
+resource usage and performance characteristics of their running containers.
+It is a running daemon that collects, aggregates, processes, and exports
+information about running containers. Specifically, for each container it keeps
+resource isolation parameters, historical resource usage, histograms of
+complete historical resource usage and network statistics. This data is
+exported by container and machine-wide.
+
+cAdvisor currently supports lmctfy containers as well as Docker containers
+(those that use the default libcontainer execdriver). Other container backends
+can also be added. cAdvisor's container abstraction is based on lmctfy's
+so containers are inherently nested hierarchically.
+
+%prep
+%setup -n %{name}-%{commit} -q
+
+%patch0 -p1
+
+%build
+mkdir _build
+
+pushd _build
+ mkdir -p src/github.com/google
+ ln -s $(dirs +1 -l) src/github.com/google/cadvisor
+popd
+export GOPATH=$(pwd)/_build:%{buildroot}%{gopath}:%{gopath}
+
+### FIXME
+### Upstream uses this invocation of go build but it fails with the following:
+# go build --ldflags '-extldflags "-static"' github.com/google/cadvisor
+# # github.com/google/cadvisor
+# /usr/bin/ld: cannot find -lpthread
+# /usr/bin/ld: cannot find -lc
+# collect2: error: ld returned 1 exit status
+# /usr/lib/golang/pkg/tool/linux_amd64/6l: running gcc failed: unsuccessful exit status 0x100
+#
+# It *seems* fine without it, but I assume upstream has a reason for doing
+# this, however I've yet to get a response on why and if it's necessary.
+
+go build github.com/google/cadvisor
+
+%install
+# main package binary
+install -d -p %{buildroot}%{_bindir}
+install -p -m0755 cadvisor %{buildroot}%{_bindir}
+
+# install systemd/sysconfig
+install -d -m0755 %{buildroot}%{_sysconfdir}/sysconfig/
+install -p -m0660 sysconfig/%{name} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
+install -d -m0755 %{buildroot}%{_unitdir}
+install -p -m0644 init/%{name}.service %{buildroot}%{_unitdir}/%{name}.service
+
+# devel package golang libs
+install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
+cp -pav *.go %{buildroot}/%{gopath}/src/%{import_path}/
+
+for d in advice api client container deploy info manager pages sampling storage \
+ utils
+do
+ cp -pav $d %{buildroot}/%{gopath}/src/%{import_path}/
+done
+
+%post
+%systemd_post cadvisor.service
+
+%preun
+%systemd_preun cadvisor.service
+
+%postun
+%systemd_postun
+
+%files
+%doc AUTHORS CHANGELOG.md CONTRIBUTING.md CONTRIBUTORS LICENSE README.md
+%{_bindir}/cadvisor
+%{_unitdir}/%{name}.service
+%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
+
+%files devel
+%doc AUTHORS CHANGELOG.md CONTRIBUTING.md CONTRIBUTORS LICENSE README.md
+%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
+%dir %{gopath}/src/%{import_path}
+%dir %{gopath}/src/%{import_path}/api
+%dir %{gopath}/src/%{import_path}/client
+%dir %{gopath}/src/%{import_path}/container
+%dir %{gopath}/src/%{import_path}/deploy
+%dir %{gopath}/src/%{import_path}/info
+%dir %{gopath}/src/%{import_path}/manager
+%dir %{gopath}/src/%{import_path}/pages
+%dir %{gopath}/src/%{import_path}/sampling
+%dir %{gopath}/src/%{import_path}/storage
+%dir %{gopath}/src/%{import_path}/utils
+%{gopath}/src/%{import_path}/*
+%{gopath}/src/%{import_path}/api/*
+%{gopath}/src/%{import_path}/client/*
+%{gopath}/src/%{import_path}/container/*
+%{gopath}/src/%{import_path}/deploy/*
+%{gopath}/src/%{import_path}/info/*
+%{gopath}/src/%{import_path}/manager/*
+%{gopath}/src/%{import_path}/pages/*
+%{gopath}/src/%{import_path}/sampling/*
+%{gopath}/src/%{import_path}/storage/*
+%{gopath}/src/%{import_path}/utils/*
+
+%changelog
+* Fri Sep 19 2014 Lokesh Mandvekar <lsm5 at fedoraproject.org> - 0.3.0-0.3.git9d158c3
+- own parent directory of <gopath</src/<import_path>
+- preserve timestamps of copied files in -devel
+- use _unitdir macro for systemd install path
+
+* Fri Sep 12 2014 Eric Paris <eparis at redhat.com - 0.3.0-0.2.git9d158c3
+- Log to stderr (and thus journal) by default
+
+* Thu Sep 11 2014 Eric Paris <eparis at redhat.com - 0.3.0-0.1.git9d158c3
+- Bump to upstream 9d158c3d66e8e6d14cfeb1d73695ab18dbc744e8
+
+* Wed Aug 20 2014 Eric Paris <eparis at redhat.com - 0.2.0-2
+- Bump to upstream 17b0ec576bcbeb321c133e4378dee1e500c9850d
+
+* Thu Aug 07 2014 Adam Miller <maxamillion at fedoraproject.org> - 0.2.0-1
+- First package for Fedora
diff --git a/sources b/sources
index e69de29..f2a0c84 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+dbf2750631c13a131f106ffefbb7af41 cadvisor-9d158c3.tar.gz
More information about the scm-commits
mailing list