configure: implement --yarn

This commit is contained in:
ng0 2019-10-01 17:32:29 +00:00
parent 040475967c
commit 2d60f76abf
No known key found for this signature in database
GPG Key ID: E22F9BBFEE348588
3 changed files with 28 additions and 15 deletions

View File

@ -53,7 +53,7 @@ lint: tsc yarn-install
.PHONY: yarn-install .PHONY: yarn-install
yarn-install: yarn-install:
yarn install $(yarnexe) install
.PHONY: i18n .PHONY: i18n

21
configure vendored
View File

@ -87,19 +87,22 @@ else
fi fi
fi fi
if ! existence yarn; then if existence yarn; then
echo 'ERROR: yarn missing. See https://yarnpkg.com/en/docs/install'
exit 1
fi
if existence cmdtest; then
if yarn help | grep "No such file or directory"; then if yarn help | grep "No such file or directory"; then
echo "ERROR: wrong yarn binary installed, please remove the" echo "ERROR: wrong yarn binary installed, please remove the"
echo "ERROR: conflicting binary before continuing." echo "ERROR: conflicting binary before continuing."
if existence cmdtest; then
echo "WARNING: cmdtest is installed, this can lead"
echo "WARNING: to know issues with yarn."
fi
exit 1 exit 1
fi fi
echo "WARNING: cmdtest is installed, this can lead to known issues" myyarn="yarn"
echo "WARNING: with yarn." elif existence yarnpkg; then
myyarn="yarnpkg"
else
echo 'ERROR: yarn missing. See https://yarnpkg.com/en/docs/install'
exit 1
fi fi
# for the weird systems and sandboxes, only as a anotice. # for the weird systems and sandboxes, only as a anotice.
@ -119,4 +122,4 @@ fi
# If $1 is empty, the python script checks the # If $1 is empty, the python script checks the
# environment for PREFIX. We might need more # environment for PREFIX. We might need more
# variables and switches, such as DESTDIR. # variables and switches, such as DESTDIR.
$PYTHON ./configure.py $@ $PYTHON ./configure.py --yarn=$myyarn $@

View File

@ -44,26 +44,36 @@ def _read_prefix():
return myprefix return myprefix
else: else:
logger.debug('PREFIX from argv') # logger.debug('PREFIX from argv')
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument("-p", parser.add_argument("-p",
"--prefix", "--prefix",
type=str, type=str,
required=True, required=True,
help='Directory prefix for installation') help='Directory prefix for installation')
logger.debug('parser.parse_args step') parser.add_argument("-y",
"--yarn",
type=str,
required=True,
help='name of yarn executable')
# logger.debug('parser.parse_args step')
args = parser.parse_args() args = parser.parse_args()
logger.debug('%s', args) # logger.debug('%s', args)
myprefix = args.prefix myprefix = args.prefix
yarnexe = args.yarn
# if args.prefix is not None and os.path.isdir(myprefix) is True: # if args.prefix is not None and os.path.isdir(myprefix) is True:
if args.prefix and os.path.isdir(myprefix) is True: if args.prefix and os.path.isdir(myprefix) is True:
return myprefix return [myprefix, yarnexe];
def main(): def main():
myprefix = str(_read_prefix()) # mylist = str(_read_prefix())
mylist = _read_prefix()
myprefix = mylist[0]
yarnexe = mylist[1]
f = open('config.mk', 'w+') f = open('config.mk', 'w+')
f.write('# this file is autogenerated by ./configure\n') f.write('# this file is autogenerated by ./configure\n')
f.write('prefix=' + myprefix + '\n') f.write('prefix=' + myprefix + '\n')
f.write('yarnexe=' + yarnexe + '\n')
f.close() f.close()