Назад | Перейти на главную страницу

Создание официальных SRPM в CentOS. Все шаги

Я новичок в Centos и yum В основном.

  1. Как получить SRPM с помощью yumdownloader --source? Когда я запускаю команду, она говорит, что SRPM не найдены. Как добавить репозиторий? Здесь я говорю об официальных пакетах CentOS.
  2. После загрузки какой командой нужно распаковать SRPM, чтобы я мог редактировать файлы?
  3. Наконец, после того, как я закончу модификацию, какова команда для восстановления измененного исходного RPM?
  4. Как создать RPM из SRPM?
  • Как получить SRPM с помощью yumdownloader --source? Когда я запускаю команду, она говорит, что SRPM не найдены. Как добавить репозиторий? Здесь я говорю об официальных пакетах CentOS.

Это проблема с CentOS: http://bugs.centos.org/view.php?id=1646

Предполагая, что вы CentOS 5, создайте этот файл в /etc/yum.repos.d/CentOS-SRPMS.repo

[base-SRPMS]
name=CentOS-$releasever - Base SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/os/SRPMS/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1
enabled=1

#released updates
[update-SRPMS]
name=CentOS-$releasever - Updates SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/updates/SRPMS/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1
enabled=1

#packages used/produced in the build but not released
[addons-SRPMS]
name=CentOS-$releasever - Addons SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/addons/SRPMS/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1
enabled=1

#additional packages that may be useful
[extras-SRPMS]
name=CentOS-$releasever - Extras SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/extras/SRPMS/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1
enabled=1

#additional packages that extend functionality of existing packages
[centosplus-SRPMS]
name=CentOS-$releasever - Plus SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/centosplus/SRPMS/
gpgcheck=1
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1

#contrib - packages by Centos Users
[contrib-SRPMS]
name=CentOS-$releasever - Contrib SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/contrib/SRPMS/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1
  • После загрузки какой командой нужно распаковать SRPM, чтобы я мог редактировать файлы?

rpm -ivh your.src.rpm

Это предполагает, что у вас есть необходимые каталоги, если вы не запустите mkdir -p /usr/src/redhat/{BUILD,RPMS,SOURCES,SPECS,SRPMS} создать их.

Обычно вы хотите редактировать файл спецификации в /usr/src/redhat/SPECS/packagename.spec.

  • Наконец, после того, как я закончу модификацию, какова команда для восстановления измененного исходного RPM?

rpmbuild -bb /usr/src/redhat/SPECS/your.spec просто построить RPM

rpmbuild -ba /usr/src/redhat/SPECS/your.spec просто построить RPM и SRPM

  • Как создать RPM из SRPM?

rpmbuild --rebuild your.src.rpm

Если вам нужно создавать RPM, вы должны изучить использование издеваться.

[centos-src]
name = CentOS $ releasever - $ basearch - Источник
baseurl =http://mirror.centos.org/centos/$ releasever / os / SRPMS /
gpgcheck = 1
gpgkey = файл: /// etc / pki / rpm-gpg / RPM-GPG-KEY-CentOS-5

yumdownloader --source kernel

rpm -i kernel-arch.src.rpm

ОБНОВЛЕНИЕ: Это также актуально:

http://wiki.centos.org/HowTos/I_need_the_Kernel_Source

cd / usr / src / redhat / SPECS
rpmbuild -bp --target = `uname -m` kernel-2.6.spec