summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am6
-rw-r--r--configure.ac15
-rw-r--r--src/locale-setup.c2
-rw-r--r--src/service.c4
-rw-r--r--units/getty@.service.m41
-rw-r--r--units/multi-user.target.m44
6 files changed, 24 insertions, 8 deletions
diff --git a/Makefile.am b/Makefile.am
index 77d1fc938f..b6cae4109b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -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) \
diff --git a/configure.ac b/configure.ac
index 4f22b1b3da..a9f9e1afd8 100644
--- a/configure.ac
+++ b/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)
diff --git a/src/locale-setup.c b/src/locale-setup.c
index ffb4ee999e..b3375e99b1 100644
--- a/src/locale-setup.c
+++ b/src/locale-setup.c
@@ -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],
diff --git a/src/service.c b/src/service.c
index 6d6c540a72..7a522bf3f4 100644
--- a/src/service.c
+++ b/src/service.c
@@ -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,
diff --git a/units/getty@.service.m4 b/units/getty@.service.m4
index 4691ea7bfe..98c6a88213 100644
--- a/units/getty@.service.m4
+++ b/units/getty@.service.m4
@@ -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
diff --git a/units/multi-user.target.m4 b/units/multi-user.target.m4
index cf290e7cf5..8f8903f2cc 100644
--- a/units/multi-user.target.m4
+++ b/units/multi-user.target.m4
@@ -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]