]> git.pld-linux.org Git - packages/collectd.git/blob - collectd.spec
- hddtemp plugin S: hddtemp-hddtempd
[packages/collectd.git] / collectd.spec
1 # TODO:
2 # - package contrib scripts as %doc
3 # - perl modules with Collectd classes package to separate package
4 # - Disabled modules:
5 #    apple_sensors . . . no             (obvious)
6 #    ipvs  . . . . . . . no             (ip_vs.h not found - llh to be fixed)
7 #    libvirt . . . . . . no             (requires library)
8 #    multimeter  . . . . no             ?
9 #    onewire . . . . . . no             (needs libowfs)
10 #    perl  . . . . . . . no             (needs libperl)
11 #    tape  . . . . . . . no             ?
12 # - logrotate file for logfile plugin
13 # - %desc -l pl for plugins
14 #
15 # Conditional build:
16 %bcond_without  dns             # ???
17 %bcond_without  ipmi            # ipmi plugin package
18 %bcond_without  iptables        # iptables plugin
19 %bcond_with     multimeter      # multimeter plugin
20 %bcond_without  netlink         # netlink plugin
21 #
22 #http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=358637
23 %ifarch %{x8664}
24 %undefine with_iptables
25 %undefine with_netlink
26 %endif
27 Summary:        Collects system information in RRD files
28 Summary(pl.UTF-8):      Zbieranie informacji o systemie w plikach RRD
29 Name:           collectd
30 Version:        4.5.1
31 Release:        3
32 License:        GPL v2
33 Group:          Daemons
34 Source0:        http://collectd.org/files/%{name}-%{version}.tar.gz
35 # Source0-md5:  ab900d15662859b8793abf99eda15c29
36 Source1:        %{name}.conf
37 Source2:        %{name}.init
38 Source3:        %{name}-http.conf
39 Source4:        %{name}-lighttpd.conf
40 Source10:       %{name}-df.conf
41 Source11:       %{name}-rrdtool.conf
42 Patch0:         %{name}-collection.patch
43 URL:            http://collectd.org/
44 %{?with_ipmi:BuildRequires:     OpenIPMI-devel >= 2.0.14-3}
45 BuildRequires:  autoconf
46 BuildRequires:  automake
47 BuildRequires:  curl-devel
48 %{?with_iptables:BuildRequires: iptables-devel >= 1.4.1.1-4}
49 BuildRequires:  libesmtp-devel
50 BuildRequires:  libnetlink-devel
51 BuildRequires:  libnotify-devel
52 BuildRequires:  liboping-devel
53 BuildRequires:  libpcap-devel
54 BuildRequires:  libstatgrab-devel >= 0.12
55 BuildRequires:  libtool
56 BuildRequires:  lm_sensors-devel
57 BuildRequires:  mysql-devel
58 BuildRequires:  nut-devel
59 BuildRequires:  perl-devel
60 BuildRequires:  rpmbuild(macros) >= 1.268
61 BuildRequires:  rrdtool-devel
62 BuildRequires:  net-snmp-devel
63 BuildRequires:  xmms-devel
64 Requires(post,preun):   /sbin/chkconfig
65 Requires:       rc-scripts
66 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
67
68 %define         _pkglibdir      %{_sharedstatedir}/%{name}
69 %define         _webapps        /etc/webapps
70 %define         _webapp         %{name}
71 %define         _webappdir      %{_webapps}/%{_webapp}
72 %define         _appdir         %{_datadir}/%{_webapp}
73
74 %description
75 collectd is a small daemon which collects system information every 10
76 seconds and writes the results in an RRD-file.
77
78 In contrast to most similar software, collectd is not a script but
79 written in plain C for performance and portability. As a daemon it
80 stays in memory, so there is no need to start up a heavy interpreter
81 every time new values should be logged. This allows collectd to have a
82 10 second resolution while being nice to the system.
83
84 %description -l pl.UTF-8
85 collectd to mały demon zbierający co 10 sekund informacje o systemie i
86 zapisujący wyniki do pliku RRD.
87
88 W odróżnieniu od innych podobnych programów collectd nie jest
89 skryptem, lecz jest napisany w czystym C z myślą o wydajności i
90 przenośności. Jako demon pozostaje w pamięci, więc nie ma potrzeby
91 urychamiania ciężkiego interpretera za każdym razem, kiedy powinny być
92 zapisane nowe wartości. Dzięki temu collect może mieć rozdzielczość 10
93 sekund i nie obciążać zbytnio systemu.
94
95 %package apache
96 Summary:        apache-plugin for collectd
97 Summary(pl_PL.UTF-8):   Wtyczka apache dla collectd
98 Group:          Daemons
99 Requires:       %{name} = %{version}-%{release}
100
101 %description apache
102 This plugin collectd data provided by Apache's `mod_status'.
103
104 %description apache -l pl.UTF-8
105 Wtyczka collectd zbierająca informacje udostępniane przez moduł
106 'mod_status' Apacha.
107
108 %package apcups
109 Summary:        APC UPS plugin for collectd
110 Summary(pl_PL.UTF-8):   Wtyczka APC UPS dla collectd
111 Group:          Daemons
112 Requires:       %{name} = %{version}-%{release}
113
114 %description apcups
115 APC UPS plugin for collectd.
116
117 %package ascent
118 Summary:        ascent-plugin for collectd
119 Summary(pl_PL.UTF-8):   Wtyczka ascent dla collectd
120 Group:          Daemons
121 Requires:       %{name} = %{version}-%{release}
122
123 %description ascent
124 ascent plugin for collectd.
125
126 %package battery
127 Summary:        battery plugin for collectd
128 Summary(pl_PL.UTF-8):   Wtyczka battery dla collectd
129 Group:          Daemons
130 Requires:       %{name} = %{version}-%{release}
131
132 %description battery
133 This plugin collects the battery's charge, the drawn current and the
134 battery's voltage.
135
136 %package collection
137 Summary:        Web script for collectd
138 Summary(pl_PL.UTF-8):   Web script for collectd
139 Group:          Applications/WWW
140 Requires:       %{name} = %{version}-%{release}
141 Requires:       perl(CGI)
142 Requires:       perl(Data::Dumper)
143 Requires:       perl(HTML::Entities)
144 Requires:       perl(RRDs)
145 Requires:       perl(URI::Escape)
146 Requires:       webserver(cgi)
147 Suggests:       fonts-TTF-DejaVu
148
149 %description collection
150 Web script for collectd.
151
152 %package cpu
153 Summary:        cpu-plugin for collectd
154 Summary(pl_PL.UTF-8):   Wtyczka cpu dla collectd
155 Group:          Daemons
156 Requires:       %{name} = %{version}-%{release}
157
158 %description cpu
159 The cpu-plugin collects the amount of time spent by the CPU in various states,
160 most notably executing user code, executing system code, waiting for IO
161 operations and being idle.
162
163 %package cpufreq
164 Summary:        cpufreq-plugin for collectd
165 Summary(pl_PL.UTF-8):   Wtyczka cpufreq dla collectd
166 Group:          Daemons
167 Requires:       %{name} = %{version}-%{release}
168
169 %description cpufreq
170 Collects the current CPU's frequency, mostly for mobile computers.
171
172 %package csv
173 Summary:        CSV output plugin for collectd
174 Summary(pl_PL.UTF-8):   Wtyczka wyjściowa CSV dla collectd
175 Group:          Daemons
176 Requires:       %{name} = %{version}-%{release}
177
178 %description csv
179 CSV output plugin for collectd.
180
181 %package df
182 Summary:        df-plugin for collectd
183 Summary(pl_PL.UTF-8):   Wtyczka df dla collectd
184 Group:          Daemons
185 Requires:       %{name} = %{version}-%{release}
186
187 %description df
188 The df-plugin collects file system usage information, i. e. basically how
189 much space on a mounted partition is used and how much is available. It's
190 named after and very similar to the df(1) UNIX command that's been around
191 forever.
192
193 %package disk
194 Summary:        disk-plugin for collectd
195 Summary(pl_PL.UTF-8):   Wtyczka disk dla collectd
196 Group:          Daemons
197 Requires:       %{name} = %{version}-%{release}
198
199 %description disk
200 This plugin collects performance statistics of harddisks and, where
201 supported, partitions.
202
203 %package dns
204 Summary:        dns-plugin for collectd
205 Summary(pl_PL.UTF-8):   Wtyczka dns dla collectd
206 Group:          Daemons
207 Requires:       %{name} = %{version}-%{release}
208 Requires:       perl-rrdtool
209
210 %description dns
211 This plugin has a similar functionality to dnstop: It uses libpcap to get
212 a copy of all traffic from/to port UDP/53 (that's the DNS port), interprets
213 the packets and collects statistics of your DNS traffic.
214
215 %package email
216 Summary:        email-plugin for collectd
217 Summary(pl_PL.UTF-8):   Wtyczka email dla collectd
218 Group:          Daemons
219 Requires:       %{name} = %{version}-%{release}
220
221 %description email
222 The email plugin opens an UNIX-socket over which one can submit email
223 statistics, such as the number of ``ham'', ``spam'', ``virus'', etc. mails
224 received/handled, spam scores and matched spam checks.
225
226 This plugin is intended to be used with the the
227 Mail::SpamAssassin::Plugin::Collectd manpage SpamAssassin-plugin which is
228 included in contrib/, but is of course not limited to that use.
229
230 %package entropy
231 Summary:        entropy-plugin for collectd
232 Summary(pl_PL.UTF-8):   Wtyczka entropy dla collectd
233 Group:          Daemons
234 Requires:       %{name} = %{version}-%{release}
235
236 %description entropy
237 entropy plugin for collectd.
238
239 %package exec
240 Summary:        exec-plugin for collectd
241 Summary(pl_PL.UTF-8):   Wtyczka exec dla collectd
242 Group:          Daemons
243 Requires:       %{name} = %{version}-%{release}
244
245 %description exec
246 The exec plugin forks of an executable either to receive values or to
247 dispatch notifications to the outside world.
248
249 %package filecount
250 Summary:        filecount-plugin for collectd
251 Summary(pl_PL.UTF-8):   Wtyczka filecount dla collectd
252 Group:          Daemons
253 Requires:       %{name} = %{version}-%{release}
254
255 %description filecount
256 The filecount-plugin does something very simple: Count the number of files
257 in a directory and all its subdirectories. This can be used for a variety of
258 statistics, for example the queue length of an MTA, the number of PHP
259 sessions of a web server or simply the number of files in your home
260 directory.
261
262 %package hddtemp
263 Summary:        hddtemp-plugin for collectd
264 Summary(pl_PL.UTF-8):   Wtyczka hddtemp dla collectd
265 Group:          Daemons
266 Requires:       %{name} = %{version}-%{release}
267 Suggests:       hddtemp-hddtempd
268
269 %description hddtemp
270 Temperature of harddisks. The temperatures are provided via S.M.A.R.T. and
271 queried by the external hddtemp-daemon.
272
273 %package interface
274 Summary:        interface-plugin for collectd
275 Summary(pl_PL.UTF-8):   Wtyczka interface dla collectd
276 Group:          Daemons
277 Requires:       %{name} = %{version}-%{release}
278
279 %description interface
280 The interface-plugin collects information about the traffic (octets), packets
281 and errors of interfaces.
282
283 %package iptables
284 Summary:        iptables-plugin for collectd
285 Summary(pl_PL.UTF-8):   Wtyczka iptables dla collectd
286 Group:          Daemons
287 Requires:       %{name} = %{version}-%{release}
288
289 %description iptables
290 With this plugin you can gather statistics from your ip_tables based
291 packetfilter (aka. firewall). It can collect the byte- and packet-counters
292 of selected rules and submit them to collectd. You can select rules that
293 should be collected wither by its position (e.g. "the fourth rule in the
294 INPUT queue in the filter table") or by its comment (using the COMMENT
295 match). This means that depending on your firewall layout you can collect
296 certain services (such as the amount of web-traffic), source or destination
297 hosts or networks, dropped packets and much more.
298
299 %package ipmi
300 Summary:        ipmi-plugin for collectd
301 Summary(pl_PL.UTF-8):   Wtyczka ipmi dla collectd
302 Group:          Daemons
303 Requires:       %{name} = %{version}-%{release}
304
305 %description ipmi
306 ipmi plugin for collectd.
307
308 %description ipmi -l pl.UTF-8
309 Wtyczka ipmi dla collectd.
310
311 %package irq
312 Summary:        IRQs-plugin for collectd
313 Summary(pl_PL.UTF-8):   Wtyczka IRQs dla collectd
314 Group:          Daemons
315 Requires:       %{name} = %{version}-%{release}
316
317 %description irq
318 IRQs plugin for collectd.
319
320 %package load
321 Summary:        load-plugin for collectd
322 Summary(pl_PL.UTF-8):   Wtyczka load dla collectd
323 Group:          Daemons
324 Requires:       %{name} = %{version}-%{release}
325
326 %description load
327 Collects the system load. These numbers give a rough overview over the
328 utilization of a machine, though their meaning is mostly overrated.
329
330 %package logfile
331 Summary:        logfile-plugin for collectd
332 Summary(pl_PL.UTF-8):   Wtyczka logfile dla collectd
333 Group:          Daemons
334 Requires:       %{name} = %{version}-%{release}
335
336 %description logfile
337 Logfile plugin for collectd.
338
339 %module_scripts mbmon
340 %package mbmon
341 Summary:        mbmon-plugin for collectd
342 Summary(pl_PL.UTF-8):   Wtyczka mbmon dla collectd
343 Group:          Daemons
344 Requires:       %{name} = %{version}-%{release}
345
346 %description mbmon
347 The mbmon plugin uses mbmon to retrieve temperature, voltage, etc.
348
349 %package memcached
350 Summary:        memcached-plugin for collectd
351 Summary(pl_PL.UTF-8):   Wtyczka memcached dla collectd
352 Group:          Daemons
353 Requires:       %{name} = %{version}-%{release}
354
355 %description memcached
356 The memcached plugin connects to a memcached daemon and collects the number
357 of connections and requests handled by the daemon, the CPU resources consumed,
358 number of items cached, number of threads, and bytes sent and received.
359
360 %package memory
361 Summary:        memory-plugin for collectd
362 Summary(pl_PL.UTF-8):   Wtyczka memory dla collectd
363 Group:          Daemons
364 Requires:       %{name} = %{version}-%{release}
365
366 %description memory
367 Collects physical memory utilization for collectd.
368
369 %package multimeter
370 Summary:        multimeter-plugin for collectd
371 Summary(pl_PL.UTF-8):   Wtyczka multimeter dla collectd
372 Group:          Daemons
373 Requires:       %{name} = %{version}-%{release}
374
375 %description multimeter
376 Multimeter plugin for collectd.
377
378 %package mysql
379 Summary:        mysql-plugin for collectd
380 Summary(pl_PL.UTF-8):   Moduł mysql dla collectd.
381 Group:          Daemons
382 Requires:       %{name} = %{version}-%{release}
383
384 %description mysql
385 MySQL querying plugin. This plugins provides data of issued commands,
386 called handlers and database traffic.
387
388 %description mysql -l pl.UTF-8
389 Moduł odpytujący MySQL. Wtyczka udostępnia dane o wydawanych
390 poleceniach, wywoływanych procedurach obsługi i ruchu bazodanowym.
391
392 %package netlink
393 Summary:        netlink-plugin for collectd
394 Summary(pl_PL.UTF-8):   Wtyczka netlink dla collectd
395 Group:          Daemons
396 Requires:       %{name} = %{version}-%{release}
397
398 %description netlink
399 This plugin will open a netlink socket to the Linux kernel and use it to get
400 statistics for interfaces, qdiscs, classes, and, if you can make use of it,
401 filters. Since in most setups many of the statistics this plugin can collect
402 aren't of interest, you can select which information to gather using the
403 configuration.
404
405 %package network
406 Summary:        network-plugin for collectd
407 Summary(pl_PL.UTF-8):   Wtyczka network dla collectd
408 Group:          Daemons
409 Requires:       %{name} = %{version}-%{release}
410
411 %description network
412 nginx plugin for collectd.
413
414 %package nfs
415 Summary:        NFS-plugin for collectd
416 Summary(pl_PL.UTF-8):   Wtyczka NFS dla collectd
417 Group:          Daemons
418 Requires:       %{name} = %{version}-%{release}
419
420 %description nfs
421 The nfs plugin counts the number of procedure calls of the different NFS
422 procedures.
423
424 %package nginx
425 Summary:        nginx-plugin for collectd
426 Summary(pl_PL.UTF-8):   Wtyczka nginx dla collectd
427 Group:          Daemons
428 Requires:       %{name} = %{version}-%{release}
429
430 %description nginx
431 This plugin collects the number of connections and requests handled by the
432 nginx daemon, a HTTP and mail server/proxy. It queries the page provided by
433 the ngx_http_stub_status_module module, which isn't compiled by default.
434
435 %package notify_desktop
436 Summary:        notify_desktop for collectd
437 Summary(pl_PL.UTF-8):   Wtyczka notify_desktop dla collectd
438 Group:          Daemons
439 Requires:       %{name} = %{version}-%{release}
440
441 %description notify_desktop
442 This plugin sends a desktop notification to a notification daemon, as
443 defined in the Desktop Notification Specification. To actually display the
444 notifications, notification-daemon is required and collectd has to be able
445 to access the X server.
446
447 %package notify_email
448 Summary:        notify_email-plugin for collectd
449 Summary(pl_PL.UTF-8):   Wtyczka notify_email dla collectd
450 Group:          Daemons
451 Requires:       %{name} = %{version}-%{release}
452
453 %description notify_email
454 notify_email plugin for collectd.
455
456 %package ntpd
457 Summary:        ntpd-plugin for collectd
458 Summary(pl_PL.UTF-8):   Wtyczka ntpd dla collectd
459 Group:          Daemons
460 Requires:       %{name} = %{version}-%{release}
461
462 %description ntpd
463 NTPd plugin for collectd.
464
465 %package nut
466 Summary:        nut-plugin for collectd
467 Summary(pl_PL.UTF-8):   Wtyczka nut dla collectd
468 Group:          Daemons
469 Requires:       %{name} = %{version}-%{release}
470
471 %description nut
472 UPS statistics using the Network UPS Tools. These statistics include
473 basically everything NUT will give us, including voltages, currents, power,
474 frequencies, load, and temperatures.
475
476 %package ping
477 Summary:        ping-plugin for collectd
478 Summary(pl_PL.UTF-8):   Wtyczka ping dla collectd
479 Group:          Daemons
480 Requires:       %{name} = %{version}-%{release}
481
482 %description ping
483 The network latency is measured as a roundtrip time. An ICMP-echo-request
484 (aka. "ping")is sent to a host and the time needed for his echo-reply (aka.
485 "pong") to arrive is measured. If a reply is not received within one second
486 the plugin will no longer expect a reply and return. This may happen in
487 several circumstances, e. g. the packet is lost, the host is down, a router
488 has dismissed the packet, etc.
489
490 %package postgresql
491 Summary:        mysql-plugin for collectd
492 Summary(pl_PL.UTF-8):   Moduł postgresql dla collectd.
493 Group:          Daemons
494 Requires:       %{name} = %{version}-%{release}
495
496 %description postgresql
497 The postgresql plugin queries statistics from PostgreSQL databases. It keeps
498 a persistent connection to all configured databases and tries to reconnect
499 if the connection has been interrupted.
500
501 %package powerdns
502 Summary:        powerdns-plugin for collectd
503 Summary(pl_PL.UTF-8):   Wtyczka powerdns dla collectd
504 Group:          Daemons
505 Requires:       %{name} = %{version}-%{release}
506
507 %description powerdns
508 The powerdns plugin queries statistics from an authoritative PowerDNS
509 nameserver and/or a PowerDNS recursor. Since both offer a wide variety of
510 values, many of which are probably meaningless to most users, but may be
511 useful for some.
512
513 %package processes
514 Summary:        processes-plugin for collectd
515 Summary(pl_PL.UTF-8):   Wtyczka processes dla collectd
516 Group:          Daemons
517 Requires:       %{name} = %{version}-%{release}
518
519 %description processes
520 This plugin collects the number of processes, grouped by their state (e.g.
521 running, sleeping, zombies, etc.). In addition to that, it can select
522 detailed statistics about selected processes, grouped by name.
523
524 %package rrdtool
525 Summary:        rrdtool-plugin for collectd
526 Summary(pl_PL.UTF-8):   Wtyczka rrdtool dla collectd
527 Group:          Daemons
528 Requires:       %{name} = %{version}-%{release}
529 Requires:       rrdtool
530
531 %description rrdtool
532 RRDTOOL plugin for collectd.
533
534 %package sensors
535 Summary:        sensors-plugin for collectd
536 Summary(pl_PL.UTF-8):   Wtyczka sensors dla collectd
537 Group:          Daemons
538 Requires:       %{name} = %{version}-%{release}
539
540 %description sensors
541 This plugin uses lm-sensors to read hardware sensors. You will need to
542 configure lm-sensors before this plugin will collect any usefull and correct
543 data.
544
545 %module_scripts serial
546 %package serial
547 Summary:        serial-plugin for collectd
548 Summary(pl_PL.UTF-8):   Wtyczka serial dla collectd
549 Group:          Daemons
550 Requires:       %{name} = %{version}-%{release}
551
552 %description serial
553 Serial plugin for collectd.
554
555 %package snmp
556 Summary:        snmp-plugin for collectd
557 Summary(pl_PL.UTF-8):   Wtyczka snmp dla collectd
558 Group:          Daemons
559 Requires:       %{name} = %{version}-%{release}
560
561 %description snmp
562 The snmp plugin queries other hosts using SNMP, the Simple Network
563 Management Protocol, and translates the value it receives to collectd's
564 internal format and dispatches them. Depending on the write plugins you have
565 loaded they may be written to disk or submitted to another instance or
566 whatever you configured.
567
568 %package swap
569 Summary:        swap-plugin for collectd
570 Summary(pl_PL.UTF-8):   Wtyczka swap dla collectd
571 Group:          Daemons
572 Requires:       %{name} = %{version}-%{release}
573
574 %description swap
575 Swap space plugin for collectd.
576
577 %package syslog
578 Summary:        syslog-plugin for collectd
579 Summary(pl_PL.UTF-8):   Wtyczka syslog dla collectd
580 Group:          Daemons
581 Requires:       %{name} = %{version}-%{release}
582
583 %description syslog
584 Syslog plugin for collectd.
585
586 %package tail
587 Summary:        tail-plugin for collectd
588 Summary(pl_PL.UTF-8):   Wtyczka tail dla collectd
589 Group:          Daemons
590 Requires:       %{name} = %{version}-%{release}
591
592 %description tail
593 The tail-plugin can be used to "tail" logfiles, i.e. follow them as tail -F
594 does. Each line is given to one or more "matches" which test if the line is
595 relevant for any statistics using a regular expression.
596
597 %package tcpconns
598 Summary:        tcpconns-plugin for collectd
599 Summary(pl_PL.UTF-8):   Wtyczka tcpconns dla collectd
600 Group:          Daemons
601 Requires:       %{name} = %{version}-%{release}
602
603 %description tcpconns
604 The tcpconns-plugin counts the number of TCP connections to or from a
605 specified port. Typically the connectioins where you specify the local port
606 are incoming connections while the connections where you specify the remote
607 port are outgoing connections.
608
609 %package teamspeak2
610 Summary:        teamspeak2-plugin for collectd
611 Summary(pl_PL.UTF-8):   Wtyczka teamspeak2 dla collectd
612 Group:          Daemons
613 Requires:       %{name} = %{version}-%{release}
614
615 %description teamspeak2
616 The teamspeak2 plugin connects to the query port of a teamspeak2 server and
617 polls interesting global and virtual server data. The plugin can query only
618 one physical server but unlimited virtual servers.
619
620 %package thermal
621 Summary:        thermal-plugin for collectd
622 Summary(pl_PL.UTF-8):   Wtyczka thermal dla collectd
623 Group:          Daemons
624 Requires:       %{name} = %{version}-%{release}
625
626 %description thermal
627 Thermal plugin for collectd.
628
629 %package unixsock
630 Summary:        unixsock-plugin for collectd
631 Summary(pl_PL.UTF-8):   Wtyczka unixsock dla collectd
632 Group:          Daemons
633 Requires:       %{name} = %{version}-%{release}
634
635 %description unixsock
636 The unixsock plugin opens an UNIX-socket over which one can interact with
637 the daemon. This can be used to use the values collected by collectd in
638 other applications, such as monitoring, or submit externally collected
639 values to collectd.
640
641 %package users
642 Summary:        users-plugin for collectd
643 Summary(pl_PL.UTF-8):   Wtyczka users dla collectd
644 Group:          Daemons
645 Requires:       %{name} = %{version}-%{release}
646
647 %description users
648 Number of users currently logged in.
649
650 %package uuid
651 Summary:        uuid-plugin for collectd
652 Summary(pl_PL.UTF-8):   Wtyczka uuid dla collectd
653 Group:          Daemons
654 Requires:       %{name} = %{version}-%{release}
655
656 %description uuid
657 This plugin, if loaded, causes the Hostname to be taken from the machine's
658 UUID. The UUID is a universally unique designation for the machine, usually
659 taken from the machine's BIOS. This is most useful if the machine is
660 running in a virtual environment such as Xen, in which case the UUID is
661 preserved across shutdowns and migration.
662
663 %package vmem
664 Summary:        vmem-plugin for collectd
665 Summary(pl_PL.UTF-8):   Wtyczka vmem dla collectd
666 Group:          Daemons
667 Requires:       %{name} = %{version}-%{release}
668
669 %description vmem
670 The vmem plugin collects information about the usage of virtual memory.
671 Since the statistics provided by the Linux kernel are very detailed, they
672 are collected very detailed.
673
674 %package vserver
675 Summary:        vserver-plugin for collectd
676 Summary(pl_PL.UTF-8):   Wtyczka vserver dla collectd
677 Group:          Daemons
678 Requires:       %{name} = %{version}-%{release}
679
680 %description vserver
681 Collects information about the virtual servers running on a system, using
682 Linux-Vserver.
683
684 %package wireless
685 Summary:        wireless-plugin for collectd
686 Summary(pl_PL.UTF-8):   Wtyczka wireless dla collectd
687 Group:          Daemons
688 Requires:       %{name} = %{version}-%{release}
689
690 %description wireless
691 Wireless plugin for collectd.
692
693 %package xmms
694 Summary:        xmms-plugin for collectd
695 Summary(pl_PL.UTF-8):   Wtyczka xmms dla collectd
696 Group:          Daemons
697 Requires:       %{name} = %{version}-%{release}
698
699 %description xmms
700 This plugin collectd data provided by XMMS.
701
702 %prep
703 %setup -q
704 %patch0 -p1
705
706 %build
707 %{__libtoolize}
708 %{__aclocal}
709 %{__autoconf}
710 %{__autoheader}
711 %{__automake}
712
713 %configure \
714         --with-libstatgrab=/usr \
715         --with-lm-sensors=/usr \
716         --with-libmysql=/usr \
717         --%{?with_ipmi:en}%{!?with_ipmi:dis}able-ipmi \
718         --%{?with_multimeter:en}%{!?with_multimeter:dis}able-multimeter \
719         --%{?with_dns:en}%{!?with_dns:dis}able-dns \
720         --%{?with_iptables:en}%{!?with_iptables:dis}able-iptables \
721         --%{?with_netlink:en}%{!?with_netlink:dis}able-netlink \
722         --disable-ipvs \
723         --disable-libvirt \
724         --disable-perl
725
726
727 %{__make} LDFLAGS="%{rpmldflags} -lstatgrab" \
728         BUILD_WITH_OPENIPMI_CFLAGS="-I/usr/include" \
729         BUILD_WITH_OPENIPMI_LIBS="-L/usr/lib64 -lOpenIPMIutils -lOpenIPMIpthread"
730
731 %install
732 rm -rf $RPM_BUILD_ROOT
733 install -d $RPM_BUILD_ROOT{%{_var}/{log/,lib/%{name}},/etc/{rc.d/init.d/,collectd.d}} \
734         $RPM_BUILD_ROOT{%{_appdir}/cgi-bin,%{_webappdir},%{_pkglibdir}}
735
736 %{__make} install \
737         DESTDIR=$RPM_BUILD_ROOT
738
739 touch $RPM_BUILD_ROOT%{_var}/log/collectd.log
740 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
741
742 # Web frontend:
743 install contrib/collection.conf $RPM_BUILD_ROOT%{_webappdir}
744 install contrib/collection.cgi $RPM_BUILD_ROOT%{_appdir}/cgi-bin
745 install %{SOURCE3} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
746 install %{SOURCE3} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
747 install %{SOURCE4} $RPM_BUILD_ROOT%{_webappdir}/lighttpd.conf
748
749 ### Configs instalation ###
750 for i in `egrep "^LoadPlugin" src/collectd.conf |awk '{print $NF}' ` ; do
751         egrep "LoadPlugin $i$" src/collectd.conf > $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/$i.conf
752         grep -v LoadPlugin src/collectd.conf |%{__sed} -e '/./{H;$!d;}' -e "x;/ $i>/!d;" >> $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/$i.conf
753 done
754
755 # Example config in sources: src/collectd.conf
756 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.conf
757
758 # Overwrite only files which we want to change:
759 install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/df.conf
760 install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/rrdtool.conf
761
762 # Cleanups:
763 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/*.la
764
765 %clean
766 rm -rf $RPM_BUILD_ROOT
767
768 %post
769 /sbin/chkconfig --add %{name}
770 %service %{name} restart
771
772 %preun
773 if [ "$1" = "0" ]; then
774         %service -q %{name} stop
775         /sbin/chkconfig --del %{name}
776 fi
777
778 %define module_scripts() \
779 %post %1 \
780 %service %{name} restart \
781 \
782 %postun %1 \
783 %service %{name} restart
784
785 %module_scripts apache
786 %module_scripts apcups
787 %module_scripts ascent
788 %module_scripts battery
789 %module_scripts cpufreq
790 %module_scripts cpu
791 %module_scripts csv
792 %module_scripts df
793 %module_scripts disk
794 %{?with_dns:%module_scripts dns}
795 %module_scripts email
796 %module_scripts entropy
797 %module_scripts exec
798 %module_scripts filecount
799 %module_scripts hddtemp
800 %module_scripts interface
801 %{?with_ipmi:%module_scripts ipmi}
802 %{?with_iptables:%module_scripts iptables}
803 %module_scripts irq
804 %module_scripts load
805 %module_scripts logfile
806 %module_scripts mbmon
807 %module_scripts memcached
808 %module_scripts memory
809 %{?with_multimeter:%module_scripts multimeter}
810 %module_scripts mysql
811 %{?with_netlink:%module_scripts netlink}
812 %module_scripts network
813 %module_scripts nfs
814 %module_scripts nginx
815 %module_scripts notify_desktop
816 %module_scripts notify_email
817 %module_scripts ntpd
818 %module_scripts nut
819 %module_scripts ping
820 %module_scripts postgresql
821 %module_scripts powerdns
822 %module_scripts processes
823 %module_scripts rrdtool
824 %module_scripts sensors
825 %module_scripts serial
826 %module_scripts snmp
827 %module_scripts swap
828 %module_scripts syslog
829 %module_scripts tail
830 %module_scripts tcpconns
831 %module_scripts teamspeak2
832 %module_scripts thermal
833 %module_scripts unixsock
834 %module_scripts users
835 %module_scripts uuid
836 %module_scripts vmem
837 %module_scripts vserver
838 %module_scripts wireless
839 %module_scripts xmms
840
841 %triggerin collection -- apache1 < 1.3.37-3, apache1-base
842 %webapp_register apache %{_webapp}
843
844 %triggerun collection -- apache1 < 1.3.37-3, apache1-base
845 %webapp_unregister apache %{_webapp}
846
847 %triggerin collection -- apache < 2.2.0, apache-base
848 %webapp_register httpd %{_webapp}
849
850 %triggerun collection -- apache < 2.2.0, apache-base
851 %webapp_unregister httpd %{_webapp}
852
853 %triggerin collection -- lighttpd
854 %webapp_register lighttpd %{_webapp}
855
856 %triggerun collection -- lighttpd
857 %webapp_unregister lighttpd %{_webapp}
858
859 %files
860 %defattr(644,root,root,755)
861 %doc AUTHORS ChangeLog README TODO contrib
862 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.conf
863 %dir %{_sysconfdir}/%{name}.d
864 %attr(755,root,root) %{_sbindir}/collectd
865 %attr(755,root,root) %{_sbindir}/collectdmon
866 %attr(755,root,root) %{_bindir}/collectd-nagios
867 %dir %{_libdir}/%{name}
868 %{_libdir}/%{name}/types.db
869 %attr(754,root,root) /etc/rc.d/init.d/%{name}
870 %{_mandir}/man1/collectd.1*
871 %{_mandir}/man1/collectd-nagios.1*
872 %{_mandir}/man5/collectd.conf.5*
873 %{_mandir}/man5/collectd-perl.5*
874 %{_mandir}/man1/collectdmon.1*
875 %{_mandir}/man5/types.db.5*
876 %dir %{_var}/lib/%{name}
877
878 %files collection
879 %defattr(644,root,root,755)
880 %dir %{_webappdir}
881 %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/collection.conf
882 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
883 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
884 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/lighttpd.conf
885 %dir %{_appdir}
886 %dir %{_appdir}/cgi-bin
887 %attr(755,root,root) %{_appdir}/cgi-bin/collection.cgi
888
889 ########## PLUGINS:
890 %files apcups
891 %defattr(644,root,root,755)
892 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/apcups.conf
893 %attr(755,root,root) %{_libdir}/%{name}/apcups.so
894
895 %files ascent
896 %defattr(644,root,root,755)
897 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/ascent.conf
898 %attr(755,root,root) %{_libdir}/%{name}/ascent.so
899
900 %files apache
901 %defattr(644,root,root,755)
902 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/apache.conf
903 %attr(755,root,root) %{_libdir}/%{name}/apache.so
904
905 %files battery
906 %defattr(644,root,root,755)
907 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/battery.conf
908 %attr(755,root,root) %{_libdir}/%{name}/battery.so
909
910 %files cpu
911 %defattr(644,root,root,755)
912 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/cpu.conf
913 %attr(755,root,root) %{_libdir}/%{name}/cpu.so
914
915 %files cpufreq
916 %defattr(644,root,root,755)
917 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/cpufreq.conf
918 %attr(755,root,root) %{_libdir}/%{name}/cpufreq.so
919
920 %files csv
921 %defattr(644,root,root,755)
922 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/csv.conf
923 %attr(755,root,root) %{_libdir}/%{name}/csv.so
924
925 %files df
926 %defattr(644,root,root,755)
927 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/df.conf
928 %attr(755,root,root) %{_libdir}/%{name}/df.so
929
930 %files disk
931 %defattr(644,root,root,755)
932 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/disk.conf
933 %attr(755,root,root) %{_libdir}/%{name}/disk.so
934
935 %files dns
936 %defattr(644,root,root,755)
937 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/dns.conf
938 %attr(755,root,root) %{_libdir}/%{name}/dns.so
939
940 %files email
941 %defattr(644,root,root,755)
942 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/email.conf
943 %attr(755,root,root) %{_libdir}/%{name}/email.so
944 %{_mandir}/man5/collectd-email.5*
945
946 %files entropy
947 %defattr(644,root,root,755)
948 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/entropy.conf
949 %attr(755,root,root) %{_libdir}/%{name}/entropy.so
950
951 %files exec
952 %defattr(644,root,root,755)
953 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/exec.conf
954 %attr(755,root,root) %{_libdir}/%{name}/exec.so
955 %{_mandir}/man5/collectd-exec.5*
956
957 %files filecount
958 %defattr(644,root,root,755)
959 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/filecount.conf
960 %attr(755,root,root) %{_libdir}/%{name}/filecount.so
961
962 %files hddtemp
963 %defattr(644,root,root,755)
964 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/hddtemp.conf
965 %attr(755,root,root) %{_libdir}/%{name}/hddtemp.so
966
967 %files interface
968 %defattr(644,root,root,755)
969 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/interface.conf
970 %attr(755,root,root) %{_libdir}/%{name}/interface.so
971
972 %if %{with ipmi}
973 %files ipmi
974 %defattr(644,root,root,755)
975 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/ipmi.conf
976 %attr(755,root,root) %{_libdir}/%{name}/ipmi.so
977 %endif
978
979 %if %{with iptables}
980 %files iptables
981 %defattr(644,root,root,755)
982 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/iptables.conf
983 %attr(755,root,root) %{_libdir}/%{name}/iptables.so
984 %endif
985
986 %files irq
987 %defattr(644,root,root,755)
988 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/irq.conf
989 %attr(755,root,root) %{_libdir}/%{name}/irq.so
990
991 %files load
992 %defattr(644,root,root,755)
993 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/load.conf
994 %attr(755,root,root) %{_libdir}/%{name}/load.so
995
996 %files logfile
997 %defattr(644,root,root,755)
998 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/logfile.conf
999 %attr(755,root,root) %{_libdir}/%{name}/logfile.so
1000 %{_var}/log/collectd.log
1001
1002 %files mbmon
1003 %defattr(644,root,root,755)
1004 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/mbmon.conf
1005 %attr(755,root,root) %{_libdir}/%{name}/mbmon.so
1006
1007 %files memcached
1008 %defattr(644,root,root,755)
1009 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/memcached.conf
1010 %attr(755,root,root) %{_libdir}/%{name}/memcached.so
1011
1012 %files memory
1013 %defattr(644,root,root,755)
1014 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/memory.conf
1015 %attr(755,root,root) %{_libdir}/%{name}/memory.so
1016
1017 %if %{with multimeter}
1018 %files multimeter
1019 %defattr(644,root,root,755)
1020 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/multimeter.conf
1021 %attr(755,root,root) %{_libdir}/%{name}/multimeter.so
1022 %endif
1023
1024 %files mysql
1025 %defattr(644,root,root,755)
1026 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/mysql.conf
1027 %attr(755,root,root) %{_libdir}/%{name}/mysql.so
1028
1029 %if %{with netlink}
1030 %files netlink
1031 %defattr(644,root,root,755)
1032 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/netlink.conf
1033 %attr(755,root,root) %{_libdir}/%{name}/netlink.so
1034 %endif
1035
1036 %files network
1037 %defattr(644,root,root,755)
1038 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/network.conf
1039 %attr(755,root,root) %{_libdir}/%{name}/network.so
1040
1041 %files nfs
1042 %defattr(644,root,root,755)
1043 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/nfs.conf
1044 %attr(755,root,root) %{_libdir}/%{name}/nfs.so
1045
1046 %files nginx
1047 %defattr(644,root,root,755)
1048 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/nginx.conf
1049 %attr(755,root,root) %{_libdir}/%{name}/nginx.so
1050
1051 %files notify_desktop
1052 %defattr(644,root,root,755)
1053 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/notify_desktop.conf
1054 %attr(755,root,root) %{_libdir}/%{name}/notify_desktop.so
1055
1056 %files notify_email
1057 %defattr(644,root,root,755)
1058 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/notify_email.conf
1059 %attr(755,root,root) %{_libdir}/%{name}/notify_email.so
1060
1061 %files ntpd
1062 %defattr(644,root,root,755)
1063 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/ntpd.conf
1064 %attr(755,root,root) %{_libdir}/%{name}/ntpd.so
1065
1066 %files nut
1067 %defattr(644,root,root,755)
1068 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/nut.conf
1069 %attr(755,root,root) %{_libdir}/%{name}/nut.so
1070
1071 %files ping
1072 %defattr(644,root,root,755)
1073 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/ping.conf
1074 %attr(755,root,root) %{_libdir}/%{name}/ping.so
1075
1076 %files postgresql
1077 %defattr(644,root,root,755)
1078 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/postgresql.conf
1079 %attr(755,root,root) %{_libdir}/%{name}/postgresql.so
1080
1081 %files powerdns
1082 %defattr(644,root,root,755)
1083 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/powerdns.conf
1084 %attr(755,root,root) %{_libdir}/%{name}/powerdns.so
1085
1086 %files processes
1087 %defattr(644,root,root,755)
1088 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/processes.conf
1089 %attr(755,root,root) %{_libdir}/%{name}/processes.so
1090
1091 %files rrdtool
1092 %defattr(644,root,root,755)
1093 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/rrdtool.conf
1094 %attr(755,root,root) %{_libdir}/%{name}/rrdtool.so
1095
1096 %files sensors
1097 %defattr(644,root,root,755)
1098 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/sensors.conf
1099 %attr(755,root,root) %{_libdir}/%{name}/sensors.so
1100
1101 %files serial
1102 %defattr(644,root,root,755)
1103 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/serial.conf
1104 %attr(755,root,root) %{_libdir}/%{name}/serial.so
1105
1106 %files snmp
1107 %defattr(644,root,root,755)
1108 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/snmp.conf
1109 %attr(755,root,root) %{_libdir}/%{name}/snmp.so
1110 %{_mandir}/man5/collectd-snmp.5*
1111
1112 %files swap
1113 %defattr(644,root,root,755)
1114 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/swap.conf
1115 %attr(755,root,root) %{_libdir}/%{name}/swap.so
1116
1117 %files syslog
1118 %defattr(644,root,root,755)
1119 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/syslog.conf
1120 %attr(755,root,root) %{_libdir}/%{name}/syslog.so
1121
1122 %files tail
1123 %defattr(644,root,root,755)
1124 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/tail.conf
1125 %attr(755,root,root) %{_libdir}/%{name}/tail.so
1126
1127 %files tcpconns
1128 %defattr(644,root,root,755)
1129 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/tcpconns.conf
1130 %attr(755,root,root) %{_libdir}/%{name}/tcpconns.so
1131
1132 %files teamspeak2
1133 %defattr(644,root,root,755)
1134 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/teamspeak2.conf
1135 %attr(755,root,root) %{_libdir}/%{name}/teamspeak2.so
1136
1137 %files thermal
1138 %defattr(644,root,root,755)
1139 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/thermal.conf
1140 %attr(755,root,root) %{_libdir}/%{name}/thermal.so
1141
1142 %files unixsock
1143 %defattr(644,root,root,755)
1144 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/unixsock.conf
1145 %attr(755,root,root) %{_libdir}/%{name}/unixsock.so
1146 %{_mandir}/man5/collectd-unixsock.5*
1147
1148 %files users
1149 %defattr(644,root,root,755)
1150 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/users.conf
1151 %attr(755,root,root) %{_libdir}/%{name}/users.so
1152
1153 %files uuid
1154 %defattr(644,root,root,755)
1155 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/uuid.conf
1156 %attr(755,root,root) %{_libdir}/%{name}/uuid.so
1157
1158 %files vmem
1159 %defattr(644,root,root,755)
1160 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/vmem.conf
1161 %attr(755,root,root) %{_libdir}/%{name}/vmem.so
1162
1163 %files vserver
1164 %defattr(644,root,root,755)
1165 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/vserver.conf
1166 %attr(755,root,root) %{_libdir}/%{name}/vserver.so
1167
1168 %files wireless
1169 %defattr(644,root,root,755)
1170 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/wireless.conf
1171 %attr(755,root,root) %{_libdir}/%{name}/wireless.so
1172
1173 %files xmms
1174 %defattr(644,root,root,755)
1175 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/xmms.conf
1176 %attr(755,root,root) %{_libdir}/%{name}/xmms.so
This page took 0.2449 seconds and 3 git commands to generate.