1. 23 Mar, 2021 2 commits
  2. 22 Mar, 2021 2 commits
    • Jakub Ružička's avatar
      refactor: get rid of compat.py35path · 878ef8f6
      Jakub Ružička authored
      shutil and os modules in python 3.5 doesn't accept pathlib.Path (yet).
      
      compat.py35path() wrapper was used to mark code which requires extra
      str() conversion on Python <= 3.5.
      
      Introduce new apkg.util.shutil35 wrapper module for selected shutil and
      os functions in order to address this without polluting code with
      redundant py35path/str conversions.
      
      apkg.compat was removed in favor of new shutil35 which can be easily
      removed in the future once Python 3.5 support is dropped.
      
      Fixes: #36
      878ef8f6
    • Jakub Ružička's avatar
      refactor: os.makedirs -> Path.mkdir · b6dd5863
      Jakub Ružička authored
      get rid of py35path and "import os" in the process.
      b6dd5863
  3. 19 Mar, 2021 4 commits
  4. 18 Mar, 2021 1 commit
    • Jakub Ružička's avatar
      refactor: unified input files handling · 1065779e
      Jakub Ružička authored
      All commands's CLI was refactored to use new consistent handling of
      input files which allows selecting multiple input files as opposed to
      single archive/srcpkg:
      
      input files as arguments:
      
          apkg srcpkg -a foo.1.2.tgz foo.1.2.tgz.asc
      
      input files listed in file(s) including stdin which allows piping:
      
          apkg make-archive | apkg srcpkg -aF - | apkg build -sF -
      
      Fixes: #30
      Fixes: #31
      1065779e
  5. 15 Mar, 2021 1 commit
  6. 10 Mar, 2021 6 commits
    • Jakub Ružička's avatar
      pkgstyle.rpm: support openSUSE · ff742744
      Jakub Ružička authored
      * support openSUSE's zypper package manager
      * provide manual parsing of BuildRequires from .src.rpm
        because SUSE doesn't have builddep command (╯°□°)╯︵ ┻━┻
      ff742744
    • Tomas Krizek's avatar
      Merge branch 'qol' into 'master' · 0a7c9550
      Tomas Krizek authored
      Quality of Life changes for build, build-dep and cli
      
      Closes #29 and #27
      
      See merge request !28
      0a7c9550
    • Jakub Ružička's avatar
      build: use isolated build by default · 636a88fc
      Jakub Ružička authored
      It's dangerous for new users to use direct build by default as it
      modifies host system and requires build deps to be installed
      system-wide. This is useful especially in VMs and containers (CI).
      
      Isolated build is safer so make it a default with -H/--host-build
      option to enable direct host build replacing --isolated option.
      
      Adjust arch pkgstyle to work with new default CI invocation even though
      build deps installation and direct host build aren't supported on arch:
      
          apkg build -Hi
      
      apkg will print warnings for -H/--host-build (not supported on arch in
      general) and -i/--install-deps (not needed on arch) but it's going to
      work regardless.
      
          apkg build-dep
      
      on arch will result in DistroNotSupported error (exit code 44) as it
      should.
      
      Fixes: #27
      636a88fc
    • Jakub Ružička's avatar
      build-dep: add builddep alias · a07b28aa
      Jakub Ružička authored
      apkg is using dash-separated-command-names for the sake of readability
      but both dnf and apt have builddep command without the dash.
      
      Add builddep alias for build-dep so that everyone's happy :)
      
      Related: #29
      a07b28aa
    • Jakub Ružička's avatar
      cli: handle invalid command · 10f85f92
      Jakub Ružička authored
      print nice warning instead of showing stack trace when invalid apkg
      command was supplied.
      
      Fixes: #29
      10f85f92
    • Tomas Krizek's avatar
      Merge branch 'cleanup' into 'master' · c20b7fec
      Tomas Krizek authored
      code cleanup
      
      See merge request !27
      c20b7fec
  7. 09 Mar, 2021 4 commits
  8. 08 Mar, 2021 8 commits
  9. 05 Mar, 2021 1 commit
  10. 24 Feb, 2021 6 commits
  11. 19 Feb, 2021 2 commits
    • Jakub Ružička's avatar
      srcpkg: new --render-template option · c4a651d4
      Jakub Ružička authored
      --render-template makes srcpkg render source package template only
      without building anything using distro-specific tools.
      
      This can be used to for example to render individual distro/pkg/*
      templates for manual processing without depending on target distro.
      
      For example
      
          apkg srcpkg --render-template --distro arch
      
      will render current distro/pkg/arch template into
      pkg/build/srcpkgs/arch/$NVR and print path to resulting dir.
      
      Related: #9
      c4a651d4
    • Tomas Krizek's avatar
      Merge branch 'upstream-workflow' into 'master' · bd87ffc9
      Tomas Krizek authored
      implement upstream workflow
      
      Closes #14
      
      See merge request !21
      bd87ffc9
  12. 18 Feb, 2021 2 commits
    • Jakub Ružička's avatar
      implement upstream workflow · 7f82b3af
      Jakub Ružička authored
      apkg srcpkg/build now use distro/ input files from tarball when
      -u/--upstream is specified.
      
      This allows building of (source) packages from an archive containing
      distro/ dir without the need for any local project files:
      
          apkg build --upstream --archive banana-1.2.3.tar.gz
      
      Once upstream tarballs include apkg distro/ files, building latest
      upstream package from within a project repo should be as easy as:
      
          apkg build -u
      
      Fixes: #14
      7f82b3af
    • Jakub Ružička's avatar
      upstream version auto-detection · d202f74d
      Jakub Ružička authored
      This patch implements upstream version detection using two methods:
      
      1) from HTML listing if upstream.archive_url is set (default)
      2) using custom upstream.version_script if set
      
      Optional htmllistparse module is required in order for 1) to work.
      
      get-archive was updated to use the new version detection.
      
      This patch also includes related quality of life changes:
      
      * upstream-related config options moved to new [upstream] section
      * apkg config is now exposed using Project.config_get() which allows
        convenient access from code and templates, i.e.:
        project.config_get('upstream.archive_url')
      * Project class has new upstream-related methods
      * docs updated to reflect new features and config changes
      d202f74d
  13. 04 Feb, 2021 1 commit