Skip to contentSkip to conversation

deb-pkg: Beautify changelog

PATCH New maximilian attems 3 participants 10 messages Sep 17, 2008 – Sep 26, 2008 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 deb-pkg: Beautify changelog

Try harder to find email and maintainer name. Debian's own devscripts all use DEBEMAIL or DEBFULLNAME prior to an eventual EMAIL or NAME environment variable. Match their logic.

"Anonymous Maintainer" sounds nicer then Kernel compiler if no name is found. As bonus add more descriptive changelog entry.

---
 scripts/package/builddeb |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)
scripts/package/builddeb +20 -5
index ba6bf5d..9889a73 100644
@@ -63,14 +63,29 @@ EOF
 	chmod 755 "$tmpdir/DEBIAN/$script"
 done
 
-name="Kernel Compiler <$(id -nu)@$(hostname -f)>"
+# Try to determine maintainer and email values
+if [ -n "${DEBEMAIL}" ]; then
+	email=${DEBEMAIL}
+elif [ -n "${EMAIL}" ]; then
+	email=${EMAIL}
+else
+	email=$(id -nu)@$(hostname -f)
+fi
+if [ -n "${DEBFULLNAME}" ]; then
+	name=${DEBFULLNAME}
+elif [ -n "${NAME}" ]; then
+	name=${NAME}
+else
+	name="Anonymous Maintainer"
+fi
+maintainer="${name} <${email}>"
 # Generate a simple changelog template
 cat <<EOF > debian/changelog
 linux ($version-$revision) unstable; urgency=low
 
-  * A standard release
+  * New upstream release
 
- -- $name  $(date -R)
+ -- ${maintainer}  $(date -R)
 EOF
 
 # Generate a control file
@@ -80,7 +95,7 @@ cat <<EOF > debian/control
 Source: linux
 Section: base
 Priority: optional
-Maintainer: $name
+Maintainer: $maintainer
 Standards-Version: 3.6.1
 
 Package: $packagename
@@ -102,7 +117,7 @@ cat <<EOF > debian/control
 Source: linux
 Section: base
 Priority: optional
-Maintainer: $name
+Maintainer: $maintainer
 Standards-Version: 3.6.1
 
 Package: $packagename
Signature · 1 line
1.5.6.5
#1 lore raw

PATCH 1/1 deb-pkg: Fix Provides field

kernel-image naming has been dropped for the Lenny release and was only transitional for Etch.

as it builds modules it provides linux-modules-$version

---
 scripts/package/builddeb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
scripts/package/builddeb +2 -2
index 9889a73..8c69b9e 100644
@@ -99,7 +99,7 @@ Maintainer: $maintainer
 Standards-Version: 3.6.1
 
 Package: $packagename
-Provides: kernel-image-$version, linux-image-$version
+Provides: linux-image, linux-image-2.6, linux-modules-$version
 Architecture: any
 Description: User Mode Linux kernel, version $version
  User-mode Linux is a port of the Linux kernel to its own system call
@@ -121,7 +121,7 @@ Maintainer: $maintainer
 Standards-Version: 3.6.1
 
 Package: $packagename
-Provides: kernel-image-$version, linux-image-$version
+Provides: linux-image, linux-image-2.6, linux-modules-$version
 Architecture: any
 Description: Linux kernel, version $version
  This package contains the Linux kernel, modules and corresponding other
Signature · 1 line
1.5.6.5
#2 lore raw

PATCH 1/1 deb-pkg: bump standards version

Latest Debian policy is 3.8.0.
Even if we are not yet compliant to it strive for the latest.

---
 scripts/package/builddeb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
scripts/package/builddeb +2 -2
index 8c69b9e..19d933e 100644
@@ -96,7 +96,7 @@ Source: linux
 Section: base
 Priority: optional
 Maintainer: $maintainer
-Standards-Version: 3.6.1
+Standards-Version: 3.8.0
 
 Package: $packagename
 Provides: linux-image, linux-image-2.6, linux-modules-$version
@@ -118,7 +118,7 @@ Source: linux
 Section: base
 Priority: optional
 Maintainer: $maintainer
-Standards-Version: 3.6.1
+Standards-Version: 3.8.0
 
 Package: $packagename
 Provides: linux-image, linux-image-2.6, linux-modules-$version
Signature · 1 line
1.5.6.5
#3 lore raw

PATCH 1/1 deb-pkg: Fix Section and Source field

Base section has been removed, the base is defined by Priority field. Source is linux-2.6.

---
 scripts/package/builddeb |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
scripts/package/builddeb +5 -5
index 19d933e..757206f 100644
@@ -81,7 +81,7 @@ fi
 maintainer="${name} <${email}>"
 # Generate a simple changelog template
 cat <<EOF > debian/changelog
-linux ($version-$revision) unstable; urgency=low
+linux-2.6 ($version-$revision) unstable; urgency=low
 
   * New upstream release
 
@@ -92,8 +92,8 @@ EOF
 if [ "$ARCH" == "um" ]; then
 
 cat <<EOF > debian/control
-Source: linux
-Section: base
+Source: linux-2.6
+Section: admin
 Priority: optional
 Maintainer: $maintainer
 Standards-Version: 3.8.0
@@ -114,8 +114,8 @@ EOF
 
 else
 cat <<EOF > debian/control
-Source: linux
-Section: base
+Source: linux-2.6
+Section: admin
 Priority: optional
 Maintainer: $maintainer
 Standards-Version: 3.8.0
Signature · 1 line
1.5.6.5
#4 lore raw

PATCH 1/1 deb-pkg: Generate a debian/copyright

add a basic debian/copyright to the binary package.

---
 scripts/package/builddeb |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
scripts/package/builddeb +20 -0
index 757206f..ed33624 100644
@@ -88,6 +88,26 @@ linux-2.6 ($version-$revision) unstable; urgency=low
  -- ${maintainer}  $(date -R)
 EOF
 
+# Generate copyright file
+cat <<EOF > debian/copyright
+This is a packacked upstream version of the Linux kernel.
+
+The sources may be found at most Linux ftp sites, including
+ftp://ftp.kernel.org/pub/linux/kernel
+
+Copyright: 1991 - 2008 Linus Torvalds and others.
+
+see git history
+git://git.eu.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2 dated June, 1991.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License can be found in \`/usr/share/common-licenses/GPL'.
+EOF
+
 # Generate a control file
 if [ "$ARCH" == "um" ]; then
 
Signature · 1 line
1.5.6.5
#5 lore raw

PATCH 1/1 deb-pkg: Fix generated packagename

The binary package that make deb-pkg creates is a linux-image. To be fixed may also be the addition of $DEB_ARCH.

---
 scripts/package/builddeb |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
scripts/package/builddeb +1 -1
index ed33624..01964f4 100644
@@ -15,7 +15,7 @@ set -e
 version=$KERNELRELEASE
 revision=`cat .version`
 tmpdir="$objtree/debian/tmp"
-packagename=linux-$version
+packagename=linux-image-$version
 
 if [ "$ARCH" == "um" ] ; then
 	packagename=user-mode-linux-$version
Signature · 1 line
1.5.6.5
#6 lore raw

PATCH 1/1 deb-pkg: generate changelog, copyright and control on demand

if one those files are already in place don't overwrite it.

---
 scripts/package/builddeb |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
scripts/package/builddeb +14 -0
index 01964f4..b690a91 100644
@@ -63,6 +63,10 @@ EOF
 	chmod 755 "$tmpdir/DEBIAN/$script"
 done
 
+[ -f debian/changelog ] || gen_changelog
+[ -f debian/copyright ] || gen_copyright
+[ -f debian/control ] || gen_control
+
 # Try to determine maintainer and email values
 if [ -n "${DEBEMAIL}" ]; then
 	email=${DEBEMAIL}
@@ -79,7 +83,10 @@ else
 	name="Anonymous Maintainer"
 fi
 maintainer="${name} <${email}>"
+
 # Generate a simple changelog template
+gen_changelog()
+{
 cat <<EOF > debian/changelog
 linux-2.6 ($version-$revision) unstable; urgency=low
 
@@ -87,8 +94,11 @@ linux-2.6 ($version-$revision) unstable; urgency=low
 
  -- ${maintainer}  $(date -R)
 EOF
+}
 
 # Generate copyright file
+gen_copyright()
+{
 cat <<EOF > debian/copyright
 This is a packacked upstream version of the Linux kernel.
 
@@ -107,8 +117,11 @@ git://git.eu.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
 On Debian GNU/Linux systems, the complete text of the GNU General
 Public License can be found in \`/usr/share/common-licenses/GPL'.
 EOF
+}
 
 # Generate a control file
+gen_control()
+{
 if [ "$ARCH" == "um" ]; then
 
 cat <<EOF > debian/control
@@ -148,6 +161,7 @@ Description: Linux kernel, version $version
  files version $version
 EOF
 fi
+}
 
 # Fix some ownership and permissions
 chown -R root:root "$tmpdir"
Signature · 1 line
1.5.6.5
#7 lore raw

Re: [PATCH] deb-pkg: Generate a debian/copyright

In reply to maximilian attems

scripts/package/builddeb linux-2.6 ($version-$revision) unstable; urgency=low · line 101

Quoted 9 lines · maximilian attems

...

scripts/package/builddeb +4 -0
...
+Copyright: 1991 - 2008 Linus Torvalds and others.
+
+see git history
+git://git.eu.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
...

I'm wondering why you are not using git.kernel.org.

Also note that if you are interested in all copyright holders then the git history does not contain the older information.

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#8 lore raw

Re: [PATCH] deb-pkg: Generate a debian/copyright

Quoted 12 lines · Adrian Bunk

scripts/package/builddeb linux-2.6 ($version-$revision) unstable; urgency=low · line 101

Quoted 9 lines · maximilian attems

...

scripts/package/builddeb +4 -0
...
+Copyright: 1991 - 2008 Linus Torvalds and others.
+
+see git history
+git://git.eu.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
...

I'm wondering why you are not using git.kernel.org.

right bad c&p.
faster here, will resend this one.

Quoted 2 lines

Also note that if you are interested in all copyright holders then the git history does not contain the older information.

sure, never stated to want to list all copyright holder as some guys, which like to overinflate debian/copyright.

thanks

Signature · 1 line
maks
#9 lore raw

Re: [PATCH] deb-pkg: Fix Provides field

In reply to maximilian attems
Quoted 16 lines · On Wed, 17 Sep 2008 22:09:50 +0200 maximilian attems <[email protected]> wrote:

kernel-image naming has been dropped for the Lenny release and was only transitional for Etch.

as it builds modules it provides linux-modules-$version

---
 scripts/package/builddeb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
scripts/package/builddeb +0 -0
index 9889a73..8c69b9e 100644

scripts/package/builddeb Maintainer: $maintainer · line 102

Quoted 5 lines
scripts/package/builddeb +1 -1
@@ -99,7 +99,7 @@ Maintainer: $maintainer
 Standards-Version: 3.6.1
 
 Package: $packagename
-Provides: kernel-image-$version, linux-image-$version
+Provides: linux-image, linux-image-2.6, linux-modules-$version

Hm, I'd recommend making the linux-modules* stuff configurable. Ubuntu's kernel provides look like the following:

Provides: fuse-module, ivtv-modules, kvm-api-4, linux-image, linux-image-2.6, redhat-cluster-modules

scripts/package/builddeb Maintainer: $maintainer · line 124

Quoted 9 lines
scripts/package/builddeb +1 -1
 Architecture: any
 Description: User Mode Linux kernel, version $version
  User-mode Linux is a port of the Linux kernel to its own system call
@@ -121,7 +121,7 @@ Maintainer: $maintainer
 Standards-Version: 3.6.1
 
 Package: $packagename
-Provides: kernel-image-$version, linux-image-$version
+Provides: linux-image, linux-image-2.6, linux-modules-$version

Ditto.

Quoted 4 lines
scripts/package/builddeb +0 -0
 Architecture: any
 Description: Linux kernel, version $version
  This package contains the Linux kernel, modules and corresponding

other