BlackArch / blackarch-iso

BlackArch Linux ISOs
https://www.blackarch.org/
207 stars 80 forks source link

Menu items exist for blackarch pkgs not installed #35

Open mattyjones opened 4 years ago

mattyjones commented 4 years ago

Bug description

During an install of either the Live or NetInstall if a subset of blackarch groups is installed menu items get created for all blackarch items. This is demonstrated in but Fluxbox and Awesome and is not dependent on the groups that are selected.

Steps to reproduce

  1. Download the latest net install or live cd from the site
  2. Install in VMWare Fushion or Virtual Box (latest for either)
  3. Proceed through install till the blackarch group install section
    1. selecting encryption does not seem to affect this
    2. disk partitioning does not seem to affect this
    3. this bug has been confirmed by me in the Awesome and Fluxbox window managers
  4. Select any number of groups
    1. I have selected N groups in random order where N > 1 and N < all
  5. Proceed through the rest of the install
  6. reboot at the end of the install
  7. log in as the root user
  8. In the Window Manager menu -> blackarch tab -> (all groups exist) yet none are installed
    1. nmap -Pn 127.0.0.1 returns command not found even though scanner group was selected

Actual result: All packages are in the menu Expected result: A subset of packages should be in the menu and packages in the selected group should be installed.

Screenshots

Screen Shot 2020-03-24 at 10 40 15 AM Screen Shot 2020-03-24 at 10 40 33 AM

Info for developers

Screen Shot 2020-03-24 at 10 46 13 AM

Link to debug log

mattyjones commented 4 years ago

So digging into this on the awesome side it makes sense why the issue exists I think. We set the menu items here but it does not look like there is any switch to only include items that are actually present.

That being said this is not an entirely simple task to fix. Dynamically generating the menu during install time is not a huge thing as the menu could be split out into a separate Lua file and then we import it in with some logic during a post-install.

That same logic would then also need to be present during the normal course of things so that as groups or packages within a group are installed or removed post-install the corresponding menu items can be created. This is a common linux thing, adding menu items via a desktop file but with awesome it can be a little tricky.

Is there a maintainer of the awesome environment for blackarch, someone who may have insight as to why things are the way they are? I have yet to confirm this is also present in i3 but I would suspect it could be.

ghost commented 2 years ago

I ran into this problem a few days ago too, you can write a pacman hook to execute blackarch-menu.sh gen after you install a package, and manully install all blackarch pkgs in your computer, that'll regenerate all .desktop file, works for me, generates another 2000+ well structured .desktop file.

I will post my hook file later.

ghost commented 2 years ago

@mattyjones here's my hooks and scripts which I just copy from blackarch-menu github gist (I dont quite remember which part is original shipped with distro, and which part is wrote by me, so i just copy all of it lol)

@noptrix maybe you guys can add this hooks to offical build of blackarch? and you're definitely doing a great job by providing such a huge penetration distro, (although) I am a newbie to hacking but feel really handy with all the tools I want to try pre-installed. Thank you so much!