Giter Site home page Giter Site logo

msys2-web's Introduction

MSYS2 GitHub homepage

Users

Start on the website, there's news and documentation.

Developers

See the repositories on the org page.

Issues

We expect your reports in MINGW packages or MSYS packages, depending on which repository the affected software comes from.

msys2-web's People

Contributors

alexpux avatar biswa96 avatar dependabot[bot] avatar dscho avatar lazka avatar naveen521kk avatar pombredanne avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

msys2-web's Issues

gentoo mapping/version issues

We currently have no keywords or masks for the packages, there is a graphql API but it has no pagination and times out if not just one package is queried:

import requests
import json
import pprint

graphql_url = 'https://packages.gentoo.org/api/graphql/'
query = '''
{
  packages(Atom: "app-editors/emacs") {
    Versions {
        Version
        Keywords
    }
  }
}
'''
headers = {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
}
payload = json.dumps({'query': query})
response = requests.post(graphql_url, headers=headers, data=payload)
response.raise_for_status()
pprint.pprint(response.json(), width=120)
{'data': {'packages': [{'Versions': [{'Keywords': '', 'Version': '30.0.9999'},
                                     {'Keywords': '~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv '
                                                  '~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos',
                                      'Version': '29.1-r6'},
                                     {'Keywords': '~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 '
                                                  '~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos',
                                      'Version': '29.1.90'},
                                     {'Keywords': '~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 sparc x86 '
                                                  '~amd64-linux ~x86-linux ~ppc-macos ~x64-macos',
                                      'Version': '25.3-r19'},
                                     {'Keywords': '~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 '
                                                  '~amd64-linux ~x86-linux ~ppc-macos ~x64-macos',
                                      'Version': '26.3-r16'},
                                     {'Keywords': '', 'Version': '29.1.9999'},
                                     {'Keywords': '~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv '
                                                  'sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos',
                                      'Version': '29.1-r1'},
                                     {'Keywords': '~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv '
                                                  'sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos',
                                      'Version': '28.2-r10'},
                                     {'Keywords': '~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv '
                                                  'sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos',
                                      'Version': '27.2-r14'},
                                     {'Keywords': '~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv '
                                                  'sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos',
                                      'Version': '29.1-r5'},
                                     {'Keywords': 'amd64 x86', 'Version': '18.59-r15'}]}]}}

Parse PKGBUILD files in MSYS2-packages/MINGW-packages directly

Instead of doing it in this repo we could parse them directly with a github workflow on the master branch. The work involved is:

  • Have a special git tag holding the parsed PKGBUILD cache
  • Pull the cache
  • Check if all PKGBUILDs in git are int he cache and update if needed
  • Replace the cache

This would remove the webhook dance we currently have to make with appveyor.

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.

Add logging

It sometimes stops updating, I should add logging, or add sentry.

Compare versions with cygwin

We currently compare package versions with Arch to decide if the package is outdated.

Since we also have various packages which only exist in cygwin we should generalize this and compare with both Arch and Cygwin.

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"
                ]
            }
        }
    }
}

fake "base"-groups

similar to pkgbase we could fake a base group name in the UI. Every group showing up multiple times is starting to get confusing.

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.

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.

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.

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.

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.

some bugs

libcrypt is in the repo but no in the interface

lzo2 is in the queue and marked as not built, but it's there.

package site is down

Just opening an issue in case no one is aware yet

https://packages.msys2.org/ is down. Might be a certificate issue?

image

Also, can't download packages such as https://repo.msys2.org/mingw/ucrt64/mingw-w64-ucrt-x86_64-curl-8.8.0-1-any.pkg.tar.zst

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.

required by bugs

mingw-w64-i686-python2-networkx not listing mingw-w64-i686-python2-openmdao as required by.

arch mapping bugs

  • package vulkan-loader is wrongly binded to Arch Linux vulkan-headers package
    it need to be binded to vulkan-icd-loader

  • dragon package is not the same as in Arch Linux too

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.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.