# SliTaz package receipt.

PACKED_SIZE="200.0K"
UNPACKED_SIZE="776.0K"
PACKAGE="dbus"
VERSION="1.12.20"
CATEGORY="x-window"
SHORT_DESC="A message bus system."
MAINTAINER="pankso@slitaz.org"
LICENSE="GPL2"
WEB_SITE="https://www.freedesktop.org/wiki/Software/dbus/"

TARBALL="$PACKAGE-$VERSION.tar.gz"
WGET_URL="https://dbus.freedesktop.org/releases/dbus/$TARBALL"

DEPENDS="expat slitaz-base-files util-linux-uuid xorg-libICE 
	xorg-libSM xorg-libX11 xorg-libXau xorg-libXdmcp"
BUILD_DEPENDS="expat-dev util-linux-uuid-dev xorg-libX11-dev"

HOST_ARCH="i486 arm"

current_version()
{
	local branch=$(wget -O - $WEB_SITE 2>/dev/null | sed '/>stable</!d;s|.*dbus-||;s|/NEWS.*||')
	wget -O - $(dirname $WGET_URL) 2>/dev/null | \
	sed "/dbus-$branch/!d;s|.*dbus-||;s|.tar.*||" | sed '$!d'
}

# Rules to configure and make the package.
compile_rules()
{
	./configure				\
		--libexecdir=/usr/lib/dbus	\
		--sysconfdir=/etc		\
		--localstatedir=/var		\
		$CONFIGURE_ARGS &&
	make &&
	make install
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
	mkdir -p $fs/usr/lib
	mkdir -p $fs/usr/share

	cp -a $install/etc		$fs
	cp -a $install/var		$fs
	cp -a $install/usr/bin		$fs/usr
	cp -a $install/usr/lib/*.so*	$fs/usr/lib
	cp -a $install/usr/lib/dbus	$fs/usr/lib
	cp -a $install/usr/share/dbus*	$fs/usr/share

	# Init script
	cp -a $stuff/etc		$fs

	# Remove helper --> dbus-helper
	rm				$fs/usr/lib/dbus/dbus-daemon-launch-helper

	chown -R root:root		$fs
}

pre_install()
{
	# Go for echoing on configuration files if any messagebus user
	# was found.
	if ! grep -qs 'messagebus' "$1/etc/passwd"
	  then
		action 'Adding user: messagebus...'
		echo 'messagebus:x:25:25:DBUS Daemon User:/dev/null:/bin/false' >> "$1/etc/passwd"
		echo 'messagebus:!:14013:0:99999:7:::' >> "$1/etc/shadow"
		echo 'messagebus:x:25:' >> "$1/etc/group"
		echo 'messagebus:!::' >> "$1/etc/gshadow"
		status
	fi
	if ! grep -qs ^DBUS_OPTIONS "$1/etc/daemons.conf"
	  then
		action 'Configuring %s/etc/daemons.conf...' "$1"
		cat >> "$1/etc/daemons.conf" << "EOT"
# DBUS daemon options.
DBUS_OPTIONS="--system"

EOT
		status
	fi

	[ -d "$1/var/run" ] || mkdir -p "$1/var/run"
}

pre_remove()
{
	if [ -z "$1" ]
	  then
		/etc/init.d/dbus stop 2> /dev/null
		deluser messagebus
	fi
}
