miurahr / aqtinstall

aqt: Another (unofficial) Qt CLI Installer on multi-platforms
https://aqtinstall.readthedocs.io/en/latest/
MIT License
914 stars 84 forks source link

Allow for installation of preview (beta/alpha) releases #720

Open dantti opened 11 months ago

dantti commented 11 months ago

Is your feature request related to a problem? Please describe. We would like to catch regressions to our software before a major version of Qt is released, the Maintainance tool has preview versions which would be enough for us.

Describe the solution you'd like Being able to pick the Qt provided beta versions, even better if with --latest-beta-version or --latest-preview-version

miurahr commented 11 months ago

@dantti could you share your considered prereleased versions in a folder list of https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/ ?

aqtinstall download binaries from the above URL (for windows) and install it. Did you suggest qt6_62_preview ?

dantti commented 11 months ago

Well afaik it uses the same source of packages as Qt Maintainance tool, so looks like https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_dev/Updates.xml is a better candidate as it lists 6.7.0 there

miurahr commented 11 months ago

@dantti Here is a place where it make a path part online/qtsdkrepository/windows_x86/desktop/ qt6_xxx https://github.com/miurahr/aqtinstall/blob/master/aqt/archives.py#L318-L321

    def _version_str(self) -> str:
        return ("{0.major}{0.minor}" if self.version == Version("5.9.0") else "{0.major}{0.minor}{0.patch}").format(
            self.version
        )

You are welcome to propose improvements.

ddalcino commented 10 months ago

Just for clarification/organization purposes, is this a duplicate of #607? I think that issue got put on hold because the user didn't describe a use case for installing qt6_dev, but you've already given a really good use case for it.

dantti commented 10 months ago

Yeah seems the same issue.

ddalcino commented 10 months ago

I don't know much about the qt6_dev branch, but I think it's pre-alpha. I would like to clarify that alpha and beta releases are already available using aqtinstall, they just aren't marked that way. We don't have a good way to programmatically infer which releases are alpha, beta, or final.

According to the commit history on https://github.com/ddalcino/qt-repo-cache (gh-pages branch, if you want to see for yourself), the final version of Qt 6.6.0 was released ~September 25~ October 9th, 2023. It was first released (in alpha format, I think) to download.qt.io on June 15th, 2023. You've been able to install it with aqtinstall since then. There have been about five updates since then, corresponding to the beta releases and the final release. You can cross-reference with https://wiki.qt.io/QtReleasing

After each updated release, the sha256 hashes are removed from the server and regenerated about 24 hours later. Since the sha256 hashes for each release are not available, it would have been impossible to install during that period, unless you turn off the hash checks. These are turned on by default for security reasons.

miurahr commented 10 months ago

Duplicated with #607