Korzystam z Launchpada, aby przesłać a .dsc
, a debian.tar.gz
i a .orig.tar.xz
. Archiwum orig zawiera zarówno pliki i386, jak i amd64, a ja używam debian/rules
do 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-tools
moż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=low
nautopic 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.xz
i wiele.dsc
&debian.tar.gz
Odp .: Obecnie tworzę przyrostowy numer wersji (tj.
mypackage-1.1.0-0trusty0
Imypackage-1.1.0-0utopic0
), ale rozwiązanie mogłoby być lepsze, ponieważ muszę ponownie załadowaćorig.tar.xz
dla każdego z nich i że zajmuje dwa razy więcej miejsca w PPA, ponieważ wbudowane.deb
nie są uważane za kopię siebie nawzajem, ale 2 paczki.
źródło
orig.tar.xz
jeśli już go załadowałeś. Uruchomdebuild -sd
(lubdpkg-build-package -sd
), aby wygenerować.changes
plik, który nie przesyła oryginalnego archiwum.--to-suite
nie 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.--to-suite
jest dla serii. Nie podałbym-e
flagi, ponieważ domyślnie wybierana jest najnowsza wersja. Spróbuj też dzielenie się--ppa-name=myname/myppa
, aby-p myname --ppa-name=myppa
, skoro--ppa-name
tylko chce nazwę PPA. Nie musisz też określać,--to-*
czy jest to to samo co z.Odpowiedzi:
copy-package
jest do tego dobry, ale poprawne nowoczesne wywołanie byłoby:(Jak saiarcot895 słusznie zauważył, co potrzebne, aby oddzielić
--ppa
i--ppa-name
, ale to było zawsze bardzo mylące, co było jednym z powodów dodaliśmy ujednoliconej--from
i--to
opcji określania archiwów. Ponadto, zapomniał podać nazwę pakietu, który był prawdopodobnie dlaczego nie dostał wyjście; nowsze wersjecopy-package
sprawdzania tego).źródło