Browse Source

Introduce a proper Debian source package build system

It's not perfect - there is no symbol versioning, and I have had to
make some (perhaps false) assumptions about library ABI stability, but
it does produce something vaguely resembling what would be expected
from a library package found in Debian, and it does so using the
standard Debian source format.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
pull/62/head
Ian Jackson 9 years ago
parent
commit
a776e6b0e8
12 changed files with 122 additions and 0 deletions
  1. +9
    -0
      debian/.gitignore
  2. +6
    -0
      debian/changelog
  3. +1
    -0
      debian/compat
  4. +29
    -0
      debian/control
  5. +15
    -0
      debian/copyright
  6. +2
    -0
      debian/libwiringpi-dev.dirs
  7. +3
    -0
      debian/libwiringpi-dev.install
  8. +1
    -0
      debian/libwiringpi2.install
  9. +2
    -0
      debian/libwiringpi2.shlibs
  10. +49
    -0
      debian/rules
  11. +1
    -0
      debian/wiringpi.dirs
  12. +4
    -0
      debian/wiringpi.install

+ 9
- 0
debian/.gitignore View File

@@ -0,0 +1,9 @@
*.debhelper.log
*.substvars
tmp
wiringpi
libwiringpi2
libwiringpi-dev
files
*.postinst.debhelper
*.postrm.debhelper

+ 6
- 0
debian/changelog View File

@@ -0,0 +1,6 @@
wiringpi (2.26~iwj) rpi-unstable; urgency=low

* Initial version with real Debian source package build.

-- Ian Jackson <ijackson@chiark.greenend.org.uk> Sat, 12 Sep 2015 18:31:35 +0100


+ 1
- 0
debian/compat View File

@@ -0,0 +1 @@
8

+ 29
- 0
debian/control View File

@@ -0,0 +1,29 @@
Source: wiringpi
Section: electronics
Priority: optional
Maintainer: Ian Jackson <ijackson@chiark.greenend.org.uk>
Standards-Version: 3.8.0
Homepage: http://wiringpi.com/
Build-Depends: debhelper (>= 8)

Package: libwiringpi2
Section: libs
Architecture: armhf
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: GPIO librariees for Raspberry Pi (runtime).
Runtime for the popular wiringPi library.

Package: wiringpi
Architecture: armhf
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: gpio utility for Raspberry Pi
The wiringPi gpio command line utility, for GPIO access on a
Raspberry Pi from the command line.

Package: libwiringpi-dev
Architecture: armhf
Depends: libwiringpi2 (= ${binary:Version}), libc6-dev, ${misc:Depends}
Suggests: wiringpi
Description: GPIO development library for Raspberry Pi
Development libraries to allow GPIO access on a Raspberry Pi from C
and C++ programs.

+ 15
- 0
debian/copyright View File

@@ -0,0 +1,15 @@
wiringPi is Copyright (C) 2012-2015 Gordon Henderson.

wiringPi is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License, as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

wiringPi 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 Lesser General Public License for more details.

On all Debian and Raspbian systems, a copy of the GNU Lesser General
Public License version 3 can be found in
`/usr/share/common-licenses/LGPL-3'.

+ 2
- 0
debian/libwiringpi-dev.dirs View File

@@ -0,0 +1,2 @@
usr/lib
usr/include

+ 3
- 0
debian/libwiringpi-dev.install View File

@@ -0,0 +1,3 @@
debian/tmp/usr/include
debian/tmp/usr/lib/*.so
examples usr/share/doc/libwiringpi-dev

+ 1
- 0
debian/libwiringpi2.install View File

@@ -0,0 +1 @@
debian/tmp/usr/lib/lib*.so.*

+ 2
- 0
debian/libwiringpi2.shlibs View File

@@ -0,0 +1,2 @@
libwiringPi 2 libwiringpi2
libwiringPiDev 2 libwiringpi2

+ 49
- 0
debian/rules View File

@@ -0,0 +1,49 @@
#!/usr/bin/make -f

.PHONY: build

VERSION:=$(shell cat VERSION)
export VERSION

soname:=$(shell echo $${VERSION%%.*})
WIRINGPI_SONAME_SUFFIX:=.$(soname)
export soname
export WIRINGPI_SONAME_SUFFIX

build:
dh $@

override_dh_auto_configure:

override_dh_prep:
dh_prep -Xdebian/tmp

dirs:
dh_installdirs -A
mkdir debian/tmp
set -e; for p in `dh_listpackages`; do \
(cd debian/$$p; find -type d) | \
(cd debian/tmp; xargs mkdir -p) \
done

override_dh_clean:
dh_clean
WIRINGPI_SUDO= bash -xe ./build clean

override_dh_auto_build: dirs
V=1 LDCONFIG=: WIRINGPI_SUDO= WIRINGPI_SUID=0 \
DESTDIR=`pwd`/debian/tmp/usr \
PREFIX= WIRINGPI_SUDO= \
bash -xe ./build

override_dh_auto_install:
dh_install
set -ex; for l in libwiringPi libwiringPiDev; do \
ln -sf $$l.so.$${VERSION} \
debian/libwiringpi$$soname/usr/lib/$$l.so.$$soname; \
ln -sf $$l.so.$${VERSION} \
debian/libwiringpi-dev/usr/lib/$$l.so; \
done

%:
dh $@

+ 1
- 0
debian/wiringpi.dirs View File

@@ -0,0 +1 @@
usr/bin

+ 4
- 0
debian/wiringpi.install View File

@@ -0,0 +1,4 @@
debian/tmp/usr/bin
debian/tmp/usr/man usr/share
README.TXT usr/share/doc/wiringpi
People usr/share/doc/wiringpi

Loading…
Cancel
Save