Adding the system-plugin-headless. 23/100423/2 accepted/tizen/common/20161129.104300 accepted/tizen/ivi/20161130.015004 accepted/tizen/mobile/20161130.014904 accepted/tizen/tv/20161130.014928 accepted/tizen/wearable/20161130.014945 submit/tizen/20161129.011323
authorwchang kim <wchang.kim@samsung.com>
Mon, 28 Nov 2016 05:59:12 +0000 (14:59 +0900)
committerwchang kim <wchang.kim@samsung.com>
Mon, 28 Nov 2016 23:18:56 +0000 (08:18 +0900)
It is required for Tizen IoT minimal set.
It includes a udev ruls of sdb, a shell script to run sdbd and
XDG_RUNTIME_DIR environment.

Change-Id: I24d85c2351c50787eee7b86f0f37ebb877e13d0e

packaging/system-plugin.spec
rules/99-sdb-switch.rules
scripts/headless_env.sh [new file with mode: 0644]
scripts/sdb-mode.sh [new file with mode: 0644]

index 2887f7aa7756e50f70fb6f547fb5f6216a70e14e..d65ac9e8c08fa7e178aeb173e7269eae5008ad28 100644 (file)
@@ -15,7 +15,6 @@ Source2:   liblazymount.manifest
 Source3:   systemd-user-helper.manifest
 
 Requires(post): /usr/bin/systemctl
-Requires(post): /usr/bin/vconftool
 BuildRequires: pkgconfig(vconf)
 BuildRequires: pkgconfig(libsystemd)
 BuildRequires: pkgconfig(libtzplatform-config)
@@ -68,6 +67,7 @@ This package provides Circle specific system configuration files.
 %package -n liblazymount
 Summary: Library for lazy mount feature
 License: Apache-2.0
+Requires(post): /usr/bin/vconftool
 Requires: vconf
 Requires: liblazymount = %{version}
 
@@ -113,6 +113,14 @@ BuildArch: noarch
 %description init_wrapper
 This package provides init.wrapper and init symlink file for init wrapper booting.
 
+%package headless
+Summary: Support headless device.
+Requires: %{name} = %{version}-%{release}
+BuildArch: noarch
+
+%description headless
+This package provides the functions for headless device.
+
 %prep
 %setup -q
 
@@ -197,6 +205,13 @@ ln -s %{_datadir}/upgrade %{buildroot}/system-update
 mkdir -p %{buildroot}%{_sbindir}
 install -m 755 scripts/init.wrapper %{buildroot}%{_sbindir}
 
+# headless
+mkdir -p %{buildroot}%{_sbindir}
+install -m 755 scripts/sdb-mode.sh %{buildroot}%{_bindir}
+mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
+install -m 644 rules/99-sdb-switch.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
+mkdir -p %{buildroot}%{_sysconfdir}/profile.d
+install -m 755 scripts/headless_env.sh %{buildroot}%{_sysconfdir}/profile.d
 %clean
 rm -rf %{buildroot}
 
@@ -332,3 +347,9 @@ echo 'RemainAfterExit=yes' >> /usr/lib/systemd/system/user\@.service
 %posttrans init_wrapper
 rm -f /sbin/init
 ln -s /sbin/init.wrapper /sbin/init
+
+
+%files headless
+%{_bindir}/sdb-mode.sh
+%{_prefix}/lib/udev/rules.d/99-sdb-switch.rules
+%{_sysconfdir}/profile.d/headless_env.sh
index 75238f5fa00396f056abe6063f54a7e6132d5e7a..00804a04f0e6dad515421c8259984c6d0b02dd38 100644 (file)
@@ -1,2 +1,2 @@
-SUBSYSTEM=="switch", ATTR{name}=="usb_cable", ATTR{state}=="1", RUN+="/usr/bin/direct_set_debug.sh --sdb-set"
-SUBSYSTEM=="switch", ATTR{name}=="usb_cable", ATTR{state}=="0", RUN+="/usr/bin/direct_set_debug.sh --sdb-unset"
+SUBSYSTEM=="switch", ATTR{name}=="usb_cable", ATTR{state}=="1", RUN+="/usr/bin/sdb-mode.sh --on"
+SUBSYSTEM=="switch", ATTR{name}=="usb_cable", ATTR{state}=="0", RUN+="/usr/bin/sdb-mode.sh --off"
diff --git a/scripts/headless_env.sh b/scripts/headless_env.sh
new file mode 100644 (file)
index 0000000..5af9a52
--- /dev/null
@@ -0,0 +1,4 @@
+if [ "$XDG_RUNTIME_DIR" = "" ]
+then
+export XDG_RUNTIME_DIR=/run
+fi
diff --git a/scripts/sdb-mode.sh b/scripts/sdb-mode.sh
new file mode 100644 (file)
index 0000000..54d2253
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+
+case "$1" in
+       "--on")
+               echo 0 > /sys/class/usb_mode/usb0/enable
+               echo 04e8 > /sys/class/usb_mode/usb0/idVendor
+               echo 6860 > /sys/class/usb_mode/usb0/idProduct
+               echo "sdb" > /sys/class/usb_mode/usb0/funcs_fconf
+               echo 239 > /sys/class/usb_mode/usb0/bDeviceClass
+               echo 2 > /sys/class/usb_mode/usb0/bDeviceSubClass
+               echo 1 > /sys/class/usb_mode/usb0/bDeviceProtocol
+               echo 1 > /sys/class/usb_mode/usb0/enable
+               systemctl start sdbd.service
+               ;;
+
+       "--off")
+               systemctl stop sdbd.service
+               echo 0 > /sys/class/usb_mode/usb0/enable
+               ;;
+
+       *)
+               echo "Wrong parameters. Please use option --help to check options "
+               ;;
+esac