usb-moded.spec 17 KB
Newer Older
1
Name:     usb-moded
spiiroin's avatar
spiiroin committed
2
Version:  0.86.0+mer24
3
Release:  2
4 5 6
Summary:  USB mode controller
Group:    System/System Control
License:  LGPLv2
Lourens-Rich's avatar
Lourens-Rich committed
7
URL:      https://git.merproject.org/mer-core/usb-moded
8
Source0:  %{name}-%{version}.tar.bz2
9
Source1:  usb_moded.conf
10 11 12 13

BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(glib-2.0)
14
BuildRequires: pkgconfig(libudev)
15 16
BuildRequires: pkgconfig(libkmod)
BuildRequires: doxygen
17
BuildRequires: pkgconfig(libsystemd)
18
BuildRequires: pkgconfig(ssu-sysinfo)
19
BuildRequires: pkgconfig(dsme) >= 0.65.0
20 21

Requires: lsof
22
Requires: usb-moded-configs
23
Requires: busybox-symlinks-dhcp
24 25
Requires(post): systemd
Requires(postun): systemd
26
Conflicts: dsme < 0.79.0
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

%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.

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
%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.

109 110 111 112 113 114 115 116 117 118 119 120 121
%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.

122
%package diag-mode-androidv5-qcom
123 124 125
Summary:  USB mode controller - android v5 or newer diag mode config for qcom
Group:  Config

126
%description diag-mode-androidv5-qcom
127 128 129 130 131 132 133 134 135
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.


136 137 138 139 140 141 142 143 144 145 146 147 148
%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.

149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
%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.

174 175 176 177 178 179 180 181 182 183 184 185 186 187
%package mtp-mode-android-ffs
Summary:  USB mode controller - droid mtp mode config
Group:  Config

%description mtp-mode-android-ffs
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 for devices that
have android kernel but still implement mtp functionality
via ffs.

188 189 190 191 192 193 194 195 196 197 198 199
%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.

200 201 202 203 204 205 206 207 208 209 210 211
%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.

212 213 214 215 216 217 218 219 220 221 222 223 224
%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.

225
%package defaults
226 227 228 229 230
Summary: USB mode controller - default configuration
Group: Config
Provides: usb-moded-configs
Requires: usb-moded-developer-mode

231
%description defaults
232 233 234 235
This package provides the default configuration for usb-moded, so
basic functionality is provided (i.e. usb networking, ask and charging
modes)

236
%package defaults-android
237 238 239 240 241
Summary: USB mode controller - default configuration
Group: Config
Provides: usb-moded-configs
Requires: usb-moded-developer-mode-android

242
%description defaults-android
243 244 245 246
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)

247
%package diagnostics-config
248 249 250
Summary: USB mode controller - config data for diagnostics mode
Group: Config

251
%description diagnostics-config
252 253 254
This package contains the diagnostics info needed to configure a
diagnotic mode

255 256 257 258 259 260 261 262 263 264 265 266 267
%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.

268 269 270 271 272 273 274 275 276 277 278 279 280
%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.

281 282 283 284 285 286 287 288 289 290 291 292
%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.
293

294 295 296 297 298 299 300 301 302 303 304 305 306 307
%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.

308 309 310 311 312 313 314 315 316 317 318 319 320 321
%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.

322 323 324 325
%prep
%setup -q

%build
326 327
test -e Makefile || (%autogen)
test -e Makefile || (%configure --enable-app-sync --enable-meegodevlock --enable-debug --enable-connman --enable-systemd --enable-mer-ssu)
328 329 330 331 332 333 334
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
335
install -m 644 -D src/com.meego.usb_moded.xml %{buildroot}/%{_includedir}/%{name}/com.meego.usb_moded.xml
336 337 338
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/
339
install -m 644 docs/usb_moded-doc.txt %{buildroot}/%{_docdir}/%{name}/
340 341
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
342
install -m 644 -D %{SOURCE1} %{buildroot}/%{_sysconfdir}/modprobe.d/usb_moded.conf
343 344
install -d %{buildroot}/%{_sysconfdir}/usb-moded
install -d %{buildroot}/%{_sysconfdir}/usb-moded/run
345
install -d %{buildroot}/%{_sysconfdir}/usb-moded/run-diag
346
install -d %{buildroot}/%{_sysconfdir}/usb-moded/dyn-modes
347
install -d %{buildroot}/%{_sysconfdir}/usb-moded/diag
348
install -m 644 -D config/dyn-modes/* %{buildroot}/%{_sysconfdir}/usb-moded/dyn-modes/
349
install -m 644 -D config/diag/* %{buildroot}/%{_sysconfdir}/usb-moded/diag/
350
install -m 644 -D config/run/* %{buildroot}/%{_sysconfdir}/usb-moded/run/
351
install -m 644 -D config/run-diag/* %{buildroot}/%{_sysconfdir}/usb-moded/run-diag/
352
install -m 644 -D config/mass-storage-jolla.ini %{buildroot}/%{_sysconfdir}/usb-moded/
353 354

touch %{buildroot}/%{_sysconfdir}/modprobe.d/g_ether.conf
355
touch %{buildroot}/%{_sysconfdir}/udhcpd.conf
356 357 358 359
#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
360 361
install -d %{buildroot}/usr/lib/systemd/user
install -m 644 -D systemd/buteo-mtpd.service %{buildroot}/usr/lib/systemd/user/buteo-mtpd.service
362
install -m 644 -D systemd/usb-moded-args.conf %{buildroot}/var/lib/environment/usb-moded/usb-moded-args.conf
363
install -m 755 -D systemd/turn-usb-rescue-mode-off %{buildroot}/%{_bindir}/turn-usb-rescue-mode-off
364 365
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
366
install -m 644 -D systemd/usb-moded.conf %{buildroot}/%{_sysconfdir}/tmpfiles.d/usb-moded.conf
367 368 369
install -m 644 -D systemd/adbd-prepare.service %{buildroot}/lib/systemd/system/adbd-prepare.service
install -m 644 -D systemd/adbd-prepare.service %{buildroot}/lib/systemd/system/graphical.target.wants/adbd-prepare.service
install -m 744 -D systemd/adbd-functionfs.sh %{buildroot}/usr/sbin/adbd-functionfs.sh
370

371
%preun
372
systemctl daemon-reload || :
373 374

%post
375
systemctl daemon-reload || :
376 377 378 379

%files
%defattr(-,root,root,-)
%doc debian/copyright
380 381 382
%dir %{_sysconfdir}/usb-moded
%dir %{_sysconfdir}/usb-moded/dyn-modes
%dir %{_sysconfdir}/usb-moded/run
383 384
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/usb_moded.conf
%config(noreplace) %{_sysconfdir}/modprobe.d/usb_moded.conf
385
%ghost %config(noreplace) %{_sysconfdir}/modprobe.d/g_ether.conf
386
%ghost %{_sysconfdir}/udhcpd.conf
387 388 389 390
%{_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
391
/lib/systemd/system/basic.target.wants/%{name}.service
392
/usr/lib/systemd/user/buteo-mtpd.service
393
%config %{_sysconfdir}/tmpfiles.d/usb-moded.conf
394 395 396 397 398 399 400 401 402 403

%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
404
%{_docdir}/%{name}/*
405 406
%{_docdir}/%{name}/html/*

407 408 409 410 411 412 413 414 415 416 417 418 419
%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

420 421
%files diag-mode-android
%defattr(-,root,root,-)
422 423 424
%{_sysconfdir}/usb-moded/dyn-modes/diag_mode_old.ini
%{_sysconfdir}/usb-moded/run/adb-diag.ini

425
%files diag-mode-androidv5-qcom
426
%defattr(-,root,root,-)
427 428
%{_sysconfdir}/usb-moded/dyn-modes/diag_mode.ini
%{_sysconfdir}/usb-moded/run/adb-diag.ini
429
%{_sysconfdir}/usb-moded/run/diag-adb-prepare.ini
430 431 432 433 434

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

435 436 437
%files developer-mode-android
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/developer_mode-android.ini
438
%{_sysconfdir}/usb-moded/run/udhcpd-developer-mode.ini
439 440 441 442

%files adb-mode
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/adb_mode.ini
443 444
%{_sysconfdir}/usb-moded/run/adb-startserver.ini
%{_sysconfdir}/usb-moded/run/adb-prepare.ini
445
%{_sysconfdir}/usb-moded/run/udhcpd-adb-mode.ini
446 447 448
/lib/systemd/system/adbd-prepare.service
/lib/systemd/system/graphical.target.wants/adbd-prepare.service
/usr/sbin/adbd-functionfs.sh
449 450 451 452 453

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

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

458 459 460 461
%files pc-suite-mode-android
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/pc_suite-android.ini

462 463 464 465
%files at-mode-android
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/android_at.ini

466
%files defaults
467 468
%defattr(-,root,root,-)

469
%files defaults-android
470 471
%defattr(-,root,root,-)

472
%files diagnostics-config
473
%defattr(-,root,root,-)
474 475
%dir %{_sysconfdir}/usb-moded/diag
%dir %{_sysconfdir}/usb-moded/run-diag
476
%{_sysconfdir}/usb-moded/diag/qa_diagnostic_mode.ini
477
%{_sysconfdir}/usb-moded/run-diag/qa-diagnostic.ini
478 479 480

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

484 485 486 487
%files connection-sharing-android-connman-config
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/connection_sharing-android-connman.ini

488 489 490 491
%files mass-storage-android-config
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/mass_storage_android.ini
%{_sysconfdir}/usb-moded/mass-storage-jolla.ini
492

493 494 495 496 497
%files vfat-android-config
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/vfat_android.ini
%{_sysconfdir}/usb-moded/run/vfat.ini

498 499 500
%files host-mode-jolla
%defattr(-,root,root,-)
%{_sysconfdir}/usb-moded/dyn-modes/host_mode_jolla.ini
501 502 503 504 505 506 507

%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