우분투 : 그들은 바닐라 소스에 무엇을하고 있습니까?


12

내가 틀렸다면 바로 잡아 줘

내가 아는 한 데비안 / 우분투 / 페도라와 같은 배포판은 일반적으로 패키지를 만들기 전에 바닐라 소스 코드를 수정합니다. 이러한 변화의 원인은 무엇입니까? 원본 소스에 문제가 있습니까? 변경 목록과 특정 패키지에 대한 변경 이유를 어떻게 알 수 있습니까?

도와 주셔서 감사합니다!

답변:


18
apt-get source package

두 개 또는 세 개의 파일을 얻을 수 있습니다 : "원본"타르볼 (때때로 수정되었지만 거의 유일한 변경은 종종 파일 이름 임)-* .orig.tar.gz라는 데비안은 * .diff 형식으로 변경됩니다. .gz 파일 및 일부 메타 데이터. 때때로 .diff.gz 파일이 누락되었습니다. 즉 dak, 데비안 아카이브 업로드를 관리하는 매우 구체적인 배포 작업을 처리하기 위해 패키지가 데비안 / 우분투 전용으로 빌드되었음을 의미합니다 . 그런 다음 모든 코드는 원래 tarball에 있습니다.

여러 가지 이유가 있습니다 : 소프트웨어 버그 수정 (업스트림에서 원하지 않는 경우), 소프트웨어를 데비안에 적용 (파일 경로 조정). 데비안은 모든 패키지가 FileSystem Hierarchy Standard 를 준수하기를 원 하며 이것은 매우 일반적인 조정입니다.

원래 타르볼은 때때로 포장 문제로 인해 생성 된 업스트림과 동일하지 않습니다. 데비안 관리자는 타르 업스트림 타르볼로 구성된 "원래"타르볼을 만들기로 결정했습니다. 또 다른 이유는 때때로 데비안 관리자가 바이너리 파일을 패키지에 추가하기로 결정할 때입니다. 바이너리를 .diff.gz 파일에 넣기가 어렵 기 때문에 원본 tarball이 수정됩니다 (일반적으로 패키지 설명서에 명확하게 설명되어 있습니다).

때로는 라이센스가 문제가되는 경우가 있습니다. 업스트림이 일부 라이센스로 인한 영향을 이해하지 못하거나 이해하려고 할 때 발생합니다. 데비안은 모든 라이센스 문제를 해결하기를 원하므로 데비안 패치가 특정 작업을 수행하거나 원본 타르볼이 불법 배포 파일에서 제거됩니다.

또한 일부 컨텐츠는 라이센스가 부여되므로 사용할 수는 있지만 배포 할 수는 없습니다. 일반적으로 (fe for msttcorefonts, flashplugin-nonfree) 데비안 패키지는 패키지를위한 일종의 설치 프로그램 일 뿐이며 패키지 안에는 원래 내용이 없습니다.

pine라이센스는 컴파일 된 양식을 배포하는 것을 금지하기 때문에 패키지도 흥미 롭습니다. 따라서 pine바이너리 패키지는 없지만 pine소스 패키지가 있습니다. 위의 명령을 사용하여 다운로드하고 데비안 패키지로 컴파일 할 수 있습니다.


- 파인은 이제 원래의 라이센스 문제를 해결하기 위해서는 고산로 개발되고있다 washington.edu/pine
theotherreceive

여전히 pine패키지는 저장소 안에 있습니다. 그러나 이것이 라이센싱 문제로 인해 더 어려워지는 방식입니다.
liori

2

그 이유는 아마도 관리자와 패키지가있는 것만큼이나 많습니다. 나는 보통 배포판의 다른 소프트웨어와 더 잘 통합되거나 "공식"버전에없는 기능을 추가하기 위해 소프트웨어를 수정 한 것 같습니다.

sudo apt-get source PACKAGENAME명령 행 에 입력하여 소스 (및 우분투 특정 diff)를 얻을 수 있습니다 . 패키지의 바닐라 소스와 diff를 현재 디렉토리로 다운로드합니다. 그들은 또한 일반적으로 소스에 일부 의견을 포함합니다.


1

이런 식으로 생각하십시오. 를 통해 원본 소스 tarball에서 프로그램을 설치 한 경우 ./configure; make; make install여전히해야 할 일이 있습니다. 메뉴 항목을 작성하고 구성 파일 등을 설정해야합니다. 당신은 포기해야 할 수도 있습니다 ./configure--prefix. 배포판 관리자의 변경은 종종 이러한 일상적인 작업의 자동화에 지나지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.