File tree Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ use crate::bytecode::CodeObject;
6
6
use crate :: frame:: Scope ;
7
7
use crate :: obj:: { objcode, objsequence, objstr, objtype} ;
8
8
use crate :: pyobject:: { ItemProtocol , PyObjectRef , PyResult , PyValue } ;
9
+ use crate :: version:: get_git_revision;
9
10
use crate :: vm:: VirtualMachine ;
10
11
#[ cfg( feature = "rustpython-compiler" ) ]
11
12
use rustpython_compiler:: compile;
@@ -23,6 +24,12 @@ pub fn init_importlib(vm: &VirtualMachine, external: bool) -> PyResult {
23
24
let install_external =
24
25
vm. get_attribute ( importlib. clone ( ) , "_install_external_importers" ) ?;
25
26
vm. invoke ( install_external, vec ! [ ] ) ?;
27
+ // Set pyc magic number to commit hash. Should be changed when bytecode will be more stable.
28
+ let sys_modules = vm. get_attribute ( vm. sys_module . clone ( ) , "modules" ) ?;
29
+ let importlib_external = sys_modules. get_item ( "_frozen_importlib_external" , vm) ?;
30
+ let mut magic = get_git_revision ( ) . into_bytes ( ) ;
31
+ magic. truncate ( 4 ) ;
32
+ vm. set_attr ( & importlib_external, "MAGIC_NUMBER" , vm. ctx . new_bytes ( magic) ) ?;
26
33
}
27
34
Ok ( vm. get_none ( ) )
28
35
}
You can’t perform that action at this time.
0 commit comments