janet-lang / jpm

Janet Project Manager
MIT License
65 stars 21 forks source link

Empty directories remain after `jpm uninstall` #83

Open sogaiu opened 11 months ago

sogaiu commented 11 months ago

For the following two repositories / projects, performing jpm uninstall here after an installation, leaves behind empty directories in the package cache:

Sample session:

$ git clone https://github.com/ianthehenry/jimmy && cd jimmy
Cloning into 'jimmy'...
remote: Enumerating objects: 125, done.
remote: Counting objects: 100% (125/125), done.
remote: Compressing objects: 100% (76/76), done.
remote: Total 125 (delta 63), reused 103 (delta 41), pack-reused 0
Receiving objects: 100% (125/125), 32.63 KiB | 32.63 MiB/s, done.
Resolving deltas: 100% (63/63), done.

$ jpm install
generating /home/user/.local/lib/janet/.manifests/jimmy.jdn...
Installed as 'jimmy'.
copying build/jimmy/native.so to /home/user/.local/lib/janet/jimmy...
copying build/jimmy/native.meta.janet to /home/user/.local/lib/janet/jimmy...
copying build/jimmy/native.a to /home/user/.local/lib/janet/jimmy...
copying src/set.janet to /home/user/.local/lib/janet/jimmy...
copying src/map.janet to /home/user/.local/lib/janet/jimmy...
copying src/vec.janet to /home/user/.local/lib/janet/jimmy...
copying src/util.janet to /home/user/.local/lib/janet/jimmy...
copying src/init.janet to /home/user/.local/lib/janet/jimmy...

$ ls -a ~/.local/lib/janet/jimmy/
.   init.janet  native.a           native.so  util.janet
..  map.janet   native.meta.janet  set.janet  vec.janet

$ jpm uninstall
removing /home/user/.local/lib/janet/jimmy/native.so
removing /home/user/.local/lib/janet/jimmy/native.meta.janet
removing /home/user/.local/lib/janet/jimmy/native.a
removing /home/user/.local/lib/janet/jimmy/set.janet
removing /home/user/.local/lib/janet/jimmy/map.janet
removing /home/user/.local/lib/janet/jimmy/vec.janet
removing /home/user/.local/lib/janet/jimmy/util.janet
removing /home/user/.local/lib/janet/jimmy/init.janet
removing manifest /home/user/.local/lib/janet/.manifests/jimmy.jdn
Uninstalled.

$ ls -a ~/.local/lib/janet/jimmy/
.  ..

Perhaps it has something to do with the use of :prefix in declare-source?

Lines from project.janet from jimmy:

(declare-source
  :source [
    "src/set.janet"
    "src/map.janet"
    "src/vec.janet"
    "src/util.janet"
    "src/init.janet"
  ]
  :prefix "jimmy")

Lines from project.janet from stx:

(declare-source
 :source ["src/init.janet"]
 :prefix "stx")

Janet: 1.30.0-2ac36a05 JPM: 65e218ef55ab2fc6 OS: Ubuntu Linux 22.0.x