나는 다운로드 .tar.gz
했고.dsc
.diff.gz
세게 때리다Wheezy의 패키지:https://packages.debian.org/wheezy/bash. 그런 다음 dpkg-source -x
파일을 실행 dsc
하여 압축을 풀고 다음과 같은 결과를 얻었습니다.
$ ls -l
total 2696
-rw-rw-r-- 1 pgimeno pgimeno 2748840 Dec 30 2012 bash-4.2dfsg.tar.xz
drwxrwxr-x 3 pgimeno pgimeno 4096 Apr 3 23:36 debian
업데이트: 아카이브를 수동으로 추출할 수 있는데 이는 문제가 아닙니다. 다음 내용을 주의 깊게 읽어보시기 바랍니다. 몇 가지 핵심 문장을 강조해 봤습니다.
이것은 나를 혼란스럽게 한다. 완전히 압축이 풀린 아카이브를 얻으려면 어떻게 해야 합니까?데비안 패치 적용됨,그래서 할 수 있어소스 코드를 처리하고 빌드할 수 있는 수정된 패키지를 생성하시겠습니까?포장을 풀고 손으로 패치를 부착해야 하나요? 그렇다면 어느 디렉토리에 추출해야 합니까? 실행 후 기본값은 tar -xf bash-4.2dfsg.tar.xz
입니다 bash-4.2
. 그대로 유지해야 합니까, 아니면 파일을 홈 디렉터리로 이동해야 합니까? 그리고 뭐?
답변1
소스 패키지에 수행된 작업을 기록하는 중앙 위치는debian/rules
. 이는 메이크파일이며 build
모든 소스 아카이브의 압축을 풀고 패치해야 하며 patch
모든 소스 아카이브의 압축을 풀고 패치해야 한다는 것을 포함하여 일부 목표는 필수이거나 표준화되어 있습니다. 많은 패키지가 사용됨도움말 스크립트,주로데브 도우미( dh_*
및 최신 dh
프런트엔드) 및상업 은행.
wheezy의 bash 패키지는 일부 debhelper 스크립트를 사용하며 대상을 제공하지 않습니다 patch
. 또한 대상(일반적인 규칙)을 제공 하지 unpack
않지만 내부 사용을 위한 일부 대상을 제공합니다.
make -f debian/rules bash_src=bash unpack-bash
make -f debian/rules bash_src=bash patch-bash
답변2
valdyn은 irc.oftc.net
다음과 같은 솔루션을 찾는 데 도움을 주었습니다.
debian/rules bash-configure
몇 가지 추가 작업을 수행하고 소스 코드의 일부가 아닌 일부 디렉터리를 남겨두었지만 적어도 압축을 풀고 패치를 적용했기 때문에 이제 패치된 소스 코드에서 작업할 수 있습니다. 내가 의심했듯이 대상 디렉토리는 bash-4.2
수동으로 압축을 푸는 것과 같지 않고 bash
.
그러나 이것은 더러운 해킹처럼 느껴집니다. 나는 여전히 일반 빌드를 위해 소스 코드를 준비하는 동시에 구성 실행 없이 대부분의 패키지처럼 먼저 처리할 수 있는 "올바른" 솔루션을 찾고 있습니다.