1. 07 Oct, 2019 1 commit
    • Eli Schwartz's avatar
      Support file with seccomp enabled · de6249ce
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      
      
      Not all compression types can be detected in the seccomp sandbox, so we
      need to disable it. This requires either configuring makepkg to know the
      sandbox is available, or checking for file >= 5.38 in which the sandbox
      option is a no-op even when seccomp is disabled.
      
      - Requires autoconf-archive for autotools version compare macro.
      - meson version comparison could be made a lot simpler using meson-git.
      
      Fixes FS#58626
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      de6249ce
  2. 04 Oct, 2019 1 commit
    • Eli Schwartz's avatar
      autotools: distribute meson files · bcb44891
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      
      
      If we use make dist to create the official, signed release tarballs,
      those will not have meson build files by default since autotools doesn't
      know what they are.
      
      Also distribute all src/common/ files. We never strictly needed any of
      them to be distributed with autotools, because the dist tarball
      dereferences the symlinks (???), but only some of them were being
      distributed, and meson needs them to be in the right location as we only
      build libcommon from the primary files.
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      bcb44891
  3. 28 May, 2019 2 commits
    • Eli Schwartz's avatar
      makepkg: move config loading into libmakepkg · a00615bf
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      
      
      When scripting/automating around makepkg, it is sometimes desirable to
      know how makepkg will be configured to operate. One example is the
      archlinux devtools, which must forward select makepkg.conf variables
      into a build chroot (for example PACKAGER) or use those variables itself
      (for example {SRC,PKG,LOG}DEST).
      
      The configuration file can be in up to 3 places, and should be capable
      of being overridden via environment variables. It is sufficiently
      complex to represent distinct functionality, and sufficiently useful to
      merit easy accessibility in other scripts, therefore, let us move it
      into a publicly exposed utility library.
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      a00615bf
    • Eli Schwartz's avatar
      libmakepkg: add lint_config to validate SRCEXT/PKGEXT · 4c38f4b9
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      
      
      These variables must begin with .src.tar / .pkg.tar respectively, so
      fail early if those expectations are not matched. This prevents makepkg
      from creating e.g. package files literally named "./pacman-5.1.3-1-x86_64"
      which are actually uncompressed tarballs.
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      4c38f4b9
  4. 08 May, 2019 1 commit
    • Eli Schwartz's avatar
      libmakepkg: install pkg-config file · 9375f498
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      
      
      Since makepkg exports a public library of functions, other projects may
      wish to use these functions. Highlights include parseopts or our
      messaging functions.
      
      Install a pkg-config file in order to let downstream users detect where
      they can source the libmakepkg functionality. This is useful e.g. to
      gracefully handle the case where a thirdparty project is configured and
      installed into a different datarootdir from pacman, but still wants to
      use the installed pacman's version of libmakepkg.
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      9375f498
  5. 19 Mar, 2019 2 commits
  6. 07 Mar, 2019 1 commit
  7. 31 Jan, 2019 3 commits
  8. 10 Jan, 2019 2 commits
  9. 28 Nov, 2018 4 commits
  10. 27 Nov, 2018 3 commits
  11. 21 Oct, 2018 1 commit
  12. 20 Oct, 2018 1 commit
  13. 10 Aug, 2018 1 commit
  14. 13 May, 2018 1 commit
    • Eli Schwartz's avatar
      Remove all modelines from the project · 860e4c49
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      
      
      Many of these are pointless (e.g. there is no need to explicitly turn on
      spellchecking and language dictionaries for the manpages by default).
      
      The only useful modelines are the ones enforcing the project coding
      standards for indentation style (and "maybe" filetype/syntax, but
      everything except the asciidoc manpages and makepkg.conf is already
      autodetected), and indent style can be applied more easily with
      .editorconfig
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      860e4c49
  15. 29 Apr, 2018 1 commit
    • Eli Schwartz's avatar
      libmakepkg/lint_pkgbuild: lint depends/etc. as if they are pkgname · 91b72cc3
      Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
      
      
      depends, provides, conflicts, replaces, and other variables that are
      meant to contain package names, are now checked to ensure
      
      1) the name component contains only characters that would equate to
         a valid pkgname.
      2) the version component contains only characters that would equate
         to a valid pkgver.
      3) comparison operator is a valid comparison operator (e.g. provides
         only allows exact = while optdepends doesn't allow anything)
      
      This also refactors pkgname into a shared utility function, wires up
      pkgbase optdepends and provides to use it, and gives pkgver a touchup
      to allow referencing where it was called from.
      
      Fixes FS#57833 and a bit of extra.
      
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      Signed-off-by: Allan McRae's avatarAllan McRae <allan@archlinux.org>
      91b72cc3
  16. 15 Mar, 2018 1 commit
  17. 07 Dec, 2017 2 commits
  18. 14 Sep, 2017 1 commit
  19. 04 Jan, 2017 1 commit
  20. 05 Dec, 2016 2 commits
  21. 22 Oct, 2016 3 commits
  22. 11 Oct, 2016 1 commit
  23. 10 Oct, 2016 2 commits
  24. 18 May, 2016 1 commit
  25. 28 Mar, 2016 1 commit