Removed obsolete packages.

This commit is contained in:
László Valkó 2021-06-05 22:54:05 +02:00
parent 9bf3fb88c6
commit 86c2318970
31 changed files with 0 additions and 1765 deletions

View file

@ -1,9 +0,0 @@
AUX obexftp-0.23-gentoo.patch 388 BLAKE2B f45673c18551bf3278d5722f1156e0259a665a00c5f0c97f2489c4ec30fef6b097923cfacfad099879a2249fd8aa372a759742fba7157b8a9fe4091aa148f21f SHA512 73dba3d616e92f198d1ef7a1e3da720c83f5ce02869f9a677630e78451e360728db01fc98ab0a67b9e49ac04fbf801a27d5402dc2c210a82ac13fa57e94972cc
AUX obexftp-0.24-config.patch 165 BLAKE2B 83e337f534d9ef6763ca6d31a2c3982ce747470f4673344ddb01c5523b2e08bd15995191cafc2d6ab7f97de7784580934d63153e786995806db3fee352de4c2c SHA512 8ac60a20d98c020d90d232d0c823052a6d183cca39405d72295136271a388e562586622ea5432edd94cdc0c52745381e03c7e162aba10fa9c07d6763570e66f4
AUX obexftp-0.24-enable_bluetooth.patch 421 BLAKE2B 35fc565da087b00fe194f8407a2119547413d2adf2671aa1a9026b95da8ab3c937e7ead692c53c85b06b5615df3c76c84a13531a30f1135c6cb08d3c0ce42b75 SHA512 1ebd5ab061dc733f7d8b7650bd4c27bcd2eff8b816cb283afcc2c984332903ac6f9d4cd08e49e3b64e0bcf976d8781d561b6666e43d5567fa8ee2ec91a232902
AUX obexftp-0.24-norpath.patch 641 BLAKE2B ba8de051365bc6417a6421cde50399a92754aa7c2b5523888580cf5d58e2d41f1393b21bf74ce38ecf1f292cca512dd929407443ba50dba65d53204654b38de3 SHA512 876502ac2325e0969e9e8bcdb59325e6dce07468fc106b7fb44befcf6e45d766e7e333d58a5392e376d70baa1532fe5f93cfc7d6a8125735df54a09849e68203
AUX obexftp-0.24-python_sitedir.patch 544 BLAKE2B d86883dca5cc9795a07a0a306692cfe63774054d7f6358a3c2a581e2a77f85fef2c3e9fbaff8d8d21d860ced636159532d2fede546ff28146c452e0a2ea33910 SHA512 519e77d8a3ff4b7a9779e350191b8389c27f7bf42abd44704508341d9fdabb0bf9b456fc4cccd93779fc4b54ddcf3cabb38e55f2ea3389b90a85e27de18e0b6a
AUX obexftp-0.24.2-parallel-build.patch 1251 BLAKE2B 538d82b8e14ec874323d1578c6ccd10d3418cd0efda61bf3752aaea04b22ac357b2792783cf3a86d6c7ec2aa33bd0bbacdf9b99f2082b427fc56d241b2a57849 SHA512 0f7bf40bde282faa6e6c5fc9bab4d5f4d95c9c09581b2e5bfa2f7490714da09c41c3b02789c3ddd7bb2be5d5960aa59587796685a4a250b7f60095237ce77eba
DIST obexftp-0.24.2-Source.tar.gz 110291 BLAKE2B 7de93f5f5a367481b22b49c7812357ab5f704830c83770378de13f9c4ffb5f114d48beafca193b52670563b397656ec185519a8d004eb1f9785787e8cc5caaff SHA512 91a5d7e52c00bbaf24837384ceadc987a89297e672b246df1370bbd669fae05459281bc46bb60ba562607bfbead321926cdf11422059cd918819d80321e190c2
EBUILD obexftp-0.24.2.ebuild 1662 BLAKE2B 8eba0264aee92e8bbbe87ecced9fa52d1f5038d8ab2d8bd1afe6a1446c3f3220e6faaeed055ea025ea0754917d2e57f37a563304ae52ad4b45a4e9154ab56a67 SHA512 fe6934e0e35a9902b3a07f0661508fad4bd690415dd5665d600fc73891581057ecfa6ec94cb4f7d4085b2edbf4d19ebd4922c6eb9d71378ef6aa2e70129c4477
MISC metadata.xml 245 BLAKE2B e86e15e6196c5caa30c4dbbcc46d970e3d1fc51b5986c9c5855da2914e104cdc3abe7d23eae94b143047e21603bbd49c23684cca7eed166d90579ccc9dcc742e SHA512 f2f864248cda1ce42c75a7d993ea9d80592f4b5bf957ba7d10e3a26d55429720530c96974403e9d732e2ca67724645f7dfb8b880617a3cc6a3b9d36dd201f433

View file

@ -1,22 +0,0 @@
--- a/obexftp/client.c
+++ b/obexftp/client.c
@@ -51,8 +51,6 @@
#ifdef HAVE_BLUETOOTH
#include "bt_kit.h"
-#else
-#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
#endif /* HAVE_BLUETOOTH */
#include <openobex/obex.h>
--- a/apps/obexftp.c
+++ b/apps/obexftp.c
@@ -29,6 +29,8 @@
#include <sys/types.h>
+#include <config.h>
+
#ifdef HAVE_SYS_TIMES_H
#include <sys/times.h>
#endif

View file

@ -1,11 +0,0 @@
--- a/apps/obexftp.c
+++ b/apps/obexftp.c
@@ -43,8 +43,6 @@
#include <common.h>
-#include <config.h>
-
#ifdef HAVE_SYS_TIMES_H
#include <sys/times.h>
#endif

View file

@ -1,16 +0,0 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -52,11 +52,13 @@
#
# some code is only included if bluetooth is available
#
+if ( ENABLE_BLUETOOTH )
find_package ( Bluetooth )
if ( Bluetooth_FOUND )
include_directories ( ${Bluetooth_INCLUDE_DIRS} )
add_definitions ( -DHAVE_BLUETOOTH -DHAVE_SDP )
endif ( Bluetooth_FOUND )
+endif ( ENABLE_BLUETOOTH )
add_subdirectory ( bfb )
add_subdirectory ( multicobex )

View file

@ -1,11 +0,0 @@
--- obexftp-0.22/swig/perl/Makefile.PL.in.norpath 2007-07-11 21:22:30.000000000 +0200
+++ obexftp-0.22/swig/perl/Makefile.PL.in 2007-08-06 20:17:39.000000000 +0200
@@ -11,7 +11,7 @@ WriteMakefile(
'INC' => q[-I@top_srcdir@ @CPPFLAGS@],
# Default value for LDDLFLAGS is $Config{lddlflags}="-shared -L/usr/local/lib"
# but we want rpath to be @libdir@ or @exec_prefix@/lib
- 'LDDLFLAGS' => q[-shared -Wl,-rpath=@prefix@/lib],
+ 'LDDLFLAGS' => q[-shared],
'LIBS' => q[-L@top_builddir@/obexftp/.libs -lobexftp
-L@top_builddir@/multicobex/.libs -lmulticobex
-L@top_builddir@/bfb/.libs -lbfb

View file

@ -1,16 +0,0 @@
--- a/swig/python/CMakeLists.txt
+++ b/swig/python/CMakeLists.txt
@@ -40,11 +40,13 @@
OUTPUT_VARIABLE PYTHON_PREFIX
)
file ( TO_CMAKE_PATH "${PYTHON_PREFIX}" PYTHON_PREFIX )
+if ( NOT PYTHON_SITE_DIR )
execute_process (
COMMAND ${PYTHON_EXECUTABLE} -c
"import site, sys; sys.stdout.write(site.getsitepackages()[-1])"
OUTPUT_VARIABLE PYTHON_SITE_DIR
)
+endif ( PYTHON_SITE_DIR )
file ( TO_CMAKE_PATH "${PYTHON_SITE_DIR}" PYTHON_SITE_DIR )
string ( REGEX REPLACE "^${PYTHON_PREFIX}/" ""
PYTHON_SITE_DIR "${PYTHON_SITE_DIR}"

View file

@ -1,53 +0,0 @@
diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
index b5c84e4..63af134 100644
--- a/apps/CMakeLists.txt
+++ b/apps/CMakeLists.txt
@@ -5,14 +5,23 @@ add_definitions( -DVERSION="${obexftp_VERSION}" )
add_definitions ( -DHAVE_USB )
add_executable ( obexftp_app obexftp.c )
-target_link_libraries ( obexftp_app obexftp )
+target_link_libraries ( obexftp_app
+ PRIVATE multicobex
+ PRIVATE bfb
+ obexftp
+)
set_target_properties ( obexftp_app PROPERTIES
OUTPUT_NAME obexftp
)
add_executable ( obexftpd_app obexftpd.c )
-target_link_libraries ( obexftpd_app obexftp openobex )
+target_link_libraries ( obexftpd_app
+ PRIVATE multicobex
+ PRIVATE bfb
+ obexftp
+ openobex
+)
set_target_properties ( obexftpd_app PROPERTIES
OUTPUT_NAME obexftpd
)
diff --git a/fuse/CMakeLists.txt b/fuse/CMakeLists.txt
index 0c80d3d..ff5e3cd 100644
--- a/fuse/CMakeLists.txt
+++ b/fuse/CMakeLists.txt
@@ -13,6 +13,8 @@ if ( Fuse_FOUND )
)
target_link_libraries ( obexfs
+ PRIVATE multicobex
+ PRIVATE bfb
obexftp
${Fuse_LIBRARIES}
${EXPAT_LIBRARIES}
@@ -23,6 +25,8 @@ if ( Fuse_FOUND )
)
target_link_libraries ( obexautofs
+ PRIVATE multicobex
+ PRIVATE bfb
obexftp
${Fuse_LIBRARIES}
)

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">openobex</remote-id>
</upstream>
</pkgmetadata>

View file

@ -1,69 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{6,7} )
USE_RUBY="ruby24 ruby25 ruby26"
inherit cmake-utils python-single-r1 ruby-single
DESCRIPTION="File transfer over OBEX for mobile phones"
HOMEPAGE="http://dev.zuckschwerdt.org/openobex/wiki/ObexFtp"
SRC_URI="mirror://sourceforge/openobex/${P}-Source.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="amd64 ~hppa ppc x86"
# bluetooth support is not really optional, bug #529068
IUSE="perl python ruby tcl"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
>=dev-libs/openobex-1.7
net-wireless/bluez
perl? ( dev-lang/perl:= )
python? ( ${PYTHON_DEPS} )
ruby? ( ${RUBY_DEPS} )
tcl? ( dev-lang/tcl:0= )
"
DEPEND="${RDEPEND}
perl? ( dev-lang/swig )
python? ( dev-lang/swig )
ruby? ( dev-lang/swig )
tcl? ( dev-lang/swig )
virtual/pkgconfig
"
S=${WORKDIR}/${P}-Source
PATCHES=(
"${FILESDIR}"/${PN}-0.23-gentoo.patch
"${FILESDIR}"/${PN}-0.24-config.patch
"${FILESDIR}"/${PN}-0.24-enable_bluetooth.patch
"${FILESDIR}"/${PN}-0.24-python_sitedir.patch
"${FILESDIR}"/${PN}-0.24-norpath.patch
"${FILESDIR}"/${P}-parallel-build.patch
)
src_configure() {
# -DENABLE_BLUETOOTH=$(usex bluetooth)
local mycmakeargs=(
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_SKIP_RPATH=ON
-DENABLE_PERL=$(usex perl)
-DENABLE_BLUETOOTH=yes
-DENABLE_PYTHON=$(usex python)
$(usex python -DPYTHON_SITE_DIR=$(python_get_sitedir) '')
-DENABLE_RUBY=$(usex ruby)
-DENABLE_TCL=$(usex tcl)
)
cmake-utils_src_configure
}
src_install() {
cmake-utils_src_install
rm -rf "${ED}"/usr/share/doc/${PN}/html || die #524866
}

View file

@ -1,10 +0,0 @@
AUX nslcd-tmpfiles.conf 32 BLAKE2B 082266c3fd69fe866b9698283911e166e48e416b3fd35ab8940ad8d20a40992adf2ed25fd15efc98d6c1922f081ed37ca72ebeaa2a800ce70adc7092a0aaa106 SHA512 ccffd327cfa015ec746f4e1506c02beb514763625b0e5818455491b911d9328b19f17620926c15aaf18f5cd9268ea71f5ef35ce7a427aefab950579d5629ee5d
AUX nslcd.init 513 BLAKE2B 163a960a9d42b13023064e3adebf1aa8a8d4566d4bb472a224d0cbf58ec5c3f03fabd99917931ce7d36ec24490329986f4525e1a982b3e15c1632a534f1935f8 SHA512 7637cd4751fabb9f645820a7935e71606df95d4ddfbe2f21cb447d6b3bd67d087e61ff71fa88832edecaa306ae37252eb4cef60d11fb982aee7fbc5db24ac995
AUX nslcd.s6 44 BLAKE2B af69fd0202732721739501a65f608fb9fadfdd7e8a58052103a347bd3cfabecc84e5d5478fe689f565ee47f839c4f280d6ad8e88846339995f05fba8942dc8ac SHA512 190cd1440ab30dc32d09d7de9dee783d5d149547e491930d5f514b4bd53197e45a307906762d0e650ef802aa18ba266b40f61483569208c57709b2cbd74d3ae9
AUX nslcd.service 320 BLAKE2B 18a675fcc821d2c5f7766c0739c3bada8550e5e55f7b589fd9806bd961e9d4149be4a145ac51b9aeabad49293d70c726c1a8dd6a78ff724114e3b34e2270c32b SHA512 f04b66e05bfaefd485a4251c46d2b172a193be77554595086241dcd66a7787cf7678c8e5f6be954192a85a69fd2426965e4ca82c00e610ead8c6dd93a9aa21b1
AUX nss-pam-ldapd-0.9.11-pynslcd-module-paths.patch 537 BLAKE2B 40167724748124428393c2cc0d70c2fa88abd5fc9c2b12739d79f6dbd9f39e7b53351a68fb6db0e4f11bc0f40b960d1ab4ea256ab1f8aa8c75fe9601fc5674c3 SHA512 2fd21d4851f255264cd0e95f88f45fbca62ad8124c1326569c18bea769c205d4992f88a5fff7ca4bf19cd07c9123a39ecd3df2d5221a0430fb1d25d7b4668a30
AUX nss-pam-ldapd-0.9.4-disable-py3-only-linters.patch 403 BLAKE2B 2e17a92b3650ce4e6627be7ddb2f656cd9ab53e49d7e2b11d078dac0d7a00015d88d861bfdc1378eb25c1b9750ed3811023cc95b04ccf9d028ffc5899dc01cd5 SHA512 c8cccb044a641f673f12db9717bda4c0c4d91bd1933342595d8f3f540449459c5cf14263133487195b223670d450873f608e3ce5b6f1ca775ca7fe0180a9f962
AUX pynslcd.init 515 BLAKE2B 711ba152ea9cc52198171e451889ab42a224581bae7e4378846f480063ed9a672fdb38b153d6941364d3d06e325d9feb95f6fd17885b4e6181d99393cb54de0a SHA512 56334d86cc027e538d8a0bf9a8b87308e3ae6e91be608a4a630f21c57cc41b6cb5dc6fb3220fed1ca555dd4da6a5c7c10b2776f9e49a7b71a96ece21fc65fed7
DIST nss-pam-ldapd-0.9.11.tar.gz 777878 BLAKE2B c2b442786dd788dcf4373939ed52b4585d1821a7168fdd342ded3c99ef9ac8f3e4af0ac360f842b61885c1f2bc2ef85a0ce9ce0c1027bc974d0ba5242505657f SHA512 2b307805667526b85c724e113fe38899eee397e5c8673e89090d4836ce6d0ffcf18dd022d6c20a5e11d4138e736451b841a0f16ba379d524de4faaaf02906645
EBUILD nss-pam-ldapd-0.9.11-r2.ebuild 4170 BLAKE2B 77c2f2ca4a784bcc4669bf21d738083f516dcdd283142dfc702f990755a35cd1926d4c38dce90ff7aca2503db5e45b8ab88f889b9d1fac4db7d2b8277dd0f5e1 SHA512 b57ef85237ff4bfd96f289896d68dc5ecf0227b252bbf7d45d4a87edbb08b8f94e8377cc559733d488bbc024c62c77845515d82f8ae9a0307b93c4b77603f90d
MISC metadata.xml 1169 BLAKE2B 22b5c9adcafb123a6af088ddfcaa1962eaf250ed153020e65afe36a0e6473b1f8c624f770634a91c3a983c74ded1d43535bb4930f13c6470fad681f5a77fcd51 SHA512 ab658f7d791db370920a4eb57da8ead2713b1cabda6f2dccd24478855043802e7c70a07c3aeaa33829b19dc94a4317d8b5ebec07d1caebe07b4fb3bc59b27b4c

View file

@ -1 +0,0 @@
d /run/nslcd 0755 nslcd nslcd -

View file

@ -1,28 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
command=/usr/sbin/nslcd
pidfile=/run/nslcd/nslcd.pid
extra_commands="checkconfig"
cfg="/etc/nslcd.conf"
depend() {
need net
use dns logger
}
checkconfig() {
if [ ! -f "$cfg" ] ; then
eerror "Please create $cfg"
eerror "Example config: /usr/share/nss-ldapd/nslcd.conf"
return 1
fi
return 0
}
start_pre() {
checkpath -q -d /run/nslcd -o nslcd:nslcd
checkconfig
return $?
}

View file

@ -1,3 +0,0 @@
#!/bin/sh
exec 2>&1
exec /usr/sbin/nslcd -n

View file

@ -1,14 +0,0 @@
[Unit]
Description=NSS and PAM LDAP client daemon
After=network-online.target
Wants=network-online.target nss-lookup.target syslog.service
Before=nss-user-lookup.target
[Service]
Type=forking
PIDFile=/run/nslcd/nslcd.pid
ExecStart=/usr/sbin/nslcd
[Install]
WantedBy=multi-user.target
RequiredBy=nss-user-lookup.target

View file

@ -1,25 +0,0 @@
diff --git a/pynslcd/pynslcd.py b/pynslcd/pynslcd.py
index 0691b61..df2ca4a 100755
--- a/pynslcd/pynslcd.py
+++ b/pynslcd/pynslcd.py
@@ -30,13 +30,13 @@ import threading
import daemon
import ldap
-import cfg
-import common
-import constants
-import invalidator
-import mypidfile
-import search
-from tio import TIOStream
+import pynslcd.cfg
+import pynslcd.common
+import pynslcd.constants
+import pynslcd.invalidator
+import pynslcd.mypidfile
+import pynslcd.search
+from pynslcd.tio import TIOStream
# the name of the program

View file

@ -1,13 +0,0 @@
diff --git a/tests/pylint.rc b/tests/pylint.rc
index 7f0bc13..b66d018 100644
--- a/tests/pylint.rc
+++ b/tests/pylint.rc
@@ -19,7 +19,7 @@ enable=
# can either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once).
-disable=E1101
+disable=E1101,E1608,E1606,E1601
[REPORTS]

View file

@ -1,28 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
command=/usr/sbin/pynslcd
pidfile=/run/nslcd/nslcd.pid
extra_commands="checkconfig"
cfg="/etc/nslcd.conf"
depend() {
need net
use dns logger
}
checkconfig() {
if [ ! -f "$cfg" ] ; then
eerror "Please create $cfg"
eerror "Example config: /usr/share/nss-ldapd/nslcd.conf"
return 1
fi
return 0
}
start_pre() {
checkpath -q -d /run/nslcd -o nslcd:nslcd
checkconfig
return $?
}

View file

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
<maintainer type="person">
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
</maintainer>
<use>
<flag name="utils">Install the command-line utilities</flag>
<flag name="pynslcd">Install the python implementation along with the standard implementation</flag>
</use>
<longdescription lang="en">
Provides a Name Service Switch (NSS) module that allows your LDAP
server to provide user account, group, host name, alias, netgroup, and
basically any other information that you would normally get from /etc
flat files or NIS. It also provides a Pluggable Authentication Module
(PAM) to do authentication to an LDAP server.
This is implemented using thin NSS and PAM modules which delegate to a
dedicated service (nslcd) that queries the LDAP server with persistent
connections, authentication, attribute translation, etc.
</longdescription>
</pkgmetadata>

View file

@ -1,163 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=(python3_{6,7})
inherit eutils prefix user python-r1 multilib multilib-minimal systemd s6
DESCRIPTION="NSS module for name lookups using LDAP"
HOMEPAGE="https://arthurdejong.org/nss-pam-ldapd/"
SRC_URI="https://arthurdejong.org/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="debug kerberos +pam pynslcd sasl test +utils"
RESTRICT="!test? ( test )"
COMMON_DEP="
net-nds/openldap[${MULTILIB_USEDEP}]
sasl? ( dev-libs/cyrus-sasl[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
sys-libs/pam[${MULTILIB_USEDEP}]
utils? ( ${PYTHON_DEPS} )
pynslcd? (
dev-python/python-ldap[${PYTHON_USEDEP}]
dev-python/python-daemon[${PYTHON_USEDEP}]
)
!sys-auth/nss_ldap
!sys-auth/pam_ldap"
RDEPEND="${COMMON_DEP}"
DEPEND="${COMMON_DEP}
test? (
${PYTHON_DEPS}
dev-python/pylint[${PYTHON_USEDEP}]
)
sys-devel/automake"
REQUIRED_USE="
utils? ( ${PYTHON_REQUIRED_USE} )
test? ( ${PYTHON_REQUIRED_USE} pynslcd )"
PATCHES=(
"${FILESDIR}"/${PN}-0.9.4-disable-py3-only-linters.patch
"${FILESDIR}"/${PN}-0.9.11-pynslcd-module-paths.patch
)
pkg_setup() {
enewgroup nslcd
enewuser nslcd -1 -1 -1 nslcd
}
src_prepare() {
cp pynslcd/pynslcd.py "${S}" || die "Copying pynslcd failed"
default
use utils && python_setup
touch pynslcd/__init__.py || die "Could not create __init__.py for pynslcd"
}
multilib_src_configure() {
local -a myconf
myconf=(
--disable-utils
--enable-warnings
--with-ldap-lib=openldap
--with-ldap-conf-file=/etc/nslcd.conf
--with-nslcd-pidfile=/run/nslcd/nslcd.pid
--with-nslcd-socket=/run/nslcd/socket
$(usex x86-fbsd '--with-nss-flavour=' '--with-nss-flavour=' 'freebsd' 'glibc')
$(use_enable pynslcd)
$(use_enable debug)
$(use_enable kerberos)
$(use_enable pam)
$(use_enable sasl)
)
# nss libraries always go in /lib on Gentoo
if multilib_is_native_abi ; then
myconf+=("--with-pam-seclib-dir=${EPREFIX}/$(get_libdir)/security")
myconf+=("--libdir=${EPREFIX}/$(get_libdir)")
else
myconf+=("--with-pam-seclib-dir=/$(get_libdir)/security")
myconf+=("--libdir=/$(get_libdir)")
fi
ECONF_SOURCE="${S}" econf "${myconf[@]}"
}
multilib_src_install_all() {
local script
newinitd "${FILESDIR}"/nslcd.init nslcd
s6_install_service nslcd "${FILESDIR}"/nslcd.s6
insinto /usr/share/nss-pam-ldapd
doins "${WORKDIR}/${P}/nslcd.conf"
fperms o-r /etc/nslcd.conf
if use utils; then
python_moduleinto nslcd
python_foreach_impl python_domodule utils/*.py
for script in chsh getent; do
python_foreach_impl python_newscript utils/${script}.py ${script}.ldap
done
fi
if use pynslcd; then
rm -rf "${D}"/usr/share/pynslcd
python_moduleinto pynslcd
python_foreach_impl python_domodule pynslcd/*.py
python_scriptinto /usr/sbin
python_newscript pynslcd.py pynslcd
newinitd "${FILESDIR}"/pynslcd.init pynslcd
fi
systemd_newtmpfilesd "${FILESDIR}"/nslcd-tmpfiles.conf nslcd.conf
systemd_newunit "${FILESDIR}"/nslcd.service nslcd.service
}
multilib_src_install() {
emake DESTDIR="${D}" install
if use pynslcd; then
python_moduleinto pynslcd
python_foreach_impl python_domodule pynslcd/*.py
fi
}
python_test() {
PYTHONPATH="${S}" emake check
}
multilib_src_test() {
pushd "${BUILD_DIR}"
ln -s ../pynslcd/constants.py utils/constants.py
python_foreach_impl python_test
popd
}
pkg_postinst() {
echo
elog "For this to work you must configure /etc/nslcd.conf"
elog "This configuration is similar to pam_ldap's /etc/ldap.conf"
echo
elog "In order to use nss-pam-ldapd, nslcd needs to be running. You can"
elog "start it like this:"
elog " # /etc/init.d/nslcd start"
echo
elog "You can add it to the default runlevel like so:"
elog " # rc-update add nslcd default"
elog
elog "If you have >=sys-apps/openrc-0.16.3, you can also use s6"
elog "to supervise this service."
elog "To do this, emerge sys-apps/s6 then add nslcd-s6"
elog "default runlevel instead of nslcd."
elog
elog "If you are upgrading, keep in mind that /etc/nss-ldapd.conf"
elog " is now named /etc/nslcd.conf"
echo
}

View file

@ -1,14 +0,0 @@
AUX 2.02-X86_64_PLT32.patch 2615 BLAKE2B db2c7f22a5232ec903bbad2416879d330a9d7c0e529f1135b07deaab4026ae51e6fd60ee6f29cb7cbc4c4422343ec0c56dcd3bb205855c45481ebcfc0e0c9c10 SHA512 d8d52f2e92291d382cff2c50af79634967eb5decba39f5787e311e771bd18763b68e87d93f44419ecc647c0189b7d4246ad4a4f9e3558200e7febf32cd757f5e
AUX 2.02-freetype-capitalise-variables.patch 6454 BLAKE2B 7a05448d42c935b6942f2b9ac98eef2ddc2e7bb7e6584516859cd6586dee57911c83c98402b38cfe9044a3c3a79d41d6a86bb0918d1ca8ccf792d5ef93bad258 SHA512 99c8061453f54af0e95361101f6beb2340baef9b5a66c4c4ba78876b978df4b5686190b642090aae41f2ed2d464e267ba598e94c0926a37df3c36d866911a40c
AUX 2.02-freetype-pkg-config.patch 7359 BLAKE2B 86ee01b2cb833354377aec3db0dcc05c9950169c9e83b9878018debef925a5238ba19b10ee0ce5124d7884deae8023ee03597e6eb56c244030f2492b5b7f0b1b SHA512 20fd57f8410073db7d6ae5c626266a310be65ca2f5cc4a2a9f2e66cb85a421c883b497e5fc7e3cd5a6ec066531f3ca4b8d837bf64007ade99418958aefd2dcf6
AUX 2.02-gcc8.patch 2514 BLAKE2B 5eb8210441a41a44c4e0c73120d201c4ec5a8db27d0dbf37f991599ee6c2bb3aaf771a201d02829597f34f9a1af76f70dffcc9e25fa079c3e2eb72702d704692 SHA512 8eae4bfdbe595685961ed8f491b8dc8f30632d5d9e338612346a928318d4e4b811c5ffeb38354f698e40dbaa8449fd540a33ff2ca0e2af604cbe08988fc11238
AUX 2.02-multiple-early-initrd.patch 6771 BLAKE2B 088d1178c51ea7526bd7620ae0f8160c10d3673afd0ae3407e35673cb438875e24e13f8455245c36792814751995df1235d975eb036e97813e677250af403a9d SHA512 41450b475fb83ade629d165ae2c30682e5beb2edbfd148c6388bb720241f0682b20aa0456bc624d5e9f5605616ea27fab32a829ede6c8c673e1c88e6b774a5a8
AUX 2.02-xfs-sparse-inodes.patch 2548 BLAKE2B c3333b82b678bc0a2bfc6594719c89982f97b14b7a2f012814ce2f75e004cda46b8b7c2d4e668c5a52aee7814114a763c4d853d9c75b4322535096ba3c22e256 SHA512 4723c5dd9fd6e9b6c8677e32e4906c7995d695c7e85e834b1b29eb1d9a024678f8fa75846c7b929d1db9b5911b604c69c1b0379cb3b9adc98d5bb6d6719eb2c4
AUX gfxpayload.patch 1118 BLAKE2B 4104fc696535b1c3feba5876bccc64f9b2e52319ee992c59e7f17b8310cc9addf7545630fff78c73ca3f4b0dcd44e1bf69f4df5264d6f58777f7e5aeae93cbcb SHA512 00324825c369902a0383b792cd21e161853eadccbdc5abe2420f2d443bf6a74f72be6c15243107b936acd38c3547387c3771dc2cb566003c4c754c9260b4aa00
AUX grub-2.02_beta2-KERNEL_GLOBS.patch 2121 BLAKE2B 398195f59537d40a4f61eadf5be974b8f9eb56a4eb07b798f0dc18e29588b3a9f8daa8d6e64980a835ec1960fab60b8c96d6552ef2920fe6604170abf7d5e7da SHA512 f85bc538ae647c46efbe07d7b87acf49daa7b07e9752af3aa3f77019f48ea24cd1b6a095a6f9c19d50128701753f453c531b9b068e11ee22a259f3fdf8ac205e
AUX grub.default-3 2532 BLAKE2B f59b8e862b7069603a975327d51507aae4568bfc80d7aa237f620008b00520a5a14b0c95e3f9c277360e1dfafc83bcc815970b47a69bf469ad7e594956f47c60 SHA512 2faf5e730331b7d04045ee64d990227ef02f1b14a1cf88b5b71a18c91a9a8cba773a601eb3f5442092f6937935efed02629a278bd6822fac60f9c72045e4b13d
DIST dejavu-sans-ttf-2.37.zip 417746 BLAKE2B c8904f3cd5a49370a7dc10e456684c88aeae998a99090bf4d0a5baa4f36cc8fb8f70586cf6d610a5ffeee97261d28c80f55bbe9dcfc3ed796d5c2d60e79adb58 SHA512 ede5899daa1984c5aa8cacb1c850eb53f189dddef3d9bb78bf9774d8976b7c0d6eb0bcf86237cd7d11f5b36cf5b5058d42cd94d3bd76f2bd0931c7ceb1271fae
DIST grub-2.02.tar.xz 6113260 BLAKE2B 7c5ec61a8dc5a00e9cdc91c489f0d2ee37cd7e673eef8e8e26bbc18c5ec28829f563b9298874fb96d45a5d523ce366e936649c21ebda7462afda0cc328b970ce SHA512 cc6eb0a42b5c8df2f671cc128ff725afb3ff1f8832a196022e433cf0d3b75decfca2316d0aa5fabea75747d55e88f3d021dd93508563f8ca80fd7b9e7fe1f088
DIST unifont-9.0.06.pcf.gz 1360354 BLAKE2B 09b96e1711c729ef159d62e3ea7b289ca2d01dc0ea417e35a18b73dc02a23f62ce7821d9761bceee4002d9eeaabd91cfb69bbacc6fbdfdfa00445d18fe8f1d66 SHA512 dd0a1afa72f5204c62055d83f22750c74af38ffafdb8eda8e1f1cf7292e572a14969b8a9a6a2cb336d5bed4ab633f6b5a962c59117a590e4238788959cb82774
EBUILD grub-2.02-r3.ebuild 8034 BLAKE2B 446b220e826bf96f2a8200a38369ec732eb7e25742ad07f8e4a2f2a7a8dcf5cd2be6b0ff38bad673fc4d476207b61fff800abaebcb5588b869c49888ee2e0842 SHA512 f2fd9bd1a47e134fbacc96b2158f33ff71e6aa64809326abbc40900fcd2b97326a0849deb34ba1a48bb0013d48125c393aa7f5e729f1c338a5cf1a9fd81abf9b
MISC metadata.xml 1149 BLAKE2B c0a364b1d8139f26f7dd09ba49dd68d591c7532e2eec25dae97caea49be8bfc92c8d5c69dcc77d89f58367fa04a73526cc55768f93222effc6c6e47a52b53500 SHA512 45d0425236957395e275bd340aeabfcd03451b037c616c54cf8babdc3bdee6aa3706fa7565f595ba4391773d331353b8920a627094c01289935a1a9aedc1f7bf

View file

@ -1,75 +0,0 @@
From 02702bdfe14d8a04643a45b03715f734ae34dbac Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Sat, 17 Feb 2018 06:47:28 -0800
Subject: x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32
Starting from binutils commit bd7ab16b4537788ad53521c45469a1bdae84ad4a:
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bd7ab16b4537788ad53521c45469a1bdae84ad4a
x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for
32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as
R_X86_64_PC32.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Origin: upstream, https://git.savannah.gnu.org/cgit/grub.git/commit/?id=842c390469e2c2e10b5aa36700324cd3bde25875
Last-Update: 2018-07-30
Patch-Name: R_X86_64_PLT32.patch
---
grub-core/efiemu/i386/loadcore64.c | 1 +
grub-core/kern/x86_64/dl.c | 1 +
util/grub-mkimagexx.c | 1 +
util/grub-module-verifier.c | 1 +
4 files changed, 4 insertions(+)
diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c
index e49d0b6ff..18facf47f 100644
--- a/grub-core/efiemu/i386/loadcore64.c
+++ b/grub-core/efiemu/i386/loadcore64.c
@@ -98,6 +98,7 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs,
break;
case R_X86_64_PC32:
+ case R_X86_64_PLT32:
err = grub_efiemu_write_value (addr,
*addr32 + rel->r_addend
+ sym.off
diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c
index 440690673..3a73e6e6c 100644
--- a/grub-core/kern/x86_64/dl.c
+++ b/grub-core/kern/x86_64/dl.c
@@ -70,6 +70,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
break;
case R_X86_64_PC32:
+ case R_X86_64_PLT32:
{
grub_int64_t value;
value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value -
diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
index e63f148e4..f20255a28 100644
--- a/util/grub-mkimagexx.c
+++ b/util/grub-mkimagexx.c
@@ -832,6 +832,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections,
break;
case R_X86_64_PC32:
+ case R_X86_64_PLT32:
{
grub_uint32_t *t32 = (grub_uint32_t *) target;
*t32 = grub_host_to_target64 (grub_target_to_host32 (*t32)
diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c
index 9179285a5..a79271f66 100644
--- a/util/grub-module-verifier.c
+++ b/util/grub-module-verifier.c
@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = {
-1
}, (int[]){
R_X86_64_PC32,
+ R_X86_64_PLT32,
-1
}
},

View file

@ -1,126 +0,0 @@
From ba84c8d1b4830e9fcb14d9f0e4a36e03ac40a09d Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@ubuntu.com>
Date: Tue, 30 Jan 2018 14:08:26 +0000
Subject: build: Capitalise *freetype_* variables
Using FREETYPE_CFLAGS and FREETYPE_LIBS is more in line with the naming
scheme used by pkg-config macros.
Bug-Debian: https://bugs.debian.org/887721
Last-Update: 2018-02-11
Patch-Name: freetype-capitalise-variables.patch
---
Makefile.am | 6 +++---
Makefile.util.def | 4 ++--
configure.ac | 24 ++++++++++++------------
3 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index f0ab1adc3..b47b4b1ac 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -71,7 +71,7 @@ endif
starfield_theme_files = $(srcdir)/themes/starfield/blob_w.png $(srcdir)/themes/starfield/boot_menu_c.png $(srcdir)/themes/starfield/boot_menu_e.png $(srcdir)/themes/starfield/boot_menu_ne.png $(srcdir)/themes/starfield/boot_menu_n.png $(srcdir)/themes/starfield/boot_menu_nw.png $(srcdir)/themes/starfield/boot_menu_se.png $(srcdir)/themes/starfield/boot_menu_s.png $(srcdir)/themes/starfield/boot_menu_sw.png $(srcdir)/themes/starfield/boot_menu_w.png $(srcdir)/themes/starfield/slider_c.png $(srcdir)/themes/starfield/slider_n.png $(srcdir)/themes/starfield/slider_s.png $(srcdir)/themes/starfield/starfield.png $(srcdir)/themes/starfield/terminal_box_c.png $(srcdir)/themes/starfield/terminal_box_e.png $(srcdir)/themes/starfield/terminal_box_ne.png $(srcdir)/themes/starfield/terminal_box_n.png $(srcdir)/themes/starfield/terminal_box_nw.png $(srcdir)/themes/starfield/terminal_box_se.png $(srcdir)/themes/starfield/terminal_box_s.png $(srcdir)/themes/starfield/terminal_box_sw.png $(srcdir)/themes/starfield/terminal_box_w.png $(srcdir)/themes/starfield/theme.txt $(srcdir)/themes/starfield/README $(srcdir)/themes/starfield/COPYING.CC-BY-SA-3.0
build-grub-mkfont$(BUILD_EXEEXT): util/grub-mkfont.c grub-core/unidata.c grub-core/kern/emu/misc.c util/misc.c
- $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-mkfont\" $^ $(build_freetype_cflags) $(build_freetype_libs)
+ $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-mkfont\" $^ $(BUILD_FREETYPE_CFLAGS) $(BUILD_FREETYPE_LIBS)
CLEANFILES += build-grub-mkfont$(BUILD_EXEEXT)
garbage-gen$(BUILD_EXEEXT): util/garbage-gen.c
@@ -80,11 +80,11 @@ CLEANFILES += garbage-gen$(BUILD_EXEEXT)
EXTRA_DIST += util/garbage-gen.c
build-grub-gen-asciih$(BUILD_EXEEXT): util/grub-gen-asciih.c
- $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(build_freetype_cflags) $(build_freetype_libs) -Wall -Werror
+ $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(BUILD_FREETYPE_CFLAGS) $(BUILD_FREETYPE_LIBS) -Wall -Werror
CLEANFILES += build-grub-gen-asciih$(BUILD_EXEEXT)
build-grub-gen-widthspec$(BUILD_EXEEXT): util/grub-gen-widthspec.c
- $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(build_freetype_cflags) $(build_freetype_libs) -Wall -Werror
+ $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(BUILD_FREETYPE_CFLAGS) $(BUILD_FREETYPE_LIBS) -Wall -Werror
CLEANFILES += build-grub-gen-widthspec$(BUILD_EXEEXT)
if COND_STARFIELD
diff --git a/Makefile.util.def b/Makefile.util.def
index 168acbe59..fa39d8bd1 100644
--- a/Makefile.util.def
+++ b/Makefile.util.def
@@ -302,14 +302,14 @@ program = {
common = grub-core/kern/emu/argp_common.c;
common = grub-core/osdep/init.c;
- cflags = '$(freetype_cflags)';
+ cflags = '$(FREETYPE_CFLAGS)';
cppflags = '-DGRUB_MKFONT=1';
ldadd = libgrubmods.a;
ldadd = libgrubgcry.a;
ldadd = libgrubkern.a;
ldadd = grub-core/gnulib/libgnu.a;
- ldadd = '$(freetype_libs)';
+ ldadd = '$(FREETYPE_LIBS)';
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
condition = COND_GRUB_MKFONT;
};
diff --git a/configure.ac b/configure.ac
index cd1f49837..85c23bd62 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1505,12 +1505,12 @@ unset ac_cv_header_ft2build_h
if test x"$grub_mkfont_excuse" = x ; then
# Check for freetype libraries.
- freetype_cflags=`$FREETYPE --cflags`
- freetype_libs=`$FREETYPE --libs`
+ FREETYPE_CFLAGS=`$FREETYPE --cflags`
+ FREETYPE_LIBS=`$FREETYPE --libs`
SAVED_CPPFLAGS="$CPPFLAGS"
SAVED_LIBS="$LIBS"
- CPPFLAGS="$CPPFLAGS $freetype_cflags"
- LIBS="$LIBS $freetype_libs"
+ CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
+ LIBS="$LIBS $FREETYPE_LIBS"
AC_CHECK_HEADERS([ft2build.h], [],
[grub_mkfont_excuse=["need freetype2 headers"]])
AC_LINK_IFELSE([AC_LANG_CALL([], [FT_Load_Glyph])], [], [grub_mkfont_excuse=["freetype2 library unusable"]])
@@ -1527,8 +1527,8 @@ else
enable_grub_mkfont=no
fi
AC_SUBST([enable_grub_mkfont])
-AC_SUBST([freetype_cflags])
-AC_SUBST([freetype_libs])
+AC_SUBST([FREETYPE_CFLAGS])
+AC_SUBST([FREETYPE_LIBS])
SAVED_CC="$CC"
SAVED_CPP="$CPP"
@@ -1566,12 +1566,12 @@ fi
if test x"$grub_build_mkfont_excuse" = x ; then
# Check for freetype libraries.
- build_freetype_cflags=`$BUILD_FREETYPE --cflags`
- build_freetype_libs=`$BUILD_FREETYPE --libs`
+ BUILD_FREETYPE_CFLAGS=`$BUILD_FREETYPE --cflags`
+ BUILD_FREETYPE_LIBS=`$BUILD_FREETYPE --libs`
SAVED_CPPFLAGS_2="$CPPFLAGS"
SAVED_LIBS="$LIBS"
- CPPFLAGS="$CPPFLAGS $build_freetype_cflags"
- LIBS="$LIBS $build_freetype_libs"
+ CPPFLAGS="$CPPFLAGS $BUILD_FREETYPE_CFLAGS"
+ LIBS="$LIBS $BUILD_FREETYPE_LIBS"
AC_CHECK_HEADERS([ft2build.h], [],
[grub_build_mkfont_excuse=["need freetype2 headers"]])
AC_LINK_IFELSE([AC_LANG_CALL([], [FT_Load_Glyph])], [], [grub_build_mkfont_excuse=["freetype2 library unusable"]])
@@ -1595,8 +1595,8 @@ if test x"$enable_build_grub_mkfont" = xno && ( test "x$platform" = xqemu || tes
fi
fi
-AC_SUBST([build_freetype_cflags])
-AC_SUBST([build_freetype_libs])
+AC_SUBST([BUILD_FREETYPE_CFLAGS])
+AC_SUBST([BUILD_FREETYPE_LIBS])
CC="$SAVED_CC"
CPP="$SAVED_CPP"

View file

@ -1,194 +0,0 @@
From 3eec911197081a63d9dae28f1784ad01a06fb60a Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@ubuntu.com>
Date: Tue, 30 Jan 2018 21:54:17 +0000
Subject: build: Use pkg-config to find FreeType
pkg-config is apparently preferred over freetype-config these days (see
the BUGS section of freetype-config(1)). pkg-config support was added
to FreeType in version 2.1.5, which was released in 2003, so it should
comfortably be available everywhere by now.
We no longer need to explicitly substitute FREETYPE_CFLAGS and
FREETYPE_LIBS, since PKG_CHECK_MODULES does that automatically.
Fixes Debian bug #887721.
Reported-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Bug-Debian: https://bugs.debian.org/887721
Last-Update: 2018-02-11
Patch-Name: freetype-pkg-config.patch
---
INSTALL | 11 +++++----
configure.ac | 74 +++++++++++++++++++++++++-----------------------------------
2 files changed, 37 insertions(+), 48 deletions(-)
diff --git a/INSTALL b/INSTALL
index f3c20edc8..b370d7753 100644
--- a/INSTALL
+++ b/INSTALL
@@ -37,6 +37,7 @@ configuring the GRUB.
* GNU gettext 0.17 or later
* GNU binutils 2.9.1.0.23 or later
* Flex 2.5.35 or later
+* pkg-config
* Other standard GNU/Unix tools
* a libc with large file support (e.g. glibc 2.1 or later)
@@ -52,7 +53,7 @@ For optional grub-emu features, you need:
To build GRUB's graphical terminal (gfxterm), you need:
-* FreeType 2 or later
+* FreeType 2.1.5 or later
* GNU Unifont
If you use a development snapshot or want to hack on GRUB you may
@@ -158,8 +159,8 @@ For this example the configure line might look like (more details below)
(some options are optional and included here for completeness but some rarely
used options are omitted):
-./configure BUILD_CC=gcc BUILD_FREETYPE=freetype-config --host=amd64-linux-gnu
-CC=amd64-linux-gnu-gcc CFLAGS="-g -O2" FREETYPE=amd64-linux-gnu-freetype-config
+./configure BUILD_CC=gcc BUILD_PKG_CONFIG=pkg-config --host=amd64-linux-gnu
+CC=amd64-linux-gnu-gcc CFLAGS="-g -O2" PKG_CONFIG=amd64-linux-gnu-pkg-config
--target=arm --with-platform=uboot TARGET_CC=arm-elf-gcc
TARGET_CFLAGS="-Os -march=armv6" TARGET_CCASFLAGS="-march=armv6"
TARGET_OBJCOPY="arm-elf-objcopy" TARGET_STRIP="arm-elf-strip"
@@ -176,7 +177,7 @@ corresponding platform are not needed for the platform in question.
2. BUILD_CFLAGS= for C options for build.
3. BUILD_CPPFLAGS= for C preprocessor options for build.
4. BUILD_LDFLAGS= for linker options for build.
- 5. BUILD_FREETYPE= for freetype-config for build (optional).
+ 5. BUILD_PKG_CONFIG= for pkg-config for build (optional).
- For host
1. --host= to autoconf name of host.
@@ -184,7 +185,7 @@ corresponding platform are not needed for the platform in question.
3. HOST_CFLAGS= for C options for host.
4. HOST_CPPFLAGS= for C preprocessor options for host.
5. HOST_LDFLAGS= for linker options for host.
- 6. FREETYPE= for freetype-config for host (optional).
+ 6. PKG_CONFIG= for pkg-config for host (optional).
7. Libdevmapper if any must be in standard linker folders (-ldevmapper) (optional).
8. Libfuse if any must be in standard linker folders (-lfuse) (optional).
9. Libzfs if any must be in standard linker folders (-lzfs) (optional).
diff --git a/configure.ac b/configure.ac
index 85c23bd62..f102b7024 100644
--- a/configure.ac
+++ b/configure.ac
@@ -50,6 +50,10 @@ AC_PREREQ(2.60)
AC_CONFIG_SRCDIR([include/grub/dl.h])
AC_CONFIG_HEADER([config-util.h])
+# Explicitly check for pkg-config early on, since otherwise conditional
+# calls are problematic.
+PKG_PROG_PKG_CONFIG
+
# Program name transformations
AC_ARG_PROGRAM
grub_TRANSFORM([grub-bios-setup])
@@ -1493,29 +1497,22 @@ if test x"$enable_grub_mkfont" = xno ; then
grub_mkfont_excuse="explicitly disabled"
fi
-if test x"$grub_mkfont_excuse" = x ; then
- # Check for freetype libraries.
- AC_CHECK_TOOLS([FREETYPE], [freetype-config])
- if test "x$FREETYPE" = x ; then
- grub_mkfont_excuse=["need freetype2 library"]
- fi
-fi
-
unset ac_cv_header_ft2build_h
if test x"$grub_mkfont_excuse" = x ; then
# Check for freetype libraries.
- FREETYPE_CFLAGS=`$FREETYPE --cflags`
- FREETYPE_LIBS=`$FREETYPE --libs`
- SAVED_CPPFLAGS="$CPPFLAGS"
- SAVED_LIBS="$LIBS"
- CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
- LIBS="$LIBS $FREETYPE_LIBS"
- AC_CHECK_HEADERS([ft2build.h], [],
- [grub_mkfont_excuse=["need freetype2 headers"]])
- AC_LINK_IFELSE([AC_LANG_CALL([], [FT_Load_Glyph])], [], [grub_mkfont_excuse=["freetype2 library unusable"]])
- CPPFLAGS="$SAVED_CPPFLAGS"
- LIBS="$SAVED_LIBS"
+ PKG_CHECK_MODULES([FREETYPE], [freetype2], [
+ SAVED_CPPFLAGS="$CPPFLAGS"
+ SAVED_LIBS="$LIBS"
+ CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
+ LIBS="$LIBS $FREETYPE_LIBS"
+ AC_CHECK_HEADERS([ft2build.h], [],
+ [grub_mkfont_excuse=["need freetype2 headers"]])
+ AC_LINK_IFELSE([AC_LANG_CALL([], [FT_Load_Glyph])], [],
+ [grub_mkfont_excuse=["freetype2 library unusable"]])
+ CPPFLAGS="$SAVED_CPPFLAGS"
+ LIBS="$SAVED_LIBS"
+ ], [grub_mkfont_excuse=["need freetype2 library"]])
fi
if test x"$enable_grub_mkfont" = xyes && test x"$grub_mkfont_excuse" != x ; then
@@ -1527,8 +1524,6 @@ else
enable_grub_mkfont=no
fi
AC_SUBST([enable_grub_mkfont])
-AC_SUBST([FREETYPE_CFLAGS])
-AC_SUBST([FREETYPE_LIBS])
SAVED_CC="$CC"
SAVED_CPP="$CPP"
@@ -1558,25 +1553,21 @@ AC_SUBST([BUILD_WORDS_BIGENDIAN])
if test x"$grub_build_mkfont_excuse" = x ; then
# Check for freetype libraries.
- AC_CHECK_PROGS([BUILD_FREETYPE], [freetype-config])
- if test "x$BUILD_FREETYPE" = x ; then
- grub_build_mkfont_excuse=["need freetype2 library"]
- fi
-fi
-
-if test x"$grub_build_mkfont_excuse" = x ; then
- # Check for freetype libraries.
- BUILD_FREETYPE_CFLAGS=`$BUILD_FREETYPE --cflags`
- BUILD_FREETYPE_LIBS=`$BUILD_FREETYPE --libs`
- SAVED_CPPFLAGS_2="$CPPFLAGS"
- SAVED_LIBS="$LIBS"
- CPPFLAGS="$CPPFLAGS $BUILD_FREETYPE_CFLAGS"
- LIBS="$LIBS $BUILD_FREETYPE_LIBS"
- AC_CHECK_HEADERS([ft2build.h], [],
- [grub_build_mkfont_excuse=["need freetype2 headers"]])
- AC_LINK_IFELSE([AC_LANG_CALL([], [FT_Load_Glyph])], [], [grub_build_mkfont_excuse=["freetype2 library unusable"]])
- LIBS="$SAVED_LIBS"
- CPPFLAGS="$SAVED_CPPFLAGS_2"
+ SAVED_PKG_CONFIG="$PKG_CONFIG"
+ test -z "$BUILD_PKG_CONFIG" || PKG_CONFIG="$BUILD_PKG_CONFIG"
+ PKG_CHECK_MODULES([BUILD_FREETYPE], [freetype2], [
+ SAVED_CPPFLAGS_2="$CPPFLAGS"
+ SAVED_LIBS="$LIBS"
+ CPPFLAGS="$CPPFLAGS $BUILD_FREETYPE_CFLAGS"
+ LIBS="$LIBS $BUILD_FREETYPE_LIBS"
+ AC_CHECK_HEADERS([ft2build.h], [],
+ [grub_build_mkfont_excuse=["need freetype2 headers"]])
+ AC_LINK_IFELSE([AC_LANG_CALL([], [FT_Load_Glyph])], [],
+ [grub_build_mkfont_excuse=["freetype2 library unusable"]])
+ LIBS="$SAVED_LIBS"
+ CPPFLAGS="$SAVED_CPPFLAGS_2"
+ ], [grub_build_mkfont_excuse=["need freetype2 library"]])
+ PKG_CONFIG="$SAVED_PKG_CONFIG"
fi
if test x"$enable_build_grub_mkfont" = xyes && test x"$grub_build_mkfont_excuse" != x ; then
@@ -1595,9 +1586,6 @@ if test x"$enable_build_grub_mkfont" = xno && ( test "x$platform" = xqemu || tes
fi
fi
-AC_SUBST([BUILD_FREETYPE_CFLAGS])
-AC_SUBST([BUILD_FREETYPE_LIBS])
-
CC="$SAVED_CC"
CPP="$SAVED_CPP"
CFLAGS="$SAVED_CFLAGS"

View file

@ -1,72 +0,0 @@
From 563b1da6e6ae7af46cc8354cadb5dab416989f0a Mon Sep 17 00:00:00 2001
From: Michael Chang <mchang@suse.com>
Date: Mon, 26 Mar 2018 16:52:34 +0800
Subject: Fix packed-not-aligned error on GCC 8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When building with GCC 8, there are several errors regarding packed-not-aligned.
./include/grub/gpt_partition.h:79:1: error: alignment 1 of struct grub_gpt_partentry is less than 8 [-Werror=packed-not-aligned]
This patch fixes the build error by cleaning up the ambiguity of placing
aligned structure in a packed one. In "struct grub_btrfs_time" and "struct
grub_gpt_part_type", the aligned attribute seems to be superfluous, and also
has to be packed, to ensure the structure is bit-to-bit mapped to the format
laid on disk. I think we could blame to copy and paste error here for the
mistake. In "struct efi_variable", we have to use grub_efi_packed_guid_t, as
the name suggests. :)
Signed-off-by: Michael Chang <mchang@suse.com>
Tested-by: Michael Chang <mchang@suse.com>
Tested-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
---
grub-core/fs/btrfs.c | 2 +-
include/grub/efiemu/runtime.h | 2 +-
include/grub/gpt_partition.h | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
index 4849c1c..be19544 100644
--- a/grub-core/fs/btrfs.c
+++ b/grub-core/fs/btrfs.c
@@ -175,7 +175,7 @@ struct grub_btrfs_time
{
grub_int64_t sec;
grub_uint32_t nanosec;
-} __attribute__ ((aligned (4)));
+} GRUB_PACKED;
struct grub_btrfs_inode
{
diff --git a/include/grub/efiemu/runtime.h b/include/grub/efiemu/runtime.h
index 9b6b729..36d2ded 100644
--- a/include/grub/efiemu/runtime.h
+++ b/include/grub/efiemu/runtime.h
@@ -29,7 +29,7 @@ struct grub_efiemu_ptv_rel
struct efi_variable
{
- grub_efi_guid_t guid;
+ grub_efi_packed_guid_t guid;
grub_uint32_t namelen;
grub_uint32_t size;
grub_efi_uint32_t attributes;
diff --git a/include/grub/gpt_partition.h b/include/grub/gpt_partition.h
index 1b32f67..9668a68 100644
--- a/include/grub/gpt_partition.h
+++ b/include/grub/gpt_partition.h
@@ -28,7 +28,7 @@ struct grub_gpt_part_type
grub_uint16_t data2;
grub_uint16_t data3;
grub_uint8_t data4[8];
-} __attribute__ ((aligned(8)));
+} GRUB_PACKED;
typedef struct grub_gpt_part_type grub_gpt_part_type_t;
#define GRUB_GPT_PARTITION_TYPE_EMPTY \
--
cgit v1.0-41-gc330

View file

@ -1,177 +0,0 @@
From a698240df0c43278b2d1d7259c8e7a6926c63112 Mon Sep 17 00:00:00 2001
From: "Matthew S. Turnbull" <sparky@bluefang-logic.com>
Date: Sat, 24 Feb 2018 17:44:58 -0500
Subject: grub-mkconfig/10_linux: Support multiple early initrd images
Add support for multiple, shared, early initrd images. These early
images will be loaded in the order declared, and all will be loaded
before the initrd image.
While many classes of data can be provided by early images, the
immediate use case would be for distributions to provide CPU
microcode to mitigate the Meltdown and Spectre vulnerabilities.
There are two environment variables provided for declaring the early
images.
* GRUB_EARLY_INITRD_LINUX_STOCK is for the distribution declare
images that are provided by the distribution or installed packages.
If undeclared, this will default to a set of common microcode image
names.
* GRUB_EARLY_INITRD_LINUX_CUSTOM is for user created images. User
images will be loaded after the stock images.
These separate configurations allow the distribution and user to
declare different image sets without clobbering each other.
This also makes a minor update to ensure that UUID partition labels
stay disabled when no initrd image is found, even if early images are
present.
This is a continuation of a previous patch published by Christian
Hesse in 2016:
http://lists.gnu.org/archive/html/grub-devel/2016-02/msg00025.html
Down stream Gentoo bug:
https://bugs.gentoo.org/645088
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Matthew S. Turnbull <sparky@bluefang-logic.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
---
docs/grub.texi | 19 +++++++++++++++++++
util/grub-mkconfig.in | 8 ++++++++
util/grub.d/10_linux.in | 33 +++++++++++++++++++++++++++------
3 files changed, 54 insertions(+), 6 deletions(-)
diff --git a/docs/grub.texi b/docs/grub.texi
index 137b894..65b4bbe 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -1398,6 +1398,25 @@ for all respectively normal entries.
The values of these options replace the values of @samp{GRUB_CMDLINE_LINUX}
and @samp{GRUB_CMDLINE_LINUX_DEFAULT} for Linux and Xen menu entries.
+@item GRUB_EARLY_INITRD_LINUX_CUSTOM
+@itemx GRUB_EARLY_INITRD_LINUX_STOCK
+List of space-separated early initrd images to be loaded from @samp{/boot}.
+This is for loading things like CPU microcode, firmware, ACPI tables, crypto
+keys, and so on. These early images will be loaded in the order declared,
+and all will be loaded before the actual functional initrd image.
+
+@samp{GRUB_EARLY_INITRD_LINUX_STOCK} is for your distribution to declare
+images that are provided by the distribution. It should not be modified
+without understanding the consequences. They will be loaded first.
+
+@samp{GRUB_EARLY_INITRD_LINUX_CUSTOM} is for your custom created images.
+
+The default stock images are as follows, though they may be overridden by
+your distribution:
+@example
+intel-uc.img intel-ucode.img amd-uc.img amd-ucode.img early_ucode.cpio microcode.cpio
+@end example
+
@item GRUB_DISABLE_LINUX_UUID
Normally, @command{grub-mkconfig} will generate menu entries that use
universally-unique identifiers (UUIDs) to identify the root filesystem to
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
index f8496d2..35ef583 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
@@ -147,6 +147,12 @@ if [ x"$GRUB_FS" = xunknown ]; then
GRUB_FS="$(stat -f --printf=%T / || echo unknown)"
fi
+# Provide a default set of stock linux early initrd images.
+# Define here so the list can be modified in the sourced config file.
+if [ "x${GRUB_EARLY_INITRD_LINUX_STOCK}" = "x" ]; then
+ GRUB_EARLY_INITRD_LINUX_STOCK="intel-uc.img intel-ucode.img amd-uc.img amd-ucode.img early_ucode.cpio microcode.cpio"
+fi
+
if test -f ${sysconfdir}/default/grub ; then
. ${sysconfdir}/default/grub
fi
@@ -211,6 +217,8 @@ export GRUB_DEFAULT \
GRUB_CMDLINE_NETBSD \
GRUB_CMDLINE_NETBSD_DEFAULT \
GRUB_CMDLINE_GNUMACH \
+ GRUB_EARLY_INITRD_LINUX_CUSTOM \
+ GRUB_EARLY_INITRD_LINUX_STOCK \
GRUB_TERMINAL_INPUT \
GRUB_TERMINAL_OUTPUT \
GRUB_SERIAL_COMMAND \
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index de9044c..faedf74 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -136,9 +136,13 @@ EOF
if test -n "${initrd}" ; then
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
message="$(gettext_printf "Loading initial ramdisk ...")"
+ initrd_path=
+ for i in ${initrd}; do
+ initrd_path="${initrd_path} ${rel_dirname}/${i}"
+ done
sed "s/^/$submenu_indentation/" << EOF
echo '$(echo "$message" | grub_quote)'
- initrd ${rel_dirname}/${initrd}
+ initrd $(echo $initrd_path)
EOF
fi
sed "s/^/$submenu_indentation/" << EOF
@@ -188,7 +192,15 @@ while [ "x$list" != "x" ] ; do
alt_version=`echo $version | sed -e "s,\.old$,,g"`
linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
- initrd=
+ initrd_early=
+ for i in ${GRUB_EARLY_INITRD_LINUX_STOCK} \
+ ${GRUB_EARLY_INITRD_LINUX_CUSTOM}; do
+ if test -e "${dirname}/${i}" ; then
+ initrd_early="${initrd_early} ${i}"
+ fi
+ done
+
+ initrd_real=
for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
"initrd-${version}" "initramfs-${version}.img" \
"initrd.img-${alt_version}" "initrd-${alt_version}.img" \
@@ -198,11 +210,22 @@ while [ "x$list" != "x" ] ; do
"initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
"initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
if test -e "${dirname}/${i}" ; then
- initrd="$i"
+ initrd_real="${i}"
break
fi
done
+ initrd=
+ if test -n "${initrd_early}" || test -n "${initrd_real}"; then
+ initrd="${initrd_early} ${initrd_real}"
+
+ initrd_display=
+ for i in ${initrd}; do
+ initrd_display="${initrd_display} ${dirname}/${i}"
+ done
+ gettext_printf "Found initrd image: %s\n" "$(echo $initrd_display)" >&2
+ fi
+
config=
for i in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
if test -e "${i}" ; then
@@ -216,9 +239,7 @@ while [ "x$list" != "x" ] ; do
initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"`
fi
- if test -n "${initrd}" ; then
- gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2
- elif test -z "${initramfs}" ; then
+ if test -z "${initramfs}" && test -z "${initrd_real}" ; then
# "UUID=" and "ZFS=" magic is parsed by initrd or initramfs. Since there's
# no initrd or builtin initramfs, it can't work here.
linux_root_device_thisversion=${GRUB_DEVICE}
--
cgit v1.0-41-gc330

View file

@ -1,60 +0,0 @@
From cda0a857dd7a27cd5d621747464bfe71e8727fff Mon Sep 17 00:00:00 2001
From: Daniel Kiper <daniel.kiper@oracle.com>
Date: Tue, 29 May 2018 16:16:02 +0200
Subject: xfs: Accept filesystem with sparse inodes
The sparse inode metadata format became a mkfs.xfs default in
xfsprogs-4.16.0, and such filesystems are now rejected by grub as
containing an incompatible feature.
In essence, this feature allows xfs to allocate inodes into fragmented
freespace. (Without this feature, if xfs could not allocate contiguous
space for 64 new inodes, inode creation would fail.)
In practice, the disk format change is restricted to the inode btree,
which as far as I can tell is not used by grub. If all you're doing
today is parsing a directory, reading an inode number, and converting
that inode number to a disk location, then ignoring this feature
should be fine, so I've added it to XFS_SB_FEAT_INCOMPAT_SUPPORTED
I did some brief testing of this patch by hacking up the regression
tests to completely fragment freespace on the test xfs filesystem, and
then write a large-ish number of inodes to consume any existing
contiguous 64-inode chunk. This way any files the grub tests add and
traverse would be in such a fragmented inode allocation. Tests passed,
but I'm not sure how to cleanly integrate that into the test harness.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Tested-by: Chris Murphy <lists@colorremedies.com>
---
grub-core/fs/xfs.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c
index c6031bd..3b00c74 100644
--- a/grub-core/fs/xfs.c
+++ b/grub-core/fs/xfs.c
@@ -79,9 +79,18 @@ GRUB_MOD_LICENSE ("GPLv3+");
#define XFS_SB_FEAT_INCOMPAT_SPINODES (1 << 1) /* sparse inode chunks */
#define XFS_SB_FEAT_INCOMPAT_META_UUID (1 << 2) /* metadata UUID */
-/* We do not currently verify metadata UUID so it is safe to read such filesystem */
+/*
+ * Directory entries with ftype are explicitly handled by GRUB code.
+ *
+ * We do not currently read the inode btrees, so it is safe to read filesystems
+ * with the XFS_SB_FEAT_INCOMPAT_SPINODES feature.
+ *
+ * We do not currently verify metadata UUID, so it is safe to read filesystems
+ * with the XFS_SB_FEAT_INCOMPAT_META_UUID feature.
+ */
#define XFS_SB_FEAT_INCOMPAT_SUPPORTED \
(XFS_SB_FEAT_INCOMPAT_FTYPE | \
+ XFS_SB_FEAT_INCOMPAT_SPINODES | \
XFS_SB_FEAT_INCOMPAT_META_UUID)
struct grub_xfs_sblock
--
cgit v1.0-41-gc330

View file

@ -1,29 +0,0 @@
From e2d5bf1bc6aaaabeba538c1ca94ea8601e4e1474 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
Date: Thu, 16 Oct 2014 23:43:51 -0400
Subject: [PATCH] 10_linux: Default gfxpayload=keep only when booting using efi
vesafb seems to be unreliable when using BIOS compat mode.
---
util/grub.d/10_linux.in | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index d2e2a8f..a54b888 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -104,7 +104,9 @@ linux_entry ()
echo " load_video" | sed "s/^/$submenu_indentation/"
if grep -qx "CONFIG_FB_EFI=y" "${config}" 2> /dev/null \
&& grep -qx "CONFIG_VT_HW_CONSOLE_BINDING=y" "${config}" 2> /dev/null; then
- echo " set gfxpayload=keep" | sed "s/^/$submenu_indentation/"
+ echo ' if [ "x$grub_platform" = xefi ]; then' | sed "s/^/$submenu_indentation/"
+ echo " set gfxpayload=keep" | sed "s/^/$submenu_indentation/"
+ echo ' fi' | sed "s/^/$submenu_indentation/"
fi
else
if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then
--
2.7.2

View file

@ -1,67 +0,0 @@
From 43e3295aaad5278a1e53c5282e2660b72cd76d28 Mon Sep 17 00:00:00 2001
From: "Robin H. Johnson" <robbat2@gentoo.org>
Date: Tue, 29 Dec 2015 15:29:14 -0800
Subject: [PATCH] GRUB_LINUX_KERNEL_GLOBS: configurable kernel selection
* util/grub.d/10_linux.in: Implement GRUB_LINUX_KERNEL_GLOBS
* docs/grub.texi: Document GRUB_LINUX_KERNEL_GLOBS
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
---
docs/grub.texi | 5 +++++
util/grub.d/10_linux.in | 21 +++++++++++----------
2 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/docs/grub.texi b/docs/grub.texi
index 9a25a0b..d1129ec 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -1490,6 +1490,11 @@ This option may be set to a list of GRUB module names separated by spaces.
Each module will be loaded as early as possible, at the start of
@file{grub.cfg}.
+@item GRUB_LINUX_KERNEL_GLOBS
+This option may be set to override the list of path globs used to find Linux
+kernels. The defaults vary by architecture, and generally include both
+@file{/boot} and @file{/}.
+
@end table
The following options are still accepted for compatibility with existing
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index 859b608..e5ac11d 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -145,18 +145,19 @@ EOF
}
machine=`uname -m`
-case "x$machine" in
+globs="$GRUB_LINUX_KERNEL_GLOBS"
+[ -z "$globs" ] && case "x$machine" in
xi?86 | xx86_64)
- list=
- for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
- if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
- done ;;
- *)
- list=
- for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
- if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
- done ;;
+ globs="/boot/vmlinuz-* /vmlinuz-* /boot/kernel-*"
+ ;;
+ *)
+ globs="/boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-*"
+ ;;
esac
+list=
+for i in ${globs} ; do
+ if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
+done
case "$machine" in
i?86) GENKERNEL_ARCH="x86" ;;
--
2.3.0

View file

@ -1,73 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# To populate all changes in this file you need to regenerate your
# grub configuration file afterwards:
# 'grub2-mkconfig -o /boot/grub/grub.cfg'
#
# See the grub info page for documentation on possible variables and
# their associated values.
GRUB_DISTRIBUTOR="Gentoo"
# Default menu entry
#GRUB_DEFAULT=0
# Boot the default entry this many seconds after the menu is displayed
#GRUB_TIMEOUT=5
#GRUB_TIMEOUT_STYLE=menu
# Append parameters to the linux kernel command line
#GRUB_CMDLINE_LINUX=""
#
# Examples:
#
# Boot with network interface renaming disabled
# GRUB_CMDLINE_LINUX="net.ifnames=0"
#
# Boot with systemd instead of sysvinit (openrc)
# GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd"
# Append parameters to the linux kernel command line for non-recovery entries
#GRUB_CMDLINE_LINUX_DEFAULT=""
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal.
# Note that you can use only modes which your graphic card supports via VBE.
# You can see them in real GRUB with the command `vbeinfo'.
#GRUB_GFXMODE=640x480
# Set to 'text' to force the Linux kernel to boot in normal text
# mode, 'keep' to preserve the graphics mode set using
# 'GRUB_GFXMODE', 'WIDTHxHEIGHT'['xDEPTH'] to set a particular
# graphics mode, or a sequence of these separated by commas or
# semicolons to try several modes in sequence.
#GRUB_GFXPAYLOAD_LINUX=
# Path to theme spec txt file.
# The starfield is by default provided with use truetype.
# NOTE: when enabling custom theme, ensure you have required font/etc.
#GRUB_THEME="/boot/grub/themes/starfield/theme.txt"
# Background image used on graphical terminal.
# Can be in various bitmap formats.
#GRUB_BACKGROUND="/boot/grub/mybackground.png"
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to kernel
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY=true
# Uncomment to disable generation of the submenu and put all choices on
# the top-level menu.
# Besides the visual affect of no sub menu, this makes navigation of the
# menu easier for a user who can't see the screen.
#GRUB_DISABLE_SUBMENU=y
# Uncomment to play a tone when the main menu is displayed.
# This is useful, for example, to allow users who can't see the screen
# to know when they can make a choice on the menu.
#GRUB_INIT_TUNE="60 800 1"

View file

@ -1,315 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
GRUB_AUTOGEN=1
GRUB_AUTORECONF=1
if [[ -n ${GRUB_AUTOGEN} ]]; then
PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5,3_6} )
inherit python-any-r1
fi
if [[ -n ${GRUB_AUTORECONF} ]]; then
WANT_LIBTOOL=none
inherit autotools
fi
inherit bash-completion-r1 flag-o-matic multibuild pax-utils toolchain-funcs
if [[ ${PV} != 9999 ]]; then
if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
# The quote style is to work with <=bash-4.2 and >=bash-4.3 #503860
MY_P=${P/_/'~'}
SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz"
S=${WORKDIR}/${MY_P}
else
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
S=${WORKDIR}/${P%_*}
fi
KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86"
else
inherit git-r3
EGIT_REPO_URI="git://git.sv.gnu.org/grub.git
http://git.savannah.gnu.org/r/grub.git"
fi
PATCHES=(
"${FILESDIR}"/gfxpayload.patch
"${FILESDIR}"/grub-2.02_beta2-KERNEL_GLOBS.patch
"${FILESDIR}"/2.02-multiple-early-initrd.patch
"${FILESDIR}"/2.02-freetype-capitalise-variables.patch
"${FILESDIR}"/2.02-freetype-pkg-config.patch
"${FILESDIR}"/2.02-xfs-sparse-inodes.patch
"${FILESDIR}"/2.02-X86_64_PLT32.patch
"${FILESDIR}"/2.02-gcc8.patch
)
DEJAVU=dejavu-sans-ttf-2.37
UNIFONT=unifont-9.0.06
SRC_URI+=" fonts? ( mirror://gnu/unifont/${UNIFONT}/${UNIFONT}.pcf.gz )
themes? ( mirror://sourceforge/dejavu/${DEJAVU}.zip )"
DESCRIPTION="GNU GRUB boot loader"
HOMEPAGE="https://www.gnu.org/software/grub/"
# Includes licenses for dejavu and unifont
LICENSE="GPL-3 fonts? ( GPL-2-with-font-exception ) themes? ( BitstreamVera )"
SLOT="2/${PVR}"
IUSE="debug device-mapper doc efiemu +fonts mount multislot nls static sdl test +themes truetype libzfs"
GRUB_ALL_PLATFORMS=( coreboot efi-32 efi-64 emu ieee1275 loongson multiboot qemu qemu-mips pc uboot xen xen-32 )
IUSE+=" ${GRUB_ALL_PLATFORMS[@]/#/grub_platforms_}"
REQUIRED_USE="
grub_platforms_coreboot? ( fonts )
grub_platforms_qemu? ( fonts )
grub_platforms_ieee1275? ( fonts )
grub_platforms_loongson? ( fonts )
"
# os-prober: Used on runtime to detect other OSes
# xorriso (dev-libs/libisoburn): Used on runtime for mkrescue
COMMON_DEPEND="
app-arch/xz-utils
>=sys-libs/ncurses-5.2-r5:0=
debug? (
sdl? ( media-libs/libsdl )
)
device-mapper? ( >=sys-fs/lvm2-2.02.45 )
libzfs? ( sys-fs/zfs )
mount? ( sys-fs/fuse:0 )
truetype? ( media-libs/freetype:2= )
ppc? ( >=sys-apps/ibm-powerpc-utils-1.3.5 )
ppc64? ( >=sys-apps/ibm-powerpc-utils-1.3.5 )
"
DEPEND="${COMMON_DEPEND}
${PYTHON_DEPS}
app-misc/pax-utils
sys-devel/flex
sys-devel/bison
sys-apps/help2man
sys-apps/texinfo
fonts? (
media-libs/freetype:2
virtual/pkgconfig
)
grub_platforms_xen? ( app-emulation/xen-tools:= )
grub_platforms_xen-32? ( app-emulation/xen-tools:= )
static? (
app-arch/xz-utils[static-libs(+)]
truetype? (
app-arch/bzip2[static-libs(+)]
media-libs/freetype[static-libs(+)]
sys-libs/zlib[static-libs(+)]
virtual/pkgconfig
)
)
test? (
app-admin/genromfs
app-arch/cpio
app-arch/lzop
app-emulation/qemu
dev-libs/libisoburn
sys-apps/miscfiles
sys-block/parted
sys-fs/squashfs-tools
)
themes? (
app-arch/unzip
media-libs/freetype:2
virtual/pkgconfig
)
truetype? ( virtual/pkgconfig )
"
RDEPEND="${COMMON_DEPEND}
kernel_linux? (
grub_platforms_efi-32? ( sys-boot/efibootmgr )
grub_platforms_efi-64? ( sys-boot/efibootmgr )
)
!multislot? ( !sys-boot/grub:0 !sys-boot/grub-static )
nls? ( sys-devel/gettext )
"
RESTRICT="strip !test? ( test )"
QA_EXECSTACK="usr/bin/grub*-emu* usr/lib/grub/*"
QA_WX_LOAD="usr/lib/grub/*"
QA_MULTILIB_PATHS="usr/lib/grub/.*"
src_unpack() {
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
fi
default
}
src_prepare() {
default
sed -i -e /autoreconf/d autogen.sh || die
if use multislot; then
# fix texinfo file name, bug 416035
sed -i -e 's/^\* GRUB:/* GRUB2:/' -e 's/(grub)/(grub2)/' docs/grub.texi || die
fi
# Nothing in Gentoo packages 'american-english' in the exact path
# wanted for the test, but all that is needed is a compressible text
# file, and we do have 'words' from miscfiles in the same path.
sed -i \
-e '/CFILESSRC.*=/s,american-english,words,' \
tests/util/grub-fs-tester.in \
|| die
if [[ -n ${GRUB_AUTOGEN} ]]; then
python_setup
bash autogen.sh || die
fi
if [[ -n ${GRUB_AUTORECONF} ]]; then
autopoint() { :; }
eautoreconf
fi
}
grub_do() {
multibuild_foreach_variant run_in_build_dir "$@"
}
grub_do_once() {
multibuild_for_best_variant run_in_build_dir "$@"
}
grub_configure() {
local platform
case ${MULTIBUILD_VARIANT} in
efi*) platform=efi ;;
xen*) platform=xen ;;
guessed) ;;
*) platform=${MULTIBUILD_VARIANT} ;;
esac
case ${MULTIBUILD_VARIANT} in
*-32)
if [[ ${CTARGET:-${CHOST}} == x86_64* ]]; then
local CTARGET=i386
fi ;;
*-64)
if [[ ${CTARGET:-${CHOST}} == i?86* ]]; then
local CTARGET=x86_64
local -x TARGET_CFLAGS="-Os -march=x86-64 ${TARGET_CFLAGS}"
local -x TARGET_CPPFLAGS="-march=x86-64 ${TARGET_CPPFLAGS}"
fi ;;
esac
local myeconfargs=(
--disable-werror
--program-prefix=
--libdir="${EPREFIX}"/usr/lib
--htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
$(use_enable debug mm-debug)
$(use_enable device-mapper)
$(use_enable mount grub-mount)
$(use_enable nls)
$(use_enable themes grub-themes)
$(use_enable truetype grub-mkfont)
$(use_enable libzfs)
$(use sdl && use_enable debug grub-emu-sdl)
$(use !sdl && use_enable sdl grub-emu-sdl)
${platform:+--with-platform=}${platform}
# Let configure detect this where supported
$(usex efiemu '' '--disable-efiemu')
)
if use multislot; then
myeconfargs+=( --program-transform-name="s,grub,grub2," )
fi
# Set up font symlinks
ln -s "${WORKDIR}/${UNIFONT}.pcf" unifont.pcf || die
if use themes; then
ln -s "${WORKDIR}/${DEJAVU}/ttf/DejaVuSans.ttf" DejaVuSans.ttf || die
fi
local ECONF_SOURCE="${S}"
econf "${myeconfargs[@]}"
}
src_configure() {
# Bug 508758.
replace-flags -O3 -O2
# We don't want to leak flags onto boot code.
export HOST_CCASFLAGS=${CCASFLAGS}
export HOST_CFLAGS=${CFLAGS}
export HOST_CPPFLAGS=${CPPFLAGS}
export HOST_LDFLAGS=${LDFLAGS}
unset CCASFLAGS CFLAGS CPPFLAGS LDFLAGS
use static && HOST_LDFLAGS+=" -static"
tc-ld-disable-gold #439082 #466536 #526348
export TARGET_LDFLAGS="${TARGET_LDFLAGS} ${LDFLAGS}"
unset LDFLAGS
tc-export CC NM OBJCOPY RANLIB STRIP
tc-export BUILD_CC # Bug 485592
MULTIBUILD_VARIANTS=()
local p
for p in "${GRUB_ALL_PLATFORMS[@]}"; do
use "grub_platforms_${p}" && MULTIBUILD_VARIANTS+=( "${p}" )
done
[[ ${#MULTIBUILD_VARIANTS[@]} -eq 0 ]] && MULTIBUILD_VARIANTS=( guessed )
grub_do grub_configure
}
src_compile() {
# Sandbox bug 404013.
use libzfs && addpredict /etc/dfs:/dev/zfs
grub_do emake
use doc && grub_do_once emake -C docs html
}
src_test() {
# The qemu dependency is a bit complex.
# You will need to adjust QEMU_SOFTMMU_TARGETS to match the cpu/platform.
grub_do emake check
}
src_install() {
grub_do emake install DESTDIR="${D}" bashcompletiondir="$(get_bashcompdir)"
use doc && grub_do_once emake -C docs install-html DESTDIR="${D}"
einstalldocs
if use multislot; then
mv "${ED%/}"/usr/share/info/grub{,2}.info || die
fi
insinto /etc/default
newins "${FILESDIR}"/grub.default-3 grub
}
pkg_postinst() {
elog "For information on how to configure GRUB2 please refer to the guide:"
elog " https://wiki.gentoo.org/wiki/GRUB2_Quick_Start"
if has_version 'sys-boot/grub:0'; then
elog "A migration guide for GRUB Legacy users is available:"
elog " https://wiki.gentoo.org/wiki/GRUB2_Migration"
fi
if [[ -z ${REPLACING_VERSIONS} ]]; then
elog
elog "You may consider installing the following optional packages:"
optfeature "Detect other operating systems (grub-mkconfig)" sys-boot/os-prober
optfeature "Create rescue media (grub-mkrescue)" dev-libs/libisoburn
optfeature "Enable RAID device detection" sys-fs/mdadm
fi
}

View file

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>floppym@gentoo.org</email>
<name>Mike Gilbert</name>
</maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<use>
<flag name="device-mapper">
Enable support for device-mapper from <pkg>sys-fs/lvm2</pkg>
</flag>
<flag name="efiemu">
Build and install the efiemu runtimes
</flag>
<flag name="fonts">Build and install fonts for the gfxterm module</flag>
<flag name="mount">
Build and install the grub-mount utility
</flag>
<flag name="libzfs">
Enable support for <pkg>sys-fs/zfs</pkg>
</flag>
<flag name="multislot">
Allow concurrent installation of <pkg>sys-boot/grub</pkg> SLOT 0 and
<pkg>sys-boot/grub</pkg> SLOT 2 by renaming all programs.
</flag>
<flag name="themes">Build and install GRUB themes (starfield)</flag>
<flag name="truetype">Build and install grub-mkfont conversion utility</flag>
</use>
<upstream>
<remote-id type="sourceforge">dejavu</remote-id>
</upstream>
</pkgmetadata>