Skip to content

[cpackget] Allow to remove local packs, even when the pack itself has been removed #776

Description

@ReinhardKeil

The Problem To Be Solved

When a local pack has been deleted from the computer, there is still an entry in $CMSIS_PACK_ROOT$.Local\local_repository.pdix.

Using cpackget it seems impossible to remove such an entry. Example:

>cpackget list
E: arm::sds@3.0.0-dev (installed via C:\Users\reikei01\SDS-Framework\arm.sds.pdsc) - error: open 

>cpackget rm arm::sds@3.0.0-dev                         
I: Removing [arm::sds@3.0.0-dev]
E: Pack "arm::sds@3.0.0-dev" is not installed
E: pack not installed

>cpackget rm C:\Users\reikei01\SDS-Framework\arm.sds.pds
I: Removing [C:\Users\reikei01\SDS-Framework\arm.sds.pds]
E: bad pack name: it must be either a PackID:  packVendor::Pack[@version|@~version|@^version|@>=version] or a local Pack file: <path>/Vendor.Pack.version.pack or a local Pack Description file: <path>/Vendor.Pack.pdsc```

The only way to remove this entry is to remove manually the line in local_repository.pdix:

<?xml version="1.0" encoding="UTF-8"?>
<index schemaVersion="1.1.0">
 <vendor>local repository</vendor>
 <url>C:/Users/reikei01/AppData/Local/Arm/Packs</url>
 <pindex>
  <pdsc url="file://localhost/C:/Users/reikei01/SDS-Framework/" vendor="arm" name="sds" version="3.0.0-dev"></pdsc>
 </pindex>
</index>

Expected:

Both commands shown above should work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions