LINUX.ORG.RU

История изменений

Исправление yurikoles, (текущая версия) :

Ответь на вопрос: оно собиралось на $vasya_pupkin distro из коробки?

Вот такое говно? https://github.com/systemd/systemd/commit/0571e0111d76cf96aa4069d9c7a6e24d97a...

+case $with_distro in
+        fedora)
+                SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d
+                SYSTEM_SYSVRCND_PATH=/etc/rc.d
+                ;;
+        suse)
+                SYSTEM_SYSVINIT_PATH=/etc/init.d
+                SYSTEM_SYSVRCND_PATH=/etc/init.d
+                ;;
+        debian)
+                SYSTEM_SYSVINIT_PATH=/etc/init.d
+                SYSTEM_SYSVRCND_PATH=/etc
+                ;;
+        none)
+                SYSTEM_SYSVINIT_PATH=/etc/fix/the/configure/script
+                SYSTEM_SYSVRCND_PATH=/etc/fix/the/configure/script
+                ;;
+        *)
+                AC_MSG_ERROR([Your distribution (${with_distro}) is not yet supported, SysV init scripts could not be found! (patches welcome); you can specify --with-distro=none to skip this check])
+                ;;
+esac
Нормальные программы можно собрать и запустить на системах, о которых авторы даже и не слышали никогда. А это говно жёстко прописывало поддерживаемые дистры?

Или вот в этом коммите Лёня просит патчить код на C, даже не сборочный скрипт? для определения дистра.
commit eb10a76494542fb560efd09c16b40826fc37bc5f
Author: Lennart Poettering <lennart@poettering.net>
Date:   Mon May 17 01:39:51 2010 +0200

    docs: add terse distribution porting guide

diff --git a/DISTRO_PORTING b/DISTRO_PORTING
new file mode 100644
index 0000000..4190538
--- /dev/null
+++ b/DISTRO_PORTING
@@ -0,0 +1,36 @@
+Porting systemd To New Distributions
+
+        You need to make the follow changes to adapt systemd to your
+        distribution:
+
+        0) Make your distribution recognized via the autoconf checks
+        in configure.ac. Grep for the word "fedora" (case
+        insensitively) and you should be able to find the places where
+        you need to add/change things.
+
+        1) Patch src/hostname-setup.c so that systemd knows where to
+        read your host name from.
+
+        2) Check the unit files in units/ if they match your
+        distribution. Most likely you will have to make additions to
+        units/*.m4 and create a copy of units/fedora/ with changes for
+        your distribution.
+
+        3) Adjust Makefile.am to register the unit files you added in
+        step 2. Also you might need to update the m4 invocation in
+        Makefile.am. Grep for the word "fedora" (case insensitively)
+        and you should be able to find the places where you need to
+        add/change things.
+
+        4) Try it out.
+

Исходная версия yurikoles, :

Ответь на вопрос: оно собиралось на $vasya_pupkin distro из коробки?

Вот такое говно? https://github.com/systemd/systemd/commit/0571e0111d76cf96aa4069d9c7a6e24d97a...

+case $with_distro in
+        fedora)
+                SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d
+                SYSTEM_SYSVRCND_PATH=/etc/rc.d
+                ;;
+        suse)
+                SYSTEM_SYSVINIT_PATH=/etc/init.d
+                SYSTEM_SYSVRCND_PATH=/etc/init.d
+                ;;
+        debian)
+                SYSTEM_SYSVINIT_PATH=/etc/init.d
+                SYSTEM_SYSVRCND_PATH=/etc
+                ;;
+        none)
+                SYSTEM_SYSVINIT_PATH=/etc/fix/the/configure/script
+                SYSTEM_SYSVRCND_PATH=/etc/fix/the/configure/script
+                ;;
+        *)
+                AC_MSG_ERROR([Your distribution (${with_distro}) is not yet supported, SysV init scripts could not be found! (patches welcome); you can specify --with-distro=none to skip this check])
+                ;;
+esac
Нормальные программы можно собрать и запустить на системах, о которых авторы даже и не слышали никогда. А это говно жёстко прописывало поддерживаемые дистры?

Или вот в этом коммите Лёня просит патчить код на C, даже не сборочный скрипт для определения дистра.
commit eb10a76494542fb560efd09c16b40826fc37bc5f
Author: Lennart Poettering <lennart@poettering.net>
Date:   Mon May 17 01:39:51 2010 +0200

    docs: add terse distribution porting guide

diff --git a/DISTRO_PORTING b/DISTRO_PORTING
new file mode 100644
index 0000000..4190538
--- /dev/null
+++ b/DISTRO_PORTING
@@ -0,0 +1,36 @@
+Porting systemd To New Distributions
+
+        You need to make the follow changes to adapt systemd to your
+        distribution:
+
+        0) Make your distribution recognized via the autoconf checks
+        in configure.ac. Grep for the word "fedora" (case
+        insensitively) and you should be able to find the places where
+        you need to add/change things.
+
+        1) Patch src/hostname-setup.c so that systemd knows where to
+        read your host name from.
+
+        2) Check the unit files in units/ if they match your
+        distribution. Most likely you will have to make additions to
+        units/*.m4 and create a copy of units/fedora/ with changes for
+        your distribution.
+
+        3) Adjust Makefile.am to register the unit files you added in
+        step 2. Also you might need to update the m4 invocation in
+        Makefile.am. Grep for the word "fedora" (case insensitively)
+        and you should be able to find the places where you need to
+        add/change things.
+
+        4) Try it out.
+