Starter: CLI „Kopiowanie pakietów”

8

Korzystam z Launchpada, aby przesłać a .dsc, a debian.tar.gzi a .orig.tar.xz. Archiwum orig zawiera zarówno pliki i386, jak i amd64, a ja używam debian/rulesdo budowania różnych pakietów architektury. Ale opiera się tylko na serii Trusty. Chciałbym skorzystać z funkcji Kopiuj pakiety , ale chcę, aby została zautomatyzowana.

Obecnie muszę się połączyć z Launchpad , kliknąć Wyświetl szczegóły pakietu , kliknąć Kopiuj pakiety i użyć:

> Destination PPA:
> This PPA

> Destination series:
> Utopic

> Copy existing binaries

Czy istnieje sposób na zautomatyzowanie tego „kopiowania istniejących plików binarnych ze starszej serii na nową serię” lub wykonania tego za pomocą interfejsu CLI w celu użycia jej w skrypcie?

Dziękuję Ci


Prowadzi:

  • P: Może ubuntu-archive-toolsmoże mi to pomóc, wygląda na to, że zawiera skrypt python kopiujący pakiet?

    Odp .: To nie działa z tym:python copy-package -y -b --ppa-name=myname/myppa --to-ppa-name=myname/myppa -s trusty --to-suite=utopic -e versionofpackage

  • P: Może jeśli zmienię wpis dziennika zmian z trusty ; urgency=lowna utopic trusty ; urgency=low?

    Odp .: To nie działa:Unable to find distroseries: utopic trusty. Further error processing not possible because of a critical previous error.

  • P: Zbuduj 1 orig.tar.xzi wiele .dsc&debian.tar.gz

    Odp .: Obecnie tworzę przyrostowy numer wersji (tj. mypackage-1.1.0-0trusty0I mypackage-1.1.0-0utopic0), ale rozwiązanie mogłoby być lepsze, ponieważ muszę ponownie załadować orig.tar.xzdla każdego z nich i że zajmuje dwa razy więcej miejsca w PPA, ponieważ wbudowane .debnie są uważane za kopię siebie nawzajem, ale 2 paczki.

MrVaykadji
źródło
1
Dla przypomnienia, nie musisz ponownie ładować, orig.tar.xzjeśli już go załadowałeś. Uruchom debuild -sd(lub dpkg-build-package -sd), aby wygenerować .changesplik, który nie przesyła oryginalnego archiwum.
saiarcot895
Jaki błąd wystąpił przy pierwszej metodzie?
saiarcot895
Dzięki za pierwszą wskazówkę @ saiarcot895, skorzystam z niej !! Pierwsza metoda niczego nie wyprowadziła, myślę, że to dlatego, że --to-suitenie jest stworzona do „serii”, ale do czegoś innego. Nie wiem Wydawało się, że działa, ale nic nie zmieniło się na moim PPA.
MrVaykadji
1
--to-suitejest dla serii. Nie podałbym -eflagi, ponieważ domyślnie wybierana jest najnowsza wersja. Spróbuj też dzielenie się --ppa-name=myname/myppa, aby -p myname --ppa-name=myppa, skoro --ppa-nametylko chce nazwę PPA. Nie musisz też określać, --to-*czy jest to to samo co z.
saiarcot895
@ saiarcot895: Nie mogę uzyskać pakietu kopiowania do pracy. Mam token autoryzacji, jestem właścicielem umowy PPA, ale to nie działa.
MrVaykadji

Odpowiedzi:

2

copy-package jest do tego dobry, ale poprawne nowoczesne wywołanie byłoby:

./copy-package --from=~myname/ubuntu/myppa --from-suite=trusty --to=~myname/ubuntu/myppa --to-suite=utopic -b -y packagename

(Jak saiarcot895 słusznie zauważył, co potrzebne, aby oddzielić --ppai --ppa-name, ale to było zawsze bardzo mylące, co było jednym z powodów dodaliśmy ujednoliconej --fromi --toopcji określania archiwów. Ponadto, zapomniał podać nazwę pakietu, który był prawdopodobnie dlaczego nie dostał wyjście; nowsze wersje copy-packagesprawdzania tego).

Colin Watson
źródło