Removed obsolete packages.
This commit is contained in:
parent
9bf3fb88c6
commit
86c2318970
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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 )
|
|
@ -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
|
|
@ -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}"
|
|
@ -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}
|
||||
)
|
||||
|
|
@ -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>
|
|
@ -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
|
||||
}
|
|
@ -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
|
|
@ -1 +0,0 @@
|
|||
d /run/nslcd 0755 nslcd nslcd -
|
|
@ -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 $?
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/sh
|
||||
exec 2>&1
|
||||
exec /usr/sbin/nslcd -n
|
|
@ -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
|
|
@ -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
|
|
@ -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]
|
|
@ -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 $?
|
||||
}
|
|
@ -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>
|
|
@ -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
|
||||
}
|
|
@ -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
|
|
@ -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
|
||||
}
|
||||
},
|
|
@ -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"
|
|
@ -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"
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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"
|
|
@ -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
|
||||
}
|
|
@ -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>
|
Loading…
Reference in a new issue