Online Repo Browser

Overview

MSYS2 Web Interface

A simple web interface for browsing the MSYS2 repos.

Rebuild CSS/JS (optional):

cd frontend
npm install
npm run build

Run for Development:

poetry shell
poetry install
python run.py --cache

Run for Production:

# See the Dockerfile
Comments
  • sometimes hover info for status is off the top of the screen

    sometimes hover info for status is off the top of the screen

    I don't know if it's just due to my small tablet screen or something that happens to everyone but image

    I can't try to select the contents because it disappears if I move the mouse off the status field, or scroll because the page scrollbar is already at the top.

    opened by jeremyd2019 3
  • Add option to filter outdated by specific rdeps

    Add option to filter outdated by specific rdeps

    I want to see all packages that are outdated and are transitive dependencies of package "foo" and "bar" for example.

    It's hard to care about all outdated packages, but it's easier to care about a small set imo

    opened by lazka 1
  • Add dep cycle info into the api response

    Add dep cycle info into the api response

    We currently throw out missing packages due to dep cycles which makes autobuild alter fail. Ideally autobuild wouldn't even start them and write out in the queue status that some dep is missing.

    opened by lazka 1
  • Move more dependency handling into the API

    Move more dependency handling into the API

    The current API response is (it grew over time..):

    {
        "repo_url": "https://github.com/msys2/MINGW-packages",
        "repo_path": "mingw-w64-mono",
        "version": "6.4.0.198-1",
        "name": "mingw-w64-mono",
        "source": false,
        "packages": {
            "ucrt64": [
                "mingw-w64-ucrt-x86_64-mono"
            ],
            "clang64": [
                "mingw-w64-clang-x86_64-mono"
            ]
        },
        "new": [
            "ucrt64",
            "clang64"
        ],
        "depends": {
            "msys": [
                "libedit",
                "perl-libwww"
            ]
        }
    }
    

    and we hardcode in autobuild that ucrt64 depends on msys etc.

    Ideally the response would be this, so all the info is neatly separated by build type:

    {
        "repo_url": "https://github.com/msys2/MINGW-packages",
        "repo_path": "mingw-w64-mono",
        "version": "6.4.0.198-1",
        "name": "mingw-w64-mono",
        "source": false,
        "builds": {
            "ucrt64": {
                "packages": [
                    "mingw-w64-ucrt-x86_64-mono"
                ],
                "new": true,
                "depends": {
                    "msys": [
                        "libedit",
                        "perl-libwww"
                    ]
                }
            },
            "clang64": {
                "packages": [
                    "mingw-w64-clang-x86_64-mono"
                ],
                "new": true,
                "depends": {
                    "msys": [
                        "libedit",
                        "perl-libwww"
                    ]
                }
            }
        }
    }
    
    opened by lazka 1
  • Feature request: filter

    Feature request: filter "repo updates" page by repo

    With all the ucrt64 package updates lately, updates for any other repo are kind of buried. It would be nice to be able to be able to see the latest updates for a given repo.

    The "pending package updates" page has a similar issue, but it doesn't have a 'repo' column, so I don't know if something like that would work there.

    opened by jeremyd2019 1
  • buildqueue: better handling of provided packages for VCS packages

    buildqueue: better handling of provided packages for VCS packages

    Assume we have "foo" in the repo and try to build "foo-git" and "bar" depending on "foo". We shouldn't replace "foo" with "foo-git" in the deps because -git variants will likely fail and will not be used for building.

    Not sure how pacman resolves this, but we should only replace a provides if there is not a real package with that name in the repo or in the queue.

    opened by lazka 1
  • Return 500 when not fully populated

    Return 500 when not fully populated

    In case the server gets restarted it will just return empty everything until it fetches everything. Since we now depend on the API for building this leads to the CI job removing all already built packages.

    The API should return 50x in case the data hasn't been fetched yet.

    opened by lazka 1
  • Add cygwin links

    Add cygwin links

    • Fetch http://mirrors.kernel.org/sourceware/cygwin/x86_64/setup.ini
    • Extract the source name from the "source:" tarball name and the matching version
    • Link to https://cygwin.com/packages/summary/<src-name>-src.html
    opened by lazka 1
  • Add webhook support

    Add webhook support

    It would be nice if we could receive github webhooks and trigger an appveyor build so we can get rid of the appveyor cron job.

    • https://github.com/bloomberg/python-github-webhook or https://github.com/nickfrostatx/flask-hookserver
    • https://www.appveyor.com/docs/api/projects-builds/#start-build-of-branch-most-recent-commit

    This requires two secrets on the deployment side of things: github webhook secret and appveyor api token.

    opened by lazka 1
  • Add a base group collection

    Add a base group collection

    This is conceptionally similar to a pkgbase, but for groups. Something like this doesn't really exist on the PKGBUILD level, but end users can't really work with pkgbase with pacman either, so for them that doesn't matter.

    It still gives the end user the same structure as with packages, there is a base thing that has multiple instances for each environment, and searching might be a bit easier.

    The UX could be improved, but the basics are there at least.

    Fixes https://github.com/msys2/msys2-web/issues/47

    opened by lazka 0
  • Add links for spdx licenses

    Add links for spdx licenses

    Do some very basic parsing of spdx expressions and add links to the respective license pages.

    Multiple licenses in a package are combined with "OR".

    opened by lazka 0
  • Too Many Errors Reported for Tool Chain Install

    Too Many Errors Reported for Tool Chain Install

    Running on Windows 10.

    pacman -S mingw-w64-clang-x86_64-toolchain

    Results in : ---> Packages (47) mingw-w64-clang-x86_64-bzip2-1.0.8-2 mingw-w64-clang-x86_64-ca-certificates-20210119-1 mingw-w64-clang-x86_64-expat-2.4.8-1 mingw-w64-clang-x86_64-gettext-0.21-3 mingw-w64-clang-x86_64-libffi-3.3-4 mingw-w64-clang-x86_64-libiconv-1.16-2 mingw-w64-clang-x86_64-libsystre-1.0.1-4 mingw-w64-clang-x86_64-libtasn1-4.18.0-1 mingw-w64-clang-x86_64-libtre-git-r128.6fb7206-2 mingw-w64-clang-x86_64-libxml2-2.9.13-2 mingw-w64-clang-x86_64-lua-5.4.3-2 mingw-w64-clang-x86_64-mpdecimal-2.5.1-1 mingw-w64-clang-x86_64-ncurses-6.3-5 mingw-w64-clang-x86_64-openssl-1.1.1.n-1 mingw-w64-clang-x86_64-p11-kit-0.24.1-2 mingw-w64-clang-x86_64-python-3.9.12-1 mingw-w64-clang-x86_64-python-six-1.16.0-2 mingw-w64-clang-x86_64-readline-8.1.001-1 mingw-w64-clang-x86_64-sqlite3-3.38.2-1 mingw-w64-clang-x86_64-tcl-8.6.11-5 mingw-w64-clang-x86_64-termcap-1.3.1-6 mingw-w64-clang-x86_64-tk-8.6.11.1-2 mingw-w64-clang-x86_64-tzdata-2022a-1 mingw-w64-clang-x86_64-xz-5.2.5-3 mingw-w64-clang-x86_64-zlib-1.2.12-1 mingw-w64-clang-x86_64-clang-14.0.0-1 mingw-w64-clang-x86_64-clang-analyzer-14.0.0-1 mingw-w64-clang-x86_64-clang-tools-extra-14.0.0-1 mingw-w64-clang-x86_64-compiler-rt-14.0.0-1 mingw-w64-clang-x86_64-crt-git-10.0.0.r14.ga08c638f8-1 mingw-w64-clang-x86_64-gcc-compat-14.0.0-1 mingw-w64-clang-x86_64-headers-git-10.0.0.r14.ga08c638f8-1 mingw-w64-clang-x86_64-libc++-14.0.0-1 mingw-w64-clang-x86_64-libc++abi-14.0.0-1 mingw-w64-clang-x86_64-libmangle-git-10.0.0.r14.ga08c638f8-1 mingw-w64-clang-x86_64-libunwind-14.0.0-1 mingw-w64-clang-x86_64-libwinpthread-git-10.0.0.r14.ga08c638f8-1 mingw-w64-clang-x86_64-lld-14.0.0-1 mingw-w64-clang-x86_64-lldb-14.0.0-1 mingw-w64-clang-x86_64-llvm-14.0.0-1 mingw-w64-clang-x86_64-make-4.3-1 mingw-w64-clang-x86_64-openmp-14.0.0-2 mingw-w64-clang-x86_64-pkgconf-1.8.0-2 mingw-w64-clang-x86_64-polly-14.0.0-1 mingw-w64-clang-x86_64-tools-git-10.0.0.r14.ga08c638f8-1 mingw-w64-clang-x86_64-winpthreads-git-10.0.0.r14.ga08c638f8-1 mingw-w64-clang-x86_64-winstorecompat-git-10.0.0.r14.ga08c638f8-1

    Total Download Size: 162.89 MiB Total Installed Size: 1196.46 MiB

    But then --->

    error: failed retrieving file 'mingw-w64-clang-x86_64-lldb-14.0.0-1-any.pkg.tar.zst' from mirror.msys2.org : SSL connection timeout error: failed retrieving file 'mingw-w64-clang-x86_64-openssl-1.1.1.n-1-any.pkg.tar.zst' from mirror.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds error: failed retrieving file 'mingw-w64-clang-x86_64-openssl-1.1.1.n-1-any.pkg.tar.zst' from repo.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds error: failed retrieving file 'mingw-w64-clang-x86_64-openmp-14.0.0-2-any.pkg.tar.zst' from mirror.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds warning: too many errors from mirror.msys2.org, skipping for the remainder of this transaction

    opened by pinnaclesystemsgroup 0
  • [Feature Request]: Add option to search by description

    [Feature Request]: Add option to search by description

    The current search bar only searches by package name in either Base Packages or Packages meaning if I were to want to look up a Fourth compiler, I would need to go to https://packages.msys2.org/package or https://packages.msys2.org/base and use my browser's find function to search for Fourth to bring up one of the 4th packages

    opened by 1480c1 0
  • add id/link to pending removals on queue page

    add id/link to pending removals on queue page

    On the queue page, there is no real indication there is another list after the giant pending package updates list. On discord, @elieux suggested adding ids to the lists, but I suggest going one step further and also adding some sort of "TOC" type thing with a link to that id, and also indicating that there is in fact another section down there.

    opened by jeremyd2019 0
  • package removal list needs to check reverse deps

    package removal list needs to check reverse deps

    A package can only be removed if nothing in the repo depends on it anymore.

    This also includes if it provides something and there is no real package with that name, and that provides is used somewhere.

    opened by lazka 1
  • Trigger a autobuild webhook when something changes

    Trigger a autobuild webhook when something changes

    In the future we might want to start some build if anything in our responses changes, maybe with some debounce to avoid triggering it too much.

    • We currently already detect changes for etag handling
    • We currently always "detect" a change when the appveyor job runs because it always uploads a new release and the mtime changes. We should avoid updating the parsing release if nothing has changed.
    opened by lazka 1
Owner
MSYS2
A software distro and building platform for Windows
MSYS2
edgedressing leverages a Windows "feature" in order to force a target's Edge browser to open. This browser is then directed to a URL of choice.

edgedressing One day while experimenting with airpwn-ng, I noticed unexpected GET requests on the target node. The node in question happened to be a W

stryngs 43 Dec 23, 2022
Browser - A GTK browser trying to follow the GNOME Human Interface Guidelines.

A simple GTK browser trying to follow the GNOME Human Interface Guidelines.

Cleo Menezes 12 Nov 26, 2022
lfb (light file browser) is a terminal file browser

lfb (light file browser) is a terminal file browser. The whole program is a mess as of now. In the feature I will remove the need for external dependencies, tidy up the code, make an actual readme, add documentation, and change the name.

null 2 Apr 9, 2022
Hexa is an advanced browser.It can carry out all the functions present in a browser.

Hexa is an advanced browser.It can carry out all the functions present in a browser.It is coded in the language Python using the modules PyQt5 and sys mainly.It is gonna get developed more in the future.It is made specially for the students.Only 1 tab can be used while using it so that the students cant missuse the pandemic situation :)

null 1 Dec 10, 2021
A repo-watcher to watch for commits on a repo an trigger GitHub action by sending a `repository_dispatch` event to destinantion repo

repo-watcher-dispatch-sender This app is used to send a repository_dispatch event to the destination repo set in config.py or Environmental Variables

Divide Projects™ 2 Feb 6, 2022
The official repo for OC-SORT: Observation-Centric SORT on video Multi-Object Tracking. OC-SORT is simple, online and robust to occlusion/non-linear motion.

OC-SORT Observation-Centric SORT (OC-SORT) is a pure motion-model-based multi-object tracker. It aims to improve tracking robustness in crowded scenes

Jinkun Cao 325 Jan 5, 2023
(OLD REPO) Line-by-line profiling for Python - Current repo ->

line_profiler and kernprof line_profiler is a module for doing line-by-line profiling of functions. kernprof is a convenient script for running either

Robert Kern 3.6k Jan 6, 2023
Repo Home WPDrawBot - (Repo, Home, WP) A powerful programmatic 2D drawing application for MacOS X which generates graphics from Python scripts. (graphics, dev, mac)

DrawBot DrawBot is a powerful, free application for macOS that invites you to write Python scripts to generate two-dimensional graphics. The built-in

Frederik Berlaen 342 Dec 27, 2022
REPO USERBOT YANG DIBUAT DARI BERBAGAI REPO USERBOT GITHUB.

Lord Userbot Userbot Yang Digunakan Untuk Bersenang-Senang Di Telegram Repo Lord Userbot Repo Yang Dibuat Alvin Dari Berbagai Repo Userbot Github CARA

Alvin 70 Jan 2, 2023
A Telegram Repo For Devs To Controll The Bots Under Maintenance.This Bot Is For Developers, If Your Bot Is Down, Use This Repo To Give Your Dear Subscribers Some Support By Providing Them Response.

Maintenance Bot A Telegram Repo For Devs To Controll The Bots Under Maintenance About This Bot This Bot Is For Developers, If Your Bot Is Down, Use Th

Vɪᴠᴇᴋ 47 Dec 29, 2022
A Telegram Repo For Devs To Controll The Bots Under Maintenance.This Bot Is For Developers, If Your Bot Is Down, Use This Repo To Give Your Dear Subscribers Some Support By Providing Them Response.

Maintenance Bot A Telegram Repo For Devs To Controll The Bots Under Maintenance About This Bot This Bot Is For Developers, If Your Bot Is Down, Use Th

Vɪᴠᴇᴋ 47 Dec 29, 2022
pyGinit is a command line tools that help you to initialize your current project a local git repo and remote repo

pyGinit pyGinit is a command line tools that help you to initialize your current project a local git repo and remote repo Requirements Requirements be

AlphaBeta 15 Feb 26, 2022
Interactive Data Visualization in the browser, from Python

Bokeh is an interactive visualization library for modern web browsers. It provides elegant, concise construction of versatile graphics, and affords hi

Bokeh 17.1k Dec 31, 2022
robobrowser - A simple, Pythonic library for browsing the web without a standalone web browser.

RoboBrowser: Your friendly neighborhood web scraper Homepage: http://robobrowser.readthedocs.org/ RoboBrowser is a simple, Pythonic library for browsi

Joshua Carp 3.7k Dec 27, 2022
Simple plotting for Python. Python wrapper for D3xter - render charts in the browser with simple Python syntax.

PyDexter Simple plotting for Python. Python wrapper for D3xter - render charts in the browser with simple Python syntax. Setup $ pip install PyDexter

D3xter 31 Mar 6, 2021
A Python library that provides an easy way to identify devices like mobile phones, tablets and their capabilities by parsing (browser) user agent strings.

Python User Agents user_agents is a Python library that provides an easy way to identify/detect devices like mobile phones, tablets and their capabili

Selwin Ong 1.3k Dec 22, 2022
Websockify is a WebSocket to TCP proxy/bridge. This allows a browser to connect to any application/server/service. Implementations in Python, C, Node.js and Ruby.

websockify: WebSockets support for any application/server websockify was formerly named wsproxy and was part of the noVNC project. At the most basic l

noVNC 3.3k Jan 3, 2023
A browser automation framework and ecosystem.

Selenium Selenium is an umbrella project encapsulating a variety of tools and libraries enabling web browser automation. Selenium specifically provide

Selenium 25.5k Jan 1, 2023
pytest splinter and selenium integration for anyone interested in browser interaction in tests

Splinter plugin for the pytest runner Install pytest-splinter pip install pytest-splinter Features The plugin provides a set of fixtures to use splin

pytest-dev 238 Nov 14, 2022