如何在CentOS 5.8上编译tmux 1.7?

如何在CentOS 5.8上编译tmux 1.7?

我想在我的 CentOS 5.8(64 位)机器上安装 tmux 1.7。

它需要 libevent 版本至少为 1.4.14b 或 2.0.20 ,yumCentOS 5.8 软件包中的最新版本是 1.4.13 。

我知道我libevent-devel也需要这个包来构建,tmux但我无法在任何地方得到它。

谁能给我提示如何做到这一点?

我如何获取(构建)开发包?

答案1

您可以使用以下步骤在 CentOS 5.8 上编译 tmux 1.7:

安装开发者工具

yum groupinstall "Development Libraries"
yum groupinstall "Development Tools"
yum install rpm-build gcc

设置 .rpmmacros 文件

$ cat > /home/<myusername>/.rpmmacros << EOF
%packager Your Name
%vendor Your Orgnazation
%_topdir /home/<myusername>/rpmbuild
%_signature gpg
%_gpg_name Your Packaging Dept
%_gpg_path /home/mockbuild/.gnupg
%dist build_id
%buildroot 
EOF

笔记:确保将 $HOME 路径替换为<myusername>.

设置 rpmbuild 区域

mkdir -p $HOME/rpmbuild/{BUILD,RPMS/i386,SOURCES,SPECS,SRPMS}

构建 libevent 2.x RPM

# d/l package
wget http://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.10-stable.tar.gz/download
mv libevent-2.0.10-stable.tar.gz rpmbuild/SOURCES/

# download .spec file
wget http://geekery.altervista.org/specs/libevent2010.spec
mv libevent2010.spec rpmbuild/SPECS

# build RPM
rpmbuild -bb rpmbuild/SPECS/libevent2010.spec

安装 libevent 包

cd $HOME/rpmbuild/RPMS/x86_64
rpm -ivh libevent-devel-2.0.10-1build_id.x86_64.rpm libevent-2.0.10-1build_id.x86_64.rpm

下载 tmux SRPM

为此,我们将下载 Fedora 的 SRPM,但提取其中的内容并重用它的 .spec 文件来为 CentOS 5.x 构建 tmux。

cd $HOME/rpmbuild
wget ftp://ftp.muug.mb.ca/mirror/fedora/linux/development/19/source/SRPMS/t/tmux-1.7-2.fc19.src.rpm
mkdir -p temp && cd temp
rpm2cpio ../tmux-1.7-2.fc19.src.rpm | cpio -idmv
mv tmux.spec ../SPECS/ && mv tmux-1.7.tar.gz ../SOURCES/
cd ../SPECS/ && rmdir ../temp/

编辑 tmux.spec

vim tmux.spec

我遇到了这个 tmux.spec 文件的几个问题。不确定这是否是我的设置,所以我做了这些更改,但您可能不需要它们。

# Added these lines after the BuildRequires
BuildRoot:      %{buildroot}
Prefix:         /usr

# added DESTDIR=%{buildroot}
make %{?_smp_mflags} LDFLAGS="%{optflags}" DESTDIR=%{buildroot}

# changed this line
%{_bindir}/bin/tmux
# to this line
/usr/bin/tmux

保存此文件。

构建 tmux RPM

cd $HOME/rpmbuild
rpmbuild -ba SPECS/tmux.spec
rpm -ivh RPM/x86_64/tmux-1.7-2.x86_64.rpm

预构建

考虑到执行此操作的步骤数量,我将帮您一个忙,并在我的 yum 存储库中提供这些 RPM。

参考

相关内容