13. Programming
基本LFS系统可以用作开发平台,但是基本系统只包括对C、C++、Perl和Python的语言支持。本章提供了构建许多流行编程环境的说明,以极大地扩展系统的开发能力。
13.1 Autoconf2.13
简介Autoconf2.13
Autoconf2.13是Autoconf的旧版本。这个旧版本接受在最新版本中无效的开关。现在firefox已经开始使用python2进行配置,即使配置文件没有更改,也需要这个旧版本。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
-
下载 (FTP): ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
-
下载 MD5 校验和: 9de56d4a161a723228220b0f425dc711
-
下载大小: 434 KB
-
预计所需磁盘空间: 2.8 MB
-
预计构建时间: 小于 0.1 SBU (额外0.1 SBU用于测试)
额外下载
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/autoconf213
安装Autoconf2.13
运行以下命令安装Autoconf:
patch -Np1 -i ../autoconf-2.13-consolidated_fixes-1.patch &&
mv -v autoconf.texi autoconf213.texi &&
rm -v autoconf.info &&
./configure --prefix=/usr --program-suffix=2.13 &&
make
以测试安装问题,执行 make check (所有253个测试都应该通过).
现在,作为root用户:
make install &&
install -v -m644 autoconf213.info /usr/share/info &&
install-info --info-dir=/usr/share/info autoconf213.info
命令解释
mv -v autoconf.texi autoconf213.texi: 确保此包添加的info文件不会覆盖最新版本。
rm -v autoconf.info: 确保info文件将由当前版本的texinfo创建。
–program-suffix=2.13: 确保安装的程序在其名称中添加了版本,这样只有专门查找这些旧版本的脚本才能找到它们。
install -v -m644 …: 这个补丁从Makefile中删除了install-info,因为这会安装(如果有必要的话会重新创建)一个旧版本的standards.info,所以现在autoconf213.info必须手动安装。
内容
安装程序: autoconf2.13, autoheader2.13, autoreconf2.13, autoscan2.13, autoupdate2.13, 和 ifnames2.13
安装库: None
安装目录: /usr/share/autoconf-2.13
简要描述
autoconf2.13 生成shell脚本,自动配置软件源代码包以适应多种类unix系统。
autoheader2.13 是一个创建C #define语句模板文件的工具,以供configure使用。
autoreconf2.13 当对autoconf或automake模板文件进行更改时,它会自动以正确的顺序运行autoconf2.13, autoheader2.13, aclocal, automake, gettextize 和 libtoolize。
autoscan2.13 可以用作创建configure.in文件的初步步骤。
autoupdate2.13 修改一个configure.in文件,该文件仍然以旧名调用autoconf宏,以使用当前的宏名。
ifnames2.13 打印包在C预处理器条件中使用的标识符(如果一个包已经被设置为具有一定的可移植性,这个程序可以帮助确定配置需要检查什么。它还可以填补由autoscan生成的configure.in文件中的空白。
13.2 Cbindgen-0.24.3
简介Cbindgen
Cbindgen可以用来为Rust代码生成C绑定。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/eqrion/cbindgen/archive/v0.24.3/cbindgen-0.24.3.tar.gz
-
下载 MD5 校验和: 6aa2991ca8411f9ebf9961e8b873e884
-
下载大小: 204 KB
-
预计所需磁盘空间: 121 MB (添加596 MB用于测试)
-
预计构建时间: 0.5 SBU (增加0.4 SBU用于测试), 都是在4核机器上
cbindgen依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/cbindgen
安装cbindgen
注意
与大多数Rust包一样,这需要一个网络连接来检查所需的货物箱的当前版本,并在它们尚未存在时下载它们。
运行以下命令安装cbindgen:
cargo build --release
要测试结果,执行: cargo test. 已知最终套件中的三个测试会失败。
现在,作为root用户:
install -Dm755 target/release/cbindgen /usr/bin/
内容
安装程序: cbindgen
安装库: none
安装目录: none
简要描述
cbindgen 为Rust代码生成C绑定。
13.3 Clisp-2.49
简介Clisp
GNU Clisp是一个通用的Lisp实现,它包括一个解释器、编译器、调试器和许多扩展。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://ftp.gnu.org/gnu/clisp/latest/clisp-2.49.tar.bz2
-
下载 (FTP): ftp://ftp.gnu.org/gnu/clisp/latest/clisp-2.49.tar.bz2
-
下载 MD5 校验和: 1962b99d5e530390ec3829236d168649
-
下载大小: 7.8 MB
-
预计所需磁盘空间: 163 MB (增加8 MB用于测试)
-
预计构建时间: 0.9 SBU (1.2 SBU用于测试)
额外下载
- 可选补丁: https://www.linuxfromscratch.org/patches/blfs/11.3/clisp-2.49-readline7_fixes-1.patch (针对libffcall构建时必需)
Clisp依赖
推荐
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/clisp
安装Clisp
注意
这个包不支持并行构建。
如果您在32位系统上构建,请解决GCC中由最新版本的binutils引起的错误:
case $(uname -m) in
i?86) export CFLAGS="${CFLAGS:--O2 -g} -falign-functions=4" ;;
esac
删除两个由于未知原因而失败的测试:
sed -i -e '/socket/d' -e '/"streams"/d' tests/tests.lisp
运行以下命令安装Clisp:
如果你正在针对libffcall构建clisp,应用补丁来修复当前readline的构建失败:
patch -Np1 -i ../clisp-2.49-readline7_fixes-1.patch
运行以下命令安装Clisp:
mkdir build &&
cd build &&
../configure --srcdir=../ \
--prefix=/usr \
--docdir=/usr/share/doc/clisp-2.49 \
--with-libsigsegv-prefix=/usr &&
ulimit -s 16384 &&
make -j1
要测试结果,执行: make check.
现在,作为root用户:
make install
命令解释
ulimit -s 16384: 这增加了最大堆栈大小,如configure所建议的那样。
–docdir=/usr/share/doc/clisp-2.49: 这确保HTML文档将进入一个版本控制的目录,而不是直接进入/usr/share/html/。
–with-libsigsegv-prefix=/usr: 使用此命令告诉configure您已经在/usr中安装了libsigsegv,否则将找不到它。
--with-libffcall-prefix=/usr: 使用此命令告诉configure您已经在/usr中安装了可选的libffcall,否则将像libsigsegv一样找不到它。
内容
安装程序: clisp, clisp-link
安装库: /usr/lib/clisp-2.49/base/ 中的各种静态库
安装目录: /usr/lib/clisp-2.49 /usr/share/doc/clisp-2.49 /usr/share/emacs/site-lisp;
简要描述
clisp 是一个ANSI通用Lisp编译器、解释器和调试器。
clisp-link 用于将外部模块链接到clisp。
13.4 CMake-3.25.2
简介CMake
CMake包包含一个用于生成makefile的现代工具集。它是自动生成的configure脚本的继承者,旨在独立于平台和编译器。CMake的一个重要用户是KDE,从版本4开始。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cmake.org/files/v3.25/cmake-3.25.2.tar.gz
-
下载 MD5 校验和: 24cde56ea2dc5e22d7f5d1abc7a82258
-
下载大小: 10 MB
-
预计所需磁盘空间: 354 MB (增加1.1 GB用于测试)
-
预计构建时间: 1.6 SBU (添加3.2 SBU进行测试, 都使用并行度=4)
CMake依赖
推荐
cURL-7.88.1, libarchive-3.6.2, libuv-1.44.2, 和 nghttp2-1.52.0
可选
GCC-12.2.0 (用于gfortran), git-2.39.2 (测试期间使用), Mercurial-6.3.2 (测试期间使用), Qt-5.15.8 (对于基于QT的GUI), sphinx-6.1.3 (用于构建文档), Subversion-1.14.2 (用于测试), 和 rhash
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/cmake
安装CMake
运行以下命令安装CMake:
sed -i '/"lib64"/s/64//' Modules/GNUInstallDirs.cmake &&
./bootstrap --prefix=/usr \
--system-libs \
--mandir=/share/man \
--no-system-jsoncpp \
--no-system-librhash \
--docdir=/share/doc/cmake-3.25.2 &&
make
要测试结果,执行: LC_ALL=en_US.UTF-8 bin/ctest -j<N> -O cmake-3.25.2-test.log, 式中<N>为1到系统核数之间的整数。设置LC_ALL是为了防止在一些语言环境变量被设置为非英语语言环境时出现一些测试失败。一个名为BundleUtilities的测试以失败而闻名。
如果你想用给定的”problem1-test”调查问题,使用bin/ctest -R “problem1-test”,省略它,使用bin/ctest -E “problem1-test”。这些选项可以一起使用: bin/ctest -R “problem1-test” -E “problem2-test”. 选项-N可用于显示所有可用的测试,您可以运行bin/ctest,以空格分隔测试集的名称或数字作为选项。选项--help可用于显示所有选项。
现在,作为root用户:
make install
命令解释
sed … Modules/GNUInstallDirs.cmake: 此命令禁止使用cmake的应用程序尝试安装/usr/lib64/中的文件。
--system-libs: 这个开关强制构建系统链接到安装在系统上的Zlib、Bzip2、cURL、nghttp2、Expat和libarchive。
--no-system-jsoncpp: 此开关将从系统库列表中删除JSON-C++库。而是使用该库的捆绑版本。
--no-system-librhash: 该开关从所使用的系统库列表中删除librhash库。而是使用该库的捆绑版本。
--no-system-{curl,libarchive,libuv,nghttp2}: 如果没有安装一个推荐的依赖项,请使用列表中bootstrap的相应选项。将使用该依赖项的捆绑版本。
--qt-gui: 此开关允许为CMake构建基于Qt的GUI。
--parallel=: 此开关允许一次对多个作业执行CMake引导。
内容
安装程序: ccmake, cmake, cmake-gui (可选), cpack, 和 ctest
安装库: None
安装目录: /usr/share/cmake-3.25 和 /usr/share/doc/cmake-3.25.2
简要描述
ccmake 是一个基于curses的交互式前端cmake。
cmake 是makefile生成器。
cmake-gui (可选)是cmake的基于Qt的前端。
cpack 是CMake打包程序。
ctest 是用于cmake生成的构建树的测试实用程序。
13.5 Doxygen-1.9.6
简介Doxygen
Doxygen包包含了C++、C、Java、Objective-C、Corba IDL以及一定程度上的PHP、C#和D语言的文档系统。它对于从一组文档源文件生成HTML文档和/或离线参考手册非常有用。它还支持以RTF、PostScript、超链接PDF、压缩HTML和Unix手册页的形式生成输出。文档直接从源代码中提取,这使得文档与源代码保持一致变得更加容易。
您还可以配置Doxygen以从未归档的源文件中提取代码结构。这对于在大型源代码发行版中快速找到方法非常有用。与Graphviz一起使用,您还可以通过包括依赖关系图、继承图和协作图的方式可视化各种元素之间的关系,这些都是自动生成的。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://doxygen.nl/files/doxygen-1.9.6.src.tar.gz
-
下载 MD5 校验和: 5f7ab15c8298d013c5ef205a4febc7b4
-
下载大小: 5.1 MB
-
预计所需磁盘空间: 217 MB (有测试)
-
预计构建时间: 1.4 SBU (使用并行数=4; 有测试)
Doxygen依赖
必要
可选
Graphviz-7.1.0, ghostscript-10.00.0, libxml2-2.10.3 (测试所需), LLVM-15.0.7 (有clang), Python-2.7.18, Qt-5.15.8 (用于doxywizard), texlive-20220321 (或 install-tl-unx), xapian-1.4.22 (用于doxyindexer), 和 javacc
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/doxygen
安装Doxygen
运行以下命令安装Doxygen:
mkdir -v build &&
cd build &&
cmake -G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-Wno-dev .. &&
make
要测试结果,执行: make tests.
如果你想生成包文档,你必须安装Python, TeX Live (HTML文档)和Ghostscript (PDF文档),然后发出以下命令:
cmake -DDOC_INSTALL_DIR=share/doc/doxygen-1.9.6 -Dbuild_doc=ON .. &&
make docs
现在,作为root用户:
make install &&
install -vm644 ../doc/*.1 /usr/share/man/man1
如果您已经生成了包文档,那么手册页将自动安装,并且您不需要运行最后的install …命令。
命令解释
-Dbuild_wizard=ON: 如果安装了Qt5并且希望构建GUI前端,请使用此开关。
-Dbuild_search=ON: 如果安装了xapian并且希望构建外部搜索工具,请使用此开关 (doxysearch.cgi and doxyindexer).
-Duse_libclang=ON: 如果安装了带有clang的llvm,请使用此开关来添加对libclang解析的支持。
配置Doxygen
尽管如果希望使用扩展功能,还需要另外三个包,但Doxygen包不需要实际配置。如果您需要使用语言翻译功能,您必须安装Python-2.7.18。如果您需要公式来创建PDF文档,那么您必须安装texlive-20220321。如果您需要公式将PostScript文件转换为位图,那么您必须安装ghostscript-10.00.0。
内容
安装程序: doxygen 和 optionally, doxywizard, doxyindexer 和 doxysearch.cgi
安装库: None
安装目录: /usr/share/doc/doxygen-1.9.6
简要描述
doxygen 是一个基于命令行的实用程序,用于生成模板配置文件,然后从这些模板生成文档。使用doxygen –help获取命令行参数的解释。
doxywizard 是一个GUI前端配置和运行doxygen。
doxyindexer 生成一个搜索索引称为doxysearch.db从一个或多个搜索数据文件产生的doxygen。参见,例如https://javacc.github.io/javacc/。
doxysearch.cgi 是一个CGI程序来搜索由doxyindexer索引的数据。
13.6 GCC-12.2.0
简介GCC
GCC包包含GNU编译器集合。本页面描述了以下语言的编译器:C、C++、Fortran、Objective C、Objective C++和Go。由于C和C++都安装在LFS中,因此本页要么用于升级C和C++,要么用于安装额外的编译器。
注意
该集合中还提供其他语言,其中包括D和ADA。D和ADA在第一次安装时需要二进制引导,因此这里不介绍它们的安装。要安装它们,您可以从二进制包安装相应的编译器后,按照以下相同的行进行操作,在--enable-languages行中添加ada或d。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
当心
如果要从12.2.0之前的任何其他版本升级GCC,则必须小心编译第三方内核模块。您应该确保内核及其所有本机模块也使用用于构建第三方模块的GCC版本进行编译。这个问题不影响本地内核(和内核模块)更新,因为下面的说明是GCC的完整重新安装。如果您安装了现有的第三方模块,请确保使用更新版本的GCC重新编译它们。与往常一样,永远不要更新在LFS期间编译Glibc时使用的内核头文件。
一些系统头文件需要修复才能与GCC一起使用。这是在安装GCC期间完成的,“fixed”头文件安装在/usr/lib/gcc/<machine triplet>/<GCC version>/include-fixed中。如果GCC是在LFS阶段构建的,那么这是无害的。但是如果你在BLFS中重新安装GCC,一些BLFS包可能会被“fixed”。如果其中一个包后来被重新安装,“fixed”头文件不会更新,这可能导致版本不匹配。如果发生这种情况,“fixed”的头文件必须通过运行(作为root)来更新:/usr/libexec/gcc/x86_64-pc-linux-gnu/12.2.0/install-tools/mkheaders。机器三元组在32位系统上可能不同。
包信息
-
下载 (HTTP): https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.xz
-
下载 (FTP): ftp://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.xz
-
下载 MD5 校验和: 73bafd0af874439dcdb9fc063b6fb069
-
下载大小: 81 MB
-
预计所需磁盘空间: 10.5 GB (2.4 GB安装所有列出的语言;添加1.3 GB用于测试)
-
预计构建时间: 32 SBU (增加66个SBU用于测试;并行数=4)
GCC依赖
可选
GDB-13.1, Valgrind-3.20.0 (用于测试), 和 ISL (启用graphite优化)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gcc
安装GCC
重要
即使您只指定除C和C++以外的语言到./configure命令,安装过程将覆盖现有的GCC C和C++编译器和库。建议运行完整的测试套件。
在确信构建成功之前,不要继续执行make install命令。您可以将您的测试结果与https://gcc.gnu.org/ml/gcc-testresults/上的结果进行比较。 您可能还需要参考LFS书籍(../../../../lfs/view/11.3-systemd/chapter08/gcc.html)中第8章的GCC部分中的信息。
下面的说明有意执行一个“bootstrap”过程。启动是健壮性所必需的,强烈建议在升级编译器版本时使用。要禁用引导,请在下面的./configure选项中添加--disable-bootstrap。
运行以下命令安装GCC:
case $(uname -m) in
x86_64)
sed -i.orig '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
;;
esac
mkdir build &&
cd build &&
../configure \
--prefix=/usr \
--disable-multilib \
--with-system-zlib \
--enable-default-pie \
--enable-default-ssp \
--enable-languages=c,c++,fortran,go,objc,obj-c++ &&
make
如果您安装了额外的包,如Valgrind和GDB,测试套件的GCC部分将运行比LFS更多的测试。其中一些将报告FAIL,而其他将报告XPASS(在预期失败时通过)。从GCC -12.2.0开始,大约有60个FAIL发生在“guality”套件中,以及其他测试套件中的各种失败,其中15个已经出现在LFS的GCC测试中。如果构建了上述所有编译器,那么在超过482,000个测试中将会有大约80个意外失败。要运行测试,请执行:
ulimit -s 32768 &&
make -k check
测试时间很长,结果可能很难在日志中找到,特别是在使用make并行作业的情况下。您可以通过以下命令获得测试摘要:
../contrib/test_summary
现在,作为root用户:
make install &&
mkdir -pv /usr/share/gdb/auto-load/usr/lib &&
mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib &&
chown -v -R root:root \
/usr/lib/gcc/*linux-gnu/12.2.0/include{,-fixed}
一些包期望在/lib中找到C预处理器,或者可能以cc的名称引用C编译器。如果您遵循LFS指令,则不需要下面的符号链接,因为它们已经被创建了。如果你的系统上没有它们,以root用户的身份执行命令:
ln -v -sf ../usr/bin/cpp /lib &&
ln -v -sf gcc /usr/bin/cc &&
install -v -dm755 /usr/lib/bfd-plugins &&
ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/12.2.0/liblto_plugin.so /usr/lib/bfd-plugins/
命令解释
mkdir build; cd build: GCC文档建议在专用的构建目录中构建包。
--disable-multilib: 此参数确保为计算机的特定体系结构创建文件。
--with-system-zlib: 使用系统zlib而不是捆绑的zlib。zlib用于在LTO (Link Time Optimization)目标文件中压缩和解压缩GCC的中间语言。
--enable-default-pie: 使-fpie选项成为编译程序时的默认选项。再加上内核中启用的ASLR特性,这可以挫败一些基于已知内存布局的攻击。
--enable-default-ssp: 使-fstack-protector-strong选项成为编译程序时的默认选项。SSP是一种通过破坏参数堆栈来防止程序流改变的技术。
--enable-languages=c,c++,fortran,go,objc,obj-c++: 该命令标识要构建的语言。您可以修改此命令以删除不需要的语言。可以添加其他语言,包括ADA、D、BRIG(在启用的语言列表中添加brig)、HSAIL(异构系统架构中间语言)的二进制格式,以及JIT(在启用的语言列表中添加jit),JIT是一个库,可以链接到想要在运行时“动态”生成机器代码的解释器。它们还没有经过BLFS开发人员的测试。
ulimit -s 32768: 此命令可防止多个测试耗尽堆栈空间。
make -k check: 如果遇到任何错误,该命令将运行测试套件而不停止。
| ../contrib/test_summary: 该命令将生成测试套件结果的摘要。您可以将** | grep -A7 Summ**附加到命令后,以生成更精简的摘要版本。您可能还希望将输出重定向到一个文件,以便稍后查看和比较。 |
mv -v /usr/lib/*gdb.py …: 安装阶段将gdb使用的一些文件放在/usr/lib目录下。这将在执行ldconfig时生成虚假的错误消息。该命令将文件移动到另一个位置。
chown -v -R root:root /usr/lib/gcc/*linux-gnu/…: 如果包是由非root用户构建的,那么安装的include目录(及其内容)的所有权将是不正确的。该命令将所有权更改为root用户和组。
内容
一些程序和库的名称和描述没有在这里列出,但可以在LFS section for GCC中找到,因为它们是在构建LFS期间最初安装的。
安装程序: gccgo, gfortran, go, 和 gofmt, 硬链接到架构特定的名称
安装库: libgfortran.{so,a}, libgo.{so,a}, libgobegin.a, libgolibbegin.a, libobjc.{so,a}, 以及许多其他运行时库和可执行文件
安装目录: /usr/lib/go
简要描述
gccgo 是一个基于GCC的Go语言编译器。
go 是一个管理Go源代码的工具。
gofmt 是格式化Go源代码的工具。
gfortran 是Fortran语言的基于GCC的编译器。
13.7 GC-8.2.2
简介GC
GC包包含Boehm-Demers-Weiser保守垃圾收集器,它可以用作C malloc函数或c++ new操作符的垃圾收集替代品。它允许你基本上像平常一样分配内存,而不需要显式地释放不再有用的内存。当收集器确定无法再以其他方式访问内存时,它会自动回收内存。收集器也被许多编程语言实现所使用,这些编程语言要么使用C作为中间代码,要么希望简化与C库的互操作,要么只是喜欢简单的收集器接口。或者,垃圾收集器可以用作C或C++程序的泄漏检测器,尽管这不是它的主要目标。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/ivmai/bdwgc/releases/download/v8.2.2/gc-8.2.2.tar.gz
-
下载 MD5 校验和: 787177b1b15aa19ffa0d61d8f508b69d
-
下载大小: 1.1 MB
-
预计所需磁盘空间: 11 MB (有测试)
-
预计构建时间: 0.3 SBU (有测试)
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gc
安装GC
运行以下命令安装GC:
./configure --prefix=/usr \
--enable-cplusplus \
--disable-static \
--docdir=/usr/share/doc/gc-8.2.2 &&
make
要测试结果,执行: make check.
现在,作为root用户:
make install &&
install -v -m644 doc/gc.man /usr/share/man/man3/gc_malloc.3
命令解释
--docdir=/usr/share/doc/gc-8.2.2: 使用此选项后,包将在有版本的目录中安装文档。
--enable-cplusplus: 此参数允许在标准C库的基础上构建和安装C++库。
--disable-static: 此开关防止安装库的静态版本。
内容
安装程序: None
安装库: libcord.so, libgc.so, libgccpp.so, 和 libgctba.so
安装目录: /usr/include/gc 和 /usr/share/doc/gc-8.2.2
简要描述
libcord.so 包含一个基于树的字符串库。
libgc.so 包含一个到保守垃圾收集器的C接口,主要用于替换C的malloc函数。
libgccpp.so 包含一个到保守垃圾收集器的C++接口。
libgctba.so 包含一个抛出错误分配的C++接口。
13.8 GDB-13.1
简介GDB
GDB, GNU项目调试器,允许您查看另一个程序在执行时“inside”发生了什么——或者另一个程序在崩溃时正在做什么。请注意,GDB在跟踪使用调试符号构建且未剥离的程序和库时最有效。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://ftp.gnu.org/gnu/gdb/gdb-13.1.tar.xz
-
下载 MD5 校验和: 4aaad768ff2585464173c091947287ec
-
下载大小: 23 MB
-
预计所需磁盘空间: 1.1 GB (为文档添加406 MB;添加373 MB用于测试)
-
预计构建时间: 2.1 SBU (使用并行数=4; 为文档添加0.5 SBU; 添加20个SBU用于测试)
GDB依赖
推荐运行时依赖
six-1.16.0 (Python 3模块,需要在运行时使用来自各种LFS/BLFS包的GDB脚本,并在LFS中安装Python 3)
可选
Doxygen-1.9.6, GCC-12.2.0 (Ada、gfortran和go用于测试), Guile-3.0.9, Python-2.7.18, rustc-1.67.1 (用于某些测试), Valgrind-3.20.0, 和 SystemTap (运行时,用于测试)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gdb
安装GDB
运行以下命令安装GDB:
mkdir build &&
cd build &&
../configure --prefix=/usr \
--with-system-readline \
--with-python=/usr/bin/python3 &&
make
可选地,使用Doxygen-1.9.6构建API文档,运行:
make -C gdb/doc doxy
要测试结果,执行:
pushd gdb/testsuite &&
make site.exp &&
echo "set gdb_test_timeout 120" >> site.exp &&
runtest
popd
参见gdb/testsuite/README和TestingGDB。测试套件存在许多问题:
-
如果重新运行测试,需要使用干净的目录。因此,请在测试之前复制已编译的源代码目录,以备需要再次运行测试时使用。
-
结果取决于已安装的编译器。
-
测试套件的测试运行在超过106000个测试中有33个意外失败。
-
在某些系统上,如果在SSH上运行,gdb.tui测试套件将失败。
-
在一些基于AMD的系统上,由于CPU上线程实现的差异,可能会有200多个额外的测试失败。
现在,作为root用户:
make -C gdb install
如果您已经构建了API文档,那么它现在位于gdb/doc/doxy中。你可以安装它(作为root用户):
install -d /usr/share/doc/gdb-13.1 &&
rm -rf gdb/doc/doxy/xml &&
cp -Rv gdb/doc/doxy /usr/share/doc/gdb-13.1
命令解释
--with-system-readline: 此开关强制GDB使用安装在LFS中的Readline副本。
--with-python=/usr/bin/python3: 此开关强制GDB使用Python 3。如果您已经安装了Python-2.7.18并希望使用它而不是Python 3,请删除此开关。
内容
安装程序: gcore, gdb 和 gdbserver
安装库: None
安装目录: /usr/{include,share}/gdb 和 /usr/share/doc/gdb-13.1
简要描述
gcore 生成正在运行的程序的核心转储。
gdb 是GNU调试器。
gdbserver 是GNU调试器的远程服务器(它允许在不同的机器上调试程序)。
13.9 Git-2.39.2
简介Git
Git是一个免费的开源分布式版本控制系统,用于快速高效地处理从小型到超大型项目的所有内容。每个Git克隆都是一个完整的存储库,具有完整的历史记录和完整的版本跟踪功能,不依赖于网络访问或中央服务器。分支和合并既快又容易。Git用于文件的版本控制,类似于Mercurial-6.3.2、Bazaar、Subversion-1.14.2, CVS、Perforce和Team Foundation Server等工具。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.kernel.org/pub/software/scm/git/git-2.39.2.tar.xz
-
下载 MD5 校验和: 32d34dc65ae0955cc68c7152b5ca8b13
-
下载大小: 6.8 MB
-
预计所需磁盘空间: 392 MB (对于下载的文档,添加18 MB的构建文档)
-
预计构建时间: 0.3 SBU (与并行数=4;为构建文档添加0.4 SBU,为测试添加1.6 SBU(取决于磁盘速度),并行数=4)
额外下载
-
https://www.kernel.org/pub/software/scm/git/git-manpages-2.39.2.tar.xz (如果您已经安装了asciidoc-10.2.0,xmlto-0.0.28,并且希望重新构建它们,则不需要)
-
https://www.kernel.org/pub/software/scm/git/git-htmldocs-2.39.2.tar.xz 和其他文档(如果您已经安装了asciidoc-10.2.0并希望重新构建文档,则不需要).
Git依赖
推荐
cURL-7.88.1 (需要通过http, https, ftp或ftps使用Git)
可选
GnuPG-2.4.0 (运行时,可用于签名Git提交或标签,或验证它们的签名), OpenSSH-9.2p1 (运行时,需要通过ssh使用Git), pcre2-10.42 (或已弃用的 PCRE-8.45), 在这两种情况下,配置--enable-jit,Subversion-1.14.2 与Perl绑定 (运行时, 用于 git svn), Tk-8.6.13 (gitk是一个简单的Git存储库查看器,它在运行时使用Tk), Valgrind-3.20.0, Authen::SASL 和 MIME::Base64 (两个运行时,用于 git send-email), 和 IO-Socket-SSL-2.081 (运行时,为git send-email连接到SMTP服务器与SSL加密)
可选 (创建手册页、HTML文档和其他文档)
xmlto-0.0.28 和 asciidoc-10.2.0 , 还有 dblatex (下载PDF版本的使用手册), 和 docbook2x 以创建信息页面
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/git
安装Git
运行以下命令安装Git:
./configure --prefix=/usr \
--with-gitconfig=/etc/gitconfig \
--with-python=python3 &&
make
您可以构建手册页和/或html文档,或者使用下载的文档。如果您选择构建它们,请使用下面两个指令。
如果你已经安装了asciidoc-10.2.0,你可以创建html版本的手册页和其他文档:
make html
如果你已经安装了asciidoc-10.2.0 和 xmlto-0.0.28,你可以创建手册页:
make man
测试套件可以在并行模式下运行。要运行测试套件,执行命令:make test。如果以普通用户身份运行,则在最终摘要中应该报告0个测试失败。
现在,作为root用户:
make perllibdir=/usr/lib/perl5/5.36/site_perl install
如果您创建了手册页和/或html文档
以root用户安装手册页:
make install-man
以root用户安装html文档:
make htmldir=/usr/share/doc/git-2.39.2 install-html
如果您下载了手册页和/或html文档
如果你下载了手册页,以root用户解压缩它们:
tar -xf ../git-manpages-2.39.2.tar.xz \
-C /usr/share/man --no-same-owner --no-overwrite-dir
如果你下载了html文档,以root用户解压缩它们:
mkdir -vp /usr/share/doc/git-2.39.2 &&
tar -xf ../git-htmldocs-2.39.2.tar.xz \
-C /usr/share/doc/git-2.39.2 --no-same-owner --no-overwrite-dir &&
find /usr/share/doc/git-2.39.2 -type d -exec chmod 755 {} \; &&
find /usr/share/doc/git-2.39.2 -type f -exec chmod 644 {} \;
重新组织html-docs中的文本和html(两种方法)
对于这两种方法,html-docs都包含大量纯文本文件。以root用户重新组织文件:
mkdir -vp /usr/share/doc/git-2.39.2/man-pages/{html,text} &&
mv /usr/share/doc/git-2.39.2/{git*.txt,man-pages/text} &&
mv /usr/share/doc/git-2.39.2/{git*.,index.,man-pages/}html &&
mkdir -vp /usr/share/doc/git-2.39.2/technical/{html,text} &&
mv /usr/share/doc/git-2.39.2/technical/{*.txt,text} &&
mv /usr/share/doc/git-2.39.2/technical/{*.,}html &&
mkdir -vp /usr/share/doc/git-2.39.2/howto/{html,text} &&
mv /usr/share/doc/git-2.39.2/howto/{*.txt,text} &&
mv /usr/share/doc/git-2.39.2/howto/{*.,}html &&
sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.39.2/howto-index.html &&
sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.39.2/howto-index.txt
命令解释
--with-gitconfig=/etc/gitconfig: 这将/etc/gitconfig设置为存储默认的、系统范围的Git设置的文件。
--with-python=python3: 使用此开关来使用Python 3,而不是EOL’ed Python 2。Python用于连接Perforce存储库的git p4接口,也用于一些测试。
--with-libpcre2: 如果安装了PCRE2,并且在构建时启用了非默认JIT,则使用此开关。
--with-libpcre1: 作为PCRE2的替代方案,如果安装了已弃用的PCRE,并且在构建时启用了非默认JIT,则使用此开关。
tar -xf ../git-manpages-2.39.2.tar.gz -C /usr/share/man –no-same-owner: 这将解压git-manpages-2.39.2.tar.gz。-C选项使tar在开始解压缩文档之前将目录更改为/usr/share/man。--no-same-owner选项阻止tar保存文件的用户和组详细信息。这很有用,因为该用户或组可能不存在于您的系统中;这可能(潜在地)构成安全风险。
mv /usr/share/doc/git-2.39.2 …: 这些命令将一些文件移动到子文件夹中,以便更容易地对文档进行排序并找到您要查找的文件。
find … chmod …: 这些命令纠正附带文档tar文件中的权限。
配置Git
配置文件
~/.gitconfig 和 /etc/gitconfig
内容
安装程序: git, git-receive-pack, git-upload-archive, and git-upload-pack (彼此硬链接), git-cvsserver, git-shell, gitk, 和 scalar
安装库: None
安装目录: /usr/libexec/git-core, 和 /usr/share/{doc/git-2.39.2,git-core,git-gui,gitk,gitweb}
简要描述
git 是stupid内容追踪器。
git-cvsserver 是Git的CVS服务器模拟器。
gitk 是一个图形化的Git存储库浏览器(需要Tk-8.6.13)。
git-receive-pack 由git send-pack调用,并使用从远程端提供的信息更新存储库。
git-shell 是SSH帐户的登录shell,用于提供受限制的Git访问。
git-upload-archive 由git archive –remote调用,并通过git协议将生成的存档发送到另一端。
git-upload-pack 由git fetch-pack调用,它发现对方丢失了什么对象,并在打包后发送它们。
scalar 是一个存储库管理工具,它优化了Git,以便在大型存储库中使用。
13.10 Running a Git Server
简介
本节将描述如何设置、管理和保护git服务器。Git有很多可用的选项。有关更详细的文档,请参阅https://git-scm.com/book/en/v2。
Server依赖
必要
设置Git服务器
下面的说明将安装一个git服务器。它将被设置为使用OpenSSH作为安全远程访问方法。
服务器的配置包括以下步骤:
1. 设置用户、组和权限
在配置的初始部分,您需要使用“root”用户。创建git用户和组,并使用以下命令设置不可用的密码哈希:
groupadd -g 58 git &&
useradd -c "git Owner" -d /home/git -m -g git -s /usr/bin/git-shell -u 58 git &&
sed -i '/^git:/s/^git:[^:]:/git:NP:/' /etc/shadow
输入一个不可用的密码散列(用NP代替!)可以解锁帐户,但不能用于通过密码认证登录。这是sshd正常工作所必需的。接下来,在git用户的主目录中创建一些文件和目录,允许使用ssh密钥访问git存储库。
install -o git -g git -dm0700 /home/git/.ssh &&
install -o git -g git -m0600 /dev/null /home/git/.ssh/authorized_keys
对于任何应该访问存储库的开发人员,将他/她的公共ssh密钥添加到/home/git/.ssh/authorized_keys。首先,添加一些选项以防止用户使用git连接将端口转发到git服务器可能到达的其他机器。
echo -n "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty " >> /home/git/.ssh/authorized_keys &&
cat <user-ssh-key> >> /home/git/.ssh/authorized_keys
通过修改git配置来设置新存储库的初始分支的默认名称也很有用。作为root用户,运行:
git config --system init.defaultBranch trunk
最后将/usr/bin/git-shell条目添加到/etc/shells配置文件中。这个shell已经在git用户配置文件中设置好了,用来确保只有git相关的操作可以被执行:
echo "/usr/bin/git-shell" >> /etc/shells
2. 创建git存储库
存储库可以位于文件系统上的任何位置。git用户对该位置具有读/写权限是很重要的。我们使用/srv/git作为基目录。用以下命令创建一个新的git存储库(以root用户):
注意
在下面的所有说明中,我们使用project1作为示例存储库名称。您应该将存储库命名为特定项目的简短描述性名称。
install -o git -g git -m755 -d /srv/git/project1.git &&
cd /srv/git/project1.git &&
git init --bare &&
chown -R git:git .
3. 从客户机系统填充存储库
注意
本节和下一节中的所有指令都应该在用户系统上执行,而不是在服务器系统上。
既然已经创建了存储库,开发人员就可以使用它将一些文件放入其中。一旦用户的ssh密钥被导入到git的authorized_keys文件中,用户就可以与存储库交互了。
应该在开发人员的系统上提供最小配置,指定其用户名和电子邮件地址。在客户端创建这个最小的配置文件:
cat > ~/.gitconfig <<EOF
[user]
name = <users-name>
email = <users-email-address>
EOF
在开发人员的机器上,设置一些要推送到存储库的文件作为初始内容:
注意
下面使用的gitserver术语应该是git服务器的主机名(或ip地址)。
mkdir myproject
cd myproject
git init --initial-branch=trunk
git remote add origin git@gitserver:/srv/git/project1.git
cat >README <<EOF
This is the README file
EOF
git add README
git commit -m 'Initial creation of README'
git push --set-upstream origin trunk
初始内容现在被推送到服务器,可供其他用户使用。在当前机器上,现在不再需要参数--set-upstream origin trunk,因为本地存储库现在连接到远程存储库。后续的推送可以执行为
git push
其他开发人员现在可以克隆存储库并对内容进行修改(只要他们的ssh密钥已经安装):
git clone git@gitserver:/srv/git/project1.git
cd project1
vi README
git commit -am 'Fix for README file'
git push
注意
这是一个基于OpenSSH访问的非常基本的服务器设置。所有开发人员都使用git用户对存储库执行操作,并且用户提交的更改可以通过更改集中记录的本地用户名(参见~/.gitconfig)来区分。
访问权限受到添加到git authorized_keys文件中的公钥的限制,并且没有选项可供公众导出/克隆存储库。要启用此功能,请继续执行步骤4,设置git服务器以进行公共只读访问。
在用于克隆项目的URL中,必须指定绝对路径(这里是/srv/git/project1.git),因为存储库不在git的主目录中,而是在/srv/git中。为了避免暴露服务器安装的结构,可以在git的主目录中为每个项目添加一个符号链接,如下所示:
ln -svf /srv/git/project1.git /home/git/
现在,可以使用以下命令克隆存储库
git clone git@gitserver:project1.git
4. 配置服务器
上面描述的设置使经过身份验证的用户可以使用存储库(通过提供ssh公钥文件)。还有一种简单的方法可以将存储库发布给未经身份验证的用户——当然没有写访问权限。
在大多数情况下,对开发站点来说,通过ssh访问(对于经过身份验证的用户)和通过守护进程向未经过身份验证的用户导出存储库的组合就足够了。
注意
默认情况下,守护进程可以在端口9418上访问。确保您的防火墙设置允许访问该端口。
要在引导时启动服务器,请从blfs-systemd-units-20220720包中安装git-daemon.service单元:
make install-git-daemon
为了允许git导出存储库,在服务器上的每个存储库目录中都需要一个名为git-daemon-export-ok的文件。该文件不需要内容,只有它的存在才启用,它的不存在将禁用该存储库的导出。
touch /srv/git/project1.git/git-daemon-export-ok
与git-daemon.service单元一起安装的还有一个名为/etc/default/git-daemon的配置文件。查看此配置文件以满足您的需求。
在配置文件中只有三个选项需要设置:
-
GIT_BASE_DIR=
指定git存储库的位置。访问守护进程时使用的相对路径将相对于此目录进行转换。
-
DFT_REPO_DIR=
该目录被添加到允许目录白名单中。这个变量可以保存多个目录名,但通常设置为
GIT_BASE_DIR。 -
GIT_DAEMON_OPTS=
如果需要git daemon命令的特殊选项,则必须在此设置中指定它们。一个例子可能是调整守护进程侦听的端口号。在本例中,向该变量添加
--port=<port number>。有关可以设置哪些选项的更多信息,请查看git daemon –help的输出。
启动守护进程后,未经身份验证的用户可以使用以下命令克隆导出的存储库:
git clone git://gitserver/project1.git
由于基目录默认为/srv/git(或在配置中设置自定义值),git会解释相对于基目录的传入路径(/project1.git),因此会服务/srv/git/project1.git中的存储库。
13.11 Guile-3.0.9
简介Guile
Guile包包含GNU工程的扩展语言库。Guile还包含一个独立的Scheme解释器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 MD5 校验和: 258983e0156c2bc66539dcbcb96f2bd2
-
下载大小: 5.5 MB
-
预计所需磁盘空间: 221 MB (添加4 MB用于测试)
-
预计构建时间: 5.9 SBU (使用并行数=4; 添加0.3 SBU用于测试)
Guile依赖
必要
可选
Emacs-28.2 和 GDB-13.1 (仅运行时依赖).
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/guile
安装Guile
运行以下命令安装Guile:
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/guile-3.0.9 &&
make &&
make html &&
makeinfo --plaintext -o doc/r5rs/r5rs.txt doc/r5rs/r5rs.texi &&
makeinfo --plaintext -o doc/ref/guile.txt doc/ref/guile.texi
要测试结果,执行: ./check-guile. 在i686系统上,由于轻微的浮点舍入错误,在numbers.test测试套件中会有多达10个测试失败。
现在,作为root用户:
make install &&
make install-html &&
mkdir -p /usr/share/gdb/auto-load/usr/lib &&
mv /usr/lib/libguile-*-gdb.scm /usr/share/gdb/auto-load/usr/lib &&
mv /usr/share/doc/guile-3.0.9/{guile.html,ref} &&
mv /usr/share/doc/guile-3.0.9/r5rs{.html,} &&
find examples -name "Makefile*" -delete &&
cp -vR examples /usr/share/doc/guile-3.0.9 &&
for DIRNAME in r5rs ref; do
install -v -m644 doc/${DIRNAME}/*.txt \
/usr/share/doc/guile-3.0.9/${DIRNAME}
done &&
unset DIRNAME
命令解释
--disable-static: 此开关防止安装库的静态版本。
内容
安装程序: guild, guile, guile-config, guile-snarf 和 guile-tools
安装库: libguile-3.0.so 和 guile-readline.so
安装目录: /usr/include/guile, /usr/lib/guile, /usr/share/doc/guile-3.0.9 和 /usr/share/guile
简要描述
guile 是Guile的独立Scheme解释器。
guile-config 是一个Guile脚本,它提供了将您的程序链接到Guile库所需的信息,与PkgConfig的功能非常相似。
guile-snarf 是一个脚本,用于解析C代码中Scheme可见C函数的声明。
guild 是与guile一起安装的包装程序,它知道特定模块的安装位置并调用它,将其参数传递给程序。
guile-tools 是guild的符号链接。
13.12 Librep-0.92.7
简介Librep
librep包包含一个Lisp系统。这对于编写脚本或使用Lisp解释器作为扩展语言的应用程序非常有用。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://download.tuxfamily.org/librep/librep_0.92.7.tar.xz
-
下载 MD5 校验和: 036195b371006848e29ed6f50ddc8475
-
下载大小: 840 KB
-
预计所需磁盘空间: 10 MB
-
预计构建时间: 0.3 SBU
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/librep
安装Librep
运行以下命令安装librep:
./configure --prefix=/usr --disable-static &&
make
这个包没有附带测试套件。
现在,作为root用户:
sed -i '5043,5044 d' libtool &&
make install
内容
安装程序: rep, rep-remote, rep-xgettext, 和 repdoc
安装库: librep.so 以及安装在/usr/lib/rep层次结构中的许多模块
安装目录: /usr/lib/rep, /usr/share/emacs/site-lisp, 和 /usr/share/rep
简要描述
rep 是Lisp解释器。
librep.so 包含Lisp解释器所需的函数。
13.13 LLVM-15.0.7
简介LLVM
LLVM包包含一组模块化和可重用的编译器和工具链技术。低级虚拟机(LLVM)核心库提供了一个现代的源代码和目标无关的优化器,以及对许多流行的cpu(以及一些不太常见的cpu)的代码生成支持。这些库是围绕一个被称为LLVM中间表示(“LLVM IR”)的指定良好的代码表示构建的。
Clang为LLVM提供了新的C, C++, Objective C和Objective C++前端,并且是一些桌面包(如firefox)和rust(如果使用系统LLVM构建)所必需的。
编译器RT包为使用Clang和LLVM的开发人员提供了运行时sanitizer和分析库。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/llvm-15.0.7.src.tar.xz
-
下载 MD5 校验和: c77db4c71e1eb267358204dffe2c6e10
-
下载大小: 50 MB
-
预计所需磁盘空间: 2.7 GB (安装848 MB;添加18.3 GB用于测试,308 MB用于文档)
-
预计构建时间: 24 SBU (使用并行数=4; 添加22个SBU用于测试)
额外下载
LLVM的Cmake模块
-
下载: https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-cmake-15.0.7.src.tar.xz
-
下载 MD5 校验和: c3647d253f67ce255e1aba014e528f5b
-
下载大小: 6.8 KB
推荐下载
Clang
-
下载: https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/clang-15.0.7.src.tar.xz
-
下载 MD5 校验和: a6d0141e50b48f5e60c682277dac83b4
-
下载大小: 18 MB
-
补丁在clang中默认启用SSP: https://www.linuxfromscratch.org/patches/blfs/11.3/clang-15.0.7-enable_default_ssp-1.patch
可选下载
Compiler RT
-
下载: https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/compiler-rt-15.0.7.src.tar.xz
-
下载 MD5 校验和: 12e6777354f0121cbe73ef13342a9302
-
下载大小: 2.3 MB
LLVM依赖
必要
可选
Doxygen-1.9.6, git-2.39.2, Graphviz-7.1.0, libxml2-2.10.3, Pygments-2.14.0, rsync-3.2.7 (用于测试), recommonmark-0.7.1 (用于构建文档), texlive-20220321 (或 install-tl-unx), Valgrind-3.20.0, PyYAML-6.0, Zip-3.0, OCaml, psutil (用于测试), 和 Z3
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/llvm
安装LLVM
从15.0.0版本开始,需要额外的tarball llvm-cmake-15.0.7.src.tar.xz。上游期望在与llvm-15.0.7.src.tar.xz tarball相同的级别上提取它,并将提取的目录重命名为cmake。提取它并修改构建系统,以避免在llvm-15.0.7.src层次结构之外创建目录:
tar -xf ../llvm-cmake-15.0.7.src.tar.xz &&
sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@cmake-15.0.7.src@' \
-i CMakeLists.txt
运行以下命令将clang安装到源代码树中:
tar -xf ../clang-15.0.7.src.tar.xz -C tools &&
mv tools/clang-15.0.7.src tools/clang
如果你已经下载了compiler-rt,运行以下命令将它安装到源代码树中:
tar -xf ../compiler-rt-15.0.7.src.tar.xz -C projects &&
mv projects/compiler-rt-15.0.7.src projects/compiler-rt
此包中有许多Python脚本使用/usr/bin/env python来访问LFS上的系统PythonPython-3.11.2。使用以下命令修复这些脚本:
grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'
如果您已经下载了clang,请应用以下补丁在编译后的程序中默认启用SSP。
patch -Np2 -d tools/clang <../clang-15.0.7-enable_default_ssp-1.patch
运行以下命令安装LLVM:
mkdir -v build &&
cd build &&
CC=gcc CXX=g++ \
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DLLVM_ENABLE_FFI=ON \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF" \
-DLLVM_BINUTILS_INCDIR=/usr/include \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DCLANG_DEFAULT_PIE_ON_LINUX=ON \
-Wno-dev -G Ninja .. &&
ninja
如果你已经安装了recommonmark-0.7.1及其依赖,你可以使用以下命令生成html文档和手册页:
cmake -DLLVM_BUILD_DOCS=ON \
-DLLVM_ENABLE_SPHINX=ON \
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
-Wno-dev -G Ninja .. &&
ninja docs-llvm-html docs-llvm-man
clang文档也可以构建:
ninja docs-clang-html docs-clang-man
要测试结果,执行: ninja check-all. 测试使用所有可用的内核构建,但运行时使用在线处理器的数量。(不同的是,可用的内核可以使用taskset来限制,但是使它们脱机需要由root用户将0回显到/sys/devices/system/cpu/cpu<N>/online,并且使它们暂时不能被机器上的所有作业使用。)请注意,在64,700多个测试中,已知有四个测试失败: DataFlowSanitizer-x86_64 :: custom.cpp, DataFlowSanitizer-x86_64 :: origin_unaligned_memtrans.c, DataFlowSanitizer-x86_64 :: release_shadow_space.c, LLVM :: tools/llvm-libtool-darwin/L-and-l.test,
现在,作为root用户:
ninja install &&
cp bin/FileCheck /usr/bin
如果您已经构建了llvm文档,那么它已经通过上面的命令安装,但是需要移动它。作为root用户:
install -v -d -m755 /usr/share/doc/llvm-15.0.7 &&
mv -v /usr/share/doc/LLVM/llvm /usr/share/doc/llvm-15.0.7 &&
rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM
如果您已经构建了clang文档,那么它已经安装,但也需要移动。再次以root用户:
install -v -d -m755 /usr/share/doc/llvm-15.0.7 &&
mv -v /usr/share/doc/LLVM/clang /usr/share/doc/llvm-15.0.7 &&
rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM
命令解释
-DLLVM_ENABLE_FFI=ON: 该开关允许LLVM使用libffi。
-DLLVM_BUILD_LLVM_DYLIB=ON: 此开关将库构建为静态库,并将所有库链接到一个唯一的共享库。这是构建共享库的推荐方法。
-DCMAKE_BUILD_TYPE=Release: 这个开关使编译器优化,以加快代码和减少其大小。它还禁用了一些在生产系统中不需要的编译检查。
-DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF": 这个开关可以为与主机相同的目标进行构建,也可以为Mesa r600和radeonsi驱动程序使用的r600 AMD GPU进行构建。构建v4l-utils-1.22.1需要BPF目标。默认值是所有目标。可以使用分号分隔的列表。有效的目标是:主机, X86, Sparc, PowerPC, ARM, AArch64, Mips, Hexagon, Xcore, M68K, MSP430, NVPTX, SystemZ, AMDGPU, BPF, CppBackend或所有。
-DLLVM_LINK_LLVM_DYLIB=ON: 与-DLLVM_BUILD_LLVM_DYLIB=ON一起使用,此开关允许将工具链接到共享库而不是静态库。它稍微减少了它们的大小,并确保llvm-config将正确地使用libLLVM-15.so。
-DLLVM_ENABLE_RTTI=ON: 该开关用于构建具有运行时类型信息的LLVM。这是构建Mesa-22.3.5所必需的。
-DLLVM_BINUTILS_INCDIR=/usr/include: 该开关用于告诉构建系统安装在LFS中的binutils头文件的位置。这允许构建LLVMgold.so,这是用clang和链接时间优化(LTO)构建程序所需要的。
-DLLVM_INCLUDE_BENCHMARKS=OFF: 用于禁用为LLVM基准测试生成构建目标。此选项需要当前不可用的附加代码。
-DCLANG_DEFAULT_PIE_ON_LINUX=ON: 使-fpie选项成为编译程序时的默认选项。再加上内核中启用的ASLR特性,这可以挫败一些基于已知内存布局的攻击。
-DBUILD_SHARED_LIBS=ON: 如果用来代替 -DLLVM_BUILD_LLVM_DYLIB=ON 和 -DLLVM_LINK_LLVM_DYLIB=ON, 将所有LLVM库(大约60个)构建为共享库,而不是静态库。
-DLLVM_ENABLE_DOXYGEN: 启用生成可浏览的HTML文档,如果你已经安装了Doxygen-1.9.6。你应该运行make doxygen-html,然后手动安装生成的文档。
内容
安装程序: analyze-build, bugpoint, c-index-test, clang, clang++ (符号链接到clang-15), clang-15, clang-check, clang-cl, clang-cpp (最后两个符号链接到clang), clang-extdef-mapping, clang-format, clang-linker-wrapper, clang-nvlink-wrapper, clang-offload-bundler, clang-offload-packager, clang-offload-wrapper, clang-refactor, clang-rename, clang-repl, clang-scan-deps, diagtool, dsymutil, FileCheck, git-clang-format, hmaptool, intercept-build, llc, lli, llvm-addr2line (符号链接到llvm-symbolizer), llvm-ar, llvm-as, llvm-bcanalyzer, llvm-bitcode-strip (符号链接到llvm-objcopy), llvm-cat, llvm-cfi-verify, llvm-config, llvm-cov, llvm-c-test, llvm-cvtres, llvm-cxxdump, llvm-cxxfilt, llvm-cxxmap, llvm-debuginfod, llvm-debuginfod-find, llvm-diff, llvm-dis, llvm-dlltool (符号链接到llvm-ar), llvm-dwarfdump, llvm-dwarfutil, llvm-dwp, llvm-exegesis, llvm-extract, llvm-gsymutil, llvm-ifs, llvm-install-name-tool (符号链接到llvm-objcopy), llvm-jitlink, llvm-lib (符号链接到llvm-ar), llvm-libtool-darwin, llvm-link, llvm-lipo, llvm-lto, llvm-lto2, llvm-mc, llvm-mca, llvm-ml, llvm-modextract, llvm-mt, llvm-nm, llvm-objcopy, llvm-objdump, llvm-opt-report, llvm-otool (符号链接到llv-objdump), llvm-pdbutil, llvm-profdata, llvm-profgen, llvm-ranlib (符号链接到llvm-ar), llvm-rc, llvm-readelf (符号链接到llvm-readobj), llvm-readobj, llvm-reduce, llvm-remark-size-diff, llvm-rtdyld, llvm-sim, llvm-size, llvm-split, llvm-stress, llvm-strings, llvm-strip (符号链接到llvm-objcopy), llvm-symbolizer, llvm-tapi-diff, llvm-tblgen, llvm-tli-checker, llvm-undname, llvm-windres (符号链接到llvm-rc), llvm-xray, opt, sancov, sanstats, scan-build, scan-build-py, scan-view, split-file, 和 verify-uselistorder
安装库: libLLVM.so, libLLVM.a (95个库), libLTO.so, libRemarks.so, libclang.so, libclang-cpp.so, libclang.a (41个库), 和 LLVMgold.so
安装目录: /usr/include/{clang,clang-c,llvm,llvm-c}, /usr/lib/{clang,cmake/{clang,llvm},libear,libscanbuild}, /usr/share/{clang,opt-viewer,scan-build,scan-view}, 和 /usr/share/doc/llvm-15.0.7
简要描述
analyze-build 是一个静态分析工具。
bugpoint 是自动测试用例减少工具。
c-index-test 用于测试libclang API并演示其用法。
clang 是Clang C、C++和Objective-C编译器。
clang-check 是执行静态代码分析和显示抽象语法树(AST)的工具。
clang-extdef-mapping 是收集源文件中外部定义的USR名称和位置的工具。
clang-format 是格式化C/C++/Java/JavaScript/Objective-C/Protobuf代码的工具。
clang-linker-wrapper 是宿主链接器上的包装器实用程序。
clang-nvlink-wrapper 是nvlink程序上的包装工具。
clang-offload-bundler 是捆绑/解捆绑与公共源文件相关联的OpenMP卸载文件的工具。
clang-offload-packager 是一个工具,可以将多个目标文件捆绑到一个二进制文件中,然后可以使用该二进制文件创建包含卸载代码的fatbinary。
clang-offload-wrapper 是为卸载目标二进制文件创建包装器位码的工具。
clang-refactor 是一个基于Clang的C、C++和Objective-C重构工具。
clang-rename 是在C/C++程序中重命名符号的工具。
clang-scan-deps 是扫描源文件中依赖项的工具。
diagtool 是用于在clang中处理诊断的工具组合。
FileCheck 是一种工具,它读取两个文件(一个来自标准输入,另一个在命令行中指定),并使用一个来验证另一个。
dsymutil 是一个用于操作存档的DWARF调试符号文件的工具,与Darwin命令dsymutil兼容。
git-clang-format 在git生成的补丁上运行clang-format (需要 git-2.39.2).
hmaptool 是一个用于转储和构造头映射的Python工具。
llc 是LLVM静态编译器。
lli 用于直接从LLVM位码执行程序。
llvm-addr2line 是用于将地址转换为文件名和行号的工具。
llvm-ar 是LLVM归档器。
llvm-as 是LLVM汇编器。
llvm-bcanalyzer 是LLVM位码分析器。
llvm-bitcode-strip 从对象中剥离LLVM位码。
llvm-cat 是连接LLVM模块的工具。
llvm-cfi-verify 识别控制流完整性是否保护所提供的目标文件、DSO或二进制文件中的所有间接控制流指令。
llvm-config 打印LLVM编译选项。
llvm-cov 用于发出覆盖信息。
llvm-c-test 是字节码反汇编器。
llvm-cvtres 是将Microsoft资源文件转换为COFF的工具。
llvm-cxxdump 被用作C++ ABI数据转储器。
llvm-cxxfilt 用于在llvm代码中替换C++符号。
llvm-cxxmap 用于重新映射C++中混乱的符号。
llvm-debuginfod 是一种通过HTTP API提供调试信息的服务,用于分析剥离的二进制文件。
llvm-debuginfod-find 是llvm-debuginfod守护进程的接口,用于查找debuginfod工件。
llvm-diff 为LLVM结构’diff‘。
llvm-dis 是LLVM反汇编器。
llvm-dwarfdump 在对象文件中打印DWARF部分的内容。
llvm-dwarfutil 是复制和操作调试信息的工具。
llvm-dwp 合并分裂的DWARF文件。
llvm-elfabi 用于读取有关ELF二进制文件ABI的信息。
llvm-exegesis 是一个基准测试工具,它使用LLVM中可用的信息来测量主机指令特征,如延迟或端口分解。
llvm-extract 用于从LLVM模块中提取函数。
llvm-gsymutil 用于处理GSYM符号格式文件,该文件将内存地址转换为函数名和源文件行。这些文件比DWARF或Breakpad文件小。
llvm-ifs 用于将接口存根与目标文件合并。
llvm-install-name-tool 用于将加载命令重写为MachO二进制格式。
llvm-jitlink 用于解析可重定位的目标文件,使其内容在目标进程中可执行。
llvm-libtool-darwin 在基于darwin的系统上提供基本的libtool功能。这在为macOS系统生成二进制文件时非常有用。
llvm-link 是LLVM链接器。
llvm-lipo 用于从MachO文件创建通用二进制文件。
llvm-lto 是LLVM LTO(链接时间优化)链接器。
llvm-lto2 是基于分辨率的LTO接口的测试工具。
llvm-mc 是一个独立的机器码汇编/反汇编程序。
llvm-mca 是一个静态测量机器代码性能的性能分析工具。
llvm-ml 是LLVM提供的机器码的playground。
llvm-modextract 是从多模块位码文件中提取一个模块的工具。
llvm-mt 是从并行程序集清单(用于Microsoft SDK)生成签名文件和目录的工具。
llvm-nm 用于列出LLVM位码和目标文件的符号表。
llvm-objcopy 是LLVM版本的objcopy工具。
llvm-objdump 是LLVM对象文件转储器。
llvm-opt-report 是从YAML优化记录文件生成优化报告的工具。
llvm-pdbutil 是PDB(程序数据库)转储器。PDB是一种微软格式。
llvm-profdata 是一个操作和打印配置文件数据文件的小工具。
llvm-profgen 生成LLVM SPGO分析信息。
llvm-ranlib 用于为LLVM存档生成索引。
llvm-rc 是一个独立于平台的工具,用于将资源脚本编译成二进制资源文件。
llvm-readobj 显示有关对象文件的特定于格式的低级信息。
llvm-reduce 用于在运行测试套件时自动减少测试用例。
llvm-remark-size-diff 报告两个注释文件之间指令计数和堆栈大小注释的差异。
llvm-rtdyld 是LLVM MC-JIT工具。
llvm-size 是LLVM对象大小转储器。
llvm-split 是LLVM模块拆分器。
llvm-stress 用于生成随机的.ll文件。
llvm-strings 打印在二进制文件(目标文件、可执行文件或存档库)中找到的字符串。
llvm-symbolizer 将地址转换为源代码位置。
llvm-tblgen 是LLVM目标描述到C++代码生成器。
llvm-tli-checker 是LLVM TargetLibraryInfo与SDK检查器。
llvm-undname 是索要姓名的工具。
llvm-xray 是Google的XRay函数调用跟踪系统的实现。
intercept-build 为项目生成生成命令的数据库。
opt 是LLVM优化器。
sancov 是sanitizer覆盖处理工具。
sanstats 是sanitizer统计处理工具。
scan-build 是一个调用Clang静态分析器的Perl脚本。
scan-build-py 是一个调用Clang静态分析器的Python脚本。
scan-view 是Clang静态分析器结果的查看器。
split-file 将输入文件分割成由正则表达式分隔的多个部分。
verify-uselistorder 是用于验证使用列表顺序的LLVM工具。
13.14 Lua-5.4.4
简介Lua
Lua是一种功能强大的轻量级编程语言,专为扩展应用程序而设计。它也经常被用作通用的独立语言。Lua是作为一个小型的C函数库实现的,用ANSI C编写,可以在所有已知平台上不加修改地编译。实现目标是简单、高效、可移植性和低嵌入成本。其结果是一个快速的语言引擎,占用空间小,使其在嵌入式系统中也很理想。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.lua.org/ftp/lua-5.4.4.tar.gz
-
下载 MD5 校验和: bd8ce7069ff99a400efd14cf339a727b
-
下载大小: 356 KB
-
预计所需磁盘空间: 5.8 MB (有基本测试)
-
预计构建时间: 小于 0.1 SBU (有基本测试)
额外下载
-
必要补丁: https://www.linuxfromscratch.org/patches/blfs/11.3/lua-5.4.4-shared_library-2.patch
-
可选测试套件下载 (HTTP): https://www.lua.org/tests/lua-5.4.4-tests.tar.gz
-
可选测试套件下载 MD5 校验和: 0e28a9b48b3596d6b12989d04ae403c4
-
可选测试套件下载大小: 132 KB
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/lua
安装Lua
有些包检查Lua的pkg-config文件,它是用以下命令创建的:
cat > lua.pc << "EOF"
V=5.4
R=5.4.4
prefix=/usr
INSTALL_BIN=${prefix}/bin
INSTALL_INC=${prefix}/include
INSTALL_LIB=${prefix}/lib
INSTALL_MAN=${prefix}/share/man/man1
INSTALL_LMOD=${prefix}/share/lua/${V}
INSTALL_CMOD=${prefix}/lib/lua/${V}
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: Lua
Description: An Extensible Extension Language
Version: ${R}
Requires:
Libs: -L${libdir} -llua -lm -ldl
Cflags: -I${includedir}
EOF
运行以下命令安装Lua:
patch -Np1 -i ../lua-5.4.4-shared_library-2.patch &&
make linux
要测试结果,执行: make test. “这将运行解释器并打印其版本”。如果下载了“测试套件”压缩包,可以执行更全面的测试。这些测试需要在安装包之后执行,因此我们遵循下面的描述。
现在,作为root用户:
make INSTALL_TOP=/usr \
INSTALL_DATA="cp -d" \
INSTALL_MAN=/usr/share/man/man1 \
TO_LIB="liblua.so liblua.so.5.4 liblua.so.5.4.4" \
install &&
mkdir -pv /usr/share/doc/lua-5.4.4 &&
cp -v doc/*.{html,css,gif,png} /usr/share/doc/lua-5.4.4 &&
install -v -m644 -D lua.pc /usr/lib/pkgconfig/lua.pc
这里我们只描述“基本测试”。解压缩tarball并切换到lua-5.4.4-tests目录,然后发出lua -e “_U=true” all.lua。如果测试没有出错,您将看到一条包含字符串“final OK”的消息。
内容
安装程序: lua 和 luac
安装库: liblua.so
安装目录: /usr/{lib,share}/lua 和 /usr/share/doc/lua-5.4.4
简要描述
lua 是独立的Lua解释器。
luac 是Lua编译器。
liblua.so 包含Lua API函数。
13.15 Lua-5.2.4
简介Lua 5.2
Lua是一种功能强大的轻量级编程语言,专为扩展应用程序而设计。它也经常被用作通用的独立语言。Lua是作为一个小型的C函数库实现的,用ANSI C编写,可以在所有已知平台上不加修改地编译。实现目标是简单、高效、可移植性和低嵌入成本。其结果是一个快速的语言引擎,占用空间小,使其在嵌入式系统中也很理想。
这是一个较旧的Lua版本,只需要与其他程序兼容,例如 Wireshark-4.0.3.
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.lua.org/ftp/lua-5.2.4.tar.gz
-
下载 MD5 校验和: 913fdb32207046b273fdb17aad70be13
-
下载大小: 248 KB
-
预计所需磁盘空间: 3.6 MB
-
预计构建时间: 小于 0.1 SBU
额外下载
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/lua
安装Lua 5.2
有些包检查Lua的pkg-config文件,它是用以下命令创建的:
cat > lua.pc << "EOF"
V=5.2
R=5.2.4
prefix=/usr
INSTALL_BIN=${prefix}/bin
INSTALL_INC=${prefix}/include/lua5.2
INSTALL_LIB=${prefix}/lib
INSTALL_MAN=${prefix}/share/man/man1
INSTALL_LMOD=${prefix}/share/lua/${V}
INSTALL_CMOD=${prefix}/lib/lua/${V}
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include/lua5.2
Name: Lua
Description: An Extensible Extension Language
Version: ${R}
Requires:
Libs: -L${libdir} -llua5.2 -lm -ldl
Cflags: -I${includedir}
EOF
运行以下命令安装Lua:
patch -Np1 -i ../lua-5.2.4-shared_library-1.patch &&
sed -i '/#define LUA_ROOT/s:/usr/local/:/usr/:' src/luaconf.h &&
sed -r -e '/^LUA_(SO|A|T)=/ s/lua/lua5.2/' \
-e '/^LUAC_T=/ s/luac/luac5.2/' \
-i src/Makefile &&
make MYCFLAGS="-fPIC" linux
这个包的安装比较复杂,所以我们将使用DESTDIR的安装方法:
make TO_BIN='lua5.2 luac5.2' \
TO_LIB="liblua5.2.so liblua5.2.so.5.2 liblua5.2.so.5.2.4" \
INSTALL_DATA="cp -d" \
INSTALL_TOP=$PWD/install/usr \
INSTALL_INC=$PWD/install/usr/include/lua5.2 \
INSTALL_MAN=$PWD/install/usr/share/man/man1 \
install &&
install -Dm644 lua.pc install/usr/lib/pkgconfig/lua52.pc &&
mkdir -pv install/usr/share/doc/lua-5.2.4 &&
cp -v doc/*.{html,css,gif,png} install/usr/share/doc/lua-5.2.4 &&
ln -s liblua5.2.so install/usr/lib/liblua.so.5.2 &&
ln -s liblua5.2.so install/usr/lib/liblua.so.5.2.4 &&
mv install/usr/share/man/man1/{lua.1,lua5.2.1} &&
mv install/usr/share/man/man1/{luac.1,luac5.2.1}
现在,作为root用户:
chown -R root:root install &&
cp -a install/* /
命令解释
sed -i … src/luaconf.h: 该命令更改Lua搜索路径以匹配安装路径。
sed -i … src/Makefile: 该命令将此安装与最新版本的lua消除冲突。
内容
安装程序: lua5.2 和 luac5.2
安装库: liblua5.2.so
安装目录: /usr/include/lua5.2, /usr/lib/lua/5.2, /usr/share/doc/lua-5.2.4, 和 /usr/share/lua/5.2
简要描述
lua5.2 是独立的Lua 5.2版解释器。
luac5.2 是Lua 5.2版编译器。
liblua5.2.so 包含Lua 5.2版API函数。
13.16 Mercurial-6.3.2
简介Mercurial
Mercurial是一个分布式源代码控制管理工具,类似于Git和Bazaar。Mercurial是用Python编写的,用于Mozilla for Firefox和Thunderbird等项目。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.mercurial-scm.org/release/mercurial-6.3.2.tar.gz
-
下载 MD5 校验和: 37f5c2c5efee02fe25a0f344b2e3ca72
-
下载大小: 7.7 MB
-
预计所需磁盘空间: 79 MB (有docs,添加892 MB用于测试)
-
预计构建时间: 0.3 SBU (有文档,使用-j4为测试添加6.2 SBU)
Mercurial依赖
可选
docutils-0.19 (需要构建文档), git-2.39.2, GPGME-1.18.0 (与Python绑定), OpenSSH-9.2p1 (运行时, 访问 ssh://… 存储库), Pygments-2.14.0, rustc-1.67.1 (查看 rust/README.rst 和 rust/rhg/README.md), Subversion-1.14.2 (与Python绑定), Bazaar, CVS, pyflakes, pyOpenSSL, 和 re2
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/mercurial
安装Mercurial
通过发出以下命令来构建Mercurial:
make build
要构建文档(需要docutils-0.19),执行:
make doc
要运行测试套件,执行:
TESTFLAGS="-j<N> --tmpdir tmp --blacklist blacklists/fsmonitor --blacklist blacklists/linux-vfat" make check
其中<N>是一个介于1和(处理器X线程)之间的整数,包括线程数。有几个测试(大约20个)失败了,因为Python中更改了一些错误消息,或者打印了一些弃用警告,这些警告在设计测试时不存在。为了调查任何明显失败的测试,您可以使用run-tests.py脚本。要查看近40个开关,其中一些非常有用,请执行tests/run-tests.py –help。运行以下命令,将只执行之前失败的测试:
pushd tests &&
rm -rf tmp &&
./run-tests.py --tmpdir tmp test-gpg.t
popd
通常,之前的失败是可以重复的。但是,如果在--tmpdir之前添加--debug开关,并再次运行测试,一些失败可能会消失,这是测试套件的一个问题。如果发生这种情况,即使您没有再次通过–debug开关,也不会再出现这些故障。
一个有趣的开关是--time,它将在测试完成后生成一个表,其中包含所有已执行的测试以及它们各自的开始、结束、用户、系统和实时时间。注意,这些开关可以通过将它们包含在TESTFLAGS环境变量中来与make check一起使用。
运行以下命令(以root身份)安装Mercurial:
make PREFIX=/usr install-bin
如果你构建了文档,运行下面的命令(作为root)来安装它:
make PREFIX=/usr install-doc
安装后,两个非常快速和简单的测试应该可以正确运行。第一个需要一些配置:
cat >> ~/.hgrc << "EOF"
[ui]
username = <user_name> <user@mail>
EOF
其中必须替换
配置Mercurial
配置文件
/etc/mercurial/hgrc 和 ~/.hgrc
绝大多数扩展在默认情况下是禁用的。运行hg help extensions,如果你需要启用任何扩展,例如在调查测试失败时。这将输出一个启用和禁用扩展的列表,以及更多信息,例如如何使用配置文件启用或禁用扩展。
如果你已经安装了make-ca-1.12,并希望Mercurial使用这些证书,作为root用户,执行:
install -v -d -m755 /etc/mercurial &&
cat > /etc/mercurial/hgrc << "EOF"
[web]
cacerts = /etc/pki/tls/certs/ca-bundle.crt
EOF
内容
安装程序: hg
安装库: /usr/lib/python3.11/site-packages/mercurial 下的几个内部模块
安装目录: /etc/mercurial, /usr/lib/python3.11/site-packages/hgdemandimport, /usr/lib/python3.11/site-packages/hgext, /usr/lib/python3.11/site-packages/hgext3rd, /usr/lib/python3.11/site-packages/mercurial, 和 /usr/lib/python3.11/site-packages/mercurial-6.3.2-py3.11.egg-info
简要描述
hg 是mercurial版本控制系统。
13.17 NASM-2.16.01
简介NASM
NASM(Netwide Assembler)是为可移植性和模块化而设计的80x86汇编器。它还包括一个反汇编程序。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.xz
-
下载 MD5 校验和: d755ba0d16f94616c2907f8cab7c748b
-
下载大小: 993.8 KB
-
预计所需磁盘空间: 41 MB
-
预计构建时间: 0.2 SBU
额外下载
NASM依赖
可选 (用于生成文档):
asciidoc-10.2.0 和 xmlto-0.0.28
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/nasm
安装NASM
如果你下载了可选的文档,把它放到源代码树中:
tar -xf ../nasm-2.16.01-xdoc.tar.xz --strip-components=1
运行以下命令安装NASM:
./configure --prefix=/usr &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
如果你下载了可选的文档,以root用户使用以下说明安装它:
install -m755 -d /usr/share/doc/nasm-2.16.01/html &&
cp -v doc/html/*.html /usr/share/doc/nasm-2.16.01/html &&
cp -v doc/*.{txt,ps,pdf} /usr/share/doc/nasm-2.16.01
内容
安装程序: nasm 和 ndisasm
安装库: None
安装目录: /usr/share/doc/nasm-2.16.01
简要描述
nasm 是一个便携式80x86汇编程序。
ndisasm 是一个80x86二进制文件反汇编器。
13.18 Patchelf-0.17.2
简介Patchelf
patchelf包包含一个小实用程序,用于修改ELF可执行文件的动态链接器和RPATH。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/NixOS/patchelf/releases/download/0.17.2/patchelf-0.17.2.tar.gz
-
下载 MD5 校验和: 63e6f761af0bfda2bfe08a568d1e2e76
-
下载大小: 240 KB
-
预计所需磁盘空间: 16 MB (有测试)
-
预计构建时间: 0.1 SBU (有测试)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/patchelf
安装Patchelf
运行以下命令安装patchelf:
./configure --prefix=/usr \
--docdir=/usr/share/doc/patchelf-0.17.2 &&
make
要测试结果,执行: make check.
现在,作为root用户:
make install
内容
安装程序: patchelf
简要描述
patchelf 是一个用于修改现有ELF可执行文件和库的简单实用程序;它可以改变可执行文件的动态加载器(“ELF解释器”),也可以改变可执行文件和库的RPATH。
13.19 Perl Modules
简介Perl Modules
Perl模块包(也称为发行版,因为每个模块可以包含多个模块)向Perl语言添加有用的对象。本页上列出的包是本书中其他包所必需的或推荐的。如果它们有依赖的模块,这些模块要么在本页,要么在下一页(Perl Module Dependencies)。
在许多情况下,只列出了需要的或推荐的依赖项——可能还有其他模块允许运行更多的测试,但忽略它们仍然允许测试PASS。
对于一些模块,BLFS编辑器已经确定仍然作为先决条件列出的其他模块不是必需的,并省略了它们。
如果同一模块的字母顺序较早的依赖项拉入了另一个依赖项,则不会提及同一模块的较晚依赖项。您应该按顺序构建依赖项。
一般来说,为perl模块运行测试是值得的,它们经常会显示诸如缺少使用模块所需的依赖项之类的问题。在这里,编辑们试图分离那些只在运行测试套件时才需要的依赖项,但是对于其中一个依赖项将该模块用于其自己的测试套件的模块,它们将不会被提及。也就是说,如果您打算运行测试套件,请为模块的每个依赖项运行它们。
可以使用CPAN自动安装模块的当前版本以及上游推荐的所有缺失或太旧的依赖项。参见本页末尾的CPAN automated install of perl modules。
大多数这些模块只安装/usr/lib/perl5/site_perl/5.xx.y下面的文件,这些将不会被记录。一两个安装程序(主要是perl脚本)或库到/usr/bin/或/usr/lib/中,这些都是文档化的。
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/perl-modules
Archive::Zip-1.68
简介Archive::Zip
Archive::Zip模块允许Perl程序创建、操作、读取和写入Zip归档文件。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/P/PH/PHRED/Archive-Zip-1.68.tar.gz
-
下载 MD5 校验和: a33993309322164867c99e04a4000ee3
Archive::Zip依赖
推荐 (用于测试套件)
UnZip-6.0 (有its补丁)
可选
安装Archive::Zip
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
内容
安装程序: crc32
简要描述
crc32 计算并输出给定文件的CRC-32值。
autovivification-0.18
autovivification模块介绍
该模块允许您禁用autovivification(在解引用未定义的变量时自动创建和填充新数组和散列),并在可能发生时抛出警告或错误。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/V/VP/VPIT/autovivification-0.18.tar.gz
-
下载 MD5 校验和: 8dec994e1e7d368e055f21a5777385a0
安装autovivification
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Business::ISBN-3.007
简介Business::ISBN
Business::ISBN模块用于处理国际标准书号。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/B/BD/BDFOY/Business-ISBN-3.007.tar.gz
-
下载 MD5 校验和: 6270020dc5a2e3ae7264ef4e4d4fb344
Business::ISBN依赖
必要
Business-ISBN-Data-20210112.006
安装Business::ISBN
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Business::ISMN-1.202
简介Business::ISMN
Business::ISMN模块用于处理国际标准音乐编号。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/B/BD/BDFOY/Business-ISMN-1.202.tar.gz
-
下载 MD5 校验和: 7a32381ddbf1cf58f260c3bcb3016bc3
Business::ISMN依赖
必要
安装Business::ISMN
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Business::ISSN-1.005
简介Business::ISSN
Business::ISSN模块用于使用国际标准序列号。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/B/BD/BDFOY/Business-ISSN-1.005.tar.gz
-
下载 MD5 校验和: f46bf5585d6c3aa9fb32127edb13151a
安装Business::ISSN
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Class::Accessor-0.51
简介Class::Accessor
Class::Accessor为你的类生成访问器/变量。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/K/KA/KASEI/Class-Accessor-0.51.tar.gz
-
下载 MD5 校验和: 1f1e5990f87cad7659b292fed7dc0407
安装Class::Accessor
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Data::Compare-1.27
简介Data::Compare
Data::Compare模块比较两个perl数据结构。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/D/DC/DCANTRELL/Data-Compare-1.27.tar.gz
-
下载 MD5 校验和: 53e821a62222e151a5ccab3c8a8e416f
Data::Compare依赖
必要
Clone-0.46, File-Find-Rule-0.34
安装Data::Compare
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Data::Dump-1.25
简介Data::Dump
Data::Dump提供了漂亮的数据结构打印。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/G/GA/GARU/Data-Dump-1.25.tar.gz
-
下载 MD5 校验和: 9bd7131ef0441e1e0e001bf85e9fae31
安装Data::Dump
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Data::Uniqid-0.12
简介Data::Uniqid
Data::Uniqid提供了三个简单的例程来生成唯一id。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/M/MW/MWX/Data-Uniqid-0.12.tar.gz
-
下载 MD5 校验和: 6bab3b5da09fedfdf60ce2629a7367db
安装Data::Uniqid
尽管最终测试失败并报告错误,但测试套件返回0的状态。可以安全地忽略该错误。
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
DateTime::Calendar::Julian-0.107
简介DateTime::Calendar::Julian
DateTime::Calendar::Julian实现Julian日历。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.107.tar.gz
-
下载 MD5 校验和: abd775d1d82f0f45d4fd6214cf7bbed8
DateTime::Calendar::Julian依赖
必要
安装DateTime::Calendar::Julian
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
DateTime::Format::Builder-0.83
简介DateTime::Format::Builder
DateTime::Format::Builder创建了DateTime解析器类和对象。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Builder-0.83.tar.gz
-
下载 MD5 校验和: aa41917ca9ad69b3898728ce9c2fb477
DateTime::Format::Builder依赖
必要
DateTime-Format-Strptime-1.79 和 Params-Validate-1.31
安装DateTime::Format::Builder
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Encode::EUCJPASCII-0.03
简介Encode::EUCJPASCII
Encode::EUCJPASCII提供了一个eucJP-open(扩展Unix代码,日语)映射。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/N/NE/NEZUMI/Encode-EUCJPASCII-0.03.tar.gz
-
下载 MD5 校验和: 5daa65f55b7c2050bb0713d9e95f239d
安装Encode::EUCJPASCII
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Encode::HanExtra-0.23
简介Encode::HanExtra
Encode::HanExtra模块提供了额外的中文编码集,由于大小问题,这些编码没有包含在核心Encode模块中。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/A/AU/AUDREYT/Encode-HanExtra-0.23.tar.gz
-
下载 MD5 校验和: e1d3bc32c1c8ee304235a06fbcd5d5a4
安装Encode::HanExtra
该模块使用’不安全’构建和安装指令(在perl-5.26.0中,出于安全原因,删除了@INC中当前目录的使用,此模块尚未更新):
PERL_USE_UNSAFE_INC=1 perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Encode::JIS2K-0.03
简介Encode::JIS2K
Encode::JIS2K模块提供JIS X 0212(又名JIS 2000)编码。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.03.tar.gz
-
下载 MD5 校验和: 60539471aa408a2b793cd45a6ce651db
安装Encode::JIS2K
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
File::Slurper-0.014
简介File::Slurper
File::Slurper是一个简单、合理和高效的模块,用于发出文件的声音。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/L/LE/LEONT/File-Slurper-0.014.tar.gz
-
下载 MD5 校验和: d43bc5f069035eff3b6b7c418b4cedc4
File::Slurper依赖
推荐 (测试套件所必需的)
安装File::Slurper
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
File::Which-1.27
简介File::Which
File::Which提供了’which’实用程序的可移植实现。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/P/PL/PLICEASE/File-Which-1.27.tar.gz
-
下载 MD5 校验和: d5c9154262b93398f0750ec364207639
安装File::Which
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
HTML::Parser-3.81
简介HTML::Parser
HTML::Parser发行版是一个模块集合,用于解析和提取HTML文档中的信息。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/O/OA/OALDERS/HTML-Parser-3.81.tar.gz
-
下载 MD5 校验和: b9f5dd3b14632f7a60541a2b61389c06
HTML::Parser依赖
必要
必要 (运行时)
HTTP-Message-6.44 (它的模块HTTP::Headers是该发行版中HTML::HeadParser的运行时需求).
安装HTML::Parser
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
HTTP::Daemon-6.15
简介HTTP::Daemon
HTTP::Daemon类的实例是在套接字上监听传入请求的HTTP/1.1服务器。HTTP::Daemon是IO::Socket::INET的子类,因此您也可以直接对它执行套接字操作。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/O/OA/OALDERS/HTTP-Daemon-6.15.tar.gz
-
下载 MD5 校验和: 9047f5e656cb99a7dee29f3359535ded
HTTP::Daemon依赖
必要
注意
Makefile.PL和运行测试会报错Module::Build::Tiny缺失,但这只需要在系统缺少C编译器时使用Build.PL。
安装HTTP::Daemon
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
IO::Socket::SSL-2.081
简介IO::Socket::SSL
IO::Socket::SSL通过将必要的功能包装到熟悉的IO::Socket接口中并尽可能提供安全默认值,使使用SSL/TLS变得更加容易。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-2.081.tar.gz
-
下载 MD5 校验和: 980e8e6816fadd86e875550b1d6ab0a2
IO::Socket::SSL依赖
必要
make-ca-1.12 和 Net-SSLeay-1.92
推荐
URI-5.17 (访问国际域名s)
安装IO::Socket::SSL
这个模块使用标准构建和安装指令的一个变体:
yes | perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
命令解释
yes: Perl将询问您是否希望运行外部测试,如果存在网络问题,它将“fail soft”。默认值是’y’,这允许您编写构建脚本。
IO::String-1.08
简介IO::String
IO::String - 模拟核心字符串的文件接口。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/G/GA/GAAS/IO-String-1.08.tar.gz
-
下载 MD5 校验和: 250e5424f290299fc3d6b5d1e9da3835
安装IO::String
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
IPC::Run3-0.048
简介IPC::Run3
IPC::Run3用于运行带有输入/输出重定向的子进程。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/R/RJ/RJBS/IPC-Run3-0.048.tar.gz
-
下载 MD5 校验和: 5a8cec571c51a118b265cf6e24e55761
安装IPC::Run3
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
JSON-4.10
简介JSON
JSON为JSON::XS-compatible模块提供了一个简单的包装器和一些附加功能。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/I/IS/ISHIGAKI/JSON-4.10.tar.gz
-
下载 MD5 校验和: a709b32e194d0eb38f788cb49f422c4e
安装JSON
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Lingua::Translit-0.29
简介Lingua::Translit
Lingua::Translit和它的Translit程序在书写系统之间转写文本。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/A/AL/ALINKE/Lingua-Translit-0.29.tar.gz
-
下载 MD5 校验和: 605a82f06b05fef4fc18bf069b1be511
安装Lingua::Translit
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
内容
安装程序: translit
简要描述
translit 在使用不同标准的书写系统之间音译文本。
LWP (libwww-perl-6.67)
简介LWP - Perl的遍及全球Web库
libwww-perl集合是一组Perl模块,它为万维网提供了一个简单而一致的应用程序编程接口(API)。该库的主要焦点是提供允许编写WWW客户机的类和函数。该库还包含更通用的模块,甚至还包含帮助您实现简单HTTP服务器的类。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/O/OA/OALDERS/libwww-perl-6.67.tar.gz
-
下载 MD5 校验和: ff7621d0350da3052f24db9a74692672
libwww-perl依赖
必要
File-Listing-6.15, HTTP-Cookies-6.10, HTTP-Daemon-6.15, HTTP-Negotiate-6.01, HTML-Parser-3.81, Net-HTTP-6.22, Try-Tiny-0.31 和 WWW-RobotRules-6.02
推荐 (测试套件所必需的)
Test-Fatal-0.017, Test-Needs-0.002010 和 Test-RequiresInternet-0.05
安装libwww-perl
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
安装此包后,如果您想要HTTPS协议支持,请安装 LWP-Protocol-https-6.10.
内容
安装程序: lwp-download, lwp-dump, lwp-mirror, lwp-request
简要描述
lwp-download 是从web获取大文件的脚本。
lwp-dump 用于查看URL返回的标头和内容。
lwp-mirror 是一个简单的镜像实用程序。
lwp-request 是一个简单的命令行用户代理。
List::AllUtils-0.19
简介List::AllUtils
List::Allutils模块将List::Util和List::MoreUtils组合在一个很小的包中。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/D/DR/DROLSKY/List-AllUtils-0.19.tar.gz
-
下载 MD5 校验和: 86469b1f6819ba181a8471eb932965f2
List::AllUtils依赖
必要
List-SomeUtils-0.59, List-UtilsBy-0.12
安装List::AllUtils
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
List::MoreUtils-0.430
简介List::MoreUtils
List::MoreUtils提供了List::Util中缺少的东西。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/R/RE/REHSACK/List-MoreUtils-0.430.tar.gz
-
下载 MD5 校验和: daccd6310021231b827dcc943ff1c6b7
List::MoreUtils依赖
必要
Exporter-Tiny-1.006000 和 List-MoreUtils-XS-0.430
安装List::MoreUtils
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Log::Log4perl-1.57
简介Log::Log4perl
Log::Log4perl为perl提供了Log4j实现。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/E/ET/ETJ/Log-Log4perl-1.57.tar.gz
-
下载 MD5 校验和: acbe29cbaf03f4478a13579a275b0011
安装Log::Log4perl
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
内容
安装程序: l4p-templ
简要描述
l4p-templ 输出用于启动新的Log4perl配置文件的模板Log4perl配置的文本。
LWP::Protocol::https-6.10
简介LWP::Protocol::https
LWP::Protocol::https为LWP::UserAgent提供了https支持(即libwww-perl-6.67)。一旦安装了该模块,LWP就可以通过SSL/TLS使用HTTP访问站点。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/O/OA/OALDERS/LWP-Protocol-https-6.10.tar.gz
-
下载 MD5 校验和: cf64e4bc57a9266ac4343cdf0808c5c8
额外下载
- 必要补丁: https://www.linuxfromscratch.org/patches/blfs/11.3/LWP-Protocol-https-6.10-system_certs-2.patch
LWP::Protocol::https依赖
必要
IO-Socket-SSL-2.081, libwww-perl-6.67 和 make-ca-1.12 与 /etc/pki/tls/certs/ca-bundle.crt.
安装LWP::Protocol::https
首先,应用一个补丁来使用系统证书(使用CPAN自动安装将使用Mozilla::CA,它通常不是最新的,也不使用本地证书)。
patch -Np1 -i ../LWP-Protocol-https-6.10-system_certs-2.patch
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Module::Build-0.4232
简介Module::Build
Module::Build允许在没有make命令的情况下构建perl模块。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/L/LE/LEONT/Module-Build-0.4232.tar.gz
-
下载 MD5 校验和: 144885f1cbaf9420017bbed696ec6b83
安装Module::Build
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
注意,这个模块也可以使用Build.PL来构建。
内容
安装程序: config_data
简要描述
config_data 用于查询或修改perl模块的配置。
Net::DNS-1.36
简介Net::DNS
Net::DNS是一个用Perl实现的DNS解析器。它可以用于从Perl脚本执行几乎任何类型的DNS查询。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/N/NL/NLNETLABS/Net-DNS-1.36.tar.gz
-
下载 MD5 校验和: b70b74481908d995f57569ab7cfe6432
安装Net::DNS
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Parse::RecDescent-1.967015
简介Parse::RecDescent
Parse::RecDescent从简单的类似yacc的语法规范逐步生成自顶向下递归下降文本解析器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967015.tar.gz
-
下载 MD5 校验和: 7a36d45d62a9b68603edcdbd276006cc
安装Parse::RecDescent
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Parse::Yapp-1.21
简介Parse::Yapp
Parse::Yapp是一个Perl扩展,用于生成和使用LALR解析器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/W/WB/WBRASWELL/Parse-Yapp-1.21.tar.gz
-
下载 MD5 校验和: 69584d5b0f0304bb2a23cffcd982c5de
安装Parse::Yapp
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
内容
安装程序: yapp
简要描述
yapp 是Parse::Yapp模块的前端,该模块允许您从输入语法文件创建Perl OO解析器。
PerlIO::utf8_strict-0.010
简介PerlIO::utf8_strict
PerlIO::utf8_strict提供了一个快速且正确的UTF-8 PerlIO层。与perl的默认:utf8层不同,它检查输入的正确性。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/L/LE/LEONT/PerlIO-utf8_strict-0.010.tar.gz
-
下载 MD5 校验和: d90ca967f66e05ad9221c79060868346
PerlIO::utf8_strict依赖
推荐 (测试套件所必需的)
安装PerlIO::utf8_strict
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Regexp::Common-2017060201
简介Regexp::Common
Regexp::Common提供常用的正则表达式。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz
-
下载 MD5 校验和: b1bb40759b84154990f36a160160fb94
安装Regexp::Common
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
SGMLSpm-1.1
简介SGMLSpm
SGMLSpm模块是一个Perl库,用于解析James Clark的SGMLS和NSGMLS解析器的输出。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/R/RA/RAAB/SGMLSpm-1.1.tar.gz
-
下载 MD5 校验和: 746c74ae969992cedb1a2879b4168090
安装SGMLSpm
在开始构建之前,发出以下命令以防止出现错误:
chmod -v 644 MYMETA.yml
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
安装完成后,以root用户执行如下命令:
ln -sv sgmlspl.pl /usr/bin/sgmlspl
内容
安装程序: sgmlspl.pl, sgmlspl
简要描述
sgmlspl.pl 是一个SGML处理器。
sgmlspl 是安装DocBook-utils-0.6.14期间使用的符号链接。
Sort::Key-1.33
简介Sort::Key
Sort::Key提供了一组函数,用于按计算出的键值对值列表进行排序。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/S/SA/SALVA/Sort-Key-1.33.tar.gz
-
下载 MD5 校验和: a37ab0da0cfdc26e57b4c79e39f6d98f
安装Sort::Key
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::Command-0.11
简介Test::Command
Test::Command测试外部命令的退出状态(STDOUT或STDERR)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/D/DA/DANBOO/Test-Command-0.11.tar.gz
-
下载 MD5 校验和: 9ab83c4695961dbe92cd86efe08f0634
安装Test::Command
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::Differences-0.69
简介Test::Differences
Test::Differences测试字符串和数据结构,如果它们不匹配,则显示差异。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/D/DC/DCANTRELL/Test-Differences-0.69.tar.gz
-
下载 MD5 校验和: 53aa66b927e7ffe612118bec05f8343d
Test::Differences依赖
必要
推荐 (测试套件所必需的)
安装Test::Differences
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Text::BibTeX-0.89
简介Text::BibTeX
Text::BibTeX提供了读取和解析BibTeX文件的接口。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/A/AM/AMBS/Text-BibTeX-0.89.tar.gz
-
下载 MD5 校验和: 67fa6d9c03c659627d9fd58bb380c1fe
Text::BibTeX依赖
必要
Config-AutoConf-0.320, ExtUtils-LibBuilder-0.08
安装Text::BibTeX
这个模块是使用Build.PL构建的:
perl Build.PL &&
./Build &&
./Build test
现在,作为root用户:
./Build install
内容
安装程序: biblex, libparse, dumpnames
安装库: libtparse.so
简要描述
biblex 对BibTeX文件执行词法分析。
bibparse 用命令行选项解析一系列BibTeX文件,以控制字符串的后处理行为。
dumpnames 解析BibTeX文件,将’author’和’editor’字段拆分为名称列表,然后将所有内容转储到stdout。
libbtparse.so 是解析和处理BibTeX数据文件的库。
Text::CSV-2.02
简介Text::CSV
Text::CSV是一个逗号分隔值操纵符,使用XS(外部子例程—用于用C或C++编写的子例程)或纯perl。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/I/IS/ISHIGAKI/Text-CSV-2.02.tar.gz
-
下载 MD5 校验和: b25b9c6bb45c128484393efe082a8791
Text::CSV依赖
推荐
Text-CSV_XS-1.49 (biber-2.18需求)
安装Text::CSV
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Text::Roman-3.5
简介Text::Roman
Text::Roman允许在罗马和阿拉伯算法(数字系统,例如MCMXLV和1945)之间进行转换。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/S/SY/SYP/Text-Roman-3.5.tar.gz
-
下载 MD5 校验和: 1f6b09c0cc1f4425b565ff787a39fd83
安装Text::Roman
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Unicode::Collate-1.31
简介Unicode::Collate
Unicode::Collate提供了一个Unicode排序算法。
注意
这是一个核心模块。如果您使用的是perl-5.28.0或更高版本,它的版本足以用于biber-2.18,您不需要重新安装该模块。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/S/SA/SADAHIRO/Unicode-Collate-1.31.tar.gz
-
下载 MD5 校验和: ee4d960d057c5e5b02ebb49d0286db8f
安装Unicode::Collate
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Unicode::LineBreak-2019.001
简介Unicode::LineBreak
Unicode::LineBreak提供了一个UAX #14 Unicode Breaking算法。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/N/NE/NEZUMI/Unicode-LineBreak-2019.001.tar.gz
-
下载 MD5 校验和: 003d6da7a13700e069afed9238c864b9
Unicode::LineBreak依赖
必要
MIME-Charset-1.013.1, 并且 Wget-1.21.3 (从unicode.org下载测试套件中的两个文件)
可选
libthai (把泰语单词分成几段)
安装Unicode::LineBreak
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
URI-5.17
简介URI
这个模块实现了URI类。该类的对象表示RFC 2396中指定的“统一资源标识符引用”(并由RFC 2732更新)。统一资源标识符是一个紧凑的字符串,用于标识抽象资源或物理资源。统一资源标识符可以进一步分类为统一资源定位符(URL)或统一资源名称(URN)。URL和URN之间的区别对URI类接口无关紧要。“URI引用”是一个URI,它可以以片段标识符的形式附加额外的信息。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/O/OA/OALDERS/URI-5.17.tar.gz
-
下载 MD5 校验和: 63675c429cfb1df73d7d21a9302e1000
URI依赖
推荐 (测试套件所必需的)
Test-Fatal-0.017, Test-Needs-0.002010, 和 Test-Warnings-0.031
可选
安装URI
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
XML::LibXML::Simple-1.01
简介XML::LibXML::Simple
XML::LibXML::Simple模块是对XML::Simple的重写,以便对XML结构使用XML::LibXML解析器,而不是普通的Perl或SAX解析器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/M/MA/MARKOV/XML-LibXML-Simple-1.01.tar.gz
-
下载 MD5 校验和: faad5ed26cd83998f6514be199c56c38
XML::LibXML::Simple依赖
必要
安装XML::LibXML::Simple
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
XML::LibXSLT-2.002001
简介XML::LibXSLT
XML-LibXSLT提供了一个接口到libxslt-1.1.37
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/S/SH/SHLOMIF/XML-LibXSLT-2.002001.tar.gz
-
下载 MD5 校验和: b47ac3a69b58fa43386c4f39be5d7bd5
XML::LibXSLT依赖
必要
libxslt-1.1.37, XML-LibXML-2.0208
安装XML::LibXSLT
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
XML::Simple-2.25
简介XML::Simple
XML::Simple提供了一个简单的API来读写XML(尤其是配置文件)。它被弃用并且不鼓励使用。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/G/GR/GRANTM/XML-Simple-2.25.tar.gz
-
下载 MD5 校验和: bb841dce889a26c89a1c2739970e9fbc
XML::Simple依赖
可选
XML-SAX-1.02 (如果可用,将使用另一个解析器,否则将使用安装在LFS中的XML::Parser),
安装XML::Simple
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
XML::Writer-0.900
简介XML::Writer
XML::Writer提供了用于编写XML文档的Perl扩展。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.cpan.org/authors/id/J/JO/JOSEPHW/XML-Writer-0.900.tar.gz
-
下载 MD5 校验和: 2457214360cefda445742a608dd6195e
安装XML::Writer
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
CPAN自动安装perl模块
Perl模块的自动安装
还有一种安装模块的替代方法,使用cpan shell install命令。该命令自动从CPAN存档中下载模块的最新源代码,以及上游列出的任何缺少的先决条件模块。然后对每个模块进行提取、编译、测试和安装。
在运行自动安装方法之前,您仍然需要安装任何非perl依赖项。您可能希望在安装后清理build/目录,以释放空间。如果提到了任何安装后操作,例如创建符号链接,您也应该执行这些操作。
第一次运行cpan时,系统会提示您输入一些有关下载位置和方法的信息。这些信息保存在位于~/.cpan目录下的文件中。
特别是,您可能希望配置它,以便将Sudo-1.9.13p1用于安装,从而允许您作为普通用户进行构建和测试。下面的例子没有使用这种方法。
启动cpan shell,以root用户发出’cpan‘。现在,任何模块都可以从cpan>提示符中安装,使用以下命令:
install <Module::Name>
对于其他命令和帮助,从cpan>提示符中发出’help‘。
另外,对于脚本或非交互式安装,使用以下语法作为root用户安装一个或多个模块:
cpan -i <Module1::Name> <Module2::Name>
查看cpan.1手册页,了解可以在命令行上传递给cpan的其他参数。
13.20 Perl Module依赖
只有其他模块需要的Perl模块
上一页的模块是从BLFS中的其他页面引用的,但是这些模块在书中只是作为那些模块的依赖项。如果您使用CPAN安装方式,则不需要阅读此页。
BLFS编辑对这些模块的关注要少得多,而且版本也不会被定期审查。在所有情况下,只列出所需或推荐的依赖项——可能有其他模块允许运行更多的测试,但忽略它们仍然允许测试PASS。
注意
本页上的链接(到metacpan.org)应该指向“已知的好”版本,它们的依赖关系是正确的。如果您希望使用更高的版本,请检查https://metacpan.org上的改变文件-有时会列出添加的依赖项,有时则不会。其中一些模块有非常频繁的更新,经常带来不同的依赖。下面链接的metacpan.org版本在上次审查时已知与BLFS中的模块版本一起工作。
但是,如果您注意到更新版本的Changes文件报告了对安全问题的修复,请将此报告到blfs-dev或blfs-support列表。
类似地,如果你发现上一页的更新模块需要额外的依赖项,请报告。
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/perl-modules
Algorithm::Diff-1.201
简介Algorithm::Diff
Algorithm::Diff计算两个文件或列表之间的“智能”差异。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/R/RJ/RJBS//Algorithm-Diff-1.201.tar.gz
-
下载 MD5 校验和: 2eaae910f5220261ee2bbdfc4a8df2c2
安装Algorithm::Diff
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Alien::Build-2.77
简介Alien::Build
Alien::Build提供了为CPAN构建外部(非CPAN)依赖的工具。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Build-2.77.tar.gz
-
下载 MD5 校验和: 65dab78e4dbde17fef13667d3be60ae0
Alien::Build依赖
必要
Capture-Tiny-0.48, File-Which-1.27, FFI-CheckLib-0.31 和 File-chdir-0.1011
安装Alien::Build
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Alien::Build::Plugin::Download::GitLab-0.01
简介Alien::Build::Plugin::Download::GitLab
Alien::Build::Plugin::Download::GitLab允许Alien::Build从GitLab下载(实际上,如果系统上已经安装了所需的库,则不会下载)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Build-Plugin-Download-GitLab-0.01.tar.gz
-
下载 MD5 校验和: ad1d815262ad7dd98b0a9b35ba2f05ef
Alien::Build::Plugin::Download::GitLab依赖
必要
安装Alien::Build::Plugin::Download::GitLab
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Alien::Libxml2-0.19
简介Alien::Libxml2
Alien::Libxml2被设计成允许模块在系统上安装C libxml2库。在BLFS中,它使用pkg-config来查找如何链接到已安装的libxml2-2.10.3。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Libxml2-0.19.tar.gz
-
下载 MD5 校验和: 54ef82ddf7641279a72f216e405f9a5e
Alien::Libxml2依赖
必要
Alien-Build-Plugin-Download-GitLab-0.01, libxml2-2.10.3, Path-Tiny-0.144
推荐 (测试套件所必需的)
安装Alien::Libxml2
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
B::COW-0.007
简介B::COW
B::COW为B核心模块提供了额外的帮助来检查Copy On Write。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC/B-COW-0.007.tar.gz
-
下载 MD5 校验和: 7afc46f19e6f906e2ba5769b21fca5ff
安装B::COW
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
B::Hooks::EndOfScope-0.26
简介B::Hooks::EndOfScope
B::Hooks::EndOfScope允许您在perl完成编译周围作用域时执行代码。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.26.tar.gz
-
下载 MD5 校验和: 6e1a5334ccc7809aa7cc82dbfa1affc7
B::Hooks::EndOfScope依赖
必要
Module-Implementation-0.09, Sub-Exporter-Progressive-0.001013 和 Variable-Magic-0.63
推荐 (测试套件所必需的)
安装B::Hooks::EndOfScope
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Business::ISBN::Data-20210112.006
简介Business-ISBN-Data
Business-ISBN-Data是Business::ISBN的数据包。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/B/BD/BDFOY/Business-ISBN-Data-20210112.006.tar.gz
-
下载 MD5 校验和: a3c6d1ff77eb33d63a35f1a1564530b8
安装Business-ISBN-Data
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Capture::Tiny-0.48
简介Capture::Tiny
Capture::Tiny模块从Perl、XS(外部子程序,即用C或C++编写)或外部程序捕获STDOUT和STDERR。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz
-
下载 MD5 校验和: f5d24083ad270f8326dd659dd83eeb54
安装Capture::Tiny
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Class::Data::Inheritable-0.09
简介Class::Data::Inheritable
Class::Data::Inheritable用于创建类数据的accessor/mutators。也就是说,如果您希望将类作为一个整体存储(而不是单个对象)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/R/RS/RSHERER/Class-Data-Inheritable-0.09.tar.gz
-
下载 MD5 校验和: bd25ecd6e5d528fbc3783edf1b8facef
安装Class::Data::Inheritable
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Class::Inspector-1.36
简介Class::Inspector
Class::Inspector允许你获取关于已加载类的信息。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Class-Inspector-1.36.tar.gz
-
下载 MD5 校验和: 084c3aeec023639d21ecbaf7d4460b21
安装Class::Inspector
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Class::Singleton-1.6
简介Class::Singleton
Singleton描述了在任何系统中只能有一个实例的对象类,例如打印假脱机程序。这个模块实现了一个Singleton类,其他类可以从这个类派生出来。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/S/SH/SHAY/Class-Singleton-1.6.tar.gz
-
下载 MD5 校验和: d9c84a7b8d1c490c38e88ed1f9faae47
安装Class::Singleton
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Class:Tiny-1.008
简介Class:Tiny
Class:Tiny提供了一个极简主义的class建设工具包。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Class-Tiny-1.008.tar.gz
-
下载 MD5 校验和: e3ccfae5f64d443e7e1110be964d7202
安装Class:Tiny
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Clone-0.46
简介Clone
克隆递归地复制perl数据类型。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/G/GA/GARU/Clone-0.46.tar.gz
-
下载 MD5 校验和: cafa8984a2c2e005e54b27dd1e3f0afe
Clone依赖
推荐 (测试套件所必需的)
安装Clone
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Config::AutoConf-0.320
简介Config::AutoConf
Config::AutoConf模块用纯perl实现了一些AutoConf宏(检测命令,检测库等)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/A/AM/AMBS/Config-AutoConf-0.320.tar.gz
-
下载 MD5 校验和: 71664b2864232e265179ac29298e0916
Config::AutoConf依赖
必要
Capture-Tiny-0.48, File-Slurper-0.014
安装Config::AutoConf
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
CPAN::Meta::Check-0.017
简介CPAN::Meta::Check
CPAN::Meta::Check验证是否存在CPAN::Meta对象中描述的需求。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.017.tar.gz
-
下载 MD5 校验和: e0117bc582058abed184f6d9b23c445e
安装CPAN::Meta::Check
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
DateTime-1.59
简介DateTime
DateTime是perl的日期和时间对象。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-1.59.tar.gz
-
下载 MD5 校验和: d6d73ba9ff03e00c83610a995fadc481
DateTime依赖
必要
DateTime-Locale-1.37, DateTime-TimeZone-2.57
推荐 (测试套件所必需的)
CPAN-Meta-Check-0.017, Test-Fatal-0.017, Test-Warnings-0.031 和 Test-Without-Module-0.21
安装DateTime
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
DateTime::Format::Strptime-1.79
简介DateTime::Format::Strptime
DateTime::Format::Strptime实现了strptime(3)的大部分,即它接受一个字符串和一个模式并返回一个DateTime对象。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-1.79.tar.gz
-
下载 MD5 校验和: 441cfec62b0b8a1b4c05cbe5ef73fbf4
DateTime::Format::Strptime依赖
必要
安装DateTime::Format::Strptime
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
DateTime::Locale-1.37
简介DateTime::Locale
DateTime::Locale为DateTime-1.59提供本地化支持。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Locale-1.37.tar.gz
-
下载 MD5 校验和: 3b0ce0ebf768960fd5d08300557176e7
DateTime::Locale依赖
必要
Dist-CheckConflicts-0.11, File-ShareDir-1.118, namespace-autoclean-0.29 和 Params-ValidationCompiler-0.31
推荐 (测试套件所必需的)
CPAN-Meta-Check-0.017, IPC-System-Simple-1.30 和 Test-File-ShareDir-1.001002
安装DateTime::Locale
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
DateTime::TimeZone-2.57
简介DateTime::TimeZone
这个类是所有时区对象的基类。时区在内部表示为一组惯例,每个惯例描述给定时间段内与GMT的偏移量。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.57.tar.gz
-
下载 MD5 校验和: 1da2beb4ae09e225dd0057dc438a276d
DateTime::TimeZone依赖
必要
Class-Singleton-1.6, Module-Runtime-0.016, 和 Params-ValidationCompiler-0.31, 也
推荐 (测试套件所必需的)
Both Test-Fatal-0.017 和 Test-Requires-0.11, 但前提是已经安装了DateTime-1.59的副本(这是一个依赖项)。
安装DateTime::TimeZone
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Devel::StackTrace-2.04
简介Devel::StackTrace
Devel::StackTrace提供了一个表示堆栈跟踪的对象。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz
-
下载 MD5 校验和: a5b09f7be7f2b10b525a9740676906d8
安装Devel::StackTrace
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Dist::CheckConflicts-0.11
简介Dist::CheckConflicts
Dist::CheckConflicts声明发行版的版本冲突,以支持依赖发行版的安装后更新。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz
-
下载 MD5 校验和: c8725a92b9169708b0f63036812070f2
Dist::CheckConflicts依赖
必要
推荐 (测试套件所必需的)
安装Dist::CheckConflicts
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Encode::Locale-1.05
简介Encode::Locale
Encode::Locale确定区域编码。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz
-
下载 MD5 校验和: fcfdb8e4ee34bcf62aed429b4a23db27
安装Encode::Locale
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Eval::Closure-0.14
简介Eval::Closure
Eval::Closure通过字符串eval安全干净地创建闭包。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz
-
下载 MD5 校验和: ceeb1fc579ac9af981fa6b600538c285
Eval::Closure依赖
推荐 (测试套件所必需的)
Test-Fatal-0.017, Test-Requires-0.11
安装Eval::Closure
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Exception::Class-1.45
简介Exception::Class
Exception::Class允许您在Perl中声明真正的异常类。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Exception-Class-1.45.tar.gz
-
下载 MD5 校验和: 1e564d20b374a99fdf660ba3f36b0098
Exception::Class依赖
必要
Class-Data-Inheritable-0.09, Devel-StackTrace-2.04
安装Exception::Class
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Exporter::Tiny-1.006000
简介Exporter::Tiny
Exporter::Tiny是一个导出器,具有Sub::Exporter的特性,但只有核心依赖项。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.006000.tar.gz
-
下载 MD5 校验和: 2d555e289eac6450052e8683c292cbf7
安装Exporter::Tiny
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
ExtUtils::LibBuilder-0.08
简介ExtUtils::LibBuilder
ExtUtils::LibBuilder是一个构建C库的工具。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/A/AM/AMBS/ExtUtils-LibBuilder-0.08.tar.gz
-
下载 MD5 校验和: 8ffe9e9a3c2f916f40dc4f6aed237d33
ExtUtils::LibBuilder依赖
必要
安装ExtUtils::LibBuilder
这个模块是使用Build.PL构建的:
perl Build.PL &&
./Build &&
./Build test
现在,作为root用户:
./Build install
FFI::CheckLib-0.31
简介FFI::CheckLib
FFI::CheckLib检查一个特定的动态库是否可供FFI(外部函数接口)使用。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/FFI-CheckLib-0.31.tar.gz
-
下载 MD5 校验和: ffc8e61bb686dd631bed3ddf102af41c
FFI::CheckLib依赖
推荐 (测试套件所必需的)
Capture-Tiny-0.48, Path-Tiny-0.144, Test2-Suite-0.000145
安装FFI::CheckLib
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
File::chdir-0.1011
简介File::chdir
File::chdir提供了一种更合理的方式来更改目录。
Perl的chdir()具有非常、非常、非常全局的不幸问题。如果您的程序的任何部分调用chdir(),或者如果您使用的任何库调用chdir(),它将更改整个程序的当前工作目录。File::chdir为您提供了另一个选择,$CWD和@CWD。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/File-chdir-0.1011.tar.gz
-
下载 MD5 校验和: 932090f6c5f602301ae66c259de23ebb
安装File::chdir
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
File::Copy::Recursive-0.45
简介File::Copy::Recursive
该模块将目录(或单个文件)递归地复制和移动到可选的深度,并尝试保留每个文件或目录的模式。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.45.tar.gz
-
下载 MD5 校验和: e5eee1a3f8ae3aebbac063ea54870e54
File::Copy::Recursive依赖
推荐 (测试套件所必需的)
Path-Tiny-0.144, Test-Deep-1.204, Test-Fatal-0.017, Test-File-1.993 和 Test-Warnings-0.031
安装File::Copy::Recursive
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
File::Find::Rule-0.34
简介File::Find::Rule
File::Find::Rule是File::Find的更友好的接口。它允许您构建指定所需文件和目录的规则。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/R/RC/RCLAMP/File-Find-Rule-0.34.tar.gz
-
下载 MD5 校验和: a7aa9ad4d8ee87b2a77b8e3722768712
File::Find::Rule依赖
必要
Number-Compare-0.03, Text-Glob-0.11
安装File::Find::Rule
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
内容
安装程序: findrule
简要描述
findrule 是File::Find::Rule的命令行包装器。
File::Listing-6.15
简介File::Listing
File::Listing解析目录列表。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/File-Listing-6.15.tar.gz
-
下载 MD5 校验和: 8ba34641a6c5a2ec1b0bf7064f68c535
File::Listing依赖
必要
安装File::Listing
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
File::ShareDir-1.118
简介File::ShareDir
通过File::ShareDir访问已通过File::ShareDir::Install安装的数据文件。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/R/RE/REHSACK/File-ShareDir-1.118.tar.gz
-
下载 MD5 校验和: 0084f730f4e3d4d89703d92b3ea82f54
File::ShareDir依赖
必要
Class-Inspector-1.36, File-ShareDir-Install-0.14
安装File::ShareDir
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
File::ShareDir::Install-0.14
简介File::ShareDir::Install
File::ShareDir::Install允许您从发行版中安装只读数据文件。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/E/ET/ETHER/File-ShareDir-Install-0.14.tar.gz
-
下载 MD5 校验和: bac4d924f3d863b00648ab56ec0dcbdc
安装File::ShareDir::Install
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
HTML::Tagset-3.20
简介HTML::Tagset
HTML::Tagset提供了几个对解析HTML有用的数据表。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz
-
下载 MD5 校验和: d2bfa18fe1904df7f683e96611e87437
安装HTML::Tagset
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
HTTP::Cookies-6.10
简介HTTP::Cookies
HTTP::Cookies为代表“cookie jar”的对象提供了一个类——也就是说,一个给定LWP::UserAgent (来自libwww-perl-6.67)对象所知道的所有HTTP Cookies的数据库。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Cookies-6.10.tar.gz
-
下载 MD5 校验和: b4d7804231b1dfd10999d42283e0cf06
HTTP::Cookies依赖
必要
安装HTTP::Cookies
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
HTTP::Date-6.05
简介HTTP::Date
HTTP::Date提供了处理HTTP协议使用的日期格式和其他一些日期格式的函数。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Date-6.05.tar.gz
-
下载 MD5 校验和: 2ecbb3aedf6aef062605191813ca3027
HTTP::Date依赖
推荐
TimeDate-2.33 (允许它识别GMT和数字以外的区域)
安装HTTP::Date
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
HTTP::Message-6.44
简介HTTP::Message
HTTP::Message为HTTP样式消息对象提供了基类。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Message-6.44.tar.gz
-
下载 MD5 校验和: 926a077669a7828c5ca39b5cf7735625
HTTP::Message依赖
必要
Clone-0.46, Encode-Locale-1.05, HTTP-Date-6.05, IO-HTML-1.004, LWP-MediaTypes-6.04 和 URI-5.17
推荐 (测试套件所必需的)
Test-Needs-0.002010, Try-Tiny-0.31
安装HTTP::Message
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
HTTP::Negotiate-6.01
简介HTTP::Negotiate
HTTP::Negotiate提供了HTTP内容协商算法的完整实现。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz
-
下载 MD5 校验和: 1236195250e264d7436e7bb02031671b
HTTP::Negotiate依赖
推荐 (测试套件所必需的)
安装HTTP::Negotiate
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Importer-0.026
简介Importer
Importer为导出符号的模块提供了一个可选但兼容的接口。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Importer-0.026.tar.gz
-
下载 MD5 校验和: 3f09930b82cadfe26d0ce2fb1338aa1b
安装Importer
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
IO::HTML-1.004
简介IO::HTML
IO::HTML打开具有自动字符集检测的HTML文件。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/C/CJ/CJM/IO-HTML-1.004.tar.gz
-
下载 MD5 校验和: 04bbe363686fd19bfb4cc0ed775e3d03
安装IO::HTML
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
IPC::System::Simple-1.30
简介IPC::System::Simple
IPC::System::Simple免去了调用外部命令和生成详细诊断的繁重工作。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/J/JK/JKEENAN/IPC-System-Simple-1.30.tar.gz
-
下载 MD5 校验和: e68341fd958fd013b3521d909904f675
安装IPC::System::Simple
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
List::MoreUtils::XS-0.430
简介List::MoreUtils::XS
List::MoreUtils::XS是List::MoreUtils的编译后端。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/R/RE/REHSACK/List-MoreUtils-XS-0.430.tar.gz
-
下载 MD5 校验和: e77113e55b046906aecfb4ddb4f0c662
安装List::MoreUtils::XS
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
List::SomeUtils-0.59
简介List::SomeUtils
List::SomeUtils提供了List::Util中缺少的东西。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/List-SomeUtils-0.59.tar.gz
-
下载 MD5 校验和: 333b4adb2907deff2be8da5899881453
List::SomeUtils依赖
必要
Module-Implementation-0.09, List-SomeUtils-XS-0.58
安装List::SomeUtils
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
List::SomeUtils::XS-0.58
简介List::SomeUtils::XS
List::SomeUtils::XS是List::SomeUtils的(更快的)XS(外部子程序)实现。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/List-SomeUtils-XS-0.58.tar.gz
-
下载 MD5 校验和: 396eabe83a75fcb8d7542d95812469d1
List::SomeUtils::XS依赖
推荐 (测试套件所必需的)
Test-LeakTrace-0.17, Test-Warnings-0.031
安装List::SomeUtils::XS
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
List::UtilsBy-0.12
简介List::UtilsBy
List::UtilsBy提供了许多高阶列表实用函数。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/P/PE/PEVANS/List-UtilsBy-0.12.tar.gz
-
下载 MD5 校验和: 54a8c7092bc02f29ea6c5ae215eea385
安装List::UtilsBy
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
LWP::MediaTypes-6.04
简介LWP::MediaTypes
LWP::MediaTypes猜测文件或URL的媒体类型(即MIME类型)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/O/OA/OALDERS/LWP-MediaTypes-6.04.tar.gz
-
下载 MD5 校验和: 84b799a90c0d2ce52897a7cb4c0478d0
LWP::MediaTypes依赖
推荐 (测试套件所必需的)
安装LWP::MediaTypes
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
MIME::Charset-1.013.1
简介MIME::Charset
MIME::Charset提供了关于因特网上MIME消息使用的字符集的信息,比如它们的编码。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/MIME-Charset-1.013.1.tar.gz
-
下载 MD5 校验和: b1932cfc806c8deb1b4a20d6afbfa8ac
MIME::Charset依赖
推荐
Encode-EUCJPASCII-0.03, Encode-HanExtra-0.23 和 Encode-JIS2K-0.03 (因为所有这些都是 biber-2.18 所要求的)
安装MIME::Charset
这个模块使用标准构建和安装指令的一个变体:
yes '' | perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
命令解释
| **yes | **: Perl将询问您是否希望安装另一个模块来处理遗留的日语编码,以及另一个用于将文档翻译成日语的模块。默认选项是’n’,使用’yes’允许您编写构建脚本。 |
Module::Implementation-0.09
简介Module::Implementation
Module::Implementation加载模块的几个备选底层实现之一(例如外部子例程或纯Perl,或给定操作系统的实现)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz
-
下载 MD5 校验和: 52e3fe0ca6b1eff0488d59b7aacc0667
Module::Implementation依赖
必要
Module-Runtime-0.016, Try-Tiny-0.31
推荐 (测试套件所必需的)
Test-Fatal-0.017, Test-Requires-0.11
安装Module::Implementation
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Module::Pluggable-5.2
简介Module::Pluggable
Module::Pluggable提供了一种为你的模块拥有“插件”的方式。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/S/SI/SIMONW/Module-Pluggable-5.2.tar.gz
-
下载 MD5 校验和: 87ce2971662efd0b69a81bb4dc9ea76c
安装Module::Pluggable
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Module::Runtime-0.016
简介Module::Runtime
Module::Runtime提供了处理Perl模块运行时处理的函数。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz
-
下载 MD5 校验和: d3d47222fa2e3dfcb4526f6cc8437b20
安装Module::Runtime
虽然Module::Build仍然被列为先决条件,但它在具有工作make的系统上不再是必需的。
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
MRO::Compat-0.15
简介MRO::Compat
在Perl 5.9.5及更高版本中,“mro”名称空间提供了几个实用程序,用于处理方法解析顺序和方法缓存。这个模块为早期版本的Perl提供了这些接口。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/H/HA/HAARG/MRO-Compat-0.15.tar.gz
-
下载 MD5 校验和: f644dafe901214cedfa7ed8b43b56df1
安装MRO::Compat
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
namespace::autoclean-0.29
简介namespace::autoclean
这个模块与namespace::clean非常相似,不同之处在于它将清除所有导入的函数,无论您是在使用pragma之前还是之后导入它们。它也不会接触任何看起来像方法的东西。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/E/ET/ETHER/namespace-autoclean-0.29.tar.gz
-
下载 MD5 校验和: 39b38c776cd1f0ee03cc70781a2f2798
namespace::autoclean依赖
必要
namespace-clean-0.27, Sub-Identify-0.14
推荐 (测试套件所必需的)
安装namespace::autoclean
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
namespace::clean-0.27
简介namespace::clean
这个包允许您将导入和函数保留在名称空间之外。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz
-
下载 MD5 校验和: cba97f39ef7e594bd8489b4fdcddb662
namespace::clean依赖
必要
B-Hooks-EndOfScope-0.26, Package-Stash-0.40
安装namespace::clean
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Net::HTTP-6.22
简介Net::HTTP
Net::HTTP类是一个低级HTTP客户端。类的实例表示到HTTP服务器的连接。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/O/OA/OALDERS/Net-HTTP-6.22.tar.gz
-
下载 MD5 校验和: 1d46019fb8559070a5ec1d838b690657
Net::HTTP依赖
必要
安装Net::HTTP
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Net::SSLeay-1.92
简介Net::SSLeay
Net::SSLeay是使用OpenSSL的PERL扩展。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/C/CH/CHRISN/Net-SSLeay-1.92.tar.gz
-
下载 MD5 校验和: 9e928bc6f430a874a1a2185f84a0ae88
安装Net::SSLeay
注意
如果启用外部测试,则t/external/15_altnames.t中的一个测试可能会失败。
这个模块使用标准构建和安装指令的一个变体:
yes '' | perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
命令解释
yes ‘‘: Perl将询问您是否希望运行外部测试,如果没有网络连接,测试将失败。默认值是’n’,指定此值允许您编写构建脚本。
Number::Compare-0.03
简介Number::Compare
Number::Compare将一个简单的比较编译到一个匿名子例程,您可以使用要测试的值调用该子例程。它可以理解IEC标准的大小(k, ki, m, mi, g, gi)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/R/RC/RCLAMP/Number-Compare-0.03.tar.gz
-
下载 MD5 校验和: ded4085a8fc96328742785574ca65208
安装Number::Compare
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Package::Stash-0.40
简介Package::Stash
操作存储库(Perl的符号表)偶尔是必要的,但是非常混乱,而且很容易出错。这个模块将所有这些隐藏在一个简单的API后面。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/E/ET/ETHER/Package-Stash-0.40.tar.gz
-
下载 MD5 校验和: 7a2922941cc2aad6a52642e4fb13d07b
Package::Stash依赖
必要
Dist-CheckConflicts-0.11, Module-Implementation-0.09
推荐 (测试套件所必需的)
CPAN-Meta-Check-0.017, Test-Fatal-0.017, Test-Needs-0.002010
安装Package::Stash
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Params::Validate-1.31
简介Params::Validate
Params::Validate允许您将方法或函数调用参数验证到任意级别的特异性。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Params-Validate-1.31.tar.gz
-
下载 MD5 校验和: ef5f57387c2c9032b59fb23023cf5b25
Params::Validate依赖
必要
Module-Build-0.4232, Module-Implementation-0.09
推荐 (测试套件所必需的)
Test-Fatal-0.017, Test-Requires-0.11
安装Params::Validate
这个模块是使用Build.PL构建的:
perl Build.PL &&
./Build &&
./Build test
现在,作为root用户:
./Build install
Params::ValidationCompiler-0.31
简介Params::ValidationCompiler
Params::ValidationCompiler构建一个优化的子例程参数验证器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Params-ValidationCompiler-0.31.tar.gz
-
下载 MD5 校验和: 15528055f3f53c8cfebbee1f928dec07
Params::ValidationCompiler依赖
必要
Exception-Class-1.45, Specio-0.48
推荐 (测试套件所必需的)
Test-Without-Module-0.21, Test2-Plugin-NoWarnings-0.09
安装Params::ValidationCompiler
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Path::Tiny-0.144
简介Path::Tiny
Path::Tiny提供了一个用于处理文件路径的小型快速实用程序。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.144.tar.gz
-
下载 MD5 校验和: 7b2fc4f5edfd29b88d2cc3b96830e7d1
安装Path::Tiny
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Role::Tiny-2.002004
简介Role::Tiny
Role::Tiny是一个极简主义的角色合成工具。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/H/HA/HAARG/Role-Tiny-2.002004.tar.gz
-
下载 MD5 校验和: 9ee45591befa3d0b1094ac75d282b6ba
安装Role::Tiny
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Scope::Guard-0.21
简介Scope::Guard
Scope::Guard提供了一种在作用域结束时执行清理或其他形式的资源管理的方便方法。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.21.tar.gz
-
下载 MD5 校验和: be57b915d23ddac7677ef2ad9e52b92a
安装Scope::Guard
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Specio-0.48
简介Specio
Specio提供了表示类型约束和强制转换的类,以及声明它们的语法sugar。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Specio-0.48.tar.gz
-
下载 MD5 校验和: 96cf1ae4e2e205986e03672071116b16
Specio依赖
必要
Devel-StackTrace-2.04, Eval-Closure-0.14, Module-Runtime-0.016, Role-Tiny-2.002004, Sub-Quote-2.006008 和 Try-Tiny-0.31
推荐 (测试套件所必需的)
MRO-Compat-0.15, Test-Fatal-0.017 和 Test-Needs-0.002010
可选
namespace-autoclean-0.29 (用于测试套件)
安装Specio
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Sub::Exporter::Progressive-0.001013
简介Sub::Exporter::Progressive
Sub::Exporter::Progressive是Sub::Exporter的包装器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz
-
下载 MD5 校验和: 72cf6acdd2a0a8b105821a4db98e4ebe
安装Sub::Exporter::Progressive
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Sub::Identify-0.14
简介Sub::Identify
Sub::Identify允许您检索代码引用的真实名称。如果可能的话,建议迁移到Sub::Util(一个核心模块)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/R/RG/RGARCIA/Sub-Identify-0.14.tar.gz
-
下载 MD5 校验和: 014f19e72698b6a2cbcb54adc9691825
安装Sub::Identify
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Sub::Info-0.002
简介Sub::Info
Sub::Info是检查子例程的工具。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Sub-Info-0.002.tar.gz
-
下载 MD5 校验和: 335345b534fc0539c894050f7814cbda
Sub::Info依赖
必要
安装Sub::Info
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Sub::Quote-2.006008
简介Sub::Quote
Sub::Quote提供了从字符串生成子例程的方法。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/H/HA/HAARG/Sub-Quote-2.006008.tar.gz
-
下载 MD5 校验和: f19c60039ba87f69f7f9357fc0a03e07
安装Sub::Quote
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Sub::Uplevel-0.2800
简介Sub::Uplevel
Sub::Uplevel允许您欺骗调用者,使其在更高的堆栈帧中运行。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz
-
下载 MD5 校验和: 6c6a174861fd160e8d5871a86df00baf
安装Sub::Uplevel
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
SUPER-1.20190531
简介SUPER
SUPER提供了更简单的方法来将控制分派给超类(当子类化一个类时)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/C/CH/CHROMATIC/SUPER-1.20190531.tar.gz
-
下载 MD5 校验和: defb371225f8ef1581d8c8fcc6077b46
SUPER依赖
推荐 (测试套件所必需的)
安装SUPER
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Term::Table-0.016
简介Term::Table
Term::Table将标题和行格式化为表。一些失败的测试使用它来提供关于错误的诊断。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Term-Table-0.016.tar.gz
-
下载 MD5 校验和: ef0c76824c57eaa7796558060067bb49
Term::Table依赖
必要
安装Term::Table
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::Deep-1.204
简介Test::Deep
Test::Deep为您提供了非常灵活的方法来检查您得到的结果是否是您所期望的结果。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Test-Deep-1.204.tar.gz
-
下载 MD5 校验和: fcff296434cd92538ae9de9d1744705f
安装Test::Deep
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::Exception-0.43
简介Test::Exception
Test::Exception为测试基于异常的代码提供了方便的方法。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Test-Exception-0.43.tar.gz
-
下载 MD5 校验和: 572d355026fb0b87fc2b8c64b83cada0
Test::Exception依赖
必要
安装Test::Exception
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::Fatal-0.017
简介Test::Fatal
Test::Fatal模块为测试抛出异常的代码提供了简单的帮助。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Test-Fatal-0.017.tar.gz
-
下载 MD5 校验和: 2f160c31e1848536e3b82112d573bb76
Test::Fatal依赖
必要
安装Test::Fatal
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::File-1.993
简介Test::File
Test::File为文件属性提供了一组测试实用程序。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/B/BD/BDFOY/Test-File-1.993.tar.gz
-
下载 MD5 校验和: dccb988191187261ce3a2a10af939625
Test::File依赖
推荐 (测试套件所必需的)
安装Test::File
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::File::ShareDir-1.001002
简介Test::File::ShareDir
Test::File::ShareDir是一些低级管道,它使发行版能够在使用自己的共享目录时执行测试,其方式与安装后的方式类似。这允许File-ShareDir-1.118查看最新版本的内容,而不是您正在测试的目标系统上安装的内容。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/K/KE/KENTNL/Test-File-ShareDir-1.001002.tar.gz
-
下载 MD5 校验和: ec31466aa44c1cd56c6cb51d7ec3a5de
Test::File::ShareDir依赖
必要
Class-Tiny-1.008, File-Copy-Recursive-0.45, File-ShareDir-1.118, Path-Tiny-0.144 和 Scope-Guard-0.21
推荐 (测试套件所必需的)
安装Test::File::ShareDir
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::LeakTrace-0.17
简介Test::LeakTrace
Test::LeakTrace跟踪内存泄漏。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/L/LE/LEEJO/Test-LeakTrace-0.17.tar.gz
-
下载 MD5 校验和: afdb2cc6be0807cb635fb601a004d522
安装Test::LeakTrace
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::MockModule-v0.176.0
简介Test::MockModule
Test::MockModule允许您临时重新定义其他包中的子例程,以便进行单元测试。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/G/GF/GFRANKS/Test-MockModule-v0.176.0.tar.gz
-
下载 MD5 校验和: f36bd9aee0349430c434dc1d06b03589
Test::MockModule依赖
必要
Module-Build-0.4232, SUPER-1.20190531
推荐 (测试套件所必需的)
安装Test::MockModule
这个模块是使用Build.PL构建的:
perl Build.PL &&
./Build &&
./Build test
现在,作为root用户:
./Build install
Test::Needs-0.002010
简介Test::Needs
如果请求的模块不存在,Test::Needs将跳过测试。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/H/HA/HAARG/Test-Needs-0.002010.tar.gz
-
下载 MD5 校验和: 2b3d10946001561297624e7668f09c26
安装Test::Needs
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::Requires-0.11
简介Test::Requires
Test::Requires模块检查是否可以加载另一个(可选的)模块,如果不能,它会跳过所有当前的测试。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM/Test-Requires-0.11.tar.gz
-
下载 MD5 校验和: 999d6c4e46ea7baae7a5113292e02ed8
安装Test::Requires
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::RequiresInternet-0.05
简介Test::RequiresInternet
Test::RequiresInternet旨在在对非本地Internet资源进行功能测试之前,方便地测试网络连通性。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/M/MA/MALLEN/Test-RequiresInternet-0.05.tar.gz
-
下载 MD5 校验和: 0ba9f1cff4cf90ed2618c2eddfd525d8
安装Test::RequiresInternet
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::utf8-1.02
简介Test::utf8
Test::utf8是一个用于在Perl中处理utf8字符串的测试集合。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/M/MA/MARKF/Test-utf8-1.02.tar.gz
-
下载 MD5 校验和: 71d187539c76ac1ed9a0242ff208796d
安装Test::utf8
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::Warnings-0.031
简介Test::Warnings
Test::Warnings测试是否有警告和是否有警告。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/E/ET/ETHER/Test-Warnings-0.031.tar.gz
-
下载 MD5 校验和: f608f7011b0bb8f27d3a27e646a52f60
安装Test::Warnings
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test::Without::Module-0.21
简介Test::Without::Module
这个模块允许你故意对程序隐藏模块,即使它们已经安装。这对于测试在没有安装某个依赖模块时有回退的模块非常有用。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/C/CO/CORION/Test-Without-Module-0.21.tar.gz
-
下载 MD5 校验和: d6fdc73b60d197a8098fd41a81c92630
安装Test::Without::Module
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test2::Plugin::NoWarnings-0.09
简介Test2::Plugin::NoWarnings
Test2::Plugin::NoWarnings会导致测试在运行时出现任何警告而失败。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-0.09.tar.gz
-
下载 MD5 校验和: efcddec6cda66260ae14206e28f7feeb
Test2::Plugin::NoWarnings依赖
必要
推荐 (测试套件所必需的)
安装Test2::Plugin::NoWarnings
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Test2::Suite-0.000145
简介Test2::Suite
Test2::Suite是一个基于Test2框架构建的具有丰富工具集的发行版。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Test2-Suite-0.000145.tar.gz
-
下载 MD5 校验和: 5fcc87c264a1e93fe7cb0879a0abae15
Test2::Suite依赖
必要
Module-Pluggable-5.2, Scope-Guard-0.21, Sub-Info-0.002 和 Term-Table-0.016
安装Test2::Suite
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Text::CSV_XS-1.49
简介Text::CSV_XS
Text::CSV_XS提供了组合和分解逗号分隔值的功能。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/H/HM/HMBRAND/Text-CSV_XS-1.49.tgz
-
下载 MD5 校验和: 479d31e37a1282966d3bd47506fb2dcd
安装Text::CSV_XS
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Text::Diff-1.45
简介Text::Diff
Text::Diff对文件和记录集执行diffs。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/N/NE/NEILB/Text-Diff-1.45.tar.gz
-
下载 MD5 校验和: edf57b6189f7651a6be454062a4e6d9c
Text::Diff依赖
必要
安装Text::Diff
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Text::Glob-0.11
简介Text::Glob
Text::Glob实现了Glob(3)风格匹配,可用于对文本进行匹配,而不是从文件系统中获取名称。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/R/RC/RCLAMP/Text-Glob-0.11.tar.gz
-
下载 MD5 校验和: d001559c504a2625dd117bd1558f07f7
安装Text::Glob
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Tie::Cycle-1.227
简介Tie::Cycle
您可以使用Tie::Cycle一遍又一遍地浏览列表。一旦你到达列表的末尾,你就会回到开头。你不必担心这些,因为tie的魔力会帮你做到这一点。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/B/BD/BDFOY/Tie-Cycle-1.227.tar.gz
-
下载 MD5 校验和: 3d5004bd8e6f41345091a697673879b7
安装Tie::Cycle
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
TimeDate-2.33
简介TimeDate
TimeDate提供了各种时区操作例程。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC/TimeDate-2.33.tar.gz
-
下载 MD5 校验和: 5e5afe22c8d417417283d1f7f4572a57
安装TimeDate
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Try::Tiny-0.31
简介Try::Tiny
Try::Tiny提供了Try和catch来预测和处理异常条件,避免Perl中的怪癖和常见错误。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/E/ET/ETHER/Try-Tiny-0.31.tar.gz
-
下载 MD5 校验和: 993a29ee8a03c9bd9c2f7c53d1082a03
Try::Tiny依赖
可选 (可以被测试套件使用)
安装Try::Tiny
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
Variable::Magic-0.63
简介Variable::Magic
Magic是Perl增强变量的一种方式。使用这个模块,您可以将自己的magic添加到任何变量中。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/V/VP/VPIT/Variable-Magic-0.63.tar.gz
-
下载 MD5 校验和: ceb039e74253232bc5bdfb391ed5d6f5
安装Variable::Magic
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
WWW::RobotRules-6.02
简介WWW::RobotRules
WWW::RobotRules解析robots.txt文件,创建一个WWW::RobotRules对象,其中包含检查是否禁止访问给定URL的方法。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz
-
下载 MD5 校验和: b7186e8b8b3701e70c22abf430742403
WWW::RobotRules依赖
必要 (运行时)
libwww-perl-6.67 (先安装这个模块,然后再安装那个模块)
安装WWW::RobotRules
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
XML::LibXML-2.0208
简介XML::LibXML
XML::LibXML是一个perl绑定 libxml2-2.10.3.
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0208.tar.gz
-
下载 MD5 校验和: 4cda143b948e1550c7fba4a1133cc6ad
XML::LibXML依赖
必要
Alien-Libxml2-0.19, XML-SAX-1.02
安装XML::LibXML
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
XML::NamespaceSupport-1.12
简介XML::NamespaceSupport
XML::NamespaceSupport提供了一种简单的方法,可以在任何可能需要名称空间的应用程序中处理它们。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz
-
下载 MD5 校验和: a8916c6d095bcf073e1108af02e78c97
安装XML::NamespaceSupport
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
XML::SAX-1.02
简介XML::SAX
XML::SAX是用于Perl的SAX解析器访问API。它包括实现SAX驱动程序所需的类和api,以及用于返回用户系统上安装的任何SAX解析器的工厂类。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz
-
下载 MD5 校验和: b62e3754523695c7f5bbcafa3676a38d
XML::SAX依赖
必要
libxml2-2.10.3, XML-NamespaceSupport-1.12 和 XML-SAX-Base-1.09
安装XML::SAX
这个模块使用标准构建和安装指令的一个变体:
yes | perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
命令解释
yes: Perl将询问您是否需要修改ParserDetails.ini,然后等待响应。默认值是y。使用yes允许你编写脚本。
XML::SAX::Base-1.09
简介XML::SAX::Base
这个模块有一个非常简单的任务——成为PerlSAX驱动程序和过滤器的基类。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz
-
下载 MD5 校验和: ec347a14065dd7aec7d9fb181b2d7946
安装XML::SAX-Base
该模块使用标准的构建和安装说明:
perl Makefile.PL &&
make &&
make test
现在,作为root用户:
make install
13.21 PHP-8.2.3
简介PHP
PHP是PHP超文本预处理器。它主要用于动态web站点,允许将编程代码直接嵌入到HTML标记中。作为一种通用脚本语言,它也很有用。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.php.net/distributions/php-8.2.3.tar.xz
-
下载 MD5 校验和: cb768cf744184e64d48b15305c437336
-
下载大小: 11 MB
-
预计所需磁盘空间: 673 MB (有文档)
-
预计构建时间: 1.7 SBU (使用并行数=4; 添加1.6 SBU进行测试)
额外下载
-
可选的预构建文档(单文件html): https://www.php.net/distributions/manual/php_manual_en.html.gz
-
可选的预构建文档(分块html): https://www.php.net/distributions/manual/php_manual_en.tar.gz. 请注意,在网站上可以找到英语以外的其他语言的文档 https://www.php.net/download-docs.php
PHP依赖
推荐
Apache-2.4.55 和 libxml2-2.10.3
可选的系统实用程序和库
Aspell-0.60.8, enchant-2.3.3, libxslt-1.1.37, MTA (它提供了一个sendmail命令), pcre2-10.42, Pth-2.0.7, AppArmor, Dmalloc, Net-SNMP, oniguruma, OSSP mm, re2c, 和 XMLRPC-EPI
可选的图形工具和库
FreeType-2.13.0, libexif-0.6.24, libjpeg-turbo-2.1.5.1, libpng-1.6.39, libtiff-4.5.0, libwebp-1.3.0, a graphical environment, FDF Toolkit, GD, 和 t1lib
可选Web工具
cURL-7.88.1, tidy-html5-5.8.0, Caudium, Hyperwave, Roxen WebServer, 和 WDDX
可选的数据管理工具和库
Berkeley DB-5.3.28 (请注意,PHP官方不支持5.3以上版本), libiodbc-3.52.15, lmdb-0.9.29, MariaDB-10.6.12 或 MySQL, OpenLDAP-2.6.4, PostgreSQL-15.2, SQLite-3.40.1, unixODBC-2.3.11, Adabas, Birdstep, cdb, DBMaker, Empress, FrontBase, IBM DB2, Mini SQL, Monetra, 和 QDBM
PHP还支持许多商业数据库工具,如Oracle, SAP和ODBC路由器。
可选的安全/加密工具和库
Cyrus SASL-2.1.28, MIT Kerberos V5-1.20.1, libmcrypt, 和 mhash
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/php
安装PHP
可以将PHP用于服务器端脚本、命令行脚本或客户端GUI应用程序。本书提供了为服务器端脚本设置PHP的说明,因为它是最常见的形式。
注意
PHP有更多的configure选项来支持各种功能。你可以使用./configure –help查看可用选项的完整列表。另外,强烈推荐使用PHP网站,因为他们的在线文档非常好。一个利用许多最常见依赖项的configure命令的例子可以在https://anduin.linuxfromscratch.org/BLFS/files/php_configure.txt找到。
如果出于某种原因,你没有安装libxml2-2.10.3,你需要在下面的说明中的configure命令中添加--disable-libxml。注意,这将阻止编译pear命令。
运行以下命令安装PHP:
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--datadir=/usr/share/php \
--mandir=/usr/share/man \
--enable-fpm \
--without-pear \
--with-fpm-user=apache \
--with-fpm-group=apache \
--with-fpm-systemd \
--with-config-file-path=/etc \
--with-zlib \
--enable-bcmath \
--with-bz2 \
--enable-calendar \
--enable-dba=shared \
--with-gdbm \
--with-gmp \
--enable-ftp \
--with-gettext \
--enable-mbstring \
--disable-mbregex \
--with-readline &&
make
| 要测试结果,执行: make test. 有几个测试(超过16000个测试)可能会失败,在这种情况下,您将被询问是否要将报告发送给PHP开发人员。如果你想自动化测试,可以在命令前加上**yes “n” | **。 |
现在,作为root用户:
make install &&
install -v -m644 php.ini-production /etc/php.ini &&
install -v -m755 -d /usr/share/doc/php-8.2.3 &&
install -v -m644 CODING_STANDARDS* EXTENSIONS NEWS README* UPGRADING* \
/usr/share/doc/php-8.2.3
fastCGI进程管理器的默认配置文件只有在系统中不存在时才会被安装。如果这是第一次安装,它们应该被重命名为root用户:
if [ -f /etc/php-fpm.conf.default ]; then
mv -v /etc/php-fpm.conf{.default,} &&
mv -v /etc/php-fpm.d/www.conf{.default,}
fi
预构建的HTML文档以两种形式打包:一个包含许多独立文件的压缩包,用于快速加载到浏览器中,以及一个大型独立文件,用于使用浏览器的搜索功能。如果你下载了其中一个或两个文档文件,以root用户身份发出以下命令来安装它们(注意,这些说明假设是英文文档,如果需要,请修改下面的tarball名称)。
对于“单个HTML”文件:
install -v -m644 ../php_manual_en.html.gz \
/usr/share/doc/php-8.2.3 &&
gunzip -v /usr/share/doc/php-8.2.3/php_manual_en.html.gz
对于“许多HTML文件”的压缩包:
tar -xvf ../php_manual_en.tar.gz \
-C /usr/share/doc/php-8.2.3 --no-same-owner
没有安装打包的pear是因为有一个bug,可能会有几个隐藏的文件和目录污染文件系统。如果需要pear,执行以下命令来安装它:
wget https://pear.php.net/go-pear.phar
php ./go-pear.phar
命令解释
--datadir=/usr/share/php: 这可以解决构建机制中的一个bug,该bug会将一些数据安装到错误的位置。
--enable-fpm: 此参数允许构建fastCGI进程管理器。
--with-fpm-systemd: 这个参数允许FastCGI进程管理器与systemd集成。
--without-pear: 这个开关禁止安装捆绑的pear软件。
--with-config-file-path=/etc: 此参数使PHP在/etc中查找php.ini配置文件。
--with-zlib: 这个参数增加了对Zlib压缩的支持。
--enable-bcmath: 启用bc风格的精确数学函数。
--with-bz2: 增加对Bzip2压缩函数的支持。
--enable-calendar: 此参数支持日历转换。
--enable-dba=shared: 此参数启用对数据库(dbm风格)抽象层功能的支持。
--enable-ftp: 启用FTP功能。
--with-gettext: 启用使用Gettext文本翻译的函数。
--enable-mbstring: 此参数启用多字节字符串支持。
--with-readline: 该参数使能命令行Readline支持。
--disable-libxml: 此选项允许在不安装libxml2的情况下构建PHP。
--with-apxs2: 我们可以构建一个apache模块,而不是构建fastCGI进程管理器。这对于重负载的服务器会有一些性能损失,但可能更容易设置。这个开关不兼容--enable-fpm和--with-fpm-...的开关。
--with-mysqli=shared: 这个选项包括MySQLi支持。
--with-mysql-sock=/run/mysqld/mysqld.sock: MySQL unix套接字指针的位置。
--with-pdo-mysql=shared: 这个选项包括PDO: MySQL支持。
--with-tidy=shared: 这个选项包括简洁的库支持。
配置PHP
配置文件
/etc/php.ini, /etc/pear.conf, /etc/php-fpm.conf, 和 /etc/php-fpm.d/www.conf
配置信息
PHP开发团队推荐使用默认的/etc/php.ini配置文件。这个文件修改PHP的默认行为。如果没有使用/etc/php.ini,则所有配置都将使用默认设置。您应该检查此文件中的注释,并确保更改在您的特定环境中是可接受的。
fastCGI进程管理器使用配置文件/etc/php-fpm.conf。PHP附带的默认文件依次包含所有的/etc/php-fpm.d/*.conf文件。有一个附带的/etc/php-fpm.d/www.conf文件,其中包含与Apache Web服务器交互相关的参数。
你可能已经注意到make install命令的输出如下:
You may want to add: /usr/lib/php to your php.ini include_path
如果需要,以root用户的身份使用以下命令添加条目:
sed -i 's@php/includes"@&\ninclude_path = ".:/usr/lib/php"@' \
/etc/php.ini
要在Apache web服务器中启用fastCGI支持,必须在httpd.conf文件中添加两个LoadModule指令。它们被注释掉了,所以以root用户的身份执行以下命令:
sed -i -e '/proxy_module/s/^#//' \
-e '/proxy_fcgi_module/s/^#//' \
/etc/httpd/httpd.conf
这些模块接受各种ProxyPass指令。一种可能是(作为root用户):
echo \
'ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/srv/www/$1' >> \
/etc/httpd/httpd.conf
此外,在httpd.conf文件的DirectoryIndex指令中添加一个index.php条目可能会很有用。最后,添加一行代码来设置.phps的扩展以显示突出显示的PHP源代码可能是可取的:
AddType application/x-httpd-php-source .phps
在对httpd.conf文件进行任何修改后,你需要重启Apache web服务器。
Systemd Unit
要在启动时启动php-fpm守护进程,请以root用户运行以下命令,从blfs-systemd-units-20220720包中安装systemd单元:
make install-php-fpm
内容
安装程序: phar (符号链接), phar.phar, php, php-cgi, php-config, php-fpm, phpdbg, 和 phpize
安装库: dba.so 和 opcache.so 在 /usr/lib/php/extensions/no-debug-non-zts-20220829
安装目录: /etc/php-fpm.d, /usr/{include,lib,share}/php, 和 /usr/share/doc/php-8.2.3
简要描述
php 是一个命令行接口,使您能够解析和执行PHP代码。
pear 是PHP扩展和应用程序存储库(PEAR)包管理器。默认情况下没有安装。
php-fpm 是PHP的fastCGI进程管理器。
phpdbg 是交互式PHP调试器。
13.22 Python-2.7.18
简介Python 2
Python 2包包含Python开发环境。它对于面向对象编程、编写脚本、原型设计大型程序或开发整个应用程序都很有用。这个版本是为了与其他依赖包向后兼容。
注意
Python2已被上游开发人员弃用。对Python2的支持于2020年1月1日停止。
BLFS试图尽可能地使用Python3,但有些包还没有更新以支持Python3。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz
-
下载 MD5 校验和: fd6cc8ec0a78c44036f825e739f36e5a
-
下载大小: 12.2 MB
-
预计所需磁盘空间: 228 MB (添加17 MB用于测试)
-
预计构建时间: 0.5 SBU (使用并行数=4; 为测试添加5.9 SBU)
额外下载
-
必要补丁: https://www.linuxfromscratch.org/patches/blfs/11.3/Python-2.7.18-security_fixes-1.patch
-
可选HTML文档: https://www.python.org/ftp/python/doc/2.7.18/python-2.7.18-docs-html.tar.bz2
Python 2依赖
推荐
SQLite-3.40.1 (对于额外的模块)
可选
可选 (查看更多附加模块)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/Python
安装Python 2
首先,禁止安装覆盖最新脚本的脚本:
sed -i '/2to3/d' ./setup.py
运行以下命令安装Python 2:
patch -Np1 -i ../Python-2.7.18-security_fixes-1.patch &&
./configure --prefix=/usr \
--enable-shared \
--with-system-expat \
--with-system-ffi \
--enable-unicode=ucs4 &&
make
如果调用测试,它们将运行两次。要测试结果,执行: make -k test. 已知有几个测试会失败,包括test_ftplib, test_ssl, test_urllib2_localnet, test_xml_etree, test_xml_etree_c, 和 test_minidom。这些失败是OpenSSL-3和Expat-2.4.6导致的。
现在,作为root用户:
make altinstall &&
ln -s python2.7 /usr/bin/python2 &&
ln -s python2.7-config /usr/bin/python2-config &&
chmod -v 755 /usr/lib/libpython2.7.so.1.0
由于Python 2处于维护模式,而upstream推荐Python 3用于开发,因此您可能不需要安装文档。但是,如果你仍然想要安装两个Python版本的文档,请确保为你想使用的版本定义PYTHONDOCS变量,每次需要查看文档时。如果你已经从https://docs.python.org/download.html下载了预格式化文档,请以root用户身份安装:
install -v -dm755 /usr/share/doc/python-2.7.18 &&
tar --strip-components=1 \
--no-same-owner \
--directory /usr/share/doc/python-2.7.18 \
-xvf ../python-2.7.18-docs-html.tar.bz2 &&
find /usr/share/doc/python-2.7.18 -type d -exec chmod 0755 {} \; &&
find /usr/share/doc/python-2.7.18 -type f -exec chmod 0644 {} \;
命令解释
--with-system-expat: 此开关启用针对Expat系统版本的链接。
--with-system-ffi: 该开关用于链接系统版本的libffi。
--enable-unicode=ucs4: 这个开关在Python中启用32位Unicode支持。
--with-ensurepip=yes : 这个开关可以用来构建pip和setuptools打包程序。构建一些Python模块需要setuptools。我们不推荐使用该选项,因为该版本的Python已不再维护。
--with-dbmliborder=bdb:gdbm:ndbm: 如果您想针对Berkeley DB而不是GDBM构建Python DBM模块,请使用此开关。
make altinstall: make target会忽略一些可能与Python 3干扰的默认符号链接。
chmod …: 修复库的权限与其他库的一致。
配置Python 2
为了让python找到安装的文档,你必须在用户或系统的配置文件中添加以下环境变量:
export PYTHONDOCS=/usr/share/doc/python-2.7.18
内容
安装程序: pydoc, python2 (符号链接), python2-config (符号链接), python2.7, python2.7-config, smtpd.py, 和 idle
安装库: libpython2.7.so
安装目录: /usr/{include,lib}/python2.7 和 /usr/share/doc/python-2.7.18
简要描述
idle 是一个包装器脚本,用于打开一个支持Python的GUI编辑器。为了运行这个脚本,您必须在Python之前安装Tk,以便构建Tkinter Python模块。
pydoc 是Python文档工具。
python2 是一种解释的、交互式的、面向对象的编程语言。
python2.7 是python程序特定于版本的名称。
smtpd.py 是用Python实现的SMTP代理。
13.23 Python-3.11.2
简介Python 3
Python 3包包含Python开发环境。这对于面向对象编程、编写脚本、原型设计大型程序或开发整个应用程序都很有用。
注意
在LFS中安装了Python 3。在这里重新构建它的唯一原因是如果需要可选模块,或升级此软件包。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
重要
如果升级到新的Python-3次要版本(例如,从Python-3.10.x到Python-3.11.0),你需要重新安装已安装的所有Python3模块。你还应该重新安装生成Python3模块的包,包括gobject-introspection-1.74.0, opencv-4.7.0, Graphviz-7.1.0(如果安装了swig)。
在升级之前,你可以使用pip3 list获取已安装模块的完整列表。
wheel模块和来自LFS的meson也必须重新安装: https://www.linuxfromscratch.org/lfs/view/development/chapter08/wheel.html 和 https://www.linuxfromscratch.org/lfs/view/development/chapter08/meson.html.
在systemd系统上,还需要从LFS重新安装MarkupSafe和Jinja2模块: https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/markupsafe.html 和 https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/jinja2.html.
包信息
-
下载 (HTTP): https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tar.xz
-
下载 MD5 校验和: a957cffb58a89303b62124896881950b
-
下载大小: 19 MB
-
预计所需磁盘空间: 283 MB (添加897 MB用于测试)
-
预计构建时间: 2.2 SBU (为测试添加3.4 SBU; 都使用并行度=4)
额外可选下载
-
下载 (HTTP): https://www.python.org/ftp/python/doc/3.11.2/python-3.11.2-docs-html.tar.bz2
-
下载 MD5 校验和: eb4132c780b60b5782a4f66b29b08d5c
Python 3依赖
推荐
SQLite-3.40.1 (如果正在构建firefox或thunderbird,则需要)
可选
BlueZ-5.66, GDB-13.1 (一些测试需要), Valgrind-3.20.0, 和 libmpdec
可选 (For Additional Modules)
Berkeley DB-5.3.28, libnsl-2.0.0, 和 Tk-8.6.13
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/Python3
安装Python 3
运行以下命令安装Python 3:
CXX="/usr/bin/g++" \
./configure --prefix=/usr \
--enable-shared \
--with-system-expat \
--with-system-ffi \
--enable-optimizations &&
make
要测试结果,请执行 make test. 有些测试可能需要互联网连接。已知有两个测试test_distutils和test_embed会失败。
现在,作为root用户:
make install
如果正在升级并且文档已经下载,可以选择以root用户安装:
install -v -dm755 /usr/share/doc/python-3.11.2/html
tar --strip-components=1 \
--no-same-owner \
--no-same-permissions \
-C /usr/share/doc/python-3.11.2/html \
-xvf ../python-3.11.2-docs-html.tar.bz2
命令解释
CXX=”/usr/bin/g++” ./configure …: 避免配置过程中出现烦人的信息。
--with-system-expat: 此开关启用针对Expat系统版本的链接。
--with-system-ffi: 该开关允许链接到系统版本的libffi。
--with-dbmliborder=bdb:gdbm:ndbm: 如果您想针对Berkeley DB而不是GDBM构建Python DBM模块,请使用此开关。
--enable-optimizations: 这个切换可以实现稳定但昂贵的优化。
--with-lto: 此可选开关启用粗链路时间优化。不寻常的是,它创建了一个大得多的/usr/lib/python3.11/config-3.11-<arch>-linux-gnu/libpython3.11.a,编译Python的时间略有增加。运行时结果似乎没有显示这样做有任何好处。
配置Python 3
为了让python3找到安装的文档,请创建以下与版本无关的符号链接:
ln -svfn python-3.11.2 /usr/share/doc/python-3
并将以下环境变量添加到个人用户或系统的配置文件中:
export PYTHONDOCS=/usr/share/doc/python-3/html
内容
安装程序: 2to3 (符号链接) 和 2to3-3.11, idle3 (符号链接) 和 idle3.11, pip3 (符号链接) 和 pip3.11, pydoc3 和 pydoc3.11, python3 (符号链接); python3.11, 和 python3-config (符号链接) 和 python3.11-config
安装库: libpython3.11.so 和 libpython3.so
安装目录: /usr/include/python3.11, /usr/lib/python3.11, 和 /usr/share/doc/python-3.11.2
简要描述
idle3 是一个包装器脚本,用于打开一个支持Python的GUI编辑器。为了运行这个脚本,您必须在Python之前安装Tk,以便构建Tkinter Python模块。
pydoc3 是Python文档工具。
python3 是一种解释的、交互式的、面向对象的编程语言。
python3.11 是python程序特定于版本的名称。
13.24 Python Modules
简介Python Modules
Python模块包为Python语言添加了有用的对象。这里列出了整个BLFS中包使用的模块,以及它们的依赖项。
重要
在BLFS中,我们通常使用pip3构建和安装Python 3模块。请注意,本书中的pip3 install命令应该以root身份运行,除非它是用于Python虚拟环境。以non-root用户运行pip3 install可能看起来工作正常,但它会导致其他用户无法访问已安装的模块。
pip3 install默认不会重新安装已经安装的模块。要使用pip3 install命令升级模块(例如,从meson-0.61.3升级到介子-0.62.0),请在命令行中插入--upgrade。如果由于某种原因确实需要降级一个模块或重新安装相同版本,请在命令行中插入--force-reinstall。
Asciidoc-10.2.0
简介Asciidoc模块
Asciidoc包是一种文本文档格式,用于编写笔记、文档、文章、书籍、电子书、幻灯片、网页、手册页和博客。AsciiDoc文件可以被转换为多种格式,包括HTML、PDF、EPUB和手册页。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/a/asciidoc/asciidoc-10.2.0.tar.gz
-
下载 MD5 校验和: ecac3af818f7a65596efc6e243b520a0
-
下载大小: 212 KB
-
预计所需磁盘空间: 4.3 MB
-
预计构建时间: 小于 0.1 SBU
Asciidoc依赖
可选 (运行时)
docbook-xsl-nons-1.79.2, fop-2.8, libxslt-1.1.37, Lynx-2.8.9rel.1, dblatex, 和 W3m
安装Asciidoc
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user asciidoc
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheels。
--no-index: 忽略包索引(只查看——find-links url)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 请勿安装软件包依赖。这个选项可能需要使用–upgrade或–force-reinstall选项。
内容
安装程序: a2x 和 asciidoc
安装库: None
安装目录: /usr/lib/python3.11/site-packages/asciidoc 和 /usr/lib/python3.11/site-packages/asciidoc-10.2.0.dist-info
简要描述
a2x 是AsciiDoc的工具链管理器(将AsciiDoc文本文件转换为其他文件格式)。
asciidoc 将AsciiDoc文本文件转换为HTML或DocBook。
CSSSelect-1.2.0
简介CSSSelect模块
CSSSelect为Python提供CSS选择器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/c/cssselect/cssselect-1.2.0.tar.gz
-
下载 MD5 校验和: 27fbafacce5447cb867acb240d35002a
-
下载大小: 1.2 MB
-
预计所需磁盘空间: 512 KB (为测试添加488 KB)
-
预计构建时间: 小于 0.1 SBU
CSSSelect依赖
必要
可选 (用于测试)
安装CSSSelect
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user cssselect
以测试安装问题,执行 pytest.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheels。
--no-index: 忽略包索引(只查看–find-links url)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/cssselect
CacheControl-0.12.11
简介CacheControl模块
CacheControl是httplib2中缓存算法的端口,用于requests会话对象。编写它的原因是httplib2对缓存的更好支持通常会因为缺乏线程安全而被削弱。缓存方面的请求也是如此。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://anduin.linuxfromscratch.org/BLFS/CacheControl/CacheControl-0.12.11.tar.gz
-
下载 MD5 校验和: d4393117a879bf1b4e2c01e9c5a285a5
-
下载大小: 17 KB
-
预计所需磁盘空间: 468 KB
-
预计构建时间: 小于 0.1 SBU
CacheControl依赖
必要
msgpack-1.0.4 和 requests-2.28.2
安装CacheControl
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user cachecontrol
此模块没有可用的测试套件。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links url)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: doesitcache
安装库: None
安装目录: /usr/lib/python3.11/site-packages/CacheControl-0.12.11.dist-info 和 /usr/lib/python3.11/site-packages/cachecontrol
简要描述
doesitcache 是一个没有文档的命令行脚本。
Cython-0.29.33
简介Cython模块
Cython包提供了一个编译器,用于为Python语言编写C扩展。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/cython/cython/releases/download/0.29.33/Cython-0.29.33.tar.gz
-
下载 MD5 校验和: bd42c555cb2298b8a94fa8de7ee679ba
-
下载大小: 2.0 MB
-
预计所需磁盘空间: 66 MB
-
预计构建时间: 0.5 SBU
安装Cython
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user Cython
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links url)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: cygdb cython cythonize
安装库: None
安装目录: /usr/lib/python3.11/site-packages/Cython, /usr/lib/python3.11/site-packages/Cython-0.29.33.dist-info, 和 /usr/lib/python3.11/site-packages/pyximport
简要描述
cygdb 是Cython调试器。
cython 是一个用Cython语言编写代码的编译器。它输出一个C/C++程序,该程序可以用C/C++编译器编译。
cythonize 是一个用Cython语言编写代码的编译器。它输出一个可直接从Python导入的扩展模块。
dbusmock-0.28.7
简介dbusmock
dbusmock是一个Python库,用于为与D-Bus服务对话的软件编写测试。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/martinpitt/python-dbusmock/releases/download/0.28.7/python-dbusmock-0.28.7.tar.gz
-
下载 MD5 校验和: 7a605e4e1555e5b2fac18570422555e4
-
下载大小: 92 KB
-
预计所需磁盘空间: 1.0 MB
-
预计构建时间: 小于 0.1 SBU
dbusmock依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/dbusmock
安装dbusmock
使用以下命令构建包:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
要安装这个包,以root用户运行以下命令:
pip3 install --no-index --find-links dist --no-cache-dir --no-user python-dbusmock
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/dbusmock 和 /usr/lib/python3.11/site-packages/python_dbusmock-0.28.7.dist-info
D-Bus Python-1.3.2
简介D-Bus Python模块
D-Bus Python提供了与D-Bus API接口的Python绑定。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://dbus.freedesktop.org/releases/dbus-python/dbus-python-1.3.2.tar.gz
-
下载 MD5 校验和: 33be8a4a766e1c7c9a377b8f934ce21a
-
下载大小: 592 KB
-
预计所需磁盘空间: 4.0 MB
-
预计构建时间: 小于 0.1 SBU
D-Bus Python依赖
必要
dbus-1.14.6, GLib-2.74.5, meson_python-0.12.0, 和 patchelf-0.17.2
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/dbus-python
安装D-Bus Python
运行以下命令构建D-Bus Python模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
Now install the module as the root user:
pip3 install --no-index --find-links dist --no-cache-dir --no-user dbus-python
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/dbus 和 /usr/lib/python3.11/site-packages/dbus_python-1.3.2.egg-info
docutils-0.19
简介docutils
docutils是一组Python模块和程序,用于将纯文本文档处理为HTML、XML或LaTeX等格式。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/docutils/docutils-0.19.tar.gz
-
下载 MD5 校验和: 0afa992a6e93db892107c3f087d0d9df
-
下载大小: 2.0 MB
-
预计所需磁盘空间: 12 MB
-
预计构建时间: 小于 0.1 SBU
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/docutils
安装docutils
要构建Python 3应用程序,请执行以下命令:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
要安装Python应用程序,以root用户运行以下命令:
pip3 install --no-index --find-links dist --no-cache-dir --no-user docutils &&
for f in /usr/bin/rst*.py; do
ln -svf $(basename $f) /usr/bin/$(basename $f .py)
done
为了减少加载Python脚本所需的时间,pip3 install会将扩展名为.py的脚本编译为字节码,并将结果保存为_pycache_目录下的.pyc文件。但是这个包将.py脚本安装到/usr/bin中。因此它们的字节码文件将被安装到/usr/bin/__pycache_中,这是FHS不允许的。仍然以root用户身份,删除这个目录:
rm -rfv /usr/bin/__pycache__
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: docutils, rst2html4, rst2html5, rst2html, rst2latex, rst2man, rst2odt_prepstyles, rst2odt, rst2pseudoxml, rst2s5, rst2xetex, rst2xml, 和 rstpep2html
安装库: None
安装目录: /usr/lib/python3.11/site-packages/docutils{,-0.19.dist-info}
简要描述
docutils 将文档转换为各种格式。
rst2html 从独立的reStructuredText源生成(X)HTML文档。
rst2html4 从独立的reStructuredText源生成(X)HTML文档。
rst2html5 从独立的reStructuredText源生成HTML5文档。
rst2latex 从独立的reStructuredText源生成LaTeX文档。
rst2man 从独立的reStructuredText源生成普通的unix手动文档。
rst2odt 从独立的reStructuredText源生成OpenDocument/OpenOffice/ODF文档。
rst2odt_prepstyles 修复了一个字处理器生成的styles.odt,供odtwriter使用。
rst2pseudoxml 从独立的reStructuredText源生成伪xml(用于测试)。
rst2s5 从独立的reStructuredText源生成S5 (X)HTML幻灯片。
rst2xetex 从独立的reStructuredText源生成LaTeX文档,用于使用unicode感知的TeX变体XeLaTeX或LuaLaTeX进行编译。
rst2xml 从独立的reStructuredText源生成文档原生XML。
rstpep2html 从reStructuredText格式的PEP文件生成(X)HTML。
Doxypypy-0.8.8.7
简介Doxypypy模块
Doxypypy包是一个用于python的doxygen过滤器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/d/doxypypy/doxypypy-0.8.8.7.tar.gz
-
下载 MD5 校验和: 5773d0a7882df900cbda8ee5107e1ced
-
下载大小: 45 KB
-
预计所需磁盘空间: 2.1 MB
-
预计构建时间: 小于 0.1 SBU
Doxypypy依赖
必要
chardet-5.1.0 和 Doxygen-1.9.6 (在运行时)
安装Doxypypy
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user doxypypy
这个包没有一个可用的测试套件。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: doxypypy
安装库: None
安装目录: /usr/lib/python3.11/site-packages/doxypypy 和 /usr/lib/python3.11/site-packages/doxypypy-0.8.8.7.dist-info
简要描述
doxypypy 使用语法感知的方法过滤用于Doxygen的Python代码。
Doxyqml-0.5.2
简介Doxyqml模块
Doxyqml包允许使用Doxygen记录QML类。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/d/doxyqml/doxyqml-0.5.2.tar.gz
-
下载 MD5 校验和: f7b957fea48654c76837b0c5e9e3c2af
-
下载大小: 28 KB
-
预计所需磁盘空间: 600 KB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Doxyqml依赖
必要 (运行时)
可选 (用于测试)
安装Doxyqml
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user doxyqml
为了测试安装,运行:
pytest
测试test_qmlclass.py会失败。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: doxyqml
安装库: None
安装目录: /usr/lib/python3.11/site-packages/doxyqml 和 /usr/lib/python3.11/site-packages/doxyqml-0.5.2.dist-info
简要描述
doxyqml 是QML文件的Doxygen输入过滤器。
Gi-DocGen-2023.1
简介Gi-DocGen模块
Gi-DocGen是一个基于对象库的文档生成器。GObject是GNOME项目的基本类型系统。GI-Docgen重用基于gobject库生成的内省数据来生成这些库的API引用,以及其他辅助文档。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/g/gi-docgen/gi-docgen-2023.1.tar.gz
-
下载 MD5 校验和: 6d6690dad5daa5b155341ab2f49eaa6b
-
下载大小: 2.4 MB
-
预计所需磁盘空间: 19 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Gi-DocGen依赖
必要
Markdown-3.4.1, Pygments-2.14.0, 和 typogrify-2.0.7
可选 (用于测试)
安装gi-docgen
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user gi-docgen
要测试安装,执行以下命令 pytest.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: gi-docgen
安装库: None
安装目录: /usr/lib/python3.11/site-packages/gidocgen 和 /usr/lib/python3.11/site-packages/gi_docgen-2023.1.dist-info
简要描述
gi-docgen 管理基于libgobject的库的文档。
libxml2-2.10.3 (Python2模块)
介绍libxml2 Python2模块
Python3绑定是在libxml2-2.10.3中构建的,本书中的大多数包在旧版本的Python2中都没有使用这些绑定。
通过在安装libxml2-2.10.3之后构建这些绑定,就不需要重新构建该包耗时的主要部分(如果使用了所有依赖)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/libxml2/2.10/libxml2-2.10.3.tar.xz
-
下载 MD5 校验和: f9edac7fac232b3657a003fd9a5bbe42
-
下载大小: 2.5 MB
-
预计所需磁盘空间: 49 MB (安装2.3 MB)
-
预计构建时间: 小于 0.1 SBU
libxml2 (Python2)依赖
必要
libxml2-2.10.3 和 Python-2.7.18
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libxml2
安装libxml2 Python2模块
要构建Python 2模块,请运行:
./configure PYTHON=python2 &&
cd python &&
python2 setup.py build
要安装Python 2模块,使用root用户运行:
python2 setup.py install --optimize=1
内容
安装模块: drv_libxml2.py, libxml2.py
安装库: libxml2mod.so
安装目录: None
简要描述
drv_libxml2.py 是一个用于libxml2的Python2 SAX驱动程序。
libxml2.py 是libxml2的Python2绑定。
libxml2mod.so 是Python2使用libxml2.so的接口。
lxml-4.9.2
简介lxml模块
lxml为libxslt-1.1.37 和 libxml2-2.10.3提供了Python绑定。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/l/lxml/lxml-4.9.2.tar.gz
-
下载 MD5 校验和: aa84a7ce47581b43cb827145340505c6
-
下载大小: 3.5 MB
-
预计所需磁盘空间: 109 MB
-
预计构建时间: 0.9 SBU
lxml依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/lxml
安装lxml
要构建Python 3模块,请运行:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
要安装该模块,以root用户身份执行以下命令:
pip3 install --no-index --find-links dist --no-cache-dir --no-user lxml
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/lxml 和 /usr/lib/python3.11/site-packages/lxml-4.9.2.dist-info
Mako-1.2.4
简介Mako模块
Mako是一个Python模块,它为Python平台实现了hyperfast和轻量级模板。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/M/Mako/Mako-1.2.4.tar.gz
-
下载 MD5 校验和: 651f365616611fcd4f2702a9002e2195
-
下载大小: 485 KB
-
预计所需磁盘空间: 3.9 MB (添加1.2 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Mako依赖
可选 (用于测试)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/Mako
安装Mako
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
以root用户的身份安装模块:
pip3 install --no-index --find-links dist --no-cache-dir --no-user Mako
要测试安装,执行以下命令 pytest.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: mako-render
安装库: None
安装目录: /usr/lib/python3.11/site-packages/mako 和 /usr/lib/python3.11/site-packages/Mako-1.2.4.dist-info
简要描述
mako-render 渲染模板。
NumPy-1.24.2
简介NumPy模块
NumPy是使用Python进行科学计算的基础包。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/n/numpy/numpy-1.24.2.tar.gz
-
下载 MD5 校验和: c4212a8da1ecf17ece37e2afd0319806
-
下载大小: 1.2 MB
-
预计所需磁盘空间: 159 MB (add 89 MB for tests)
-
预计构建时间: 1.1 SBU (1.9 SBU for tests)
NumPy依赖
必要
可选
fortran从 GCC-12.2.0, lapack and cblas, openblas
可选 (用于测试)
attrs-22.2.0, pytest-7.2.1, hypothesis
安装NumPy
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user numpy
可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install hypothesis &&
python3 runtests.py
deactivate
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: f2py, f2py3 和 f2py3.11 (一式三份)
安装库: None
安装目录: /usr/lib/python3.11/site-packages/numpy
简要描述
f2py 是Fortran到Python接口生成器实用程序。
Packaging-23.0
简介Packaging模块
打包库提供了实现互操作性规范的实用程序,这些实用程序具有明确的正确行为或从单一共享实现中获得极大好处。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/p/packaging/packaging-23.0.tar.gz
-
下载 MD5 校验和: 5c7b22d9258e8132c16cee4f230d8252
-
下载大小: 123 KB
-
预计所需磁盘空间: 2.9 MB (添加28 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (0.2 SBU用于测试)
Packaging依赖
必要
可选 (用于测试)
安装Packaging
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user packaging
假设已经安装了pytest-7.2.1,但没有安装其他可选依赖项,可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install pretend &&
python3 /usr/bin/pytest
deactivate
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/packaging 和 /usr/lib/python3.11/site-packages/packaging-23.0.dist-info
Py3c-1.4
简介Py3c
Py3c可以帮助你将C扩展移植到Python 3。它提供了详细的指南和一组宏,以简化移植并减少样板。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/encukou/py3c/archive/v1.4/py3c-1.4.tar.gz
-
下载 MD5 校验和: 53029afde7e0cf8672a2d69d378a0cfc
-
下载大小: 47 KB
-
预计所需磁盘空间: 608 KB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/py3c
安装Py3c
Py3c包是一个只包含头文件的包,因此不需要配置和编译。
要测试这个包,请执行以下命令:
make test-python3 &&
make test-python3-cpp
要安装Python 3模块,请以root用户运行以下命令:
make prefix=/usr install
内容
安装程序: None
安装库: None
安装目录: /usr/include/py3c
PyAtSpi2-2.46.0
简介PyAtSpi2
PyAtSpi2包包含用于GNOME可访问性核心组件的Python绑定。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/pyatspi/2.46/pyatspi-2.46.0.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/pyatspi/2.46/pyatspi-2.46.0.tar.xz
-
下载 MD5 校验和: 2b1ca71ad75a900ed0eb6d6d012f8bfc
-
下载大小: 320 KB
-
预计所需磁盘空间: 3.8 MB
-
预计构建时间: 小于 0.1 SBU
PyAtSpi2依赖
必要
推荐
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pyatspi2
安装PyAtSpi2
要将PyAtSpi2构建为Python 3模块,请运行以下命令:
./configure --prefix=/usr --with-python=/usr/bin/python3
这个包没有附带测试套件。
要安装Python 3模块,请以root用户运行以下命令:
make install
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/pyatspi
PyCairo-1.18.2
介绍PyCairo for Python2模块
这个版本的PyCairo提供了将Python2绑定到Cairo的功能。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/pygobject/pycairo/releases/download/v1.18.2/pycairo-1.18.2.tar.gz
-
下载 MD5 校验和: be2ba51f234270dec340f28f1695a95e
-
下载大小: 196 KB
-
预计所需磁盘空间: 2.3 MB
-
预计构建时间: 小于 0.1 SBU
PyCairo依赖
必要
可选
Hypothesis (用于测试)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pycairo
安装PyCairo
注意
只有像Gimp-2.10.32这样的包才会保留这个版本的PyCairo,它在Gimp-3发布之前一直停留在Python2上。
通过以下命令安装PyCairo以运行Python2:
python2 setup.py build
这个包没有附带测试套件。
现在,作为root用户:
python2 setup.py install --optimize=1 &&
python2 setup.py install_pycairo_header &&
python2 setup.py install_pkgconfig
内容
安装程序: None
安装库: _cairo.so
安装目录: /usr/include/pycairo, /usr/lib/python2.7/site-packages/cairo, /usr/lib/python2.7/site-packages/pycairo-1.18.2-py2.7.egg,
PyCairo-1.23.0
简介PyCairo模块
PyCairo提供了到Cairo的Python绑定。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/pygobject/pycairo/releases/download/v1.23.0/pycairo-1.23.0.tar.gz
-
下载 MD5 校验和: 7a3729d21659098e1b9a411b62e88966
-
下载大小: 340 KB
-
预计所需磁盘空间: 3.0 MB
-
预计构建时间: 小于 0.1 SBU
PyCairo依赖
必要
可选
Hypothesis 和 pytest-7.2.1 (用于测试)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pycairo
安装PyCairo
注意
当前版本的pycairo不再构建Python2模块。如果你需要将该模块用于诸如Gimp-2.10.32这样的包,请使用PyCairo-1.18.2。
通过以下命令安装PyCairo以安装Python3:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
要运行测试,这个包需要可选的pytest模块。如果安装了,通过运行ninja test来运行测试。test_surface.py的测试失败了。
现在,作为root用户:
ninja install
内容
安装程序: None
安装库: None
安装目录: /usr/include/pycairo, /usr/lib/python3.11/site-packages/cairo, 和 /usr/lib/python3.11/site-packages/pycairo-1.23.0.egg-info
PyCryptodome-3.17.0
简介PyCryptodome模块
PyCryptodome是安全散列函数(如SHA256和RIPEMD160)和各种加密算法(AES、DES、RSA、ElGamal等)的集合,是PyCrypto的直接替代品。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/Legrandin/pycryptodome/archive/v3.17.0/pycryptodome-3.17.0.tar.gz
-
下载 MD5 校验和: 0a6e509d91843c49ab1bc09d573e1959
-
下载大小: 16 MB
-
预计所需磁盘空间: 54 MB
-
预计构建时间: 0.1 SBU
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pycryptodome
安装PyCryptodome
要将PyCryptodome构建为Python 3模块,请运行以下命令:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
要安装该模块,以root用户运行以下命令:
pip3 install --no-index --find-links dist --no-cache-dir --no-user pycryptodome
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/Crypto /usr/lib/python3.11/site-packages/pycryptodome-3.17.0.dist-info
Pygments-2.14.0
简介Pygments模块
Pygments是一个用Python编写的通用语法高亮器,支持300多种语言。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/P/Pygments/Pygments-2.14.0.tar.gz
-
下载 MD5 校验和: 447be4afb076c8325a7dc659aff5b931
-
下载大小: 4.2 MB
-
预计所需磁盘空间: 51 MB
-
预计构建时间: 小于 0.1 SBU
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pygments
安装Pygments
构建Python 3模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
要安装这个包,以root用户运行以下命令:
pip3 install --no-index --find-links dist --no-cache-dir --no-user Pygments
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: pygmentize
安装库: None
安装目录: /usr/lib/python3.11/site-packages/pygments 和 /usr/lib/python3.11/site-packages/Pygments-2.14.0.dist-info
简要描述
pygmentize 突出显示输入文件并将结果写入输出文件。
PyGObject-2.28.7
简介PyGObject模块
PyGObject-2.28.7提供了从GLib到GObject类的Python 2绑定。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/pygobject/2.28/pygobject-2.28.7.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/pygobject/2.28/pygobject-2.28.7.tar.xz
-
下载 MD5 校验和: ae48b60c690c4aa894e69e0c97802745
-
下载大小: 728 KB
-
预计所需磁盘空间: 17 MB
-
预计构建时间: 0.1 SBU
PyGObject依赖
必要
GLib-2.74.5, PyCairo-1.18.2 和 Python-2.7.18
可选
gobject-introspection-1.74.0 和 libxslt-1.1.37 (构建文档)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pygobject2
安装PyGObject
运行以下命令安装PyGObject:
./configure --prefix=/usr --disable-introspection &&
make
此软件包没有可用的测试套件。
现在,作为root用户:
make install
命令解释
--disable-introspection: 如果你已经安装了gobject-introspection-1.74.0,请忽略这个开关。请注意,它与PyGObject-3.42.2冲突。
--disable-docs: 如果安装了libxslt-1.1.37,则此选项将禁用重建html文档。
内容
安装程序: pygobject-codegen-2.0
安装库: libpyglib-2.0-python.so, _gio.so, unix.so, _glib.so 和 _gobject.so.
安装目录: /usr/include/pygtk-2.0, /usr/lib/python2.7/site-packages/gtk-2.0/{gio,glib,gobject}, /usr/share/gtk-doc/html/pygobject 和 /usr/share/pygobject/2.0
PyGObject-3.42.2
简介PyGObject3模块
PyGObject3提供了从GLib到GObject类的Python绑定。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/pygobject/3.42/pygobject-3.42.2.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/pygobject/3.42/pygobject-3.42.2.tar.xz
-
下载 MD5 校验和: c5b31bb58156661c0954f1dbfc950fc9
-
下载大小: 548 KB
-
预计所需磁盘空间: 8.0 MB (添加2.5 MB用于测试)
-
预计构建时间: 0.1 SBU (有测试)
PyGObject3依赖
必要
gobject-introspection-1.74.0 和 PyCairo-1.23.0 (Python 3模块)
可选 (用于测试)
GTK-4.8.3, pep8, pyflakes, 和 pytest-7.2.1
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pygobject3
安装PyGObject3
首先,删除一个有错误的测试:
mv -v tests/test_gdbus.py{,.nouse}
运行以下命令安装pygobject3:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
要测试结果,执行: ninja test. 运行测试需要具有总线地址的已经活动的图形会话。如果没有安装GTK-4.8.3,另一轮测试可能会报告错误。
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
内容
安装程序: None
安装库: /usr/lib/python3.11/site-packages/gi/_gi{,_cairo}.cpython-311-
安装目录: /usr/include/pygobject-3.0 和 /usr/lib/python3.11/site-packages/{gi,pygtkcompat}
PyGTK-2.24.0
简介PyGTK模块
PyGTK允许您使用Python编程语言轻松地创建具有图形用户界面的程序。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/pygtk/2.24/pygtk-2.24.0.tar.bz2
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/pygtk/2.24/pygtk-2.24.0.tar.bz2
-
下载 MD5 校验和: a1051d5794fd7696d3c1af6422d17a49
-
下载大小: 2.2 MB
-
预计所需磁盘空间: 83 MB
-
预计构建时间: 0.7 SBU
PyGTK依赖
必要
PyGObject-2.28.7 和 Python-2.7.18
必要 (atk模块)
必要 (pango模块)
必要 (pangocairo模块)
PyCairo-1.18.2 和 Pango-1.50.12
必要 (gtk 和 gtk.unixprint 模块)
PyCairo-1.18.2 和 GTK+-2.24.33.
必要 (gtk.glade 模块)
PyCairo-1.18.2 和 libglade-2.6.4.
可选
可选 (构建文档)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pygtk
安装PyGTK
首先,通过删除未定义的api使PyGTK适应Pango中的变化:
sed -i '1394,1402 d' pango.defs
运行以下命令安装PyGTK:
./configure --prefix=/usr &&
make
测试必须从活动X显示器运行。如果是这样,问题: make check.
现在,作为root用户:
make install
命令解释
--enable-docs: 如果安装了libxslt-1.1.37,则此选项允许重建html文档。
内容
安装程序: pygtk-codegen-2.0 和 pygtk-demo.
安装库: atk.so, _gtk.so, glade.so, gtkunixprint.so, pango.so 和 pangocairo.so.
安装目录: /usr/include/pygtk-2.0, /usr/lib/pygtk, /usr/lib/python2.7/site-packages/gtk-2.0, /usr/share/gtk-doc/html/pygtk 和 /usr/share/pygtk.
简要描述
pygtk-codegen-2.0 是一个包装器脚本,用于运行PyGTK codegen模块。
pygtk-demo 是一个Python包装器,用于运行PyGTK演示程序。
pyparsing-3.0.9
简介pyparsing模块
与传统的lex/yacc方法或使用正则表达式相比,pyparsing模块是创建和执行简单语法的另一种方法。它提供了一个类库,客户端代码使用它直接在Python代码中构建语法。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-3.0.9.tar.gz
-
下载 MD5 校验和: fadc2f3bf5872bf6310576a86c3566e0
-
下载大小: 1.9 MB
-
预计所需磁盘空间: 8.7 MB (添加26 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (0.3 SBU用于测试)
pyparsing依赖
必要
可选
railroad-diagrams (也需要进行测试)
可选 (用于测试)
安装pyparsing
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user pyparsing
假设已经安装了pytest-7.2.1,但没有安装其他可选依赖项,可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install railroad-diagrams &&
python3 /usr/bin/pytest
deactivate
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/pyparsing 和 /usr/lib/python3.11/site-packages/pyparsing-3.0.9.dist-info
pySerial-3.5
简介pySerial模块
pySerial模块封装了对串口的访问。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/p/pyserial/pyserial-3.5.tar.gz
-
下载 MD5 校验和: 1cf25a76da59b530dbfc2cf99392dc83
-
下载大小: 156 KB
-
预计所需磁盘空间: 2.1 MB (为测试添加0.2 MB)
-
预计构建时间: 小于 0.1 SBU
pySerial依赖
必要
可选 (用于测试)
安装pySerial
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user pyserial
以测试安装问题,执行 pytest.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: pyserial-miniterm 和 pyserial-ports
安装库: None
安装目录: /usr/lib/python3.11/site-packages/pyserial-3.5.dist-info 和 /usr/lib/python3.11/site-packages/serial
简要描述
pyserial-miniterm 是一个控制台应用程序,提供一个小型终端应用程序。它可能从运行它的终端继承终端功能。
pyserial-ports 列出可用的端口。
Pytest-7.2.1
简介Pytest模块
Pytest框架使编写小型、可读的测试变得容易,并且可以扩展为支持应用程序和库的复杂功能测试。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/p/pytest/pytest-7.2.1.tar.gz
-
下载 MD5 校验和: 366a4047534ef0485f700c20bb574f67
-
下载大小: 1.2 MB
-
预计所需磁盘空间: 10 MB (添加31 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (1.1 SBU用于测试)
Pytest依赖
必要
attrs-22.2.0, iniconfig-2.0.0, packaging-23.0, pluggy-1.0.0, 和 py-1.11.0
推荐
可选 (用于测试)
Pygments-2.14.0, requests-2.28.2, argcomplete, hypothesis, mock, nose, 和 xmlschema
安装Pytest
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user pytest
可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install pytest[testing] &&
python3 /usr/bin/pytest
deactivate
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: pytest 和 py.test (不同的文件,但内容相同)
安装库: None
安装目录: /usr/lib/python3.11/site-packages/_pytest, /usr/lib/python3.11/site-packages/pytest, 和 /usr/lib/python3.11/site-packages/pytest-7.2.1.dist-info
简要描述
pytest 在python模块源目录中设置、管理和/或运行test。
PyXDG-0.28
简介PyXDG模块
PyXDG是一个用于访问freedesktop.org标准的Python库。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 MD5 校验和: d9a1d04fe60c956f5e3b9de3b4ef4722
-
下载大小: 76 KB
-
预计所需磁盘空间: 808 KB
-
预计构建时间: 小于 0.1 SBU
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pyxdg
安装PyXDG
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
以root用户的身份安装模块:
pip3 install --no-index --find-links dist --no-cache-dir --no-user pyxdg
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装目录: /usr/lib/python3.11/site-packages/xdg 和 /usr/lib/python3.11/site-packages/pyxdg-0.28.dist-info
PyYAML-6.0
简介PyYAML模块
PyYAML是一个Python模块,实现了下一代的YAML解析器和发射器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/P/PyYAML/PyYAML-6.0.tar.gz
-
下载 MD5 校验和: 1d19c798f25e58e3e582f0f8c977dbb8
-
下载大小: 124 KB
-
预计所需磁盘空间: 3.3 MB
-
预计构建时间: 小于 0.1 SBU
PyYAML依赖
必要
cython-0.29.33 和 libyaml-0.2.5
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/PyYAML
安装PyYAML
使用以下命令构建PyYAML:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,以root用户的身份安装该模块:
pip3 install --no-index --find-links dist --no-cache-dir --no-user PyYAML
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python2.7/site-packages/yaml 和 /usr/lib/python3.11/site-packages/PyYAML-0.2.5.dist-info
Recommonmark-0.7.1
简介Recommonmark模块
Recommonmark是CommonMark与文档兼容的桥梁。它允许在Docutils和Sphinx项目中编写CommonMark。现在推荐使用MyST-Parser。不幸的是,LLVM-15.0.7仍然依赖于这个模块。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/r/recommonmark/recommonmark-0.7.1.tar.gz
-
下载 MD5 校验和: 3c550a76eb62006bf007843a9f1805bb
-
下载大小: 34 KB
-
预计所需磁盘空间: 680 KB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Recommonmark依赖
必要
commonmark-0.9.1 和 sphinx-6.1.3
可选 (用于测试)
安装Recommonmark
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user recommonmark
现在推荐使用MyST-Parser。因此,必须禁用很多测试,因为最新版本的Sphinx无法通过这些测试。可以使用以下命令对安装进行部分测试:
pytest -k 'not (test_integration or test_code or test_headings or test_image or test_links or test_lists)'
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: cm2html, cm2latex, cm2man, cm2pseudoxml, cm2xetex, 和 cm2xml
安装库: None
安装目录: /usr/lib/python3.11/site-packages/recommonmark 和 /usr/lib/python3.11/site-packages/recommonmark-0.7.1.dist-info
简要描述
cm2html 根据markdown源生成HTML文档。
cm2latex 根据markdown源生成latex文档。
cm2man 从markdown源生成一个管理页面。
cm2pseudoxml 从markdown源生成伪xml文档。
cm2xetex 从markdown源生成xetex文档。
cm2xml 根据markdown源生成XML文档。
Requests-2.28.2
简介Requests模块
Requests包是为人类构建的一个优雅而简单的Python HTTP库。它允许非常轻松地发送HTTP/1.1请求。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/r/requests/requests-2.28.2.tar.gz
-
下载 MD5 校验和: 09b752e0b0a672d805ae54455c128d42
-
下载大小: 106 KB
-
预计所需磁盘空间: 1.4 MB (添加129 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (0.8 SBU用于测试)
额外下载
Requests依赖
必要
charset-normalizer-3.0.1, idna-3.4, 和 urllib3-1.26.14
推荐
make-ca-1.12, 与 p11-kit-0.24.1 (两者都需要使用系统https: certificates,消除了对Certifi模块不必要的依赖).
可选
PySocks (也需要进行测试)
可选 (用于测试)
pytest-7.2.1, Flask<2, httpbin, MarkupSafe<2.1, pytest-mock, pytest-httpbin, sphinx<5, trustme, 和 Werkzeug<2
安装Requests
首先应用一个补丁,这样这个模块也可以使用在Python3中已经使用过的指向系统证书的环境变量(在安装make-ca之后):
patch -Np1 -i ../requests-2.28.2-use_system_certs-1.patch
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user requests
假设安装了pytest-7.2.1,但没有安装其他可选依赖项,可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install --force-reinstall sphinx\<5 &&
pip3 install pytest-mock \
werkzeug\<2 \
flask\<2 \
pytest-httpbin \
pysocks \
trustme &&
pip3 install --force-reinstall Markupsafe\<2.1 &&
python3 /usr/bin/pytest tests &&
deactivate
注意
请参阅make-ca-1.12以了解如何设置环境变量,以及如何在虚拟环境中安装Certifi和Requests模块的本地副本来覆盖系统证书。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/requests 和 /usr/lib/python3.11/site-packages/requests-2.28.2.dist-info
Scour-0.38.2
简介Scour模块
Scour是一个SVG(可伸缩矢量图形)优化器/清理器,它通过优化结构和删除不必要的数据来减少它们的大小。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/scour-project/scour/archive/v0.38.2/scour-0.38.2.tar.gz
-
下载 MD5 校验和: ae30f52602802f8c7df3a32e1f72b325
-
下载大小: 100 KB
-
预计所需磁盘空间: 1.3 MB
-
预计构建时间: 小于 0.1 SBU
Scour依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/scour
安装scour
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
要安装该模块,以root用户运行以下命令:
pip3 install --no-index --find-links dist --no-cache-dir --no-user scour
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: scour
安装库: None
安装目录: /usr/lib/python3.11/site-packages/scour 和 /usr/lib/python3.11/site-packages/scour-0.38.2.dist-info
简要描述
scour 是一个优化和清理SVG文件的程序。
six-1.16.0
简介Six模块
Six是一个Python 2到3兼容库。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/s/six/six-1.16.0.tar.gz
-
下载 MD5 校验和: a7c927740e4964dd29b72cebfc1429bb
-
下载大小: 36 KB
-
预计所需磁盘空间: 376 KB
-
预计构建时间: 小于 0.1 SBU
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/six
安装Six
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user six
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/six-1.16.0.dist-info
Sphinx-6.1.3
简介Sphinx模块
Sphinx包是一组工具,用于将一些结构化文本格式转换为各种格式的漂亮文档。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/sphinx-doc/sphinx/archive/v6.1.3/sphinx-6.1.3.tar.gz
-
下载 MD5 校验和: 18b07621d19d4b2cffd58d7a6ac5bed3
-
下载大小: 6.4 MB
-
预计所需磁盘空间: 43 MB (添加35 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (1.1 SBU用于测试)
Sphinx依赖
必要
alabaster-0.7.13, Babel-2.11.0, docutils-0.19, imagesize-1.4.1, packaging-23.0, Pygments-2.14.0, requests-2.28.2, snowballstemmer-2.2.0, sphinxcontrib-applehelp-1.0.3, sphinxcontrib-devhelp-1.0.2, sphinxcontrib-htmlhelp-2.0.0, sphinxcontrib-jsmath-1.0.1, sphinxcontrib-qthelp-1.0.3, 和 sphinxcontrib-serializinghtml-1.1.5
可选 (用于测试)
cython-0.29.33, pytest-7.2.1, texlive-20220321, 和 html5lib
安装Sphinx
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinx
假设已经安装了cython-0.29.33 和 pytest-7.2.1,但没有安装其他可选依赖项,可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install html5lib &&
python3 /usr/bin/pytest
deactivate
已知有一个测试tests/test_config.py::test_needs_sphinx失败了。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: sphinx-apidoc, sphinx-autogen, sphinx-build, 和 sphinx-quickstart
安装库: None
安装目录: /usr/lib/python3.11/site-packages/sphinx 和 /usr/lib/python3.11/site-packages/sphinx-6.1.3.dist-info
简要描述
sphinx-apidoc 使用python模块和包创建reST文件。
sphinx-autogen 根据给定输入文件中包含的特殊指令生成ReStructuredText。
sphinx-build 从ReStructuredText源文件生成各种格式的文档。
sphinx-quickstart 生成sphinx项目所需的文件。
Sphinx_rtd_theme-1.2.0
简介Sphinx_rtd_theme模块
sphinx_rtd_theme模块是一个Sphinx主题,旨在为桌面和移动设备上的文档用户提供良好的阅读体验。这个主题主要用于阅读文档,但可以与任何Sphinx项目一起工作。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/s/sphinx_rtd_theme/sphinx_rtd_theme-1.2.0.tar.gz
-
下载 MD5 校验和: e05658f53b4274bbe0756671bc188181
-
下载大小: 2.7 MB
-
预计所需磁盘空间: 14 MB (添加25 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Sphinx_rtd_theme依赖
必要
sphinx-6.1.3 和 sphinxcontrib-jquery-2.0.0
可选 (用于测试)
pytest-7.2.1 和 readthedocs-sphinx-ext
安装Sphinx_rtd_theme
修复了依赖列表的错误版本:
sed -e s/0.19/0.20/ \
-i setup.cfg
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinx_rtd_theme
假设已经安装了pytest-7.2.1,但没有安装其他可选依赖项,可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install readthedocs-sphinx-ext &&
python3 /usr/bin/pytest
deactivate
有几个测试会返回警告,因为它们使用了已弃用的sphinx API。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/sphinx_rtd_theme 和 /usr/lib/python3.11/site-packages/sphinx_rtd_theme-1.2.0.dist-info.
13.25 Python依赖
简介Python依赖
Python Modules中列出的Python模块具有BLFS中其他包不会引用的依赖项。这里列出了这些依赖关系。除非需要更最新的版本,否则它们不会定期更新。
重要
在BLFS中,我们通常使用pip3构建和安装Python 3模块。请注意,本书中的pip3 install命令应该以root身份运行,除非它是用于Python虚拟环境。以non-root用户运行pip3 install可能看起来工作正常,但它会导致其他用户无法访问已安装的模块。
pip3 install默认不会重新安装已经安装的模块。要使用 pip3 install 命令升级模块(例如,从meson-0.61.3升级到meson-0.62.0),请在命令行中插入--upgrade。如果由于某种原因确实需要降级一个模块或重新安装相同版本,请在命令行中插入--force-reinstall。
Alabaster-0.7.13
简介Alabaster模块
Alabaster包是sphinx文档系统的一个主题。虽然是单独开发的,但它是sphinx的默认主题。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/a/alabaster/alabaster-0.7.13.tar.gz
-
下载 MD5 校验和: 2e05a5f4fe5a8b95e5e576cbf4a5d503
-
下载大小: 11 KB
-
预计所需磁盘空间: 360 KB
-
预计构建时间: 小于 0.1 SBU
安装Alabaster
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user alabaster
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/alabaster 和 /usr/lib/python3.11/site-packages/alabaster-0.7.13.dist-info
Attrs-22.2.0
简介Attrs模块
Attrs包是sphinx文档系统的一个主题。虽然是单独开发的,但它是sphinx的默认主题。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/a/attrs/attrs-22.2.0.tar.gz
-
下载 MD5 校验和: eff16b3bbd0d9b72e118cca83a19d380
-
下载大小: 211 KB
-
预计所需磁盘空间: 2 MB (添加53 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (0.2 SBU用于测试)
可选 (用于测试)
pytest-7.2.1, coverage[toml], hypothesis, Pympler, mypy, pytest-mypy-plugins, zope.interface, 和 cloudpickle
安装Attrs
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user attrs
为了测试安装,运行:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install attrs[tests] &&
python3 /usr/bin/pytest &&
deactivate
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/attr, /usr/lib/python3.11/site-packages/attrs, 和 /usr/lib/python3.11/site-packages/attrs-22.2.0.dist-info
Babel-2.11.0
简介Babel模块
Babel包是一个集成的实用程序集合,用于帮助Python应用程序的国际化和本地化,重点是基于web的应用程序。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/B/Babel/Babel-2.11.0.tar.gz
-
下载 MD5 校验和: 9ee7784fd452d456206ecd3a12694010
-
下载大小: 8.9 MB
-
预计所需磁盘空间: 103 MB (添加30 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (0.1 SBU用于测试)
Babel依赖
必要
可选 (用于测试)
pytest-7.2.1, Python-3.11.2 (使用sqlite模块), freezegun==0.3.12, 和 pytest-cov
安装Babel
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user Babel
假设安装了pytest-7.2.1,但没有安装其他可选依赖项,可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install pytest-cov freezegun==0.3.12 &&
python3 /usr/bin/pytest
deactivate
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: pybabel
安装库: None
安装目录: /usr/lib/python3.11/site-packages/babel 和 /usr/lib/python3.11/site-packages/Babel-2.11.0.dist-info
简要描述
pybabel 是用于处理消息目录的命令行界面。
Chardet-5.1.0
简介chardet模块
Chardet是一个通用的字符编码检测器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/c/chardet/chardet-5.1.0.tar.gz
-
下载 MD5 校验和: 394bd03d7a258d2771040bfbd5a7bf66
-
下载大小: 2 MB
-
预计所需磁盘空间: 13 MB (增加1.1 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (0.3 SBU用于测试)
Chardet依赖
可选 (用于测试)
安装Chardet
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user chardet
以测试安装问题,执行 pytest.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: chardetect
安装库: None
安装目录: /usr/lib/python3.11/site-packages/chardet 和 /usr/lib/python3.11/site-packages/chardet-5.1.0.dist-info
简要描述
chardetect 是一个通用的字符编码检测器。
Charset-normalizer-3.0.1
简介charset-normalizer模块
charset-normalizer库有助于从未知字符编码中读取文本。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/c/charset-normalizer/charset-normalizer-3.0.1.tar.gz
-
下载 MD5 校验和: 12ee1c8bedbfba84e99db46d5d94f411
-
下载大小: 91 KB
-
预计所需磁盘空间: 1.1 MB (增加27 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Charset-normalizer依赖
可选 (用于测试)
安装Charset-normalizer
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user charset-normalizer
假设安装了pytest-7.2.1,但没有安装其他可选依赖项,可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install pytest-cov &&
python3 /usr/bin/pytest
deactivate
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: normalizer
安装库: None
安装目录: /usr/lib/python3.11/site-packages/charset_normalizer 和 /usr/lib/python3.11/site-packages/charset_normalizer-3.0.1.dist-info
简要描述
normalizer 是一个通用字符集检测器(发现原始编码并将文本规范化为unicode)。
Commonmark-0.9.1
简介Commonmark模块
Commonmark Markdown规范的CommonMark Python解析器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/c/commonmark/commonmark-0.9.1.tar.gz
-
下载 MD5 校验和: cd1dc70c4714d9ed4117a40490c25e00
-
下载大小: 94 KB
-
预计所需磁盘空间: 1.3 MB (添加30 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (0.1 SBU用于测试)
Commonmark依赖
可选 (用于测试)
pytest-7.2.1, flake8, 和 hypothesis
安装Commonmark
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user commonmark
假设已经安装了pytest-7.2.1,而没有安装其他可选依赖项,可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install hypothesis &&
python3 /usr/bin/pytest commonmark/tests/unit_tests.py
python3 commonmark/tests/run_spec_tests.py
deactivate
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: cmark
安装库: None
安装目录: /usr/lib/python3.11/site-packages/commonmark 和 /usr/lib/python3.11/site-packages/commonmark-0.9.1.dist-info
简要描述
cmark 根据CommonMark规范处理Markdown。
Editables-0.3
简介Editables模块
Editables是用于创建“editable wheels”的python库。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/e/editables/editables-0.3.tar.gz
-
下载 MD5 校验和: e91709fbb0ef586cb7b785042068ab67
-
下载大小: 4.6 KB
-
预计所需磁盘空间: 180 KB
-
预计构建时间: 小于 0.1 SBU
安装Editables
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user editables
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/editables 和 /usr/lib/python3.11/site-packages/editables-0.3.dist-info
Flit_core-3.8.0
简介Flit_core模块
Flit_core模块是Flit系统的关键组件,它提供了一种将Python包和模块放在PyPi上的简单方法。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/f/flit_core/flit_core-3.8.0.tar.gz
-
下载 MD5 校验和: 7c41da13273f7787709a24f74e0f5a99
-
下载大小: 40 KB
-
预计所需磁盘空间: 1.7 MB (添加25 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Flit_core依赖
可选 (用于测试)
安装Flit_core
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user flit_core
假设已经安装了pytest-7.2.1,但没有安装其他可选依赖项,可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install testpath &&
python3 /usr/bin/pytest
deactivate
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/flit_core 和 /usr/lib/python3.11/site-packages/flit_core-3.8.0.dist-info
Hatchling-1.12.2
简介Hatchling模块
Hatchling是一个可扩展的、符合标准的python模块构建后端。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/h/hatchling/hatchling-1.12.2.tar.gz
-
下载 MD5 校验和: 5a6e2fd0c877feea7e71b9d72bbdbed9
-
下载大小: 60 KB
-
预计所需磁盘空间: 2.3 MB
-
预计构建时间: 小于 0.1 SBU
Hatchling依赖
必要
editables-0.3, packaging-23.0, pathspec-0.10.3, 和 pluggy-1.0.0
安装Hatchling
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有一个可用的测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user hatchling
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: hatchling
安装库: None
安装目录: /usr/lib/python3.11/site-packages/hatchling 和 /usr/lib/python3.11/site-packages/hatchling-1.12.2.dist-info
简要描述
hatchling 是一个python模块构建器。
Hatch_vcs-0.3.0
简介Hatch-vcs模块
Hatch_vcs是一个用于多个VCS版本控制的Hatch插件。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/h/hatch-vcs/hatch_vcs-0.3.0.tar.gz
-
下载 MD5 校验和: c2f2cbe6851b7b2969cb4aa24c4b9b2f
-
下载大小: 9.9 KB
-
预计所需磁盘空间: 436 KB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Hatch_vcs依赖
必要
hatchling-1.12.2 和 setuptools_scm-7.1.0
可选 (用于测试)
安装Hatch_vcs
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user hatch_vcs
要测试安装,执行以下命令 pytest. One test fails.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/hatch_vcs 和 /usr/lib/python3.11/site-packages/hatch_vcs-0.3.0.dist-info
Idna-3.4
简介Idna模块
Idna模块提供对IDNA (Internationalized Domain Names in Applications)协议的支持,Idna协议在RFC 5891中有详细说明。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/i/idna/idna-3.4.tar.gz
-
下载 MD5 校验和: 13ea24e076212b6baae1135a116d1e0e
-
下载大小: 179 KB
-
预计所需磁盘空间: 2.1 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Idna依赖
必要
可选 (用于测试)
安装Idna
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user idna
要测试安装,请运行 pytest.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/idna 和 /usr/lib/python3.11/site-packages/idna-3.4.dist-info
Imagesize-1.4.1
简介Imagesize模块
imagesize包分析图像文件头并返回图像大小和DPI。它支持JPEG/JPEG 2000/PNG/GIF/TIFF/SVG/Netpbm/WebP格式。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/i/imagesize/imagesize-1.4.1.tar.gz
-
下载 MD5 校验和: 5a40586a25c07e1a8f16f6267252c321
-
下载大小: 1.2 MB
-
预计所需磁盘空间: 1.8 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Imagesize依赖
可选 (用于测试)
pytest-7.2.1 和 requests-2.28.2
安装Imagesize
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user imagesize
要测试安装,请运行 pytest.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/imagesize 和 /usr/lib/python3.11/site-packages/imagesize-1.4.1.dist-info
Iniconfig-2.0.0
简介Iniconfig模块
Iniconfig是一个小而简单的ini文件解析模块。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/i/iniconfig/iniconfig-2.0.0.tar.gz
-
下载 MD5 校验和: 3c030b3f51dcc3aca585de05635600e4
-
下载大小: 4.5 KB
-
预计所需磁盘空间: 168 KB
-
预计构建时间: 小于 0.1 SBU
Iniconfig依赖
必要
安装Iniconfig
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user iniconfig
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/iniconfig 和 /usr/lib/python3.11/site-packages/iniconfig-2.0.0.dist-info
Markdown-3.4.1
简介Markdown模块
Markdown是John Gruber的Markdown规范的Python解析器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/M/Markdown/Markdown-3.4.1.tar.gz
-
下载 MD5 校验和: 597656cf4feadf1998b0511201620202
-
下载大小: 315 KB
-
预计所需磁盘空间: 4.1 MB (添加27 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Markdown依赖
可选 (用于测试)
pytest-7.2.1, PyYAML-6.0, 和 coverage
安装Markdown
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user Markdown
假设已经安装了pytest-7.2.1和PyYAML-6.0,而没有安装其他可选依赖项,可以使用以下代码测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install coverage &&
python3 /usr/bin/pytest --ignore=tests/test_syntax/extensions/test_md_in_html.py
deactivate
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: markdown_py
安装库: None
安装目录: /usr/lib/python3.11/site-packages/markdown 和 /usr/lib/python3.11/site-packages/Markdown-3.4.1.dist-info
简要描述
markdown_py 将markdown文件转换为(x)html。
Meson_python-0.12.0
简介Meson_python模块
Meson_python模块包含一个用于Meson项目的Python构建后端(PEP 517)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/m/meson_python/meson_python-0.12.0.tar.gz
-
下载 MD5 校验和: 1c9a037d78a8f35d8704b98d37b638c4
-
下载大小: 44 KB
-
预计所需磁盘空间: 1080 KB
-
预计构建时间: 小于 0.1 SBU
Meson_python依赖
必要
推荐 (运行时)
安装Meson_python
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user meson_python
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/meson_python 和 /usr/lib/python3.11/site-packages/meson_python-0.12.0.dist-info
MessagePack-1.0.4
简介MessagePack模块
MessagePack是一种高效的二进制序列化格式。它允许你在多种语言(如JSON)之间交换数据。但它更快、更小。这个包提供了用于读写MessagePack数据的CPython绑定。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/m/msgpack/msgpack-1.0.4.tar.gz
-
下载 MD5 校验和: 1822cdb939e7531f7ad0f7f09b434f22
-
下载大小: 126 KB
-
预计所需磁盘空间: 1.9 MB (添加0.3 MB用于测试)
-
预计构建时间: 小于 0.1 SBU
MessagePack依赖
必要
cython-0.29.33 和 setuptools_scm-7.1.0
可选 (用于测试)
安装MessagePack
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user msgpack
以测试安装问题,执行 pytest.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/msgpack-1.0.4.dist-info 和 /usr/lib/python3.11/site-packages/msgpack
Pathspec-0.10.3
简介Pathspec模块
Pathspec是一个用于文件路径模式匹配的实用程序库。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/p/pathspec/pathspec-0.10.3.tar.gz
-
下载 MD5 校验和: d89408b52aff020ac768a14c0ef1c7de
-
下载大小: 45 KB
-
预计所需磁盘空间: 912 KB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Pathspec依赖
可选 (用于测试)
安装Pathspec
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user pathspec
要测试安装,执行以下命令 pytest.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/pathspec 和 /usr/lib/python3.11/site-packages/pathspec-0.10.3.dist-info
Pluggy-1.0.0
简介Pluggy模块
Pluggy包通过为宿主程序安装插件,使用户能够扩展或修改宿主程序的行为。插件代码将作为正常程序执行的一部分运行,改变或增强它的某些方面。本质上,pluggy支持函数挂钩,这样用户就可以构建“可插拔”的系统。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/p/pluggy/pluggy-1.0.0.tar.gz
-
下载 MD5 校验和: daa6fddfb6cd364f3c82e52098911e4b
-
下载大小: 50 KB
-
预计所需磁盘空间: 636 KB (添加26 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Pluggy依赖
推荐
可选 (用于测试)
pytest-7.2.1 和 pytest-benchmark
安装Pluggy
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user pluggy
假设安装了pytest-7.2.1,但其他可选的依赖没有安装,可以使用以下命令测试安装:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install pytest-benchmark &&
python3 /usr/bin/pytest
deactivate
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/pluggy 和 /usr/lib/python3.11/site-packages/pluggy-1.0.0.dist-info
Py-1.11.0
简介Py模块
Py库是Pytest中使用的Python开发支持库。它已被弃用,应该在某个时候被删除,但它的一部分仍然在Pytest中使用。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/p/py/py-1.11.0.tar.gz
-
下载 MD5 校验和: bde7dcc1cb452a1e10206ef2f811ba88
-
下载大小: 203 KB
-
预计所需磁盘空间: 2.8 MB
-
预计构建时间: 小于 0.1 SBU
Py依赖
推荐
安装Py
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
由于此包的弃用,测试套件没有维护,无法运行。
pip3 install --no-index --find-links dist --no-cache-dir --no-user py
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/py 和 /usr/lib/python3.11/site-packages/py-1.11.0.dist-info
Pyproject-Metadata-0.7.0
简介Pyproject-Metadata模块
Pyproject-Metadata模块包含一个用于PEP 621元数据的数据类,支持“核心元数据”(PEP 643)生成。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/p/pyproject-metadata/pyproject-metadata-0.7.0.tar.gz
-
下载 MD5 校验和: 7e02d67678d5b722c06436393d3a905a
-
下载大小: 8 KB
-
预计所需磁盘空间: 212 KB
-
预计构建时间: 小于 0.1 SBU
Pyproject-Metadata依赖
必要
安装Pyproject-Metadata
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user pyproject-metadata
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/pyproject_metadata 和 /usr/lib/python3.11/site-packages/pyproject_metadata-0.7.0.dist-info
Pytz-2022.7.1
简介Pytz模块
Pytz库将IANA tz数据库引入Python。它允许精确和跨平台的时区计算。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/p/pytz/pytz-2022.7.1.tar.gz
-
下载 MD5 校验和: 5acd981a81dcdc6aadddf4d7e5116b98
-
下载大小: 306 KB
-
预计所需磁盘空间: 9.1 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Pytz依赖
可选 (用于测试)
安装Pytz
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user pytz
要测试安装,请运行 pytest. 发布了一些警告。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/pytz 和 /usr/lib/python3.11/site-packages/pytz-2022.7.1.dist-info
Setuptools_scm-7.1.0
简介Setuptools_scm模块
Setuptools_scm包用于从git或hg元数据中提取Python包版本,而不是声明它们。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/s/setuptools_scm/setuptools_scm-7.1.0.tar.gz
-
下载 MD5 校验和: 158dc741637fb4fa4b955c62bd2c08be
-
下载大小: 70 KB
-
预计所需磁盘空间: 1.6 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (增加0.4 SBU用于测试)
Setuptools_scm依赖
必要
packaging-23.0 和 typing_extensions-4.4.0
可选 (用于测试)
git-2.39.2, Mercurial-6.3.2, 和 pytest-7.2.1
安装Setuptools_scm
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user setuptools_scm
可以使用pytest进行安装测试。如果你的git配置与测试套件的预期不一致,一些测试可能会失败。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/setuptools_scm 和 /usr/lib/python3.11/site-packages/setuptools_scm-7.1.0.dist-info
Smartypants-2.0.1
简介Smartypants模块
Smartypants将普通ASCII标点字符翻译成“智能”印刷标点HTML实体。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://github.com/leohemsted/smartypants.py/archive/v2.0.1/smartypants-2.0.1.tar.gz
-
下载 MD5 校验和: 27957540f4718e892039b2ed208c78f3
-
下载大小: 24 KB
-
预计所需磁盘空间: 344 KB
-
预计构建时间: 小于 0.1 SBU
安装Smartypants
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有一个可用的测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user smartypants
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: smartypants
安装库: None
安装目录: /usr/lib/python3.11/site-packages/smartypants-2.0.1.dist-info
简要描述
smartypants 翻译ASCII标点到HTML标点。
Snowballstemmer-2.2.0
简介Snowballstemmer模块
Snowballstemmer包是一个小型的字符串处理语言,用于创建用于信息检索的词干提取算法,以及使用它实现的一组词干提取算法。词干提取将同一单词的不同形式映射到一个共同的“干”——例如,英语词干提取器将连接、连接、连接、连接和连接映射到连接。因此,搜索connected也会找到只有其他形式的文档。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/s/snowballstemmer/snowballstemmer-2.2.0.tar.gz
-
下载 MD5 校验和: 4332ddc7bbee0f344a03915b2ad59a54
-
下载大小: 85 KB
-
预计所需磁盘空间: 3.8 MB
-
预计构建时间: 小于 0.1 SBU
安装Snowballstemmer
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user snowballstemmer
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/snowballstemmer 和 /usr/lib/python3.11/site-packages/snowballstemmer-2.2.0.dist-info
Sphinxcontrib-applehelp-1.0.3
简介Sphinxcontrib-applehelp模块
Sphinxcontrib-applehelp包是一个Sphinx扩展,可以输出Apple的帮助书籍。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 MD5 校验和: 3300454be23f6aa880eae08d2e1eee94
-
下载大小: 20 KB
-
预计所需磁盘空间: 2.0 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Sphinxcontrib-applehelp依赖
可选 (用于测试)
pytest-7.2.1 和 sphinx-6.1.3 (环形的依赖)
安装Sphinxcontrib-applehelp
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-applehelp
要测试安装,请运行 pytest. 由于使用了废弃的函数,可能会发出一些警告。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/sphinxcontrib 和 /usr/lib/python3.11/site-packages/sphinxcontrib_applehelp-1.0.3.dist-info
Sphinxcontrib-devhelp-1.0.2
简介Sphinxcontrib-devhelp模块
Sphinxcontrib-devhelp包是一个Sphinx扩展,它可以输出Devhelp文档。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 MD5 校验和: 94069c5cdb5079c445f5477fa6107016
-
下载大小: 17 KB
-
预计所需磁盘空间: 2.7 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Sphinxcontrib-devhelp依赖
可选 (用于测试)
pytest-7.2.1 和 sphinx-6.1.3 (环形依赖)
安装Sphinxcontrib-devhelp
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-devhelp
要测试安装,请运行 pytest.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/sphinxcontrib 和 /usr/lib/python3.11/site-packages/sphinxcontrib_devhelp-1.0.2.dist-info
Sphinxcontrib-htmlhelp-2.0.0
简介Sphinxcontrib-htmlhelp模块
Sphinxcontrib-htmlhelp包是一个Sphinx扩展,用于渲染HTML帮助文件。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 MD5 校验和: 70765b55395a3c20233631802902c840
-
下载大小: 27 KB
-
预计所需磁盘空间: 3.1 MB (添加26 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Sphinxcontrib-htmlhelp依赖
可选 (用于测试)
pytest-7.2.1, sphinx-6.1.3 (唤醒依赖), 和 html5lib
安装Sphinxcontrib-htmlhelp
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-htmlhelp
假设已经安装了pytest-7.2.1,但没有安装其他可选依赖项,可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install html5lib &&
sed -i 's/text()/read_&/' tests/test_htmlhelp.py &&
python3 /usr/bin/pytest
deactivate
sed …因为Sphinx 5.0以上版本的API发生了变化,所以需要使用这个命令。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/sphinxcontrib 和 /usr/lib/python3.11/site-packages/sphinxcontrib_htmlhelp-2.0.0.dist-info
Sphinxcontrib-jquery-2.0.0
简介Sphinxcontrib-jquery模块
Sphinxcontrib-jquery包是一个Sphinx扩展,在Sphinx新版本中包含jQuery。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 MD5 校验和: 9ac903391167c33761baa58278546dd4
-
下载大小: 2.6 KB
-
预计所需磁盘空间: 176 KB
-
预计构建时间: 小于 0.1 SBU
Sphinxcontrib-jquery依赖
可选 (用于测试)
安装Sphinxcontrib-jquery
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-jquery
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/sphinxcontrib 和 /usr/lib/python3.11/site-packages/sphinxcontrib_jquery-2.0.0.dist-info
Sphinxcontrib-jsmath-1.0.1
简介Sphinxcontrib-jsmath模块
Sphinxcontrib-jsmath包是一个Sphinx扩展,它可以通过JavaScript在HTML中显示数学。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 MD5 校验和: e45179f0a3608b6766862e0f34c23b62
-
下载大小: 5.7 KB
-
预计所需磁盘空间: 324 KB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Sphinxcontrib-jsmath依赖
可选 (用于测试)
pytest-7.2.1 和 sphinx-6.1.3 (环形依赖)
安装Sphinxcontrib-jsmath
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-jsmath
可以使用以下命令测试安装情况:
sed -i 's/text()/read_&/' tests/test_jsmath.py &&
pytest
sed …因为Sphinx 5.0以上版本的API发生了变化,所以需要使用这个命令。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/sphinxcontrib 和 /usr/lib/python3.11/site-packages/sphinxcontrib_jsmath-1.0.1.dist-info
Sphinxcontrib-qthelp-1.0.3
简介Sphinxcontrib-qthelp模块
Sphinxcontrib-qthelp包是一个Sphinx扩展,它输出QtHelp文档。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 MD5 校验和: 93216721f3e154cce12d1e9c3307b415
-
下载大小: 21 KB
-
预计所需磁盘空间: 2.8 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Sphinxcontrib-qthelp依赖
可选 (用于测试)
pytest-7.2.1 和 sphinx-6.1.3 (环形依赖)
安装Sphinxcontrib-qthelp
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-qthelp
可以使用以下命令测试安装情况:
sed -i 's/text()/read_&/' tests/test_qthelp.py &&
pytest
sed …因为Sphinx 5.0以上版本的API发生了变化,所以需要使用这个命令。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/sphinxcontrib 和 /usr/lib/python3.11/site-packages/sphinxcontrib_qthelp-1.0.3.dist-info
Sphinxcontrib-serializinghtml-1.1.5
简介Sphinxcontrib-serializinghtml模块
Sphinxcontrib-serializinghtml包是一个Sphinx扩展,它输出“序列化”的HTML文件(json和pickle)。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 MD5 校验和: d99d2edc7b26988dc5fa92163857bfbf
-
下载大小: 21 KB
-
预计所需磁盘空间: 3.0 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
Sphinxcontrib-serializinghtml依赖
可选 (用于测试)
pytest-7.2.1 和 sphinx-6.1.3 (环形依赖)
安装Sphinxcontrib-serializinghtml
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-serializinghtml
要测试安装,请运行 pytest.
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/sphinxcontrib 和 /usr/lib/python3.11/site-packages/sphinxcontrib_serializinghtml-1.1.5.dist-info
Typing_extensions-4.4.0
简介Typing_extensions模块
Typing_extensions模块允许使用系统上使用的Python版本中尚未定义的新类型系统功能。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/t/typing_extensions/typing_extensions-4.4.0.tar.gz
-
下载 MD5 校验和: 5cfcb56ea6fc4972c3600c0030f4d136
-
下载大小: 47 KB
-
预计所需磁盘空间: 528 KB
-
预计构建时间: 小于 0.1 SBU
Typing_extensions依赖
必要
安装Typing_extensions
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user typing_extensions
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/typing_extensions-4.4.0.dist-info
Typogrify-2.0.7
简介Typogrify模块
Typogrify提供了增强网页排版的过滤器,包括对Django和Jinja模板的支持。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/t/typogrify/typogrify-2.0.7.tar.gz
-
下载 MD5 校验和: 63f38f80531996f187d2894cc497ba08
-
下载大小: 13 KB
-
预计所需磁盘空间: 404 KB
-
预计构建时间: 小于 0.1 SBU
Typogrify依赖
必要
安装Typogrify
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
这个包没有附带测试套件。
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user typogrify
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/typogrify 和 /usr/lib/python3.11/site-packages/typogrify-2.0.7.dist-info
Urllib3-1.26.14
简介Urllib3模块
Urllib3模块是一个功能强大、用户友好的Python HTTP客户端。它带来了许多Python标准库所缺少的关键功能。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://files.pythonhosted.org/packages/source/u/urllib3/urllib3-1.26.14.tar.gz
-
下载 MD5 校验和: 7e018ce0f7cddc0560fd4541b5febf06
-
下载大小: 294 KB
-
预计所需磁盘空间: 3.2 MB (添加49 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (0.7 SBU用于测试)
Urllib3依赖
可选 (用于测试)
pytest-7.2.1, mock, PySocks, pytest-freezegun, pytest-timeout, python-dateutil, tornado, 和 trustme
安装Urllib3
构建模块:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
现在,作为root用户:
pip3 install --no-index --find-links dist --no-cache-dir --no-user urllib3
假设安装了pytest-7.2.1,但没有安装其他可选依赖项,可以使用以下命令测试安装情况:
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate &&
pip3 install trustme \
tornado \
python-dateutil \
mock \
pysocks \
pytest-timeout \
pytest-freezegun &&
python3 /usr/bin/pytest
deactivate
已知会发生一些错误。
命令解释
-w dist: 在目录dist中为这个模块构建合适的“wheel”。
--no-build-isolation: 告诉pip3在系统环境中运行构建,而不是创建临时的构建环境。
--no-deps: 阻止pip3为项目的依赖关系构建wheel。
--no-index: 忽略包索引(只查看–find-links URLs)。
--find-links dist: 查找归档文件的链接,例如dist目录下的wheel (.whl)文件。
--no-cache-dir: 禁用缓存以防止以root用户身份安装时出现警告。
--no-user: 防止非root用户错误地执行install命令。
--upgrade: 将包升级到可用的最新版本。如果已经安装了某个版本的包,则在install命令中使用此选项。
--force-reinstall: 重新安装包,即使它是最新的。如果重新安装包或恢复到包的早期版本,则与install命令一起使用此选项。
--no-deps: 不要安装依赖包。这个选项可能需要使用–upgrade 或 –force-reinstall选项。
内容
安装程序: None
安装库: None
安装目录: /usr/lib/python3.11/site-packages/urllib3 和 /usr/lib/python3.11/site-packages/urllib3-1.26.14.dist-info.
13.26 Ruby-3.2.1
简介Ruby
Ruby包包含Ruby开发环境。这对于面向对象的脚本很有用。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.1.tar.xz
-
下载 MD5 校验和: 23617540ad13c57ed8dd9d4ed32192a5
-
下载大小: 14 MB
-
预计所需磁盘空间: 461 MB (添加1.3 GB的C API文档)
-
预计构建时间: 1.4 SBU (使用并行数=4; 为测试添加5.0 SBU;为C API文档添加0.8 SBU)
Ruby依赖
必要
可选
Berkeley DB-5.3.28, Doxygen-1.9.6, Graphviz-7.1.0, rustc-1.67.1, Tk-8.6.13, Valgrind-3.20.0, 和 DTrace
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/ruby
安装Ruby
运行以下命令安装Ruby:
./configure --prefix=/usr \
--enable-shared \
--without-valgrind \
--docdir=/usr/share/doc/ruby-3.2.1 &&
make
可选地,通过运行以下命令来构建CAPI文档:
make capi
要测试结果,执行: make check. 有超过25000个测试。一些与ipv6相关的测试可能会显示错误。如果测试运行在一个包含全局可写组件的目录中(例如/tmp),那么一些额外的测试可能会失败。一些测试可能会由于系统配置预期而失败。
现在,作为root用户:
make install
注意
如果你已经安装了Ruby-On-Rails应用程序,并通过安装此包来升级Ruby,你可能也需要在那里运行更新(以root用户):
cd /path/to/web/app
bundle update rake
并重新启动为应用程序提供服务的web服务器。
命令解释
--enable-shared: 这个开关可以用来构建libruby共享库。
--disable-install-doc: 此开关禁用构建和安装rdoc索引和C API文档。
--disable-install-rdoc: 该开关禁用构建和安装rdoc索引。
--disable-install-capi: 此开关禁用构建和安装C API文档。
--without-baseruby: 如果系统已经安装了ruby,则此开关将阻止使用该系统。构建系统将使用新构建的版本。
内容
安装程序: bundle, bundler, erb, gem, irb, racc, rake, rbs, rdbg, rdoc, ri, ruby, 和 typeprof
安装库: libruby.so
安装目录: /usr/include/ruby-3.2.0, /usr/lib/ruby, /usr/share/doc/ruby-3.2.1 和 /usr/share/ri
简要描述
bundle 创建成束的Ruby Gems。
bundler 管理应用程序生命周期中的依赖关系。
erb 是eRuby的一个命令行前端,它为Ruby提供了一个模板系统。
gem 是RubyGems的命令,这是一个复杂的Ruby包管理器。这类似于Python的’pip’命令。
irb 是Ruby的交互式接口。
rake 是一个类似于Ruby的构建工具。
rdbg 是Ruby的交互式调试器。
rdoc 生成Ruby文档。
ri 显示数据库中关于Ruby类、模块和方法的文档。
ruby 是一种解释脚本语言,用于快速简单的面向对象编程。
libruby.so 包含Ruby所需的API函数。
13.27 Rustc-1.67.1
简介Rust
Rust编程语言被设计为一种安全、并发、实用的语言。
这个包以六周的发布周期更新。因为它是一个庞大而缓慢的包,目前只有本书中的少数包需要它,特别是因为新版本往往会破坏旧的mozilla包,所以BLFS的编辑人员认为,只有在必要时才应该更新它(要么是为了修复问题,要么是为了允许构建新版本的包)。
与许多其他编程语言一样,rustc (rust编译器)需要用于引导的二进制文件。它会在构建开始时下载stage0二进制文件,因此在没有互联网连接的情况下无法编译它。
注意
尽管BLFS通常安装在/usr中,但当您稍后升级到新版本的rust时,/usr/lib/rustlib中的旧库将保留,它们的名称中有各种哈希值,但将无法使用,并会浪费空间。编辑器建议将文件放置在/opt目录中。特别是,如果你有理由使用修改过的配置重新构建(例如,在使用共享的LLVM构建后使用自带的LLVM,也许为BLFS LLVM构建不支持的架构编译crates),则安装可能会留下一个损坏的cargo程序。在这种情况下,要么首先删除现有的安装,要么使用不同的前缀,例如/opt/rustc-1.67.1-build2。
如果你愿意,你当然可以将前缀改为/usr。
当前的rustbuild构建系统将使用所有处理器,尽管它的扩展性不好,并且经常在等待库编译时只使用一个核心。然而,它可以通过添加开关--jobs <N>的组合来限制处理器的指定数量。每次调用python3 ./x.py时,使用环境变量CARGO_BUILD_JOBS=<N>,以限制为4个处理器)。在运行一些rustc测试时,这是无效的。
rust的num_cpus的当前版本现在可以使用cgroups来限制允许使用的处理器。因此,如果你的机器缺乏DRAM(通常每个核少于2GB DRAM),这可能是使cpu离线的替代方案。这可以通过使用systemd-run命令来实现,其中-p User=$(whoami)和-p AllowedCPUs=0-x (x替换为你想使用的CPU内核数量减一)选项。
目前Rust并不提供稳定ABI的任何保证。
注意
Rustc默认使用附带的LLVM副本为所有支持的体系结构构建。在BLFS中,构建只针对X86架构。如果你打算开发rust crates,这个版本可能不够好。
在同一台机器上重复此版本的构建时间通常是合理一致的,但与使用rustc的所有编译一样,可能会有一些非常慢的异常值。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://static.rust-lang.org/dist/rustc-1.67.1-src.tar.xz
-
下载 MD5 校验和: e5e47e53c52574ce89ea200e52819f81
-
下载大小: 136 MB
-
预计所需磁盘空间: 8.5 GB (安装501 MB); 如果运行测试,添加7.5 GB
-
预计构建时间: 13 SBU (包括下载时间; 添加16个SBU进行测试, 都使用并行度=4)
Rust依赖
必要
推荐
cURL-7.88.1, libssh2-1.10.0, 和 LLVM-15.0.7 (使用-DLLVM_LINK_LLVM_DYLIB=ON构建,以便rust可以链接到系统LLVM,而不是构建其自带版本)
注意
如果未安装推荐的依赖项,则将构建并使用Rustc源代码tarball中的附带副本。
可选
GDB-13.1 (如果存在,则由测试套件使用) 和 libgit2
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/rust
安装Rust
注意
| 目前Rust编译器为32位x86生成SSE2指令,导致在没有支持SSE2的处理器的32位系统上生成的代码失效。2004年之后发布的所有x86处理器型号都应该支持SSE2-capable。运行 **lscpu | grep sse2** 作为测试。如果它输出任何东西,说明你的CPU支持SSE2-capable,没问题。否则,您可以尝试在支持SSE2-capable的系统上构建此软件包,并应用以下修复程序: |
sed 's@pentium4@pentiumpro@' -i \
compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
并将结果/opt/rustc-1.67.1复制到没有SSE2功能的系统。但这一变化仍在上游审查中,并没有经过BLFS编辑的测试。
要安装到/opt目录,请删除任何现有的/opt/rustc符号链接并创建一个新目录(即如果尝试修改相同版本的构建,则使用不同的名称)。作为root用户:
mkdir -pv /opt/rustc-1.67.1 &&
ln -svfn rustc-1.67.1 /opt/rustc
注意
如果在/opt中安装了多个版本的Rust,则只需更改/opt/rustc符号链接,然后运行ldconfig即可切换到另一个版本。
创建一个合适的config.toml文件来配置构建过程。
cat << EOF > config.toml
# see config.toml.example for more possible options
# See the 8.4 book for an old example using shipped LLVM
# e.g. if not installing clang, or using a version before 13.0
# tell x.py to not keep printing an annoying warning
changelog-seen = 2
[llvm]
# by default, rust will build for a myriad of architectures
targets = "X86"
# When using system llvm prefer shared libraries
link-shared = true
[build]
# omit docs to save time and space (default is to build them)
docs = false
# install extended tools: cargo, clippy, etc
extended = true
# Do not query new versions of依赖 online.
locked-deps = true
# Specify which extended tools (those from the default install).
tools = ["cargo", "clippy", "rustfmt"]
# Use the source code shipped in the tarball for the依赖.
# The combination of this and the "locked-deps" entry avoids downloading
# many crates from Internet, and makes the Rustc build more stable.
vendor = true
[install]
prefix = "/opt/rustc-1.67.1"
docdir = "share/doc/rustc-1.67.1"
[rust]
channel = "stable"
description = "for BLFS 11.3"
# BLFS used to not install the FileCheck executable from llvm,
# so disabled codegen tests. The assembly tests rely on FileCheck
# and cannot easily be disabled, so those will anyway fail if
# FileCheck has not been installed.
#codegen-tests = false
[target.x86_64-unknown-linux-gnu]
# NB the output of llvm-config (i.e. help options) may be
# dumped to the screen when config.toml is parsed.
llvm-config = "/usr/bin/llvm-config"
[target.i686-unknown-linux-gnu]
# NB the output of llvm-config (i.e. help options) may be
# dumped to the screen when config.toml is parsed.
llvm-config = "/usr/bin/llvm-config"
EOF
运行以下命令编译Rust:
{ [ ! -e /usr/include/libssh2.h ] ||
export LIBSSH2_SYS_USE_PKG_CONFIG=1; } &&
python3 ./x.py build
注意
测试套件将在systemd日志中为无效操作码的陷阱和分段错误生成一些消息。它们本身没什么好担心的,只是一种终止测试的方法。
运行测试(同样使用所有可用的cpu)问题:
python3 ./x.py test --verbose --no-fail-fast | tee rustc-testlog
如果LLVM中的FileCheck没有安装,那么“汇编”套件中的所有47个测试都会失败。
与所有大型测试套件一样,其他测试可能在某些机器上失败——如果额外的失败数量为个位数,请检查日志中的’failures:’,并检查上面的行,特别是’stderr:’行。在失败的测试中,任何提到SIGSEGV或信号11都是值得关注的。
如果你得到任何其他失败的测试报告的问题编号,那么你应该搜索该问题。例如,当使用10.0之前的sysllvm版本构建rustc >= 1.41.1时,针对69225问题的测试失败了https://github.com/rust-lang/rust/issues/69225,这应该被视为一个严重的失败(他们因此发布了1.41.1)。大多数其他的失败不会是严重的。
因此,您应该确定失败的数量。
通过和失败的测试数可以通过运行:
grep '^test result:' rustc-testlog |
awk '{sum1 += $4; sum2 += $6} END { print sum1 " passed; " sum2 " failed" }'
其他可用字段为被忽略(即跳过)的$8,为“测量”的$10和为“过滤”的$12,但最后两个字段可能都为零。
现在,以root用户的身份安装该包:
注意
如果调用sudo或su切换到root用户,请确保正确传递了LIBSSH2_SYS_USE_PKG_CONFIG,否则以下命令可能会完全重建此包。对于sudo,使用--preserve-env=LIBSSH2_SYS_USE_PKG_CONFIG选项。对于su,不要使用-或--login。
python3 ./x.py install
命令解释
ln -svfn rustc-1.67.1 /opt/rustc: 如果这不是/opt/rustc符号链接的第一次使用,请强制重写它,并使用-n参数以避免从ls -l等命令中得到令人困惑的结果。
targets = “X86”: 这避免了构建所有可用的linux交叉编译器(AArch64、MIPS、PowerPC、SystemZ等)。不幸的是,rust坚持安装下面的源文件/opt/rustc/lib/src。
extended = true: 这会在rustc旁边安装几个工具(通过tools条目指定)。
tools = [“cargo”, “clippy”, “rustfmt”]: 如果没有指定工具,那么Miri的缺失会导致安装失败。但是Miri并不是建立在稳定的信道上。其他一些工具不太可能有用,除非使用(旧的)代码分析器或编辑标准库。此设置与大多数用户推荐的二进制命令rustup中的’default’配置文件相匹配,只是在’[build]’部分开始时禁用了文档。
channel = “stable”: 这确保了只有稳定的功能可以使用,config.toml默认使用开发功能,这不适用于发布版本。
[target.x86_64-unknown-linux-gnu]: config.toml的语法要求每个使用system-llvm的目标都有一个llvm-config条目。如果你是在32位x86平台上构建,请将目标更改为[target.i686-unknown-linux-gnu]。如果您希望针对附带的llvm进行构建,或者没有clang,则可以省略这一节,但是生成的构建将更大,花费的时间更长。
export LIBSSH2_SYS_USE_PKG_CONFIG=1: 允许cargo链接到系统libssh2。
–verbose: 这个开关有时可以提供失败测试的更多信息。
–no-fail-fast: 这个开关确保测试套件不会在出现第一个错误时停止。
配置Rust
配置信息
如果您在/opt中安装了rustc,则需要更新以下配置文件,以便其他包和系统进程能够正确地找到rustc。
以root用户身份,创建/etc/profile.d/rustc.sh文件:
cat > /etc/profile.d/rustc.sh << "EOF"
# Begin /etc/profile.d/rustc.sh
pathprepend /opt/rustc/bin PATH
# Include /opt/rustc/man in the MANPATH variable to access manual pages
pathappend /opt/rustc/share/man MANPATH
# End /etc/profile.d/rustc.sh
EOF
安装完成后,立即以普通用户身份更新当前shell的当前路径:
source /etc/profile.d/rustc.sh
内容
安装程序: cargo-clippy, cargo-fmt, cargo, clippy-driver, rust-gdb, rust-gdbgui, rust-lldb, rustc, rustdoc, 和 rustfmt
安装库: librustc-driver-<16-byte-hash>.so, libstd-<16-byte-hash>.so, 和 libtest-<16-byte-hash>.so
安装目录: ~/.cargo, /opt/rustc, 符号链接到 /opt/rustc-1.67.1
简要描述
cargo-clippy 为cargo包提供lint检查。
cargo-fmt 使用rustfmt格式化当前crate的所有bin和lib文件。
cargo 是Rust的包管理器。
clippy-driver 提供Rust的lint检查。
rust-gdb 是一个gdb的包装器脚本,引入安装在/opt/rustc-1.67.1/lib/rustlib/etc中的Python美化打印模块。
rust-gdbgui 是在浏览器中运行的GDB图形前端的包装脚本。
rust-lldb 是一个用于LLDB (LLVM调试器)的包装器脚本,用于导入Python的美化打印模块。
rustc 是rust编译器。
rustdoc 从rust源代码生成文档。
rustfmt 格式化rust代码。
libstd-<16-byte-hash>.so 是Rust标准库,是可移植Rust软件的基础。
13.28 SCons-4.4.0
简介SCons
SCons是一个用Python实现的构建软件(和其他文件)的工具。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/scons/SCons-4.4.0.tar.gz
-
下载 MD5 校验和: 056b141b420583e8faef8b1c64bc43cf
-
下载大小: 3.0 MB
-
预计所需磁盘空间: 23 MB
-
预计构建时间: 小于 0.1 SBU
SCons依赖
可选
docbook-xsl-nons-1.79.2 和 libxslt-1.1.37
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/scons
安装SCons
以root用户运行以下命令来安装SCons:
sed -i 's/env python/&3/' SCons/Utilities/*.py &&
python3 setup.py install --prefix=/usr \
--optimize=1 &&
mv -v /usr/lib/python3.11/site-packages/SCons-4.4.0-py3.11.egg/*.1 \
/usr/share/man/man1
内容
安装程序: scons, scons-configure-cache, 和 sconsign
安装库: None
安装目录: /usr/lib/python3.11/site-packages/SCons
简要描述
scons 是一个软件构造工具。
scons-configure-cache 显示或转换SCons缓存目录的配置。
sconsign 打印SCons的.sconsign文件信息。
13.29 slang-2.3.3
简介slang
S-Lang(slang)是一种解释性语言,可以嵌入到应用程序中以使应用程序具有可扩展性。它提供交互应用程序所需的设施,如显示/屏幕管理、键盘输入和键映射。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.jedsoft.org/releases/slang/slang-2.3.3.tar.bz2
-
下载 MD5 校验和: 69015c8300088373eb65ffcc6ed4db8c
-
下载大小: 1.6 MB
-
预计所需磁盘空间: 22 MB (添加15 MB用于测试)
-
预计构建时间: 0.4 SBU (为测试添加0.5个SBU)
Slang依赖
可选
libpng-1.6.39, PCRE-8.45, 和 Oniguruma
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/slang
安装Slang
注意
这个包不支持并行构建。
运行以下命令安装slang:
./configure --prefix=/usr \
--sysconfdir=/etc \
--with-readline=gnu &&
make -j1
要测试结果,执行: make check.
现在,作为root用户:
make install_doc_dir=/usr/share/doc/slang-2.3.3 \
SLSH_DOC_DIR=/usr/share/doc/slang-2.3.3/slsh \
install &&
chmod -v 755 /usr/lib/slang/v2/modules/*.so
命令解释
--with-readline=gnu: 此参数将GNU Readline设置为解析器接口使用,而不是使用slang内部版本。
make install_doc_dir=/usr/share/doc/slang-2.3.3 SLSH_DOC_DIR=/usr/share/doc/slang-2.3.3/slsh install: 这个命令使用版本化的文档安装目录安装这个包。
配置slang
配置文件
~/.slshrc and /etc/slsh.rc
内容
安装程序: slsh
安装库: libslang.so 以及众多的支持模块
安装目录: /usr/lib/slang, /usr/share/doc/slang-2.3.3 和 /usr/share/slsh
简要描述
slsh 是一个解释slang脚本的简单程序。它支持动态加载slang模块,并包括一个可交互使用的Readline接口。
13.30 Subversion-1.14.2
简介Subversion
Subversion是一个版本控制系统,旨在取代开源社区中的CVS。它扩展和增强了CVS的功能集,同时为那些已经熟悉CVS的人维护了类似的界面。这些说明安装用于操作Subversion存储库的客户端和服务器软件。在Running a Subversion Server中介绍了存储库的创建。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://archive.apache.org/dist/subversion/subversion-1.14.2.tar.bz2
-
下载 MD5 校验和: 9927b167d1c67d663ca63125907f6f69
-
下载大小: 8.3 MB
-
预计所需磁盘空间: 208 MB (添加228 MB用于绑定,52 MB用于文档,1.3 GB用于测试)
-
预计构建时间: 0.5 SBU (使用并行数=4; 增加1.9 SBU绑定,35 SBU用于测试)
Subversion依赖
必要
Apr-Util-1.6.3 和 SQLite-3.40.1
推荐
Serf-1.3.9 (用于处理http:// 和 https:// 链接)
可选
Apache-2.4.55, Boost-1.81.0, Cyrus SASL-2.1.28, dbus-1.14.6, Doxygen-1.9.6 (用于生成HTML文档), gnome-keyring-42.1, libsecret-0.20.5, Py3c-1.4 (用于python绑定和测试) Python-2.7.18 (使用sqlite支持测试), Ruby-3.2.1, SWIG-4.1.1 (用于构建Perl、Python和Ruby绑定), LZ4, 和 UTF8proc
可选 (对于Java绑定)
OpenJDK-19.0.2, Dante 或 Jikes, JUnit 4 (测试Java绑定) 和 apache-ant-1.10.13 其中之一.
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/subversion
安装Subversion
首先,修改一些Python脚本来使用python3:
grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/'
接下来,将Ruby绑定调整为Ruby-3.2:
sed -e 's/File.exists?/File.exist?/' \
-i subversion/bindings/swig/ruby/svn/util.rb \
subversion/bindings/swig/ruby/test/test_wc.rb
运行以下命令安装Subversion:
PYTHON=python3 ./configure --prefix=/usr \
--disable-static \
--with-apache-libexecdir \
--with-lz4=internal \
--with-utf8proc=internal &&
make
如果你已经安装了Doxygen-1.9.6并且希望构建API文档,请执行:
doxygen doc/doxygen.conf
如果你想构建Java绑定,将--enable-javahl参数传递给configure命令。此外,如果你想运行Java测试套件,你必须通过添加--with-junit=<path to junit jar>来指定JUnit文件的位置(例如--with-junit=/usr/local/java/lib/junit-4.13.jar)来configure。JUnit jar文件不再包含在apache-ant-1.10.13中,必须单独下载。要构建Java绑定,请执行以下命令:
make -j1 javahl
如果你想编译Perl、Python或Ruby绑定,执行以下任何一个命令:
make swig-pl # for Perl
make swig-py \
swig_pydir=/usr/lib/python3.11/site-packages/libsvn \
swig_pydir_extra=/usr/lib/python3.11/site-packages/svn # for Python
make swig-rb # for Ruby
要测试结果,执行: make check. 已知commit_tests.py, prop_tests.py, 和 update_tests.py套件中的四个测试会失败。
要测试任何SWIG绑定的结果,您可以使用以下任何命令: make check-swig-pl, make check-swig-py, 或 make check-swig-rb.
现在,作为root用户:
make install &&
install -v -m755 -d /usr/share/doc/subversion-1.14.2 &&
cp -v -R doc/* /usr/share/doc/subversion-1.14.2
如果你构建了Java绑定,以root用户的身份执行以下命令来安装它们:
make install-javahl
如果你构建了Perl、Python或Ruby绑定,以root用户的身份执行以下任何命令来安装它们:
make install-swig-pl
make install-swig-py \
swig_pydir=/usr/lib/python3.11/site-packages/libsvn \
swig_pydir_extra=/usr/lib/python3.11/site-packages/svn
make install-swig-rb
运行测试需要安装java绑定,因为测试会在CLASSPATH中查找它们。要测试Java绑定构建的结果,请执行: LANG=C make check-javahl.
命令解释
--disable-static: 此开关防止安装库的静态版本。
--with-apache-libexecdir: 如果安装了Apache-2.4.55,则会构建共享的Apache模块。此开关允许将这些模块安装到Apache配置的模块目录中,而不是/usr/libexec。如果没有安装Apache,则无效。
--with-lz4=internal, --with-utf8proc=internal: 如果您已经安装了可选依赖项,请删除这些开关。
--enable-javahl: 启用Java高级绑定的编译。运行make javahl是进行编译的必要条件。
--with-junit=<location of the junit jar file>: 给出junit jar的位置,否则javahl测试将无法运行。
--disable-gmock: 不要使用Googlemock测试框架。
配置Subversion
配置文件
~/.subversion/config 和 /etc/subversion/config
配置信息
/etc/subversion/config 是Subversion系统范围的配置文件。这个文件用于为不同的svn命令指定默认值。
~/.subversion/config 是用户的个人配置文件。它用于覆盖在/etc/subversion/config中设置的系统默认值。
内容
安装程序: svn, svnadmin, svnbench, svndumpfilter, svnfsfs, svnlook, svnmucc, svnrdump, svnserve, svnsync, 和 svnversion
安装库: libsvn_*-1.so 和 optionally, 一个Java库, mod_dav_svn.so和mod_authz_svn.so Apache HTTP DSO模块和各种Perl, Python和Ruby模块。
安装目录: /usr/include/subversion-1, /usr/lib/perl5/site_perl/5.36/{,auto/}SVN, /usr/lib/python3.11/site-packages/{libsvn,svn}, /usr/lib/ruby/site_ruby/
简要描述
svn 是一个命令行客户端程序,用于访问Subversion存储库。
svnadmin 是用于创建、调整或修复Subversion存储库的工具。
svnbench 是一个基准测试工具。
svndumpfilter 是一个用于过滤Subversion存储库dumpfile格式流的程序。
svnfsfs 是FSFS(文件系统之上的文件系统——Subversion文件系统实现)存储库操作工具。
svnlook 是一个用于检查Subversion存储库的工具。
svnmucc 是Subversion的多URL命令客户端。
svnrdump 是一个用于转储或加载远程Subversion存储库的工具。
svnserve 是一个自定义的独立服务器程序,能够作为守护进程运行或通过SSH调用。
svnsync 是一个Subversion存储库同步工具。
svnversion 用于报告工作Subversion存储库副本的版本号和状态。
libsvn_*-1.so 是Subversion程序使用的支持库。
mod_authz_svn.so 是Apache HTTP服务器的插件模块,用于通过Internet或intranet对Subversion存储库的用户进行身份验证。
mod_dav_svn.so 是Apache HTTP服务器的插件模块,用于使Subversion存储库对Internet或intranet上的其他人可用。
13.31 Running a Subversion Server
运行Subversion服务器
本节将描述如何设置、管理和保护Subversion服务器。
Subversion Server依赖
必要
Subversion-1.14.2 和 OpenSSH-9.2p1
设置Subversion服务器
下面的操作将安装一个Subversion服务器,它将被设置为使用OpenSSH作为安全远程访问方法,并使用svnserve进行匿名访问。
Subversion服务器的配置包括以下步骤:
1. 设置用户、组和权限
你需要是root用户来初始化配置。使用以下命令创建svn用户和组:
groupadd -g 56 svn &&
useradd -c "SVN Owner" -d /home/svn -m -g svn -s /bin/false -u 56 svn
如果您计划拥有多个存储库,则应该为每个存储库设置一个专门的组,以便管理。为test仓库创建svntest组,并使用以下命令将svn用户添加到该组中:
groupadd -g 57 svntest &&
usermod -G svntest -a svn
此外,在使用存储库时,您应该设置umask 002,以便所有新文件都可以由所有者和组写入。通过为svn和svnserve创建包装器脚本,可以强制执行此操作:
mv /usr/bin/svn /usr/bin/svn.orig &&
mv /usr/bin/svnserve /usr/bin/svnserve.orig &&
cat >> /usr/bin/svn << "EOF"
#!/bin/sh
umask 002
/usr/bin/svn.orig "$@"
EOF
cat >> /usr/bin/svnserve << "EOF"
#!/bin/sh
umask 002
/usr/bin/svnserve.orig "$@"
EOF
chmod 0755 /usr/bin/svn{,serve}
注意
如果你使用Apache通过HTTP访问仓库,即使是匿名访问,你也应该将/usr/sbin/httpd包装在类似的脚本中。
2. 创建Subversion存储库
有几种方法可以设置subversion存储库。建议大家看一下SVN Book对应章节。可以按照下面的说明设置一个基本的存储库。
使用以下命令(以root用户)创建一个新的Subversion存储库:
install -v -m 0755 -d /srv/svn &&
install -v -m 0755 -o svn -g svn -d /srv/svn/repositories &&
svnadmin create /srv/svn/repositories/svntest
现在已经创建了存储库,应该用一些有用的东西填充它。您需要有一个预定义的目录布局,设置完全符合您希望存储库的外观。例如,下面是一个示例的BLFS布局设置,根目录为svntest/。你需要建立一个类似于下面这样的目录树:
svntest/ # The name of the repository
trunk/ # Contains the existing source tree
BOOK/
bootscripts/
edguide/
patches/
scripts/
branches/ # Needed for additional branches
tags/ # Needed for tagging release points
一旦创建了如上所示的目录布局,就可以进行初始导入了:
svn import -m "Initial import." \
</path/to/source/tree> \
file:///srv/svn/repositories/svntest
现在修改仓库的所有者和组信息,并添加一个非特权用户到svn和svntest组中:
chown -R svn:svntest /srv/svn/repositories/svntest &&
chmod -R g+w /srv/svn/repositories/svntest &&
chmod g+s /srv/svn/repositories/svntest/db &&
usermod -G svn,svntest -a <username>
svntest是分配给svntest仓库的组。如前所述,在使用OpenSSH进行身份验证时,这简化了对多个存储库的管理。接下来,你需要添加你的非特权用户,以及你希望对仓库有写访问权限的其他用户到svn和svntest组中。
此外,你会注意到新仓库的db目录是set-groupID。如果原因不是很明显,当使用任何外部认证方法(例如ssh)时,粘性位会设置为所有新文件都归用户所有,但属于svntest组。svntest组中的任何人都可以创建文件,但仍然给整个组写权限。这避免了将其他用户锁定在存储库中。
现在,切换到非特权用户账户,使用svnlook查看这个新仓库:
svnlook tree /srv/svn/repositories/svntest/
注意
您可能需要注销并再次登录以刷新您的组成员。su <username>也可以。
3. 配置服务器
如前所述,这些指令将配置服务器仅使用ssh来写访问仓库,并使用svnserve提供匿名访问。还有其他几种方法可以提供对存储库的访问。这些额外的配置最好在https://svnbook.red-bean.com/上解释。
需要对每个存储库进行访问配置。使用下面的命令为svntest仓库创建svnserve.conf文件:
cp /srv/svn/repositories/svntest/conf/svnserve.conf \
/srv/svn/repositories/svntest/conf/svnserve.conf.default &&
cat > /srv/svn/repositories/svntest/conf/svnserve.conf << "EOF"
[general]
anon-access = read
auth-access = write
EOF
配置文件中没有太多内容。你会注意到只有general部分是必需的。查看svnserve.conf.default文件,了解如何使用svnserve内置的身份验证方法。
4. 启动服务器
要在启动时启动服务器,请从blfs-systemd-units-20220720包中安装svnserve.service:
make install-svnserve
此外,上述说明要求svn服务器使用umask 002,以便所有新文件都可以由所有者和组写入。这可以通过运行以下命令创建systemd单元覆盖文件来实现:
mkdir -p /etc/systemd/system/svnserve.service.d
echo "UMask=0002" > /etc/systemd/system/svnserve.service.d/99-user.conf
传递给svnserve守护进程的选项可以在/etc/default/svnserve中修改。
13.32 SWIG-4.1.1
简介SWIG
SWIG(简化的包装器和接口生成器,Simplified Wrapper and Interface Generator)是一个编译器,它集成了C和C++与Perl、Python、Tcl、Ruby、PHP、Java、C#、D、Go、Lua、Octave、R、Scheme和Ocaml等语言。SWIG还可以将其解析树导出为Lisp s-expressions和XML。
SWIG读取带注释的C/C++头文件并创建包装器代码(胶水代码),以便使所列出的语言可以使用相应的C/C++库,或者用脚本语言扩展C/C++程序。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/swig/swig-4.1.1.tar.gz
-
下载 MD5 校验和: c7d55a1bca26752f3846c85b43c1a69c
-
下载大小: 8.2 MB
-
预计所需磁盘空间: 82 MB (2.1 GB带测试)
-
预计构建时间: 0.1 SBU (为测试添加7.8 SBU; 都使用并行度=4)
SWIG依赖
必要
可选
Boost-1.81.0用于测试,以及介绍中提到的任何语言,作为运行时依赖项
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/swig
安装SWIG
运行以下命令安装SWIG:
./configure --prefix=/usr \
--without-javascript \
--without-maximum-compile-warnings &&
make
要测试结果,执行: PY3=1 make -k check TCL_INCLUDE=. 取消变量TCL_INCLUDE的设置是必要的,因为它没有通过配置正确设置。测试只针对安装在您的机器上的语言执行,因此为测试提供的磁盘空间和SBU值可能会有所不同,应该考虑仅仅是数量级。根据SWIG的文档,某些测试的失败不应该被认为是有害的。go测试有很多bug,可能会生成很多无意义的输出。
现在,作为root用户:
make install &&
install -v -m755 -d /usr/share/doc/swig-4.1.1 &&
cp -v -R Doc/* /usr/share/doc/swig-4.1.1
命令解释
--without-maximum-compile-warnings: 禁用编译器ansi一致性强制,这会触发Lua头中的错误(从Lua 5.3开始)。
--without-<language>: 允许禁用对
内容
安装程序: swig 和 ccache-swig
安装库: None
安装目录: /usr/share/doc/swig-4.1.1 和 /usr/share/swig
简要描述
swig 接收一个包含C/C++声明和SWIG特殊指令的接口文件,并生成构建扩展模块所需的相应包装器代码。
ccache-swig 是一个编译器缓存,它可以加速C/C++/SWIG代码的重新编译。
13.33 Sysprof-3.46.0
简介Sysprof
sysprof包包含一个用于Linux的统计和系统范围的分析器。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/sysprof/3.46/sysprof-3.46.0.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/sysprof/3.46/sysprof-3.46.0.tar.xz
-
下载 MD5 校验和: af4e88af759419ad19b196d1166de485
-
下载大小: 508 KB
-
预计所需磁盘空间: 48 MB
-
预计构建时间: 0.1 SBU (使用并行数=4)
Sysprof依赖
必要
desktop-file-utils-0.26, GTK-4.8.3, itstool-2.0.7, JSON-GLib-1.6.6, libadwaita-1.2.2, libdazzle-3.44.0, libunwind-1.6.2, 和 Polkit-122
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/sysprof
安装Sysprof
运行以下命令安装Sysprof:
mkdir build &&
cd build &&
meson --prefix=/usr .. &&
ninja
要测试结果,执行: ninja test.
现在,作为root用户:
ninja install
内容
安装程序: sysprof, sysprof-agent, 和 sysprof-cli
安装库: libsysprof-4.so, libsysprof-capture-4.a, libsysprof-memory-4.so, libsysprof-speedtrack-4.so, 和 libsysprof-ui-5.so
安装目录: /usr/include/sysprof-4, /usr/include/sysprof-ui-5, 和 /usr/share/help/*/sysprof
简要描述
sysprof 是sysprof的图形界面。
sysprof-agent 用于分析容器中的应用程序。
sysprof-cli 是sysprof的命令行接口。
libsysprof-4.so 提供API函数,用于分析系统上运行的进程。
libsysprof-capture-4.a 提供一个钩子,用于从进程捕获统计信息。
libsysprof-memory-4.so 提供API函数来捕获内存统计信息。
libsysprof-speedtrack-4.so 提供用于跟踪进程运行速度的API函数。
libsysprof-ui-4.so 提供sysprof GUI的API函数。
13.34 Tk-8.6.13
简介Tk
Tk包包含一个TCL GUI工具包。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/tcl/tk8.6.13-src.tar.gz
-
下载 MD5 校验和: 95adc33d55a133ee29bc9f81efdf31b2
-
下载大小: 4.3 MB
-
预计所需磁盘空间: 25 MB
-
预计构建时间: 0.3 SBU (为测试添加2.0 SBU)
Tk依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/tk
安装Tk
运行以下命令安装Tk:
cd unix &&
./configure --prefix=/usr \
--mandir=/usr/share/man \
$([ $(uname -m) = x86_64 ] && echo --enable-64bit) &&
make &&
sed -e "s@^\(TK_SRC_DIR='\).*@\1/usr/include'@" \
-e "/TK_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \
-i tkConfig.sh
不建议运行测试。测试期间将报告故障,这取决于屏幕分辨率/功能、安装的字体和其他X相关参数,但最终报告可能显示0个故障。有些测试会窃取你的注意力,有些可能会让你的X服务器崩溃。无论如何,要测试结果,请执行:make test。确保你在加载了GLX扩展的X Window显示设备上运行它,但即使这样,测试也可能挂起。
现在,作为root用户:
make install &&
make install-private-headers &&
ln -v -sf wish8.6 /usr/bin/wish &&
chmod -v 755 /usr/lib/libtk8.6.so
命令解释
$([ $(uname -m) = x86_64 ] && echo --enable-64bit): 此开关用于在64位操作系统上启用Tk的64位支持。
make install-private-headers: 这个命令用于安装链接到Tk库的其他包所使用的Tk库接口头。
ln -v -sf wish8.6 /usr/bin/wish: 这个命令用于创建一个到wish8.6文件的兼容性符号链接,因为许多包都希望有一个名为wish的文件。
sed -e … tkConfig.sh: Tk包希望保留它的源树,以便依赖它进行编译的包可以利用它。这个sed删除了对构建目录的引用,并将它们替换为更健全的系统范围内的位置。
内容
安装程序: wish 和 wish8.6
安装库: libtk8.6.so 和 libtkstub8.6.a
安装目录: /usr/lib/tk8.6
简要描述
wish 是指向wish8.6程序的符号链接。
wish8.6 是一个包含Tk工具包的简单shell,它创建一个主窗口,然后处理Tcl命令。
libtk8.6.so 包含Tk所需的API函数。
13.35 Vala-0.56.4
简介Vala
Vala是一种新的编程语言,旨在为GNOME开发人员带来现代编程语言特性,而不强加任何额外的运行时需求,与用C编写的应用程序和库相比,也不使用不同的ABI。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/vala/0.56/vala-0.56.4.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/vala/0.56/vala-0.56.4.tar.xz
-
下载 MD5 校验和: dbb3d5b4616211e68093676099d44d56
-
下载大小: 3.8 MB
-
预计所需磁盘空间: 195 MB (添加18 MB用于测试)
-
预计构建时间: 0.5 SBU (使用并行数=4; 添加1.7 SBU用于测试)
Vala依赖
必要
推荐
Graphviz-7.1.0 (valadoc所需)
可选
dbus-1.14.6 (测试所需), libxslt-1.1.37 (生成文档所需的), help2man, jing, 和 weasyprint
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/vala
安装Vala
运行以下命令安装Vala:
./configure --prefix=/usr &&
make
要测试结果,执行: make check.
现在,作为root用户:
make install
命令解释
--disable-valadoc: 如果没有安装Graphviz-7.1.0,则需要此选项。
内容
安装程序: vala, vala-0.56, valac, valadoc, vala-gen-introspect, 和 vapigen (符号链接); valac-0.56, valadoc-0.56, vala-gen-introspect-0.56, 和 vapigen-0.56
安装库: libvala-0.56.so 和 libvaladoc-0.56.so
安装目录: /usr/include/vala-0.56, /usr/include/valadoc-0.56, /usr/lib/vala-0.56, /usr/lib/valadoc-0.56, /usr/share/vala, /usr/share/vala-0.56, /usr/share/valadoc-0.56, 和 /usr/share/devhelp/books/vala-0.56
简要描述
valac 是一个编译器,将Vala源代码转换为C源代码和头文件。
valadoc 是一个文档生成器,用于基于libvala从Vala源代码生成API文档。
vala-gen-introspect 为基于GObject和GLib的包生成GI文件。
vapigen 是一个从GI文件生成Vala API (VAPI)文件的实用程序。
libvala-0.56.so 包含了Vala API函数。
13.36 Valgrind-3.20.0
简介Valgrind
Valgrind是一个用于构建动态分析工具的工具框架。有一些Valgrind工具可以自动检测许多内存管理和线程错误,并详细分析程序。Valgrind还可以用于构建新工具。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://sourceware.org/pub/valgrind/valgrind-3.20.0.tar.bz2
-
下载 (FTP): ftp://sourceware.org/pub/valgrind/valgrind-3.20.0.tar.bz2
-
下载 MD5 校验和: e3ca8e03c6c527e80e7da5135a1b6beb
-
下载大小: 16 MB
-
预计所需磁盘空间: 381 MB (添加66 MB用于测试)
-
预计构建时间: 0.5 SBU (使用并行数=4; 为测试添加8.1 SBU)
Valgrind依赖
可选
GDB-13.1 (用于测试), LLVM-15.0.7 (与Clang), 和 Which-2.21 (用于测试)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/valgrind
安装Valgrind
运行以下命令安装Valgrind:
sed -i 's|/doc/valgrind||' docs/Makefile.in &&
./configure --prefix=/usr \
--datadir=/usr/share/doc/valgrind-3.20.0 &&
make
要测试结果,执行: make regtest. 如果没有安装GDB-13.1,测试可能会永远挂起。有些测试也会挂起,这取决于glibc的版本。有些测试在不同的套件中可能会失败。有问题的测试可以通过将对应的.vgtest文件中的prereq:行更改为prereq: false来禁用。例如:
sed -e 's@prereq:.*@prereq: false@' \
-i {helgrind,drd}/tests/pth_cond_destroy_busy.vgtest
注意
如果libgomp已使用--enable-linux-futex(默认值)编译,则跳过OpenMP测试。如果需要,只需从gcc构建树中重新编译libgomp库,传递--disable-linux-futex进行配置,将库存储到某个位置,并更改链接/usr/lib/libgomp.so.1指向新图书馆。
现在,作为root用户:
make install
命令解释
sed -i … docs/Makefile.in : 这个sed用于将文档安装到版本目录中。
--enable-lto=yes: 此选项允许使用LTO(链接时间优化)构建Valgrind。这将产生一个更小/更快的Valgrind(高达10%),但构建时间增加到大约5.5 SBU。
内容
安装程序: callgrind_annotate, callgrind_control, cg_annotate, cg_diff, cg_merge, ms_print, valgrind, valgrind-di-server, valgrind-listener, 和 vgdb
安装库: None
安装目录: /usr/lib/valgrind, /usr/libexec/valgrind, /usr/include/valgrind, 和 /usr/share/doc/valgrind-3.20.0
简要描述
valgrind 是一个用于调试和分析Linux可执行文件的程序。
callgrind_annotate 获取由Valgrind工具Callgrind生成的输出文件,并以易于阅读的形式打印信息。
callgrind_control 控制由Valgrind工具Callgrind运行的程序。
cg_annotate 是Valgrind工具Cachegrind的后处理工具。
cg_diff 比较两个Cachegrind输出文件。
cg_merge 将多个Cachegrind输出文件合并为一个。
ms_print 获取由Valgrind工具Massif生成的输出文件,并以易于阅读的形式打印信息。
valgrind-di-server 是从存储在不同机器上的对象中读取调试信息的服务器。
valgrind-listener 在socket上监听Valgrind的评论。
vgdb 是Valgrind和GDB之间的中介,或者是shell。
13.37 yasm-1.3.0
简介yasm
Yasm是NASM-2.16.01汇编程序的完整重写。它支持x86和AMD64指令集,接受NASM和GAS汇编语法,并输出二进制、ELF32和ELF64对象格式。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
-
下载 MD5 校验和: fc9e586751ff789b34b1f21d572d96af
-
下载大小: 1.5 MB
-
预计所需磁盘空间: 27 MB (额外的12 MB用于测试)
-
预计构建时间: 0.1 SBU (额外0.1 SBU用于测试)
yasm依赖
可选
Python-2.7.18 和 cython-0.29.33
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/yasm
安装yasm
运行以下命令安装yasm:
sed -i 's#) ytasm.*#)#' Makefile.in &&
./configure --prefix=/usr &&
make
要测试结果,执行: make check.
现在,作为root用户:
make install
命令解释
sed -i ‘s#) ytasm.*#)#’ Makefile.in: 这个sed阻止了它编译两个只能在Microsoft Windows上使用的程序(vsyasm和ytasm)。
内容
安装程序: yasm
安装库: libyasm.a
安装目录: /usr/include/libyasm
简要描述
yasm 是一个可移植的、可重定向的汇编器,支持x86和AMD64指令集,接受NASM和GAS汇编器语法,并以ELF32和ELF64对象格式输出二进制文件。
libyasm.a 提供yasm的所有核心功能,用于操作机器指令和目标文件构造。
Java
13.38 Java-19.0.2
关于Java
Java不同于LFS和BLFS中的大多数包。它是一种编程语言,使用字节码文件获取指令,并在Java虚拟机(JVM)中执行。java入门程序如下所示:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello, World");
}
}
这个程序被保存为HelloWorld.java。文件HelloWorld必须与类名匹配。然后使用javac HelloWorld.java将其转换为字节码。输出文件是HelloWorld.class。该程序使用java HelloWorld执行。这将创建一个JVM并运行代码。’class’扩展名不能被指定。
可以使用jar命令将多个类文件合并为一个文件。这类似于标准的tar命令。例如,命令jar cf myjar.jar *.class将把一个目录中的所有类文件合并为一个jar文件。它们充当库文件。
JVM可以自动搜索和使用jar文件中的类。它使用CLASSPATH环境变量来搜索jar文件。这是一个以冒号分隔的目录名称的标准列表,类似于PATH环境变量。
二进制JDK信息
从源代码创建JVM需要一组循环依赖。首先需要一组称为Java开发包(JDK)的程序。这组程序包括java、javac、jar和其他一些程序。它还包括几个基本jar文件。
首先,我们安装由BLFS编辑器创建的JDK二进制安装包。它安装在/opt目录中,以允许多次安装,包括基于源代码的版本。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
二进制包信息
-
二进制下载 (x86): https://anduin.linuxfromscratch.org/BLFS/OpenJDK/OpenJDK-19.0.2/OpenJDK-19.0.2+7-i686-bin.tar.xz
-
下载 MD5 校验和: e5a9566e3d3a667b9098908b72855da8
-
下载大小(二进制): 159 MB
-
预计所需磁盘空间: 307 MB
-
二进制下载 (x86_64): https://anduin.linuxfromscratch.org/BLFS/OpenJDK/OpenJDK-19.0.2/OpenJDK-19.0.2+7-x86_64-bin.tar.xz
-
下载 MD5 校验和: 1fccb8cd903f395ba1a80c678ba2a2e0
-
下载大小(二进制): 160 MB
-
预计所需磁盘空间: 324 MB
Java 二进制运行时依赖
alsa-lib-1.2.8, Cups-2.4.2, giflib-5.2.1, 和 Xorg Libraries
安装Java BinaryJDK
首先提取适合您的体系结构的二进制压缩包,并更改到提取的目录。以root用户的身份使用以下命令安装二进制OpenJDK:
install -vdm755 /opt/OpenJDK-19.0.2-bin &&
mv -v * /opt/OpenJDK-19.0.2-bin &&
chown -R root:root /opt/OpenJDK-19.0.2-bin
现在安装了二进制版本。你可以以root用户身份通过以下命令创建指向该版本的符号链接:
ln -sfn OpenJDK-19.0.2-bin /opt/jdk
您现在可以继续Configuring the JAVA environment,其中的说明假定上面的链接存在。
13.39 OpenJDK-19.0.2
简介OpenJDK
OpenJDK是Oracle的Java标准版平台的一个开源实现。OpenJDK对于开发Java程序非常有用,它提供了一个完整的运行环境。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
OpenJDK是GPL的代码,只有一个特殊的例外,非免费项目可以在其专有产品中使用这些类。与允许非自由程序链接到自由软件提供的库的LGPL类似的方式,GNU General Public License, version 2, with the Classpath Exception允许第三方程序使用自由软件提供的类,而不要求第三方软件也是自由的。与LGPL一样,对第三方应用程序的免费软件部分所做的任何修改也必须是免费提供的。
注意
OpenJDK源代码包含一个使用JTreg测试套件的非常全面的开源测试套件。下面的测试说明允许测试刚构建的JDK与专有的Oracle JDK的合理兼容性。然而,为了让一个独立的实现声明兼容性,它必须通过一个专有的JCK/TCK测试套件。没有通过批准的测试套件,不能声明兼容性,甚至部分兼容性。
Oracle确实提供免费的社区访问,在每个案例的基础上,封闭的工具包,以确保与其专有的JDK 100%兼容。Java-19.0.2页面上提供的二进制版本和按照下面的指令构建的JVM都没有在TCK上测试过。使用上述说明构建的任何版本都不能声称与专有的JDK兼容,除非用户自行申请并完成兼容性测试。
考虑到这一点,使用此构建方法生成的二进制文件将由上面网站上列出的成员定期针对TCK进行测试。除了上面的社区许可之外,还可以在here获得TCK的教育、非商业许可。
包信息
-
下载 (HTTP): https://github.com/openjdk/jdk19u/archive/jdk-19.0.2-ga.tar.gz
-
下载 MD5 校验和: 2c5489f4830bce40240dc4f76f890156
-
下载大小: 103 MB
-
预计所需磁盘空间: 5.1 GB (添加595 MB用于测试)
-
预计构建时间: 3.8 SBU 使用4线程 (为4个线程的测试添加41个SBU)
额外下载
Optional test harness
-
https://anduin.linuxfromscratch.org/BLFS/OpenJDK/OpenJDK-19.0.2/jtreg-6.1+1.tar.gz
-
下载 MD5 校验和: 49e6bfa2506e96f461a01f9421a0961c
-
下载大小: 8.0 MB
OpenJDK依赖
必要依赖
现有的二进制文件(Java-19.0.2或此包的早期构建版本。下面的说明假设您正在使用Configuring the JAVA environment), alsa-lib-1.2.8, cpio-2.13, Cups-2.4.2, UnZip-6.0, Which-2.21, Xorg Libraries, 和 Zip-3.0
推荐
make-ca-1.12, giflib-5.2.1, Little CMS-2.14, libjpeg-turbo-2.1.5.1, libpng-1.6.39, 和 Wget-1.21.3
可选
git-2.39.2, Graphviz-7.1.0, Mercurial-6.3.2, pandoc, 和 pigz
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/openjdk
安装OpenJDK
如果你已经下载了可选的测试工具,现在就解压它:
tar -xf ../jtreg-6.1+1.tar.gz
注意
在继续之前,你应该确保环境变量PATH包含用于引导OpenJDK的Java编译器的位置。这是环境的唯一要求。现代Java安装不需要JAVA_HOME,这里也不需要使用CLASSPATH。此外,OpenJDK开发者建议取消设置JAVA_HOME。
构建系统不允许在MAKEFLAGS中使用-j开关。有关自定义并行化的更多信息,请参阅命令解释--with-jobs=。
使用以下命令配置和构建包:
unset JAVA_HOME &&
bash configure --enable-unlimited-crypto \
--disable-warnings-as-errors \
--with-stdc++lib=dynamic \
--with-giflib=system \
--with-jtreg=$PWD/jtreg \
--with-lcms=system \
--with-libjpeg=system \
--with-libpng=system \
--with-zlib=system \
--with-version-build="7" \
--with-version-pre="" \
--with-version-opt="" \
--with-cacerts-file=/etc/pki/tls/java/cacerts &&
make images
要测试结果,需要执行jtreg程序。你可以在下面的命令中添加-conc:<X>值来设置并发测试的数量(否则测试将按顺序运行):
export JT_JAVA=$(echo $PWD/build/*/jdk) &&
jtreg/bin/jtreg -jdk:$JT_JAVA -automatic -ignore:quiet -v1 \
test/jdk:tier1 test/langtools:tier1 &&
unset JT_JAVA
要对测试套件有更多的控制,请查看jtreg/doc/jtreg/usage.txt中的文档。要查看结果,请查看文件JTreport/test_{jdk,langtools}/text/stats.txt 和 JTreport/test_{jdk,langtools}/text/summary.txt。您应该预计会看到大约60个失败和10个错误。
以root用户使用以下命令安装包:
install -vdm755 /opt/jdk-19.0.2+7 &&
cp -Rv build/*/images/jdk/* /opt/jdk-19.0.2+7 &&
chown -R root:root /opt/jdk-19.0.2+7 &&
for s in 16 24 32 48; do
install -vDm644 src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
/usr/share/icons/hicolor/${s}x${s}/apps/java.png
done
注意
如果你只想安装Java运行时环境,你可以在上面的cp命令中替换build/*/images/jre。
现在在/opt中安装了两个OpenJDK SDK。你应该决定使用哪个作为默认值。通常,你会选择刚安装的OpenJDK。如果是,以root用户执行以下操作:
ln -v -nsf jdk-19.0.2+7 /opt/jdk
如果需要,你可以创建。desktop文件来在java和jconsole菜单中添加条目。所需的图标已经安装。作为root用户:
mkdir -pv /usr/share/applications &&
cat > /usr/share/applications/openjdk-java.desktop << "EOF" &&
[Desktop Entry]
Name=OpenJDK Java 19.0.2 Runtime
Comment=OpenJDK Java 19.0.2 Runtime
Exec=/opt/jdk/bin/java -jar
Terminal=false
Type=Application
Icon=java
MimeType=application/x-java-archive;application/java-archive;application/x-jar;
NoDisplay=true
EOF
cat > /usr/share/applications/openjdk-jconsole.desktop << "EOF"
[Desktop Entry]
Name=OpenJDK Java 19.0.2 Console
Comment=OpenJDK Java 19.0.2 Console
Keywords=java;console;monitoring
Exec=/opt/jdk/bin/jconsole
Terminal=false
Type=Application
Icon=java
Categories=Application;System;
EOF
命令解释
bash configure…: 顶层的configure封装了autotools。它是不可执行的,必须通过bash运行。
--enable-unlimited-crypto: 由于某些国家对密码学的使用有限制,因此可以限制策略文件中加密密钥的大小和某些算法的使用。该开关允许不受限制地传送策略文件。确保适当遵守法律是用户的责任。
--disable-warnings-as-errors: 这个开关禁止在构建中使用-Werror。
--with-stdc++lib=dynamic: 这个开关强制构建系统链接到libstdc++.so(动态)而不是libstdc++.a(静态)。
--with-jobs=<X>: 传递给make的-j不能与这里调用的make一起工作。默认情况下,构建系统将使用cpu数量减1。
--with-jtreg=$PWD/jtreg: 这个开关告诉configure在哪里找到jtreg。如果没有下载可选的测试套件,请忽略。
--with-{giflib,lcms,libjpeg,libpng,zlib}=system: 这些开关强制构建系统使用系统库而不是捆绑的版本。
--with-version-build: 目前,构建系统没有在版本字符串中包含构建号。它必须在这里指定。
--with-version-pre: 这个开关允许你使用自定义字符串作为版本字符串的前缀。
--with-version-opt: 这个开关允许你在版本字符串中添加一个可选的构建描述。
--with-cacerts-file=/etc/pki/tls/java/cacerts: 指定在BLFS系统的/etc/pki/tls/java/目录下查找cacerts文件。否则,创建一个空的。安装好Java二进制文件后,你可以使用/usr/sbin/make-ca –force命令来生成它。
--with-boot-jdk: 这个开关提供了临时JDK的位置。如果PATH中有java,则通常不需要它。
配置OpenJDK
配置信息
通常情况下,JAVA环境在安装二进制版本后就已经配置好了,也可以在刚构建的包中使用。如果您想要修改某些内容,请查看Configuring the JAVA environment。
要测试手册页是否正确安装,请发出source /etc/profile和man java命令来显示各自的手册页。
设置JRE证书颁发机构证书(cacerts)文件
如果你已经运行了make-ca-1.12页面上的说明,你只需要在cacerts文件的默认位置创建一个符号链接。以root用户:
ln -sfv /etc/pki/tls/java/cacerts /opt/jdk/lib/security/cacerts
要检查安装情况,请执行以下命令:
cd /opt/jdk
bin/keytool -list -cacerts
在Enter keystore password:提示符下,输入changeit(默认值)或者直接按“Enter”键。如果正确安装了cacerts文件,你将看到一个包含每个证书相关信息的证书列表。如果没有安装,请重新安装。
内容
安装程序: jar, jarsigner, java, javac, javadoc, javap, jcmd, jconsole, jdb, jdeprscan, jdeps, jfr, jhsdb, jimage, jinfo, jlink, jmap, jmod, jpackage, jps, jrunscript, jshell, jstack, jstat, jstatd, jwebserver, keytool, rmiregistry, 和 serialver
安装库: /opt/jdk-19.0.2/lib/*
安装目录: /opt/jdk-19.0.2
简要描述
jar 将多个文件合并为单个jar归档文件。
jarsigner 对jar文件进行签名,并验证签名的jar文件的签名和完整性。
java 启动Java运行时环境,加载指定的类并调用其main方法,从而启动Java应用程序。
javac 读取用Java编程语言编写的类和接口定义,并将它们编译为字节码类文件。
javadoc 解析一组Java源文件中的声明和文档注释,并生成一组对应的HTML页面,描述类、接口、构造函数、方法和字段。
javap 反汇编一个Java类文件。
jcmd 是一个实用程序,用于向运行中的Java虚拟机发送诊断命令请求。
jconsole 是一个图形化的控制台工具,用于监视和管理本地和远程Java应用程序和虚拟机。
jdb 是一个简单的Java类的命令行调试器。
jdeprscan 扫描类或jar文件以获取废弃的API元素。
jdeps 显示Java类文件的包级或类级依赖关系。
jfr 是一个处理“Flight Recorder”文件的工具。
jhsdb 是一个工具,用于分析来自崩溃的Java虚拟机(JVM)的核心转储的内容。
jimage 用于列出、提取、验证或获取jimage格式的模块信息。
jinfo 打印给定Java进程、核心文件或远程调试服务器的Java配置信息。
jlink 用于组装和优化一组模块及其依赖项到自定义运行时映像中。
jmap 打印给定进程、核心文件或远程调试服务器的共享对象内存映射或堆内存细节。
jmod 创建JMOD文件并列出现有JMOD文件的内容。
jpackage 生成Java应用程序包和映像。
jps 列出目标系统上安装的jvm。
jrunscript 是一个命令行脚本shell。
jshell 是一个用于学习Java编程语言和原型设计Java代码的交互式工具。
jstack 打印给定Java进程、核心文件或远程调试服务器的Java线程的堆栈跟踪。
jstat 显示已安装的JVM的性能统计数据。
jstatd 是一个RMI服务器应用程序,用于监视插装jvm的创建和终止。
jwebserver 提供一个最小的HTTP服务器,用于原型设计、测试和调试。
keytool 是一个密钥和证书管理工具。
rmiregistry 在当前主机的指定端口上创建并启动远程对象注册表。
serialver 以适合复制到演进中的类的形式返回一个或多个类的serialVersionUID。
13.40 配置JAVA环境
设置环境
包安装完成后,下一步是确保系统能够正确地找到文件。如果你按照The Bash Shell Startup Files中的建议设置登录脚本,以root用户创建openjdk.sh脚本来更新环境:
cat > /etc/profile.d/openjdk.sh << "EOF"
# Begin /etc/profile.d/openjdk.sh
# Set JAVA_HOME directory
JAVA_HOME=/opt/jdk
# Adjust PATH
pathappend $JAVA_HOME/bin
# Add to MANPATH
pathappend $JAVA_HOME/man MANPATH
# Auto Java CLASSPATH: Copy jar files to, or create symlinks in, the
# /usr/share/java directory.
AUTO_CLASSPATH_DIR=/usr/share/java
pathprepend . CLASSPATH
for dir in `find ${AUTO_CLASSPATH_DIR} -type d 2>/dev/null`; do
pathappend $dir CLASSPATH
done
for jar in `find ${AUTO_CLASSPATH_DIR} -name "*.jar" 2>/dev/null`; do
pathappend $jar CLASSPATH
done
export JAVA_HOME
unset AUTO_CLASSPATH_DIR dir jar
# End /etc/profile.d/openjdk.sh
EOF
如果安装了Sudo-1.9.13p1,超级用户应该可以访问上述变量。以root用户执行以下命令:
cat > /etc/sudoers.d/java << "EOF"
Defaults env_keep += JAVA_HOME
Defaults env_keep += CLASSPATH
EOF
要使用mandb在其数据库中包含OpenJDK的手册页,以root用户的身份发出命令:
cat >> /etc/man_db.conf << "EOF" &&
# Begin Java addition
MANDATORY_MANPATH /opt/jdk/man
MANPATH_MAP /opt/jdk/bin /opt/jdk/man
MANDB_MAP /opt/jdk/man /var/cache/man/jdk
# End Java addition
EOF
mkdir -p /var/cache/man &&
mandb -c /opt/jdk/man
设置Java的Certificate Authority证书
OpenJDK使用自己的CA证书格式。Java安全模块默认使用$JAVA_HOME/lib/security/cacerts。为了把所有的证书放在一个地方,我们使用/etc/ssl/java/cacerts。make-ca-1.12页面上的说明之前创建了位于/etc/ssl/java中的文件。以root用户的身份在默认位置设置一个符号链接:
ln -sfv /etc/pki/tls/java/cacerts /opt/jdk/lib/security/cacerts
使用以下命令检查cacerts文件是否已成功安装:
/opt/jdk/bin/keytool -list -cacerts
在Enter keystore password:提示符下,输入changeit(默认值)或者直接按“Enter”键。如果正确安装了cacerts文件,你将看到一个包含每个证书相关信息的证书列表。如果没有安装,请重新安装。
如果稍后安装新的JVM,只需在默认位置创建符号链接即可使用cacerts。
13.41 apache-ant-1.10.13
简介Apache Ant
Apache Ant包是一个基于java的构建工具。理论上,它类似于make命令,但没有make的wrinkles。Ant就不一样了。Ant不是使用基于shell的命令扩展的模型,而是使用Java类扩展的模型。配置文件是基于xml的,它调用一个目标树来执行各种任务,而不是编写shell命令。每个任务都由一个实现特定任务接口的对象运行。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://archive.apache.org/dist/ant/source/apache-ant-1.10.13-src.tar.xz
-
下载 MD5 校验和: 4cf5c6728612f4787eda265b0a2d266b
-
下载大小: 3.7 MB
-
预计所需磁盘空间: 242 MB
-
预计构建时间: 0.3 SBU (不包括下载时间)
Apache Ant依赖
必要
一个JDK (Java Binary 或 OpenJDK-19.0.2) 和 GLib-2.74.5
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/apache-ant
安装Apache Ant
使用下面的命令构建一个有限的Apache Ant引导版本:
./bootstrap.sh
现在修复下一个命令试图从有问题的网站下载文件时的问题:
sed -e 's|ftp.software.ibm.com|anduin.linuxfromscratch.org|' \
-e 's|software/awdtools/netrexx|BLFS/apache-ant|' \
-i fetch.xml
使用fetch.xml ant构建脚本下载运行时依赖:
bootstrap/bin/ant -f fetch.xml -Ddest=optional
运行以下命令构建Apache Ant:
./build.sh -Ddist.dir=$PWD/ant-1.10.13 dist
以root用户身份安装:
cp -rv ant-1.10.13 /opt/ &&
chown -R root:root /opt/ant-1.10.13 &&
ln -sfv ant-1.10.13 /opt/ant
命令解释
bootstrap/bin/ant -f fetch.xml -Ddest=optional: 将缺失的依赖项下载到用户的主目录,并将它们复制到源代码树中(在lib/optional目录中,ant在构建时将其提取)。
./build.sh -Ddist.dir=$PWD/ant-1.10.13 dist: 该命令构建、测试,然后将包安装到临时目录中。
配置Apache Ant
配置文件
/etc/ant/ant.conf, ~/.ant/ant.conf, 和 ~/.antrc
配置信息
有些包需要在搜索路径和定义的ANT_HOME环境变量中包含ant。通过以root用户的身份发出命令来满足这些要求:
cat > /etc/profile.d/ant.sh << EOF
# Begin /etc/profile.d/ant.sh
pathappend /opt/ant/bin
export ANT_HOME=/opt/ant
# End /etc/profile.d/ant.sh
EOF
上面的说明假设您已经按照The Bash Shell Startup Files中描述的方式配置了系统。
内容
安装程序: ant, antRun, antRun.pl, complete-ant-cmd.pl, runant.pl, 和 runant.py
安装库: 大量的ant*.jar和$ANT_HOME/lib中的依赖库
安装目录: /opt/ant-1.10.13
简要描述
ant 是一个基于Java的构建工具,许多包使用它来代替传统的make程序。
antRun 是一个支持脚本,用于在给定目录中启动ant构建脚本。
antRun.pl 是一个Perl脚本,提供了与antRun脚本类似的功能。
complete-ant-cmd.pl 是一个Perl脚本,它允许Bash完成ant命令行。
runant.pl 是一个用于调用ant的Perl包装脚本。
runant.py 是一个用于调用ant的Python包装脚本。
ant*.jar 文件是Apache Ant Java类库。