Ubuntu에서 업데이트 된 버전의 network-manager-openconnect 패키지를 만들고 싶습니다. 적절하게 최신 패키지 소스를 구해야합니다.
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
그리고 뭐? 패키지는 git을 사용하여 최신 업스트림 코드에서 자체적으로 업데이트하는 방법이있는 것 같습니다. 하지만 어떻게해야합니까?
Ubuntu에서 업데이트 된 버전의 network-manager-openconnect 패키지를 만들고 싶습니다. 적절하게 최신 패키지 소스를 구해야합니다.
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
그리고 뭐? 패키지는 git을 사용하여 최신 업스트림 코드에서 자체적으로 업데이트하는 방법이있는 것 같습니다. 하지만 어떻게해야합니까?
답변:
bzr 브랜치에서 업데이트 된 패키지를 빌드하는 것은 브랜치를 유지 관리하는 사람 또는 패키지의 일반적인 작동 방식에 따라 공정한 금액이 다른 경향이 있습니다. 그러나 다음은 PPA로 푸시되는 거의 모든 패키지의 빠르고 더러운 업데이트에 대한 몇 가지 지침입니다.
지점을 얻으십시오 :
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
그런 다음 스위치로 전환하고 변경 로그를 업데이트하십시오.
dch -i
dch -i 는 debian / changelog에 새 항목을 열어 버전 개정을 1 씩 증가시킵니다. 패치를 추가하려면 완벽하지만 최신 버전의 업스트림 소프트웨어로 업데이트하려면 대시 (-) 앞에 버전 번호를 업데이트해야합니다. 예를 들어 1.2-0ubuntu1 의 버전에서 dch -i 를 시작 하면 1.2-0ubuntu2로 변경되어 패치 적용에 적합하지만 새 버전이 필요하면 1.3-0ubuntu1 로 변경하고 싶을 것 입니다.
패치해야 할 경우 이제 변경 사항을 추가 할 차례입니다. 데비안 / 디렉토리 만있는 브랜치에서는 bzr bd-do (bzr-builddeb 패키지 필요)를 사용하여 변경을 수행 할 수있는 작업 트리로 전환하고 퀼트 또는 패치 시스템을 사용한 다음 "exit 0"을 변경 사항을 다시 복사하십시오.
새로운 업스트림 버전을 원한다면 일단 변경 로그가 변경되면 다음과 유사한 명령을 실행할 수 있습니다.
debian/rules get-orig-source
일반적으로 업스트림 게시자로부터 올바른 타르볼을 다운로드하여 시작할 수 있습니다. 추가 변경이 필요한 경우 debian / 디렉토리 의 다른 파일을 "패치"하거나 변경하기 위해 위와 같이 진행하십시오 . 그렇지 않으면 거의 완료된 것입니다.
bzr bd -S
bzr bd 는 건물을 관리합니다. 인수없이 호출하면 시스템에서 빌드가 시작되고 -S로 호출하면 소스 패키지를 준비하라는 메시지가 표시됩니다. 여기에는 PPA에 업로드하려는 ..._ source.changes 파일 이 포함됩니다 ( dput 사용) . ppa : <yourname> / <ppa 이름> <파일 변경> 을 수행하십시오).
NetworkManager 패키지의 경우 약간 다릅니다. openconnect를 구체적으로 살펴 보자.
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head network-manager-openconnect
또한 모든 빌드 종속성이 있는지 확인하십시오. sudo get-build-deps
브랜치를 검색하면 debian / control 파일을 읽고 network-manager-openconnect를 빌드하는 데 필요한 모든 것을 다운로드하려고 시도합니다. 그래도 자식이 필요할 수 있습니다. 이 작업이 완료되면 get-orig-source 를 실행 하여 git에서 최신 스냅 샷의 타르볼 만 가져옵니다.
debian/rules get-orig-source
텍스트가 날아가고 버전 번호가 긴 타르볼이 나타납니다. 이것이 nm-openconnect에 대한 최신 코드입니다.
그런 다음 -0ubuntu1 접미사를 그대로 유지하면서 tarball의 버전 번호로 변경 로그를 업데이트해야합니다 .
또는 원하는 특정 버전 번호로 debian / changelog 를 변경 한 후 다음을 실행하십시오. debian / rules get-current-source
플러그인은 많이 변경되지 않으므로 위와 같이 bzr bd 를 사용하여 패키지를 빌드 할 수 있습니다 . 그렇지 않은 경우 위와 같이 필요한 변경 사항을 적용하십시오.
변경 한 후에는 bzr commit 을 잊지 마십시오 .
내가 먼저 (병합 제안 시스템을 사용하는 것을 망설이지 말라, 추가 깜빡 병합 제안 (가) 다른 사람을 이익을 얻을 수 당신에게있는 거 결정을 변경할 때 LP에 링크 지사의 페이지). 일반적으로 기반이되는 브랜치와의 병합을 제안 할 수 있습니다 (예 : lp : ~ network-manager / network-manager / openconnect-ubuntu.head).
실행 패드에서 코드를 가져 오는 방법에 대한 업데이트
bzr branch lp : ~ 네트워크 관리자 / 네트워크 관리자 /openconnect-ubuntu.head
이 용량은 lp (런치 패드 호스팅 서비스)에서 코드를 가져옵니다. 코드가 어디에 있는지 찾아야합니다.
man
페이지가 나타나면 man bzr 343 #type 343을 입력하십시오.
bzr branch FROM_LOCATION [TO_LOCATION]
If the TO_LOCATION is omitted, the last component of the FROM_LOCATION
will be used. In other words, "branch ../foo/bar" will attempt to cre‐
ate ./bar. If the FROM_LOCATION has no / or path separator embedded,
the TO_LOCATION is derived from the FROM_LOCATION by stripping a lead‐
ing scheme or drive identifier, if any. For example, "branch
lp:foo-bar" will attempt to create ./foo-bar.
작업하려는 디렉토리로 변경하거나 사용자와 코드가있는 디렉토리를 추가하십시오.
cd / home / [사용자 이름] / [개발 디렉토리 경로]
또는 bzr 브랜치 lp : ~ network-manager / network-manager / openconnect-ubuntu.head / home / [사용자 이름] / [개발 디렉토리 경로]
예 : bzr branch lp : ~ network-manager / network-manager / openconnect-ubuntu.head / home / joe / projects / network-manger / dev
이미이 작업을 수행했다면 아마도 홈 디렉토리에 디렉토리가있을 것입니다
LS ~ ./openconnect-ubuntu.head
해당 디렉토리에 README 파일이 있어야 프로젝트 코드 를 볼 수 있습니다. 여기에 README.source 링크가 있습니다.
README에는 해당 개별 프로젝트를 구축하는 방법에 대한 지침이 있어야합니다.
설치할 다른 유용한 bzr 도구
sudo apt-get install bzr-builddeb bzr-builder bzr-explorer 퀼트
bzr-explorere를 사용하면 컴퓨터에서 생성 한 bzr 저장소를 GUI로 탐색 할 수 있습니다.
또 다른 메모. 하나의 구성 요소 openconnect를 구축하려면 전체 네트워크 관리자 소스를 가져와야 할 수도 있습니다. 구성 요소 간에는 많은 종속성이있을 수 있습니다.
현재 opneconnect 패키지에 대한 수정 프로그램을 작성한 다음 사용하는 모든 diff 도구를 사용하여 패치를 작성해야합니다. 그리고 패키지 관리자에게 보내십시오.
또는 수정 새 패키지를 로컬로 사용하려면 .deb 패키지 파일을 작성하십시오.
패키지를 만들려면 다음 링크를 읽으십시오.