On Sat, Mar 16, 2024 at 04:24:44PM +0300, Arseny Maslennikov wrote: > On Sat, Feb 03, 2024 at 12:38:44AM +0300, Arseny Maslennikov wrote: > > === Сначала о пакетах === > > > > Во-первых, не хотелось бы обновлять сотню пакетов в одной > > транзакции с пакетом filesystem, содержащим вместо /bin, /sbin, > > ... симлинки. Чтобы этого избежать, надо добиться, чтобы пакеты, > > кладущие что-либо в эти каталоги (вне %_prefix), > > устанавливались и на merged, и на unmerged, и на split[1]. > > Для этого планируется ввести brp-модуль, который при сборке > > пакета, если в %buildroot лежит что-то в соотв. каталогах вне > > префикса, создаст копию этого файла в аналогичном месте под > > префиксом. > > Можно было бы вместо копии делать ссылку, но оказалось, что нет: > > * (упакованные в cpio) симлинк поверх файла или файл поверх симлинка нельзя > > установить на merged-usr, т. е. поверх друг друга; > > * (упакованные в cpio) хардлинки нельзя установить на > > split-usr-иерархию, потому что они придутся на разные ФС, и > > rpm не сможет их расщепить (изготовить одинаковые inode). > > Это позволило снизить количество пакетов с файлами в /bin и > > /sbin, для которых потребуются ручные изменения, с 90 до ~20. > > > > [1] https://www.altlinux.org/Usrmerge#%D0%93%D0%BB%D0%BE%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%B9 > > Почти реализовано (ждём install checks). > https://git.altlinux.org/tasks/327286 > Можно коммитить задание, как только будет готово к коммиту и при > отсутствии иных возражений. > > Прошу одобрений от: Спасибо! Одобрения получены. Сегодня задание войдёт в репозиторий. > > glebfm@ помог провести тестовую пересборку репозитория, получающегося из > этого задания, которая помогла выявить и исправить 2 ошибки. 5 новых > пакетов не пересобрались по каким-то своим причинам; в окружении задания > выше они пересобрались. > > > Мы ожидаем, что после появления rpm-build с новым brp-модулем в > > репозитории немногочисленные исправленные пакеты будут собраны в > > Sisyphus в своих индивидуальных заданиях (транзакциях), не > > создавая на сборочнице заторов на CI-проверках каждого > > подзадания.