openSUSE:Bundled software policy

Jump to: navigation, search

This page describes the handling of bundled software in openSUSE and its package collection.

Policy

Generally, all packages must build against system libraries.

When the source tarball has no mechanism to build against system libraries, an effort should be made to contact the project and have this shortcoming resolved. If using system libraries is not possible, this should be explained in the spec file.

When the use of bundled code may be acceptable:

  • If the build does not succeed with system libraries and patching the source is too tedious

All packages where bundled code was used during the build should indicate this by one or more bundled(NAME) markers. The NAME should be the name of the source RPM in openSUSE. Other names may be in use too. This markup helps maintenance teams to query the package database for bundled sources when the original SRPM is to receive a maintenance/security update. The extra = version part serves filtering.

 # Example from libreoffice.spec
 Provides:       bundled(curl) = 8.0.1
 # amazon-ecs-init.spec
 Provides:       bundled(golang(github.com/aws/aws-sdk-go/aws))
 # fd.spec
 Provides:       bundled(crate(vec_map)) = 0.8.2