Browse Source

Debian package building scripts

David Schleef 23 years ago
parent
commit
4d5c35c0b6

+ 7 - 0
debian/README.Debian

@@ -0,0 +1,7 @@
+
+Known issues:
+
+- When building, doesn't depend correctly on kernel source.  It
+  just takes whatever is in /usr/src/linux, which is wrong.
+ 
+

+ 28 - 0
debian/changelog

@@ -0,0 +1,28 @@
+uclibc (0.9.5-cvs20010630-2) unstable; urgency=low
+
+  * Create cross-compiling packages
+
+ -- David Schleef <ds@schleef.org>  Sat, 30 Jun 2001 17:12:41 -0700
+
+uclibc (0.9.5-cvs20010630-1) unstable; urgency=low
+
+  * No, really.  Initial Release.  I mean it this time.
+  * Clean up patch.
+
+ -- David Schleef <ds@schleef.org>  Sat, 30 Jun 2001 17:12:41 -0700
+
+uclibc (0.9.5-cvs20010626-1) unstable; urgency=low
+
+  * No, really.  Initial Release.
+
+ -- David Schleef <ds@schleef.org>  Thu, 28 Jun 2001 16:49:25 -0700
+
+uclibc (0.9.5-cvs20010625-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- David Schleef <ds@schleef.org>  Mon, 25 Jun 2001 22:13:43 -0700
+
+Local variables:
+mode: debian-changelog
+End:

+ 38 - 0
debian/control

@@ -0,0 +1,38 @@
+
+Source: uclibc
+Section: devel
+Priority: optional
+Maintainer: David Schleef <ds@schleef.org>
+Build-Depends: debhelper
+Standards-Version: 3.0.1
+
+
+Package: libuclibc-dev
+Section: devel
+Architecture: any
+Depends: libuclibc0, ${shlibs:Depends}
+Conflicts: libuclibc-dev-i386
+Description: A small implementation of the C library
+ uClibc is an implementation of the standard C library that is
+ much smaller than glibc, which makes it useful for embedded
+ systems.
+
+Package: libuclibc0
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: A small implementation of the C library
+ uClibc is an implementation of the standard C library that is
+ much smaller than glibc, which makes it useful for embedded
+ systems.
+
+Package: uclibc-gcc
+Section: devel
+Architecture: any
+Depends: c-compiler, binutils, ${shlibs:Depends}
+Description: A compiler wrapper for uClibc
+ This is a small wrapper for gcc, ld, and other toolchain utilities
+ to do compilation against uClibc instead of the native libc.
+ This package is used for cross compiling.
+
+

+ 66 - 0
debian/control.in

@@ -0,0 +1,66 @@
+#if 0
+Macros used:
+CROSS - defined if we are building cross compiling packages.  This does
+  not mean that we are cross-building _this_ package.
+_HOST_ - suffix for the arch we are compiling
+_TARGET_ - suffix for the arch that the package will target
+#endif
+
+Source: uclibc
+Section: devel
+Priority: optional
+Maintainer: David Schleef <ds@schleef.org>
+Build-Depends: debhelper
+Standards-Version: 3.0.1
+
+#ifndef CROSS
+Package: libuclibc-dev
+Section: devel
+Architecture: any
+Depends: libuclibc0, ${shlibs:Depends}
+Conflicts: libuclibc-dev_HOST_
+Description: A small implementation of the C library
+ uClibc is an implementation of the standard C library that is
+ much smaller than glibc, which makes it useful for embedded
+ systems.
+
+Package: libuclibc0
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: A small implementation of the C library
+ uClibc is an implementation of the standard C library that is
+ much smaller than glibc, which makes it useful for embedded
+ systems.
+
+Package: uclibc-gcc
+Section: devel
+Architecture: any
+Depends: c-compiler, binutils, ${shlibs:Depends}
+Description: A compiler wrapper for uClibc
+ This is a small wrapper for gcc, ld, and other toolchain utilities
+ to do compilation against uClibc instead of the native libc.
+ This package is used for cross compiling.
+#endif
+
+Package: libuclibc-dev_TARGET_
+Section: devel
+Architecture: all
+Depends: 
+Suggests: uclibc-gcc_TARGET_
+Description: A small implementation of the C library
+ uClibc is an implementation of the standard C library that is
+ much smaller than glibc, which makes it useful for embedded
+ systems.  This package is used for cross compiling.
+
+#ifdef CROSS
+Package: uclibc-gcc_TARGET_
+Section: devel
+Architecture: any
+Depends: c-compiler_TARGET_, binutils, ${shlibs:Depends}
+Description: A compiler wrapper for uClibc
+ This is a small wrapper for gcc, ld, and other toolchain utilities
+ to do compilation against uClibc instead of the native libc.
+ This package is used for cross compiling.
+#endif
+

+ 12 - 0
debian/copyright

@@ -0,0 +1,12 @@
+This package was debianized by David Schleef <ds@stm.lbl.gov> on
+Mon, 25 Jun 2001 22:13:43 -0700.
+
+The source is a snapshot of the uClibc CVS tree at
+:pserver:anonymous@cvs.uclinux.org:/var/cvs.  Password
+is anonymous, module name is uClibc.
+
+Upstream Maintainer: Erik Andersen <andersen@lineo.com>
+
+Copyright:
+
+LGPL

+ 4 - 0
debian/dirs

@@ -0,0 +1,4 @@
+usr/lib
+usr/share/doc
+usr/share/man/man1
+usr/bin

+ 2 - 0
debian/docs

@@ -0,0 +1,2 @@
+README
+TODO

+ 8 - 0
debian/libuclibc0.postinst

@@ -0,0 +1,8 @@
+#!/bin/sh
+
+if [ "$1" = "configure" ]; then
+	/sbin/ldconfig
+fi
+
+#DEBHELPER#
+

+ 6 - 0
debian/libuclibc0.shlibs

@@ -0,0 +1,6 @@
+libuClibc 0 libuclibc0 (>> 0.9.5-0)
+libuClibm 0 libuclibc0 (>> 0.9.5-0)
+ld-uclibc 0 libuclibc0 (>> 0.9.5-0)
+libuClibdl 0 libuclibc0 (>> 0.9.5-0)
+libuClibcrypt 0 libuclibc0 (>> 0.9.5-0)
+libuClibutil 0 libuclibc0 (>> 0.9.5-0)

+ 154 - 0
debian/rules

@@ -0,0 +1,154 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This is the debhelper compatability version to use.
+export DH_COMPAT=1
+
+#include version
+major=$(shell grep '^MAJOR_VERSION' Rules.mak|sed 's/.*=//')
+minor=$(shell grep '^MINOR_VERSION' Rules.mak|sed 's/.*=//')
+version:=$(strip $(major)).$(strip $(minor))
+
+target=$(DEB_HOST_GNU_CPU)
+#target=powerpc
+
+build: build-stamp
+build-stamp:
+	dh_testdir
+
+	# Add here commands to compile the package.
+	cp extra/Configs/Config.$(shell echo $(target)|sed 's/i386/x86/') Config
+
+	echo '#Debian configuration overrides'  >>Config
+ifneq ($(TARGET),native)
+	echo 'TARGET_ARCH = $(target)'  >>Config
+	echo 'CROSS = $(target)-linux-'  >>Config
+endif
+	echo 'DOPIC = true'  >>Config
+	echo 'PREFIX = $$(DESTDIR)/usr'  >>Config
+	echo 'DEVEL_PREFIX = $$(PREFIX)/$$(TARGET_ARCH)-linux-uclibc'  >>Config
+	echo 'TARGET_PREFIX = $$(DESTDIR)/'  >>Config
+
+	$(MAKE)
+
+	touch build-stamp
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp
+
+	# Add here commands to clean up after the build process.
+	-$(MAKE) clean
+
+	dh_clean
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs
+
+	# Add here commands to install the package into debian/tmp.
+	$(MAKE) install_dev DESTDIR=`pwd`/debian/tmp
+	$(MAKE) install_target DESTDIR=`pwd`/debian/libuclibc0
+	$(MAKE) install_gcc DESTDIR=`pwd`/debian/uclibc-gcc
+
+	install -m 644 debian/uclibc-gcc.1 \
+	  debian/uclibc-gcc/usr/share/man/man1/$(target)-uclibc-gcc.1
+	(cd debian/uclibc-gcc/usr/share/man/man1; \
+	  ln -sf $(target)-uclibc-gcc.1.gz $(target)-uclibc-cc.1.gz; \
+	  ln -sf $(target)-uclibc-gcc.1.gz $(target)-uclibc-ld.1.gz; \
+	  for x in addr2line ar as cpp gasp nm objcopy objdump ranlib \
+	  size strings strip;do \
+	    ln -sf $$x.1.gz $(target)-uclibc-$$x.1.gz;done)
+	
+	install -d debian/libuclibc0/usr/share/man/man1
+	install -m 644 debian/uclibc-ldd.1 \
+	  debian/libuclibc0/usr/share/man/man1/$(target)-uclibc-ldd.1
+
+	install -m 644 debian/uclibc-ldconfig.1 \
+	  debian/libuclibc0/usr/share/man/man1/$(target)-uclibc-ldconfig.1
+
+	# some hacks here
+ifeq ($(TARGET),native)
+	(cd debian/libuclibc0/usr/bin;mv ldd $(target)-uclibc-ldd)
+	(cd debian/libuclibc0/sbin;mv ldconfig $(target)-uclibc-ldconfig)
+
+	(cd debian/tmp/usr/$(target)-linux-uclibc/bin; \
+	  rm ldd; \
+	  ln -sf ../../bin/$(target)-uclibc-ldd ldd;)
+
+	(cd debian/tmp/usr/$(target)-linux-uclibc/sbin; \
+	  rm ldconfig; \
+	  ln -sf /sbin/$(target)-uclibc-ldconfig ldconfig;)
+endif
+
+	(cd debian/tmp/usr/$(target)-linux-uclibc/lib; \
+	  rm ld-uclibc-$(version).so; \
+	  for x in util c m dl crypt;do \
+	    rm libuClib$$x-$(version).so; \
+	    rm lib$$x.so; \
+	    ln -sf /lib/libuClib$$x-$(version).so lib$$x.so ; \
+	    rm libuClib$$x.so; \
+	    ln -sf /lib/libuClib$$x-$(version).so libuClib$$x.so ; \
+	  done)
+
+	(cd debian/tmp/usr/lib; \
+	  for x in util c m dl crypt;do \
+	    ln -sf /lib/libuClib$$x-$(version).so libuClib$$x.so ; \
+	  done)
+	  
+	(cd debian/libuclibc0/lib; \
+	  for x in util c m dl crypt;do \
+	    rm lib$$x.so; \
+	    rm lib$$x.so.0; \
+	    rm libuClib$$x.so; \
+	  done)
+
+	#(cd debian/tmp/usr/$(target)-linux-uclibc/lib; \
+	  for x in libutil libc libm libdl libcrypt;do \
+	    rm $$x.so;done)
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+#	dh_testversion
+	dh_testdir
+	dh_testroot
+
+#	dh_installdebconf	
+	dh_installdocs
+	dh_installexamples
+	dh_installmenu
+#	dh_installemacsen
+#	dh_installpam
+#	dh_installinit
+	dh_installcron
+#	dh_installmanpages -plibuclibc0
+	dh_installinfo
+#	dh_undocumented
+	dh_installchangelogs 
+	dh_link
+	dh_strip
+	dh_compress
+	dh_fixperms
+	# You may want to make some executables suid here.
+#	dh_suidregister
+#	dh_makeshlibs
+	dh_installdeb
+#	dh_perl
+	dh_shlibdeps --exclude=ld_uclibc -ldebian/libuclibc0/lib
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install

+ 28 - 0
debian/uclibc-gcc.1

@@ -0,0 +1,28 @@
+.TH UCLIBC-GCC 1
+.SH NAME
+uclibc-gcc \- Cross-compiler for uClibc
+.SH SYNOPSIS
+.B uclibc-gcc
+[
+.B options
+]
+.br
+.B uclibc-ld
+[
+.B options
+]
+.SH DESCRIPTION
+These programs are wrappers for
+.B gcc
+and
+.B ld.
+.SH BUGS
+Probably.
+
+.SH AUTHORS
+Manuel Nova
+.br
+Manual page written by David Schleef <ds@schleef.org>
+.SH SEE ALSO
+.BR gcc (1),
+.BR ld (1)

+ 4 - 0
debian/uclibc-gcc.dirs

@@ -0,0 +1,4 @@
+usr/lib
+usr/share/doc
+usr/share/man/man1
+usr/bin

+ 28 - 0
debian/uclibc-ldconfig.1

@@ -0,0 +1,28 @@
+.TH UCLIBC-GCC 1
+.SH NAME
+uclibc-gcc \- Cross-compiler for uClibc
+.SH SYNOPSIS
+.B uclibc-gcc
+[
+.B options
+]
+.br
+.B uclibc-ld
+[
+.B options
+]
+.SH DESCRIPTION
+These programs are wrappers for
+.B gcc
+and
+.B ld.
+.SH BUGS
+Probably.
+
+.SH AUTHORS
+Manuel Nova
+.br
+Manual page written by David Schleef <ds@schleef.org>
+.SH SEE ALSO
+.BR gcc (1),
+.BR ld (1)

+ 28 - 0
debian/uclibc-ldd.1

@@ -0,0 +1,28 @@
+.TH UCLIBC-GCC 1
+.SH NAME
+uclibc-gcc \- Cross-compiler for uClibc
+.SH SYNOPSIS
+.B uclibc-gcc
+[
+.B options
+]
+.br
+.B uclibc-ld
+[
+.B options
+]
+.SH DESCRIPTION
+These programs are wrappers for
+.B gcc
+and
+.B ld.
+.SH BUGS
+Probably.
+
+.SH AUTHORS
+Manuel Nova
+.br
+Manual page written by David Schleef <ds@schleef.org>
+.SH SEE ALSO
+.BR gcc (1),
+.BR ld (1)