vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner

Тут решил восстановить свой собственный репозиторий пакетов дял Debian, Который мы когда-то создали вместое с [personal profile] filin еще в самом начале века, а потом лет десять назад я его забросил.

Просто у кого-то слишком много ноутбуков и поэтому удобнее собрать что-то нестанрдартное в пакет, чтобы ставить на все компы. Особенно если его еще и обновлять приходится.

Ну а раз пакет собрал, почему бы его не выложить для всех желающих. В общем, см https://www.wagner.pp.ru/debian.

Настроил себе sbuild под три дистрибутива. Попробовал пересобрать xephem для arm64 в режиме кросс-компиляции. Собралось.

А вот сбэкпорить telegram-desktop из testing не получилось. В режиме кроссборки что-то не то вышло с build-dependencies - sbuild не смог установить пакет архитектурой all для разрешения зависимости при кросс-сборке. А при нативной сборке в trixie налетаю на internal compiler error причем и на amd64, и на arm64. Но вообще сборка telegram-desktop на Raspbery Pi это еще то занятие. Даже с 8Гб.

Опять потоптался по любимым граблям что Debian устанавливает TMP=/tmp/user/$(id -u) и debootstrap с schroot это дело пробрасывают внутрь chroot. А /tmp-то там своя. И никто в ней эти поддиректории не создает. Плюнул и создал их вручную - для рута, юзера sbuild и всех членов группы sbuild (в которой пока один я).

Теперь бы еще надо скриптовую обертку вокруг sbuild и reprepro, чтобы пакет сразу попадал в локальную копию репозитория, и чтобы сразу пересобирало для всех поддерживаемых версий. А уж ее потом зарсинкаю на публичный сервер (исключив по дороге conf и db). Хотя, конечно, интересно выглядит синхронизцаия apt-mirror-ом по крону со стороны публичного сервера. apt-mirror хорош тем, что минимизирует время, в которое репозиторий невалиден.

Date: 2026-01-04 04:45 am (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

В моё время™ у reprepro был фатальный недостаток: он держал единственную версию каждого пакета (под каждую архитектуру). То есть, выложил foo_1.1-1_amd64.deb, потерял foo_1.0-1_amd64.deb. Поэтому у нас было два репозитория, свежесобранный пакет клался в тестовый, тестировщики его ставили оттуда, проверяли, и пакет продвигался на боевой репозиторий только после их отмашки.

Ну это тоже лет десять назад было, а потом появился aptly.

Date: 2026-01-04 06:04 am (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

Ну общий пул — это не проблема, а особенность, которую надо учитывать при организации workflow :) Одно практическое последствие, которое я знаю — это что пакет с багом, выложенный в тестинг, нельзя починить и пересобрать с той же версией. Поэтому либо тестовые пакеты с хвостом ~таймштамп (и тестируется не совсем тот пакет, что публикуется), либо хотфиксы с инкрементом основной версии (и внутренние детали количества раундов тестирования либо номера билдов CI вытекают наружу).

Date: 2026-01-04 02:30 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

А если dists делать не каталогом, а симлинком на каталог, то его можно переписывать новым симлинком на новый каталог вообще строго атомарно. Но это мы уже уходим с уровня «пользоваться инструментом» на «разрабатывать инструмент».

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

January 2026

S M T W T F S
     1 2 3
4 56789 10
11121314151617
18192021222324
25262728293031

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 11th, 2026 02:01 am
Powered by Dreamwidth Studios