Skip to content

Commit

Permalink
debian: Adding packaging files
Browse files Browse the repository at this point in the history
  • Loading branch information
pazdera committed Apr 23, 2015
1 parent 7c6fe81 commit e59a76b
Show file tree
Hide file tree
Showing 11 changed files with 542 additions and 100 deletions.
23 changes: 23 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
raspberrypi-linux (3.18.11-1) unstable; urgency=low

* Rebased the kernel on 3.18

-- Radek Pazdera <radek@kano.me> Wed, 8 Apr 2015 10:48:00 +0000

raspberrypi-linux (3.12.9-3) unstable; urgency=low

* Putting the kernel hack back in place.

-- Radek Pazdera <radek@kano.me> Fri, 7 Feb 2014 15:31:26 +0000

raspberrypi-linux (3.12.9-2) unstable; urgency=low

* Adding BFS.

-- Radek Pazdera <radek@kano.me> Thu, 6 Feb 2014 18:26:14 +0000

raspberrypi-linux (3.12.9-1) unstable; urgency=low

* Initial release.

-- Radek Pazdera <radek@kano.me> Tue, 4 Feb 2014 12:11:05 +0000
1 change: 1 addition & 0 deletions debian/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9
24 changes: 24 additions & 0 deletions debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Source: raspberrypi-linux
Maintainer: Radek Pazdera <radek@kano.me>
Section: kernel
Priority: extra
Standards-Version: 3.9.4
Build-Depends: debhelper (>=9.0.0), quilt, gcc, make, perl

Package: raspberrypi-linux-common
Architecture: armhf
Depends: ${shlibs:Depends}, ${misc:Depends}
Replaces: raspberrypi-bootloader (<< 2.20150415-1), raspberrypi-linux (<< 3.18.11-1)
Breaks: raspberrypi-bootloader (<< 2.20150415-1), raspberrypi-linux (<< 3.18.11-1)
Description: Linux Kernel shared parts.
The common files shared between kernel images.

Package: raspberrypi-linux
Architecture: armhf
Depends: ${shlibs:Depends}, ${misc:Depends}, raspberrypi-linux-common (>= ${source:Upstream-Version})
Conflicts: cgroup-bin, libcgroup1
Replaces: raspberrypi-bootloader (<< 2.20150415-1)
Breaks: raspberrypi-bootloader (<< 2.20150415-1)
Description: Linux Kernel for the Raspberry Pi
This package contains the Linux kernel compiled and optimised to run on
the Raspberry Pi board.
20 changes: 20 additions & 0 deletions debian/copyright
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Files:
boot/kernel*.img
lib/modules/*
Copyright: 1991 - 2014 Linus Torvalds and many others
License: GPL-2
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this package; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
.
On Debian systems, the complete text of the GNU General Public License version
2 can be found in `/usr/share/common-licenses/GPL-2'.
13 changes: 13 additions & 0 deletions debian/raspberrypi-linux-common.postinst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/sh -e
KERNELRELEASE="#KERNEL_RELEASE#"
FILES="#COMMON_DTBS#"

for FN in $FILES; do
# Need to rm first to avoid error "rename involves overwriting ... with
# different file ..., not allowed
rm -f /boot/overlays/$FN
dpkg-divert --package rpikernelhack --remove --rename /boot/overlays/$FN
sync
done

#DEBHELPER#
13 changes: 13 additions & 0 deletions debian/raspberrypi-linux-common.preinst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/sh -e
KERNELRELEASE="#KERNEL_RELEASE#"
FILES="#COMMON_DTBS#"

# dpkg-divert will error out otherwise
mkdir -p /usr/share/rpikernelhack

for FN in $FILES; do
dpkg-divert --package rpikernelhack --divert /usr/share/rpikernelhack/$FN \
/boot/overlays/$FN
done

#DEBHELPER#
19 changes: 19 additions & 0 deletions debian/raspberrypi-linux.postinst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/sh -e
KERNELRELEASE="#KERNEL_RELEASE#"
DTBS="#DTBS#"
FILES="#KERNEL_IMAGE# config-$KERNELRELEASE System.map-$KERNELRELEASE $DTBS"

for FN in $FILES; do
# Need to rm first to avoid error "rename involves overwriting ... with
# different file ..., not allowed
rm -f /boot/$FN
dpkg-divert --package rpikernelhack --remove --rename /boot/$FN
sync
done

# Remove the kernel config line if there's any
if [ -n "`grep '^kernel=' /boot/config.txt`" ]; then
sed -ir '/kernel=.\+/d' /boot/config.txt
fi

#DEBHELPER#
14 changes: 14 additions & 0 deletions debian/raspberrypi-linux.preinst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/sh -e
KERNELRELEASE="#KERNEL_RELEASE#"
DTBS="#DTBS#"
FILES="#KERNEL_IMAGE# config-$KERNELRELEASE System.map-$KERNELRELEASE $DTBS"

# dpkg-divert will error out otherwise
mkdir -p /usr/share/rpikernelhack

for FN in $FILES; do
dpkg-divert --package rpikernelhack --divert /usr/share/rpikernelhack/$FN \
/boot/$FN
done

#DEBHELPER#
106 changes: 106 additions & 0 deletions debian/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

ALL_PACKAGES = $(shell dh_listpackages)
PACKAGE = $(firstword $(ALL_PACKAGES))
IMAGE = $(CURDIR)/debian/raspberrypi-linux
COMMON = $(CURDIR)/debian/raspberrypi-linux-common
IMGNAME = kernel.img

%:
dh $@

override_dh_auto_build:
cp kano-os-armv6-config .config
make -j10 Image modules
make dtbs bcm2708-rpi-b.dtb bcm2708-rpi-b-plus.dtb #bcm2709-rpi-2-b.dtb
./scripts/rpi-mkknlimg arch/arm/boot/Image arch/arm/boot/Image-tr

override_dh_auto_install:
mkdir -p $(COMMON)/lib/firmware
make INSTALL_MOD_PATH=$(IMAGE) \
INSTALL_FW_PATH=$(COMMON)/lib/firmware \
modules_install

mkdir -p $(IMAGE)/boot
$(eval KR := $(shell make -s kernelrelease))
install -m0644 arch/arm/boot/Image-tr $(IMAGE)/boot/$(IMGNAME)
install -m0644 System.map $(IMAGE)/boot/System.map-$(KR)
install -m0644 .config $(IMAGE)/boot/config-$(KR)

install -m0644 arch/arm/boot/dts/bcm2708-rpi-b.dtb $(IMAGE)/boot/
install -m0644 arch/arm/boot/dts/bcm2708-rpi-b-plus.dtb $(IMAGE)/boot/
#install -m0644 arch/arm/boot/dts/bcm2709-rpi-2-b.dtb $(IMAGE)/boot/

mkdir -p $(COMMON)/boot/overlays
install -m0644 arch/arm/boot/dts/*-overlay.dtb $(COMMON)/boot/overlays

override_dh_auto_clean:
# FIXME: Clean fails with /usr/bin/xargs: rm: Argument list too long
# so it's currently disabled.
# https://bugs.launchpad.net/ubuntu/+source/qemu-linaro/+bug/1036645

binary:
dh_testroot
dh_prep
dh_installdirs
debian/rules override_dh_auto_install
dh_install
dh_installdocs
dh_installchangelogs
dh_installexamples
dh_installman
dh_installcatalogs
dh_installcron
dh_installdebconf
dh_installemacsen
dh_installifupdown
dh_installinfo
dh_installinit
dh_installmenu
dh_installmime
dh_installmodules
dh_installlogcheck
dh_installlogrotate
dh_installpam
dh_installppp
dh_installudev
dh_installwm
dh_installxfonts
dh_bugfiles
dh_lintian
dh_gconf
dh_icons
dh_perl
dh_usrlocal
dh_link
dh_compress
dh_fixperms
dh_strip
dh_makeshlibs
dh_shlibdeps
dh_installdeb
dh_gencontrol
dh_md5sums

$(eval DTBS := bcm2708-rpi-b.dtb bcm2708-rpi-b-plus.dtb)
$(eval COMMON_DTBS := $(shell (cd arch/arm/boot/dts/ && ls *-overlay.dtb)))

# Replace #KERNEL_RELEASE# with the actual version in any control files
$(eval KR = $(shell make -s kernelrelease))
for pkg in $(ALL_PACKAGES); do \
sed -i -e 's/#KERNEL_RELEASE#/$(KR)/' debian/$$pkg/DEBIAN/*; \
sed -i -e 's/#KERNEL_IMAGE#/$(IMGNAME)/' debian/$$pkg/DEBIAN/*; \
sed -i -e 's/#DTBS#/$(DTBS)/' debian/$$pkg/DEBIAN/*; \
sed -i -e 's/#COMMON_DTBS#/$(COMMON_DTBS)/' debian/$$pkg/DEBIAN/*; \
done

dh_builddeb
Loading

0 comments on commit e59a76b

Please sign in to comment.