J'essaie d'utiliser pbuilder
pour télécharger vers PPA. Le package se construit correctement avec la commande:
Sudo pbuilder build <package>_<version>.dsc
Mais le téléchargement échoue avec une erreur:
Source/binary (i.e. mixed) uploads are not allowed.
On dit que je dois utiliser pdebuild
pour construire source package
, mais pdebuild
ne résout pas les dépendances de génération. Comment puis-je créer ce package pour qu'il puisse enfin être téléchargé? Je ne veux pas installer les dépendances manuellement.
La réponse est que non. pbuilder
prend le paquet source et construit des binaires. Il peut également prendre le code source sans qu'un paquet source soit construit et créer les binaires que vous hébergeriez vous-même ou que vous ajoutiez à vos propres systèmes de référentiel debian pour héberger vous-même.
Ce n'est pas ce dont vous avez besoin pour un AAE.
Ce que vous voulez faire, et ce que je recommande fortement, c'est que vous suiviez les procédures de conditionnement traditionnelles et que vous exécutiez debuild -S
Sur le code, avec le répertoire du package, contenant le code source, le debian/
et tout le reste.
Ensuite, après avoir construit le package source par debuild -S
, Vous pouvez ensuite télécharger le fichier .changes
Créé dans un répertoire au-dessus du répertoire source vers le PPA via dput
. (cette étape est appelée dans les documents d'aide au téléchargement PPA de Launchpad ).
Vous pouvez en théorie utiliser pdebuilder
pour garder votre système propre et construire à l'intérieur d'un chroot, mais lisez la suite pour mes déclarations à ce sujet, pour savoir pourquoi il a échoué précédemment pour vous.
D'après les commentaires, vous avez correctement identifié que debhelper est incapable de trouver le plugin autoreconf
.
De plus, comme je l'ai dit dans mes commentaires sur cette réponse, pbuilder
et pdebuilder
ne sont pas assez intelligents pour déterminer les dépendances de debhelper.
Pour résoudre votre problème afin que vos trucs puissent se construire, vous devrez utiliser manuellement pbuilder
ou pdebuilder
pour vous connecter au chroot. Ensuite, vous devrez installer manuellement dh-autoreconf
Dans le chroot, généralement avec apt-get install dh-autoreconf
Après vous être connecté au chroot.
Une fois que vous avez fait cela et enregistré l'état du chroot, vous devriez pouvoir pbuilder
ou pdebuilder
votre package.
(Cependant, je préfère traditionnellement travailler avec des packages, et je me fiche que mon système de build soit entièrement propre ou non, tout ce que je construis vraiment sont des packages source, et les plugins debhelper ne vont pas encombrer mon système aussi mal)
pbuilder
est utilisé pour construire des packages binaires à partir d'un package source. Les PPA construisent également des packages binaires à partir de packages source. Simplement dput
le source.changes
fichier que vous avez créé lorsque vous avez également créé le <package>_<version>.dsc
fichier.
L'un des principaux points de l'utilisation de pbuilder
est d'imiter localement l'environnement de chroot propre utilisé pour construire les packages binaires à la fois dans les archives officielles et dans les PPA.