패키지를 데비안에서 PPA로 어떻게 복사합니까?


10

최신 버전의 Gourmet을 실행하려는 Ubuntu 사용자가 해당 PPA를 소프트웨어 소스에 추가 할 수 있도록 Debian sid 의 최신 미식가 패키지를 팀의 PPA 에 추가하고 싶습니다 . (종속성 측면에서 현재의 모든 종속성이 현재 지원되는 모든 Ubuntu 버전에서 이미 사용 가능하므로 크게 문제가되지 않습니다.)

나는 다운로드 한 *.dsc파일을 데비안과 오리지널 타르볼을, 심지어 내가 사용할 수 파악 패키지의에 대한 source.changes파일. 또한 dput패키지의 유효성을 검사 할 수 있도록 데비안 관리자의 공개 키도 다운로드했습니다 . 그때 사용하여 우리의 PPA에 패키지를 업로드하려고 dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes(나는 또한 틸다없이 시도했다.)이 성공하는 듯하지만 확인 이메일을받지 않았고, 어떤 패키지는 지금 우리에 표시되지 않습니다 PPA 하는 날 리드, 생각 데비안 메인테이너의 키가 분명히 우리 팀 멤버의 키가 아니기 때문에 패키지가 거부되었습니다.

그렇다면 데비안 (sid)에서 런치 패드 PPA로 패키지를 "복사"하는 가장 쉬운 방법은 무엇입니까? 전체 패키지를 로컬로 다시 빌드해야 업로드 할 수 있습니까?


BTW, Ubuntu 개발 버전은 데비안에서 패키지를 자동 동기화하기 때문에 (즉, DebianImportFreeze 이전) Utopic에서 패키지를 복사하는 방법에 대한 답변을 기꺼이 받아들입니다.
Bernhard Reiter 2018 년

답변:


12

변경 로그를 조정하고 변경 파일을 재생성하려면 업로드하기 전에 소스 패키지를 로컬로 다시 빌드해야 합니다. 패키지를 백 포트하는 것은 매우 일반적인 작업이지만 스크립트로 작성되었습니다. ubuntu-dev-tools package backportpackage 맨 페이지 아이콘명령을 확인하십시오 .ubuntu-dev-tools 설치

데비안에서 패키지를 백 포트하려면 패키지에 대한 대상 배포 시리즈, PPA 및 dsc 파일을 제공하십시오.

backportpackage -d trusty -u ppa:gourmet/ppa http://ftp.de.debian.org/debian/pool/main/g/gourmet/gourmet_0.17.3-1.dsc

dsc 파일을 찾을 필요가 없으므로 우분투 릴리스에서 다른 패키지로 패키지를 백 포트하는 것이 훨씬 더 간단합니다. 우리가 utopic에서 trusty로 백 포트하고 싶다고 가정 해 봅시다.

backportpackage -s utopic -d trusty -u ppa:gourmet/ppa gourmet

대박! 나에게 약간의 버그처럼 보이는 유일한 것은 패키지 ~gourmet/ppa-u매개 변수에 인수로 전달되었지만 개인 PPA (~ ockham-razor / ppa)로 끝났다는 것입니다 . (하지만 다행히 미식가 팀의 런치 패드를 통해 내 PPA에서 복사 할 수 있었다.)
베른 하르트 라이터

1

이를 수행하는 몇 가지 방법이 있습니다.

Rhythmbox에 대해이 작업을 수행했을 때 다음과 같은 receipe를 수행했습니다.

ㅏ. 소스 파일과 데비안 파일을 가져옵니다

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

비. 소스를 압축 해제하십시오 (.orig.tar.xz)

씨. 소스 폴더 이름을 다음과 같이 바꾸십시오.rhythmbox-3.0.3

씨. 데비안 파일 (.debian.tar.xz)의 압축을 해제하십시오

디. 데비안 폴더를 소스 디렉토리 아래로 이동

이자형. dch -i변경 로그 파일을 변경하려면

에프. "불안정한"패키지 이름을 우분투 대상의 이름으로 변경하십시오-여기 에서는 12.04에 정확하게 사용했습니다 . 앱에 맞게 버전을 변경하십시오. 여기에 rhythmbox는 3.0.3이었습니다. 그래서 방금 추가했습니다.-1~ppafossfreedom

rhythmbox (3.0.3-1~ppafossfreedom) precise; urgency=low

  * rebuild

 -- fossfreedom <fossfreedom@somewheremail.com>  Thur, 07 Jun 2012 13:19:18 +0100

지. 새 소스 패키지를 작성하십시오.dh_build --createorig

h. 키와 바로 소스를 빌드 : debuild -S -k0xABCDEFG어디 ABCDEFG열쇠이다

나는. 빌드 할 패키지를 업로드하십시오.

cd ..
dput ppa:fossfreedom/rhythmbox rhythmbox_3.0.3-1_sources.changes    

기본적으로 패키지를 다시 작성하는 것입니다. 오 잘 나는 좀 더 쉬운 방법을 원했지만 아무 것도 없다고 생각합니다.
Bernhard Reiter 2018 년

패키지 에서 dget명령을 살펴보십시오 devscripts. 이 작업을 상당히 단순화 할 것입니다.
andrewsomething

@andrewsomething-예제로 대답으로 바꾸십시오 :)-그것이 포장을 단순화 할 수 있는지 알고 싶습니다.
fossfreedom

글쎄, 나는 완전히 다른 대답을 가지고 있지만, 당신은 여전히 dget=)에 대해 배워야합니다 . dsc 파일에는 소스 패키지의 다른 부분에 대한 모든 정보가 들어 있습니다. 그래서 dget모든 것을 사로 잡고 당신이 그것을에게 DSC 파일에 대한 링크를 제공하는 경우 올바르게 압축을 풉니 다. dget -ux http://http.debian.net/debian/pool/main/r/rhythmbox/rhythmbox_3.0.3-1.dsc
andrewsomething 2016 년

깔끔한 답변-잘 했어요 +1
fossfreedom
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.