J'essaie de compiler Quarter et emballer en utilisant CheckInstall .
Si je fais la norme ./configure && make && sudo fait installer, les choses vont Bien. P>
mkdir -p /foo works correctly mkdir -p /foo && mkdir -p /foo/bar works correctly mkdir -p foo/bar works correctly mkdir /foo/bar failed as expected (correct) mkdir foo/bar failed as expected (correct) mkdir -p /foo/bar fails
3 Réponses :
Ce correctif fonctionne autour du bogue: p> mkdir -p code> ne fonctionne pas comme si c'est une version checkInstall de MKDIR, pas le "vrai" mkdir. Doit être un bogue dans CheckInstall qui permet de fonctionner un peu différemment.
Utiliser
Set "TRANSLATE=0"
Il a été réparé il y a longtemps, il y a longtemps, mais sa version n'est toujours pas en version de version. Quoi qu'il en soit, c'est un excellent conseil.
Évidemment, cela ne fonctionne pas si vous avez besoin de traduction du système de fichiers, c'est-à-dire si vous n'avez pas d'accès root. Pas tant de solution, mais une solution de contournement très limite.
sed -i -e 's/TRANSLATE=1/TRANSLATE=0/g' /etc/checkinstallrc
Qu'entendez-vous par «Il travaille-t-il en fait dans / TMP / ... pas le réel / usr / local / ...»? Chroot?
FWIW, j'imagine que l'utilisation de $ * dans l'écho est de sorte que l'écho reçoit un paramètre contenant toute la ligne de commande, plutôt que les n paramètres, un pour chaque argument, il aurait été utilisé s'il était utilisé. C'est une chose très mineure de Neeténess et d'efficacité. Il a l'air étrange assis juste à côté d'une utilisation de $ @, cependant.
@Tom, ce serait ma supposition. J'ai besoin de Sudo pour que cela fonctionne du tout, mais cela ne fait pas une réelle installation (ce que je voulais depuis que je veux juste créer le paquet). Je ne sais pas pourquoi je dois du tout sudo, mais je peux vivre avec ça. Et merci pour l'explication de $ * vs. $ @!
@tom Il y a une différence entre
"$ *" code> et
"$ @" code>
@Tom, je lis à travers la source de CheckInstall, semble avoir l'air d'intercepter des appels comme MKDIR (), etc. et les remplacer par ses propres versions. Doit être un bug là quelque part. Donc, il n'utilise probablement pas Chroot.
C'est Un bug .
Vient de trébucher sur ce mkdir -p limitation de chemin absolue. Assez ennuyeux. Mais dans votre dernier commentaire, vous dites "Malgré l'échec, il est capable de créer le premier niveau de répertoire" mais cela ne se produit pas pour moi. Si tel était le cas, vous pourriez simplement exécuter la même commande à quelques reprises jusqu'à ce qu'il ait franchi chaque étape de répertoire, mais cela ne se produit pas.