Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 0/4] ODB: C++ Object-Relational Mapping (ORM): New packages.
Date: Sat, 28 Apr 2018 23:07:29 +0200	[thread overview]
Message-ID: <20180428230729.7f9bfa98@windsurf> (raw)
In-Reply-To: <20171228192721.18494-1-Adamduskett@outlook.com>

Hello Adam,

On Thu, 28 Dec 2017 14:27:17 -0500, Adam Duskett wrote:

> There are three main components to use ODB (and a single dependency):
>   - libcutl: This library is ODB's only dependency.
>   - ODB: This is a compiler that takes a specially crafted c++ header file and
>   		 auto-generates a schema that works with libodb and the subsequent
>   		 libodb-database library.
>   		 
>   		 It would be used as such:
>   		 odb -d <database> --generate-query --generate-schema file.hxx
>  
>   - libodb: This package contains the common ODB runtime library. Every
>             application that includes code generated by the ODB compiler will
>             need to link to this library.
> 
>   - libodb-pgsql: This package contains the PostgreSQL ODB runtime library.
> 				  Every application that includes code generated for the
> 				  PostgreSQL database will need to link to this library.
> 
> I am only providing libodb-pgsql as that is the only one I personally need.
> There is also support for mysql, sqlite, mssql, and oracle as well.
> 
> Also boost and qt libraries are avaiable if anybody so wishes to add them.
> 
> Adam Duskett (4):
>   libcutl: new package
>   ODB: New package
>   libodb: new package
>   libodb-pgsql: new package

So, I started looking at this patch series. I found a number of
problems, mainly around licensing:

 - The libcutl license details were incomplete

 - The odb license was incorrect (it's GPL-3.0 and not MIT)

 - The libodb and libodb-pgsql license was incorrect (it's GPL-2.0 and
   not MIT)

But then, I encountered two more fundamental problems:

 (1) host-odb tries to build a gcc plugin for the host gcc, but my
     system didn't had the necessary headers and development files to
     build a gcc plugin. I had to install the gcc-plugin-devel package
     on my Fedora system.

     Since this is not guaranteed to be installed on all systems, I
     believe we should add a hidden Config.in boolean such as
     BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT, selected by host-odb (which
     would perhaps require adding a Config.in.host option for
     host-odb), and a check should be added in
     support/dependencies/dependencies.sh to verify that gcc plugins
     can be built for the host gcc. It might also be that plugin
     support doesn't exist in old gcc versions.

 (2) I was able to build libodb and libodb-pgsql without host-odb and
     host-libcutl, and I don't see in the libodb and libodb-pgsql build
     system where the gcc plugin built by host-odb or the odb compiler
     is used. Try by yourself: remove the host-odb dependency from
     libodb.mk, enable libodb and libodb-pgsql, and it will just work.

Could you look into the problems (1) and (2) ?

In order to avoid duplicating our effort, and because I also did a few
other cosmetic improvements, I put the latest version of the patches I
have at
https://git.bootlin.com/users/thomas-petazzoni/buildroot/log/?h=odb.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

      parent reply	other threads:[~2018-04-28 21:07 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-28 19:27 [Buildroot] [PATCH 0/4] ODB: C++ Object-Relational Mapping (ORM): New packages Adam Duskett
2017-12-28 19:27 ` [Buildroot] [PATCH 1/4] libcutl: new package Adam Duskett
2017-12-28 19:27 ` [Buildroot] [PATCH 2/4] ODB: New package Adam Duskett
2017-12-28 19:27 ` [Buildroot] [PATCH 3/4] libodb: new package Adam Duskett
2017-12-28 19:27 ` [Buildroot] [PATCH 4/4] libodb-pgsql: " Adam Duskett
2018-04-28 21:07 ` Thomas Petazzoni [this message]

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=20180428230729.7f9bfa98@windsurf \
    --to=thomas.petazzoni@bootlin.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox