1. 03 Oct, 2018 9 commits
    • Natanael Copa's avatar
      abuild: run build actions via runpart · 324a5759
      Natanael Copa authored
      So we make sure chdir $builddir happens when it should.
    • Natanael Copa's avatar
      abuild: do not run check in fakeroot by default · 0bf61ee0
      Natanael Copa authored
      Only run check in fakeroot if options="checkroot" is set. This makes
      options="!checkroot" the default.
      I expect most checks work as non-root, and if a testsuite requires root,
      it will likely fail in fakeroot too. Fakeroot has also shown lower
      performance for parallel builds.
    • Natanael Copa's avatar
      abuild: print version of built package early · 3379e675
      Natanael Copa authored
      instead of printing abuild version, print package version. This is to
      avoid confuse the abuild version with the package version.
    • Natanael Copa's avatar
      abuild: chdir to $builddir if it exists · 2fe29d58
      Natanael Copa authored
      chdir to $builddir before running prepare, build, package or check.
    • Natanael Copa's avatar
      abuild: fix regression. run build · 4e455979
      Natanael Copa authored
      fix regression introduced in def21999
    • Natanael Copa's avatar
      abuild: require package() function · def21999
      Natanael Copa authored
      make a missing function for package() a hard error.
      this means we never run build in fakeroot.
    • Natanael Copa's avatar
      abuild: fix checksum update · 1cbc8531
      Natanael Copa authored
      Fix case where 1) checksum is a single line and 2) there is a variable
      under the checksum that should be kept. For example:
      Previously the `keepthis` variable would have been removed.
      ref https://github.com/alpinelinux/abuild/pull/41
    • Natanael Copa's avatar
      move logic of curl's http range error to abuild-fetch · c6609b47
      Natanael Copa authored
      Move the logic of deleting partial downloads to abuild-fetch, which
      knows if it is curl or wget that was executed.
    • Oliver Smith's avatar
      Fix: incomplete partfile gets renamed to distfile · 07d9f3bf
      Oliver Smith authored
      Abuild-fetch uses curl (fallback to wget) to download files. They are
      saved with a ".part" extension first, so they can be resumed if
      necessary. When the download is through, the ".part" extension gets
      removed. However, when the server does not support resume of downloads
      (e.g. GitHub's on the fly generated tarballs), then the ".part"
      extension got removed anyway. Abuild aborts in that case. But when
      running a third time, the distfile exists and it is assumed that this
      is the full download.
      * abuild-fetch:
        * Only remove the ".part" extension, when curl/wget exit with 0
        * Pass the exit code from curl/wget as exit code of abuild-fetch
        * Wherever abuild-fetch would return an exit code on its own, the
          codes have been changed to be > 200 (so they don't collide with
          curl's as of now 92 exit codes)
        * Remove undocumented feature of downloading multiple source URLs at
          a time. This doesn't match with the usage description, was not used
          in abuild at all and it would have made it impossible to pass the
          exit code.
      * abuild:
        * After downloading, when curl is installed and abuild-fetch has
          33 as exit code (curl's HTTP range error), then delete the partfile
          and try the download again.
  2. 31 May, 2018 1 commit
    • Natanael Copa's avatar
      abuild: fix race when stripping · c0a86293
      Natanael Copa authored
      scanelf may pick up tempfiles created by strip or setfattr since it runs
      in spearate process and pipes the out to a subshell. This causes a race
      and may lead to the while loop attempt to strip seomthing that no longer
      We fix that by test if file exists before try manipulate it. We could
      have written he file list to a temp file first, but this way we benefit
      from multiple cores working in parallel.
  3. 24 Apr, 2018 1 commit
  4. 22 Apr, 2018 1 commit
    • Sören Tempel's avatar
      abuild.in: don't fail if git describe fails · 720a2c18
      Sören Tempel authored
      `git describe` by default looks for tags, but `git clone` does not clone
      tags by default which causes failures on travis currently.
      Also redirect `git describe` errors to /dev/null while being here.
  5. 17 Apr, 2018 2 commits
  6. 15 Apr, 2018 1 commit
  7. 11 Apr, 2018 4 commits
  8. 20 Mar, 2018 1 commit
    • Oliver Smith's avatar
      Don't print 'git: not found' errors · 4501a6cc
      Oliver Smith authored
      abuild, as packaged in Alpine Linux, does not depend on git. But when
      you use it without git, it will print out errors like the following:
      /usr/bin/abuild: line 2554: git: not found
      With this commit, it saves the git_path in the beginning (just like
      abuild_path). Later in the code it does not try to run git if that
      variable is empty.
      Notably `abuild rootbld` is already checking whether `abuild-rootbld`
      is installed, and that subpackage of `abuild` does already depend on
      `git`. So no additional check was added before using `git ` inside
      Fixes #32
  9. 15 Mar, 2018 1 commit
    • Oliver Smith's avatar
      abuild: Change -f (force) to not ignore checksums/init scripts · 6981f3a6
      Oliver Smith authored
      The force flag used to skip the following functions, without any
      documentation in the help (-h) output:
        * verify (checksum verification)
        * initdcheck (check if the init scripts are openrc scripts)
        * check_arch (check if the target architecture is in "arch=")
        * check_libc (check if the target libc is masked in the options)
      This was counter-intuitive and could even be dangerous (when one relies
      on the checksum verification to prevent man-in-the-middle attacks, but
      always uses the -f flag).
      With this commit, it only skips check_arch and check_libc besides the
      package up to date check and the help output mentions this.
  10. 11 Mar, 2018 3 commits
  11. 08 Mar, 2018 1 commit
  12. 20 Feb, 2018 1 commit
  13. 02 Jan, 2018 1 commit
  14. 15 Nov, 2017 1 commit
  15. 10 Nov, 2017 1 commit
  16. 08 Nov, 2017 1 commit
  17. 02 Nov, 2017 1 commit
    • Ariadne Conill's avatar
      abuild: add support for provider_priority · 4b24af9e
      Ariadne Conill authored
      provider_priority is a number which determines what priority a package should be
      given when solving a dependency graph using a provides entry instead of a direct
      package, in the event of conflicts.
  18. 26 Oct, 2017 1 commit
    • Carlo Landmeter's avatar
      abuild: add env option to require tests · 573925a0
      Carlo Landmeter authored
      This adds an env option REQUIRE_CHECK to require testsuites to
      be run. This does not clutter getopts so it can be safely removed
      afterwards when we enforce tests globally. This will allow our CI
      infrastructure to enforce testsuites where possible.
  19. 24 Oct, 2017 1 commit
  20. 20 Oct, 2017 1 commit
  21. 28 Sep, 2017 2 commits
  22. 27 Sep, 2017 1 commit
  23. 26 Sep, 2017 1 commit
  24. 19 Sep, 2017 2 commits
    • tmpfile's avatar
      abuild.in: remove saveas- syntax and fix sourcecheck() · 56b8d450
      tmpfile authored
      As discussed in alpinelinux/aports#1438
      saveas- was removed from abuild-fetch.c with https://github.com/alpinelinux/abuild/pull/20 but abuild.in slipped.
      Also fixes a wget -s instance that's not supported by recent busybox (-s was changed for --spider).
      /cc @kaniini
    • A. Wilcox's avatar
      abuild: ensure a package has deps before printing them · f1faef78
      A. Wilcox authored
      After the first dep is printed, `shift` is called to avoid the special
      case where the first dep cannot have a comma prepended.  However,
      if there are no deps for a package (seen early on in the aports main
      repo in acf-jquery), $# is 0.  POSIX specifies that `shift` has two
      options when the shift operand (1) is greater than $#:
      - if non-interactive, it can exit the shell
      - if it does not exit the shell, it must return a non-zero exit code
      Since we run the shell with -e, the second case folds in to the first.
      BusyBox ash does not implement this behaviour, but bash does when called
      as /bin/sh or when the `posix` shopt is set.