For example, on Fedora 30 builds, %{fc30} is defined to 1. %{rhel}: This variable is only defined on Red Hat Enterprise Linux builds. %{?dist} .fc31 https://docs.fedoraproject.org/en-US/packaging-guidelines/DistTag/ А в паре с rpm-build-ubt можно, например, %if_ver_gteq %ubt_id M90C Obsolete: kde4 %endif Путь к корню репозитория: git rev-parse --show-cdup [devel] I: gear-remotes-restore with git source comments support #build --test-only new p8 add copy PKG run task ls acl rpmbb -i не пишет логи loginhsh должен делать абсолютные пути для файлов пакетов, которые ему передаются Пытаться выводить относительные пути для выводимых путей (к спеку при rpmbph). Возможно ли общее решение... К каталогу первоначального запуска? Нужно проще получать спек с раскрытыми переменными Нужно научиться получать из него также значение Source-(url|git)N $ GIT_ALT=gear.alt girar-show https://www.altlinux.org/Gear/remotes https://www.altlinux.org/Gear/cronbuild Применить shell check или что-то подобное https://www.google.ru/search?q=lint+bash Given a version number MAJOR.MINOR.PATCH, increment the: MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes. Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format. http://semver.org/ Скрипт update-kernel стал примером того, как стоит писать разбор параметров Посмотреть genspec Что можно сделать для адаптирования под gear (сайт) Внешние списки соответствия файлов и пакетов для разных дистрибутивов -> соответствие названий пакетов? Сделать команду проверки - во что заменится название пакета на такой-то системе. В принципе, это надо вынести из etersoft-build-utils в отдельный проект (который будет использоваться в eepm - но в него в скомпилированном виде, собирать при сборке). Посмотреть rpmdevtools, обновить его. В нём такие команды как spectool -g -R mypackage.spec 280 %buildhost ${USER:-`id -nu`}.hasher.altlinux.org Перепаковывать нужно внутри hasher - иначе макросы неверно раскрываются (особенно про python) Исправить ситуацию для 27.5.1 (MINOR - 1, MAJOR 27.5 должно быть), почему стирается %revision Использовать: # Source-git: http://git.altlinux.org/people/lav/packages/rpm-build-fonts.git # Source-md5: 792f3012eae343bc04314b868f6fd1b9 Нужно добавлять устаревшие ныне секции при бэкпортировании: Если пакет начинается с lib, для backports добавлять перед %files: %post -p %post_ldconfig %postun -p %postun_ldconfig http://git.altlinux.org/people/kharpost/packages/gitalt-tasker.git?p=gitalt-tasker.git;a=blob;f=gitalt-tasker/git-task;h=81e0261813a9fe2be230fb0c47b4ff4efd9a2675;hb=bfcc80b9af49b8ea0629db80d4c2f29a024d574e файлы с заменой: пакет ALT - пакет замены pkgrepl.rpm - базовый, используется всегда pkgrepl.pclinux - для конкретной системы pkgrepl.pclinux.2007 - для конкретной версии системы записываем, откуда (из ALT) на что в другой системе менять Реализовать rpm -bE через rpm --showrc ? === Текущая разработка === Есть ещё пакеты с версией в виде даты (именно версией, а не релизом). Их тоже желательно не забыть (в том числе в части, касающейся макроподстановок). Но это, кажется, ещё более сложная задача. # - rpmbph для src.rpm (через hasher): # --init-root, .in, rpm -i src.rpm, rpmbph (не собирающий в hasher), .out { команды в скобках } # чтобы спек исправлял прямо в hasher при сборке?? - подготовить текст новости, порекламировать + обновить/сделать страницу с описанием проекта? # + how to use --build-args= for hsh? - проброс параметров в myhsh как параметров для rpm - Сделать нормальную документацию? - получение спеков из других проектов, с отчётом об обновлении (diff между) - исправить формирование .pot - исправить способ создания pot -и echog (заметить на message) - удалить файл /etc/rpm/*functions # - доделать проверку на качество лицензии в LICENSE и содержимое INSTALL - -i -u требуют именно такого порядка использования # - перейти на общую обработку всех команд (одним скриптом)? Unpackaged: awk ' on { if (/^ +\//) print $0; else on=0 } /^warning: Installed \(but unpackaged\)/ { on=1; print $0 } ' <"$LOG_FILE" ---- $ list="line1 line2 line3" $ a=qqq $ while read l; do a="$l"; done < <(echo "$list") $ echo $a line3