1. 07 Jul, 2020 14 commits
  2. 06 Jul, 2020 2 commits
  3. 24 Jun, 2020 2 commits
  4. 16 Jun, 2020 2 commits
  5. 12 Jun, 2020 2 commits
    • Simon McVittie's avatar
      d/changelog: Update · 488eedd9
      Simon McVittie authored
      
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      488eedd9
    • Simon McVittie's avatar
      ld-libs: Always clear ldlibs->needed entry if ld_lib_open() fails · ac3f0295
      Simon McVittie authored
      
      
      This is what was documented to happen.
      
      Previously, we did not clear the entry if we failed to open the
      library fd, or if we succeeded but the library was "unacceptable"
      (wrong ELF class or machine tag). Normally this results in a minor
      memory leak, and a fd leak if the library is "unacceptable".
      
      However, when called from search_ldcache_cb(), it's particularly
      important that we do this, because search_ldcache() uses the state
      of the fd field - valid fd or not - to check whether ld_lib_open()
      succeeded.
      
      One practical symptom is that if your container has an x86_64
      libfoo.so.0 that compares newer than the provider's libfoo.so.0,
      and does not have an i386 libfoo.so.0, then capsule-capture-libs
      would unexpectedly not capture the i386 libfoo.so.0 from the provider
      either.
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      ac3f0295
  6. 03 Jun, 2020 2 commits
  7. 13 Mar, 2020 1 commit
  8. 12 Mar, 2020 1 commit
    • Simon McVittie's avatar
      CI: Codify how to build on Arch Linux · 1fd9e54b
      Simon McVittie authored
      
      
      Some libcapsule users and contributors are using Arch Linux or Manjaro
      rather than a Debian derivative.
      
      Many of the tests will be skipped on Gitlab-CI because they need a
      working bubblewrap, which isn't allowed inside unprivileged Docker;
      but this provides "executable documentation" for how to do a build
      and test.
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      1fd9e54b
  9. 16 Jan, 2020 4 commits
  10. 15 Jan, 2020 2 commits
  11. 14 Nov, 2019 2 commits
    • Simon McVittie's avatar
      ci: Use smaller CI images · 28e86dd1
      Simon McVittie authored
      
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      28e86dd1
    • Simon McVittie's avatar
      Revert "capture-libs: Compare symbols and versions to determine order" · 6d9833be
      Simon McVittie authored
      This crashes when tests/capture-libs.pl loads libgobject-2.0.so.0 on
      Debian 10 'buster' or on Debian unstable:
      
          Stack trace of thread 87172:
          #0  0x00007f6cad431176 g_slice_free1 (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6200.2)
          #1  0x00007f6cad431bc0 g_slist_remove (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6200.2)
          #2  0x00007f6cad43bf47 g_once_init_leave (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6200.2)
          #3  0x00007f6cad4f8e24 n/a (/tmp/fpzde0iMLo/host/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6200.2)
      
      I suspect this might be because the version of GLib in /usr and the
      version in /tmp/.../host/usr both get loaded into the same address
      space?
      
      This reverts commit fff84ffb
      
      .
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      6d9833be
  12. 11 Nov, 2019 4 commits
  13. 02 Oct, 2019 1 commit
    • Simon McVittie's avatar
      build: Check that the compiler and --host are consistent · 8bf9b114
      Simon McVittie authored
      
      
      libcapsule's use with biarch containers like the Steam Runtime will
      frequently make it necessary to compile it for both x86_64 and i386.
      
      On recent Debian-derived OSs this is OK, because the toolchain is
      provided as a complete set of cross-compiler-style prefixed tools like
      i686-linux-gnu-gcc; but some OSs, like Arch Linux and very old versions
      of Debian, rely on 'gcc -m32' for their biarch support. This makes it
      very easy to do
      
          ./configure --build=x86_64-linux-gnu --host=i686-linux-gnu
      
      and accidentally produce x86_64 binaries, because there is no
      i686-linux-gnu-gcc. Give the user a hint towards the correct invocation
      in this case, which is:
      
          ./configure --build=x86_64-linux-gnu --host=i686-linux-gnu CC='gcc -m32'
      
      I've implemented this as a reusable macro, in case we want to add it to
      other projects that are likely to be cross-compiled by inexperienced
      cross-compiler users.
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      8bf9b114
  14. 26 Sep, 2019 1 commit