Source1: %{name}.manifest
Source2: libhal-api.conf
Source3: systemd-hal-firmware-generator
-Source4: systemd-hal-compatibility-checker-generator
+Source4: hal-compatibility-checker.service
Source5: macros.hal-api
Source6: haltest.target
Source7: reboot-haltest
rm -rf %{buildroot}
%make_install
+mkdir -p %{buildroot}%{_unitdir}
+cp %{SOURCE4} %{buildroot}%{_unitdir}
+
mkdir -p %{buildroot}/hal
install -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/ld.so.conf.d/libhal-api.conf
install -D -m 0755 %{SOURCE3} %{buildroot}%{_systemdgeneratordir}/systemd-hal-firmware-generator
-install -D -m 0755 %{SOURCE4} %{buildroot}%{_systemdgeneratordir}/systemd-hal-compatibility-checker-generator
install -D -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/rpm/macros.hal-api
install -D -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/haltest.target
install -D -m 0755 %{SOURCE7} %{buildroot}%{_bindir}/reboot-haltest
%post
/sbin/ldconfig
+ln -sf %{_unitdir}/hal-compatibility-checker.service %{_unitdir}/sysinit.target.wants/
%postun
/sbin/ldconfig
+rm -f %{_unitdir}/sysinit.target.wants/hal-compatibility-checker.service
### contain files to package #########
%files -n %{name}
%{_bindir}/hal-compatibility-checker
%{_sysconfdir}/ld.so.conf.d/libhal-api.conf
%{_systemdgeneratordir}/systemd-hal-firmware-generator
-%{_systemdgeneratordir}/systemd-hal-compatibility-checker-generator
+%{_unitdir}/hal-compatibility-checker.service
%{_datadir}/upgrade/scripts/500.%{name}.sh
%files -n %{devel_name}
--- /dev/null
+[Unit]
+Description=Generate compatibility information between platform and hal
+DefaultDependencies=no
+Before=sysinit.target
+ConditionPathExists=!/opt/etc/hal/.hal-backend-compatibility
+
+[Service]
+Type=oneshot
+SmackProcessLabel=System
+ExecStart=/usr/bin/hal-compatibility-checker --skip-if-result-exist
+RemainAfterExit=yes
+User=system_fw
+Group=system_fw
+
+[Install]
+WantedBy=sysinit.target
break;
*p = '\0';
- ret = mkdir_one(directory_path, 0644);
+ ret = mkdir_one(directory_path, 0755);
if (ret < 0)
return ret;
*p = '/';
p = strchr(p + 1, '/');
}
- return mkdir_one(directory_path, 0644);
+ return mkdir_one(directory_path, 0755);
}