Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:rpm-build-umgebung_aufbauen_centos_7

RPM-Build-Umgebung aufbauen CentOS 7

Mithilfe einer RPM-BUILD-Umgebung können rpm-Pakete selbst erstellt werden. Dies kann aus bereits vorhandenen, sogenannten SOURCE-RPM-Paketen erfolgen, oder durch Erstellung von komplett eigenen Paketen.

Ab hier werden zur Ausführung nachfolgender Befehle root-Rechte benötigt. Um der Benutzer root zu werden, melden Sie sich bitte als root-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root:

$ su -
Password:

Vorbereitung

Um eine RPM-BUILD-Umgebung aufbauen zu können und erfolgreich betreiben zu können sind gewisse Gegebenheiten sinnvoll.

Nachfolgende Voraussetzungen sind sinnvoll:

  1. Es sollte ein Rechner sein, welcher immer wieder in die Ausgangsposition zurückgesetzt werden kann. (Möglicherweise eine virtuelle Maschine von der „snapshots“ angefertigt werden können)
  2. Es sollten RPM-Pakete niemals unter dem Benutzer root gebaut werden
  3. Es sollte ein eigene Benutzer zum Bau von RPM-Paketen erstellt und verwendet werden
  4. Es sollte ein eigener GPG-Schlüssel zum signieren der Pakete erstellt werden
  5. Es müssen die Pakete zur Erstellung einer RPM-BUILD-Umgebung installiert werden
  6. Es sollte die RPM-BUILD-Umgebung konfiguriert werden

Dies sind nur grundlegende Empfehlungen für den Aufbau einer eignen RPM-BUILD-Umgebung und die RPM-Paket-Erstellung.

RPM-BUILD-Server

Zunächst soll eine Server unter CentOS in der Version 7 installiert werden.

Dies kann unter nachfolgendem internen Link nachgelesen werden und stellt die Grundlage der RPM-BUILD-Umgebung dar:

:!: WICHTIG - Es soll ein Server unter CentOS in der Version 7 in der Installationsvariante: Minimal Install - OHNE eine Desktop Variante zu installieren - erstellt werden!

:!: WICHTIG - Die Installation einer grafischen Benutzeroberfläche ist NICHT erforderlich!

CentOS 7 - Minimal Desktop Installation - Minimal Install

RPM-BUILD-Benutzer

Um beim Bau von RPM-Paketen und den damit verbundenen Schritten nicht aus versehen die RPM-BUILD-Umgebung zu beschädigen oder zumindest zu beeinträchtigen, in dem Abhängigkeiten der jeweiligen zu bauenden Pakete durch den Benutzer root versehentlich in der RPM-BUILD-Umgebung selbst installiert werden, sollte ein spezieller Benutzer für den Bau der RPM-Pakete verwendet werden, welcher keine Super-User-Rechte besitzt.

Nachfolgend soll eine Benutzer, ohne Super-User-Rechte angelegt werden.

Dazu wird mit nachfolgendem Befehl zuerst eine eigene Gruppe für den noch zu erstellenden Benutzer angelegt:

# groupadd -g 9999 builduser

Befehl/Parameter Erklärung
groupadd Befehl zum Hinzufügen einer Group (Gruppe) zum Betriebssystem.
-g 9999 ID (Nummer) der Gruppe. Solle außerhalb der normalen Benutzer ID's liegen.
builduser Name der Group (Gruppe).

Ob der Befehl zur Erstellung einer Gruppe erfolgreich gewesen ist, kann durch Ausgabe der Konfigurationsdatei

  • /etc/group

mit nachfolgendem Befehl überprüft werden:

# cat /etc/group | grep builduser
builduser:x:9999:

Anschließend kann nun der Benutzer mit z.B. mit nachfolgendem Befehl erstellt werden:

# useradd -c "RPM-BUILD-User" -g 9999 -m -s /bin/bash -u 9999 builduser

Befehl/Parameter Erklärung
useradd Befehl zum Hinzufügen eines Users (Benutzers) zum Betriebssystem.
-c „RPM-BUILD-User Kommentar mit Angaben zum User (Benutzer).
-g 9999 Die Group (Gruppe) zu der der User (Benutzer) im Betriebssystem gehört.
-m Erstellt automatisch ein Home-Verzeichnis /home/builduser im Betriebssystem.
-s /bin/bash Gibt die Standard-shell des Users (Benutzers) vor.
-u 9999 ID des Users (Benutzers) im Betriebssystem.
builduser Name des Users (Benutzers)

Anschließend sollte beim Benutzer auf jeden Fall noch ein Passwort gesetzt werden, was mit nachfolgendem Befehl durchgeführt werden kann:

# passwd builduser
Changing password for user builduser.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

Ob der Befehl zur Erstellung eines Benutzers erfolgreich gewesen ist, kann dies durch Ausgabe der Konfigurationsdateien

  • /etc/passwd

und

  • /etc/shadow

mit nachfolgenden Befehlen überprüft werden:

# cat /etc/passwd | grep builduser
builduser:x:9999:9999:RPM-BUILD-User:/home/builduser:/bin/bash
und
# cat /etc/shadow | grep builduser
builduser:$6$T0eDLMQ8$SJsw/w6UKDRDq1dUl37CBxJmSqNcGskarhF0eS03FK1U6vbOOLgv57ysHG/UdacpyhQwhLAt6BOjQTD8tL8Gl0:16336:0:99999:7:::

RPM-BUILD-GPG-Signing-Key

Um später die erstellten RPM-Pakete auch signieren zu können, sollte ein eigens für diesen Zweck zu verwendender GPG-Schlüssel erstellt werden.

Dies sollte NICHT unter dem Super-User erfolgen, sondern bereits unter dem Benutzer der auch zur Erstellung der RPM-Pakete verwendet werden soll. Hier ist dies der Benutzer builduser.

Dazu kann vom Super-User zum Benutzer builduser mit nachfolgendem Befehl gewechselt werden, was jedoch voraussetzt dass bereits der Super-User root verwendet wird.

# su - builduser
Last login: Tue Sep 23 07:33:17 CEST 2014 on pts/0
[builduser@buildhost ~]$

Um die spätere Eingabe eines Passwortes in einer grafischen Eingabe durchführen zu können, ist es erforderlich zuerst nachfolgende Umgebungsvariable zu setzen, was mit nachfolgendem Befehl durchgeführt werden kann:

# export PINENTRY_BINARY="/usr/bin/pinentry-curses"

Ob die Umgebungsvariable korrekt gesetzt wurde, kann mit nachfolgendem Befehl überprüft werden:

# echo $PINENTRY_BINARY
/usr/bin/pinentry-curses

Anschließend kann mit nachfolgendem Befehl nun ein neuer GPG-Schlüssel erstellt werden. (Dieser Vorgang kann einige Minuten in Anspruch nehmen, je nach Performance der zugrunde liegenden Hardware):

$ gpg --gen-key
gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gpg: directory `/home/builduser/.gnupg' created
gpg: new configuration file `/home/builduser/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/builduser/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/builduser/.gnupg/secring.gpg' created
gpg: keyring `/home/builduser/.gnupg/pubring.gpg' created
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y
GnuPG needs to construct a user ID to identify your key.

Real name: Klaus Tachtler
Email address: klaus@tachtler.net
Comment: RPM-BUILD-KEY
You selected this USER-ID:
    "Klaus Tachtler (RPM-BUILD) <klaus@tachtler.net>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.

Nachdem das Passwort in einem eignen shell-Popup-Fenster zweimal eingegeben wurde, sollte nachfolgende Nachricht auf dem Bildschirm erscheinen:

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: /home/builduser/.gnupg/trustdb.gpg: trustdb created
gpg: key 6B262D88 marked as ultimatly trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   4096/6B262D88 2014-09-23
      Key fingerprint = F6A7 1EBE 0956 5C2D A73A  2A66 12B6 5266 6B26 2D88
uid                  Klaus Tachtler (RPM-BUILD-KEY) <klaus@tachtler.net>
sub   7096/FC7F41D3 2014-09-23

:!: HINWEIS - Um mehr „Entropien“ zur Beschleunigung der Generierung des GPG-Schlüssels zur Verfügung zu haben, kann die Erzeugung der Zufallszahlen durch das Starten von Systemaktivitäten positiv beeinflusst werden. Nachfolgender Befehl kopiert dazu den Inhalt einer Festplatte, hier /dev/sda nach /dev/null (Null Device).

# dd if=/dev/vda of=/dev/null
20480000+0 records in
20480000+0 records out
10485760000 bytes (10 GB) copied, 53.8159 s, 195 MB/s

Um zu überprüfen, ob die Generierung erfolgreich durchgeführt wurde, sollte nachfolgendes Verzeichnis mit in etwa nachfolgendem Inhalt erstellt worden sein:

$ ls -la /home/builduser/.gnupg
total 32
drwx------ 3 builduser builduser  154 Sep 23 08:08 .
drwx------ 3 builduser builduser   92 Sep 23 07:52 ..
-rw------- 1 builduser builduser 7680 Sep 23 07:49 gpg.conf
drwx------ 2 builduser builduser    6 Sep 23 07:52 private-keys-v1.d
-rw------- 1 builduser builduser 2235 Sep 23 08:08 pubring.gpg
-rw------- 1 builduser builduser 2235 Sep 23 08:08 pubring.gpg~
-rw------- 1 builduser builduser  600 Sep 23 08:08 random_seed
-rw------- 1 builduser builduser 4893 Sep 23 08:08 secring.gpg
srwxrwxr-x 1 builduser builduser    0 Sep 23 08:03 S.gpg-agent
-rw------- 1 builduser builduser 1280 Sep 23 08:08 trustdb.gpg

Nachfolgender Befehl bringt ebenfalls zur Überprüfung, alle im Schlüsselbund verfügbaren Schlüssel zur Anzeige:

$ gpg --list-keys
/home/builduser/.gnupg/pubring.gpg
----------------------------------
pub   4096R/6B262D88 2014-09-23
uid                  Klaus Tachtler (RPM-BUILD-KEY) <klaus@tachtler.net>
sub   4096R/FC7F50E2 2014-09-23

Installation

Mit nachfolgendem Befehl, kann eine vorgefertigte Gruppe von Paketen mit dem Namen

  • Development Tools

installiert werden, welche die meisten benötigten Werkzeuge zum Bau einer RPM-BUILD-Umgebung mitbringt.

# yum groupinstall "Development Tools"
Loaded plugins: changelog, priorities
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
46 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package autoconf.noarch 0:2.69-11.el7 will be installed
--> Processing Dependency: m4 >= 1.4.14 for package: autoconf-2.69-11.el7.noarch
--> Processing Dependency: perl(Data::Dumper) for package: autoconf-2.69-11.el7.noarch
---> Package automake.noarch 0:1.13.4-3.el7 will be installed
--> Processing Dependency: perl(Thread::Queue) for package: automake-1.13.4-3.el7.noarch
--> Processing Dependency: perl(TAP::Parser) for package: automake-1.13.4-3.el7.noarch
---> Package bison.x86_64 0:2.7-4.el7 will be installed
---> Package byacc.x86_64 0:1.9.20130304-3.el7 will be installed
---> Package cscope.x86_64 0:15.8-7.el7 will be installed
--> Processing Dependency: emacs-filesystem for package: cscope-15.8-7.el7.x86_64
---> Package ctags.x86_64 0:5.8-13.el7 will be installed
---> Package diffstat.x86_64 0:1.57-4.el7 will be installed
---> Package doxygen.x86_64 1:1.8.5-3.el7 will be installed
---> Package elfutils.x86_64 0:0.158-3.el7 will be installed
---> Package flex.x86_64 0:2.5.37-3.el7 will be installed
---> Package gcc.x86_64 0:4.8.2-16.2.el7_0 will be installed
--> Processing Dependency: cpp = 4.8.2-16.2.el7_0 for package: gcc-4.8.2-16.2.el7_0.x86_64
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.8.2-16.2.el7_0.x86_64
--> Processing Dependency: libmpfr.so.4()(64bit) for package: gcc-4.8.2-16.2.el7_0.x86_64
--> Processing Dependency: libmpc.so.3()(64bit) for package: gcc-4.8.2-16.2.el7_0.x86_64
---> Package gcc-c++.x86_64 0:4.8.2-16.2.el7_0 will be installed
--> Processing Dependency: libstdc++-devel = 4.8.2-16.2.el7_0 for package: gcc-c++-4.8.2-16.2.el7_0.x86_64
---> Package gcc-gfortran.x86_64 0:4.8.2-16.2.el7_0 will be installed
--> Processing Dependency: libquadmath-devel = 4.8.2-16.2.el7_0 for package: gcc-gfortran-4.8.2-16.2.el7_0.x86_64
--> Processing Dependency: libquadmath = 4.8.2-16.2.el7_0 for package: gcc-gfortran-4.8.2-16.2.el7_0.x86_64
--> Processing Dependency: libgfortran = 4.8.2-16.2.el7_0 for package: gcc-gfortran-4.8.2-16.2.el7_0.x86_64
--> Processing Dependency: libgfortran.so.3()(64bit) for package: gcc-gfortran-4.8.2-16.2.el7_0.x86_64
---> Package git.x86_64 0:1.8.3.1-4.el7 will be installed
--> Processing Dependency: perl-Git = 1.8.3.1-4.el7 for package: git-1.8.3.1-4.el7.x86_64
--> Processing Dependency: rsync for package: git-1.8.3.1-4.el7.x86_64
--> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.3.1-4.el7.x86_64
--> Processing Dependency: perl(Git) for package: git-1.8.3.1-4.el7.x86_64
--> Processing Dependency: perl(Error) for package: git-1.8.3.1-4.el7.x86_64
--> Processing Dependency: libgnome-keyring.so.0()(64bit) for package: git-1.8.3.1-4.el7.x86_64
---> Package indent.x86_64 0:2.2.11-13.el7 will be installed
---> Package intltool.noarch 0:0.50.2-6.el7 will be installed
--> Processing Dependency: perl(XML::Parser) for package: intltool-0.50.2-6.el7.noarch
--> Processing Dependency: gettext-devel for package: intltool-0.50.2-6.el7.noarch
---> Package libtool.x86_64 0:2.4.2-20.el7 will be installed
---> Package patch.x86_64 0:2.7.1-8.el7 will be installed
---> Package patchutils.x86_64 0:0.3.3-4.el7 will be installed
---> Package rcs.x86_64 0:5.9.0-5.el7 will be installed
---> Package redhat-rpm-config.noarch 0:9.1.0-63.el7.centos will be installed
--> Processing Dependency: dwz >= 0.4 for package: redhat-rpm-config-9.1.0-63.el7.centos.noarch
--> Processing Dependency: zip for package: redhat-rpm-config-9.1.0-63.el7.centos.noarch
--> Processing Dependency: perl-srpm-macros for package: redhat-rpm-config-9.1.0-63.el7.centos.noarch
---> Package rpm-build.x86_64 0:4.11.1-16.el7 will be installed
--> Processing Dependency: bzip2 for package: rpm-build-4.11.1-16.el7.x86_64
--> Processing Dependency: /usr/bin/gdb-add-index for package: rpm-build-4.11.1-16.el7.x86_64
---> Package rpm-sign.x86_64 0:4.11.1-16.el7 will be installed
---> Package subversion.x86_64 0:1.7.14-6.el7 will be installed
--> Processing Dependency: subversion-libs(x86-64) = 1.7.14-6.el7 for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_wc-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_subr-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_repos-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_ra_svn-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_ra_neon-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_ra_local-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_ra-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_fs_util-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_fs_fs-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_fs_base-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_fs-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_diff-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_delta-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libsvn_client-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libneon.so.27()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64
---> Package swig.x86_64 0:2.0.10-4.el7 will be installed
---> Package systemtap.x86_64 0:2.4-14.el7 will be installed
--> Processing Dependency: systemtap-devel = 2.4-14.el7 for package: systemtap-2.4-14.el7.x86_64
--> Processing Dependency: systemtap-client = 2.4-14.el7 for package: systemtap-2.4-14.el7.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
---> Package bzip2.x86_64 0:1.0.6-12.el7 will be installed
---> Package cpp.x86_64 0:4.8.2-16.2.el7_0 will be installed
---> Package dwz.x86_64 0:0.11-3.el7 will be installed
---> Package emacs-filesystem.noarch 1:24.3-11.el7 will be installed
---> Package gdb.x86_64 0:7.6.1-51.el7 will be installed
---> Package gettext-devel.x86_64 0:0.18.2.1-4.el7 will be installed
--> Processing Dependency: gettext-common-devel = 0.18.2.1-4.el7 for package: gettext-devel-0.18.2.1-4.el7.x86_64
---> Package glibc-devel.x86_64 0:2.17-55.el7_0.1 will be installed
--> Processing Dependency: glibc-headers = 2.17-55.el7_0.1 for package: glibc-devel-2.17-55.el7_0.1.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.17-55.el7_0.1.x86_64
---> Package libgfortran.x86_64 0:4.8.2-16.2.el7_0 will be installed
---> Package libgnome-keyring.x86_64 0:3.8.0-3.el7 will be installed
---> Package libmpc.x86_64 0:1.0.1-3.el7 will be installed
---> Package libquadmath.x86_64 0:4.8.2-16.2.el7_0 will be installed
---> Package libquadmath-devel.x86_64 0:4.8.2-16.2.el7_0 will be installed
---> Package libstdc++-devel.x86_64 0:4.8.2-16.2.el7_0 will be installed
---> Package m4.x86_64 0:1.4.16-9.el7 will be installed
---> Package mpfr.x86_64 0:3.1.1-4.el7 will be installed
---> Package neon.x86_64 0:0.30.0-3.el7 will be installed
--> Processing Dependency: libpakchois.so.0()(64bit) for package: neon-0.30.0-3.el7.x86_64
---> Package perl-Data-Dumper.x86_64 0:2.145-3.el7 will be installed
---> Package perl-Error.noarch 1:0.17020-2.el7 will be installed
---> Package perl-Git.noarch 0:1.8.3.1-4.el7 will be installed
---> Package perl-TermReadKey.x86_64 0:2.30-20.el7 will be installed
---> Package perl-Test-Harness.noarch 0:3.28-2.el7 will be installed
---> Package perl-Thread-Queue.noarch 0:3.02-2.el7 will be installed
---> Package perl-XML-Parser.x86_64 0:2.41-10.el7 will be installed
---> Package perl-srpm-macros.noarch 0:1-8.el7 will be installed
---> Package rsync.x86_64 0:3.0.9-15.el7 will be installed
---> Package subversion-libs.x86_64 0:1.7.14-6.el7 will be installed
---> Package systemtap-client.x86_64 0:2.4-14.el7 will be installed
--> Processing Dependency: systemtap-runtime = 2.4-14.el7 for package: systemtap-client-2.4-14.el7.x86_64
---> Package systemtap-devel.x86_64 0:2.4-14.el7 will be installed
--> Processing Dependency: kernel-devel for package: systemtap-devel-2.4-14.el7.x86_64
---> Package zip.x86_64 0:3.0-10.el7 will be installed
--> Running transaction check
---> Package gettext-common-devel.noarch 0:0.18.2.1-4.el7 will be installed
---> Package glibc-headers.x86_64 0:2.17-55.el7_0.1 will be installed
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-55.el7_0.1.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.17-55.el7_0.1.x86_64
---> Package kernel-debug-devel.x86_64 0:3.10.0-123.8.1.el7 will be installed
---> Package pakchois.x86_64 0:0.4-10.el7 will be installed
---> Package systemtap-runtime.x86_64 0:2.4-14.el7 will be installed
--> Processing Dependency: libsymtabAPI.so.8.1()(64bit) for package: systemtap-runtime-2.4-14.el7.x86_64
--> Processing Dependency: libdyninstAPI.so.8.1()(64bit) for package: systemtap-runtime-2.4-14.el7.x86_64
--> Running transaction check
---> Package dyninst.x86_64 0:8.1.2-6.el7 will be installed
--> Processing Dependency: libdwarf.so.0()(64bit) for package: dyninst-8.1.2-6.el7.x86_64
---> Package kernel-headers.x86_64 0:3.10.0-123.8.1.el7 will be installed
--> Running transaction check
---> Package libdwarf.x86_64 0:20130207-3.el7 will be installed
--> Finished Dependency Resolution

Changes in packages about to be updated:


Dependencies Resolved

================================================================================
 Package                  Arch       Version                  Repository   Size
================================================================================
Installing for group install "Development Tools":
 autoconf                 noarch     2.69-11.el7              base        701 k
 automake                 noarch     1.13.4-3.el7             base        679 k
 bison                    x86_64     2.7-4.el7                base        578 k
 byacc                    x86_64     1.9.20130304-3.el7       base         65 k
 cscope                   x86_64     15.8-7.el7               base        203 k
 ctags                    x86_64     5.8-13.el7               base        155 k
 diffstat                 x86_64     1.57-4.el7               base         35 k
 doxygen                  x86_64     1:1.8.5-3.el7            base        3.6 M
 elfutils                 x86_64     0.158-3.el7              base        260 k
 flex                     x86_64     2.5.37-3.el7             base        292 k
 gcc                      x86_64     4.8.2-16.2.el7_0         updates      16 M
 gcc-c++                  x86_64     4.8.2-16.2.el7_0         updates     7.2 M
 gcc-gfortran             x86_64     4.8.2-16.2.el7_0         updates     6.6 M
 git                      x86_64     1.8.3.1-4.el7            base        4.3 M
 indent                   x86_64     2.2.11-13.el7            base        150 k
 intltool                 noarch     0.50.2-6.el7             base         59 k
 libtool                  x86_64     2.4.2-20.el7             base        588 k
 patch                    x86_64     2.7.1-8.el7              base        110 k
 patchutils               x86_64     0.3.3-4.el7              base        104 k
 rcs                      x86_64     5.9.0-5.el7              base        230 k
 redhat-rpm-config        noarch     9.1.0-63.el7.centos      base         76 k
 rpm-build                x86_64     4.11.1-16.el7            base        140 k
 rpm-sign                 x86_64     4.11.1-16.el7            base         41 k
 subversion               x86_64     1.7.14-6.el7             base        1.0 M
 swig                     x86_64     2.0.10-4.el7             base        1.3 M
 systemtap                x86_64     2.4-14.el7               base         24 k
Installing for dependencies:
 apr                      x86_64     1.4.8-3.el7              base        103 k
 apr-util                 x86_64     1.5.2-6.el7              base         92 k
 bzip2                    x86_64     1.0.6-12.el7             base         52 k
 cpp                      x86_64     4.8.2-16.2.el7_0         updates     5.9 M
 dwz                      x86_64     0.11-3.el7               base         99 k
 dyninst                  x86_64     8.1.2-6.el7              base        2.5 M
 emacs-filesystem         noarch     1:24.3-11.el7            base         57 k
 gdb                      x86_64     7.6.1-51.el7             base        2.4 M
 gettext-common-devel     noarch     0.18.2.1-4.el7           base        368 k
 gettext-devel            x86_64     0.18.2.1-4.el7           base        315 k
 glibc-devel              x86_64     2.17-55.el7_0.1          updates     1.0 M
 glibc-headers            x86_64     2.17-55.el7_0.1          updates     650 k
 kernel-debug-devel       x86_64     3.10.0-123.8.1.el7       updates     9.0 M
 kernel-headers           x86_64     3.10.0-123.8.1.el7       updates     1.4 M
 libdwarf                 x86_64     20130207-3.el7           base        109 k
 libgfortran              x86_64     4.8.2-16.2.el7_0         updates     285 k
 libgnome-keyring         x86_64     3.8.0-3.el7              base        109 k
 libmpc                   x86_64     1.0.1-3.el7              base         51 k
 libquadmath              x86_64     4.8.2-16.2.el7_0         updates     174 k
 libquadmath-devel        x86_64     4.8.2-16.2.el7_0         updates      37 k
 libstdc++-devel          x86_64     4.8.2-16.2.el7_0         updates     1.5 M
 m4                       x86_64     1.4.16-9.el7             base        256 k
 mpfr                     x86_64     3.1.1-4.el7              base        203 k
 neon                     x86_64     0.30.0-3.el7             base        165 k
 pakchois                 x86_64     0.4-10.el7               base         14 k
 perl-Data-Dumper         x86_64     2.145-3.el7              base         47 k
 perl-Error               noarch     1:0.17020-2.el7          base         32 k
 perl-Git                 noarch     1.8.3.1-4.el7            base         52 k
 perl-TermReadKey         x86_64     2.30-20.el7              base         31 k
 perl-Test-Harness        noarch     3.28-2.el7               base        302 k
 perl-Thread-Queue        noarch     3.02-2.el7               base         17 k
 perl-XML-Parser          x86_64     2.41-10.el7              base        223 k
 perl-srpm-macros         noarch     1-8.el7                  base        4.6 k
 rsync                    x86_64     3.0.9-15.el7             base        359 k
 subversion-libs          x86_64     1.7.14-6.el7             base        921 k
 systemtap-client         x86_64     2.4-14.el7               base        3.5 M
 systemtap-devel          x86_64     2.4-14.el7               base        1.5 M
 systemtap-runtime        x86_64     2.4-14.el7               base        255 k
 zip                      x86_64     3.0-10.el7               base        260 k

Transaction Summary
================================================================================
Install  26 Packages (+39 Dependent packages)

Total download size: 79 M
Installed size: 233 M
Is this ok [y/d/N]: y
Downloading packages:
(1/65): apr-1.4.8-3.el7.x86_64.rpm                         | 103 kB   00:00     
(2/65): apr-util-1.5.2-6.el7.x86_64.rpm                    |  92 kB   00:00     
(3/65): autoconf-2.69-11.el7.noarch.rpm                    | 701 kB   00:00     
(4/65): automake-1.13.4-3.el7.noarch.rpm                   | 679 kB   00:00     
(5/65): bison-2.7-4.el7.x86_64.rpm                         | 578 kB   00:00     
(6/65): byacc-1.9.20130304-3.el7.x86_64.rpm                |  65 kB   00:00     
(7/65): bzip2-1.0.6-12.el7.x86_64.rpm                      |  52 kB   00:00     
(8/65): cscope-15.8-7.el7.x86_64.rpm                       | 203 kB   00:00     
(9/65): diffstat-1.57-4.el7.x86_64.rpm                     |  35 kB   00:00     
(10/65): doxygen-1.8.5-3.el7.x86_64.rpm                    | 3.6 MB   00:00     
(11/65): dwz-0.11-3.el7.x86_64.rpm                         |  99 kB   00:00     
(12/65): ctags-5.8-13.el7.x86_64.rpm                       | 155 kB   00:00     
(13/65): elfutils-0.158-3.el7.x86_64.rpm                   | 260 kB   00:00     
(14/65): emacs-filesystem-24.3-11.el7.noarch.rpm           |  57 kB   00:00     
(15/65): flex-2.5.37-3.el7.x86_64.rpm                      | 292 kB   00:00     
(16/65): dyninst-8.1.2-6.el7.x86_64.rpm                    | 2.5 MB   00:00     
(17/65): cpp-4.8.2-16.2.el7_0.x86_64.rpm                   | 5.9 MB   00:00     
(18/65): gcc-c++-4.8.2-16.2.el7_0.x86_64.rpm               | 7.2 MB   00:00     
(19/65): gcc-gfortran-4.8.2-16.2.el7_0.x86_64.rpm          | 6.6 MB   00:00     
(20/65): gcc-4.8.2-16.2.el7_0.x86_64.rpm                   |  16 MB   00:01     
(21/65): gettext-common-devel-0.18.2.1-4.el7.noarch.rpm    | 368 kB   00:00     
(22/65): gdb-7.6.1-51.el7.x86_64.rpm                       | 2.4 MB   00:00     
(23/65): gettext-devel-0.18.2.1-4.el7.x86_64.rpm           | 315 kB   00:00     
(24/65): indent-2.2.11-13.el7.x86_64.rpm                   | 150 kB   00:00     
(25/65): intltool-0.50.2-6.el7.noarch.rpm                  |  59 kB   00:00     
(26/65): git-1.8.3.1-4.el7.x86_64.rpm                      | 4.3 MB   00:00     
(27/65): glibc-headers-2.17-55.el7_0.1.x86_64.rpm          | 650 kB   00:00     
(28/65): glibc-devel-2.17-55.el7_0.1.x86_64.rpm            | 1.0 MB   00:00     
(29/65): kernel-debug-devel-3.10.0-123.8.1.el7.x86_64.rpm  | 9.0 MB   00:00     
(30/65): kernel-headers-3.10.0-123.8.1.el7.x86_64.rpm      | 1.4 MB   00:00     
(31/65): libgfortran-4.8.2-16.2.el7_0.x86_64.rpm           | 285 kB   00:00     
(32/65): libdwarf-20130207-3.el7.x86_64.rpm                | 109 kB   00:00     
(33/65): libmpc-1.0.1-3.el7.x86_64.rpm                     |  51 kB   00:00     
(34/65): libgnome-keyring-3.8.0-3.el7.x86_64.rpm           | 109 kB   00:00     
(35/65): libquadmath-4.8.2-16.2.el7_0.x86_64.rpm           | 174 kB   00:00     
(36/65): libquadmath-devel-4.8.2-16.2.el7_0.x86_64.rpm     |  37 kB   00:00     
(37/65): libstdc++-devel-4.8.2-16.2.el7_0.x86_64.rpm       | 1.5 MB   00:00     
(38/65): m4-1.4.16-9.el7.x86_64.rpm                        | 256 kB   00:00     
(39/65): libtool-2.4.2-20.el7.x86_64.rpm                   | 588 kB   00:01     
(40/65): neon-0.30.0-3.el7.x86_64.rpm                      | 165 kB   00:00     
(41/65): pakchois-0.4-10.el7.x86_64.rpm                    |  14 kB   00:00     
(42/65): mpfr-3.1.1-4.el7.x86_64.rpm                       | 203 kB   00:00     
(43/65): patch-2.7.1-8.el7.x86_64.rpm                      | 110 kB   00:00     
(44/65): patchutils-0.3.3-4.el7.x86_64.rpm                 | 104 kB   00:00     
(45/65): perl-Data-Dumper-2.145-3.el7.x86_64.rpm           |  47 kB   00:00     
(46/65): perl-Git-1.8.3.1-4.el7.noarch.rpm                 |  52 kB   00:00     
(47/65): perl-TermReadKey-2.30-20.el7.x86_64.rpm           |  31 kB   00:00     
(48/65): perl-Test-Harness-3.28-2.el7.noarch.rpm           | 302 kB   00:00     
(49/65): perl-Thread-Queue-3.02-2.el7.noarch.rpm           |  17 kB   00:00     
(50/65): perl-XML-Parser-2.41-10.el7.x86_64.rpm            | 223 kB   00:00     
(51/65): perl-srpm-macros-1-8.el7.noarch.rpm               | 4.6 kB   00:00     
(52/65): rcs-5.9.0-5.el7.x86_64.rpm                        | 230 kB   00:00     
(53/65): redhat-rpm-config-9.1.0-63.el7.centos.noarch.rpm  |  76 kB   00:00     
(54/65): rpm-build-4.11.1-16.el7.x86_64.rpm                | 140 kB   00:00     
(55/65): perl-Error-0.17020-2.el7.noarch.rpm               |  32 kB   00:00     
(56/65): rpm-sign-4.11.1-16.el7.x86_64.rpm                 |  41 kB   00:00     
(57/65): rsync-3.0.9-15.el7.x86_64.rpm                     | 359 kB   00:00     
(58/65): subversion-1.7.14-6.el7.x86_64.rpm                | 1.0 MB   00:00     
(59/65): subversion-libs-1.7.14-6.el7.x86_64.rpm           | 921 kB   00:00     
(60/65): swig-2.0.10-4.el7.x86_64.rpm                      | 1.3 MB   00:00     
(61/65): systemtap-2.4-14.el7.x86_64.rpm                   |  24 kB   00:00     
(62/65): systemtap-devel-2.4-14.el7.x86_64.rpm             | 1.5 MB   00:00     
(63/65): systemtap-client-2.4-14.el7.x86_64.rpm            | 3.5 MB   00:00     
(64/65): systemtap-runtime-2.4-14.el7.x86_64.rpm           | 255 kB   00:00     
(65/65): zip-3.0-10.el7.x86_64.rpm                         | 260 kB   00:00     
--------------------------------------------------------------------------------
Total                                               14 MB/s |  79 MB  00:05     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : mpfr-3.1.1-4.el7.x86_64                                     1/65 
  Installing : libmpc-1.0.1-3.el7.x86_64                                   2/65 
  Installing : apr-1.4.8-3.el7.x86_64                                      3/65 
  Installing : libquadmath-4.8.2-16.2.el7_0.x86_64                         4/65 
  Installing : m4-1.4.16-9.el7.x86_64                                      5/65 
  Installing : apr-util-1.5.2-6.el7.x86_64                                 6/65 
  Installing : zip-3.0-10.el7.x86_64                                       7/65 
  Installing : 1:perl-Error-0.17020-2.el7.noarch                           8/65 
  Installing : patch-2.7.1-8.el7.x86_64                                    9/65 
  Installing : perl-Thread-Queue-3.02-2.el7.noarch                        10/65 
  Installing : libgfortran-4.8.2-16.2.el7_0.x86_64                        11/65 
  Installing : cpp-4.8.2-16.2.el7_0.x86_64                                12/65 
  Installing : 1:emacs-filesystem-24.3-11.el7.noarch                      13/65 
  Installing : bzip2-1.0.6-12.el7.x86_64                                  14/65 
  Installing : kernel-headers-3.10.0-123.8.1.el7.x86_64                   15/65 
  Installing : glibc-headers-2.17-55.el7_0.1.x86_64                       16/65 
  Installing : glibc-devel-2.17-55.el7_0.1.x86_64                         17/65 
  Installing : gcc-4.8.2-16.2.el7_0.x86_64                                18/65 
  Installing : libquadmath-devel-4.8.2-16.2.el7_0.x86_64                  19/65 
  Installing : dwz-0.11-3.el7.x86_64                                      20/65 
  Installing : gdb-7.6.1-51.el7.x86_64                                    21/65 
  Installing : kernel-debug-devel-3.10.0-123.8.1.el7.x86_64               22/65 
  Installing : systemtap-devel-2.4-14.el7.x86_64                          23/65 
  Installing : libstdc++-devel-4.8.2-16.2.el7_0.x86_64                    24/65 
  Installing : rsync-3.0.9-15.el7.x86_64                                  25/65 
  Installing : pakchois-0.4-10.el7.x86_64                                 26/65 
  Installing : neon-0.30.0-3.el7.x86_64                                   27/65 
  Installing : subversion-libs-1.7.14-6.el7.x86_64                        28/65 
  Installing : perl-Data-Dumper-2.145-3.el7.x86_64                        29/65 
  Installing : autoconf-2.69-11.el7.noarch                                30/65 
  Installing : perl-Test-Harness-3.28-2.el7.noarch                        31/65 
  Installing : automake-1.13.4-3.el7.noarch                               32/65 
  Installing : perl-srpm-macros-1-8.el7.noarch                            33/65 
  Installing : redhat-rpm-config-9.1.0-63.el7.centos.noarch               34/65 
  Installing : libdwarf-20130207-3.el7.x86_64                             35/65 
  Installing : dyninst-8.1.2-6.el7.x86_64                                 36/65 
  Installing : systemtap-runtime-2.4-14.el7.x86_64                        37/65 
  Installing : systemtap-client-2.4-14.el7.x86_64                         38/65 
  Installing : perl-TermReadKey-2.30-20.el7.x86_64                        39/65 
  Installing : gettext-common-devel-0.18.2.1-4.el7.noarch                 40/65 
  Installing : libgnome-keyring-3.8.0-3.el7.x86_64                        41/65 
  Installing : git-1.8.3.1-4.el7.x86_64                                   42/65 
  Installing : perl-Git-1.8.3.1-4.el7.noarch                              43/65 
  Installing : gettext-devel-0.18.2.1-4.el7.x86_64                        44/65 
  Installing : elfutils-0.158-3.el7.x86_64                                45/65 
  Installing : perl-XML-Parser-2.41-10.el7.x86_64                         46/65 
  Installing : intltool-0.50.2-6.el7.noarch                               47/65 
  Installing : rpm-build-4.11.1-16.el7.x86_64                             48/65 
  Installing : systemtap-2.4-14.el7.x86_64                                49/65 
  Installing : libtool-2.4.2-20.el7.x86_64                                50/65 
  Installing : subversion-1.7.14-6.el7.x86_64                             51/65 
  Installing : gcc-c++-4.8.2-16.2.el7_0.x86_64                            52/65 
  Installing : gcc-gfortran-4.8.2-16.2.el7_0.x86_64                       53/65 
  Installing : cscope-15.8-7.el7.x86_64                                   54/65 
  Installing : bison-2.7-4.el7.x86_64                                     55/65 
  Installing : flex-2.5.37-3.el7.x86_64                                   56/65 
  Installing : swig-2.0.10-4.el7.x86_64                                   57/65 
  Installing : diffstat-1.57-4.el7.x86_64                                 58/65 
  Installing : patchutils-0.3.3-4.el7.x86_64                              59/65 
  Installing : indent-2.2.11-13.el7.x86_64                                60/65 
  Installing : rcs-5.9.0-5.el7.x86_64                                     61/65 
  Installing : 1:doxygen-1.8.5-3.el7.x86_64                               62/65 
  Installing : rpm-sign-4.11.1-16.el7.x86_64                              63/65 
  Installing : byacc-1.9.20130304-3.el7.x86_64                            64/65 
  Installing : ctags-5.8-13.el7.x86_64                                    65/65 
  Verifying  : ctags-5.8-13.el7.x86_64                                     1/65 
  Verifying  : libquadmath-devel-4.8.2-16.2.el7_0.x86_64                   2/65 
  Verifying  : perl-Git-1.8.3.1-4.el7.noarch                               3/65 
  Verifying  : systemtap-client-2.4-14.el7.x86_64                          4/65 
  Verifying  : perl-XML-Parser-2.41-10.el7.x86_64                          5/65 
  Verifying  : elfutils-0.158-3.el7.x86_64                                 6/65 
  Verifying  : m4-1.4.16-9.el7.x86_64                                      7/65 
  Verifying  : byacc-1.9.20130304-3.el7.x86_64                             8/65 
  Verifying  : libgnome-keyring-3.8.0-3.el7.x86_64                         9/65 
  Verifying  : automake-1.13.4-3.el7.noarch                               10/65 
  Verifying  : rpm-sign-4.11.1-16.el7.x86_64                              11/65 
  Verifying  : gettext-common-devel-0.18.2.1-4.el7.noarch                 12/65 
  Verifying  : libgfortran-4.8.2-16.2.el7_0.x86_64                        13/65 
  Verifying  : rpm-build-4.11.1-16.el7.x86_64                             14/65 
  Verifying  : 1:doxygen-1.8.5-3.el7.x86_64                               15/65 
  Verifying  : gettext-devel-0.18.2.1-4.el7.x86_64                        16/65 
  Verifying  : perl-TermReadKey-2.30-20.el7.x86_64                        17/65 
  Verifying  : libdwarf-20130207-3.el7.x86_64                             18/65 
  Verifying  : perl-srpm-macros-1-8.el7.noarch                            19/65 
  Verifying  : perl-Thread-Queue-3.02-2.el7.noarch                        20/65 
  Verifying  : perl-Test-Harness-3.28-2.el7.noarch                        21/65 
  Verifying  : glibc-headers-2.17-55.el7_0.1.x86_64                       22/65 
  Verifying  : cscope-15.8-7.el7.x86_64                                   23/65 
  Verifying  : git-1.8.3.1-4.el7.x86_64                                   24/65 
  Verifying  : gcc-gfortran-4.8.2-16.2.el7_0.x86_64                       25/65 
  Verifying  : patch-2.7.1-8.el7.x86_64                                   26/65 
  Verifying  : rcs-5.9.0-5.el7.x86_64                                     27/65 
  Verifying  : libtool-2.4.2-20.el7.x86_64                                28/65 
  Verifying  : subversion-libs-1.7.14-6.el7.x86_64                        29/65 
  Verifying  : systemtap-runtime-2.4-14.el7.x86_64                        30/65 
  Verifying  : cpp-4.8.2-16.2.el7_0.x86_64                                31/65 
  Verifying  : subversion-1.7.14-6.el7.x86_64                             32/65 
  Verifying  : gcc-c++-4.8.2-16.2.el7_0.x86_64                            33/65 
  Verifying  : gcc-4.8.2-16.2.el7_0.x86_64                                34/65 
  Verifying  : perl-Data-Dumper-2.145-3.el7.x86_64                        35/65 
  Verifying  : bison-2.7-4.el7.x86_64                                     36/65 
  Verifying  : 1:perl-Error-0.17020-2.el7.noarch                          37/65 
  Verifying  : indent-2.2.11-13.el7.x86_64                                38/65 
  Verifying  : apr-util-1.5.2-6.el7.x86_64                                39/65 
  Verifying  : dyninst-8.1.2-6.el7.x86_64                                 40/65 
  Verifying  : flex-2.5.37-3.el7.x86_64                                   41/65 
  Verifying  : libmpc-1.0.1-3.el7.x86_64                                  42/65 
  Verifying  : pakchois-0.4-10.el7.x86_64                                 43/65 
  Verifying  : libquadmath-4.8.2-16.2.el7_0.x86_64                        44/65 
  Verifying  : rsync-3.0.9-15.el7.x86_64                                  45/65 
  Verifying  : libstdc++-devel-4.8.2-16.2.el7_0.x86_64                    46/65 
  Verifying  : systemtap-2.4-14.el7.x86_64                                47/65 
  Verifying  : patchutils-0.3.3-4.el7.x86_64                              48/65 
  Verifying  : neon-0.30.0-3.el7.x86_64                                   49/65 
  Verifying  : systemtap-devel-2.4-14.el7.x86_64                          50/65 
  Verifying  : autoconf-2.69-11.el7.noarch                                51/65 
  Verifying  : intltool-0.50.2-6.el7.noarch                               52/65 
  Verifying  : kernel-debug-devel-3.10.0-123.8.1.el7.x86_64               53/65 
  Verifying  : glibc-devel-2.17-55.el7_0.1.x86_64                         54/65 
  Verifying  : apr-1.4.8-3.el7.x86_64                                     55/65 
  Verifying  : redhat-rpm-config-9.1.0-63.el7.centos.noarch               56/65 
  Verifying  : mpfr-3.1.1-4.el7.x86_64                                    57/65 
  Verifying  : zip-3.0-10.el7.x86_64                                      58/65 
  Verifying  : gdb-7.6.1-51.el7.x86_64                                    59/65 
  Verifying  : dwz-0.11-3.el7.x86_64                                      60/65 
  Verifying  : diffstat-1.57-4.el7.x86_64                                 61/65 
  Verifying  : swig-2.0.10-4.el7.x86_64                                   62/65 
  Verifying  : kernel-headers-3.10.0-123.8.1.el7.x86_64                   63/65 
  Verifying  : bzip2-1.0.6-12.el7.x86_64                                  64/65 
  Verifying  : 1:emacs-filesystem-24.3-11.el7.noarch                      65/65 

Installed:
  autoconf.noarch 0:2.69-11.el7                                                 
  automake.noarch 0:1.13.4-3.el7                                                
  bison.x86_64 0:2.7-4.el7                                                      
  byacc.x86_64 0:1.9.20130304-3.el7                                             
  cscope.x86_64 0:15.8-7.el7                                                    
  ctags.x86_64 0:5.8-13.el7                                                     
  diffstat.x86_64 0:1.57-4.el7                                                  
  doxygen.x86_64 1:1.8.5-3.el7                                                  
  elfutils.x86_64 0:0.158-3.el7                                                 
  flex.x86_64 0:2.5.37-3.el7                                                    
  gcc.x86_64 0:4.8.2-16.2.el7_0                                                 
  gcc-c++.x86_64 0:4.8.2-16.2.el7_0                                             
  gcc-gfortran.x86_64 0:4.8.2-16.2.el7_0                                        
  git.x86_64 0:1.8.3.1-4.el7                                                    
  indent.x86_64 0:2.2.11-13.el7                                                 
  intltool.noarch 0:0.50.2-6.el7                                                
  libtool.x86_64 0:2.4.2-20.el7                                                 
  patch.x86_64 0:2.7.1-8.el7                                                    
  patchutils.x86_64 0:0.3.3-4.el7                                               
  rcs.x86_64 0:5.9.0-5.el7                                                      
  redhat-rpm-config.noarch 0:9.1.0-63.el7.centos                                
  rpm-build.x86_64 0:4.11.1-16.el7                                              
  rpm-sign.x86_64 0:4.11.1-16.el7                                               
  subversion.x86_64 0:1.7.14-6.el7                                              
  swig.x86_64 0:2.0.10-4.el7                                                    
  systemtap.x86_64 0:2.4-14.el7                                                 

Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7                                                      
  apr-util.x86_64 0:1.5.2-6.el7                                                 
  bzip2.x86_64 0:1.0.6-12.el7                                                   
  cpp.x86_64 0:4.8.2-16.2.el7_0                                                 
  dwz.x86_64 0:0.11-3.el7                                                       
  dyninst.x86_64 0:8.1.2-6.el7                                                  
  emacs-filesystem.noarch 1:24.3-11.el7                                         
  gdb.x86_64 0:7.6.1-51.el7                                                     
  gettext-common-devel.noarch 0:0.18.2.1-4.el7                                  
  gettext-devel.x86_64 0:0.18.2.1-4.el7                                         
  glibc-devel.x86_64 0:2.17-55.el7_0.1                                          
  glibc-headers.x86_64 0:2.17-55.el7_0.1                                        
  kernel-debug-devel.x86_64 0:3.10.0-123.8.1.el7                                
  kernel-headers.x86_64 0:3.10.0-123.8.1.el7                                    
  libdwarf.x86_64 0:20130207-3.el7                                              
  libgfortran.x86_64 0:4.8.2-16.2.el7_0                                         
  libgnome-keyring.x86_64 0:3.8.0-3.el7                                         
  libmpc.x86_64 0:1.0.1-3.el7                                                   
  libquadmath.x86_64 0:4.8.2-16.2.el7_0                                         
  libquadmath-devel.x86_64 0:4.8.2-16.2.el7_0                                   
  libstdc++-devel.x86_64 0:4.8.2-16.2.el7_0                                     
  m4.x86_64 0:1.4.16-9.el7                                                      
  mpfr.x86_64 0:3.1.1-4.el7                                                     
  neon.x86_64 0:0.30.0-3.el7                                                    
  pakchois.x86_64 0:0.4-10.el7                                                  
  perl-Data-Dumper.x86_64 0:2.145-3.el7                                         
  perl-Error.noarch 1:0.17020-2.el7                                             
  perl-Git.noarch 0:1.8.3.1-4.el7                                               
  perl-TermReadKey.x86_64 0:2.30-20.el7                                         
  perl-Test-Harness.noarch 0:3.28-2.el7                                         
  perl-Thread-Queue.noarch 0:3.02-2.el7                                         
  perl-XML-Parser.x86_64 0:2.41-10.el7                                          
  perl-srpm-macros.noarch 0:1-8.el7                                             
  rsync.x86_64 0:3.0.9-15.el7                                                   
  subversion-libs.x86_64 0:1.7.14-6.el7                                         
  systemtap-client.x86_64 0:2.4-14.el7                                          
  systemtap-devel.x86_64 0:2.4-14.el7                                           
  systemtap-runtime.x86_64 0:2.4-14.el7                                         
  zip.x86_64 0:3.0-10.el7                                                       

Complete!

Konfiguration

Nach der erfolgreichen Installation der vorgefertigten RPM-Paketgruppe Development Tools, kann diese ggf. angepasst werden.

Nachfolgende Verzeichnisse enthalten Konfigurationsdateien

  • /etc/rpm
  • /usr/lib/rpm

welche angepasst werden können, oder als Nachschlagewerk für häufig verwendete Variablen eingesehen werden können.

/etc/rpm

Mit nachfolgendem Befehl, kann der Inahlt der des Verzeichnisses /etc/rpm aufgelistet werden, und die einzelnen Konfigurationsdatein kommen zum Vorschein:

# ls -l /etc/rpm/
total 40
-rw-r--r--. 1 root root   73 Aug 22 18:21 macros.dist
-rw-r--r--  1 root root 1806 Jun 19 21:04 macros.dwz
-rw-r--r--  1 root root  199 Jun 19 21:04 macros.ghc-srpm
-rw-r--r--  1 root root  211 Jun 19 21:04 macros.gnat-srpm
-rw-r--r--  1 root root  105 Jun 19 21:04 macros.mono-srpm
-rw-r--r--  1 root root  206 Jun 19 21:04 macros.nodejs-srpm
-rw-r--r--  1 root root  100 Jun 19 21:04 macros.ocaml-srpm
-rw-r--r--. 1 root root 5134 Jan 26  2014 macros.perl
-rw-r--r--  1 root root  794 Jun  9 21:44 macros.perl-srpm

Als Beispiel kann hier ein Blick in die Konfigurationsdatei

  • /etc/rpm/macros.dist

mit nachfolgendem Befehl geworfen werden:

# cat macros.dist 
# dist macros.
 
%centos_ver 7
%centos 7
%rhel 7
%dist .el7.centos
%el7 1

In dieser Konfigurationsdatei kann festgelegt werden, welche Informationen in z.B. den Header eines RPM-Paketes geschrieben werden bzw. wie die Variablen innerhalb einer SPEC-Datei umgesetzt werden.

Variable Wert Beschreibung
%centos_ver 7 Version des verwendeten Betriebssystems der RPM-BUILD-Umgebung
%centos 7 Version des verwendeten Betriebssystems der RPM-BUILD-Umgebung
%rhel 7 Version des verwendeten Betriebssystems der RPM-BUILD-Umgebung
%dist .el7.centos Distributionserweiterung im Dateinamen des RPM-Pakete
%el7 1 Unterversion der zu bauenden RPM-Pakete

~/.rpmmacros

Die Konfigurationsdatei

  • ~/.rpmmacros

kann mit Einstellungen versehen werden, die bei jedem RPM-BUILD zur Anwendung kommen. Die Konfigutrationsdatei wird im Home-Verzeichnis des Benutzers angelegt, welcher zum Bau der rpm-Pakete verwendet werden soll. Hier soll das der z.B. Benutzer builduser sein.

Um die Konfigurationsdatei ~/.rpmmacros anzulegen, sollte vom Benutzer root zur Identität des Benutzer builduser mit nachfolgendem Befehl gewechselt werden:

# su - builduser

:!: HINWEIS - Die Eingabe eines Passwortes beim Wechsel vom Benutzer root zum Benutzer builduser ist nicht erforderlich !

Anschließend kann dann die Konfigurationsdatei ~/.rpmmacros mit nachfolgendem Befehl, als leere Datei, angelegt werden:

$ touch ~/.rpmmacros

Mit nachfolgendem Befehl kann überprüft werden, ob die Konfigurationsdatei ~/.rpmmacros mit den Besitz- und Dateirechten des Benutzer builduser erfolgreich angelegt wurde:

$ ls -la ~/.rpmmacros 
-rw-rw-r-- 1 builduser builduser 0 Sep 25 20:52 /home/builduser/.rpmmacros

Nachfolgender Eintrag in der Konfigurationsdatei ~/.rpmmacros sorgt z.B. dafür, das ein bestimmter GPG-Schlüssel, aus dem Schlüssel-Ring des Benutzer builduser, als der Standard-Schlüssel zum signieren von rpm-Paketen verwendet wird.

%_gpg_name Klaus Tachtler (RPM-BUILD-KEY) <klaus@tachtler.net>

~/rpmbuild

Obwohl beim bauen eines rpm-Paketes die nachfolgende Ordner-Struktur automatisch angelegt wird, kann diese bereits vorher als leere Verzeichnisstruktur mit nachfolgendem Befehl, als Benutzer builduser, erzeugt werden:

$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

Anschließend kann mit nachfolgendem Befehl überprüft werden, ob die Erzeugung der Verzeichnisstruktur erfolgreich war:

$ ls -l ~/rpmbuild/
total 0
drwxrwxr-x 2 builduser builduser 6 Sep 25 21:02 BUILD
drwxrwxr-x 2 builduser builduser 6 Sep 25 21:02 RPMS
drwxrwxr-x 2 builduser builduser 6 Sep 25 21:02 SOURCES
drwxrwxr-x 2 builduser builduser 6 Sep 25 21:02 SPECS
drwxrwxr-x 2 builduser builduser 6 Sep 25 21:02 SRPM

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
tachtler/rpm-build-umgebung_aufbauen_centos_7.txt · Zuletzt geändert: 2014/09/27 06:22 von klaus