PPA 및 패키징 : 여러 배포판 용 패키지 버전 보유


36

(채팅에서 인용)

출시와 관련된 IRC 봇 프로젝트의 소스 패키지에 대한 런치 패드에서 PPA를 얻었습니다 (릴리스 간 항목에 대한 모든 중간 패키징이므로 "실험적"PPA로 분류됩니다). 질문 : 이미 자명 한 빌드를 위해 패키지를 만들었습니다. maverick 용 패키지를 제외하고 동일한 패키징을 만들고 루시드 패키징을 넣은 것과 동일한 PPA에 넣는 방법에 대한 단서가 있습니까?

답변:


41

아마도 가장 쉬운 방법은 런치 패드에서 바이너리를 간단히 복사하는 것입니다.

  1. PPA로 이동하여 '패키지 세부 사항보기'를 클릭하십시오.

    여기에 이미지 설명을 입력하십시오

  2. '패키지 복사'를 클릭하십시오.

    여기에 이미지 설명을 입력하십시오

  3. Lucid 패키지를 선택하십시오 :

    여기에 이미지 설명을 입력하십시오

  4. 시리즈에서 'Maverick'을 선택하고 '기존 바이너리 복사'를 선택하십시오.

    여기에 이미지 설명을 입력하십시오

  5. '패키지 복사'를 클릭하면 끝입니다!


감사합니다. 귀하의 지시 사항이 발견되었습니다 . 빠른 답변 감사합니다.
토마스 워드

@Evil : 문제 없습니다. 기꺼이 도와 드리겠습니다!
Nathan Osman

4
여기에 링크 된 다른 질문에 대한 참고 사항 !!! 기존 바이너리 복사는 다른 버전의 우분투로 예정된 프로그램에서는 항상 작동하지 않습니다! 참조 내 rkhunter PPA와 명쾌한 버전의 변경 기록이 무슨 뜻인지 이해하기 : launchpad.net/~trekcaptainusa-tw/+archive/rkhunter/+packages을
토마스 구

@ ThomasWard : 좋은 지적-항상 작동하지는 않습니다.
Nathan Osman

2
@KhurshidAlam 슈퍼 응답이 늦어서 죄송합니다. "잘못된 변경 로그"와 함께 실패하므로 다른 버전의 PPA를 사용할 때 각각 별도로 태그를 지정해야합니다. [ launchpad.net/~nginx/+archive/stable ] ( launchpad.net/~nginx/+archive/stable )이 좋은 예입니다. 빌드하려면 빌드 버전을 배포판에 추가해야 빌드됩니다. 다른 모든 라이브러리에서 올바르게. (나는 지금 nginx 팀의 ppas를 유지하고 있으므로 이것을 예로 사용한다.)
Thomas Ward

11

빌드중인 패키지의 바이너리를 복사 할 수없는 경우 debian/changelog파일 을 편집하여 각 배포판의 소스 패키지를 업로드해야 합니다.

다른 배포판 버전을 다시 패키지하는 방법

  1. debian/changelog소스 패키지 디렉토리에서 파일을 편집하십시오.
  2. 변경 모두 버전대상 배포 당신이 구축하는 배포판하는 반영하기 위해

    예를 들어를 :nginx (1:1.4.1-0ubuntu1~preciseppa1) precise; urgency=low
  3. 소스 패키지를 다시 빌드하십시오. debuild -S
  4. .changesPPA에 파일을 업로드 하십시오.dput ppa:teward/nginx-stable-testing ../nginx_1.4.1-0ubuntu1~preciseppa1_source.changes

빌드가 성공하면 축하합니다. 이제 배포판 패키지를 만들었습니다. 그렇지 않은 경우 Launchpad에서 빌드 로그를 확인하고 발견 된 모든 문제를 해결해야합니다.

참고 문헌 :


이것이 제가하는 것입니다! : D MOTU (유니버설 리포지토리의 신) nginx는 PPA에서 다른 빌드 및 기타 프로그램 을 수행해야 할 때 이것을 설명 했으며 많은 문제를 해결하는 데 도움이되었습니다. 이것을 게시 해 주셔서 감사합니다! :)
토마스 워드

네, 모든 데비안 패키징 도구, PPA 업로드, 컨벤션 및 디버깅 실패 빌드를 사용하는 데 가파른 학습 곡선이있을 수 있기 때문에이 정보가 새로운 패키저를 문서화하고 사용할 수있는 유용한 정보라고 생각했습니다.
TrinitronX

과연. 이 질문 당시 다양한 버전의 우분투에서 사용할 수있는 다양한 라이브러리에 대해 걱정할 필요가 없었기 때문에 허용 된 답변을 변경하지는 않습니다. 으로 nginx또는 rkhunter다른 패키지 또는 나는 백 포트 종종 거대한 의존성 (다른 주소에 문제가있어 depends:난 항상 사용할 수 있도록, 제어 파일과 같은) programversion-1~RELEASE0내가에서 백 포트 때 .. 보통 ~ RELEASE0는 항상에있어 주어진 자료 일부 번호입니다 데비안에서 우분투로가는 경우 :)
토마스 워드

그렇습니다. 종속성은 확실히 백 포트의 어려움입니다 .-) 동의합니다. 대부분의 경우 허용되는 대답으로 충분하며, 런치 패드의 bzr-builder 레시피를 사용 하는 바자 소스 제어 저장소 사용자에게는 매력적입니다. 그러나 많은 의존성을 가진 패키지에 관해서는 때로는 대상 배포판에 대한 사용자 정의 패키지를 작성해야합니다.
TrinitronX

그리고 저는 nginxNGINX 팀을 위해 Debian Unstable에서 Precise, Quantal, Raring, Saucy (및 PPA의 Trusty, 그리고 PPA의 Trusty)로 백 포트 하지만, Debian이 멈출 때까지 Trusty가 데비안에서 합병 된 최신 버전을 갖도록합니다. 그러나 슬프게도 때로는 고칠 수없는 버그가 있으며 데비안은 처리해야합니다 ... 이것은 데비안 관리자와 좋은 관계를 맺고있는 이유입니다 :)
Thomas Ward
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.