Introduce a way to override dependencies for all pkgs thru a file.
The `etc/defaults.virtual` file contains the default replacement for our use cases; at this moment we only use it to use `eudev` rather than `systemd` for udev. If `etc/virtual` exists it overrides the settings of `etc/defaults.virtual`.
This commit is contained in:
parent
b5a4b83a54
commit
75b6468fa0
3 changed files with 69 additions and 3 deletions
14
README.md
14
README.md
|
@ -12,13 +12,15 @@ To start using it first you'll need some external dependencies:
|
|||
Make sure your user is added to the `xbuilder` group to be able to use `xbps-uchroot(8)`,
|
||||
otherwise `xbps-src` won't work correctly.
|
||||
|
||||
The `xbps-src` utility will allow you to generate XBPS binary packages, type
|
||||
Type:
|
||||
|
||||
$ ./xbps-src -h
|
||||
|
||||
to see all available targets/options and start building any available package
|
||||
in the `srcpkgs` directory.
|
||||
|
||||
### Configuration
|
||||
|
||||
The `etc/defaults.conf` file contains the possible settings that can be overrided
|
||||
through the `etc/conf` configuration file for the `xbps-src` utility; if that file
|
||||
does not exist, will try to read configuration settings from `~/.xbps-src.conf`.
|
||||
|
@ -29,5 +31,15 @@ those defined in `etc/defaults.conf`, append to them instead via `etc/conf` i.e:
|
|||
$ echo 'XBPS_CFLAGS+=" your flags here "' >> etc/conf
|
||||
$ echo 'XBPS_LDFLAGS+=" your flags here "' >> etc/conf
|
||||
|
||||
#### Virtual packages
|
||||
|
||||
The `etc/defaults.virtual` file contains the default replacements for virtual packages,
|
||||
used as dependencies in the source packages tree.
|
||||
|
||||
If you want to customize those replacements, copy `etc/defaults.virtual` to `etc/virtual`
|
||||
and edit it accordingly to your needs.
|
||||
|
||||
### Contributing
|
||||
|
||||
See [Manual](https://github.com/voidlinux/xbps-packages/blob/master/Manual.md)
|
||||
for documentation to create and learn about the source packages.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# vim: set ts=4 sw=4 et:
|
||||
#
|
||||
setup_pkg_depends() {
|
||||
local pkg="$1" j _pkgdepname _pkgdep _rpkgname _depname
|
||||
local pkg="$1" j _pkgdepname _pkgdep _rpkgname _depname _replacement
|
||||
|
||||
if [ -n "$pkg" ]; then
|
||||
# subpkg
|
||||
|
@ -17,7 +17,17 @@ setup_pkg_depends() {
|
|||
if [ -z "${_pkgdepname}" ]; then
|
||||
_pkgdepname="$($XBPS_UHELPER_CMD getpkgname ${_depname} 2>/dev/null)"
|
||||
fi
|
||||
|
||||
if [ -s ${XBPS_DISTDIR}/etc/virtual ]; then
|
||||
_replacement=$(egrep "^${_pkgdepname:-${_depname}}[[:blank:]]" ${XBPS_DISTDIR}/etc/virtual|cut -d ' ' -f2)
|
||||
if [ -n "${_replacement}" ]; then
|
||||
_depname="${_depname/${_pkgdepname:-${_depname}}/${_replacement}}"
|
||||
fi
|
||||
elif [ -s ${XBPS_DISTDIR}/etc/defaults.virtual ]; then
|
||||
_replacement=$(egrep "^${_pkgdepname:-${_depname}}[[:blank:]]" ${XBPS_DISTDIR}/etc/defaults.virtual|cut -d ' ' -f2)
|
||||
if [ -n "${_replacement}" ]; then
|
||||
_depname="${_depname/${_pkgdepname:-${_depname}}/${_replacement}}"
|
||||
fi
|
||||
fi
|
||||
if [ -z "${_pkgdepname}" ]; then
|
||||
_pkgdep="${_depname}>=0"
|
||||
else
|
||||
|
@ -35,6 +45,17 @@ setup_pkg_depends() {
|
|||
if [ -z "${_pkgdepname}" ]; then
|
||||
_pkgdepname="$($XBPS_UHELPER_CMD getpkgname ${_depname} 2>/dev/null)"
|
||||
fi
|
||||
if [ -s ${XBPS_DISTDIR}/etc/virtual ]; then
|
||||
_replacement=$(egrep "^${_pkgdepname:-${_depname}}[[:blank:]]" ${XBPS_DISTDIR}/etc/virtual|cut -d ' ' -f2)
|
||||
if [ -n "${_replacement}" ]; then
|
||||
_depname="${_depname/${_pkgdepname:-${_depname}}/${_replacement}}"
|
||||
fi
|
||||
elif [ -s ${XBPS_DISTDIR}/etc/defaults.virtual ]; then
|
||||
_replacement=$(egrep "^${_pkgdepname:-${_depname}}[[:blank:]]" ${XBPS_DISTDIR}/etc/defaults.virtual|cut -d ' ' -f2)
|
||||
if [ -n "${_replacement}" ]; then
|
||||
_depname="${_depname/${_pkgdepname:-${_depname}}/${_replacement}}"
|
||||
fi
|
||||
fi
|
||||
if [ -z "${_pkgdepname}" ]; then
|
||||
_pkgdep="${_depname}>=0"
|
||||
else
|
||||
|
@ -48,6 +69,17 @@ setup_pkg_depends() {
|
|||
if [ -z "${_pkgdepname}" ]; then
|
||||
_pkgdepname="$($XBPS_UHELPER_CMD getpkgname ${_depname} 2>/dev/null)"
|
||||
fi
|
||||
if [ -s ${XBPS_DISTDIR}/etc/virtual ]; then
|
||||
_replacement=$(egrep "^${_pkgdepname:-${_depname}}[[:blank:]]" ${XBPS_DISTDIR}/etc/virtual|cut -d ' ' -f2)
|
||||
if [ -n "${_replacement}" ]; then
|
||||
_depname="${_depname/${_pkgdepname:-${_depname}}/${_replacement}}"
|
||||
fi
|
||||
elif [ -s ${XBPS_DISTDIR}/etc/defaults.virtual ]; then
|
||||
_replacement=$(egrep "^${_pkgdepname:-${_depname}}[[:blank:]]" ${XBPS_DISTDIR}/etc/defaults.virtual|cut -d ' ' -f2)
|
||||
if [ -n "${_replacement}" ]; then
|
||||
_depname="${_depname/${_pkgdepname:-${_depname}}/${_replacement}}"
|
||||
fi
|
||||
fi
|
||||
if [ -z "${_pkgdepname}" ]; then
|
||||
_pkgdep="${_depname}>=0"
|
||||
else
|
||||
|
|
22
etc/defaults.virtual
Normal file
22
etc/defaults.virtual
Normal file
|
@ -0,0 +1,22 @@
|
|||
# --*-- shell --*--
|
||||
#
|
||||
# etc/defaults.virtual
|
||||
# default configuration of etc/virtual
|
||||
#
|
||||
# DO NOT EDIT THIS FILE DIRECTLY; IT MAY BE REPLACED DURING UPDATES,
|
||||
# EDIT etc/virtual INSTEAD.
|
||||
#
|
||||
# This file specifies a mapping between virtual packages and real packages
|
||||
# available in the source packages collection (srcpkgs).
|
||||
#
|
||||
# The format uses 2 arguments delimited by a blank: <vpkgname> <realpkgname>
|
||||
#
|
||||
# If a source package depends on a virtual package (<vpkgname>) and there's
|
||||
# a replacement defined in that file, <realpkgname> will be used to resolve
|
||||
# the dependency instead.
|
||||
#
|
||||
# - Please add entries sorted alphabetically on its first argument.
|
||||
# - Create your own etc/virtual file to override these defaults.
|
||||
#
|
||||
libgudev-devel eudev-libgudev-devel
|
||||
libudev-devel eudev-libudev-devel
|
Loading…
Reference in a new issue