All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/3] Subversion package and related patches
@ 2013-08-24 11:07 Thomas Petazzoni
  2013-08-24 11:07 ` [Buildroot] [PATCH 1/3] neon: replace 'choice' for XML library with two options Thomas Petazzoni
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2013-08-24 11:07 UTC (permalink / raw)
  To: buildroot

Hello,

Here are three patches that add a package for Subversion. I don't need
it myself, but it was a submission from Rico Bachmann that had been
waiting since quite some time in our patchwork. I took it, tested it
and made a few improvements. Some changes in the neon package were
needed to make it work properly.

Thanks,

Thomas

Rico Bachmann (1):
  subversion: new package

Thomas Petazzoni (2):
  neon: replace 'choice' for XML library with two options
  neon: factorize 'depends on BR2_PACKAGE_NEON'

 package/Config.in                |  1 +
 package/neon/Config.in           | 31 +++++++++----------------------
 package/rpm/Config.in            |  7 ++-----
 package/subversion/Config.in     | 11 +++++++++++
 package/subversion/subversion.mk | 28 ++++++++++++++++++++++++++++
 5 files changed, 51 insertions(+), 27 deletions(-)
 create mode 100644 package/subversion/Config.in
 create mode 100644 package/subversion/subversion.mk

-- 
1.8.1.2

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/3] neon: replace 'choice' for XML library with two options
  2013-08-24 11:07 [Buildroot] [PATCH 0/3] Subversion package and related patches Thomas Petazzoni
@ 2013-08-24 11:07 ` Thomas Petazzoni
  2013-08-27  6:17   ` Arnout Vandecappelle
  2013-08-24 11:07 ` [Buildroot] [PATCH 2/3] neon: factorize 'depends on BR2_PACKAGE_NEON' Thomas Petazzoni
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2013-08-24 11:07 UTC (permalink / raw)
  To: buildroot

The NEON library can either be compiled without XML support, with XML
support provided by Expat, or with XML support provided by
libxml2. Until now, to represent this, a Kconfig 'choice..endchoice'
was used. Unfortunately, another package cannot 'select' one of the
possible choices. So for example, a package such as 'rpm', or the
to-be-added 'subversion' package could not select their dependencies,
they had to do a 'depends on !BR2_PACKAGE_NEON_NOXML', which is not
how Buildroot handles library dependencies in general.

So, this commit replaces the 'choice...endchoice' block with simply
two configuration options that are mutually exclusive. The option
names are not changed, so no Config.in.legacy addition is needed.

The rpm package is updated accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/neon/Config.in | 27 +++++++--------------------
 package/rpm/Config.in  |  7 ++-----
 2 files changed, 9 insertions(+), 25 deletions(-)

diff --git a/package/neon/Config.in b/package/neon/Config.in
index f972dbb..3f18665 100644
--- a/package/neon/Config.in
+++ b/package/neon/Config.in
@@ -19,30 +19,17 @@ config BR2_PACKAGE_NEON_SSL
 	help
 	  build with SSL support
 
-choice
-	prompt "XML Support"
-	depends on BR2_PACKAGE_NEON
-	help
-	  Select which XML library to use...
-	  none       do not build with XML support
-	  expat      use expat
-	  libxml2    use libxml2
-
-config BR2_PACKAGE_NEON_NOXML
-	bool "none"
-	help
-	  none       do not build with XML support
-
 config BR2_PACKAGE_NEON_EXPAT
-	bool "expat"
+	bool "XML support with expat"
 	select BR2_PACKAGE_EXPAT
+	depends on BR2_PACKAGE_NEON
+	depends on !BR2_PACKAGE_NEON_LIBXML2
 	help
-	  expat      use expat, a library for parsing XML.
+	  Enable XML support in neon, using the Expat XML library.
 
 config BR2_PACKAGE_NEON_LIBXML2
-	bool "libxml2"
+	bool "XML support with libxml2"
 	select BR2_PACKAGE_LIBXML2
+	depends on BR2_PACKAGE_NEON
 	help
-	  libxml2    use libxml2, a library to read, modify and
-	             write XML and HTML files.
-endchoice
+	  Enable XML support in neon, using the libxml2 XML library.
diff --git a/package/rpm/Config.in b/package/rpm/Config.in
index 14072c9..8faca95 100644
--- a/package/rpm/Config.in
+++ b/package/rpm/Config.in
@@ -1,17 +1,14 @@
 comment "rpm requires a toolchain with thread support"
 	depends on !BR2_TOOLCHAIN_HAS_THREADS
 
-comment "rpm requires libneon with SSL, XML and ZLIB support"
-	depends on !BR2_PACKAGE_NEON || BR2_PACKAGE_NEON_NOXML && BR2_TOOLCHAIN_HAS_THREADS
-
 config BR2_PACKAGE_RPM
 	bool "rpm"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
 	select BR2_PACKAGE_BEECRYPT
 	select BR2_PACKAGE_POPT
 	select BR2_PACKAGE_OPENSSL
-	depends on BR2_PACKAGE_NEON
-	depends on !BR2_PACKAGE_NEON_NOXML
+	select BR2_PACKAGE_NEON
+	select BR2_PACKAGE_NEON_EXPAT if !BR2_PACKAGE_NEON_LIBXML2
 	select BR2_PACKAGE_NEON_ZLIB
 	select BR2_PACKAGE_NEON_SSL
 	help
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 2/3] neon: factorize 'depends on BR2_PACKAGE_NEON'
  2013-08-24 11:07 [Buildroot] [PATCH 0/3] Subversion package and related patches Thomas Petazzoni
  2013-08-24 11:07 ` [Buildroot] [PATCH 1/3] neon: replace 'choice' for XML library with two options Thomas Petazzoni
@ 2013-08-24 11:07 ` Thomas Petazzoni
  2013-08-24 11:07 ` [Buildroot] [PATCH 3/3] subversion: new package Thomas Petazzoni
  2013-08-26  8:12 ` [Buildroot] [PATCH 0/3] Subversion package and related patches Rico Bachmann
  3 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2013-08-24 11:07 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/neon/Config.in | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/package/neon/Config.in b/package/neon/Config.in
index 3f18665..72d9fd7 100644
--- a/package/neon/Config.in
+++ b/package/neon/Config.in
@@ -5,16 +5,16 @@ config BR2_PACKAGE_NEON
 
 	  http://www.webdav.org/neon/
 
+if BR2_PACKAGE_NEON
+
 config BR2_PACKAGE_NEON_ZLIB
 	bool "ZLIB support"
-	depends on BR2_PACKAGE_NEON
 	select BR2_PACKAGE_ZLIB
 	help
 	  build with ZLIB support
 
 config BR2_PACKAGE_NEON_SSL
 	bool "SSL support"
-	depends on BR2_PACKAGE_NEON
 	select BR2_PACKAGE_OPENSSL
 	help
 	  build with SSL support
@@ -22,7 +22,6 @@ config BR2_PACKAGE_NEON_SSL
 config BR2_PACKAGE_NEON_EXPAT
 	bool "XML support with expat"
 	select BR2_PACKAGE_EXPAT
-	depends on BR2_PACKAGE_NEON
 	depends on !BR2_PACKAGE_NEON_LIBXML2
 	help
 	  Enable XML support in neon, using the Expat XML library.
@@ -30,6 +29,7 @@ config BR2_PACKAGE_NEON_EXPAT
 config BR2_PACKAGE_NEON_LIBXML2
 	bool "XML support with libxml2"
 	select BR2_PACKAGE_LIBXML2
-	depends on BR2_PACKAGE_NEON
 	help
 	  Enable XML support in neon, using the libxml2 XML library.
+
+endif
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 3/3] subversion: new package
  2013-08-24 11:07 [Buildroot] [PATCH 0/3] Subversion package and related patches Thomas Petazzoni
  2013-08-24 11:07 ` [Buildroot] [PATCH 1/3] neon: replace 'choice' for XML library with two options Thomas Petazzoni
  2013-08-24 11:07 ` [Buildroot] [PATCH 2/3] neon: factorize 'depends on BR2_PACKAGE_NEON' Thomas Petazzoni
@ 2013-08-24 11:07 ` Thomas Petazzoni
  2013-08-26  8:12 ` [Buildroot] [PATCH 0/3] Subversion package and related patches Rico Bachmann
  3 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2013-08-24 11:07 UTC (permalink / raw)
  To: buildroot

From: Rico Bachmann <bachmann@tofwerk.com>

[Thomas: added license informations, fixed dependencies, and several
cleanups.]

Signed-off-by: Rico Bachmann <bachmann@tofwerk.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/Config.in                |  1 +
 package/subversion/Config.in     | 11 +++++++++++
 package/subversion/subversion.mk | 28 ++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 package/subversion/Config.in
 create mode 100644 package/subversion/subversion.mk

diff --git a/package/Config.in b/package/Config.in
index 2347229..1ac26f7 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -97,6 +97,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 source "package/sed/Config.in"
 endif
 source "package/sstrip/Config.in"
+source "package/subversion/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 source "package/tar/Config.in"
 endif
diff --git a/package/subversion/Config.in b/package/subversion/Config.in
new file mode 100644
index 0000000..0704ef5
--- /dev/null
+++ b/package/subversion/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_SUBVERSION
+	bool "subversion"
+	select BR2_PACKAGE_APR_UTIL
+	# apr really needs shared library support
+	depends on !BR2_PREFER_STATIC_LIB
+	select BR2_PACKAGE_NEON
+	select BR2_PACKAGE_NEON_EXPAT if !BR2_PACKAGE_NEON_LIBXML2
+	help
+	  Subversion is an open source version control system
+
+	  http://subversion.apache.org/
diff --git a/package/subversion/subversion.mk b/package/subversion/subversion.mk
new file mode 100644
index 0000000..de4db7c
--- /dev/null
+++ b/package/subversion/subversion.mk
@@ -0,0 +1,28 @@
+################################################################################
+#
+# subversion
+#
+################################################################################
+
+SUBVERSION_VERSION = 1.7.9
+SUBVERSION_SITE = http://archive.apache.org/dist/subversion
+SUBVERSION_LICENSE = Apache 2.0
+SUBVERSION_LICENSE_FILES = LICENSE
+
+SUBVERSION_DEPENDENCIES = apr apr-util expat neon zlib
+SUBVERSION_CONF_OPT = \
+	--with-expat=$(STAGING_DIR)/usr/include:$(STAGING_DIR)/usr/lib: \
+	--with-apr=$(STAGING_DIR)/usr \
+	--with-apr-util=$(STAGING_DIR)/usr \
+	--with-zlib=$(STAGING_DIR)/usr \
+	--with-neon=$(STAGING_DIR)/usr \
+	--without-gssapi \
+	--without-serf \
+	--without-apxs \
+	--without-berkeyley-db \
+	--without-sasl \
+	--without-gnome-keyring \
+	--without-ssl \
+	--without-libmagic
+
+$(eval $(autotools-package))
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 0/3] Subversion package and related patches
  2013-08-24 11:07 [Buildroot] [PATCH 0/3] Subversion package and related patches Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2013-08-24 11:07 ` [Buildroot] [PATCH 3/3] subversion: new package Thomas Petazzoni
@ 2013-08-26  8:12 ` Rico Bachmann
  3 siblings, 0 replies; 7+ messages in thread
From: Rico Bachmann @ 2013-08-26  8:12 UTC (permalink / raw)
  To: buildroot

Hi Thomas

> -----Urspr?ngliche Nachricht-----
> Von: Thomas Petazzoni [mailto:thomas.petazzoni at free-electrons.com]
> Gesendet: Samstag, 24. August 2013 13:08
> An: Buildroot List
> Cc: Rico Bachmann
> Betreff: [PATCH 0/3] Subversion package and related patches
> 
> Hello,
> 
> Here are three patches that add a package for Subversion. I don't need
> it myself, but it was a submission from Rico Bachmann that had been
> waiting since quite some time in our patchwork. I took it, tested it
> and made a few improvements. Some changes in the neon package were
> needed to make it work properly.
> 
> Thanks,
> 
> Thomas
> 
> Rico Bachmann (1):
>   subversion: new package
> 
> Thomas Petazzoni (2):
>   neon: replace 'choice' for XML library with two options
>   neon: factorize 'depends on BR2_PACKAGE_NEON'
> 
>  package/Config.in                |  1 +
>  package/neon/Config.in           | 31 +++++++++----------------------
>  package/rpm/Config.in            |  7 ++-----
>  package/subversion/Config.in     | 11 +++++++++++
>  package/subversion/subversion.mk | 28 ++++++++++++++++++++++++++++
>  5 files changed, 51 insertions(+), 27 deletions(-)  create mode 100644
> package/subversion/Config.in  create mode 100644
> package/subversion/subversion.mk
> 
> --
> 1.8.1.2

thanks a lot for fixing the subversion package. I could not find the time to
finish it.

regards
Rico

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/3] neon: replace 'choice' for XML library with two options
  2013-08-24 11:07 ` [Buildroot] [PATCH 1/3] neon: replace 'choice' for XML library with two options Thomas Petazzoni
@ 2013-08-27  6:17   ` Arnout Vandecappelle
  2013-08-27  7:24     ` Thomas Petazzoni
  0 siblings, 1 reply; 7+ messages in thread
From: Arnout Vandecappelle @ 2013-08-27  6:17 UTC (permalink / raw)
  To: buildroot

On 08/24/13 13:07, Thomas Petazzoni wrote:
> The NEON library can either be compiled without XML support, with XML
> support provided by Expat, or with XML support provided by
> libxml2. Until now, to represent this, a Kconfig 'choice..endchoice'
> was used. Unfortunately, another package cannot 'select' one of the
> possible choices. So for example, a package such as 'rpm', or the
> to-be-added 'subversion' package could not select their dependencies,
> they had to do a 'depends on !BR2_PACKAGE_NEON_NOXML', which is not
> how Buildroot handles library dependencies in general.
>
> So, this commit replaces the 'choice...endchoice' block with simply
> two configuration options that are mutually exclusive. The option
> names are not changed, so no Config.in.legacy addition is needed.
>
> The rpm package is updated accordingly.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>   package/neon/Config.in | 27 +++++++--------------------
>   package/rpm/Config.in  |  7 ++-----
>   2 files changed, 9 insertions(+), 25 deletions(-)
>
> diff --git a/package/neon/Config.in b/package/neon/Config.in
> index f972dbb..3f18665 100644
> --- a/package/neon/Config.in
> +++ b/package/neon/Config.in
> @@ -19,30 +19,17 @@ config BR2_PACKAGE_NEON_SSL
>   	help
>   	  build with SSL support
>
> -choice
> -	prompt "XML Support"
> -	depends on BR2_PACKAGE_NEON
> -	help
> -	  Select which XML library to use...
> -	  none       do not build with XML support
> -	  expat      use expat
> -	  libxml2    use libxml2
> -
> -config BR2_PACKAGE_NEON_NOXML
> -	bool "none"
> -	help
> -	  none       do not build with XML support
> -
>   config BR2_PACKAGE_NEON_EXPAT
> -	bool "expat"
> +	bool "XML support with expat"
>   	select BR2_PACKAGE_EXPAT
> +	depends on BR2_PACKAGE_NEON

  Can you use "if ... endif" instead of depends on?

> +	depends on !BR2_PACKAGE_NEON_LIBXML2
>   	help
> -	  expat      use expat, a library for parsing XML.
> +	  Enable XML support in neon, using the Expat XML library.
>
>   config BR2_PACKAGE_NEON_LIBXML2
> -	bool "libxml2"
> +	bool "XML support with libxml2"
>   	select BR2_PACKAGE_LIBXML2
> +	depends on BR2_PACKAGE_NEON
>   	help
> -	  libxml2    use libxml2, a library to read, modify and
> -	             write XML and HTML files.
> -endchoice
> +	  Enable XML support in neon, using the libxml2 XML library.
> diff --git a/package/rpm/Config.in b/package/rpm/Config.in
> index 14072c9..8faca95 100644
> --- a/package/rpm/Config.in
> +++ b/package/rpm/Config.in
> @@ -1,17 +1,14 @@
>   comment "rpm requires a toolchain with thread support"
>   	depends on !BR2_TOOLCHAIN_HAS_THREADS
>
> -comment "rpm requires libneon with SSL, XML and ZLIB support"
> -	depends on !BR2_PACKAGE_NEON || BR2_PACKAGE_NEON_NOXML && BR2_TOOLCHAIN_HAS_THREADS
> -
>   config BR2_PACKAGE_RPM
>   	bool "rpm"
>   	depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
>   	select BR2_PACKAGE_BEECRYPT
>   	select BR2_PACKAGE_POPT
>   	select BR2_PACKAGE_OPENSSL
> -	depends on BR2_PACKAGE_NEON
> -	depends on !BR2_PACKAGE_NEON_NOXML
> +	select BR2_PACKAGE_NEON
> +	select BR2_PACKAGE_NEON_EXPAT if !BR2_PACKAGE_NEON_LIBXML2

  Maybe it's cleaner to add a hidden symbol to neon:

config BR2_PACKAGE_NEON_XML
	bool
	select BR2_PACKAGE_NEON_EXPAT if !BR2_PACKAGE_NEON_LIBXML2

  Then in rpm, you only need to select BR2_PACKAGE_NEON_XML

  (Since we're going to reuse this pattern in other places as well, I 
think it's important to do it right).


  Regards,
  Arnout

>   	select BR2_PACKAGE_NEON_ZLIB
>   	select BR2_PACKAGE_NEON_SSL
>   	help
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/3] neon: replace 'choice' for XML library with two options
  2013-08-27  6:17   ` Arnout Vandecappelle
@ 2013-08-27  7:24     ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2013-08-27  7:24 UTC (permalink / raw)
  To: buildroot

Dear Arnout Vandecappelle,

On Tue, 27 Aug 2013 08:17:33 +0200, Arnout Vandecappelle wrote:

> >   config BR2_PACKAGE_NEON_EXPAT
> > -	bool "expat"
> > +	bool "XML support with expat"
> >   	select BR2_PACKAGE_EXPAT
> > +	depends on BR2_PACKAGE_NEON
> 
>   Can you use "if ... endif" instead of depends on?

See PATCH 2/3 in the series :)

> >   config BR2_PACKAGE_RPM
> >   	bool "rpm"
> >   	depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
> >   	select BR2_PACKAGE_BEECRYPT
> >   	select BR2_PACKAGE_POPT
> >   	select BR2_PACKAGE_OPENSSL
> > -	depends on BR2_PACKAGE_NEON
> > -	depends on !BR2_PACKAGE_NEON_NOXML
> > +	select BR2_PACKAGE_NEON
> > +	select BR2_PACKAGE_NEON_EXPAT if !BR2_PACKAGE_NEON_LIBXML2
> 
>   Maybe it's cleaner to add a hidden symbol to neon:
> 
> config BR2_PACKAGE_NEON_XML
> 	bool
> 	select BR2_PACKAGE_NEON_EXPAT if !BR2_PACKAGE_NEON_LIBXML2
> 
>   Then in rpm, you only need to select BR2_PACKAGE_NEON_XML

Right, seems like a good idea, I'll try that.

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-08-27  7:24 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-24 11:07 [Buildroot] [PATCH 0/3] Subversion package and related patches Thomas Petazzoni
2013-08-24 11:07 ` [Buildroot] [PATCH 1/3] neon: replace 'choice' for XML library with two options Thomas Petazzoni
2013-08-27  6:17   ` Arnout Vandecappelle
2013-08-27  7:24     ` Thomas Petazzoni
2013-08-24 11:07 ` [Buildroot] [PATCH 2/3] neon: factorize 'depends on BR2_PACKAGE_NEON' Thomas Petazzoni
2013-08-24 11:07 ` [Buildroot] [PATCH 3/3] subversion: new package Thomas Petazzoni
2013-08-26  8:12 ` [Buildroot] [PATCH 0/3] Subversion package and related patches Rico Bachmann

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.