* Implemented 'unpack' target completely.

* Added README file, documenting the file
  locations and format.
* Lots of other stuff.

svn path=/branches/kernel-image-2.6.11/; revision=3034
This commit is contained in:
Jurij Smakov 2005-05-11 02:05:18 +00:00
parent c4738462a3
commit 4271cb729c
13 changed files with 9362 additions and 93 deletions

58
README Normal file
View File

@ -0,0 +1,58 @@
Config files
------------
All the config files live in the arch subdirectory. The config
file for a particular subarch is constructed by concatenating
the following files (any of them can be missing):
arch/config.common - architecture-independent config file
arch/<arch>/config.common - subarch-independent config file
for a particular architecture
arch<arch>/config.<subarch> - subarch-specific config file.
It is possible to avoid the inclusion of the arch-independent
config file (handy for the transitional period) by setting the
include_common_config variable to 'no' in arch/<arch>/Makefile.inc.
Control file
------------
The master control file debian/control must be generated before
the package is uploaded. debian/rules contains the debian/control
target, which generates the control file by concatenating the
common debian/control.in and all the arch/<arch>/control.in
files, and performing the variable substitution. Currently the
following variables are going to be substituted:
@karch@ Replaced by the architecture string, identical to
DEB_HOST_ARCH, as returned by dpkg-architecture.
@version@ Upstream kernel version, for example 2.6.11.
@ktver@ Minor version of kernel-tree to build-depend on.
@abiname@ Abiname value for this set of packages.
@kbpkg@ Current name and version of the kernel-build
package to build-depend on. Typical value may
be 'kernel-build-2.6-3', for example.
After variable substitution the resulting file is formatted to
ensure that the only blank lines are the ones separating the
entries (i.e. before the next Package: line).
Makefile.inc
------------
Each architecture subdirectory in arch may contain a Makefile.inc
file, which is included by debian/rules after definining all the
variables. It may be used to override the standard variables on
per-architecture basis and other evil things. So far the valid uses of
this file include the setting of the following variables:
include_common_config
Setting it to 'no' will prevent the common kernel config from being
included for this particular architecture.
header_dirs
This variable is substituted into the headers-install script,
controlling which asm-* directories are included into the
kernel-headers package. By default it is set to karch (see
above). For sparc, for example, if will have to be set to
'sparc | sparc64' for the correct packages to be generated. See
headers-install file for details.

View File

@ -1,3 +1,4 @@
#
# Variables
#
include_common_config = no

3037
arch/i386/config.386 Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,100 +1,183 @@
Package: kernel-headers-@version@-@abiname@-sparc32
Architecture: sparc
Package: kernel-headers-2.6.11-1-386
Architecture: i386
Section: devel
Priority: optional
Depends: coreutils | fileutils (>= 4.0), kernel-headers-@version@-@abiname@
Depends: coreutils | fileutils (>= 4.0), kernel-headers-2.6.11-1
Provides: kernel-headers, kernel-headers-2.6
Description: Header files for Linux kernel @version@ on uniprocessor 32-bit SPARC
This package provides kernel header files for version @version@ on the 32-bit
SPARC architecture, used to build out-of-tree kernel modules. If you have
more than one processor, you want the kernel-headers-@version@-@abiname@-sparc64-smp
package.
Description: Linux kernel headers 2.6.11 on 386
This package provides kernel header files for version 2.6.11 on 386.
Please read /usr/share/doc/kernel-headers-2.6.11-1/debian.README.gz for
details
Package: kernel-image-@version@-@abiname@-sparc32
Package: kernel-image-2.6.11-1-386
Architecture: i386
Section: base
Architecture: sparc
Priority: optional
Provides: kernel-image, kernel-image-2.6
Suggests: silo, fdutils, kernel-doc-@version@
Depends: module-init-tools, initrd-tools (>= 0.1.74)
Description: Linux kernel binary image for UltraSPARC (sparc32) systems
This package contains the Linux kernel image, the System.map file,
and the modules built by the packager. It also contains scripts that
try to ensure that the system is not left in a unbootable state
after an update.
Depends: initrd-tools (>= 0.1.76), coreutils | fileutils (>= 4.0), module-init-tools (>= 0.9.13)
Conflicts: hotplug (<< 0.0.20040105-1)
Suggests: lilo (>= 19.1) | grub, fdutils, kernel-doc-2.6.11 | kernel-source-2.6.11
Description: Linux kernel image for version 2.6.11 on 386.
This package contains the Linux kernel image for version 2.6.11 on 386,
the corresponding System.map file, and the modules built by the packager.
It also contains scripts that try to ensure that the system is not left in
a unbootable state after an update.
.
If you wish to update a bootdisk, or to use a bootloader to make
installing and using the image easier, we suggest you install the latest
fdutils (for formatting a floppy to be used as boot disk), and LILO, for a
powerful bootloader. Of course, both these are optional.
.
Kernel image packages are generally produced using kernel-package,
and it is suggested that you install that package if you wish to
create a custom kernel from the sources.
.
NOTE: This kernel is strictly for 32-bit Super/HyperSPARC (sun4m) class
systems. If you do not have a SuperSPARC or HyperSPARC CPU, then most likely
you want the sparc64 image. See kernel-image-@version@-@abiname@-sparc64.
Package: kernel-headers-@version@-@abiname@-sparc64
Architecture: sparc
Package: kernel-headers-2.6.11-1-686
Architecture: i386
Section: devel
Priority: optional
Depends: coreutils | fileutils (>= 4.0), kernel-headers-@version@-@abiname@
Depends: coreutils | fileutils (>= 4.0), kernel-headers-2.6.11-1
Provides: kernel-headers, kernel-headers-2.6
Description: Header files for Linux kernel @version@ on uniprocessor 64-bit SPARC
This package provides kernel header files for version @version@ on the 64-bit
SPARC architecture, used to build out-of-tree kernel modules. If you have
more than one processor, you want the kernel-headers-@version@-@abiname@-sparc64-smp
package.
Description: Linux kernel headers 2.6.11 on PPro/Celeron/PII/PIII/P4
This package provides kernel header files for version 2.6.11 on
Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4.
Please read /usr/share/doc/kernel-headers-2.6.11-1/debian.README.gz for
details
Package: kernel-image-@version@-@abiname@-sparc64
Package: kernel-image-2.6.11-1-686
Architecture: i386
Section: base
Architecture: sparc
Priority: optional
Provides: kernel-image, kernel-image-2.6
Suggests: silo, fdutils, kernel-doc-@version@
Depends: module-init-tools, initrd-tools (>= 0.1.63)
Description: Linux kernel binary image for UltraSPARC (sparc64) systems
This package contains the Linux kernel image, the System.map file,
and the modules built by the packager. It also contains scripts that
try to ensure that the system is not left in a unbootable state
after an update.
Depends: initrd-tools (>= 0.1.76), coreutils | fileutils (>= 4.0), module-init-tools (>= 0.9.13)
Conflicts: hotplug (<< 0.0.20040105-1)
Suggests: lilo (>= 19.1) | grub, fdutils, kernel-doc-2.6.11 | kernel-source-2.6.11
Description: Linux kernel image for version 2.6.11 on PPro/Celeron/PII/PIII/P4.
This package contains the Linux kernel image for version 2.6.11 on
Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4,
the corresponding System.map file, and the modules built by the packager.
It also contains scripts that try to ensure that the system is not left in
a unbootable state after an update.
.
If you wish to update a bootdisk, or to use a bootloader to make
installing and using the image easier, we suggest you install the latest
fdutils (for formatting a floppy to be used as boot disk), and LILO, for a
powerful bootloader. Of course, both these are optional.
.
Kernel image packages are generally produced using kernel-package,
and it is suggested that you install that package if you wish to
create a custom kernel from the sources.
.
NOTE: This kernel is strictly for UltraSPARC (sparc64) class systems. If you
do not have an UltraSPARC, then most likely you want the sparc32 image. See
kernel-image-@version@-@abiname@-sparc32.
Package: kernel-headers-@version@-@abiname@-sparc64-smp
Architecture: sparc
Package: kernel-headers-2.6.11-1-686-smp
Architecture: i386
Section: devel
Priority: optional
Depends: coreutils | fileutils (>= 4.0), kernel-headers-@version@-@abiname@
Depends: coreutils | fileutils (>= 4.0), kernel-headers-2.6.11-1
Provides: kernel-headers, kernel-headers-2.6
Description: Header files for Linux kernel @version@ on multiprocessor 64-bit SPARC
This package provides kernel header files for version @version@ on the 64-bit
SPARC architecture, used to build out-of-tree kernel modules. If you only
have one processor, you want the kernel-headers-@version@-@abiname@-sparc64 package
instead.
Description: Linux kernel headers 2.6.11 on PPro/Celeron/PII/PIII/P4 SMP
This package provides kernel header files for version 2.6.11 on
Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4 with SMP support.
SMP (symmetric multi-processing) is needed if you have multiple processors.
Please read /usr/share/doc/kernel-headers-2.6.11-1/debian.README.gz for
details
Package: kernel-image-@version@-@abiname@-sparc64-smp
Package: kernel-image-2.6.11-1-686-smp
Architecture: i386
Section: base
Architecture: sparc
Priority: optional
Provides: kernel-image, kernel-image-2.6
Suggests: silo, fdutils, kernel-doc-@version@
Depends: module-init-tools, initrd-tools (>= 0.1.63)
Description: Linux kernel binary image for SMP UltraSPARC (sparc64) systems
This package contains the Linux kernel image, the System.map file,
and the modules built by the packager. It also contains scripts that
try to ensure that the system is not left in a unbootable state
after an update.
Depends: initrd-tools (>= 0.1.76), coreutils | fileutils (>= 4.0), module-init-tools (>= 0.9.13)
Conflicts: hotplug (<< 0.0.20040105-1)
Recommends: irqbalance
Suggests: lilo (>= 19.1) | grub, fdutils, kernel-doc-2.6.11 | kernel-source-2.6.11
Description: Linux kernel image for version 2.6.11 on PPro/Celeron/PII/PIII/P4 SMP.
This package contains the Linux kernel image for version 2.6.11 on
Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4 with SMP support,
the corresponding System.map file, and the modules built by the packager.
SMP (symmetric multi-processing) is needed if you have multiple processors.
It also contains scripts that try to ensure that the system is not left in
a unbootable state after an update.
.
If you wish to update a bootdisk, or to use a bootloader to make
installing and using the image easier, we suggest you install the latest
fdutils (for formatting a floppy to be used as boot disk), and LILO, for a
powerful bootloader. Of course, both these are optional.
.
Kernel image packages are generally produced using kernel-package,
and it is suggested that you install that package if you wish to
create a custom kernel from the sources.
Package: kernel-headers-2.6.11-1-k7
Architecture: i386
Section: devel
Priority: optional
Depends: coreutils | fileutils (>= 4.0), kernel-headers-2.6.11-1
Provides: kernel-headers, kernel-headers-2.6
Description: Linux kernel headers 2.6.11 on AMD K7
This package provides kernel header files for version 2.6.11 on
32bit AMD Duron/Athlon/AthlonXP.
Please read /usr/share/doc/kernel-headers-2.6.11-1/debian.README.gz for
details
Package: kernel-image-2.6.11-1-k7
Architecture: i386
Section: base
Priority: optional
Provides: kernel-image, kernel-image-2.6
Depends: initrd-tools (>= 0.1.76), coreutils | fileutils (>= 4.0), module-init-tools (>= 0.9.13)
Conflicts: hotplug (<< 0.0.20040105-1)
Suggests: lilo (>= 19.1) | grub, fdutils, kernel-doc-2.6.11 | kernel-source-2.6.11
Description: Linux kernel image for version 2.6.11 on AMD K7.
This package contains the Linux kernel image for version 2.6.11 on
32bit AMD Duron/Athlon/AthlonXP, the corresponding System.map file,
and the modules built by the packager.
It also contains scripts that try to ensure that the system is not left in
a unbootable state after an update.
.
NOTE: This kernel is strictly for UltraSPARC (sparc64) class systems. If you
do not have an UltraSPARC, then most likely you want the sparc32 image.
See kernel-image-@version@-@abiname@-sparc32. Also, this kernel is
specifically for SMP (multiple processors) systems. If you do not have more
than one CPU, then choose the non-SMP kernel image.
If you wish to update a bootdisk, or to use a bootloader to make
installing and using the image easier, we suggest you install the latest
fdutils (for formatting a floppy to be used as boot disk), and LILO, for a
powerful bootloader. Of course, both these are optional.
.
Kernel image packages are generally produced using kernel-package,
and it is suggested that you install that package if you wish to
create a custom kernel from the sources.
Package: kernel-headers-2.6.11-1-k7-smp
Architecture: i386
Section: devel
Priority: optional
Depends: coreutils | fileutils (>= 4.0), kernel-headers-2.6.11-1
Provides: kernel-headers, kernel-headers-2.6
Description: Linux kernel headers 2.6.11 on AMD K7 SMP
This package provides kernel header files for version 2.6.11 on
32bit AMD Duron/Athlon/AthlonXP with SMP support.
SMP (symmetric multi-processing) is needed if you have multiple processors.
Please read /usr/share/doc/kernel-headers-2.6.11-1/debian.README.gz for
details
Package: kernel-image-2.6.11-1-k7-smp
Architecture: i386
Section: base
Priority: optional
Provides: kernel-image, kernel-image-2.6
Depends: initrd-tools (>= 0.1.76), coreutils | fileutils (>= 4.0), module-init-tools (>= 0.9.13)
Conflicts: hotplug (<< 0.0.20040105-1)
Recommends: irqbalance
Suggests: lilo (>= 19.1) | grub, fdutils, kernel-doc-2.6.11 | kernel-source-2.6.11
Description: Linux kernel image for version 2.6.11 on AMD K7 SMP.
This package contains the Linux kernel image for version 2.6.11 on
32bit AMD Duron/Athlon/AthlonXP with SMP support, the corresponding
System.map file, and the modules built by the packager.
SMP (symmetric multi-processing) is needed if you have multiple processors.
It also contains scripts that try to ensure that the system is not left in
a unbootable state after an update.
.
If you wish to update a bootdisk, or to use a bootloader to make
installing and using the image easier, we suggest you install the latest
fdutils (for formatting a floppy to be used as boot disk), and LILO, for a
powerful bootloader. Of course, both these are optional.
.
Kernel image packages are generally produced using kernel-package,
and it is suggested that you install that package if you wish to
create a custom kernel from the sources.

View File

@ -1,4 +1,5 @@
#
# Variables
#
karch_deps = sparc-utils
include_common_config = 'no'
header_dirs = 'sparc | sparc64'

18
bin/touch Executable file
View File

@ -0,0 +1,18 @@
#!/bin/sh
set -e
if [ -z "${1##-*}" ] && [ "$1" != -- ]; then
exec touch.orig "$@"
fi
trap 'rm -f $TMP' EXIT
TMP=$(tempfile)
# Create the files if they don't exist.
touch.orig -a "$@"
tar -P --remove-files -cf $TMP "$@"
tar xfP $TMP
rm -f $TMP
exec touch.orig "$@"

15
debian/control.in vendored
View File

@ -4,22 +4,22 @@ Priority: optional
Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
Uploaders: Joshua Kwan <joshk@triplehelix.org>, Ben Collins <bcollins@debian.org>
Standards-Version: 3.6.1.0
Build-Depends: @karch_deps@ gcc (>= 4:3.3), kernel-tree-@version@-@ktver@, debhelper (>= 4), kernel-package, module-init-tools
Build-Depends: gcc (>= 4:3.3), kernel-tree-@version@-@ktver@, debhelper (>= 4), kernel-package, module-init-tools, sparc-utils [sparc]
Package: kernel-build-@version@-@abiname@
Architecture: @karch@
Architecture: any
Section: devel
Priority: optional
Depends: coreutils | fileutils (>= 4.0), @kbuild_deps@
Depends: coreutils | fileutils (>= 4.0), @kbpkg@
Description: Headers for building modules for Linux @version@
This package provides kernel header files for building modules for the
precompiled kernel images on the @karch@ architecture.
Package: kernel-headers-@version@-@abiname@
Architecture: @karch@
Architecture: any
Section: devel
Priority: optional
Depends: coreutils | fileutils (>= 4.0), kernel-kbuild-2.6-3 (>= 2.6.8-2)
Depends: coreutils | fileutils (>= 4.0), @kbuild_deps@
Provides: kernel-headers, kernel-headers-2.6
Description: Header files related to Linux kernel version @version@
This package provides kernel header files for version @version@, generally
@ -27,10 +27,7 @@ Description: Header files related to Linux kernel version @version@
package for more information.
.
This package consists mostly of the common files between the subarchitecture
specific header packages, which should be used for building modules (would
be nice to find a way to include the names of all subarch-specific header
packages here)
specific header packages, which should be used for building modules.
.
For more information you can also read:
/usr/share/doc/kernel-headers-@version@-@abiname@/debian.README.gz.

96
debian/rules vendored
View File

@ -25,30 +25,92 @@ ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
endif
karch = $(DEB_HOST_ARCH)
controls = $(wildcard arch/*/control.in)
configs = $(notdir $(wildcard arch/$(karch)/config.*))
ifndef flavours
flavours = $(filter-out common, $(patsubst config.%,%,$(configs)))
endif
-include arch/$(karch)/Makefile.inc
unpack: unpack-stamp
unpack-stamp: debian/control $(kdir)
ifndef header_dirs
header_dirs = $(karch)
endif
unpack: unpack-stamp
unpack-stamp: $(kdir) $(configs) header-install.out
for i in $(flavours); do \
cp -al $(kdir) build-$$i; \
cp config.$$i build-$$i/.config; \
make -C build-$$i ARCH=$(karch) oldconfig; \
done
# Have to figure out what to do with that one
# cp default $(kdir)/.config
ln -s $$(command -v touch) bin/touch.orig
touch $@
clean:
rm -f *-stamp header-install.out config.*
rm -rf $(kdir) build-* install-* bin/touch.orig
dh_clean
header-install.out: header-install
sed -e 's/@kbpkg@/$(kbpkg)/g' \
-e 's/@karch@/$(karch)/g' \
-e 's/@header_dirs@/$(header_dirs)/g' \
header-install > header-install.out
chmod u+x header-install.out
#
# Generates the kernel config file for a subarch by merging
# the arch-independent config file (arch/config.common),
# arch-specific config file (arch/$(karch)/config.common),
# and subarch specific one (arch/$(karch)/config.subarch).
# It is possible to avoid the inclusion of the arch-indep
# config file by setting include_common_config = no in the
# arch/$(karch)/Makefile.inc. Absense of any of the above
# files is ignored.
#
config.%:
@echo -n "Generating configuration file $@ ..."
@arch='arch/$(karch)/config.common'; \
subarch='arch/$(karch)/$@'; \
include=''; \
if [ '$(include_common_config)' != 'no' ]; then \
include='arch/config.common'; \
fi; \
if [ -f "$${arch}" ]; then \
include="$${include} $${arch}"; \
fi; \
if [ -f "$${subarch}" ]; then \
include="$${include} $${subarch}"; \
fi; \
cat $${include} > $@
@echo " done."
#
# Prepare debian/control by cat'ing together all the
# control files, substituting variables, removing all
# empty lines and inserting a newline before every
# line starting with 'Package:'
#
debian/control:
cat debian/control.in arch/$(karch)/control.in | \
sed -e 's/@karch@/$(karch)/g' \
-e 's/@version@/$(version)/g' \
-e 's/@karch_deps@/$(karch_deps)/g' \
-e 's/@ktver@/$(ktver)/g' \
-e 's/@abiname@/$(abiname)/g' \
-e 's/@kbuild_deps@/$(kbuild_deps)/g' > debian/control
cat debian/control.in $(controls) | \
sed -e 's/@karch@/$(karch)/g' \
-e 's/@version@/$(version)/g' \
-e 's/@ktver@/$(ktver)/g' \
-e 's/@abiname@/$(abiname)/g' \
-e 's/@kbpkg@/$(kbpkg)/g' | \
sed '/^[[:space:]]*$$/d' | \
sed 's/^Package:/\n&/g' > debian/control
$(kdir):
tar jxf /usr/src/kernel-source-$(version).tar.bz2
cd $(kdir) && $(kpatch) $(version)-$(ktver)
mkdir -p $(kdir)/debian
cp debian/changelog $(kdir)/debian
cp debian/control $(kdir)/debian
cp debian/copyright $(kdir)/debian
touch $(kdir)/debian/official
install post-install $(kdir)/debian
@echo -n "Unpacking kernel source $(version) ..."
@tar jxf /usr/src/kernel-source-$(version).tar.bz2
@cd $(kdir) && $(kpatch) $(version)-$(ktver)
@mkdir -p $(kdir)/debian
@cp debian/changelog $(kdir)/debian
@cp debian/control $(kdir)/debian
@cp debian/copyright $(kdir)/debian
@touch $(kdir)/debian/official
@install post-install $(kdir)/debian
@echo " done."

View File

@ -10,7 +10,7 @@ cd $DEBIAN_SRCTOP
-path './Documentation/*' -prune -o \
-path './debian/*' -prune -o \
-type f \( -name Makefile -o -name 'Kconfig*' \) -print
echo arch/sparc/kernel/asm-offsets.s
echo arch/@karch@/kernel/asm-offsets.s
} | cpio -pd --preserve-modification-time $OLDPWD
cd - > /dev/null
ln -s ../$kbpkg/scripts .
@ -19,7 +19,7 @@ remove=
cd include
for i in asm-*; do
case ${i#asm-} in
generic | sparc | sparc64)
generic | @header_dirs@)
;;
*)
remove="$remove $i"