	О проекте all-spec

В файлах all_spec_* находится копия содержимого всех файлов .spec из платформ
rosa2012.1, rosa2014.1, rosa2016.1, rosa2021.1 и rosa2023.1
Перед началом каждого .spec вставлена пустая строка и номер
по сквозной нумерации в рамках платформы.
В начале каждой строки .spec добавлен шифр каталога пакета исходников,
название соответствующего файла .src.rpm и номер строки в рамках .spec

#----------------------------------------------------------------------------

Пример.

846 23
23cr|crimson-fields-0.5.3-8|1	%define _disable_rebuild_configure 1
23cr|crimson-fields-0.5.3-8|2	
23cr|crimson-fields-0.5.3-8|3	%define oname crimson

846 - номер spec;
23 - платформа;
23cr - шифровка каталога - rosa2023.1, contrib, release, может принимать значения
{23,21,16,14,12}{m,r,n,c}{u,r,t}
означающие соответственно
{rosa2023.1,rosa2021.1,rosa2016.1,rosa2014.1,rosa2012.1}{main,restricted,non-free,contrib}{updates,release,testing}
crimson-fields - название проекта, как правило, совпадающее с названием файла .spec;
0.5.3 - Version;
8 - Release;
1, 2, 3 - номер строки в .spec;
%define _disable_rebuild_configure 1 - собственно текст строки .spec, отделённый от служебной информации "tab".

#----------------------------------------------------------------------------

Примеры команд поиска информации по сборнику:
cat /usr/share/all-spec/all_spec_{23,21,16,14,12} |grep 'искомое' |less
cat /usr/share/all-spec/all_spec_{23,21} |grep 'BuildRequires:' |grep -C2 '(gtk' |less
Полезные ключи команды grep:
-Ai, -Bi, -Ci, где i= 1, 2, 3, ... - выводит помимо найденной строки ещё i строк вниз от строки, вверх от строки и вниз-вверх от строки соответственно.
-i - отключает слежение за регистром символов, то есть |grep -i 'ИсКоМоЕ' выведет то же самое, что и |grep -i 'иСкОмОе' или |grep -i 'ИСКОМОЕ'
-v - уберёт из вывода строки, содержащие указанное, то есть |grep -v 'ненужное' уберёт из вывода строки, содержащие порядок символов "ненужное".

Если уже производили поиск, то удобно использовать сочетания клавиш:
Ctrl+R all_spec - для быстрого нахождения строки предыдущего поиска.
PgUp/PdDn - для перемещения по истории команд поиска, когда курсор находится на all_spec

#----------------------------------------------------------------------------

	O сборниках raw_spec

В файлах raw_spec_* находится копия содержимого всех файлов .spec в неизменном виде.
Перед каждым .spec вставлена пустая строка и шифр вида
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@ 846 |23cr|crimson-fields-0.5.3-8
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

#----------------------------------------------------------------------------

	Об истории и дальнейшем развитии

Идея выпуска сборника появилась в 2017 году.
Причиной послужила необходимость удобно и быстро оценивать используемый синтаксис
.spec на предмет его соответствия традициям написания .spec Росы.

После некоторого опыта использования построение сборника существенно менялось
в соответствии с идеями и запросами.

Первые 5 выпусков сборника можно найти на https://vk.com/rpmbuild
Они не нумеровались.

В дальнейшем версия сборника будет состоять из года и месяца.
Например, первая такая версия - 2023.08

Сборники из all-spec-unsupport обновляться далее не будут по причине неизменности платформ.
Тем не менее, они всё ещё могут быть полезны в качестве источника примеров решения многих
проблем сборки, по тем или иным причинам стёртых в последующих платформах.

При выходе последующих платформ и снятии платформ с поддержки сборники будут
добавляться и перемещаться из пакета unstable в stable, а из stable - в unsupport.

Минорные пересоздания тарбола all-spec-*.*.tar.xz будут проводиться по мере
возникновения соответствующего интереса.

Сборники raw_spec_* сделаны для упрощения машинного поиска, а также ручного взятия
.spec в качестве шаблонов.
На момент 2023.08 это экспериментальные сборники.

Идеи по улучшению сборников приветствуются.

#----------------------------------------------------------------------------

	О генерации сборника

1. Создаём каталог в удобном месте. Понадобится порядка 300ГБ свободного места.
mkdir -p ~/all-spec/rosa_platform_20{21,23}.1

2. Копируем скрипты создания сборника.
cp /usr/share/doc/all-spec/{make_all_spec.sh,rosa_mirror_script_x86_64.sh,update.sh} ~/all-spec

3. Запускаем скрипт скачивания/обновления пакетов исходных файлов платформ.
cd ~/all-spec/
./update.sh

4. Запускаем скрипт генерации сборника.
./make_all_spec.sh

Результат запаковываем.

#----------------------------------------------------------------------------

	История версий.

2023.08 - первая версия.

2023.09 - обновление за сентябрь 2023.
	В скрипт update.sh добавлен вывод названия тарбола без файла spec.
	Из скриптов убрано ожидание нажатия клавиши по окончанию работы.

2023.10 - обновление за октябрь 2023.

2023.11 - обновление за ноябрь 2023.

2023.12 - обновление за декабрь 2023.

2024.01 - обновление за январь 2024.

2024.02 - обновление за февраль 2024.

2024.03 - обновление за март 2024.

2024.04 - обновление за апрель 2024.

2024.05 - обновление за май 2024.

2024.06 - обновление за июнь 2024.

2024.07 - обновление за июль 2024.

2024.08 - обновление за август 2024.
