Message ID | 1420233405-23121-1-git-send-email-sedat.dilek@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Sedat Dilek dixit: >+# Try to determine distribution >+codename=$(lsb_release --codename --short 2> /dev/null) >+if [ -n "$KDEB_CHANGELOG_DIST" ]; then >+ distribution=$KDEB_CHANGELOG_DIST >+elif [ -n "$codename" ]; then 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: if test -n "$KDEB_CHANGELOG_DIST"; then distribution=$KDEB_CHANGELOG_DIST elif distribution=$(lsb_release -cs 2>/dev/null) && test -n "$distribution"; then : else distribution=unstable echo "builddeb: Using default distribution of 'unstable' in the changelog" echo "builddeb: Set \$KDEB_CHANGELOG_DIST or install lsb-release to change this" fi bye, //mirabilos
On Fri, Jan 2, 2015 at 10:23 PM, Thorsten Glaser <tg@mirbsd.de> wrote: > Sedat Dilek dixit: > >>+# Try to determine distribution >>+codename=$(lsb_release --codename --short 2> /dev/null) >>+if [ -n "$KDEB_CHANGELOG_DIST" ]; then >>+ distribution=$KDEB_CHANGELOG_DIST >>+elif [ -n "$codename" ]; then > > 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: > > if test -n "$KDEB_CHANGELOG_DIST"; then > distribution=$KDEB_CHANGELOG_DIST > elif distribution=$(lsb_release -cs 2>/dev/null) && test -n "$distribution"; then > : > else > distribution=unstable > echo "builddeb: Using default distribution of 'unstable' in the changelog" > echo "builddeb: Set \$KDEB_CHANGELOG_DIST or install lsb-release to change this" > fi > Happy 2015 mira! Ben suggested originally... So how about something like: if [ -n "$KDEB_CHANGELOG_DIST" ]; then distribution="$KDEB_CHANGELOG_DIST" elif ! distribution="$(lsb_release --codename --short 2>/dev/null)"; then distribution=unstable echo "I: Using default distribution of 'unstable' in the changelog" echo "I: Install lsb-release or set \$KDEB_CHANGELOG_DIST to change this" fi Is that "inversion" doing the same? I hoped to do it a bit more "human-readable" (for me) and made it worse. How can I embed the name of the script "builddeb" into the outputs in case we fall back to default distro-name? BTW, builddeb is the script invoked via 'make deb-pkg'. - Sedat - -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 5972624..6918429 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -217,9 +217,21 @@ else fi maintainer="$name <$email>" +# Try to determine distribution +codename=$(lsb_release --codename --short 2> /dev/null) +if [ -n "$KDEB_CHANGELOG_DIST" ]; then + distribution=$KDEB_CHANGELOG_DIST +elif [ -n "$codename" ]; then + distribution=$codename +else + distribution="unstable" + echo "builddeb: Using default distribution of 'unstable' in the changelog" + echo "builddeb: Install lsb-release or set \$KDEB_CHANGELOG_DIST to change this" +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.
Like in my initial patch [1] lsb_release is a good choice to determine the distribution name for debian/changelog. Its installation is no precondition. Ben gave some helpful and detailed information in [2]. There he also suggested to have an option to explicitly set the distribution name (see $KDEB_CHANGELOG_DIST variable). I have hardcoded the script-name into the outputs when we fallback to the default distribution name. This is a bit ugly. Based on the snippet of Ben (see [2]). Tested against Linux v3.19-rc2. Thanks goes to Thorsten and Alexander for the vital help in 2012. Equally thanks to maximilian and Ben for the comments on my patches. [1] https://lkml.org/lkml/2012/4/23/516 [2] http://marc.info/?l=linux-kbuild&m=142022188322321&w=2 CC: Ben Hutchings <ben@decadent.org.uk> CC: maximilian attems <max@stro.at> CC: Thorsten Glaser <tg@debian.org> CC: Alexander Wirt <formorer@debian.org> CC: Michal Marek <mmarek@suse.cz> CC: linux-kbuild@vger.kernel.org Suggested-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com> --- v3: Massaged the commit-message v2: Suppress error messages when lsb_release is not installed. (Thanks maximilian and Ben.) scripts/package/builddeb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)