Skip to content

Commit

Permalink
builddeb: Try to determine distribution
Browse files Browse the repository at this point in the history
lsb_release command is a good choice to determine the distribution
name for the changelog file in the generated Debian packages [1].
Its installation is no precondition.
In Debian it is still not essential or build-essential.

Ben gave some helpful informations and detailed explanations in [2].
There he also suggested to have an option to explicitly set the
distribution name (see $KDEB_CHANGELOG_DIST variable).

Embedded the improvement as suggested by Thorsten (see [3]):

"This is suboptimal: if KDEB_CHANGELOG_DIST is defined,
lsb_release is not necessary. The following snippet
also omits using its output if it fails but still
produces any:"

Dealing with this issue I learned about "The Colon in the Shell." and
possible pitfalls in this area (see [4,5]). Furthermore, refreshed my
knowledge about redirecting outputs with the echo command (see [5]).
Special thanks to Thorsten, I enjoyed the IRC session with you.

Cooked together the snippets of Ben and Thorsten (see [2,3]).
Tested against Linux v3.19-rc2.

Thanks goes to Alexander, Ben, maximilian and Thorsten for the very
vital help.

[1] https://lkml.org/lkml/2012/4/23/516
[2] http://marc.info/?l=linux-kbuild&m=142022188322321&w=2
[3] http://marc.info/?l=linux-kbuild&m=142023476825460&w=2
[4] http://blog.brlink.eu/index.html#i70
[5] https://www.mirbsd.org/permalinks/wlog-10_e20141209-tg.htm
[6] http://stackoverflow.com/questions/23489934/echo-2-some-text-what-does-it-mean-in-shell-scripting

CC: Alexander Wirt <[email protected]>
Suggested-by: Ben Hutchings <[email protected]>
Suggested-by: Thorsten Glaser <[email protected]>
Reviewed-by: Ben Hutchings <[email protected]>
Acked-by: maximilian attems <[email protected]>
[ dileks: Reviewed his suggested diff in RFC v4 ]
Reviewed-by: Thorsten Glaser <[email protected]>
Signed-off-by: Sedat Dilek <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
  • Loading branch information
dileks authored and michal42 committed Jan 6, 2015
1 parent 701ca30 commit d9f711d
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion scripts/package/builddeb
Original file line number Diff line number Diff line change
Expand Up @@ -217,9 +217,20 @@ else
fi
maintainer="$name <$email>"

# Try to determine distribution
if [ -n "$KDEB_CHANGELOG_DIST" ]; then
distribution=$KDEB_CHANGELOG_DIST
elif distribution=$(lsb_release -cs 2>/dev/null) && [ -n "$distribution" ]; then
: # nothing to do in this case
else
distribution="unstable"
echo >&2 "Using default distribution of 'unstable' in the changelog"
echo >&2 "Install lsb-release or set \$KDEB_CHANGELOG_DIST explicitly"
fi

# Generate a simple changelog template
cat <<EOF > debian/changelog
linux-upstream ($packageversion) unstable; urgency=low
linux-upstream ($packageversion) $distribution; urgency=low
* Custom built Linux kernel.
Expand Down

0 comments on commit d9f711d

Please sign in to comment.