• 
      

    Restore a setup.py for package building.

    Review Request #15067 — Created May 19, 2026 and submitted

    Information

    rbintegrations
    release-5.x

    Reviewers

    rbintegrations was updated to switch to pyproject.toml, which uses
    the package backend in Review Board. However, this means it needs to be
    able to pull down Review Board in an isolated build environment in order
    to get to the package backend. This isn't feasible today, since that's
    not released, and it always means we'll be using the released and not
    in-development version of Review Board.

    Ideally we'd be able to use .local-packages to point to Review Board
    here, but that's not viable because we can't use buildthings for this.
    In the future, there will be an rbext package built on that, but that
    does us no good right now.

    However, we can restore setup.py and use that directly to kick off the
    build. This effectively removes the isolated build environment, so long
    as we run setup.py instead of python -m build. This isn't going to
    work forever, but it's the same approach we use for all other
    extensions.

    This setup.py is minimal. In modern setuptools, it will kick off the
    build but pull all metadata from pyproject.toml. This gives us a
    bridge toward modern builds but restores the ability to deploy and
    release this.

    Successfully built packages manually and with beanbag-tools.

    Note that python -m build will still fail until Review Board 8
    is released.

    Summary ID
    Restore a setup.py for package building.
    rbintegrations was updated to switch to pyproject.toml, which uses the package backend in Review Board. However, this means it needs to be able to pull down Review Board in an isolated build environment in order to get to the package backend. This isn't feasible today, since that's not released, and it always means we'll be using the released and not in-development version of Review Board. Ideally we'd be able to use `.local-packages` to point to Review Board here, but that's not viable because we can't use `buildthings` for this. In the future, there will be an `rbext` package built on that, but that does us no good right now. However, we can restore `setup.py` and use that directly to kick off the build. This effectively removes the isolated build environment, so long as we run `setup.py` instead of `python -m build`. This isn't going to work forever, but it's the same approach we use for all other extensions. This `setup.py` is minimal. In modern setuptools, it will kick off the build but pull all metadata from `pyproject.toml`. This gives us a bridge toward modern builds but restores the ability to deploy and release this.
    b326413b64584c978bf9c1fa4cf166147ade893c
    maubin
    1. Ship It!
    2. 
        
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-5.x (b6a55e6)