* [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 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
* [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
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.