1. 22 May, 2017 1 commit
    • Sam Thursfield's avatar
      Meson build instructions for Tracker · 68b41e39
      Sam Thursfield authored
      See <http://mesonbuild.com/> for information about Meson.
      
      Remaining issues:
      
        * There's no `make dist` equivalent. We currently produce release
          tarballs containing the output files of the Vala compiler. We need
          to think through whether we can stop doing that. Shipping the
          generated .c files does make the Vala preprocessor useless so
          it would be good if we can stop.
      
        * The Firefox, Thunderbird, Evolution and Nautilus plugins are not
          built
      
        * https://github.com/mesonbuild/meson/issues/671 -- means we can't
          depend on tracker_common_dep in most places and have to manually
          set link_with, include_directories and sources instead.
      
        * https://github.com/mesonbuild/meson/issues/1469 -- without this we
          have to install generated Vala headers using a script
      
        * https://github.com/mesonbuild/meson/issues/1229 -- means adding
          the #include guard to libtracker-sparql/tracker-generated-no-checks.h
          is a pain
      
        * The test suite has some spurious failures.
      
      Here's a rough speed comparison.
      
      Meson:
              time sh -c 'meson .. --prefix=/opt/tracker-meson -D bash_completion=/opt/tracker-meson/share/bash-completion -Dsystemd_user_services=/opt/tracker-meson/lib/systemd/user -Ddbus_services=/opt/tracker-meson/share/dbus-1/services && ninja-build -j 4 && ninja-build install'
      
              real  1m8.194s
              user  2m16.962s
              sys   0m20.532s
      
      Autotools:
              time sh -c './configure --prefix=/opt/tracker-autotools --with-bash-completion-dir=/opt/tracker-autotools/share/bash-completion --with-session-bus-services-dir=/opt/tracker-autotools/share/dbus-1/services --disable-nautilus-extension && make -j 4 && make install'
      
              real  2m37.750s
              user  4m37.214s
              sys   0m54.806s
      
              Plus 30+ seconds of ./autogen.sh first.
      
      Note that Meson builds may fail if your source tree has generated files
      from an Autotools build in there. If you see errors about duplicate
      definitions, first try cleaning your source tree (use `git clean -dfx`,
      but make sure you commit any work first!!)
      68b41e39
  2. 24 Feb, 2017 2 commits
  3. 23 Feb, 2017 2 commits
  4. 28 Jan, 2017 2 commits
  5. 16 Jan, 2017 1 commit
  6. 14 Dec, 2016 3 commits
  7. 13 Dec, 2016 1 commit
  8. 28 Nov, 2016 2 commits
  9. 27 Nov, 2016 1 commit
  10. 21 Nov, 2016 2 commits
    • Carlos Garnacho's avatar
      Revert "libtracker-data: Wrap BIND argument with () in SQL" · 454272aa
      Carlos Garnacho authored
      This reverts commit 8fc47cfe.
      
      Too easy to be true, it breaks other legit situations.
      454272aa
    • Carlos Garnacho's avatar
      libtracker-data: Wrap BIND argument with () in SQL · 8fc47cfe
      Carlos Garnacho authored
      Constructing the query as "SELECT $bind * FROM (...)" may trigger
      sqlite parser overflows if the BIND form turns out to be too complex,
      Doing the query as "SELECT ($bind) * FROM (...)" seems to be more
      friendly to the parser.
      
      This error was seen in gnome-music search, where the BIND() argument
      is something like:
      
      BIND((IF(STRSTARTS(?title_lower, "the "), SUBSTR(?title_lower, 5),
               IF(STRSTARTS(?title_lower, "a "), SUBSTR(?title_lower, 3),
                  IF(STRSTARTS(?title_lower, "an "), SUBSTR(?title_lower, 4),
                     fn:replace(fn:lower-case(?title_lower),
                                "^[ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]+|[ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]+$", "")
                    )
                 )
              )
           ) AS ?title_collation)
      
      Which, despite the fn:replace regex argument being passed as a host
      parameter, seemed too much to sqlite.
      8fc47cfe
  11. 20 Nov, 2016 23 commits