(PECL rpminfo >= 1.2.0)
rpmdefine — Определяет или изменяет значение RPM-макроса
Функция определяет или изменяет значение RPM-макроса.
Функция задаёт путь к базе данных и тип механизма хранения сведений об RMP-пакетах вместо системного хранилища по умолчанию.
text
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Пример #1 Пример определения RMP-макроса функцией rpmdefine()
<?php
// Определение старой базы данных bdb из chroot-окружения дистрибутива EL-8 (англ. сокр. Enterprise Linux 8)
rpmdefine("_dbpath /var/lib/mock/almalinux-8-x86_64/root/var/lib/rpm");
rpmdefine("_db_backend bdb_ro");
print_r(rpmdbinfo("almalinux-release")[0]["Summary"]);
// Определение новой базы данных sqlite из chroot-окружения дистрибутива Fedora-41
rpmdefine("_dbpath /var/lib/mock/fedora-41-x86_64/root/usr/lib/sysimage/rpm");
rpmdefine("_db_backend sqlite");
print_r(rpmdbinfo("fedora-release")[0]["Summary"]);
?>
Результат выполнения приведённого примера:
AlmaLinux release file Fedora release files