All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/2] Cdrtools is a set of command line programs that allows to record CD/DVD/BluRay media. This package contains the cdrecord & mkisofs programs.
Date: Mon, 2 Feb 2015 10:35:58 +0100	[thread overview]
Message-ID: <20150202103558.6be64110@free-electrons.com> (raw)
In-Reply-To: <1422855653-6338-1-git-send-email-skenton@ou.edu>

Dear Steve Kenton,

Have you looked at the 'cdrkit' package? I believe it bundles the same
tools as cdrtools, but with a sane build system and not this
brain-damaged build system that cdrtools uses.

That being said, here is a review of your patch below.

First, the title should be simply:

	cdrtools: new package

On Mon,  2 Feb 2015 05:40:52 +0000, Steve Kenton wrote:

> diff --git a/package/Config.in b/package/Config.in
> index dd011be..1748e88 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -6,6 +6,7 @@ menu "Audio and video applications"
>  	source "package/alsa-utils/Config.in"
>  	source "package/aumix/Config.in"
>  	source "package/bellagio/Config.in"
> +	source "package/cdrtools/Config.in"

Since it's really the same sort of tools than cdrkit, I'd rather see
cdrtools next to cdrkit in the menus.

> diff --git a/package/cdrtools/Config.in b/package/cdrtools/Config.in
> new file mode 100644
> index 0000000..8583cec
> --- /dev/null
> +++ b/package/cdrtools/Config.in
> @@ -0,0 +1,12 @@
> +config BR2_PACKAGE_CDRTOOLS
> +	bool "cdrtools"
> +	depends on BR2_USE_WCHAR && BR2_LARGEFILE

We generally put this on two separate lines.

> +	help
> +	  Cdrtools is a set of command line programs that
> +	  allows to record CD/DVD/BluRay media. This
> +	  package contains the cdrecord & mkisofs programs.
> +	  
> +	  http://sourceforge.net/projects/cdrtools
> +
> +comment "cdrtools needs a toolchain w/ wchar, largefile"
> +	depends on !BR2_USE_WCHAR || !BR2_LARGEFILE
> diff --git a/package/cdrtools/cdrtools.mk b/package/cdrtools/cdrtools.mk
> new file mode 100644
> index 0000000..a732e69
> --- /dev/null
> +++ b/package/cdrtools/cdrtools.mk
> @@ -0,0 +1,21 @@
> +#############################################################
> +#
> +# cdrtools
> +#
> +#############################################################

You should have 80 # signs for the header. And one empty new line
between the header and the first variable.

> +CDRTOOLS_VERSION = 3.00
> +CDRTOOLS_SITE = http://sourceforge.net/projects/cdrtools/files
> +CDRTOOLS_LICENSE = Various parts under GPLv2.0, LGPLv2.1, CDDL - see COPYING

Don't use "see COPYING", this is already encoded by the
<pkg>_LICENSE_FILES variable below.

> +CDRTOOLS_LICENSE_FILES = COPYING
> +
> +define CDRTOOLS_BUILD_CMDS
> +	$(MAKE) -C $(@D)
> +endef

This unfortunately doesn't work at all: it builds the tools with the
host compiler, so always for x86 or x86-64. Is this your intention? If
it is your intention, then it should be a host package, and not a
target package.

> +
> +define CDRTOOLS_INSTALL_TARGET_CMDS
> +	$(INSTALL) -m 0755 -D $(@D)/cdrecord/OBJ/x86_64-linux-cc/cdrecord $(TARGET_DIR)/usr/bin/cdrecord
> +	$(INSTALL) -m 0755 -D $(@D)/readcd/OBJ/x86_64-linux-cc/readcd $(TARGET_DIR)/usr/bin/readcd
> +	$(INSTALL) -m 0755 -D $(@D)/mkisofs/OBJ/x86_64-linux-cc/mkisofs $(TARGET_DIR)/usr/bin/mkisofs
> +endef

This cannot work: you enforce "x86_64-linux-cc", but we might be
building for ARM, PowerPC, MIPS, etc. Also, isn't there a "make
install" rule to simplify the installation logic?

So basically, try to do a build for ARM, and make sure 1/ it builds
fine and 2/ the installed binaries are actually built for ARM.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

  parent reply	other threads:[~2015-02-02  9:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-02  5:40 [Buildroot] [PATCH 1/2] Cdrtools is a set of command line programs that allows to record CD/DVD/BluRay media. This package contains the cdrecord & mkisofs programs Steve Kenton
2015-02-02  5:40 ` [Buildroot] [PATCH 2/2] Add hash file Steve Kenton
2015-02-02  9:50   ` Thomas Petazzoni
2015-02-02 15:03     ` Steve Kenton
2015-02-02 16:55       ` Thomas Petazzoni
2015-02-02  9:35 ` Thomas Petazzoni [this message]
2015-02-02 14:59   ` [Buildroot] [PATCH 1/2] Cdrtools is a set of command line programs that allows to record CD/DVD/BluRay media. This package contains the cdrecord & mkisofs programs Steve Kenton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150202103558.6be64110@free-electrons.com \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.