모든 것이 매우 혼란스럽습니다. 다음과 같은 다양한 예가 있습니다.
<package-name>_<epoch>:<upstream-version>-<debian.version>-<architecture>.deb
예버전 5.6.12아니면 데비안 정책 매뉴얼이 실제 패키지 파일 이름과도 관련되어 있습니까? 아니면 제어 파일의 필드에만 적용됩니까?
이 위키 주제에서는저장소 형식컨벤션에 대해서도 아무 말도하지 않습니다.개발자를 위한 모범 사례 가이드.
아마도 제가 잘못된 것을 찾고 있는 것일 수도 있습니다. 도움을 주시고 데비안 패키지 명명 규칙을 어디서 찾을 수 있는지 알려주세요. 특히 데비안 코드네임을 어디에 두어야 할지 궁금합니다. 나는 이런 일을하고 싶다 :
<package-name>_<version>.<revision>-<debiancodename>_<architecture>.deb
또는 은 어디에 <debiancodename>
있습니까 ?squeeze
wheezy
답변1
내 이해는 패키지를 여러 데비안 기반 배포판에 배포/배포하기를 원한다는 것입니다.
.deb
데비안/우분투 세계에서는 다운로드와 설치를 위해 별도의 파일을 제공하면 안 됩니다 . 대신 APT 저장소를 제공해야 합니다. (Fedora/Red Hat/CentOS 세계에서는 YUM 저장소를 제공하기 위해 비슷한 제안을 할 것입니다.) deb 파일의 이름을 지정하는 방법에 대한 문제를 해결할 뿐만 아니라 저장소는 버그 수정 및 보안 업데이트를 포함하여 업데이트된 버전의 패키지를 제공하는 효율적인 방법입니다. APT 저장소를 생성하는 것은 이 페이지/질문의 목적을 벗어납니다. 검색해 보세요."적절한 저장소를 설정하는 방법"
이제 "패키지 명명 규칙"이라는 질문으로 돌아갑니다.
빌드 패키지를 사용하는 경우 dpkg-buildpackage
패키지 이름은 표준 방식으로 지정됩니다. 인용하다dpkg 이름맨페이지:
전체 패키지 이름은 패키지의 제어 파일에 지정된 package_version_architecture.package-type으로 구성됩니다.
package_version_architecture.package-type
데비안 정책예제어 파일 구문을 알 수 있는 올바른 위치:이름(소스 코드 패키지 및 바이너리 패키지의 경우)버전,건축학,포장 유형.
배포가 작동하는 방식이 아니기 때문에 배포를 명시하는 조항은 없습니다.
여러 배포판에 대해 동일한 버전의 패키지를 컴파일해야 하는 경우version
, 필드( debian/changelog
및 파일에서) 를 변경합니다 debian/control
. 어떤 사람들은 버전 필드에 릴리스 이름을 사용합니다. 예를 들어OpenSSL:
0.9.8o-4squeeze14
1.0.1e-2+deb7u14
1.0.1k-1
debian_revision
이것이 당신이 하고 싶은 일이라면, 데비안 정책을 꼭 읽어보세요.버전.