OpenBSD Portable ksh(1) . Pas un projet OpenBSD officiel.
Parce que tous les systèmes d'exploitation méritent une bonne coquille.
Contrairement à d'autres ports d'OpenBSD KSH, ce port est entièrement autonome et vise à être portable au maximum entre les systèmes d'exploitation et les compilateurs C. Nous recherchons toujours de nouvelles combinaisons pour ajouter le support.
oksh est connu pour fonctionner sur les systèmes d'exploitation suivants:
En cours d'exécution sur un système non répertorié ici? Ajoutez-le et envoyez une demande de traction!
Nous pensons oksh fonctionnera sur les plateformes suivantes, mais des tests sont nécessaires. L'aide est grandement appréciée et encouragée!
oksh est connu pour construire avec les compilateurs C suivants:
Construire avec un compilateur non répertorié ici? Ajoutez-le et envoyez une demande de traction!
oksh est inclus dans certains systèmes de package.
De plus, il existe des packages non officiels:
Utilisation d'un package non répertorié ici? Ajoutez-le et envoyez une demande de traction!
Un compilateur C99 est le moyen le plus simple de s'assurer que oksh s'accumulera correctement. Veuillez consulter la liste des compilateurs C ci-dessus pour une liste de compilateurs de travail connus.
Bien que non requis, la bibliothèque ncurses sera utilisée pour les routines de compensation d'écran si la bibliothèque est trouvée pendant l'étape configure . Cela peut être désactivé par l'utilisateur en passant l'indicateur --disable-curses pour configure .
Un script configure qui produit un POSIX Makefile est fourni pour faciliter la construction et l'installation et peut être exécuté par:
$ ./configure
$ make && sudo make install
Le script configure détectera les builds hors arbre si vous préférez construire à l'extérieur. Pour que cela fonctionne, l'extension VPATH est utilisée. Bien qu'il ne soit pas POSIX, VPATH est connu pour travailler avec BSD Make et GNU Make. Les constructions en arbre créent un Makefile entièrement POSIX.
La compilation croisée peut être réalisée en exécutant configure comme suit:
CC=/path/to/cross/cc CFLAGS="any needed cflags" LDFLAGS="any needed ldflags" ./configure --no-thanks
Cela sautera tous les vérifications configure et rédigera un Makefile générique et pconfig.h avec presque aucune option activée. Si vous utilisez un Cross GCC ou Clang, cela peut très bien fonctionner (avec toute la compat compilé). Vous pouvez modifier ces fichiers pour refléter votre système avant d'exécuter make .
Toutes les variables d'environnement et les drapeaux de configuration sont respectés lors de l'utilisation --no-thanks . Spécifier davantage --no-link après --no-thanks ne compilera les fichiers source que dans des fichiers d'objet, à transférer sur la machine cible et à y lier.
Le drapeau --no-thanks peut également être utilisé pour compiler un oksh natif avec toutes les fonctions de compatibilité compilées, plutôt que de s'appuyer sur la version du système de ces fonctions.
Les correctifs qui ajoutent de nouvelles plates-formes et améliorent la prise en charge des plates-formes existantes sont toujours les bienvenues.
Les correctifs qui font que oksh s'écarte du comportement OpenBSD KSH en amont sont mieux adaptés pour être envoyés à la liste OpenBSD Tech @ Mailing. Veuillez vous assurer de tester votre correctif sur une machine OpenBSD avant de le soumettre à Tech @. Je vais se synchroniser avec le code OpenBSD en amont une fois votre correctif accepté. Si vous souhaitez ouvrir un problème ici pour suivre les progrès de votre patch sur Tech @, c'est bien.
Les principaux fichiers de Shell Korn sont le domaine public (voir LEGAL ). Les fichiers de portabilité sont sous licence BSD ou ISC; Voir les en-têtes de fichiers individuels pour plus de détails.
Voir l'onglet des versions. La dernière version est OKSH-7.5, qui correspond au KSH (1) d'OpenBSD 7.5, publié le 5 avril 2024.