Search
SailfishOS Open Build Service
>
Projects
>
home:Superpelican
:
hw-adaptation-pov_protab2_xxl
>
kernel-adaptation-pov_protab2_xxl
> Changes
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
Changes of Revision 42
[-]
[+]
Added
kernel-adaptation-pov_protab2_xxl.spec
@@ -0,0 +1,173 @@ +# +# Do NOT Edit the Auto-generated Part! +# Generated by: spectacle version 0.25 +# + +Name: kernel-adaptation-pov_protab2_xxl + +# >> macros +%define kernel_version 3.0.76 +%define kernel_devel_dir %{_prefix}/src/kernels/%{kernel_version} +# << macros + +Summary: Linux kernel adaptation sunxi +Version: 3.0.76 +Release: 1 +Group: Kernel/Linux Kernel +License: GPLv2 +ExclusiveArch: %{arm} +Source0: linux-sunxi-%{version}.zip +Source1: %{name}.config +Patch0: mer-toolchain-mno-unaligned-access.patch +Requires: module-init-tools +BuildRequires: pkgconfig(ncurses) +BuildRequires: module-init-tools +BuildRequires: u-boot-sunxi +BuildRequires: fdupes +Provides: kernel = %{kernel_version} + +BuildRequires: elfutils-devel +BuildRequires: binutils-devel +BuildRequires: flex +BuildRequires: bison + +%description +Allwinner sunxi series SoC family Linux kernel adaptation + +%package devel +Summary: Devel files for Linux kernel adaptation sunxi +Group: Development/System +Requires: %{name} = %{version}-%{release} +Provides: kernel-devel = %{kernel_version} + +%description devel +Development files of the Allwinner sunxi series SoC family Linux kernel + + + +%prep +%setup -q -n linux-sunxi-%{version} + +# mer-toolchain-mno-unaligned-access.patch +%patch0 -p1 +# >> setup +#Fix spurious-executable-perms +chmod -x include/linux/mmc/sdio_func.h +chmod -x arch/arm/mach-sun4i/include/mach/* +chmod -x arch/arm/mach-sun5i/include/mach/* +chmod -x include/linux/mfd/axp-mfd.h +chmod -x include/linux/earlysuspend.h +chmod -x include/linux/cpufreq.h +chmod -x include/linux/timed_output.h +chmod -x include/linux/power/aw_pm.h +chmod -x include/linux/usb/composite.h +chmod -x arch/arm/plat-sunxi/include/plat/i2c.h +chmod -x include/linux/wakelock.h +chmod -x include/linux/videodev2.h +# << setup + + + +%build + +# >> build pre +cp %{SOURCE1} ./.config +make oldconfig +make prepare +make V=1 -j3 zImage +make V=1 -j3 uImage +make V=1 -j3 modules +# << build pre + +# >> build post +# << build post + +%install +rm -rf %{buildroot} + +# >> install pre + +# Modules +make INSTALL_MOD_PATH=%{buildroot} modules_install +mkdir -p %{buildroot}/boot/ +make INSTALL_PATH=%{buildroot}/boot/ install +install -m 755 arch/arm/boot/*Image %{buildroot}/boot/ +mkdir -p %{buildroot}/lib/modules/%{kernel_version}/ +touch %{buildroot}/lib/modules/%{kernel_version}/modules.dep + +# And save the headers/makefiles etc for building modules against +# +# This all looks scary, but the end result is supposed to be: +# * all arch relevant include/ files +# * all Makefile/Kconfig files +# * all script/ files + +#rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source +mkdir -p %{buildroot}/%{kernel_devel_dir} +#(cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source) +# dirs for additional modules per module-init-tools, kbuild/modules.txt +# first copy everything +cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` %{buildroot}/%{kernel_devel_dir} +cp Module.symvers %{buildroot}/%{kernel_devel_dir} +cp System.map %{buildroot}/%{kernel_devel_dir} +if [ -s Module.markers ]; then +cp Module.markers %{buildroot}/%{kernel_devel_dir} +fi +# then drop all but the needed Makefiles/Kconfig files +rm -rf %{buildroot}/%{kernel_devel_dir}/Documentation +rm -rf %{buildroot}/%{kernel_devel_dir}/scripts +rm -rf %{buildroot}/%{kernel_devel_dir}/include +cp .config %{buildroot}/%{kernel_devel_dir} +cp -a scripts %{buildroot}/%{kernel_devel_dir} +if [ -d arch/%{_arch}/scripts ]; then +cp -a arch/%{_arch}/scripts %{buildroot}/%{kernel_devel_dir}/arch/%{_arch} || : +fi +if [ -f arch/%{_arch}/*lds ]; then +cp -a arch/%{_arch}/*lds %{buildroot}/%{kernel_devel_dir}/arch/%{_arch}/ || : +fi +rm -f %{buildroot}/%{kernel_devel_dir}/scripts/*.o +rm -f %{buildroot}/%{kernel_devel_dir}/scripts/*/*.o +cp -a --parents arch/arm/include %{buildroot}/%{kernel_devel_dir} +cp -a --parents arch/arm/mach-*/include %{buildroot}/%{kernel_devel_dir} +cp -a --parents arch/arm/plat-*/include %{buildroot}/%{kernel_devel_dir} +mkdir -p %{buildroot}/%{kernel_devel_dir}/include +cd include +cp -a acpi asm-generic config crypto drm generated keys linux math-emu media mtd net pcmcia rdma rxrpc scsi sound video trace %{buildroot}/%{kernel_devel_dir}/include + +# Make sure the Makefile and version.h have a matching timestamp so that +# external modules can be built +touch -r %{buildroot}/%{kernel_devel_dir}/Makefile %{buildroot}/%{kernel_devel_dir}/include/linux/version.h +touch -r %{buildroot}/%{kernel_devel_dir}/.config %{buildroot}/%{kernel_devel_dir}/include/linux/autoconf.h +# Copy .config to include/config/auto.conf so "make prepare" is unnecessary. +cp %{buildroot}/%{kernel_devel_dir}/.config %{buildroot}/%{kernel_devel_dir}/include/config/auto.conf +cd .. +# << install pre + +# >> install post +# Add mechanism to load needed modules automatically by systemd at bootup +MODULES_LOAD_DIR=%{buildroot}/%{_sysconfdir}/modules-load.d +mkdir -p ${MODULES_LOAD_DIR} +# Add configs for modules. +MODPROBE_CONF_DIR=%{buildroot}/%{_sysconfdir}/modprobe.d +mkdir -p ${MODPROBE_CONF_DIR} + +# << install post + +%fdupes %{buildroot}/%{_prefix}/src/kernels/%{kernel_version}/ + +%files +%defattr(-,root,root,-) +%{_sysconfdir}/modprobe.d +%{_sysconfdir}/modules-load.d +/lib/modules/%{kernel_version}/* +/boot/* +/lib/firmware/kaweth/* +# >> files +# << files + +%files devel +%defattr(-,root,root,-) +/%{_prefix}/src/kernels/%{kernel_version}/* +/%{_prefix}/src/kernels/%{kernel_version}/.config +# >> files devel +# << files devel \ No newline at end of file