Skip to content

Commit

Permalink
add --force-upgrade (#144)
Browse files Browse the repository at this point in the history
* [update]:Add version check for env script upgrade

* [add]:package_upgrade_force

* Fix working path for force_upgrade
  • Loading branch information
wugensheng-code committed Feb 24, 2022
1 parent 4ccc586 commit f7c1f55
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 5 deletions.
12 changes: 11 additions & 1 deletion cmds/cmd_package/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@
# 2019-01-07 SummerGift The prompt supports utf-8 encoding
# 2020-04-08 SummerGift Optimize program structure
#

__version__ = 'RT-Thread packages v1.2.1'
# This version number prepares for the subsequent suspension
# of the env script to upgrade the python2 version
from .cmd_package_printenv import package_print_env, package_print_help
from .cmd_package_list import list_packages
from .cmd_package_wizard import package_wizard
Expand All @@ -46,6 +48,8 @@ def run_env_cmd(args):
list_packages()
elif args.package_upgrade:
package_upgrade()
elif args.package_upgrade_force:
package_upgrade(force_upgrade=True)
elif args.package_print_env:
package_print_env()
else:
Expand All @@ -69,6 +73,12 @@ def add_parser(sub):
default=False,
dest='package_update')

parser.add_argument('--force-upgrade',
help='force upgrade packages, install or remove the packages by your settings in menuconfig',
action='store_true',
default=False,
dest='package_upgrade_force')

parser.add_argument('--list',
help='list target packages',
action='store_true',
Expand Down
14 changes: 11 additions & 3 deletions cmds/cmd_package/cmd_package_upgrade.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
from .cmd_package_update import need_using_mirror_download


def upgrade_packages_index():
def upgrade_packages_index(force_upgrade=False):
"""Update the package repository index."""

env_root = Import('env_root')
Expand All @@ -51,11 +51,19 @@ def upgrade_packages_index():
packages_root = pkgs_root
pkgs_path = os.path.join(packages_root, 'packages')



if not os.path.isdir(pkgs_path):
cmd = 'git clone ' + git_repo + ' ' + pkgs_path
os.system(cmd)
print("upgrade from :%s" % (git_repo.encode("utf-8")))
else:
if force_upgrade:
cwd = os.getcwd()
os.chdir(pkgs_path)
os.system('git fetch --all')
os.system('git reset --hard origin/master')
os.chdir(cwd)
print("Begin to upgrade env packages.")
git_pull_repo(pkgs_path, git_repo)
print("==============================> Env packages upgrade done \n")
Expand Down Expand Up @@ -97,8 +105,8 @@ def upgrade_env_script():
print("==============================> Env scripts upgrade done \n")


def package_upgrade():
def package_upgrade(force_upgrade=False):
"""Update the package repository directory and env function scripts."""

upgrade_packages_index()
upgrade_packages_index(force_upgrade=force_upgrade)
upgrade_env_script()
2 changes: 1 addition & 1 deletion env.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
from cmds import *
from vars import Export

__version__ = 'RT-Thread packages v1.2.0'
__version__ = 'RT-Thread packages v1.2.1'


def init_argparse():
Expand Down

0 comments on commit f7c1f55

Please sign in to comment.