solus-packages/common
Silke Hofstra f49584930b ci/package_checks: Add check for monitoring.yml
**Summary**

Add a check that errors when `monitoring.yml` does not exist.
2024-10-25 22:57:22 +02:00
..
CI ci/package_checks: Add check for monitoring.yml 2024-10-25 22:57:22 +02:00
Go common: ypkg-tools: Update gopkg.in/yaml.v3 (#348) 2023-09-18 09:13:11 +01:00
Hooks Hooks: Add 'v' for 'version' to commit messages 2024-10-20 18:31:42 +02:00
Legacy/Scripts common/Legacy/Scripts/find-old-packages.py: Port to Python 3 + Black format 2024-04-04 14:59:41 +02:00
perl Update module load order. Add vstags to gitignore 2024-02-24 22:08:42 -06:00
Scripts yauto: Only scan "configure" files if they're text/plain 2024-10-11 17:49:58 +02:00
Tasks qt5-virtualkeyboard: Deprecate and remove 2024-09-15 17:01:10 -05:00
.gitignore get_unique_updates Initial commit 2024-02-18 16:56:19 -06:00
autobuild-ignore-doxygen.yml samba: Add autobuild.yml files for dep resolution 2024-05-01 19:23:46 +02:00
autobuild-ignore-python-pytest.yml samba: Add autobuild.yml files for dep resolution 2024-05-01 19:23:46 +02:00
iso_packages.txt common: Update ISO package list 2024-09-27 19:16:35 -04:00
Makefile common: Begin common cleanup and modernization. 2020-12-26 16:34:01 +02:00
Makefile.iso common: Begin common cleanup and modernization. 2020-12-26 16:34:01 +02:00
Makefile.toplevel common: Adjust makefile git urls for GH migration 2023-08-14 10:41:38 +01:00
mapping common: Use linux-lts mapping to stop CVE results on unused kernel 2017-04-30 13:20:05 +10:00
README.md Update README.md 2024-02-22 16:06:04 -06:00
STATELESSNESS common: Rework update_stateless.sh script for monorepo 2024-05-30 01:00:14 +02:00

common

See this page for setup documentation.

Repositories

Cloning

To clone all repositories indicated in our packages file, run the below mentioned command. Please note that this list is not comprehensive and members of the Solus Team are required to run separate tooling to ensure this packages file is up-to-date (to include new files or remove deprecated ones):

make clone

Updating

To update all cloned repositories, run the following:

make pull

Building

To build a package, first ensure solbuild is set up and the adequate symlinks are set up. This can be done by following our Building a Package documentation on the Help Center, linked at the top of this document.

Go into the directory of the package you wish to build and type:

make

Publish

Submission is only possible for maintainers. As a maintainer you may freely push to your package(s) and initiate builds for them, which will be pushed to the unstable repository. You can watch builds at the Solus Package Build Status Page

If you're submitting a package.yml build, ensure you also commit the pspec_$ARCH.xml file, as builds are created from git tags.

cd $somepkg
make publish

solbuild

Install solbuild from the main repository. All builds are performed in the unstable repository, so unstable-x86_64 is the default build profile.

Install solbuild-config-unstable to lock builds to the unstable repository.

See man solbuild for further details.

Notes on yabi

This tool is not used directly anymore. It is kept as a useful example of how to use abi-wizard and explode eopkgs from go.

Historical information from DataDrake, note that ypkg3 is deprecated.

  1. yabi can and will mark libraries as missing if it cannot find them on your system.
  2. yabi can and will mark libraries as missing if it cannot find matches for symbols inside the library. I haven't had a chance to make the errors more verbose, so you'll have to use your judgment.
  3. It's OK to submit patches with UNKNOWN in abi_used_libs or abi_used_symbols. If you are updating a package and it's not part of a local stack upgrade, you probably have everything installed on your machine and it will work fine.
  4. yabi does not run inside the chroot so it won't see files from packages getting installed from your local repo. This won't be getting fixed until ypkg3 handles ABI stuff inside the chroot. And that's perfectly fine as the point of yabi is to make sure we have the new abi_used_symbols files. If a symbol has an unknown library, it's still at least recorded and a grep will find it and any additional information over what abireport can tell us, which is still an improvement.
  5. I intentionally made it so that yabi would update the ABI reports even if libraries are marked as missing. This is to work around (4). If you think it's a bug, please check against (1) and (2).