[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