Summary: | не работает обновление до Sisyphus с сервера-9.0 | ||
---|---|---|---|
Product: | Branch p9 | Reporter: | Anton Farygin <rider> |
Component: | apt | Assignee: | Ivan Zakharyaschev <imz> |
Status: | NEW --- | QA Contact: | qa-p9 <qa-p9> |
Severity: | critical | ||
Priority: | P3 | CC: | aen, glebfm, imz, iv, lav, ldv, mike, rider, ruslandh, shevtsov.anton, zerg |
Version: | не указана | ||
Hardware: | all | ||
OS: | Linux |
Description
Anton Farygin
2019-09-04 21:22:22 MSK
Тоже вполне очевидно: # apt-get install --reinstall rpm Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Reinstallation of rpm 4.13.0.1-alt12:p9+236401.100.1.1@1566384917 is not possible, it cannot be downloaded. 0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 86 не будет обновлено. В файле /usr/lib/rpm/macros нужно руками значение макроса %_priority_distbranch поменять с p9 на sisyphus Или сделать аналогичную запись в /etc/rpm/macros.d/ (Планируется немного реорганизовать пакеты, которые владеют файлом с этой настройкой. Но суть от этого не поменяется.) On Thu, 27 Jun 2019, Dmitry V. Levin wrote: > > Date: Thu, 27 Jun 2019 15:27:18 +0300 > From: Dmitry V. Levin <ldv@altlinux.org> > To: Anton V. Boyarshinov <boyarsh@altlinux.org> > Cc: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>, Vladimir D. Seleznev <vseleznv@altlinux.org>, Ivan Zakharyaschev <imz@altlinux.org> > Subject: Re: Фатальные проблемы при попытке обновления с p9 на Сизиф > On Thu, Jun 27, 2019 at 03:19:25PM +0300, Anton V. Boyarshinov wrote: > > Машина, поставленная из p9, подключён сизиф. > > Правильно ли подключён сизиф? > В файле /usr/lib/rpm/macros значение макроса > %_priority_distbranch поменялось с p9 на sisyphus? On Thu, 27 Jun 2019, Anton V. Boyarshinov wrote: > > Date: Thu, 27 Jun 2019 15:40:26 +0300 > From: Anton V. Boyarshinov <boyarsh@altlinux.org> > To: Dmitry V. Levin <ldv@altlinux.org> > Cc: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>, Vladimir D. Seleznev <vseleznv@altlinux.org>, Ivan Zakharyaschev <imz@altlinux.org>, Андрей Черепанов <cas@altlinux.ru> > Subject: Re: Фатальные проблемы при попытке обновления с p9 на Сизиф > > Спасибо > > > On Thu, Jun 27, 2019 at 03:19:25PM +0300, Anton V. Boyarshinov wrote: > > > Машина, поставленная из p9, подключён сизиф. > > > > Правильно ли подключён сизиф? > > В файле /usr/lib/rpm/macros значение макроса > > %_priority_distbranch поменялось с p9 на sisyphus? > > Не поменялось. Видимо, это следует считать недоработкой утилиты apt-repo > > Спасибо. утилита apt-repo мне не помогла бы - в ней не очень удобно сделана работа с локальными репозиториями и я переключал репозиторий без неё. Почему бы не переместить эту настройку из пакета rpm в /etc/rpm/macros.d/ в пакет apt-conf-sisyphus /apt-conf-p9 ? На этот пакет не влияет настройка priority_distbranch на ментейнера. *** Bug 37398 has been marked as a duplicate of this bug. *** проблема ещё актуальна. А нельзя просто сделать, чтобы в Сизифе всегда версии пакетов rpm (и на всякий случай apt) всегда были более высокие, чем в бренчах? Только для этих двух пакетов. Это не поможет. Предлагается/планируется: Настройку значения макроса _priority_distbranch перенести из /usr/lib/rpm/ в место для настроек (/etc/). Его может отредактировать руками администратор или другие утилиты, например, apt-repo (который надо будет этому научить). Файл с установкой этого значения вынести в отдельный пакет rpm-conf, чтобы для изменения значения по умолчанию в бранче не надо было пересобирать пакет rpm, а у пользователя -- можно будет просто установить другую версию пакета rpm-conf при желании. Для удобства перехода с бранча p9 на Sisyphus релиз у пакета rpm-conf будет сделан по старой схеме бэкпортирования. (Т.е. после смены sources.list на Sisyphus администратору будет достаточно сначала сделать просто apt-get install rpm-conf, чтобы дальше получать правильные обновления из Sisyphus. В случае перехода с Sisyphus на p9 надо будет сделать один даунгрейд: apt-get install rpm-conf=1.0-alt0.M90P.1) Собирать rpm в p9 со сменой релиза по этой схеме не придётся. (А пришлось бы ради удобства перехода с p9 на Sisyphus, если бы эта настройка лежала бы в пакете rpm.) (Напомню, что эта история с явно выставленным значением _priority_distbranch появилась ради бранчей, которые форкаются, от Sisyphus например, после введения disttag. Если после форка бранча произошла бы пересборка пакета без смены релиза в p9, он бы не обновился у пользователя, потому что старый disttag "sisyphus" старше в соответствии с правилом упорядочивания версий пакетов. _priority_distbranch перекрывает это правило. Поэтому для бранчей, кроме p9 и Sisyphus, это значение вообще не определено, потому что нет практической пользы, а было бы только усложнение перехода с тех бранчей на Sisyphus или p9.) Пакет rpm будет иметь зависимость на пакет rpm-conf. Можно ещё пакет apt-conf (там есть несколько вариантов) сделать зависимым от rpm-conf. (Небольшое неудобство, что в Sisyphus есть и пакет apt-conf-branch, но пакет rpm-conf будет один, поэтому осмысленную зависимость в apt-conf-branch написать не получится.) Схема нормальная, когда будет реализована ? такое ощущение, что только мне интересно обновляться с p9 до Sisyphus, а больше никому наш unstable репозиторий не нужен. Сегодня опять имел удовольствие столкнуться с этим процессом и это, мягко говоря, не очень приятно. Хотел бы поинтересоваться прогрессом, есть ли он и будет ли ? (In reply to Anton Farygin from comment #11) > такое ощущение, что только мне интересно обновляться с p9 до Sisyphus, а > больше никому наш unstable репозиторий не нужен. > > Сегодня опять имел удовольствие столкнуться с этим процессом и это, мягко > говоря, не очень приятно. > > Хотел бы поинтересоваться прогрессом, есть ли он и будет ли ? +1 Сегодня обновлял один контейнер с p9 до Сизифа, пока не обновил apt+rpm, было плохо. (In reply to Dmitry V. Levin from comment #12) > Сегодня обновлял один контейнер с p9 до Сизифа, пока не обновил apt+rpm, > было плохо. apt там, конечно, по сути одинаковый, просто по привычке обновляю их вместе. У меня было странное, я не знаю как это объяснить. 1) попытка обновить систему без правки /usr/lib/rpm/macros - остаются сохранённые пакеты, порядка 200 пакетов удаляется (это, правда, был не сервер, но сути это не меняет). 2) изменяю %_priority_distbranch в /usr/lib/rpm/macros на sisyphus - попытка обновления точно с таким же (FAIL) результатом. 3) apt-cache clean, apt-repo rm all, apt-repo add p9, apt-get update, apt-repo rm all, apt-repo add sisyphus - после этой странной жуткой нереальной магии обновление заработало нормально. Почему это случилось у меня ответа нет, но я очень хотел бы его услышать от авторов недоделанной фичи disttag, которой мы все прекрасно пользуемся с непредсказуемым (в дальнейшем) результатом. (In reply to Anton Farygin from comment #14) > 3) apt-cache clean, apt-repo rm all, apt-repo add p9, apt-get update, > apt-repo rm all, apt-repo add sisyphus - после этой странной жуткой > нереальной магии обновление заработало нормально. Надо как-то перейти с языка магии на какой-то более понятный язык. Но если apt-cache clean что-то исправляет, значит, в apt какой-то очередной глюк с cache invalidation. а разве редактирование /usr/lib/rpm/macros на предмет _priority_distbranch может триггернуть очистку кеша apt ? Т.е. - _priority_distbranch где-то записывается в кеше ? (In reply to Ivan Zakharyaschev from comment #9) > Предлагается/планируется: > > Настройку значения макроса _priority_distbranch перенести из /usr/lib/rpm/ в > место для настроек (/etc/). Его может отредактировать руками администратор > или другие утилиты, например, apt-repo (который надо будет этому научить). > > Файл с установкой этого значения вынести в отдельный пакет rpm-conf, чтобы > для изменения значения по умолчанию в бранче не надо было пересобирать пакет > rpm, а у пользователя -- можно будет просто установить другую версию пакета > rpm-conf при желании. > > Для удобства перехода с бранча p9 на Sisyphus релиз у пакета rpm-conf будет > сделан по старой схеме бэкпортирования. (Т.е. после смены sources.list на > Sisyphus администратору будет достаточно сначала сделать просто apt-get > install rpm-conf, чтобы дальше получать правильные обновления из Sisyphus. В > случае перехода с Sisyphus на p9 надо будет сделать один даунгрейд: apt-get > install rpm-conf=1.0-alt0.M90P.1) Собирать rpm в p9 со сменой релиза по этой > схеме не придётся. (А пришлось бы ради удобства перехода с p9 на Sisyphus, > если бы эта настройка лежала бы в пакете rpm.) > > (Напомню, что эта история с явно выставленным значением _priority_distbranch > появилась ради бранчей, которые форкаются, от Sisyphus например, после > введения disttag. Если после форка бранча произошла бы пересборка пакета без > смены релиза в p9, он бы не обновился у пользователя, потому что старый > disttag "sisyphus" старше в соответствии с правилом упорядочивания версий > пакетов. _priority_distbranch перекрывает это правило. Поэтому для бранчей, > кроме p9 и Sisyphus, это значение вообще не определено, потому что нет > практической пользы, а было бы только усложнение перехода с тех бранчей на > Sisyphus или p9.) > > Пакет rpm будет иметь зависимость на пакет rpm-conf. Можно ещё пакет > apt-conf (там есть несколько вариантов) сделать зависимым от rpm-conf. > (Небольшое неудобство, что в Sisyphus есть и пакет apt-conf-branch, но пакет > rpm-conf будет один, поэтому осмысленную зависимость в apt-conf-branch > написать не получится.) $ cat /usr/lib/rpm/macros.d/altlinux-release %_priority_distbranch sisyphus $ rpmquery -f /usr/lib/rpm/macros.d/altlinux-release altlinux-release-sisyphus-20201124-alt1.noarch Я так понимаю что осталось придумать как это сделать в p9. Может быть, apt-repo есть смысл пропатчить, что бы он добавлял %_priority_distbranch ? *** Bug 39845 has been marked as a duplicate of this bug. *** (In reply to Dmitry V. Levin from comment #17) > $ cat /usr/lib/rpm/macros.d/altlinux-release > %_priority_distbranch sisyphus > $ rpmquery -f /usr/lib/rpm/macros.d/altlinux-release > altlinux-release-sisyphus-20201124-alt1.noarch Попробовал сегодня обновить тестовую систему с p9 (установлена с какого-то предварительного Simply 9.1, обновлена до актуального p9) до Сизифа так: 1. изминил в /etc/apt/sources.list.d источники на Сизиф; apt-get update; 2. установил altlinux-release-sisyphus; пришлось сказать apt'у "Yes, do as I say!", ну да ладно. 3. (наверное необязательно, но я делал) apt-get clean; apt-get update; 4. apt-get dist-upgrade 5. добавить autoremove и update-kernel по вкусу (я не делал пока). Вроде бы всё отработало как надо, ничего нужного не удалилось. Как вариант можно собрать какой-то аналог altlinux-release-sisyphus в p9, в котором будет лежать только нужный параметр макроса. (In reply to Anton Farygin from comment #21) > Как вариант можно собрать какой-то аналог altlinux-release-sisyphus в p9, в > котором будет лежать только нужный параметр макроса. Мне вообще-то нравится идея, что на системе, обновлённой до Сизифа, в /etc/os-release будет написано Sisyphus. Это как бы правда. Так что процедура с установкой altlinux-release-sisyphus выглядит не слишком ужасной, достаточно её документировать на wiki например. |