필자는 tmux 개발 환경을 설정하기위한 몇 가지 스크립트가 있으며 양조 수식으로 패키징하려고하지만 걸림돌을 맞았습니다. automake가 양조 수식에서 설치 한 경우를 제외하고 dist_bin_SCRIPTS에서 + x 비트를 올바르게 설정합니다.
로컬로 실행 :% ./configure
% make install
*이 .IN에서 두 개의 스크립트를 생성하고 성공적으로 각각에 chmod +x
를 실행합니다. 생성 된 파일은 모두 실행 가능합니다 (0755).
수동 ./configure && make
실행 후 프로젝트 폴더에 ls
의 출력은 다음과 같습니다
~/repositories/tmuxide/scripts on :master? (2895bf9) tracking origin/master
[email protected](ttys002)[1062] % ls
total 104
drwxr-xr-x 9 frankjmattia staff 306B Jun 16 22:10 .
drwxr-xr-x 24 frankjmattia staff 816B Jun 16 22:10 ..
-rw-r--r-- 1 frankjmattia staff 14K Jun 16 22:09 Makefile
-rw-r--r-- 1 frankjmattia staff 405B Jun 16 22:08 Makefile.am
-rw-r--r-- 1 frankjmattia staff 14K Jun 16 22:09 Makefile.in
-rwxr-xr-x 1 frankjmattia staff 1.7K Jun 16 22:10 log-pane
-rw-r--r-- 1 frankjmattia staff 1.7K Jun 12 20:35 log-pane.in
-rwxr-xr-x 1 frankjmattia staff 2.1K Jun 16 22:10 tmuxide
-rw-r--r-- 1 frankjmattia staff 2.1K Jun 16 22:04 tmuxide.in
그리고 사제가 그것이 설치 폴더에 ls
의 출력 : 여기에
/usr/local/Cellar/tmuxide/0.0.3.j/bin on :master (3fec4c9)
[email protected](ttys002)[1056] % ls
total 16
drwxr-xr-x 4 frankjmattia admin 136B Jun 16 22:11 .
drwxr-xr-x 6 frankjmattia admin 204B Jun 16 22:11 ..
-r--r--r-- 1 frankjmattia admin 1.7K Jun 16 22:11 log-pane
-r--r--r-- 1 frankjmattia admin 2.1K Jun 16 22:11 tmuxide
가 중요하다 재생시 파일의 일부 :
configure.ac
AC_PREREQ([2.69])
AC_INIT([tmuxide], [0.0.3.j], [[email protected]])
AM_INIT_AUTOMAKE
AC_OUTPUT(Makefile man/Makefile scripts/Makefile)
AC_OUTPUT
스크립트/
dist_bin_SCRIPTS = tmuxide log-pane
CLEANFILES = $(dist_bin_SCRIPTS)
EXTRA_DIST = tmuxide.in log-pane.in
do_subst = sed \
-e 's,[@]PACKAGE[@],$(PACKAGE),g' \
-e 's,[@]PACKAGE_VERSION[@],$(PACKAGE_VERSION),g'
tmuxide: tmuxide.in Makefile
$(do_subst) < $(srcdir)/tmuxide.in > tmuxide
chmod +x tmuxide
log-pane: log-pane.in Makefile
$(do_subst) < $(srcdir)/log-pane.in > log-pane
chmod +x log-pane
Makefile.am 그러나, 나는 양조 공식이 포장 할 때, 생성 된 파일 (0444)에서만 읽을 수 있습니다. 내가 알아낼 수 없습니다
사제/tmuxide.rb
require "formula"
class Tmuxide < Formula
homepage 'https://github.com/frankjmattia/tmuxide'
url 'https://frankjmattia.github.io/tmuxide/tmuxide-0.0.3.j.tar.gz'
sha1 '5e51b66013a4afd60c362ce448b7e976cf7d6d6e'
depends_on 'gnu-getopt'
def install
system './configure', '--disable-silent-rules',
"--prefix=#{prefix}"
system 'make', 'install'
end
end
어디 일이 잘못되어 가고 것으로, 어떤 제안을 주시면 감사하겠습니다. 마지막으로 작동있어
당신은 github.com/frankjmattia/tmuxide
BTW, configure는 ** scripts/Makefile.am **에서'AC_CONFIG_FILES'를 사용하여 빌드 단계에서 수행하는 것처럼 대체 작업을 수행합니다. 이 작업을 수행하는 [요점] (https://gist.github.com/ldav1s/2abb86695dec50c96742)이 있습니다. – ldav1s
요점을 찾아 주셔서 감사합니다. 난 당신의 버전을 쏜과 불행히도 파일 양조 설치는 여전히 읽을 수 있습니다. 또한 make clean은 생성 된 파일을 제거하지 않습니다. –
'make install' (brew없이)을 시도했을 때 스크립트는 올바른 권한으로 설치되었습니다. 따라서 양조 경로의 어딘가에 문제가있는 곳이 있습니다. 요지의 스크립트는 여전히 [automake clean rules] (http://www.gnu.org/software/automake/manual/html_node/Clean.html)를 따릅니다. 그것들은'make'에 의해 만들어지지는 않지만'configure' 때문에'make distclean'은 그들을 정리할 것입니다. – ldav1s