Автор Тема: devuan  (Прочитано 26032 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 8 882
  • UNIX System V init
Re: devuan
« Ответ #15 : 28.06.2019 15:58:22 »
у него пакеты от дебиан ставятся или свои только?

От debian
Соответствие релизов devuan и debian:
https://devuan.org/

http://deb.devuan.org/merged/dists/
https://devuan.org/os/etc/apt/sources.list
« Последнее редактирование: 28.06.2019 16:42:58 от Speccyfighter »
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 65
    • Email
Re: devuan
« Ответ #16 : 28.06.2019 19:00:08 »
От дебиана тоже.
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 8 882
  • UNIX System V init
Re: devuan
« Ответ #17 : 15.07.2019 11:45:40 »
Заколебали вы уже, рукожопые systemd-эшники...

Свежайший debian/sid:
$ dpkg -I ./slim_1.3.6-5.1_i386.deb | grep ' Pack\| Vers\| Descr'
 Package: slim
 Version: 1.3.6-5.1
 Description: desktop-independent graphical login manager for X11
$ dpkg -c ./slim_1.3.6-5.1_i386.deb | grep 'init.d\|systemd'
drwxr-xr-x root/root         0 2017-05-02 16:48 ./etc/init.d/
-rwxr-xr-x root/root      1948 2017-05-02 16:42 ./etc/init.d/slim
drwxr-xr-x root/root         0 2017-05-02 16:48 ./lib/systemd/
drwxr-xr-x root/root         0 2017-05-02 16:48 ./lib/systemd/system/
-rw-r--r-- root/root       265 2017-05-02 16:48 ./lib/systemd/system/slim.service
$ tar xvf ./slim_1.3.6-5.1.debian.tar.xz

Какой дебил догадался посадить дисплей менеджер на все runlevel начиная со второго?!
$ grep Default-St ./debian/slim.init
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6

Чтобы уйти в мир иной, Линуксу не нужен никакой Microsoft, - новомодные линуксовые разработчики его сами же и похоронят.
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Онлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 3 799
  • antohami@
Re: devuan
« Ответ #18 : 15.07.2019 13:01:43 »
Во! Кстати, интересно посмотреть как они сделали init-скрипты для дисплей-менеджеров. Было бы здорово уйти от prefdm.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 8 882
  • UNIX System V init
Re: devuan
« Ответ #19 : 15.07.2019 13:34:24 »
Во! Кстати, интересно посмотреть как они сделали init-скрипты для дисплей-менеджеров. Было бы здорово уйти от prefdm.

Никак :-)
Они его напрямую впаяли без прокладки-селектора:
$ dpkg -c ./slim_1.3.6-5.1_i386.deb | grep init.d
drwxr-xr-x root/root         0 2017-05-02 16:48 ./etc/init.d/
-rwxr-xr-x root/root      1948 2017-05-02 16:42 ./etc/init.d/slim

init-скрипт из тарбола slim_1.3.6-5.1.debian.tar.xz
$ cat ./debian/slim.init
#!/bin/sh

# Largely adapted from xdm's init script:
# Copyright 1998-2002, 2004, 2005 Branden Robinson <branden@debian.org>.
# Copyright 2006 Eugene Konev <ejka@imfi.kspu.ru>

### BEGIN INIT INFO
# Provides:          slim
# Required-Start:    dbus $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Should-Start:      xfs $named slapd
# Should-Stop:       xfs $named slapd
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Debian init script for the SLiM.
### END INIT INFO

test -z "$HEED_DEFAULT_DISPLAY_MANAGER" && HEED_DEFAULT_DISPLAY_MANAGER=true
DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager

NAME="slim"
DESC="X display manager"
DAEMON=/usr/bin/slim
PIDFILE=/var/run/slim.lock

SSD_START_ARGS="--pidfile $PIDFILE --name $(basename $DAEMON) --startas $DAEMON -- -d"
SSD_STOP_ARGS="--pidfile $PIDFILE --name $(basename $DAEMON) --retry TERM/5/TERM/5"

test -x $DAEMON || exit 0
. /lib/lsb/init-functions

case $1 in
  start)
    if [ "$HEED_DEFAULT_DISPLAY_MANAGER" = "true" ] &&
       [ -e $DEFAULT_DISPLAY_MANAGER_FILE ] &&
       [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" != "$DAEMON" ]; then
       log_daemon_msg "Not starting $DESC ($NAME); it is not the default display manager." "$NAME"
    else
      if [ -x /bin/plymouth ] ; then
        /bin/plymouth quit
      fi
      log_daemon_msg "Starting $NAME" "$NAME"
      start-stop-daemon --start --quiet $SSD_START_ARGS
      log_end_msg $?
    fi
  ;;

  stop)
    log_daemon_msg "Stopping $DESC" "$NAME"
    start-stop-daemon --stop --quiet $SSD_STOP_ARGS
    log_end_msg $?
    rm -f $PIDFILE
  ;;

  restart)
    $0 stop
    sleep 2
    $0 start
  ;;

  force-reload)
    /etc/init.d/slim restart
  ;;

  status)
    status_of_proc /usr/bin/$NAME $NAME
  ;;

  *)
    echo "Usage: /etc/init.d/slim {start|stop|restart|force-reload|status}"
    exit 1
  ;;
esac

# End of file

Как понял сам:
Хочешь другой *dm, ставь другой *dm, но этот снеси
Цитировать
https://packages.debian.org/sid/arm64/kdm/filelist

Список файлов пакета kdm в sid для архитектуры arm64

/etc/dbus-1/system.d/org.kde.kcontrol.kcmkdm.conf
/etc/init.d/kdm
...
$ dpkg -c ../hlam-kdm-deb/kdm_4.11.13-2_i386.deb | grep init.d
drwxr-xr-x root/root         0 2014-11-07 15:15 ./etc/init.d/
-rwxr-xr-x root/root      6671 2014-11-07 12:11 ./etc/init.d/kdm
« Последнее редактирование: 15.07.2019 13:46:29 от Speccyfighter »
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 8 882
  • UNIX System V init
Re: devuan
« Ответ #20 : 15.07.2019 14:06:03 »
Было бы здорово уйти от prefdm.

Как мне это видится в debian/devuan на sysv:
Предполагается что пользователь не должен хотеть другой *dm, кроме того, который у него уже установлен.

Теоретически с других *dm можно снять бит execute, но это тот ещё грандиозный костыль. И под этот костыль нужен парсер-селектор, который тоже сам по себе костыль. ИМХО.
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Онлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 3 799
  • antohami@
Re: devuan
« Ответ #21 : 15.07.2019 18:45:59 »
Как мне это видится в debian/devuan на sysv:
Предполагается что пользователь не должен хотеть другой *dm, кроме того, который у него уже установлен.

Теоретически с других *dm можно снять бит execute, но это тот ещё грандиозный костыль. И под этот костыль нужен парсер-селектор, который тоже сам по себе костыль. ИМХО.

Зря значит обрадовался...

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 8 882
  • UNIX System V init
Re: devuan
« Ответ #22 : 15.07.2019 19:54:30 »
Как мне это видится в debian/devuan на sysv:
Предполагается что пользователь не должен хотеть другой *dm, кроме того, который у него уже установлен.

Теоретически с других *dm можно снять бит execute, но это тот ещё грандиозный костыль. И под этот костыль нужен парсер-селектор, который тоже сам по себе костыль. ИМХО.

Зря значит обрадовался...

Угу. Там туеву хучу пакетов с init-скриптами переделывать, - работает эта кухня так:

Дефолтный display-manager задаётся в файле
# cat /etc/X11/default-display-manager
/usr/bin/slim

Переменная DAEMON задаётся в init-файле display-manager -а
# grep DAEMON /etc/init.d/slim | grep -v 'test\|then'
DAEMON=/usr/bin/slim
SSD_START_ARGS="--pidfile $PIDFILE --name $(basename $DAEMON) --startas $DAEMON -- -d"
SSD_STOP_ARGS="--pidfile $PIDFILE --name $(basename $DAEMON) --retry TERM/5/TERM/5"

Для старта display-manager, содержимое файла и переменной должно быть идентичным
# grep DAEMON /etc/init.d/slim | grep -v 'test\|SSD\|^DAEMON'
       [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" != "$DAEMON" ]; then

При этом стартующий display-manager, это не содержимое пакета
# dpkg --help | grep '\-S'
  -S|--search <pattern> ...        Find package(s) owning file(s).
# dpkg -S /etc/X11/default-display-manager
dpkg-query: no path found matching pattern /etc/X11/default-display-manager

Если /etc/X11/default-display-manager и $DAEMON (задано в *dm init-файле), проверкой в инит-скрипте менеджера не совпадают, следует отказ старта display-manager.

Что пересылает в /etc/X11/default-display-manager, хрен его знает...
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 539
Re: devuan
« Ответ #23 : 15.07.2019 22:12:09 »
У меня

cat /etc/X11/default-display-manager
/usr/sbin/lxdm

cat /etc/init.d/lxdm | grep DAE
DAEMON=/usr/sbin/lxdm-binary

усе работает...

но ...

таки да...

cat /etc/init.d/lxdm
### BEGIN INIT INFO
# Provides:          lxdm
# Should-Start:      $named console-screen dbus acpid hal consolekit
# Required-Start:    $local_fs $remote_fs x11-common
# Required-Stop:     $local_fs $remote_fs
# Should-Stop:       $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: LXDE Display Manager (LXDM)
# Description:       Debian init script for the LXDE Display Manager
### END INIT INFO
« Последнее редактирование: 15.07.2019 22:18:39 от YYY »