Bug 22805

Summary: Не работает Hold в apt.conf
Product: Sisyphus Reporter: Konstantin Pavlov <thresh>
Component: aptAssignee: placeholder <placeholder>
Status: CLOSED DUPLICATE QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: asy, bikr, boyarsh, evg, glebfm, imz, kopilo4ka, ktirf, lav, ldv, mike, placeholder, real.altlinux.org, rider, zerg
Version: unstable   
Hardware: all   
OS: Linux   

Description Konstantin Pavlov 2010-01-21 11:19:11 MSK
apt-0.5.15lorg2-alt31.1, 
секция Hold в apt.conf:

        Hold {
                // Old-style kernels.
                "^(kernel|alsa)[0-9]+-source";
                "libqt4.*";
        };

При этом:

thresh@snowwhite ~ $ sudo apt-get dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following packages will be upgraded
  kde4libs libpolkit-qt-core libpolkit-qt-gui libqt4-assistant libqt4-clucene libqt4-core libqt4-dbus libqt4-designer
  libqt4-gui libqt4-help libqt4-network libqt4-opengl libqt4-qt3support libqt4-script libqt4-scripttools libqt4-sql
  libqt4-sql-sqlite libqt4-svg libqt4-test libqt4-uitools libqt4-webkit libqt4-xml libqt4-xmlpatterns
  python-module-PyQt4 qt4-common rpm-macros-qt4
The following NEW packages will be installed:
  libqt4-multimedia qt4-dbus
26 upgraded, 2 newly installed, 0 removed and 0 not upgraded.

в sources.list:

rpm [alt] ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus i586 classic
rpm [alt] ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus noarch classic
Comment 1 Michael Shigorin 2010-09-03 12:39:52 MSD
Добавь ещё ^qt4.* ?
Comment 2 Sergey V Turchin 2010-09-03 14:51:33 MSD
(В ответ на комментарий №1)
> Добавь ещё ^qt4.* ?
Нет смысла. Разве что заменить на более конкретный "^libqt4.*"
Comment 3 Sergey V Turchin 2010-09-03 14:53:28 MSD
Вообще, мне еще на 5.1 (когда фильтровал пакеты в Ignore для kdesktop) показалось, что выражения как-то странновато отрабатывают.
Comment 4 Rinat Bikov 2010-09-03 20:54:21 MSD
У меня работает:
Запись в apt.conf:
                "^udev*";
                "^libudev";
                "^libgudev";

$ sudo apt-get dist-upgrade
[sudo] password for becase:
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following packages will be upgraded
...
The following NEW packages will be installed:
  libcap-ng
The following packages have been kept back
  emacs-latex-beamer-el hibernate-script kernel-headers-std-def libgudev libudev udev udev-extras udev-initramfs udev-rule-generator
  udev-rules
160 upgraded, 1 new
Comment 5 Evgenii Terechkov 2010-09-03 21:23:57 MSD
У меня работает: "^grub$"; :-)

apt-0.5.15lorg2-alt33
Comment 6 Dmitry V. Levin 2010-09-21 14:53:47 MSD
Hold не препятствует обновлению по зависимостям.
Comment 7 Sergey V Turchin 2010-09-27 16:46:01 MSD
(В ответ на комментарий №6)
> Hold не препятствует обновлению по зависимостям.
Тогда он не имеет смысла для всех библиотек, например.
Comment 8 Michael Shigorin 2010-10-09 13:50:00 MSD
(In reply to comment #3)
> Вообще, мне еще на 5.1 (когда фильтровал пакеты в Ignore для kdesktop)
> показалось, что выражения как-то странновато отрабатывают.
Да, но если их использовать правильно(tm), то всё-таки отрабатывают.
Comment 9 Sergey V Turchin 2010-10-11 15:33:47 MSD
(В ответ на комментарий №8)
> Да, но если их использовать правильно(tm)
Судя по #6 их невозможно использовать ни правильно, ни неправильно, если хоть 1 пакет от них зависит, а у меня как раз такой случай. Нужно прибивать конкретные пакеты, чтоб вытаскивали не их.

Или расскажи, как это сделать правильно при помощи Hold?
Comment 10 Sergey V Turchin 2010-10-11 15:37:54 MSD
(В ответ на комментарий №9)
> помощи Hold?
точнее, при помощи Ignore
Comment 11 Vitaly Lipatov 2012-07-14 15:56:09 MSK
И так всё-таки? И закроем.
Comment 12 Sergey V Turchin 2012-07-16 15:26:09 MSK
А фигли толку? Все равно останется в текущем виде. Теперь до релиза deepsolver баги на apt идут в /dev/null.
Comment 13 Sergey V Turchin 2015-11-12 10:36:59 MSK
А после конца deepsolver они вместе с ним, похоже, идут.
Comment 14 Sergey V Turchin 2017-11-14 15:39:28 MSK
Дубль 18636

*** This bug has been marked as a duplicate of bug 18636 ***
Comment 15 Sergey Y. Afonin 2017-11-15 09:23:29 MSK
У меня какое-то дежавю на тему, что кто-то (ldv@ ?) где-то (в devel@ ?) мне отвечал на подобный вопрос, что hold не работает, если обновляется какой-то другой пакет, которому требуется обновление того, что в списке hold.

В качестве примера, чтобы поставить на hold php, требуется, так же, поставить на холд и Апаче:

RPM::Hold { "^php5|^apache2-"; }
Comment 16 Sergey Y. Afonin 2017-11-15 09:25:36 MSK
(In reply to comment #15)

И тут Comment #6 тоже. :-)
Comment 17 Anton Farygin 2017-11-15 09:26:43 MSK
Ошибка именно об этом - говорят, что когда-то Hold работал всегда и без исключения.
Comment 18 Sergey V Turchin 2017-11-15 11:27:51 MSK
(В ответ на комментарий №17)
> когда-то Hold работал всегда и без исключения.
Да. Иначе смысла нет.