From: Seung-Woo Kim Date: Mon, 24 Feb 2020 00:51:57 +0000 (+0900) Subject: add packaging for kmod X-Git-Tag: accepted/tizen/unified/20210218.042141^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=80fcc21b6c494b59eb0864e1bf68470f291fc8dd;p=platform%2Fupstream%2Fkmod.git add packaging for kmod Add kmod v28 package to Tizen for supporting program to manage Linux Kernel modules. Note: Change history for previous Tizen package release is below: kmod is packaged into Tizen with manifest domain of floor. v15 is a required dependency for systemd v208 (see TIVI-2197). Bump to v18 using upstream git repo instead of pristin-tar. Bug-Tizen: TC-1921 Signed-off-by: Anas Nashif Signed-off-by: Alexandru Cornea Signed-off-by: Patrick McCarty Signed-off-by: Kévin THIERRY Applied ASLR (CFLAG=-fPIE LDFLAG=-pie) and license file wsa added to /usr/share/licenses/kmod-compat and /usr/share/licneses/libkmod. All packaging modifications are squashed into one commit and bump to v24. Signed-off-by: Jaehoon Chung Signed-off-by: Inki Dae Signed-off-by: Seung-Woo Kim [yj99.shin@samsung.com: packaging : disable %check section Currently, all tizen OBS projects don't run the %check section. I think the %check section is very good for reinforcing unit tests. But, there are some hurdles because of the qemu. For starting of enabling the %check section, I disable the %check section in the failed packages.] Change-Id: Icdbea83b1625446abe492625ee424f25e377c476 Signed-off-by: Youngjae Shin [sw0312.kim: bump version to v27 for Tizen 6.5 packaging: remove not really necessary kmod own includedir bump version to v27 for Tizen 6.0 packaging: add -Wno-maybe-uninitialized to cflags and bump to v26 The GCC has false positive warning about maybe-uninitialized with -O2 and -fexeceptions. Add -Wno-maybe-uninitialized to cflags to remove the false positive warnings. ] Signed-off-by: Seung-Woo Kim --- diff --git a/.gbs.conf b/.gbs.conf new file mode 100644 index 0000000..2290232 --- /dev/null +++ b/.gbs.conf @@ -0,0 +1,3 @@ +[general] +upstream_branch = upstream +upstream_tag = v${upstreamversion} diff --git a/packaging/kmod.changes b/packaging/kmod.changes new file mode 100644 index 0000000..4d8aa78 --- /dev/null +++ b/packaging/kmod.changes @@ -0,0 +1,12 @@ +* Thu Nov 21 2013 Patrick McCarty b5c9149 +- Update to v15 (required for systemd update, see TIVI-2197) + +* Fri Mar 29 2013 Anas Nashif submit/trunk/20130322.175427@31c7f1c +- compat requires main package + +* Fri Mar 22 2013 Anas Nashif submit/trunk/20130318.205410@9d87275 +- Fixed package groups + +* Mon Mar 18 2013 Anas Nashif upstream/12@4894c41 +- Update package groups + diff --git a/packaging/kmod.manifest b/packaging/kmod.manifest new file mode 100644 index 0000000..017d22d --- /dev/null +++ b/packaging/kmod.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/packaging/kmod.spec b/packaging/kmod.spec new file mode 100644 index 0000000..ea21ec1 --- /dev/null +++ b/packaging/kmod.spec @@ -0,0 +1,131 @@ +%define __spec_check_pre exit 0 +Name: kmod +Version: 28 +Release: 0 +License: LGPL-2.1+ and GPL-2.0+ +Summary: Utilities to load modules into the kernel +Url: https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git +Group: Base/Libraries +Source: %{name}-%{version}.tar.xz +#X-Vcs-Url: git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git +Source1001: kmod.manifest +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.21 +BuildRequires: xz +BuildRequires: pkgconfig(liblzma) >= 4.99 +BuildRequires: pkgconfig(zlib) + +%description +kmod is a set of tools to handle common tasks with Linux kernel +modules like insert, remove, list, check properties, resolve +dependencies and aliases. + +These tools are designed on top of libkmod, a library that is shipped +with kmod. The aim is to be compatible with tools, configurations and +indexes from module-init-tools project. + +%package compat +License: GPL-2.0+ +Summary: Compat symlinks for kernel module utilities +Group: Base/Libraries +Requires: kmod +Requires(pre): filesystem +Provides: module-init-tools + +%description compat +kmod is a set of tools to handle common tasks with Linux kernel +modules like insert, remove, list, check properties, resolve +dependencies and aliases. + +This package contains traditional name symlinks (lsmod, etc.) + +%package -n libkmod +License: LGPL-2.1+ +Summary: Library to interact with Linux kernel modules +Group: Base/Libraries + +%description -n libkmod +libkmod was created to allow programs to easily insert, remove and +list modules, also checking its properties, dependencies and aliases. + +%package -n libkmod-devel +License: LGPL-2.1+ +Summary: Development files for libkmod +Group: Development/Libraries +Requires: libkmod = %{version} + +%description -n libkmod-devel +libkmod was created to allow programs to easily insert, remove and +list modules, also checking its properties, dependencies and aliases. + +This package contains the development headers for the library found +in libkmod. + +%prep +%setup -q +cp %{SOURCE1001} . + +%build +%autogen +%configure \ + --with-xz \ + --disable-manpages \ + --with-zlib \ + --with-rootlibdir=%{_libdir} \ + --bindir=%{_bindir} +%__make %{?_smp_mflags} CFLAGS+=" -fPIE -Wno-maybe-uninitialized" LDFLAGS+=" -pie" + +%check +%__make check + +%install +%make_install + +# kmod-compat +mkdir -p %{buildroot}/%{_sbindir} +ln -sf %{_bindir}/kmod %{buildroot}/%{_bindir}/lsmod +for i in depmod insmod lsmod modinfo modprobe rmmod; do + ln -sf %{_bindir}/kmod %{buildroot}/%{_sbindir}/$i +done; + + +%post -n libkmod -p /sbin/ldconfig + +%postun -n libkmod -p /sbin/ldconfig + +%docs_package + +%files +%manifest %{name}.manifest +%defattr(-,root,root) +%license ./tools/COPYING +%{_bindir}/kmod +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/kmod + +%files -n libkmod +%manifest %{name}.manifest +%defattr(-,root,root) +%license ./libkmod/COPYING +%{_libdir}/libkmod.so.2* + +%files -n libkmod-devel +%manifest %{name}.manifest +%defattr(-,root,root) +%{_includedir}/* +%{_libdir}/pkgconfig/libkmod.pc +%{_libdir}/libkmod.so + +%files compat +%manifest %{name}.manifest +%defattr(-,root,root) +%license ./tools/COPYING +%{_bindir}/lsmod +%{_sbindir}/depmod +%{_sbindir}/insmod +%{_sbindir}/lsmod +%{_sbindir}/modinfo +%{_sbindir}/modprobe +%{_sbindir}/rmmod