From 0562403f30c987eb49bf2800a2fb1cbb7dfca935 Mon Sep 17 00:00:00 2001 From: Xiangfu Date: Thu, 21 Jun 2012 17:32:32 +0800 Subject: [PATCH 1/7] Add .gitignore file --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1abcc21 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.o +*.d +icons/*.xpm From 45805bd7cdd55a7c220dbe06f87644a48947ba92 Mon Sep 17 00:00:00 2001 From: Xiangfu Date: Thu, 21 Jun 2012 16:42:40 +0800 Subject: [PATCH 2/7] Switch debian/* from SVN to GIT, now build package base on git commit --- debian/autogen.sh | 10 +++ debian/changelog | 16 +++++ debian/changelog.upstream.awk | 113 ++++++++++++++++++++++++++++++++++ debian/clean.sh | 108 ++++++++++++++++++++++++++++++++ debian/control | 2 +- debian/get-orig-source.sh | 29 ++++++--- debian/rules | 46 ++++++++++---- debian/source/format | 2 +- 8 files changed, 304 insertions(+), 22 deletions(-) create mode 100755 debian/autogen.sh create mode 100644 debian/changelog.upstream.awk create mode 100644 debian/clean.sh diff --git a/debian/autogen.sh b/debian/autogen.sh new file mode 100755 index 0000000..1239e0a --- /dev/null +++ b/debian/autogen.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# Generate debian/changelog.upstream. +# +# Uses debian/changelog and the git revision log. +# + +set -e + +dpkg-parsechangelog --format rfc822 --all | + awk -f debian/changelog.upstream.awk diff --git a/debian/changelog b/debian/changelog index 8f007eb..0d5faf2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,23 +1,38 @@ +fped (0.0+201205-1) lucid; urgency=low + + * New snapshot, taken from commit 59b90b3 + * Switched to new project host: http://projects.qi-hardware.com/p/fped + * debian/rules: + - rewrite as a minimal rules file using dh + - add a get-orig-source target + * debian/autogen.sh: new script + + -- Xiangfu Liu Thu, 21 Jun 2012 16:58:21 +0800 + fped (0.0+r6006-1) lucid; urgency=low + * New snapshot, taken from commit 78e4ba0 * update to r6006 -- Xiangfu Liu Fri, 25 Mar 2011 08:43:21 +0800 fped (0.0+r6005-1) lucid; urgency=low + * New snapshot, taken from commit 335ddb6 * update to r6005 -- Xiangfu Liu Wed, 23 Mar 2011 16:28:26 +0800 fped (0.0+r5999-1) lucid; urgency=low + * New snapshot, taken from commit 1409cfa * update to r5999 -- Xiangfu Liu Tue, 22 Mar 2011 15:12:02 +0800 fped (0.0+r5997-1) lucid; urgency=low + * New snapshot, taken from commit ceaa519 * Fix "FTBFS: tsort: cycle: ./Common: line 37: 2851 Aborted" This was a "false error" - the regression test is supposed to cause fped to abort, which it did, but the shell didn't print "Aborted" on @@ -28,6 +43,7 @@ fped (0.0+r5997-1) lucid; urgency=low fped (0.0+r5986-1) unstable; urgency=low + * New snapshot, taken from commit feae08f * Initial release (Closes: #599090). -- Xiangfu Liu Mon, 04 Oct 2010 23:27:52 +0800 diff --git a/debian/changelog.upstream.awk b/debian/changelog.upstream.awk new file mode 100644 index 0000000..6755ede --- /dev/null +++ b/debian/changelog.upstream.awk @@ -0,0 +1,113 @@ +#!/bin/awk -f +# Generate debian/changelog.upstream from debian/changelog and +# the git revision log. Inspired by Gerrit Pape’s +# debian/changelog.upstream.sh, from the git-core Debian package. +# +# Requires a working /dev/stderr. +# +# Usage: +# dpkg-parsechangelog --format rfc822 --all | +# awk -f debian/changelog.upstream.awk + +# If argument matches /^Version: /, return remaining text. +# Result is nonempty if and only if argument matches. +function version_line(line) { + if (line ~ /^Version: /) { + sub(/^Version: /, "", line); + return line; + } + return ""; +} + +# If argument matches /^\*.* from commit /, return remaining text. +# Result is nonempty if and only if argument matches. +function commit_id_line(line) { + if (line ~ / from commit /) { + sub(/^.* from commit /, "", line); + sub(/[(][Cc]loses.*/, "", line); + sub(/[^0-9a-f]*$/, "", line); + return line; + } + return ""; +} + +# Read standard input, scanning for a changelog entry of the +# form “* New snapshot, taken from commit .” +# Result is . +# Result is empty and writes a message to standard error if no such entry is +# found before the next Version: line with a different upstream +# version (or EOF). +# Argument is the upstream version sought. +function read_commit_id(upstream, line,version,corresponding_upstream,commit) { + while (getline line) { + version = version_line(line); + corresponding_upstream = version; + sub(/-[^-]*$/, "", corresponding_upstream); + if (version != "" && corresponding_upstream != upstream) + break; + + commit = commit_id_line(line); + if (commit != "") + return commit; + } + + print "No commit id for " upstream >> "/dev/stderr"; + return ""; +} + +BEGIN { + last = "none"; + last_cid = "none"; + cl = "debian/changelog.upstream"; +} + +# Add a list of all revisions up to last to debian/changelog.upstream +# and set last = new_cid. +# new is a user-readable name for the commit new_cide. +function add_version(new,new_cid, limiter,versionline,command,line) { + if (last == "none") { + printf "" > cl; + last = new; + last_cid = new_cid; + return 0; + } + + if (new == "none") { + versionline = "Version " last; + limiter = ""; + } else { + versionline = "Version " last "; changes since " new ":"; + limiter = new_cid ".."; + } + print versionline >> cl; + gsub(/./, "-", versionline); + print versionline >> cl; + + print "" >> cl; + command = "git shortlog \"" limiter last_cid "\""; + while(command | getline line) + print line >> cl; + + if (new != "none") + print "" >> cl; + last = new; + last_cid = new_cid; +} + +{ + version = version_line($0); + if (version != "") { + # strip Debian revision + upstream_version = version; + sub(/-[^-]*$/, "", upstream_version); + + commit = read_commit_id(upstream_version); + if (commit == "") + exit 1; + add_version(upstream_version, commit); + } +} + +END { + add_version("none", "none"); +} diff --git a/debian/clean.sh b/debian/clean.sh new file mode 100644 index 0000000..1b17a8b --- /dev/null +++ b/debian/clean.sh @@ -0,0 +1,108 @@ +#!/bin/sh +# Clean up after a failed build. +# +# Requires access to .gitignore files excluding _all_ modified files. +# +# Requires a working /dev/fd (with more than just /dev/fd/0 and 1) +# or gawk. + +set -e + +splitgitignore='#!/usr/bin/awk +!/^#/ && !/^$/ { + glob = /[[*?]/; + directory = /\/$/; + sub(/\/$/, ""); + anchored = /\//; + sub(/^\//, ""); + + output = "nonexistent/nonsense"; + if (anchored) { + if (!directory && !glob) + output = "/dev/fd/1"; + else if (directory && !glob) + output = "/dev/fd/3"; + else if (!directory && glob) + output = "/dev/fd/4"; + else if (directory && glob) + output = "/dev/fd/5"; + } else { + if (!directory) + output = "/dev/fd/6"; + else + output = "/dev/fd/7"; + } + print >> output; +} +' + +offlimits="-type d -name '.*' -prune -o -type d -name debian -prune" + +remove_file_globs() { + while read glob + do + eval "rm -f $glob" + done +} + +remove_directory_globs() { + while read glob + do + eval "rm -fr $glob" + done +} + +remove_file_findpatterns() { + while read pat + do + find . $offlimits -o \ + '(' -name "$pat" -execdir rm -f '{}' + ')' + done +} + +remove_directory_findpatterns() { + while read pat + do + find . $offlimits -o \ + '(' -type d -name "$pat" -execdir rm -fr '{}' + ')' + done +} + +find . $offlimits -o '(' -name .gitignore -print ')' | +while read file +do + ( + cd "$(dirname "$file")" + # Dispatch using pipes. Yuck. + { { { { { + awk "$splitgitignore" | + { + # anchored files (globless) + xargs -d '\n' rm -f + } + } 3>&1 >&2 | + { + # anchored directories (globless) + xargs -d '\n' rm -fr + } + } 4>&1 >&2 | + { + # anchored files + remove_file_globs + } + } 5>&1 >&2 | + { + # anchored directories + remove_directory_globs + } + } 6>&1 >&2 | + { + # unanchored files + remove_file_findpatterns + } + } 7>&1 >&2 | + { + remove_directory_findpatterns + } >&2 + ) < "$file" +done diff --git a/debian/control b/debian/control index 259a118..8191a71 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,7 @@ Build-Depends: debhelper (>= 7.4.10), pkg-config, bash (>= 4), flex, bison, imagemagick, transfig, netpbm, ghostscript, libgtk2.0-dev -Standards-Version: 3.9.1 +Standards-Version: 3.9.3 Homepage: http://downloads.qi-hardware.com/people/werner/fped/gui.html Package: fped diff --git a/debian/get-orig-source.sh b/debian/get-orig-source.sh index 5f7f76e..976c559 100644 --- a/debian/get-orig-source.sh +++ b/debian/get-orig-source.sh @@ -1,19 +1,30 @@ #!/bin/sh # Build a tarball from the latest upstream version, with a nice # version number. +# +# Requires git 1.6.6 or later, GNU date, and gzip. set -e +: ${REPO=$(git rev-parse --git-dir)} +: ${BRANCH=remotes/origin/master} + +mkdir debian-orig-source +trap 'rm -fr debian-orig-source || exit 1' EXIT + +git init -q debian-orig-source +GIT_DIR=$(pwd)/debian-orig-source/.git +export GIT_DIR + +# Fetch latest upstream version. +git fetch -q "$REPO" "$BRANCH" + # Determine version number. release=0.0 -upstream_version="${release}+r${REV}" - -TOPFOLDER=fped-$upstream_version.orig - -trap 'rm -fr ${TOPFOLDER} || exit 1' EXIT INT TERM - -svn export -r${REV} http://svn.openmoko.org/trunk/eda/fped ${TOPFOLDER} +date=$(date --utc --date="$(git log -1 --pretty=format:%cD FETCH_HEAD)" "+%Y%m") +upstream_version="${release}+${date}" # Generate tarball. -echo "packaging ..." -tar -czf fped_$upstream_version.orig.tar.gz ${TOPFOLDER} +echo "packaging $(git rev-parse --short FETCH_HEAD)" +git archive FETCH_HEAD | + gzip -n -9 >"fped_$upstream_version.orig.tar.gz" diff --git a/debian/rules b/debian/rules index b6295c8..7eddc54 100755 --- a/debian/rules +++ b/debian/rules @@ -1,23 +1,47 @@ #!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. +# This file is in the public domain. +# You may freely use, modify, distribute, and relicense it. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 export PREFIX=/usr -REV=6006 -debiandir_SQ = $(subst ','\'',$(dir $(lastword $(MAKEFILE_LIST)))) -get-orig-source: - REV='$(REV)' sh '$(debiandir_SQ)'get-orig-source.sh +build clean install binary-arch binary-indep binary: + +dh --parallel $(opt_no_act) $@ override_dh_auto_clean: - make spotless + $(MAKE) spotless + sh debian/clean.sh + +override_dh_installchangelogs: + dpkg-parsechangelog --format rfc822 --all | \ + awk -f debian/changelog.upstream.awk + dh_installchangelogs debian/changelog.upstream + +opt_optimize = CFLAGS="-g -O2" +opt_no_act = +opt_quiet = + +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + opt_optimize = CFLAGS="-g -O0" +endif + +ifneq (,$(findstring n,$(MAKEFLAGS))) + opt_no_act = --no-act +endif + +ifneq (,$(filter quiet,$(DEB_BUILD_OPTIONS))) + opt_quiet = --quiet + MAKEFLAGS += --quiet +endif + +REPO = git://projects.qi-hardware.com/fped.git +BRANCH = master +debiandir_SQ = $(subst ','\'',$(dir $(lastword $(MAKEFILE_LIST)))) +get-orig-source: + REPO='$(REPO)' BRANCH='$(BRANCH)' \ + sh '$(debiandir_SQ)'get-orig-source.sh %: dh $@ diff --git a/debian/source/format b/debian/source/format index 46ebe02..163aaf8 100644 --- a/debian/source/format +++ b/debian/source/format @@ -1 +1 @@ -3.0 (quilt) \ No newline at end of file +3.0 (quilt) From 728a39f8f50c1673e52a10de6f7abe72f07cb118 Mon Sep 17 00:00:00 2001 From: Xiangfu Date: Thu, 21 Jun 2012 18:20:23 +0800 Subject: [PATCH 3/7] update debian/copyright url --- debian/copyright | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/copyright b/debian/copyright index 5f40125..7423448 100644 --- a/debian/copyright +++ b/debian/copyright @@ -4,7 +4,7 @@ This work was packaged for Debian by: It was downloaded from: - http://svn.openmoko.org/trunk/eda/fped + http://projects.qi-hardware.com/p/fped/ Upstream Author(s): From 7f1d484f0939e907763f23c0fa14e823d071be1f Mon Sep 17 00:00:00 2001 From: Xiangfu Date: Thu, 21 Jun 2012 18:29:45 +0800 Subject: [PATCH 4/7] debian/control: update email address --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 8191a71..17e9c91 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: fped Section: electronics Priority: extra -Maintainer: Xiangfu Liu +Maintainer: Xiangfu Liu Build-Depends: debhelper (>= 7.4.10), pkg-config, bash (>= 4), flex, bison, imagemagick, transfig, netpbm, ghostscript, From e6fa1080bed0566918b35b96c6fa96e80eddd401 Mon Sep 17 00:00:00 2001 From: Xiangfu Date: Thu, 21 Jun 2012 20:06:23 +0800 Subject: [PATCH 5/7] update email address --- debian/changelog | 12 ++++++------ debian/copyright | 4 ++-- fped.1 | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/debian/changelog b/debian/changelog index 0d5faf2..9d05365 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,28 +7,28 @@ fped (0.0+201205-1) lucid; urgency=low - add a get-orig-source target * debian/autogen.sh: new script - -- Xiangfu Liu Thu, 21 Jun 2012 16:58:21 +0800 + -- Xiangfu Liu Thu, 21 Jun 2012 16:58:21 +0800 fped (0.0+r6006-1) lucid; urgency=low * New snapshot, taken from commit 78e4ba0 * update to r6006 - -- Xiangfu Liu Fri, 25 Mar 2011 08:43:21 +0800 + -- Xiangfu Liu Fri, 25 Mar 2011 08:43:21 +0800 fped (0.0+r6005-1) lucid; urgency=low * New snapshot, taken from commit 335ddb6 * update to r6005 - -- Xiangfu Liu Wed, 23 Mar 2011 16:28:26 +0800 + -- Xiangfu Liu Wed, 23 Mar 2011 16:28:26 +0800 fped (0.0+r5999-1) lucid; urgency=low * New snapshot, taken from commit 1409cfa * update to r5999 - -- Xiangfu Liu Tue, 22 Mar 2011 15:12:02 +0800 + -- Xiangfu Liu Tue, 22 Mar 2011 15:12:02 +0800 fped (0.0+r5997-1) lucid; urgency=low @@ -39,11 +39,11 @@ fped (0.0+r5997-1) lucid; urgency=low that(Debian on Renesas SH(sh4) CPU) platform (Closes: #606536). * update the homepage to help webpage, not svn source code page. - -- Xiangfu Liu Fri, 10 Dec 2010 15:51:58 +0800 + -- Xiangfu Liu Fri, 10 Dec 2010 15:51:58 +0800 fped (0.0+r5986-1) unstable; urgency=low * New snapshot, taken from commit feae08f * Initial release (Closes: #599090). - -- Xiangfu Liu Mon, 04 Oct 2010 23:27:52 +0800 + -- Xiangfu Liu Mon, 04 Oct 2010 23:27:52 +0800 diff --git a/debian/copyright b/debian/copyright index 7423448..7055467 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,6 +1,6 @@ This work was packaged for Debian by: - Xiangfu Liu on Mon, 4 Oct 2010 15:14:14 +0800 + Xiangfu Liu on Mon, 4 Oct 2010 15:14:14 +0800 It was downloaded from: @@ -34,6 +34,6 @@ Public License version 2 can be found in `/usr/share/common-licenses/GPL-2'. The Debian packaging is: - Copyright (C) 2010 Xiangfu Liu and is licensed + Copyright (C) 2010 Xiangfu Liu and is licensed under the GPL version 2, see above. diff --git a/fped.1 b/fped.1 index c2e2158..f8b680d 100644 --- a/fped.1 +++ b/fped.1 @@ -47,5 +47,5 @@ is covered by the GNU General Public License (GPL), version 2 or later. .SH AUTHORS Werner Almesberger .PP -This manual page was written by Xiangfu Liu +This manual page was written by Xiangfu Liu It is licensed under the terms of the GNU GPL (version 2 or later). From f70c33355b542f2431853741d764c05765e4f30f Mon Sep 17 00:00:00 2001 From: Xiangfu Date: Thu, 21 Jun 2012 20:10:39 +0800 Subject: [PATCH 6/7] debina/changelog: update to latest commit --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 9d05365..2457385 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ -fped (0.0+201205-1) lucid; urgency=low +fped (0.0+201206-1) lucid; urgency=low - * New snapshot, taken from commit 59b90b3 + * New snapshot, taken from commit e6fa108 * Switched to new project host: http://projects.qi-hardware.com/p/fped * debian/rules: - rewrite as a minimal rules file using dh From c23d812c668e452f2a238f9141f14146e913f357 Mon Sep 17 00:00:00 2001 From: Xiangfu Date: Fri, 22 Jun 2012 15:06:28 +0800 Subject: [PATCH 7/7] debian/* update changelog and copyright for fix lintian errors --- debian/changelog | 10 +++++----- debian/copyright | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index 2457385..7e6e653 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -fped (0.0+201206-1) lucid; urgency=low +fped (0.0+201206-1) unstable; urgency=low * New snapshot, taken from commit e6fa108 * Switched to new project host: http://projects.qi-hardware.com/p/fped @@ -9,28 +9,28 @@ fped (0.0+201206-1) lucid; urgency=low -- Xiangfu Liu Thu, 21 Jun 2012 16:58:21 +0800 -fped (0.0+r6006-1) lucid; urgency=low +fped (0.0+r6006-1) unstable; urgency=low * New snapshot, taken from commit 78e4ba0 * update to r6006 -- Xiangfu Liu Fri, 25 Mar 2011 08:43:21 +0800 -fped (0.0+r6005-1) lucid; urgency=low +fped (0.0+r6005-1) unstable; urgency=low * New snapshot, taken from commit 335ddb6 * update to r6005 -- Xiangfu Liu Wed, 23 Mar 2011 16:28:26 +0800 -fped (0.0+r5999-1) lucid; urgency=low +fped (0.0+r5999-1) unstable; urgency=low * New snapshot, taken from commit 1409cfa * update to r5999 -- Xiangfu Liu Tue, 22 Mar 2011 15:12:02 +0800 -fped (0.0+r5997-1) lucid; urgency=low +fped (0.0+r5997-1) unstable; urgency=low * New snapshot, taken from commit ceaa519 * Fix "FTBFS: tsort: cycle: ./Common: line 37: 2851 Aborted" diff --git a/debian/copyright b/debian/copyright index 7055467..7e3f6f6 100644 --- a/debian/copyright +++ b/debian/copyright @@ -6,7 +6,7 @@ It was downloaded from: http://projects.qi-hardware.com/p/fped/ -Upstream Author(s): +Upstream Author: Werner Almesberger