[haikuports-commits] [haikuports/haikuporter] 43bf6e: Package: Add dependency info file path getter, use...

  • From: GitHub <noreply@xxxxxxxxxx>
  • To: haikuports-commits@xxxxxxxxxxxxx
  • Date: Sat, 02 Dec 2017 16:49:50 -0800

  Branch: refs/heads/master
  Home:   https://github.com/haikuports/haikuporter
  Commit: 43bf6e8fc7f638e2eba259203262098aaec4cc8c
      
https://github.com/haikuports/haikuporter/commit/43bf6e8fc7f638e2eba259203262098aaec4cc8c
  Author: Michael Lotz <mmlr@xxxxxxxx>
  Date:   2017-12-02 (Sat, 02 Dec 2017)

  Changed paths:
    M HaikuPorter/Package.py
    M HaikuPorter/Port.py

  Log Message:
  -----------
  Package: Add dependency info file path getter, use it from Port.

Removes a bit of knowledge of internal Package structure from Port.


  Commit: 25319489f342848429197774ab202bd5df916c5b
      
https://github.com/haikuports/haikuporter/commit/25319489f342848429197774ab202bd5df916c5b
  Author: Michael Lotz <mmlr@xxxxxxxx>
  Date:   2017-12-02 (Sat, 02 Dec 2017)

  Changed paths:
    M HaikuPorter/DependencyAnalyzer.py
    M HaikuPorter/Main.py
    M HaikuPorter/Port.py
    M HaikuPorter/Repository.py

  Log Message:
  -----------
  Port: Rework configuration of repository dir.

Use a class variable and a setter to make the repository dir known to
Port and add a context manager for temporarily adjusting the repository
dir of specific ports.

This removes the need to hand in the repository dir to various methods,
which makes things more consistent. Some methods were previously using
the repository dir given to the constructor while others needed it as
argument.

The Repository now makes itself known to Port and can change the current
repository dir for the purpose of populating a new repository at a
different path.

With this, the ugly manual adjustment of the recipe cache of the Port by
the Repository can be removed. It was directly changing internals of
Port but used slightly different logic than within Port which lead to
two different filenames being used for the recipe cache file. This
caused recipes to be parsed once unnecessarily.


  Commit: 9ba99080b97b1bac027f0bcc2787b93a091f252d
      
https://github.com/haikuports/haikuporter/commit/9ba99080b97b1bac027f0bcc2787b93a091f252d
  Author: Michael Lotz <mmlr@xxxxxxxx>
  Date:   2017-12-02 (Sat, 02 Dec 2017)

  Changed paths:
    M HaikuPorter/Main.py

  Log Message:
  -----------
  Main: Shallow init is enough for --why.


  Commit: e0451507aeb12bce1da2794544eaa4b8b069832a
      
https://github.com/haikuports/haikuporter/commit/e0451507aeb12bce1da2794544eaa4b8b069832a
  Author: Michael Lotz <mmlr@xxxxxxxx>
  Date:   2017-12-02 (Sat, 02 Dec 2017)

  Changed paths:
    M HaikuPorter/BuildPlatform.py
    M HaikuPorter/Main.py

  Log Message:
  -----------
  BuildPlatformUnix: Add B_SYSTEM_PACKAGES_DIRECTORY override.

This allows --analyze-dependencies to work also on this platform when
given a --system-packages-directory.

Shallow init is also enough for --analyze-dependencies.


  Commit: 1b343b0c97c3f796e3090eaef78989fa49f59536
      
https://github.com/haikuports/haikuporter/commit/1b343b0c97c3f796e3090eaef78989fa49f59536
  Author: Michael Lotz <mmlr@xxxxxxxx>
  Date:   2017-12-02 (Sat, 02 Dec 2017)

  Changed paths:
    M HaikuPorter/BuildMaster.py

  Log Message:
  -----------
  BuildMaster: Test for name-only skipped builds.

Skipped builds that only get a name obviously don't have packages
associated.


  Commit: 4607f9f485b77cddcaff2d39dacdbcc59ab05c8b
      
https://github.com/haikuports/haikuporter/commit/4607f9f485b77cddcaff2d39dacdbcc59ab05c8b
  Author: Michael Lotz <mmlr@xxxxxxxx>
  Date:   2017-12-02 (Sat, 02 Dec 2017)

  Changed paths:
    M HaikuPorter/Repository.py

  Log Message:
  -----------
  Repository: Cleanup: Whitespace, os.path.join, print.

Also build the skipped flag path only once.


  Commit: d8b25097c3793c88fbe50bbfaf33e9e3cf8a2b87
      
https://github.com/haikuports/haikuporter/commit/d8b25097c3793c88fbe50bbfaf33e9e3cf8a2b87
  Author: Michael Lotz <mmlr@xxxxxxxx>
  Date:   2017-12-02 (Sat, 02 Dec 2017)

  Changed paths:
    M HaikuPorter/Repository.py

  Log Message:
  -----------
  Repository: Reuse _updateRepository for _populateRepository.

Except for skipped flag checking and build flag reset, this was 100%
code duplication.

This also removes the redirection of new repository creation into a
suffixed directory. Since the old repository dir was removed prior to
re-populating anyway, I have no idea what purpose this served. The
worst that can happen is that the repository population is aborted and
an incomplete repository dir will then be present. This will however
simply lead to the next run re-populating again due to missing format
marker and therefore behave exactly like before.


  Commit: 9f89104f55f6be2bdca2ce5292f0595ad08ee90e
      
https://github.com/haikuports/haikuporter/commit/9f89104f55f6be2bdca2ce5292f0595ad08ee90e
  Author: Michael Lotz <mmlr@xxxxxxxx>
  Date:   2017-12-02 (Sat, 02 Dec 2017)

  Changed paths:
    M HaikuPorter/Main.py
    M HaikuPorter/Repository.py

  Log Message:
  -----------
  Repository/Main: Rework handling of obsolete port building.

Repository: The method supportBackwardsCompatibility was a near 100%
duplicate of the original _updateRepository (with all of it's
shortcomings) except that it skipped everything that didn't match the
port/version parameters. Remove it completely and port over the explicit
port version selection into an optional parameter of _updateRepository.

Main: Factor out a _setupForPossiblyObsoletePort method and use it from
_buildMainPort and _buildPort. This ensures that the package redirection
happens in all cases and make the warning message reflect that
redirection.

This has the nice side effect that built dependencies that are actually
the latest version will not be put into the obsolete directory anymore
and therefore fixes the initial part of #22.

Also only call supportBackwardsCompatibility if the version actually
isn't the active one, since the operation is somewhat expensive and
produces otherwise confusing output.


  Commit: 23dd81c23ad6ba53cd0e7c9d0d07cd1fae30f090
      
https://github.com/haikuports/haikuporter/commit/23dd81c23ad6ba53cd0e7c9d0d07cd1fae30f090
  Author: Michael Lotz <mmlr@xxxxxxxx>
  Date:   2017-12-03 (Sun, 03 Dec 2017)

  Changed paths:
    M HaikuPorter/Main.py
    M HaikuPorter/Package.py
    M HaikuPorter/Port.py
    M HaikuPorter/Repository.py

  Log Message:
  -----------
  Repository/Port: Force allow unstable if explicitly requested.

When an unstable port is explicitly requested, a prompt allows to
continue. Since the port is unstable, the actual generation of the
dependency info was still skipped however.

Force allowing unstable ports when an explicit version was requested.
Since the port packages are filtered by their status as well, also
force reparsing (and therefore recreating the package list) of the
port recipe.


Compare: 
https://github.com/haikuports/haikuporter/compare/d97f09489da3...23dd81c23ad6

Other related posts:

  • » [haikuports-commits] [haikuports/haikuporter] 43bf6e: Package: Add dependency info file path getter, use... - GitHub