Changes/rpm

Материал из ALT Linux Wiki


RPM с поддержкой LZMA

Обновление

Если при очередном обновлении вы поймали непонятную ругань навроде следующей:

[root@localhost ~]# apt-get install openoffice.org-langpack-uk
Reading Package Lists... Done
Building Dependency Tree... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  openoffice.org-langpack-uk: Depends: openoffice.org-langpack-ru (= 2.4.1.5-alt2)                
                              Depends: /usr/lib64/openoffice.org/help/ru
                              PreDepends: rpmlib(PayloadIsLzma) (<= 4.4.2-1) but it is not installable
E: Broken packages

-- это смена сжатия *.rpm на LZMA, что поддерживает

rpm-4.0.4-alt93

и выше. Анонс/рецепт:

# apt-get update
# apt-get install 'rpm>=4.0.4-alt93'
# apt-get --reinstall update

Анализ

Проверить способ сжатия наличного пакета можно таким образом (в т.ч. совсем старым rpm):

$ rpmquery --qf '%{PAYLOADCOMPRESSOR}\n' -p какой-нибудь.rpm

Сборка

Для сборки на текущем сизифе src.rpm, который сойдёт текущим rpm в более ранних бранчах, используйте команду

rpm -bs --nodeps --define='_source_payload w9.gzdio' нужный.spec

или укажите в спеке

%define _source_payload w9.gzdio

Команда rpmbph из etersoft-build-utils выполняет это автоматически.