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