是否可以构建'git',使安装目录和部署前缀不相同?
我正试图从源代码构建是否可以构建'git',使安装目录和部署前缀不相同?,git,autoconf,Git,Autoconf,我正试图从源代码构建git,我想makeinstall将二进制文件放入源代码目录中名为dist的目录中,因此我使用以下配置行 ./configure --prefix=`pwd`/dist 不幸的是,这也会导致生成输出假定这是git的最终安装位置,因此将路径硬编码到各种脚本和二进制文件中,例如libexec/git core/git difftool 有没有办法在configure或make期间指定我需要一个不同的实际部署路径,例如/usr/bin/local,但仍然需要make instal
git
,我想makeinstall
将二进制文件放入源代码目录中名为dist
的目录中,因此我使用以下配置
行
./configure --prefix=`pwd`/dist
不幸的是,这也会导致生成输出假定这是git的最终安装位置,因此将路径硬编码到各种脚本和二进制文件中,例如libexec/git core/git difftool
有没有办法在
configure
或make
期间指定我需要一个不同的实际部署路径,例如/usr/bin/local
,但仍然需要make install
进入目录pwd
/dist?,因为这个问题已经有几天没有答案,我,并收到了以下答案,表明我应该将前缀设置为实际安装路径,并使用DESTDIR
环境变量控制makeinstall
放置文件的位置
./configure --prefix=/usr/local
make
DESTDIR=$(PWD)/dist make install
因此,在/configure
期间,部署前缀应设置为--prefix
,而安装目标应由DESTDIR
指定
更新:我已经测试了这个解决方案,并确认它工作正常。将现有的/usr/bin/local/to/usr/bin/local.temp、symlink/usr/bin/local to/dist、configure--prefix=/usr/bin/local、make install、rm symlink、restore dir name?这是一个简单的解决方法,但它没有解决问题的根源。是的,这就是为什么我评论而不是回答。:)为了便于部署到安卓系统,但这个问题应该从表面上看。正如第一条评论所建议的,基本问题并不难解决。请注意,只要有令人信服的证据,有效答案可能是否定的。为完整起见,这是指向您的邮件列表帖子的链接:@sschuberth,谢谢链接!我已经把它写进了答案,对我来说不起作用。唯一适用于前缀的方法是通过/configure
,但是安装
失败。sIt可能值得再次联系Git开发人员,看看自2015年以来情况是否发生了变化。