summaryrefslogtreecommitdiff
path: root/packaging/com.samsung.dbus.spec
blob: f9253623b72f98be164cfd362e8dffe470bb0a5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
Name:		com.samsung.dbus
Summary:	D-Bus message bus with kdbus support
Version:	1.7.5
Release:	0
Group:		System/Libraries
License:	GPLv2+ or AFL
Source0:    	%{name}-%{version}.tar.gz
Source2:	dbus-user.socket
Source3:	dbus-user.service
Source4:	system.conf
Source5:	switch-to-dbus.sh
Source6:	switch-to-kdbus.sh
Source7:	conf_dbus.tar.gz
Source8:	conf_kdbus.tar.gz
BuildRequires:  which
BuildRequires:  expat-devel
BuildRequires:  libtool
BuildRequires:  openssl-devel
BuildRequires:  pkgconfig(x11)


%description
D-Bus message bus with kdbus support

%package libs
Summary:    Libraries for accessing D-Bus
Group:      System/Libraries
#FIXME: This is circular dependency
Requires:   %{name} = %{version}-%{release}

%description libs
Lowlevel libraries for accessing D-Bus.

%package devel
Summary:    Libraries and headers for D-Bus
Group:      Development/Libraries
Requires:   %{name} = %{version}-%{release}
Requires:   pkgconfig

%description devel
Headers and static libraries for D-Bus.

%prep
%setup -q -n %{name}-%{version}


%build
./autogen.sh --enable-abstract-sockets --enable-x11-autolaunch --with-x \
    --enable-kdbus-transport \
    --enable-kdbus-for-sbb \
    --disable-static \
    --exec-prefix=/ \
    --bindir=%{_bindir} \
    --libexecdir=%{_libdir}/dbus-1 \
    --sysconfdir=%{_sysconfdir} \
    --libdir=%{_libdir} \
    --includedir=%{_includedir} \
    --localstatedir=%{_localstatedir} \
    --docdir=%{_docdir} \
    --disable-asserts \
    --disable-xml-docs \
    --disable-selinux \
    --disable-libaudit \
    --enable-tests=no \
    --with-system-pid-file=%{_localstatedir}/run/messagebus.pid \
    --with-dbus-user=root \
    --with-systemdsystemunitdir=%{_libdir}/systemd/system

# When compiled using gbs with --enable-abstract-sockets param autogen.sh creates a config.h in
# /GBS-ROOT/local/BUILD-ROOTS/scratch.armv7l.0 with # /* #undef HAVE_ABSTRACT_SOCKETS */.
# Code changes it to #define HAVE_ABSTRACT_SOCKETS 1.
if grep -q "#define HAVE_ABSTRACT_SOCKETS\s1" config.h; then
	echo HAVE_ABSTRACT_SOCKETS found.
else
	echo HAVE_ABSTRACT_SOCKETS not found. Adding it.
	sed -i 's/\/\* #undef HAVE_ABSTRACT_SOCKETS \*\//#define HAVE_ABSTRACT_SOCKETS 1/' config.h
fi

make %{?jobs:-j%jobs}

%install
%make_install
%remove_docs

install -m644 %{SOURCE4} %{buildroot}/etc/dbus-1/system.conf.systemd
install -m644 %{SOURCE4} %{buildroot}/etc/dbus-1/system.conf

mkdir -p %{buildroot}%{_libdir}/pkgconfig
# Change the arch-deps.h include directory to /usr/lib instead of /lib
sed -e 's@-I${libdir}@-I${prefix}/%{_lib}@' %{buildroot}%{_libdir}/pkgconfig/dbus-1.pc

mkdir -p %{buildroot}%{_datadir}/dbus-1/interfaces

mkdir -p %{buildroot}%{_libdir}/systemd/user
install -m0644 %{SOURCE2} %{buildroot}%{_libdir}/systemd/user/dbus.socket
install -m0644 %{SOURCE3} %{buildroot}%{_libdir}/systemd/user/dbus.service

install -m0755 %{SOURCE5} %{buildroot}%{_bindir}/switch-to-dbus.sh
install -m0755 %{SOURCE6} %{buildroot}%{_bindir}/switch-to-kdbus.sh

tar -xvzf %{SOURCE7} -C %{buildroot}/etc/dbus-1
tar -xvzf %{SOURCE8} -C %{buildroot}/etc/dbus-1

%post
mkdir -p /opt/var/lib/dbus

%post libs -p /sbin/ldconfig

%postun libs -p /sbin/ldconfig

%files
%{_bindir}/dbus-cleanup-sockets
%{_bindir}/dbus-daemon
%{_bindir}/dbus-monitor
%{_bindir}/dbus-send
%{_bindir}/dbus-uuidgen
%{_bindir}/dbus-launch
%{_bindir}/dbus-run-session
%dir %{_sysconfdir}/dbus-1
%config(noreplace) %{_sysconfdir}/dbus-1/session.conf
%dir %{_sysconfdir}/dbus-1/session.d
%config(noreplace) %{_sysconfdir}/dbus-1/system.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.conf.systemd
%dir %{_sysconfdir}/dbus-1/system.d
%dir %{_libdir}/dbus-1
%attr(4750,root,dbus) %{_libdir}/dbus-1/dbus-daemon-launch-helper
%{_libdir}/systemd/system/*
%{_libdir}/systemd/user/*
%dir %{_datadir}/dbus-1
%{_datadir}/dbus-1/interfaces
%{_bindir}/switch-to-dbus.sh
%{_bindir}/switch-to-kdbus.sh
%{_sysconfdir}/dbus-1/conf_dbus
%{_sysconfdir}/dbus-1/conf_kdbus

%files libs
%{_libdir}/libdbus-1.so.3*

%files devel
%{_libdir}/libdbus-1.so
%{_includedir}/dbus-1.0/dbus/dbus*.h
%dir %{_libdir}/dbus-1.0
%{_libdir}/dbus-1.0/include/dbus/dbus-arch-deps.h
%{_libdir}/pkgconfig/dbus-1.pc