ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Shabalin <a.shabalin@gmail.com>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Неупакованные каталоги
Date: Mon, 7 Aug 2023 17:26:17 +0300
Message-ID: <CAEdvWkRTGQZf=5EM54VLuNhkiAun8Zf2XPjMV_rZDpmfpNhUtg@mail.gmail.com> (raw)
In-Reply-To: <d76e6068be949e3db07639461e6d2947@altlinux.ru>

сб, 5 авг. 2023 г. в 21:29, Vitaly Lipatov <lav@altlinux.ru>:
>
> При сборке пакета файлы иногда попадают в каталоги, которыми никто не
> владеет (на момент установки пакета), или владеет да не тот. Я сделал
> небольшую выборку из таких бесхозных каталогов на основе логов сборки
> заданий за последние двенадцать месяцев.
>
> Некоторые из таких каталогов некоторые дистрибутивы пакуют в filesystem,
> но возможно было бы странно увидеть там /usr/share/metainfo.
> Или вот /usr/share/help. По сути, он принадлежит только librarian,
> которую никто не использует. Однако, кладут файлы туда множество
> пакетов, в том числе и равноудалённые от GNOME (или MATE), для которого
> каталог задумывался.
>
> По некоторым каталогам нужно принять решение, что их будет паковать себе
> каждый, кто использует.

Лучше никто, чем каждый.
Если каждый начнет паковать один и тот же каталог, с зависимостями
будем играть в рулетку.

>
> Для остальных достаточно добавить зависимость на пакет, содержащий
> каталог.
> Допустим, если кладём файл в /usr/share/polkit-1, у пакета должна быть
> зависимость на polkit.

Это как раз к вопросу, а должны ли плагины и конфиги требовать
установку основной программы.
Ответ не очевиден. Например на минимальной системе может быть не
установлен polkit, и на этой системе я ничего никому не хочу
делегировать, все что необходимо запущу прямо от root.
Но есть пакеты, которые содержат настройки для polkit, если в них
будет зависимость на polkit, то я не смогу удалить из системы polkit.
Вырезать конфиги в отдельный подпакет тоже не целесообразно. (ну какой
смысл плодить отдельные пакеты с настройками для polkit).
Так что ругань на никому не принадлежащий каталог /usr/share/polkit-1
я считаю меньшим злом, чем зависимость на polkit.

>
>
>
> /etc/bash_completion.d:

https://lists.altlinux.org/pipermail/devel/2021-November/216047.html
- Паковать completion файлы вместе с основным пакетом (не делать подпакетов)
- Упаковывать в /usr/share (/etc для администратора)
- Не указывать зависимость на bash-completion или другие shell (zsh, fish)
- Только bash-completion должен владеть директориями
%_datadir/bash-completion/completions и %_sysconfdir/bash_completion.d

>      hub: /etc/bash_completion.d
>      ninja-build: /etc/bash_completion.d
>      openscap-scanner: /etc/bash_completion.d
>      bash-completion: /etc/bash_completion.d
>      bash-completion-mercurial: /etc/bash_completion.d
>      bash-completion-source-highlight: /etc/bash_completion.d
>      python3-module-cinderclient: /etc/bash_completion.d
>      python3-module-glanceclient: /etc/bash_completion.d
>      python3-module-magnumclient: /etc/bash_completion.d
>      python3-module-mistralclient: /etc/bash_completion.d
>      python3-module-neutronclient: /etc/bash_completion.d
>      python3-module-novaclient: /etc/bash_completion.d
>      python3-module-swiftclient: /etc/bash_completion.d
>      python3-module-vitrageclient: /etc/bash_completion.d
>      python3-module-zunclient: /etc/bash_completion.d
>      rinse: /etc/bash_completion.d
>      salt-master: /etc/bash_completion.d
>      xen-tools: /etc/bash_completion.d
>
> /usr/share/bash-completion:
>      ethtool: /usr/share/bash-completion
>      gopass: /usr/share/bash-completion
>      nnn: /usr/share/bash-completion
>      pcp: /usr/share/bash-completion
>      powertop: /usr/share/bash-completion
>      bash-completion: /usr/share/bash-completion
>      bash-completion-mercurial: /usr/share/bash-completion
>      clufter-cli: /usr/share/bash-completion
>      driverctl: /usr/share/bash-completion
>      rpmdevtools: /usr/share/bash-completion
>
> /lib/firmware:
>      firmware-alsa-sof: /lib/firmware
>
> /usr/lib/systemd/user:
>      systemd: /usr/lib/systemd/user
>      canto-next: /usr/lib/systemd/user

canto-next - это ошибка

>
> /usr/lib/systemd:
>      systemd: /usr/lib/systemd
>      canto-next: /usr/lib/systemd

canto-next - это ошибка

>
> /lib/dbus-1/system-services:
>
> /usr/share/polkit-1/actions:
>      deepin-api: /usr/share/polkit-1/actions
>      kdiskmark: /usr/share/polkit-1/actions
>      lxqt-admin: /usr/share/polkit-1/actions
>      polkit: /usr/share/polkit-1/actions

Только polkit должен владеть.

>
> /usr/share/dbus-1:
>      ayatana-indicator-keyboard: /usr/share/dbus-1
>      ayatana-indicator-sound: /usr/share/dbus-1
>      dbus: /usr/share/dbus-1
>      libdbus-devel: /usr/share/dbus-1

Только dbus должен владеть.

>
> /usr/share/polkit-1:
>      kdiskmark: /usr/share/polkit-1
>      polkit: /usr/share/polkit-1

Только polkit должен владеть.

>
> /usr/share/zsh:
>      gopass: /usr/share/zsh
>      pcp: /usr/share/zsh
>      radare2: /usr/share/zsh
>      zsh: /usr/share/zsh
>      bash-completion-mercurial: /usr/share/zsh

Все, кроме zsh, ошибки.

>
> /usr/share/zsh/site-functions:
>      environment-modules: /usr/share/zsh/site-functions
>      gopass: /usr/share/zsh/site-functions
>      pcp: /usr/share/zsh/site-functions
>      radare2: /usr/share/zsh/site-functions
>      bash-completion-mercurial: /usr/share/zsh/site-functions
>      ddgr: /usr/share/zsh/site-functions

Все, кроме zsh, ошибки.

>
> /usr/share/help:
>      librarian: /usr/share/help
>      mate-file-manager-actions-doc: /usr/share/help
>
> /usr/share/help/C:
>      gnucash-docs: /usr/share/help/C
>      mate-file-manager-actions-doc: /usr/share/help/C
>
> /usr/share/icons/hicolor/symbolic:
>
> /usr/share/icons/hicolor/symbolic/apps:
>
> /usr/share/icons/hicolor/512x512/apps:
>      endless-sky: /usr/share/icons/hicolor/512x512/apps
>      hedgewars: /usr/share/icons/hicolor/512x512/apps
>      kdiskmark: /usr/share/icons/hicolor/512x512/apps
>      texworks: /usr/share/icons/hicolor/512x512/apps
>
> /usr/share/themes:
>      libgtk+2: /usr/share/themes
>      gtk-theme-qogir: /usr/share/themes
>      gtk2-themes-aurora: /usr/share/themes
>      gtk2-themes-murrine: /usr/share/themes
>
> /usr/share/gtk-doc/html:
>      libjcat-devel: /usr/share/gtk-doc/html
>      libldm1.0-devel: /usr/share/gtk-doc/html
>      libunique3.0-devel: /usr/share/gtk-doc/html
>      libxmlb-devel: /usr/share/gtk-doc/html
>      tomoe-devel: /usr/share/gtk-doc/html
>      gnome-latex-devel-doc: /usr/share/gtk-doc/html
>      gtk-doc: /usr/share/gtk-doc/html
>      libgwyddion-doc: /usr/share/gtk-doc/html
>      libmessaging-menu-doc: /usr/share/gtk-doc/html
>      power-profiles-daemon-docs: /usr/share/gtk-doc/html

Все, кроме gtk-doc, ошибки.

>
> /usr/lib64/qt5/mkspecs/modules:
>      qt5-base-devel: /usr/lib64/qt5/mkspecs/modules
>
> /usr/share/gtk-doc:
>      libjcat-devel: /usr/share/gtk-doc
>      libunique3.0-devel: /usr/share/gtk-doc
>      libxmlb-devel: /usr/share/gtk-doc
>      tomoe-devel: /usr/share/gtk-doc
>      gtk-doc: /usr/share/gtk-doc
>      libgwyddion-doc: /usr/share/gtk-doc
>      libmessaging-menu-doc: /usr/share/gtk-doc
>      power-profiles-daemon-docs: /usr/share/gtk-doc

Все, кроме gtk-doc, ошибки.

>
> /usr/lib64/qt5/mkspecs:
>      qt5-base-devel: /usr/lib64/qt5/mkspecs
>
> /usr/lib/cmake:
>
> /usr/lib64/cmake:
>      cmake: /usr/lib64/cmake
>      errut: /usr/lib64/cmake
>      ispc: /usr/lib64/cmake
>      libfastpfor-devel: /usr/lib64/cmake
>      liblapack-devel: /usr/lib64/cmake
>      librabbitmq-c-devel: /usr/lib64/cmake
>      libsavitar-devel: /usr/lib64/cmake
>      qt5-base-devel: /usr/lib64/cmake
>      qt6-base-devel: /usr/lib64/cmake

Все, кроме cmake, ошибки.

>      libleatherman-devel: /usr/lib64/cmake/leatherman/cmake
А этот что? пусть себе владеет этим каталогом, если кто0то там сможет
найти cmake файлы, но это уже другая история.

>
> /usr/share/metainfo:
>      doomsday: /usr/share/metainfo
>      endless-sky: /usr/share/metainfo
>      fritzing: /usr/share/metainfo
>      imhex: /usr/share/metainfo
>      texworks: /usr/share/metainfo
>      vlc-mini: /usr/share/metainfo
>      nicotine-plus: /usr/share/metainfo
>      shutter: /usr/share/metainfo
Не знаю кто тут должен владеть, может filesystem.

-- 
Alexey Shabalin

  parent reply	other threads:[~2023-08-07 14:26 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-05 18:28 Vitaly Lipatov
2023-08-07  9:12 ` Vitaly Chikunov
2023-08-07  9:21 ` Dmitry V. Levin
2023-08-07 12:38   ` Anton Farygin
2023-08-07 11:09 ` [devel] " Sergey V Turchin
2023-08-07 11:45   ` [devel] " Alexey V. Vissarionov
2023-08-07 12:00     ` [devel] " Sergey V Turchin
2023-08-07 12:19       ` [devel] " Alexey V. Vissarionov
2023-08-07 13:18         ` [devel] " Sergey V Turchin
2023-08-07 14:26 ` Alexey Shabalin [this message]
2023-08-08  4:26   ` [devel] Неупакованные каталоги (и bash-completion) Vitaly Chikunov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEdvWkRTGQZf=5EM54VLuNhkiAun8Zf2XPjMV_rZDpmfpNhUtg@mail.gmail.com' \
    --to=a.shabalin@gmail.com \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git