getsolus / packages

Solus Package Monorepo & Issue Tracker
66 stars 86 forks source link

PR linters #355

Open silkeh opened 1 year ago

silkeh commented 1 year ago

Add GitHub integration(s) to detect common problems with PRs:

To be refined further:

joebonrichie commented 1 year ago

Some things we need to check for

Not specifically related to linting:

joebonrichie commented 1 year ago
  • Accidentally including a file outside of a package folder in a commit - how would the builder handle that if that accidentally got through?

So for this one, I think for the first package.yml file we come across - if the release has been bumped then we need to ensure no other files outside of that directory get committed.

It would be nice if there was a way to signify whether a commit is actually a package update, not an update in common, or a styling change.

joebonrichie commented 1 year ago

Linking in #370 as we can apply linters to that more easily with monorepo

joebonrichie commented 1 year ago

alphabeticalized builddeps/rundeps pkgconfig,A-Z,a-z,0-9

joebonrichie commented 1 year ago
name:
version:
source:
homepage:
license:
component:
summary:
description:
builddeps:
rundeps:
setup:
build:
install:
check:

However, we do not have a generally accepted order for other keys such as

mancompress:
avx2:
conflicts:
replaces:
libsplit:

...and others. These typically go after description but before builddeps however, the order of them is not strictly defined. Additionally, there seem to be a recent convention of putting replaces and conflicts at the bottom of the package.yml file.

joebonrichie commented 1 year ago

Files from pypi should be in this url format https://files.pythonhosted.org/packages/source/u/urlscan/urlscan-1.0.1.tar.gz

silkeh commented 1 year ago

Packages with a .desktop file in /usr/share/applications/ should have appstream metadata, so either:

TraceyC77 commented 2 weeks ago

Packages with a .desktop file in /usr/share/applications/ should have appstream metadata, so either:

* `/usr/share/metainfo/<package>.metainfo.xml` <- current

* `/usr/share/appdata/<package>.appdata.xml` <- legacy

Also, just learned that appstream builder can't handle symlinks. The package.yml file should use install for the metadata file rather than a symlink