mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
ubuntu: Treat Ubuntu as a distinct distro in configure.ac etc
Previously Ubuntu was treated as being equivalent to Debian, but the two distributions require different behaviour in certain places. This commit does not change the behaviour of systemd on either distro but it creates a framework for changes to be introduced by later commits. The following previously meant "Target is Debian or Ubuntu". * configure option "--with-distro=debian" * C preprocessor symbol "TARGET_DEBIAN" * Automake conditional "TARGET_DEBIAN" After this commit, all of the above are redefined to mean "Target is Debian" The following are introduced to mean "Target is Ubuntu". * configure option "--with-distro=ubuntu" * C preprocessor symbol "TARGET_UBUNTU" * Automake conditional "TARGET_UBUNTU" Most code written for Debian will also be applicable to Ubuntu. An extra Automake conditional "TARGET_DEBIAN_OR_UBUNTU" is introduced to avoid duplication of code that would otherwise occur. This commit updates configure.ac, Makefile.am and distro-specific source files in line with the above definitions.
This commit is contained in:
parent
1104f3c160
commit
858dae181b
@ -303,7 +303,7 @@ dist_systemunit_DATA += \
|
||||
units/fedora/plymouth-halt.service
|
||||
endif
|
||||
|
||||
if TARGET_DEBIAN
|
||||
if TARGET_DEBIAN_OR_UBUNTU
|
||||
dist_systemunit_DATA += \
|
||||
units/debian/fsck.target \
|
||||
units/debian/umountfs.service \
|
||||
@ -1218,7 +1218,7 @@ if TARGET_GENTOO
|
||||
rm -f xdm.service && \
|
||||
$(LN_S) $(systemunitdir)/xdm.service xdm.service )
|
||||
endif
|
||||
if TARGET_DEBIAN
|
||||
if TARGET_DEBIAN_OR_UBUNTU
|
||||
$(MKDIR_P) -m 0755 \
|
||||
$(DESTDIR)$(systemunitdir)/umount.target.wants
|
||||
( cd $(DESTDIR)$(systemunitdir)/umount.target.wants && \
|
||||
@ -1232,11 +1232,13 @@ if TARGET_DEBIAN
|
||||
endif
|
||||
if !TARGET_SUSE
|
||||
if !TARGET_DEBIAN
|
||||
if !TARGET_UBUNTU
|
||||
( cd $(DESTDIR)$(systemunitdir) && \
|
||||
rm -f fsck.target && \
|
||||
$(LN_S) sysinit.target fsck.target )
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \
|
||||
|
15
configure.ac
15
configure.ac
@ -251,7 +251,7 @@ AM_CONDITIONAL(HAVE_XSLTPROC, test x"$XSLTPROC" != x)
|
||||
|
||||
AC_PATH_PROG([M4], [m4])
|
||||
|
||||
AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, arch, gentoo, slackware or other]))
|
||||
AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware or other]))
|
||||
if test "z$with_distro" = "z"; then
|
||||
if test "$cross_compiling" = yes; then
|
||||
AC_MSG_WARN([Target distribution cannot be reliably detected when cross-compiling. You should specify it with --with-distro (see $0 --help for recognized distros)])
|
||||
@ -259,6 +259,9 @@ if test "z$with_distro" = "z"; then
|
||||
AC_CHECK_FILE(/etc/redhat-release,with_distro="fedora")
|
||||
AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse")
|
||||
AC_CHECK_FILE(/etc/debian_version,with_distro="debian")
|
||||
if test "x`lsb_release -is 2>/dev/null`" = "xUbuntu"; then
|
||||
with_distro="ubuntu"
|
||||
fi
|
||||
AC_CHECK_FILE(/etc/arch-release,with_distro="arch")
|
||||
AC_CHECK_FILE(/etc/gentoo-release,with_distro="gentoo")
|
||||
AC_CHECK_FILE(/etc/slackware-version,with_distro="slackware")
|
||||
@ -305,9 +308,15 @@ case $with_distro in
|
||||
debian)
|
||||
SYSTEM_SYSVRCND_PATH=/etc
|
||||
SPECIAL_SYSLOG_SERVICE=rsyslog.service
|
||||
AC_DEFINE(TARGET_DEBIAN, [], [Target is Debian/Ubuntu])
|
||||
AC_DEFINE(TARGET_DEBIAN, [], [Target is Debian])
|
||||
M4_DISTRO_FLAG=-DTARGET_DEBIAN=1
|
||||
;;
|
||||
ubuntu)
|
||||
SYSTEM_SYSVRCND_PATH=/etc
|
||||
SPECIAL_SYSLOG_SERVICE=rsyslog.service
|
||||
AC_DEFINE(TARGET_UBUNTU, [], [Target is Ubuntu])
|
||||
M4_DISTRO_FLAG=-DTARGET_UBUNTU=1
|
||||
;;
|
||||
arch)
|
||||
SYSTEM_SYSVINIT_PATH=/etc/rc.d
|
||||
SYSTEM_SYSVRCND_PATH=/etc
|
||||
@ -372,6 +381,8 @@ fi
|
||||
AM_CONDITIONAL(TARGET_FEDORA, test x"$with_distro" = xfedora)
|
||||
AM_CONDITIONAL(TARGET_SUSE, test x"$with_distro" = xsuse)
|
||||
AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian)
|
||||
AM_CONDITIONAL(TARGET_UBUNTU, test x"$with_distro" = xubuntu)
|
||||
AM_CONDITIONAL(TARGET_DEBIAN_OR_UBUNTU, test x"$with_distro" = xdebian -o x"$with_distro" = xubuntu)
|
||||
AM_CONDITIONAL(TARGET_ARCH, test x"$with_distro" = xarch)
|
||||
AM_CONDITIONAL(TARGET_GENTOO, test x"$with_distro" = xgentoo)
|
||||
AM_CONDITIONAL(TARGET_SLACKWARE, test x"$with_distro" = xslackware)
|
||||
|
@ -135,7 +135,7 @@ int locale_setup(void) {
|
||||
log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r));
|
||||
}
|
||||
|
||||
#elif defined(TARGET_DEBIAN)
|
||||
#elif defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU)
|
||||
if (r <= 0 &&
|
||||
(r = parse_env_file("/etc/default/locale", NEWLINE,
|
||||
"LANG", &variables[VARIABLE_LANG],
|
||||
|
@ -65,7 +65,7 @@ static const struct {
|
||||
{ "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT },
|
||||
#endif
|
||||
|
||||
#ifdef TARGET_DEBIAN
|
||||
#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU)
|
||||
/* Debian style rcS.d */
|
||||
{ "rcS.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT },
|
||||
#endif
|
||||
@ -274,7 +274,7 @@ static int sysv_translate_facility(const char *name, const char *filename, char
|
||||
"time", SPECIAL_RTC_SET_TARGET,
|
||||
|
||||
/* Debian extensions */
|
||||
#ifdef TARGET_DEBIAN
|
||||
#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU)
|
||||
"mail-transport-agent", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
|
||||
#endif
|
||||
"mail-transfer-agent", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
|
||||
|
@ -8,6 +8,7 @@
|
||||
m4_ifdef(`TARGET_FEDORA', `m4_define(`GETTY', `/sbin/mingetty')')m4_dnl
|
||||
m4_ifdef(`TARGET_SUSE', `m4_define(`GETTY', `/sbin/mingetty')')m4_dnl
|
||||
m4_ifdef(`TARGET_DEBIAN', `m4_define(`GETTY', `/sbin/getty 38400')')m4_dnl
|
||||
m4_ifdef(`TARGET_UBUNTU', `m4_define(`GETTY', `/sbin/getty 38400')')m4_dnl
|
||||
m4_ifdef(`TARGET_GENTOO', `m4_define(`GETTY', `/sbin/agetty 38400')')m4_dnl
|
||||
m4_ifdef(`TARGET_ARCH', `m4_define(`GETTY', `/sbin/agetty -8 38400')')m4_dnl
|
||||
m4_dnl
|
||||
|
@ -21,9 +21,11 @@ m4_ifdef(`TARGET_SUSE',
|
||||
Names=runlevel3.target
|
||||
)m4_dnl
|
||||
m4_ifdef(`TARGET_DEBIAN',
|
||||
m4_dnl On Debian Runlevel 2, 3, 4 and 5 are multi-user
|
||||
m4_ifdef(`TARGET_UBUNTU',
|
||||
m4_dnl On Debian/Ubuntu Runlevel 2, 3, 4 and 5 are multi-user
|
||||
Names=runlevel2.target runlevel3.target runlevel4.target runlevel5.target
|
||||
)m4_dnl
|
||||
)m4_dnl
|
||||
AllowIsolate=yes
|
||||
|
||||
[Install]
|
||||
|
Loading…
Reference in New Issue
Block a user