1*4882a593SmuzhiyunPERL_OWN_DIR = "" 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun# Determine the staged version of perl from the perl configuration file 4*4882a593Smuzhiyun# Assign vardepvalue, because otherwise signature is changed before and after 5*4882a593Smuzhiyun# perl is built (from None to real version in config.sh). 6*4882a593Smuzhiyunget_perl_version[vardepvalue] = "${PERL_OWN_DIR}" 7*4882a593Smuzhiyundef get_perl_version(d): 8*4882a593Smuzhiyun import re 9*4882a593Smuzhiyun cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh') 10*4882a593Smuzhiyun try: 11*4882a593Smuzhiyun f = open(cfg, 'r') 12*4882a593Smuzhiyun except IOError: 13*4882a593Smuzhiyun return None 14*4882a593Smuzhiyun l = f.readlines(); 15*4882a593Smuzhiyun f.close(); 16*4882a593Smuzhiyun r = re.compile(r"^version='(\d*\.\d*\.\d*)'") 17*4882a593Smuzhiyun for s in l: 18*4882a593Smuzhiyun m = r.match(s) 19*4882a593Smuzhiyun if m: 20*4882a593Smuzhiyun return m.group(1) 21*4882a593Smuzhiyun return None 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunPERLVERSION := "${@get_perl_version(d)}" 24*4882a593SmuzhiyunPERLVERSION[vardepvalue] = "" 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun# Determine the staged arch of perl from the perl configuration file 28*4882a593Smuzhiyun# Assign vardepvalue, because otherwise signature is changed before and after 29*4882a593Smuzhiyun# perl is built (from None to real version in config.sh). 30*4882a593Smuzhiyundef get_perl_arch(d): 31*4882a593Smuzhiyun import re 32*4882a593Smuzhiyun cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh') 33*4882a593Smuzhiyun try: 34*4882a593Smuzhiyun f = open(cfg, 'r') 35*4882a593Smuzhiyun except IOError: 36*4882a593Smuzhiyun return None 37*4882a593Smuzhiyun l = f.readlines(); 38*4882a593Smuzhiyun f.close(); 39*4882a593Smuzhiyun r = re.compile("^archname='([^']*)'") 40*4882a593Smuzhiyun for s in l: 41*4882a593Smuzhiyun m = r.match(s) 42*4882a593Smuzhiyun if m: 43*4882a593Smuzhiyun return m.group(1) 44*4882a593Smuzhiyun return None 45*4882a593Smuzhiyun 46*4882a593SmuzhiyunPERLARCH := "${@get_perl_arch(d)}" 47*4882a593SmuzhiyunPERLARCH[vardepvalue] = "" 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun# Determine the staged arch of perl-native from the perl configuration file 50*4882a593Smuzhiyun# Assign vardepvalue, because otherwise signature is changed before and after 51*4882a593Smuzhiyun# perl is built (from None to real version in config.sh). 52*4882a593Smuzhiyundef get_perl_hostarch(d): 53*4882a593Smuzhiyun import re 54*4882a593Smuzhiyun cfg = d.expand('${STAGING_LIBDIR_NATIVE}/perl5/config.sh') 55*4882a593Smuzhiyun try: 56*4882a593Smuzhiyun f = open(cfg, 'r') 57*4882a593Smuzhiyun except IOError: 58*4882a593Smuzhiyun return None 59*4882a593Smuzhiyun l = f.readlines(); 60*4882a593Smuzhiyun f.close(); 61*4882a593Smuzhiyun r = re.compile("^archname='([^']*)'") 62*4882a593Smuzhiyun for s in l: 63*4882a593Smuzhiyun m = r.match(s) 64*4882a593Smuzhiyun if m: 65*4882a593Smuzhiyun return m.group(1) 66*4882a593Smuzhiyun return None 67