diff mbox

package/sqlite: fix parallel build failures

Message ID 1432159112-28325-1-git-send-email-yann.morin.1998@free.fr
State Accepted
Headers show

Commit Message

Yann E. MORIN May 20, 2015, 9:58 p.m. UTC
Fixes:
    http://autobuild.buildroot.org/results/aed/aed3690689b60844e3278626da3c3eb75f2a2586/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/sqlite/0001-fix-parallel-build.patch | 22 ++++++++++++++++++++++
 package/sqlite/sqlite.mk                     |  3 +++
 2 files changed, 25 insertions(+)
 create mode 100644 package/sqlite/0001-fix-parallel-build.patch

Comments

Thomas Petazzoni May 21, 2015, 10:07 a.m. UTC | #1
Dear Yann E. MORIN,

On Wed, 20 May 2015 23:58:32 +0200, Yann E. MORIN wrote:
> Fixes:
>     http://autobuild.buildroot.org/results/aed/aed3690689b60844e3278626da3c3eb75f2a2586/
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/sqlite/0001-fix-parallel-build.patch | 22 ++++++++++++++++++++++
>  package/sqlite/sqlite.mk                     |  3 +++
>  2 files changed, 25 insertions(+)
>  create mode 100644 package/sqlite/0001-fix-parallel-build.patch

Applied, thanks. I guess you've submitted this patch upstream, right?

Thanks,

Thomas
Yann E. MORIN May 21, 2015, 6:06 p.m. UTC | #2
Thomas, All,

On 2015-05-21 12:07 +0200, Thomas Petazzoni spake thusly:
> On Wed, 20 May 2015 23:58:32 +0200, Yann E. MORIN wrote:
> > Fixes:
> >     http://autobuild.buildroot.org/results/aed/aed3690689b60844e3278626da3c3eb75f2a2586/
> > 
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > ---
> >  package/sqlite/0001-fix-parallel-build.patch | 22 ++++++++++++++++++++++
> >  package/sqlite/sqlite.mk                     |  3 +++
> >  2 files changed, 25 insertions(+)
> >  create mode 100644 package/sqlite/0001-fix-parallel-build.patch
> 
> Applied, thanks. I guess you've submitted this patch upstream, right?

TLD;DR: no.

Full story:

  - sqlite uses fossil as its VCS;

  - cloning a fossil repo creates a single file (the DB) in the current
    directory;

  - "checking out" the repository is also done in the curent directory,
    polluting it;

  - there is no "fossil log" command;

  - the content of the fossil repository is clearly not aligned with
    that of the tarball;

  - there is autostuff in the repository, but it is in a sub-dorectory,
    and there is no explanation on how to use it; there is no explanation
    on how to generate the archive from the repository;

  - the mailing list are not very newbie-friendly: they are
    subscription-only (OK) but even the archives require subscription to
    be browsed (not OK).

So, in the end, I just threw in the towel...

Regards,
Yann E. MORIN.
Thomas Petazzoni May 21, 2015, 6:10 p.m. UTC | #3
Dear Yann E. MORIN,

On Thu, 21 May 2015 20:06:10 +0200, Yann E. MORIN wrote:

> Full story:
> 
>   - sqlite uses fossil as its VCS;
> 
>   - cloning a fossil repo creates a single file (the DB) in the current
>     directory;
> 
>   - "checking out" the repository is also done in the curent directory,
>     polluting it;
> 
>   - there is no "fossil log" command;
> 
>   - the content of the fossil repository is clearly not aligned with
>     that of the tarball;
> 
>   - there is autostuff in the repository, but it is in a sub-dorectory,
>     and there is no explanation on how to use it; there is no explanation
>     on how to generate the archive from the repository;
> 
>   - the mailing list are not very newbie-friendly: they are
>     subscription-only (OK) but even the archives require subscription to
>     be browsed (not OK).
> 
> So, in the end, I just threw in the towel...

Seems fun :)

Maybe you could just send a mail to the mailing list to report the bug,
as suggested at https://www.sqlite.org/src/wiki?name=Bug+Reports ?

Thanks,

Thomas
diff mbox

Patch

diff --git a/package/sqlite/0001-fix-parallel-build.patch b/package/sqlite/0001-fix-parallel-build.patch
new file mode 100644
index 0000000..79d80fb
--- /dev/null
+++ b/package/sqlite/0001-fix-parallel-build.patch
@@ -0,0 +1,22 @@ 
+Use correct dependency in Makefile.am
+
+Depending on a libtool library should be done using the .la name, not on
+the object file.
+
+Fixes hard-to-reproduce parallel build failures, like so:
+    http://autobuild.buildroot.org/results/aed/aed3690689b60844e3278626da3c3eb75f2a2586/build-end.log
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN sqlite-3081000.orig/Makefile.am sqlite-3081000/Makefile.am
+--- sqlite-3081000.orig/Makefile.am	2015-05-07 16:59:22.000000000 +0200
++++ sqlite-3081000/Makefile.am	2015-05-20 23:30:03.878784079 +0200
+@@ -7,7 +7,7 @@
+ 
+ bin_PROGRAMS = sqlite3
+ sqlite3_SOURCES = shell.c sqlite3.h
+-sqlite3_LDADD = sqlite3.$(OBJEXT) @READLINE_LIBS@
++sqlite3_LDADD = libsqlite3.la @READLINE_LIBS@
+ 
+ include_HEADERS = sqlite3.h sqlite3ext.h
+ 
diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk
index fff219a..b2283f0 100644
--- a/package/sqlite/sqlite.mk
+++ b/package/sqlite/sqlite.mk
@@ -10,6 +10,9 @@  SQLITE_SITE = http://www.sqlite.org/2015
 SQLITE_LICENSE = Public domain
 SQLITE_INSTALL_STAGING = YES
 
+# Patching Makefile.am:
+SQLITE_AUTORECONF = YES
+
 ifeq ($(BR2_PACKAGE_SQLITE_STAT3),y)
 SQLITE_CFLAGS += -DSQLITE_ENABLE_STAT3
 endif