2014-01-25 4 views
1

닫힌 소스 앱이므로 i386과 amd64 모두에 대해 직접 컴파일 된 데비안 패키지가 있습니다.PPA의 i386 및 amd64에 닫힌 소스 앱을 게시하는 방법은 무엇입니까?

dput으로 업로드 할 때 충돌이 발생하지 않도록하기 위해 launchpad.net PPA에 버전의 아키텍처 이름을 추가했으나 업로드하는 버전이 다음과 같다고 오류가 발생했습니다. 이전 버전보다 크지 않습니다 (i386 패키지 업로드가 먼저 작동했지만 amd64가 실패했습니다).

패키지 이름 인 경우 예를 들어

안녕하세요 저는 다음과 같은 이름이이 문제를 해결 패키지 이름의 아키텍처 이름을 이동

hello-1.0.0ubuntu1~precise1~i386 
hello-1.0.0ubuntu1~precise1~amd64 

를 ... 그러나 사용자가 적절한 패키지를 선택해야 그 정말 괜찮지 않은 이름.

패키지 이름 인 경우 예를 들어

안녕하세요 저는 다음과 같은 이름이 : 그래서 사용자가 sudo apt-get install hello-i386 또는

sudo apt-get install hello-amd64 그래서 문제는 내가 수 있도록 내 패키지를 어떻게 이름을해야한다 수행해야

hello-i386-1.0.0ubuntu1~precise1 
hello-amd64-1.0.0ubuntu1~precise1 

을 사용자 동일한 apt-get 명령을 수행하고 올바른 버전을 설치할 수 있습니까?

+0

Afaik 상업용 구독이 없으면 폐쇄 소스 응용 프로그램을 사용할 수 없습니다. – Tachyons

+0

감사합니다. 상업용 가입이 있어도 패키지를 업로드하는 데 문제가 있습니다. 그래서 당신은 아이디어가 있습니까? – ZedTuX

+0

ubuntu1 ~ precise2 ~ amd64로 변경하십시오. – Tachyons

답변

1

패키지 이름 (또는 버전 문자열)에 아키텍처를 사용하는 것이 좋은 이유가없는 한 훌륭한 해결책이 아닙니다.

Launchpad가 소스 패키지를 hello으로보고 PPA에있는 hello 패키지를 업데이트하려고하므로 버전 오류가 발생합니다. 그러나 PPA의 패키지는 업로드하는 버전 문자열보다 깁니다 ('i'는 'a'보다 큽니다). 나는 Launchpad가 메인 저장소의 버전을 검사하기 때문에 메인 저장소에 새로운 패키지가있는 시리즈의 패키지의 이전 버전을 업로드 할 수 없다고 생각한다.

내가 아는 한, Launchpad에서는 바이너리를 업로드하는 것을 허용하지 않습니다 (비공개 소스 응용 프로그램이라 할지라도). 소스 tarball과 debian 폴더 tarball 만 업로드하면됩니다. Launchpad는 모든 적용 가능한 아키텍처를 위해 빌드합니다. 이것은 debian/control 파일에있는 내용에 의해 결정됩니다. Architecture: any를 말한다 라인이있는 경우 각 패키지

  • 를 들어, 다음 런치 패드가 (적어도) AMD64 및 i386을위한 패키지를 구축 할 것입니다. 이는 일반적으로 모든 라이브러리 및 실행 파일에 적용됩니다.
  • Architecture: all이라는 줄이있는 경우 Launchpad는 i386 chroot에서이 빌드를 빌드하고 모든 아키텍처에 대해 해당 빌드를 공유합니다. 이는 일반적으로 모든 컴퓨터 (심지어 OS)에서 동일한 데이터 파일에 적용됩니다.

다른 값도 허용되지만 일반적인 값입니다.

+0

답변 해 주셔서 감사합니다. 누군가 내가 폐쇄 소스 응용 프로그램에 LP를 사용할 수 없다고 말했습니다.내 개인용 APT 저장소를 구축 했으므로 이제 어떻게 작동하는지 확인하겠다. (내가 설명한 것처럼 생각한다.) – ZedTuX

+0

@Aboobacker MK가 말했듯이 상업용 가입이있는 경우 비공개 소스 응용 프로그램에 대해 LP를 사용할 수 있습니다. [this] (https://launchpad.net/+tour/join-launchpad) 페이지를 참조하십시오. – saiarcot895

+0

예, 고맙습니다. – ZedTuX