* 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 # 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 Package: kernel-headers-2.6.11-1-386
Architecture: sparc Architecture: i386
Section: devel Section: devel
Priority: optional 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 Provides: kernel-headers, kernel-headers-2.6
Description: Header files for Linux kernel @version@ on uniprocessor 32-bit SPARC Description: Linux kernel headers 2.6.11 on 386
This package provides kernel header files for version @version@ on the 32-bit This package provides kernel header files for version 2.6.11 on 386.
SPARC architecture, used to build out-of-tree kernel modules. If you have Please read /usr/share/doc/kernel-headers-2.6.11-1/debian.README.gz for
more than one processor, you want the kernel-headers-@version@-@abiname@-sparc64-smp details
package.
Package: kernel-image-@version@-@abiname@-sparc32 Package: kernel-image-2.6.11-1-386
Architecture: i386
Section: base Section: base
Architecture: sparc
Priority: optional Priority: optional
Provides: kernel-image, kernel-image-2.6 Provides: kernel-image, kernel-image-2.6
Suggests: silo, fdutils, kernel-doc-@version@ Depends: initrd-tools (>= 0.1.76), coreutils | fileutils (>= 4.0), module-init-tools (>= 0.9.13)
Depends: module-init-tools, initrd-tools (>= 0.1.74) Conflicts: hotplug (<< 0.0.20040105-1)
Description: Linux kernel binary image for UltraSPARC (sparc32) systems Suggests: lilo (>= 19.1) | grub, fdutils, kernel-doc-2.6.11 | kernel-source-2.6.11
This package contains the Linux kernel image, the System.map file, Description: Linux kernel image for version 2.6.11 on 386.
and the modules built by the packager. It also contains scripts that This package contains the Linux kernel image for version 2.6.11 on 386,
try to ensure that the system is not left in a unbootable state the corresponding System.map file, and the modules built by the packager.
after an update. 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, Kernel image packages are generally produced using kernel-package,
and it is suggested that you install that package if you wish to and it is suggested that you install that package if you wish to
create a custom kernel from the sources. 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 Package: kernel-headers-2.6.11-1-686
Architecture: sparc Architecture: i386
Section: devel Section: devel
Priority: optional 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 Provides: kernel-headers, kernel-headers-2.6
Description: Header files for Linux kernel @version@ on uniprocessor 64-bit SPARC Description: Linux kernel headers 2.6.11 on PPro/Celeron/PII/PIII/P4
This package provides kernel header files for version @version@ on the 64-bit This package provides kernel header files for version 2.6.11 on
SPARC architecture, used to build out-of-tree kernel modules. If you have Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4.
more than one processor, you want the kernel-headers-@version@-@abiname@-sparc64-smp Please read /usr/share/doc/kernel-headers-2.6.11-1/debian.README.gz for
package. details
Package: kernel-image-@version@-@abiname@-sparc64 Package: kernel-image-2.6.11-1-686
Architecture: i386
Section: base Section: base
Architecture: sparc
Priority: optional Priority: optional
Provides: kernel-image, kernel-image-2.6 Provides: kernel-image, kernel-image-2.6
Suggests: silo, fdutils, kernel-doc-@version@ Depends: initrd-tools (>= 0.1.76), coreutils | fileutils (>= 4.0), module-init-tools (>= 0.9.13)
Depends: module-init-tools, initrd-tools (>= 0.1.63) Conflicts: hotplug (<< 0.0.20040105-1)
Description: Linux kernel binary image for UltraSPARC (sparc64) systems Suggests: lilo (>= 19.1) | grub, fdutils, kernel-doc-2.6.11 | kernel-source-2.6.11
This package contains the Linux kernel image, the System.map file, Description: Linux kernel image for version 2.6.11 on PPro/Celeron/PII/PIII/P4.
and the modules built by the packager. It also contains scripts that This package contains the Linux kernel image for version 2.6.11 on
try to ensure that the system is not left in a unbootable state Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4,
after an update. 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, Kernel image packages are generally produced using kernel-package,
and it is suggested that you install that package if you wish to and it is suggested that you install that package if you wish to
create a custom kernel from the sources. 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 Package: kernel-headers-2.6.11-1-686-smp
Architecture: sparc Architecture: i386
Section: devel Section: devel
Priority: optional 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 Provides: kernel-headers, kernel-headers-2.6
Description: Header files for Linux kernel @version@ on multiprocessor 64-bit SPARC Description: Linux kernel headers 2.6.11 on PPro/Celeron/PII/PIII/P4 SMP
This package provides kernel header files for version @version@ on the 64-bit This package provides kernel header files for version 2.6.11 on
SPARC architecture, used to build out-of-tree kernel modules. If you only Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4 with SMP support.
have one processor, you want the kernel-headers-@version@-@abiname@-sparc64 package SMP (symmetric multi-processing) is needed if you have multiple processors.
instead. 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 Section: base
Architecture: sparc
Priority: optional Priority: optional
Provides: kernel-image, kernel-image-2.6 Provides: kernel-image, kernel-image-2.6
Suggests: silo, fdutils, kernel-doc-@version@ Depends: initrd-tools (>= 0.1.76), coreutils | fileutils (>= 4.0), module-init-tools (>= 0.9.13)
Depends: module-init-tools, initrd-tools (>= 0.1.63) Conflicts: hotplug (<< 0.0.20040105-1)
Description: Linux kernel binary image for SMP UltraSPARC (sparc64) systems Recommends: irqbalance
This package contains the Linux kernel image, the System.map file, Suggests: lilo (>= 19.1) | grub, fdutils, kernel-doc-2.6.11 | kernel-source-2.6.11
and the modules built by the packager. It also contains scripts that Description: Linux kernel image for version 2.6.11 on PPro/Celeron/PII/PIII/P4 SMP.
try to ensure that the system is not left in a unbootable state This package contains the Linux kernel image for version 2.6.11 on
after an update. 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, Kernel image packages are generally produced using kernel-package,
and it is suggested that you install that package if you wish to and it is suggested that you install that package if you wish to
create a custom kernel from the sources. 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 If you wish to update a bootdisk, or to use a bootloader to make
do not have an UltraSPARC, then most likely you want the sparc32 image. installing and using the image easier, we suggest you install the latest
See kernel-image-@version@-@abiname@-sparc32. Also, this kernel is fdutils (for formatting a floppy to be used as boot disk), and LILO, for a
specifically for SMP (multiple processors) systems. If you do not have more powerful bootloader. Of course, both these are optional.
than one CPU, then choose the non-SMP kernel image. .
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 # 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> Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
Uploaders: Joshua Kwan <joshk@triplehelix.org>, Ben Collins <bcollins@debian.org> Uploaders: Joshua Kwan <joshk@triplehelix.org>, Ben Collins <bcollins@debian.org>
Standards-Version: 3.6.1.0 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@ Package: kernel-build-@version@-@abiname@
Architecture: @karch@ Architecture: any
Section: devel Section: devel
Priority: optional Priority: optional
Depends: coreutils | fileutils (>= 4.0), @kbuild_deps@ Depends: coreutils | fileutils (>= 4.0), @kbpkg@
Description: Headers for building modules for Linux @version@ Description: Headers for building modules for Linux @version@
This package provides kernel header files for building modules for the This package provides kernel header files for building modules for the
precompiled kernel images on the @karch@ architecture. precompiled kernel images on the @karch@ architecture.
Package: kernel-headers-@version@-@abiname@ Package: kernel-headers-@version@-@abiname@
Architecture: @karch@ Architecture: any
Section: devel Section: devel
Priority: optional 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 Provides: kernel-headers, kernel-headers-2.6
Description: Header files related to Linux kernel version @version@ Description: Header files related to Linux kernel version @version@
This package provides kernel header files for version @version@, generally 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. package for more information.
. .
This package consists mostly of the common files between the subarchitecture This package consists mostly of the common files between the subarchitecture
specific header packages, which should be used for building modules (would specific header packages, which should be used for building modules.
be nice to find a way to include the names of all subarch-specific header
packages here)
. .
For more information you can also read: For more information you can also read:
/usr/share/doc/kernel-headers-@version@-@abiname@/debian.README.gz. /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 endif
karch = $(DEB_HOST_ARCH) karch = $(DEB_HOST_ARCH)
controls = $(wildcard arch/*/control.in)
configs = $(notdir $(wildcard arch/$(karch)/config.*)) configs = $(notdir $(wildcard arch/$(karch)/config.*))
ifndef flavours ifndef flavours
flavours = $(filter-out common, $(patsubst config.%,%,$(configs))) flavours = $(filter-out common, $(patsubst config.%,%,$(configs)))
endif endif
-include arch/$(karch)/Makefile.inc -include arch/$(karch)/Makefile.inc
unpack: unpack-stamp ifndef header_dirs
unpack-stamp: debian/control $(kdir) 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: debian/control:
cat debian/control.in arch/$(karch)/control.in | \ cat debian/control.in $(controls) | \
sed -e 's/@karch@/$(karch)/g' \ sed -e 's/@karch@/$(karch)/g' \
-e 's/@version@/$(version)/g' \ -e 's/@version@/$(version)/g' \
-e 's/@karch_deps@/$(karch_deps)/g' \ -e 's/@ktver@/$(ktver)/g' \
-e 's/@ktver@/$(ktver)/g' \ -e 's/@abiname@/$(abiname)/g' \
-e 's/@abiname@/$(abiname)/g' \ -e 's/@kbpkg@/$(kbpkg)/g' | \
-e 's/@kbuild_deps@/$(kbuild_deps)/g' > debian/control sed '/^[[:space:]]*$$/d' | \
sed 's/^Package:/\n&/g' > debian/control
$(kdir): $(kdir):
tar jxf /usr/src/kernel-source-$(version).tar.bz2 @echo -n "Unpacking kernel source $(version) ..."
cd $(kdir) && $(kpatch) $(version)-$(ktver) @tar jxf /usr/src/kernel-source-$(version).tar.bz2
mkdir -p $(kdir)/debian @cd $(kdir) && $(kpatch) $(version)-$(ktver)
cp debian/changelog $(kdir)/debian @mkdir -p $(kdir)/debian
cp debian/control $(kdir)/debian @cp debian/changelog $(kdir)/debian
cp debian/copyright $(kdir)/debian @cp debian/control $(kdir)/debian
touch $(kdir)/debian/official @cp debian/copyright $(kdir)/debian
install post-install $(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 './Documentation/*' -prune -o \
-path './debian/*' -prune -o \ -path './debian/*' -prune -o \
-type f \( -name Makefile -o -name 'Kconfig*' \) -print -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 } | cpio -pd --preserve-modification-time $OLDPWD
cd - > /dev/null cd - > /dev/null
ln -s ../$kbpkg/scripts . ln -s ../$kbpkg/scripts .
@ -19,7 +19,7 @@ remove=
cd include cd include
for i in asm-*; do for i in asm-*; do
case ${i#asm-} in case ${i#asm-} in
generic | sparc | sparc64) generic | @header_dirs@)
;; ;;
*) *)
remove="$remove $i" remove="$remove $i"