[RFC] osluga binfmt_misc?

Jakub Piotr Cłapa loc w toya.net.pl
Pią, 7 Maj 2004, 03:11:43 CEST


Przy okazji dyskusji o programach z rozszerzeniami .py będącymi 
skryptami shella wyszedł problem z niemożnością najzwyklejszego 
linkowania plików .py do bibliotek (część bibiliotek w Pythonie można 
zarówno importować jak i uruchamiać) z braku źródeł tychże (ani jądro 
ani shelle nie radzą sobie z .pyc).

W związku z tym, może warto zrobić coś binfmt_misc w PLD? Domyślnie leży 
odłogiem i nie jest używane.

Propozycja:

Dodać do Pythona skrypt, który podczas bootowania zrobi:

#v+
echo ':pycode:M::\x99\x4e\x0d\x0a::/usr/bin/python:' \
 > /proc/sys/fs/binfmt_misc/register
#v-

Of korz '\x99\x4e\x0d\x0a' trzeba zastąpić odpowiednim z tabelki:

#v+ (z /usr/share/file/magic)
0       belong          0x994e0d0a      python 1.5/1.6 byte-compiled
0       belong          0x87c60d0a      python 2.0 byte-compiled
0       belong          0x2aeb0d0a      python 2.1 byte-compiled
0       belong          0x2ded0d0a      python 2.2 byte-compiled
0       belong          0x3bf20d0a      python 2.3 byte-compiled
#v-

Wystarczy jedno z nich, bo .pyc ze złym magic i tak nie będą 
wykorzystywane przez zainstalowanego Pythona (a niezainstalowanym sie 
nie musimy przejmować).

Rozwiazałoby to problem nieposiadania .py do których można robić 
symlinki i podniosło funkcjonalność PLD. Nie znam żadnych problemów, 
jakie mogłoby to stwarzać.

Oczywiście mozna tez pokusić się o szersze wykorzystanie (mono, java, 
wine, dosemu).

-- 
z wyrazami szacunku,
Jakub Piotr Cłapa



Więcej informacji o liście dyskusyjnej pld-devel-pl