Bug 38279

Summary: Bluetooth: отключен obex.service
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: bluezAssignee: Valery Inozemtsev <shrek>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: aleksey-v.2013, antohami, aris, cas, iv, lakostis, mike, qa-p8, sem, shaba, shrek, zerg
Version: unstableKeywords: usability
Hardware: all   
OS: Linux   
Bug Depends on: 38278    
Bug Blocks:    

Description Michael Shigorin 2020-03-26 16:43:59 MSK
Вероятно, стоит сделать подпакет вроде bluez-obex-service с этим симлинком.

+++ Данная ошибка создана размножением ошибки 38278 +++

Приложение Bluetooth, закладка Параметры.

Переключатель "Получать файлы от удалённых устройств" невозможно оставить в положении "включено". При клике он сдвигается, на мгновение становится синим и затем сразу возвращается в отключенное состояние.

При этом Bluetooth работает, устройство определяется. Даже звук на него можно воспроизводить.

$ lsmod | grep blu
bluetooth             413696  33 btrtl,btintel,btbcm,bnep,btusb,rfcomm
ecdh_generic           16384  2 bluetooth
rfkill                 28672  6 bluetooth,thinkpad_acpi
crc16                  16384  2 bluetooth,ext4

# modinfo bluetooth | head
filename:       /lib/modules/5.4.26-std-def-alt1/kernel/net/bluetooth/bluetooth.ko
alias:          net-pf-31
license:        GPL
version:        2.22
description:    Bluetooth Core ver 2.22
author:         Marcel Holtmann <marcel@holtmann.org>
srcversion:     202A7E9C18C23A5C455649B
depends:        rfkill,ecdh_generic,crc16
retpoline:      Y
intree:         Y
Comment 1 Sergey V Turchin 2020-03-26 17:07:52 MSK
У obex.service
[Install]
Alias=dbus-org.bluez.obex.service
Comment 2 Sergey V Turchin 2020-03-26 17:09:23 MSK
> Вероятно, стоит сделать подпакет вроде bluez-obex-service с этим симлинком.
Т.е. точно не подпакет. Или запаковать в тот же пакет или сделать, чтоб Install сработал.
Comment 3 Ivan A. Melnikov 2020-03-27 14:00:06 MSK
См. тж. altbug #37016, который внезапно но по историческим причинам на p8. Я предлагал так:

http://git.altlinux.org/people/iv/packages/bluez.git?p=bluez.git;a=commitdiff;h=616baf829361d02591434285c29fdedfb0cf9e10
Comment 4 Антон Мидюков 2020-04-17 14:01:55 MSK
Предполагается, что после установки пакета будет сделано:

systemctl --user --global enable obex.service

А перед удалением пакета:
systemctl --user --global disable obex.service

Т.е. в %post и %preun необходимо добавить их. В Fedora на сей счёт используются макросы:

%systemd_user_post
%systemd_user_preun

Было бы здорово, чтобы у нас появились такие макросы, но ещё и с дополнительной проверкой наличия systemd в системе. Поэтому в копию shaba@ поставил.
Comment 5 Антон Мидюков 2020-04-17 14:04:41 MSK
(Ответ для Антон Мидюков на комментарий #4)
> Было бы здорово, чтобы у нас появились такие макросы, но ещё и с
> дополнительной проверкой наличия systemd в системе. Поэтому в копию shaba@
> поставил.

Проверка systemd не требуется. На sysvinit symlink создался успешно. И удалился тоже.
Comment 6 Антон Мидюков 2020-04-20 10:25:47 MSK
Собрал таск с исправлением:

[#250288] [test-only] EPERM bluez.git=5.54-alt2
Comment 7 Sergey V Turchin 2020-04-20 11:26:46 MSK
Возникает зависимость на /bin/systemctl. Я, например, не против, т.к. systemd-utils особо ничего не тащит за собой.
Comment 8 Repository Robot 2020-04-20 12:36:44 MSK
bluez-5.54-alt2 -> sisyphus:

 Mon Apr 20 2020 Anton Midyukov <antohami@altlinux> 5.54-alt2
 - Enable obex.service (closes #38279).
Comment 9 Michael Shigorin 2020-04-20 14:24:50 MSK
Лишние зависимости всяко стоит давить -- анализатор "не заметит"
вызов команды с выставлением переменной, например, "a= ".

И почистил немного, а то два одинаковых if подряд уж как-то совсем не то.
Отправил 5.54-alt3: http://webery.altlinux.org/task/250302

PS: там ещё /usr/share/zsh/site-functions/_bluetoothctl почему-то не упакован.
Comment 10 Антон Мидюков 2020-04-22 09:12:05 MSK
(Ответ для Michael Shigorin на комментарий #9)
> Лишние зависимости всяко стоит давить -- анализатор "не заметит"
> вызов команды с выставлением переменной, например, "a= ".

Так как у нас сортируются пакеты в mkimage, bluez устанавливается раньше systemd-utils. В результате симлинк при сборке образа не создаётся, так как создавать его просто некому.
Comment 11 Yuri N. Sedunov 2020-04-22 09:19:33 MSK
А при обновлении (удалении предыдущей версии) симлинк успешно сносится.

...
Removed /etc/systemd/user/dbus-org.bluez.obex.service.
42: bluez-5.54-alt2
Comment 12 Антон Мидюков 2020-04-22 10:06:44 MSK
(Ответ для Yuri N. Sedunov на комментарий #11)
> А при обновлении (удалении предыдущей версии) симлинк успешно сносится.
> 
> ...
> Removed /etc/systemd/user/dbus-org.bluez.obex.service.
> 42: bluez-5.54-alt2

Странно. У меня такое не воспроизводится.
Comment 13 Yuri N. Sedunov 2020-04-22 10:41:24 MSK
(Ответ для Антон Мидюков на комментарий #12)
> (Ответ для Yuri N. Sedunov на комментарий #11)
> > А при обновлении (удалении предыдущей версии) симлинк успешно сносится.
> > 
> > ...
> > Removed /etc/systemd/user/dbus-org.bluez.obex.service.
> > 42: bluez-5.54-alt2
> 
> Странно. У меня такое не воспроизводится.

Не может не воспроизводиться -- у тебя %preun выполняется безусловно.
Comment 14 Sergey V Turchin 2020-04-22 10:46:23 MSK
(Ответ для Yuri N. Sedunov на комментарий #13)
> Не может не воспроизводиться
Может. У меня симлинк /etc/systemd/user/dbus-org.bluez.obex.service на месте. bluez-5.54-alt3.x86_64
Comment 15 Антон Мидюков 2020-04-22 10:54:01 MSK
(Ответ для Yuri N. Sedunov на комментарий #13)
> (Ответ для Антон Мидюков на комментарий #12)
> > (Ответ для Yuri N. Sedunov на комментарий #11)
> > > А при обновлении (удалении предыдущей версии) симлинк успешно сносится.
> > > 
> > > ...
> > > Removed /etc/systemd/user/dbus-org.bluez.obex.service.
> > > 42: bluez-5.54-alt2
> > 
> > Странно. У меня такое не воспроизводится.
> 
> Не может не воспроизводиться -- у тебя %preun выполняется безусловно.

А какое должно быть условие? Я не знал, что %preun выполняется (или может выполняться) при обновлении пакета.
Comment 16 Yuri N. Sedunov 2020-04-22 11:00:17 MSK
(Ответ для Sergey V Turchin на комментарий #14)
> (Ответ для Yuri N. Sedunov на комментарий #13)
> > Не может не воспроизводиться
> Может. У меня симлинк /etc/systemd/user/dbus-org.bluez.obex.service на
> месте. bluez-5.54-alt3.x86_64

Обновление / установка...
1: bluez-5.54-alt3                      ############################################################################### [ 50%]
Removed /etc/systemd/user/dbus-org.bluez.obex.service.
Очистка / удаление... 
2: bluez-5.54-alt2                      ############################################################################### [100%]
Завершено.
[aris@siver tmp]$ l /etc/systemd/user/dbus-org.bluez.obex.service
ls: невозможно получить доступ к '/etc/systemd/user/dbus-org.bluez.obex.service': Нет такого файла или каталога
Comment 17 Yuri N. Sedunov 2020-04-22 11:04:14 MSK
(Ответ для Антон Мидюков на комментарий #15)
> (Ответ для Yuri N. Sedunov на комментарий #13)
> > (Ответ для Антон Мидюков на комментарий #12)
> > > (Ответ для Yuri N. Sedunov на комментарий #11)
> > > > А при обновлении (удалении предыдущей версии) симлинк успешно сносится.
> > > > 
> > > > ...
> > > > Removed /etc/systemd/user/dbus-org.bluez.obex.service.
> > > > 42: bluez-5.54-alt2
> > > 
> > > Странно. У меня такое не воспроизводится.
> > 
> > Не может не воспроизводиться -- у тебя %preun выполняется безусловно.
> 
> А какое должно быть условие? Я не знал, что %preun выполняется (или может
> выполняться) при обновлении пакета.

Не читал? /usr/share/doc/rpm-4.13.0.1/triggers
Comment 18 Michael Shigorin 2020-04-22 21:49:45 MSK
Н-да, досадно.  "Нос вытащили -- хвост завяз" (c) Н.Н. Непейвода.

Пока вижу два варианта тогда --
1) сделать пакет, сортирующийся после systemd-utils, и переложить туда;
2) откатить мои правки в 5.54-alt3 по этой части.

Вообще говоря, такая проблема может затрагивать не только bluez.
Comment 19 Антон Мидюков 2020-04-23 06:32:27 MSK
(Ответ для Michael Shigorin на комментарий #18)
> Н-да, досадно.  "Нос вытащили -- хвост завяз" (c) Н.Н. Непейвода.
> 
> Пока вижу два варианта тогда --
> 1) сделать пакет, сортирующийся после systemd-utils, и переложить туда;
> 2) откатить мои правки в 5.54-alt3 по этой части.

3) Сделать приоритет в установке для systemd-utils в mlimage-profiles.
Comment 20 Sergey V Turchin 2020-04-23 09:22:41 MSK
> > Пока вижу два варианта тогда --
0) убрать сортировку.
> > 1) сделать пакет, сортирующийся после systemd-utils, и переложить туда;
> > 2) откатить мои правки в 5.54-alt3 по этой части.
> 3) Сделать приоритет в установке для systemd-utils в mlimage-profiles.
Comment 21 Антон Мидюков 2020-05-24 19:42:02 MSK
Вернул зависимость на systemd-utils. Образ собрался с симлинком /etc/systemd/user/dbus-org.bluez.obex.service:

[#252217] [test-only] EPERM (try 2) bluez.git=5.54-alt4

Также подправил условие, чтобы симлнк не удалялся при обновлении пакета. Прошу проверить, так как у меня и до того не удалялся при обновлении, и я не знаю, что нужно сделать в системе, чтобы удалялся.
Comment 22 Антон Мидюков 2020-06-01 14:13:50 MSK
Откликнитесь(Ответ для Антон Мидюков на комментарий #21)
> Вернул зависимость на systemd-utils. Образ собрался с симлинком
> /etc/systemd/user/dbus-org.bluez.obex.service:
> 
> [#252217] [test-only] EPERM (try 2) bluez.git=5.54-alt4
> 
> Также подправил условие, чтобы симлнк не удалялся при обновлении пакета.
> Прошу проверить, так как у меня и до того не удалялся при обновлении, и я не
> знаю, что нужно сделать в системе, чтобы удалялся.

Кто-нибудь зааппрувит?
Comment 23 Andrey Cherepanov 2020-06-01 14:30:54 MSK
(Ответ для Антон Мидюков на комментарий #22)
> Откликнитесь(Ответ для Антон Мидюков на комментарий #21)
> > Вернул зависимость на systemd-utils. Образ собрался с симлинком
> > /etc/systemd/user/dbus-org.bluez.obex.service:
> > 
> > [#252217] [test-only] EPERM (try 2) bluez.git=5.54-alt4
> > 
> > Также подправил условие, чтобы симлнк не удалялся при обновлении пакета.
> > Прошу проверить, так как у меня и до того не удалялся при обновлении, и я не
> > знаю, что нужно сделать в системе, чтобы удалялся.
> 
> Кто-нибудь зааппрувит?

test-only я даже не увижу и поэтому аппрувить не буду. Собирайте без него.
Comment 24 Антон Мидюков 2020-06-09 18:28:06 MSK
[#253057] DONE bluez.git=5.54-alt5