1. 19 Jun, 2020 1 commit
  2. 15 Jun, 2020 1 commit
  3. 11 Jun, 2020 8 commits
    • Eli Schwartz's avatar
      makepkg/repo-add: do not accept public-only keys for signing · 02ae97b0
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      
      
      If it's not listed by --list-secret-key we don't care if it has been
      imported into your keyring, it's unusable. And you might not have a
      private key at all in the no-keyid-specified case.
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      02ae97b0
    • Eli Schwartz's avatar
      makepkg/repo-add: handle GPGKEY with spaces · 899d39b6
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      
      
      We pass this to gpg -u and this gpg option can accept a number of
      different formats, not just the historical hexadecimal fingerprint we
      assumed. We should not barf hard if a format is used which happens to
      contain spaces.
      
      This also fixes a validation bug. When we initially check if the desired
      key is available, we don't quote spaces, so gpg goes ahead and treats
      each space-separated string as a *different key* to search for,
      returning partial matches, and returning success if at least one key is
      found. But gpg --detach-sign -u will certainly not accept multiple keys!
      
      Fixes FS#66949
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      899d39b6
    • Eli Schwartz's avatar
      libmakepkg: fix regression in sending plain() output to stderr · bf458cce
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      In commit 882e707e we changed message
      output to go to stdout by default, unless it was an error. The plain()
      function doesn't *look* like an error function, but in practice it was
      -- it's used to continue multiline messages, and all in-tree uses were
      for warning/error.
      
      This is a problem both because we're sending output to the wrong place,
      and because in some cases, we were performing error logging from a
      function which would otherwise return a value to be captured in a
      variable using command substution.
      
      Fix this and straighten out the API by providing two functions: one for
      continuing msg output, and one which wraps this by sending output to
      stderr, for continuing error output.
      
      Change all callers to use the second function.
      bf458cce
    • Eli Schwartz's avatar
      makepkg: correctly handle missing download clients · 381e1137
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      This was broken in commit 882e707e
      
      ,
      which changed 'plain()' messages to go to stdout, which was then
      captured as the download client in question: cmdline=("Aborting...").
      
      The result was a very confusing error message e.g.
      
      /usr/share/makepkg/source/file.sh: line 72: $'\E[1m': command not found
      
      or with makepkg --nocolor:
      
      /usr/share/makepkg/source/file.sh: line 72: Aborting...: command not found
      
      The problem here is that we checked to see if an asynchronous subshell,
      in our case <(...), failed, by checking if its captured stdout is
      non-empty. Which is terrible, and also a limitation of old bash. But
      bash 4.4 can use wait $! to retrieve the return value of an asynchronous
      subshell. Now we target that as our minimum, we can sanely handle errors
      in such functions.
      
      Losing error messages on stdout by capturing them in a variable instead
      of printing them, continues to be a problem, but this will be fixed
      systematically in a later commit.
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      381e1137
    • Eli Schwartz's avatar
      makepkg: guard against undefined git pinned sources · 817f9fb7
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      
      
      If something like source=(..."#commit=") is used, e.g. due to failed
      variable expansion, we try to check out an empty refspec as nothing at
      all, and end up just running "git checkout". This happens because we
      fail at variable expansion too -- so let's quote our variables properly
      and make sure git sees this as an empty refspec, so it can error out.
      
      Also make sure it is interpreted as a ref instead of a path.
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      817f9fb7
    • Eli Schwartz's avatar
      build: add libintl dependency to meson and the .pc file · 3bd88821
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      
      
      In order to use gettext on systems where it is not part of libc, the
      correct linker flags are needed in libalpm.pc (for static compilation).
      This has never been the case.
      
      The new meson build system currently only checks for ngettext in libc,
      but does not fall back to searching for the existence of -lintl; add it
      to the libalpm dependencies.
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      3bd88821
    • Filipe Laíns's avatar
      ci: cache packages · e348ba38
      Filipe Laíns authored and Allan McRae's avatar Allan McRae committed
      
      
      Results in ~40s saved in each job.
      
      Signed-off-by: Filipe Laíns's avatarFilipe Laíns <lains@archlinux.org>
      e348ba38
    • Allan McRae's avatar
      Revert "makepkg: drop duplicate reporting of missing dependencies" · 40bbaead
      Allan McRae authored
      This removed all information on dependency failures if the --syncdeps
      flag was not used.  A better approach is needed.
      
      This reverts commit 4246a4cc
      
      .
      
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      40bbaead
  4. 01 Jun, 2020 4 commits
  5. 11 May, 2020 4 commits
  6. 09 May, 2020 13 commits
  7. 06 May, 2020 3 commits
  8. 04 May, 2020 2 commits
    • Dave Reisner's avatar
      meson: handle XFAIL tests outside of TAP · cebda6d0
      Dave Reisner authored and Allan McRae's avatar Allan McRae committed
      
      
      This change causes expected fail tests to actually fail by eliding the
      '# TODO' from the test plan. In turn, we can now properly use
      'should_fail' in the meson test() rule and see these expected fail
      tests in the output:
      
      Before:
        ...
        320/332 upgrade077.py                   OK 0.12679290771484375 s
        321/332 upgrade078.py                   OK 0.12620115280151367 s
        322/332 upgrade080.py                   OK 0.1252129077911377 s
        ...
      
        Ok:                 332
        Expected Fail:      0
        Fail:               0
        Unexpected Pass:    0
        Skipped:            0
        Timeout:            0
      
      After:
        ...
        320/332 upgrade077.py                   OK 0.12679290771484375 s
        321/332 upgrade078.py                   EXPECTEDFAIL0.12620115280151367 s
        322/332 upgrade080.py                   OK 0.1252129077911377 s
        ...
      
        Ok:                 326
        Expected Fail:      6
        Fail:               0
        Unexpected Pass:    0
        Skipped:            0
        Timeout:            0
      
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      cebda6d0
    • Allan McRae's avatar
      Add Gitlab Runner configuration · 0b81fb64
      Allan McRae authored
      
      
      Arch Linux is setting up a Gitlab instance.  This adds CI for the pacman
      project, testing a range of configurations on Arch and basic builds on
      Fedora and Debian.
      
      Note that asciidoc is specifically not installed on the Debian run because
      it is all sorts of broken...  Also, the defaults have been set to meson, with
      two autotools tests that will soon be removed.
      
      Original-file from: Andrew Gregory <andrew.gregory.8@gmail.com>
      Altered-to-run-on-Arch-Gitlab by: Sven-Hendrik Haase <svenstaro@gmail.com>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      0b81fb64
  9. 29 Apr, 2020 2 commits
  10. 15 Apr, 2020 2 commits