1. 24 Apr, 2020 1 commit
    • Jérome Perrin's avatar
      prune: prune dependencies recursively · 4a2b7e08
      Jérome Perrin authored
      prune was not recursive when checking dependencies, for example when we
      have for example a shared part for openssl that is used only by a shared
      part for curl that is not used, we had to run prune twice, the first
      iteration would remove curl and only the second iteration would see that
      openssl is not used.
      
      This prune in a loop until nothing is pruned by the last iteration. To
      support dry-run, we added a ignored_shared_parts parameter to ignore the
      parts that are supposed to be deleted.
      4a2b7e08
  2. 14 Apr, 2020 1 commit
    • Jérome Perrin's avatar
      Revert "testing/testcase: use realpath to compare paths" · fa0ebacf
      Jérome Perrin authored
      This reverts commit 49ec3ece.
      
      That commit revealed that all the rpath check was not effective and that
      we have in fact lots of components which use system libraries.
      
      We'll fix rpath on slapos profiles and only then we'll fix this check,
      to prevent test failures (even if the test failures show a real problem)
      fa0ebacf
  3. 13 Apr, 2020 3 commits
    • Rafael Monnerat's avatar
      collect: small optimization on garbage collect · 86b03edf
      Rafael Monnerat authored
      This changes a query like:
      
          SELECT date FROM user WHERE reported = 1 AND date != '2020-04-13' AND date != '2020-04-12'  AND date != '2020-04-11'  AND date != '2020-04-10'  AND date != '2020-04-09'  AND date != '2020-04-08'  AND date != '2020-04-07'  AND date != '2020-04-06'  AND date != '2020-04-05' AND date != '2020-04-04'  AND date != '2020-04-03'  AND date != '2020-04-02'  AND date != '2020-04-01'  AND date != '2020-03-31'  AND date != '2020-03-30'  LIMIT 1
      
          EXPLAIN QUERY PLAN ...
          0|0|0|SCAN TABLE user USING COVERING INDEX user_date_reported_index
      
      which took ~3 seconds on a 1.5Go collector.db into:
      
          SELECT date FROM user WHERE reported = 1 AND (date < '2020-03-30'  OR  date > '2020-04-13')  LIMIT 1
      
          EXPLAIN QUERY PLAN ...
          0|0|0|SEARCH TABLE user USING COVERING INDEX user_date_reported_index (date<?)
          0|0|0|SEARCH TABLE user USING COVERING INDEX user_date_reported_index (date>?)
      
      which is instant.
      
      See merge request !201
      86b03edf
    • Jérome Perrin's avatar
      collect: small optimization on garbage collect · 686289b8
      Jérome Perrin authored
      This changes a query like:
      
          SELECT date FROM user WHERE reported = 1 AND date != '2020-04-13' AND date != '2020-04-12'  AND date != '2020-04-11'  AND date != '2020-04-10'  AND date != '2020-04-09'  AND date != '2020-04-08'  AND date != '2020-04-07'  AND date != '2020-04-06'  AND date != '2020-04-05' AND date != '2020-04-04'  AND date != '2020-04-03'  AND date != '2020-04-02'  AND date != '2020-04-01'  AND date != '2020-03-31'  AND date != '2020-03-30'  LIMIT 1
      
          EXPLAIN QUERY PLAN ...
          0|0|0|SCAN TABLE user USING COVERING INDEX user_date_reported_index
      
      which took ~3 seconds on a 1.5Go collector.db into:
      
          SELECT date FROM user WHERE reported = 1 AND (date < '2020-03-30'  OR  date > '2020-04-13')  LIMIT 1
      
          EXPLAIN QUERY PLAN ...
          0|0|0|SEARCH TABLE user USING COVERING INDEX user_date_reported_index (date<?)
          0|0|0|SEARCH TABLE user USING COVERING INDEX user_date_reported_index (date>?)
      
      which is instant.
      686289b8
    • Jérome Perrin's avatar
      testing/testcase: use realpath to compare paths · 49ec3ece
      Jérome Perrin authored
      This supports the case where some paths used for shared parts are
      symlinks
      49ec3ece
  4. 10 Apr, 2020 1 commit
  5. 09 Apr, 2020 1 commit
    • Jérome Perrin's avatar
      testing/testcase: ignore puppeteer in ldd check · a92b5dc5
      Jérome Perrin authored
      
      for nexedi/slapos!725
      
      ```
      RuntimeError: /srv/slapgrid/slappart9/srv/testnode/cxm/inst/test0-0/tmp/soft/503f3967022ee2febfbb1f4cb30c3a0f/parts/theia/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome has some not found libraries:
      	libX11-xcb.so.1 => not found
      	libXcomposite.so.1 => not found
      	libXcursor.so.1 => not found
      	libXdamage.so.1 => not found
      	libXfixes.so.3 => not found
      	libXi.so.6 => not found
      	libXrender.so.1 => not found
      	libXtst.so.6 => not found
      	libnss3.so => not found
      	libnssutil3.so => not found
      	libsmime3.so => not found
      	libnspr4.so => not found
      	libcups.so.2 => not found
      	libXss.so.1 => not found
      	libXrandr.so.2 => not found
      	libasound.so.2 => not found
      	libatk-1.0.so.0 => not found
      	libatk-bridge-2.0.so.0 => not found
      	libpangocairo-1.0.so.0 => not found
      	libpango-1.0.so.0 => not found
      	libcairo.so.2 => not found
      	libatspi.so.0 => not found
      	libgtk-3.so.0 => not found
      	libgdk-3.so.0 => not found
      	libgdk_pixbuf-2.0.so.0 => not found
      ```
      
      
      See merge request !200
      a92b5dc5
  6. 08 Apr, 2020 1 commit
  7. 07 Apr, 2020 5 commits
  8. 06 Apr, 2020 2 commits
  9. 03 Apr, 2020 3 commits
  10. 02 Apr, 2020 7 commits
  11. 30 Mar, 2020 2 commits
  12. 26 Mar, 2020 2 commits
    • Jérome Perrin's avatar
      testcase/checkExecutableLink: tolerate binary components used in cloudooo · 13eaacb5
      Jérome Perrin authored
      In cloudooo software release we are installing libreoffice and wkhtmltopdf as binary.
      These parts contain executables that seem to have missing dependencies, but there are wrapper setting library path, so they can be ignored.
      
      See merge request !195
      13eaacb5
    • Jérome Perrin's avatar
      prune: fix detection of parts used in scripts · af87827a
      Jérome Perrin authored
      python interpreter is sometimes referenced only in bin/buildout's
      shebang, even if not used anymore in any software, if it was used to
      initially created the buildout. In that case, the part should still be
      considered as used and not pruned.
      
      See merge request !194
      af87827a
  13. 23 Mar, 2020 2 commits
  14. 18 Mar, 2020 2 commits
  15. 11 Mar, 2020 1 commit
  16. 10 Mar, 2020 1 commit
    • Jérome Perrin's avatar
      testcase/checkExecutableLink: tolerate rpath with double slashes · 49db2b63
      Jérome Perrin authored
      When running with shared parts from slaprunner, we'll have path with
      double slashes like:
      
          /srv/slapgrid/slappart3/srv//runner//shared/libexpat/468993ea3777c1a342102bc1c4b43425/lib/libexpat.so.1
      
      because slaprunner has some paths with double slash.
      
      See merge request !191
      49db2b63
  17. 05 Mar, 2020 5 commits