Bu sorunun cevabı, hangi açık kaynaklı projeyi bu şekilde yüklemeye çalıştığınıza bağlıdır. Genel cevap, bazı açık kaynaklı projelerin, bu amaç için isteğe bağlı değişkenler sağlayan Makefiles'a sahip olmasıdır. Buna özel bir örnek, üst düzey Makefile DESTDIR
değişkenini kullanan (ancak görünmüyor) bir değişken olan gdb'dir ve eğer bu komutu gdb derleme dizininde çalıştırırsam,
make DESTDIR=/tmp install
/tmp
dosyayı kopyalamadan önce her hedef yola hazırlar .
Daha zor olan başka bir yaklaşım da, tüm kurulum, kurulum ve hepsini chroot ortamında yapmaktır. OverlayFS gibi bir şey kullanmak bunu kolaylaştırabilir, ancak bu genellikle en az direnç gösteren yol değildir.
Zaten bir Debian lezzetini kullanıyorsanız (çoğu diğerleri arasında Ubuntu içeren), muhtemelen daha kolay olan bir başka olasılık, açık kaynak projesine karşılık gelen Debian kaynak paketini almaktır (bu yaklaşımın kolay olmaması muhtemeldir. Bu kaynak paket) ve bu kaynaktan Debian paketini oluşturmak için talimatları takip edin. Gerçekten .rpm
yerine bir şeye ihtiyacınız .deb
varsa, .deb
a .rpm
'ya dönüştürebilirsiniz , ya da belki de inşa .rpm
etme sürecinde geride bırakılan dizin yapısından a oluşturabilirsiniz .deb
. Bu cevap , kaynaktan bir Debian paketi oluşturma hakkında bir bilgi kaynağıdır.
En son openssl
(bir yorumda belirtilen, ancak soruda henüz bahsedilmemiş), INSTALL dosyası şöyle der:
Package builders who want to configure the library for standard
locations, but have the package installed somewhere else so that
it can easily be packaged, can use
$ make DESTDIR=/tmp/package-root install # Unix
$ mms/macro="DESTDIR=TMP:[PACKAGE-ROOT]" install ! OpenVMS
The specified destination directory will be prepended to all
installation target paths.
Bu farklı sürümleri arasında değişir openssl
; 1.0.2 INSTALL için şunu söylüyor:
Package builders who want to configure the library for standard
locations, but have the package installed somewhere else so that
it can easily be packaged, can use
$ make INSTALL_PREFIX=/tmp/package-root install
(or specify "--install_prefix=/tmp/package-root" as a configure
option). The specified prefix will be prepended to all
installation target filenames.
Fikir biraz farklı detaylarda olduğu gibi aynı.
stow
yönetmek için kullanıyorum/usr/local
).