usb-moded.spec 15 KB
Newer Older
1
Name:     usb-moded
2
Version:  0.70
3 4 5 6
Release:  0 
Summary:  USB mode controller
Group:    System/System Control
License:  LGPLv2
7
URL:      https://github.com/nemomobile/usb-moded
8
Source0:  %{name}-%{version}.tar.bz2
9
Source1:  usb_moded.conf
10 11 12 13 14 15 16

BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(udev)
BuildRequires: pkgconfig(libkmod)
BuildRequires: doxygen
17
BuildRequires: pkgconfig(libsystemd-daemon)
18 19

Requires: lsof
20
Requires: usb-moded-configs
21
Requires: usb-moded-diagnostics-config
22
Requires: busybox-symlinks-dhcp
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
Requires(post): systemd
Requires(postun): systemd

%description
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

%package devel
Summary:  USB mode controller - development files
Group:    Development/Libraries

%description devel
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the files needed to program for usb_moded.

%package doc
Summary:  USB mode controller - documentation
Group:    Documentation

%description doc
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the documentation.

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
%package developer-mode
Summary:  USB mode controller - developer mode config
Group:  Config

%description developer-mode
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the developer mode config, which enables
usb networking.

%package mtp-mode
Summary:  USB mode controller - mtp mode config
Group:  Config
Requires: buteo-mtp

%description mtp-mode
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the mtp mode config.

%package mass-storage-mode
Summary:  USB mode controller - mass-storage mode config
Group:  Config

%description mass-storage-mode
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the mass-storage mode config.

%package adb-mode
Summary:  USB mode controller - android adb mode config
Group:  Config

%description adb-mode
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the adb config for use with the android
gadget driver.

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
%package diag-mode-android
Summary:  USB mode controller - android diag mode config
Group:  Config

%description diag-mode-android
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the diag config for use with the android
gadget driver.

%package acm-mode-android
Summary:  USB mode controller - android acm mode config
Group:  Config

%description acm-mode-android
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the acm config for use with the android
gadget driver.

133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
%package developer-mode-android
Summary:  USB mode controller - android developer mode config
Group:  Config

%description developer-mode-android
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the developer mode config for use with
the android gadget. This will provide usb networking.

%package mtp-mode-android
Summary:  USB mode controller - android mtp mode config
Group:  Config

%description mtp-mode-android
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the mtp mode config.

158 159 160 161 162 163 164 165 166 167 168 169
%package pc-suite-mode-android
Summary:  USB mode controller - android pc suite  mode config
Group:  Config

%description pc-suite-mode-android
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the android pc suite mode config.

170 171 172 173 174 175 176 177 178 179 180 181
%package at-mode-android
Summary:  USB mode controller - android at modem mode config
Group:  Config

%description at-mode-android
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the android at modem port mode config.

182 183 184 185 186 187 188 189 190 191 192 193 194
%package host-mode-jolla
Summary:  USB mode controller - host mode switch for Jolla
Group:  Config

%description host-mode-jolla
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the config to switch the first Jolla phone 
in host mode.

195
%package defaults
196 197 198 199 200
Summary: USB mode controller - default configuration
Group: Config
Provides: usb-moded-configs
Requires: usb-moded-developer-mode

201
%description defaults
202 203 204 205
This package provides the default configuration for usb-moded, so
basic functionality is provided (i.e. usb networking, ask and charging
modes)

206
%package defaults-android
207 208 209 210 211
Summary: USB mode controller - default configuration
Group: Config
Provides: usb-moded-configs
Requires: usb-moded-developer-mode-android

212
%description defaults-android
213 214 215 216
This package provides the default configuration for usb-moded, so
basic functionality is provided (i.e. usb networking, ask and charging
modes with the android gadget driver)

217
%package diagnostics-config
218 219 220
Summary: USB mode controller - config data for diagnostics mode
Group: Config

221
%description diagnostics-config
222 223 224
This package contains the diagnostics info needed to configure a
diagnotic mode

225 226 227 228 229 230 231 232 233 234 235 236 237
%package connection-sharing-android-config
Summary:  USB mode controller - USB/cellular data connection sharing config
Group:  Config

%description connection-sharing-android-config
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains configuration to enable sharing the cellular data
connection over the USB with the android gadget driver.

238 239 240 241 242 243 244 245 246 247 248 249 250
%package connection-sharing-android-connman-config
Summary:  USB mode controller - USB/cellular data connection sharing config
Group:  Config

%description connection-sharing-android-connman-config
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains configuration to enable sharing the cellular data
connection over the USB with the connman gadget driver.

251 252 253 254 255 256 257 258 259 260 261 262
%package mass-storage-android-config
Summary:  USB mode controller - mass-storage config with android gadget
Group:  Config

%description mass-storage-android-config
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains configuration to enable sharing over mass-storage
with the android gadget driver.
263

264 265 266 267 268 269 270 271 272 273 274 275 276 277
%package vfat-android-config
Summary:  USB mode controller - vfat config with tojblockd
Group:  Config
Requires: tojblockd

%description vfat-android-config
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains configuration to enable sharing over vfat
emulation with tojblockd and nbd.

278 279 280 281 282 283 284 285 286 287 288 289 290 291
%package systemd-rescue-mode
Summary: USB mode controller - systemd rescue mode support
Group:	Config

%Description systemd-rescue-mode
Usb_moded is a daemon to control the USB states. For this
it loads unloads the relevant usb gadget modules, keeps track
of the filesystem(s) and notifies about changes on the DBUS
system bus.

This package contains the configuration files for systemd to 
provide the rescue mode, so device does not get locked down
when the UI fails.

292 293 294 295 296
%prep
%setup -q

%build
%autogen
297
%configure --enable-app-sync --enable-meegodevlock --enable-debug --enable-connman --enable-systemd
298 299 300 301 302 303 304
make all doc %{?_smp_mflags}

%install
%make_install
install -m 644 -D src/usb_moded-dbus.h %{buildroot}/%{_includedir}/%{name}/usb_moded-dbus.h
install -m 644 -D src/usb_moded-modes.h %{buildroot}/%{_includedir}/%{name}/usb_moded-modes.h
install -m 644 -D src/usb_moded-appsync-dbus.h %{buildroot}/%{_includedir}/%{name}/usb_moded-appsync-dbus.h
305
install -m 644 -D src/com.meego.usb_moded.xml %{buildroot}/%{_includedir}/%{name}/com.meego.usb_moded.xml
306 307 308
install -m 644 -D usb_moded.pc %{buildroot}/%{_libdir}/pkgconfig/usb_moded.pc
install -d %{buildroot}/%{_docdir}/%{name}/html/
install -m 644 docs/html/* %{buildroot}/%{_docdir}/%{name}/html/
309
install -m 644 docs/usb_moded-doc.txt %{buildroot}/%{_docdir}/%{name}/
310 311
install -m 644 -D debian/manpage.1 %{buildroot}/%{_mandir}/man1/usb-moded.1
install -m 644 -D debian/usb_moded.conf %{buildroot}/%{_sysconfdir}/dbus-1/system.d/usb_moded.conf
312
install -m 644 -D %{SOURCE1} %{buildroot}/%{_sysconfdir}/modprobe.d/usb_moded.conf
313 314
install -d %{buildroot}/%{_sysconfdir}/usb-moded
install -d %{buildroot}/%{_sysconfdir}/usb-moded/run
315
install -d %{buildroot}/%{_sysconfdir}/usb-moded/run-diag
316
install -d %{buildroot}/%{_sysconfdir}/usb-moded/dyn-modes
317
install -d %{buildroot}/%{_sysconfdir}/usb-moded/diag
318
install -m 644 -D config/dyn-modes/* %{buildroot}/%{_sysconfdir}/usb-moded/dyn-modes/
319
install -m 644 -D config/diag/* %{buildroot}/%{_sysconfdir}/usb-moded/diag/
320
install -m 644 -D config/run/* %{buildroot}/%{_sysconfdir}/usb-moded/run/
321
install -m 644 -D config/run-diag/* %{buildroot}/%{_sysconfdir}/usb-moded/run-diag/
322
install -m 644 -D config/mass-storage-jolla.ini %{buildroot}/%{_sysconfdir}/usb-moded/
323 324

touch %{buildroot}/%{_sysconfdir}/modprobe.d/g_ether.conf
325
touch %{buildroot}/%{_sysconfdir}/udhcpd.conf
326 327 328 329 330
#systemd stuff
install -d $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants/
install -m 644 -D systemd/%{name}.service %{buildroot}/lib/systemd/system/%{name}.service
ln -s ../%{name}.service $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants/%{name}.service
install -m 644 -D systemd/usb-moded-args.conf %{buildroot}/var/lib/environment/usb-moded/usb-moded-args.conf
331
install -m 755 -D systemd/turn-usb-rescue-mode-off %{buildroot}/%{_bindir}/turn-usb-rescue-mode-off
332 333
install -m 644 -D systemd/usb-rescue-mode-off.service %{buildroot}/lib/systemd/system/usb-rescue-mode-off.service
install -m 644 -D systemd/usb-rescue-mode-off.service %{buildroot}/lib/systemd/system/graphical.target.wants/usb-rescue-mode-off.service
334
install -m 644 -D systemd/usb-moded.conf %{buildroot}/%{_sysconfdir}/tmpfiles.d/usb-moded.conf
335 336


337
%preun
338
systemctl daemon-reload || :
339 340

%post
341
systemctl daemon-reload || :
342 343 344 345

%files
%defattr(-,root,root,-)
%doc debian/copyright
346 347 348
%dir %{_sysconfdir}/usb-moded
%dir %{_sysconfdir}/usb-moded/dyn-modes
%dir %{_sysconfdir}/usb-moded/run
349 350
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/usb_moded.conf
%config(noreplace) %{_sysconfdir}/modprobe.d/usb_moded.conf
351
%ghost %config(noreplace) %{_sysconfdir}/modprobe.d/g_ether.conf
352
%ghost %{_sysconfdir}/udhcpd.conf
353 354 355 356
%{_sbindir}/usb_moded
%{_sbindir}/usb_moded_util
%{_mandir}/man1/usb-moded.1.gz
/lib/systemd/system/%{name}.service
Pekka Lundstrom's avatar
Pekka Lundstrom committed
357
/lib/systemd/system/basic.target.wants/%{name}.service
358
%config %{_sysconfdir}/tmpfiles.d/usb-moded.conf
359 360 361 362 363 364 365 366 367 368

%files devel
%defattr(-,root,root,-)
%doc debian/copyright
%{_includedir}/%{name}/*
%{_libdir}/pkgconfig/usb_moded.pc

%files doc
%defattr(-,root,root,-)
%doc debian/changelog debian/copyright LICENSE
369
%{_docdir}/%{name}/*
370 371
%{_docdir}/%{name}/html/*

372 373 374 375 376 377 378 379 380 381 382 383 384
%files developer-mode
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/developer_mode.ini

%files mtp-mode
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/mtp_mode.ini
%{_sysconfdir}/usb-moded/run/mtp.ini

%files mass-storage-mode
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/mass-storage.ini

385 386 387 388 389 390 391 392 393
%files diag-mode-android
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/diag_mode.ini
%{_sysconfdir}/usb-moded/run/adb-diag.ini

%files acm-mode-android
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/android_acm.ini

394 395 396
%files developer-mode-android
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/developer_mode-android.ini
397
%{_sysconfdir}/usb-moded/run/udhcpd-developer-mode.ini
398 399 400 401 402 403 404 405 406 407

%files adb-mode
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/adb_mode.ini
%{_sysconfdir}/usb-moded/run/adb.ini

%files mtp-mode-android
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/mtp_mode-android.ini

408 409 410 411
%files pc-suite-mode-android
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/pc_suite-android.ini

412 413 414 415
%files at-mode-android
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/android_at.ini

416
%files defaults
417 418
%defattr(-,root,root,-)

419
%files defaults-android
420 421
%defattr(-,root,root,-)

422
%files diagnostics-config
423
%defattr(-,root,root,-)
424 425
%dir %{_sysconfdir}/usb-moded/diag
%dir %{_sysconfdir}/usb-moded/run-diag
426
%{_sysconfdir}/usb-moded/diag/qa_diagnostic_mode.ini
427
%{_sysconfdir}/usb-moded/run-diag/qa-diagnostic.ini
428 429 430

%files connection-sharing-android-config
%defattr(-,root,root,-)
431 432 433
%{_sysconfdir}/usb-moded/dyn-modes/connection_sharing.ini
%{_sysconfdir}/usb-moded/run/udhcpd-connection-sharing.ini

434 435 436 437
%files connection-sharing-android-connman-config
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/connection_sharing-android-connman.ini

438 439 440 441
%files mass-storage-android-config
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/mass_storage_android.ini
%{_sysconfdir}/usb-moded/mass-storage-jolla.ini
442

443 444 445 446 447
%files vfat-android-config
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/vfat_android.ini
%{_sysconfdir}/usb-moded/run/vfat.ini

448 449 450
%files host-mode-jolla
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/host_mode_jolla.ini
451 452 453 454 455 456 457

%files systemd-rescue-mode
%defattr(-,root,root,-)
/var/lib/environment/usb-moded/usb-moded-args.conf
%{_bindir}/turn-usb-rescue-mode-off
/lib/systemd/system/usb-rescue-mode-off.service
/lib/systemd/system/graphical.target.wants/usb-rescue-mode-off.service