On Tue, Apr 19, 2011 at 10:51:41PM +0530, Neha Bhende wrote: > Dear mentors, > > I am looking for a sponsor for my package "tinycalc". > > * Package name : tinycalc > Version : 0.1-1 > Upstream Author : Rocco Folino <lordzen@autilsici.org> > * URL : http://tinycalc.sourceforge.net > * License : GPL > Section : utils > > It builds these binary packages: > tinycalc - command line calculator for developers Hi, Thanks for packaging this - it looks like a simple, useful tool! What do you think about the attached simple patches that try to address various nits, some in the packaging, some in the upstream program? Except for the Standards-Version bump, the watch file and the description fixes, all the rest are suggestions rather than mandatory fixes - they are all things that I'd do for my own Debian packages, but of course it's up to you whether you want to do things that way or not :) > The package appears to be lintian clean. That's a bit doubtful, esp. in light of one of the patches that I've sent you :) Which version of Lintian did you check with, and what Lintian flags - or is that just an artifact from the mentors.d.n template? :) (for the record, I use "lintian -IiE --pedantic" and usually try to pay attention even to the pedantic-level messages) A couple of further suggestions: - if you use some kind of version control system (Git, Subversion, CVS, etc.) for the Debian packaging, it'd be a good idea to note that in the debian/control file - add the Vcs-* headers to the source package - is there really a need for the "extra" priority? IMHO this package deserves "optional" :) - you might want to let the upstream author know that it's not always a good idea to leave the .svn/ directories in the release tarball :) G'luck, Peter -- Peter Pentchev roam@ringlet.net roam@FreeBSD.org peter@packetscale.com PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 This sentence contradicts itself - or rather - well, no, actually it doesn't!
From d468004565dcd0d45731a306d8229f6f9d543662 Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 12:43:11 +0300 Subject: [PATCH 01/12] Fix some unusual spacing :) --- debian/control | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/debian/control b/debian/control index 39785c3..03b0fae 100644 --- a/debian/control +++ b/debian/control @@ -4,12 +4,12 @@ Priority: extra Maintainer: Neha Bhende <neha.bhende10@gmail.com> Build-Depends: debhelper (>= 7), autotools-dev Standards-Version: 3.8.4 -Homepage: http://tinycalc.sourceforge.net +Homepage: http://tinycalc.sourceforge.net Package: tinycalc Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: command line calculator for developers - Tiny Calculator is a command line calculator. It can resolve a - complex expression mixing decimal, esadecimal an binary number. + Tiny Calculator is a command line calculator. It can resolve a + complex expression mixing decimal, esadecimal an binary number. The result is automatic converted in decimal, esadecimal ad binary format. -- 1.7.4.1
From 3e6bd80fb816b5692c2b3bb1ab968acf2a97516d Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 12:51:23 +0300 Subject: [PATCH 02/12] Bump Standards-Version to 3.9.2 with no changes. --- debian/control | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/debian/control b/debian/control index 03b0fae..dca0759 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: utils Priority: extra Maintainer: Neha Bhende <neha.bhende10@gmail.com> Build-Depends: debhelper (>= 7), autotools-dev -Standards-Version: 3.8.4 +Standards-Version: 3.9.2 Homepage: http://tinycalc.sourceforge.net Package: tinycalc -- 1.7.4.1
From f0677657c0a7fd45ba45323f19a2d2f34e54f23a Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 12:53:14 +0300 Subject: [PATCH 03/12] Add a watch file using the Debian sf.net redirector. --- debian/watch | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) create mode 100644 debian/watch diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..31f7584 --- /dev/null +++ b/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://sf.net/tinycalc/ tinycalc-([\d.]+)\.tar\.gz -- 1.7.4.1
From 366258a85c178dbd39cb22fb3d642010a3f27b85 Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 13:38:20 +0300 Subject: [PATCH 04/12] Fix some typographical and grammatical errors in the package description. --- debian/control | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/debian/control b/debian/control index dca0759..68c699b 100644 --- a/debian/control +++ b/debian/control @@ -9,7 +9,8 @@ Homepage: http://tinycalc.sourceforge.net Package: tinycalc Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} -Description: command line calculator for developers - Tiny Calculator is a command line calculator. It can resolve a - complex expression mixing decimal, esadecimal an binary number. - The result is automatic converted in decimal, esadecimal ad binary format. +Description: command-line calculator for developers + Tiny Calculator is a command-line calculator. It can resolve a + complex expression mixing decimal, esadecimal and binary numbers. + The result is automatically converted into decimal, esadecimal and + binary format. -- 1.7.4.1
From 80d6b34656cc2844d53011be8df3ace7251c424b Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 13:47:42 +0300 Subject: [PATCH 05/12] Convert the copyright file to the DEP 5 candidate format. --- debian/copyright | 46 ++++++++++++++++++++-------------------------- 1 files changed, 20 insertions(+), 26 deletions(-) diff --git a/debian/copyright b/debian/copyright index c213395..4db62a4 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,26 +1,20 @@ -This work was packaged for Debian by: - - Neha Bhende <neha.bhende10@gmail.com> on Tue, 19 Apr 2011 12:22:23 +0530 - -It was downloaded from http://tinycalc.sourceforge.net - -Upstream Author(s): - - Rocco Folino <lordzen@autistici.org> - - -Copyright: - - <Copyright (C) 2008-2009 Rocco Folino> - - -License: - - GPL - -The Debian packaging is: - - Copyright (C) 2011 Neha Bhende <neha.bhende10@gmail.com> - -and is licensed under the GPL version 3, -see `/usr/share/common-licenses/GPL-3'. +Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=174 +Upstream-Name: tinycalc +Upstream-Contact: Rocco Folino <lordzen@autistici.org> +Source: http://tinycalc.sourceforge.net/ + +Files * +Copyright: 2008-2009 LordZen +License: GPL-3+ + +Files: debian/* +Copyright: 2011 Neha Bhende <neha.bhende10@gmail.com> +License: GPL-3+ + +License: GPL-3+ + This program is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License; either version 3 of the License, + or (at your option) any later version. + . + On Debian systems, the full text of the GNU General Public License version 3 + can be found in `/usr/share/common-licenses/GPL-3'. -- 1.7.4.1
From 58684bc2839c79cf4427919a36400fd2ddcf7380 Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 13:55:24 +0300 Subject: [PATCH 06/12] Fix some typographical and grammatical errors in the manual page. --- debian/patches/01-manpage-typos.patch | 40 +++++++++++++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 41 insertions(+), 0 deletions(-) create mode 100644 debian/patches/01-manpage-typos.patch create mode 100644 debian/patches/series diff --git a/debian/patches/01-manpage-typos.patch b/debian/patches/01-manpage-typos.patch new file mode 100644 index 0000000..b3f5f25 --- /dev/null +++ b/debian/patches/01-manpage-typos.patch @@ -0,0 +1,40 @@ +Description: Fix some typographical and grammatical errors. +Forwarded: no +Author: Peter Pentchev <roam@ringlet.net> +Last-Update: 2011-04-20 + +Index: b/docs/tinycalc.1 +=================================================================== +--- a/docs/tinycalc.1 ++++ b/docs/tinycalc.1 +@@ -2,17 +2,17 @@ + .\" + .TH "TINYCALC" "1" "Tiny Calculator" "" "Tiny Calculator" + .SH NAME +-tinycalc \- command line calculator ++tinycalc \- command-line calculator + .SH SYNOPSIS + .B tinycalc + [\fIEXPRESSION\fR] + .SH DESCRIPTION + .PP +-Tiny Calculator is a command line calculator. ++Tiny Calculator is a command-line calculator. + .br +-It can resolve a complex expression mixing decimal, esadecimal and binary number. ++It can resolve a complex expression mixing decimal, esadecimal and binary numbers. + .br +-The result is automatic converted in decimal, esadecimal ad binary format. ++The result is automatically converted into decimal, esadecimal and binary format. + .SH EXPRESSION SPECIFICATION + .PP + The format of an expression must follow this grammar: +@@ -53,7 +53,7 @@ + .B tinycalc 200 + .SH BUGS + .PP +-Please send bug-report, patches or suggestions to <lordzen@autistici.org> ++Please send bug reports, patches or suggestions to <lordzen@autistici.org> + + .SH AUTHOR + Rocco Folino (LordZen) <lordzen@autistici.org> diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..52f9159 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +01-manpage-typos.patch -- 1.7.4.1
From 9f36f0847157df70bfd1ba9cfe19eda9cbd9bade Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 14:08:35 +0300 Subject: [PATCH 07/12] Use dpkg-buildflags to obtain the default CFLAGS, CPPFLAGS and LDFLAGS. --- debian/control | 2 +- debian/rules | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/debian/control b/debian/control index 68c699b..e42cba7 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: tinycalc Section: utils Priority: extra Maintainer: Neha Bhende <neha.bhende10@gmail.com> -Build-Depends: debhelper (>= 7), autotools-dev +Build-Depends: debhelper (>= 7), autotools-dev, dpkg-dev (>= 1.15.7~) Standards-Version: 3.9.2 Homepage: http://tinycalc.sourceforge.net diff --git a/debian/rules b/debian/rules index 917d9bf..2d910d5 100755 --- a/debian/rules +++ b/debian/rules @@ -9,5 +9,11 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 +CFLAGS:= $(shell dpkg-buildflags --get CFLAGS) +CPPFLAGS:= $(shell dpkg-buildflags --get CPPFLAGS) +LDFLAGS:= $(shell dpkg-buildflags --get LDFLAGS) + +export CFLAGS CPPFLAGS LDFLAGS + %: dh $@ -- 1.7.4.1
From 60ec9a9e2343c2f02bc21f5e1d1cffcd064cdc48 Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 14:14:53 +0300 Subject: [PATCH 08/12] Build with -Werror if the "werror" build option is specified. --- debian/patches/02-warnings.patch | 41 ++++++++++++++++++++++++++++++++++++++ debian/patches/series | 1 + debian/rules | 4 +++ 3 files changed, 46 insertions(+), 0 deletions(-) create mode 100644 debian/patches/02-warnings.patch diff --git a/debian/patches/02-warnings.patch b/debian/patches/02-warnings.patch new file mode 100644 index 0000000..cd06106 --- /dev/null +++ b/debian/patches/02-warnings.patch @@ -0,0 +1,41 @@ +Description: Fix the configure test for pow(3). +Forwarded: no +Author: Peter Pentchev <roam@ringlet.net> +Last-Update: 2011-04-20 + +Index: b/configure +=================================================================== +--- a/configure ++++ b/configure +@@ -3712,11 +3712,11 @@ + #ifdef __cplusplus + extern "C" + #endif +-char pow (); ++double pow (double, double); + int + main () + { +-return pow (); ++return pow (2, 3); + ; + return 0; + } +@@ -4827,7 +4827,7 @@ + #ifdef __cplusplus + extern "C" + #endif +-char $ac_func (); ++double $ac_func (double, double); + /* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +@@ -4838,7 +4838,7 @@ + int + main () + { +-return $ac_func (); ++return $ac_func (2, 3); + ; + return 0; + } diff --git a/debian/patches/series b/debian/patches/series index 52f9159..2e9440c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ 01-manpage-typos.patch +02-warnings.patch diff --git a/debian/rules b/debian/rules index 2d910d5..9d77396 100755 --- a/debian/rules +++ b/debian/rules @@ -13,6 +13,10 @@ CFLAGS:= $(shell dpkg-buildflags --get CFLAGS) CPPFLAGS:= $(shell dpkg-buildflags --get CPPFLAGS) LDFLAGS:= $(shell dpkg-buildflags --get LDFLAGS) +ifneq (,$(filter werror,$(DEB_BUILD_OPTIONS))) + CFLAGS+= -Werror +endif + export CFLAGS CPPFLAGS LDFLAGS %: -- 1.7.4.1
From 876173694457b2ac8ff56d7443cb6df9b23010aa Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 14:30:52 +0300 Subject: [PATCH 09/12] Add the 02-warnings patch and build with more compiler warning flags. --- debian/patches/02-warnings.patch | 65 +++++++++++++++++++++++++++++++++++++- debian/rules | 4 ++ 2 files changed, 68 insertions(+), 1 deletions(-) diff --git a/debian/patches/02-warnings.patch b/debian/patches/02-warnings.patch index cd06106..dc6fdf7 100644 --- a/debian/patches/02-warnings.patch +++ b/debian/patches/02-warnings.patch @@ -1,4 +1,8 @@ -Description: Fix the configure test for pow(3). +Description: Fix some compiler warnings. + - fix the configure test for pow(3) + - mark debug()'s parameter as unused + - fix a signed/unsigned warning in dec2bin() + - constify a couple of strings Forwarded: no Author: Peter Pentchev <roam@ringlet.net> Last-Update: 2011-04-20 @@ -39,3 +43,62 @@ Index: b/configure ; return 0; } +Index: b/tinycalc.c +=================================================================== +--- a/tinycalc.c ++++ b/tinycalc.c +@@ -27,6 +27,14 @@ + #include "convert.h" + #include "parser.h" + ++#ifndef __unused ++#ifdef __GNUC__ ++#define __unused __attribute__((unused)) ++#else /* __GNUC__ */ ++#define __unused ++#endif /* __GNUC__ */ ++#endif /* __unused */ ++ + void usage(char *progname) + { + printf("\n:: Tiny Calculator %s ::\n",PACKAGE_VERSION); +@@ -36,14 +44,14 @@ + exit(0); + } + +-void show_debug(char *s) ++void show_debug(const char *s __unused) + { + #ifdef DEBUG + printf("[*] DEBUG: %s\n",s); + #endif + } + +-void show_error(char *s) ++void show_error(const char *s) + { + printf("\n[**] FATAL: %s\n\n",s); + exit(-1); +@@ -153,7 +161,7 @@ + + void dec2bin(unsigned long num,char *bin) + { +- int i = 0; ++ unsigned i = 0; + char buffer[MAX_BIT_BIN+1]; + + //pointer to the end of buffer +Index: b/debug.h +=================================================================== +--- a/debug.h ++++ b/debug.h +@@ -19,7 +19,7 @@ + #ifndef DEBUG_H + #define DEBUG_H + +-void show_debug(char *s); +-void show_error(char *s); ++void show_debug(const char *s); ++void show_error(const char *s); + + #endif //DEBUG_H diff --git a/debian/rules b/debian/rules index 9d77396..61aaec9 100755 --- a/debian/rules +++ b/debian/rules @@ -13,6 +13,10 @@ CFLAGS:= $(shell dpkg-buildflags --get CFLAGS) CPPFLAGS:= $(shell dpkg-buildflags --get CPPFLAGS) LDFLAGS:= $(shell dpkg-buildflags --get LDFLAGS) +CFLAGS+= -pipe -Wall -W -std=c99 -pedantic -Wbad-function-cast \ + -Wcast-align -Wcast-qual -Wchar-subscripts -Winline \ + -Wnested-externs -Wpointer-arith \ + -Wredundant-decls -Wshadow -Wwrite-strings ifneq (,$(filter werror,$(DEB_BUILD_OPTIONS))) CFLAGS+= -Werror endif -- 1.7.4.1
From 7b8995106eebe95c9c3dd94667bf60291ed03d39 Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 14:35:57 +0300 Subject: [PATCH 10/12] Harden the build unless the "nohardening" option is specified. --- debian/control | 2 +- debian/rules | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/debian/control b/debian/control index e42cba7..c115509 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: tinycalc Section: utils Priority: extra Maintainer: Neha Bhende <neha.bhende10@gmail.com> -Build-Depends: debhelper (>= 7), autotools-dev, dpkg-dev (>= 1.15.7~) +Build-Depends: debhelper (>= 7), autotools-dev, dpkg-dev (>= 1.15.7~), hardening-includes Standards-Version: 3.9.2 Homepage: http://tinycalc.sourceforge.net diff --git a/debian/rules b/debian/rules index 61aaec9..c6466c2 100755 --- a/debian/rules +++ b/debian/rules @@ -21,6 +21,12 @@ ifneq (,$(filter werror,$(DEB_BUILD_OPTIONS))) CFLAGS+= -Werror endif +include /usr/share/hardening-includes/hardening.make +ifeq (,$(filter nohardening,$(DEB_BUILD_OPTIONS))) +CFLAGS+= $(HARDENING_CFLAGS) +LDFLAGS+= $(HARDENING_LDFLAGS) +endif + export CFLAGS CPPFLAGS LDFLAGS %: -- 1.7.4.1
From 20ee25634eed479f80fa00c21f3e014bb199d72a Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 14:37:52 +0300 Subject: [PATCH 11/12] Bump the debhelper compat level to 8 with no changes. --- debian/compat | 2 +- debian/control | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/compat b/debian/compat index 7f8f011..45a4fb7 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -7 +8 diff --git a/debian/control b/debian/control index c115509..bb29a3b 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: tinycalc Section: utils Priority: extra Maintainer: Neha Bhende <neha.bhende10@gmail.com> -Build-Depends: debhelper (>= 7), autotools-dev, dpkg-dev (>= 1.15.7~), hardening-includes +Build-Depends: debhelper (>= 8), autotools-dev, dpkg-dev (>= 1.15.7~), hardening-includes Standards-Version: 3.9.2 Homepage: http://tinycalc.sourceforge.net -- 1.7.4.1
From 23b6fdfa0d7e99572f0f51787721c8dd3b3465c6 Mon Sep 17 00:00:00 2001 From: Peter Pentchev <roam@ringlet.net> Date: Wed, 20 Apr 2011 14:47:48 +0300 Subject: [PATCH 12/12] Remove the unneeded dependency on autotools-dev. --- debian/control | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/debian/control b/debian/control index bb29a3b..211e40d 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: tinycalc Section: utils Priority: extra Maintainer: Neha Bhende <neha.bhende10@gmail.com> -Build-Depends: debhelper (>= 8), autotools-dev, dpkg-dev (>= 1.15.7~), hardening-includes +Build-Depends: debhelper (>= 8), dpkg-dev (>= 1.15.7~), hardening-includes Standards-Version: 3.9.2 Homepage: http://tinycalc.sourceforge.net -- 1.7.4.1
Attachment:
signature.asc
Description: Digital signature