Port Requests

Discussion in 'General Discussions' started by mmielke, Nov 11, 2010.

  1. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    770
    Location:
    Toronto, Canada
    It works, fully works. Opens apps, auto completes. This is fantastic. I use it in /home/d0/dmenu, not media, just for clarity.

    So, again, can I ask what the PATH string is doing in this situation, just for my own education? Will it need to be invoked everytime I use this executable? Will it factor into packaging this app into PND?


    *edit:

    I notice it doesn't seem to recognize any of the PNDs I have in my menu, I suppose since the PND system is different from the standard method of installing programs dmenu will have to be modified?
     
  2. canseco

    canseco Very Active Member

    Joined:
    Jun 1, 2004
    Messages:
    885
    Location:
    Spain
    directive0 likes this.
  3. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    8,389
    Location:
    France, near Lyon
    the PATH environnement variable list all the folders where program are looked for. So you need, in a way or in an other, to add the folder that have dmenu and all it's componant in it.

    Using a command like
    Code:
    PATH=$(pwd):$PATH ./dmenu_path
    
    means that:
    1. Your are changing the PATH env. variable temporary, just for that command (here "./dmenu_path")
    2. You are are adding the result of the program "pwd" (with $(ANYCOMMAND) ) to the current content of PATH (with $PATH), sepearte by ":"

    Now, the program copy itself in a Cache somewhere, I haven't anaylised what it does in detail, but I understand that PATH command is not required?
     
  4. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    770
    Location:
    Toronto, Canada
    @ptitSeb Okay thats a great primer, I'll do more research on my own. Thank you

    @canseco Thank you for the link, I'll study that as well.

    So I think I'm going to start over, just for my own practice. I'll clone it onto my SD card instead of NAND and do each step individually again.
     
  5. edgex004

    edgex004 Advanced Member

    Joined:
    Jan 5, 2008
    Messages:
    1,164
    I fixed the chmod commands in my above post. Would the following have correctly changed the group away from root?

    Code:
    sudo chown -R <insert your user name here>:<insert your group name here> .
     
  6. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    770
    Location:
    Toronto, Canada
    I re-cloned on my SD card just to make sure I know what I'm doing. Compiles fine. I'm at the step where I change the ownership of all the files

    Code:
    Acanthus:/media/RUBICON/test/dmenu$ sudo chown -R d0 .
    
    Password:
    
    chown: changing ownership of `./.git/refs/heads/master': Operation not permitted
    
    chown: changing ownership of `./.git/refs/heads': Operation not permitted
    
    chown: changing ownership of `./.git/refs/tags': Operation not permitted
    
    chown: changing ownership of `./.git/refs/remotes/origin/HEAD': Operation not permitted
    
    chown: changing ownership of `./.git/refs/remotes/origin': Operation not permitted
    
    chown: changing ownership of `./.git/refs/remotes': Operation not permitted
    
    chown: changing ownership of `./.git/refs': Operation not permitted
    
    chown: changing ownership of `./.git/info/exclude': Operation not permitted
    
    chown: changing ownership of `./.git/info': Operation not permitted
    
    chown: changing ownership of `./.git/hooks/commit-msg.sample': Operation not permitted
    
    chown: changing ownership of `./.git/hooks/pre-rebase.sample': Operation not permitted
    
    chown: changing ownership of `./.git/hooks/post-update.sample': Operation not permitted
    
    chown: changing ownership of `./.git/hooks/update.sample': Operation not permitted
    
    chown: changing ownership of `./.git/hooks/applypatch-msg.sample': Operation not permitted
    
    chown: changing ownership of `./.git/hooks/pre-commit.sample': Operation not permitted
    
    chown: changing ownership of `./.git/hooks/post-receive.sample': Operation not permitted
    
    chown: changing ownership of `./.git/hooks/pre-applypatch.sample': Operation not permitted
    
    chown: changing ownership of `./.git/hooks/prepare-commit-msg.sample': Operation not permitted
    
    chown: changing ownership of `./.git/hooks/post-commit.sample': Operation not permitted
    
    chown: changing ownership of `./.git/hooks': Operation not permitted
    
    chown: changing ownership of `./.git/description': Operation not permitted
    
    chown: changing ownership of `./.git/branches': Operation not permitted
    
    chown: changing ownership of `./.git/objects/pack/pack-771489359f245e05e8c1dce68a57251f46f9d6ca.pack': Operation not permitted
    
    chown: changing ownership of `./.git/objects/pack/pack-771489359f245e05e8c1dce68a57251f46f9d6ca.idx': Operation not permitted
    
    chown: changing ownership of `./.git/objects/pack': Operation not permitted
    
    chown: changing ownership of `./.git/objects/info': Operation not permitted
    
    chown: changing ownership of `./.git/objects': Operation not permitted
    
    chown: changing ownership of `./.git/HEAD': Operation not permitted
    
    chown: changing ownership of `./.git/config': Operation not permitted
    
    chown: changing ownership of `./.git/logs/refs/heads/master': Operation not permitted
    
    chown: changing ownership of `./.git/logs/refs/heads': Operation not permitted
    
    chown: changing ownership of `./.git/logs/refs': Operation not permitted
    
    chown: changing ownership of `./.git/logs/HEAD': Operation not permitted
    
    chown: changing ownership of `./.git/logs': Operation not permitted
    
    chown: changing ownership of `./.git/packed-refs': Operation not permitted
    
    chown: changing ownership of `./.git/index': Operation not permitted
    
    chown: changing ownership of `./.git': Operation not permitted
    
    chown: changing ownership of `./LICENSE': Operation not permitted
    
    chown: changing ownership of `./Makefile': Operation not permitted
    
    chown: changing ownership of `./README': Operation not permitted
    
    chown: changing ownership of `./arg.h': Operation not permitted
    
    chown: changing ownership of `./config.def.h': Operation not permitted
    
    chown: changing ownership of `./config.mk': Operation not permitted
    
    chown: changing ownership of `./dmenu.1': Operation not permitted
    
    chown: changing ownership of `./dmenu.c': Operation not permitted
    
    chown: changing ownership of `./dmenu_path': Operation not permitted
    
    chown: changing ownership of `./dmenu_run': Operation not permitted
    
    chown: changing ownership of `./drw.c': Operation not permitted
    
    chown: changing ownership of `./drw.h': Operation not permitted
    
    chown: changing ownership of `./stest.1': Operation not permitted
    
    chown: changing ownership of `./stest.c': Operation not permitted
    
    chown: changing ownership of `./util.c': Operation not permitted
    
    chown: changing ownership of `./util.h': Operation not permitted
    
    chown: changing ownership of `./config.h': Operation not permitted
    
    chown: changing ownership of `./dmenu.o': Operation not permitted
    
    chown: changing ownership of `./drw.o': Operation not permitted
    
    chown: changing ownership of `./util.o': Operation not permitted
    
    chown: changing ownership of `./dmenu': Operation not permitted
    
    chown: changing ownership of `./stest.o': Operation not permitted
    
    chown: changing ownership of `./stest': Operation not permitted
    
    chown: changing ownership of `.': Operation not permitted
    

    Why would it give me grief on my SD card?

    Well regardless. It works and I can get it working. So what are the next steps? How can I go about getting dmenu to recognize PND apps? Should I begin assembling things necessary for the PND?
     
    Last edited: Jul 28, 2016
  7. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    8,389
    Location:
    France, near Lyon
    @directive0 : better to first create a folder, take ownership of that folder, then put all your sources there. So based of what I uderstand of your setup
    Code:
    cd /media/RUBICON/
    mkdir sources
    sudo chown d0:d0 sources
    cd sources
    git blablabla....
    
     
  8. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    770
    Location:
    Toronto, Canada
    @ptitSeb

    Okay, will try right now. Thank you.

    edit: Ugh, it's giving me problems again.

    Code:
    Acanthus:/media/RUBICON$ sudo chown d0:d0 sources
    
    Password: 
    
    chown: changing ownership of `sources': Operation not permitted
    
    I guess my card isn't properly set up with the right permissions/ownership.
     
    Last edited: Jul 28, 2016
  9. Letalis Sonus

    Letalis Sonus Advanced Member

    Joined:
    Mar 5, 2009
    Messages:
    1,049
    If you can't change file rights and ownership as root, it's either because they can't be changed (e.g. mounted read-only) or they don't even exist in the first place - FAT32 has no support for such attributes.
     
  10. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    770
    Location:
    Toronto, Canada
    The card is definitely FAT32, should I make a new EXT* card for this purpose?
     
  11. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    8,389
    Location:
    France, near Lyon
    For developping, you should have an EXT partition yes. Yes can split your current card and make a small Ext2 partition if you want. Depending on what you expect to do, it doesn't have to be too big...
     
  12. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    770
    Location:
    Toronto, Canada
    Okay will do, and I will report back.
     
  13. edgex004

    edgex004 Advanced Member

    Joined:
    Jan 5, 2008
    Messages:
    1,164
    For PND detection, maybe looking at the search methods used by PND_utils would be helpful.

    The cleanest option would probably be to expand dmenu's C code to detect and launch PND's.

    A less clean, but perhaps easier option would be to have an optional "refresh" script in the dmenu PND that searches for PND files (using ideas from PND_utils) and creates launch scripts for them in dmenu's appdata /bin/ folder. Then dmenu should just detect them like it normally detects other programs as long as your PATH is set up correctly.

    This would require no modification of dmenu's source, at least. It would probably be a pretty inefficient way to do it too.
     
    directive0 likes this.
  14. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    770
    Location:
    Toronto, Canada
    Okay just wanted to report that I have the compiled dmenu on an ext4 card for the purpose of developing, everything looks good.

    Code:
    Acanthus:/media/workbench/sources/dmenu$ ls -l 
    total 152
    -rw-r--r-- 1 d0 d0  1442 Jul 28 11:48 LICENSE
    -rw-r--r-- 1 d0 d0  2130 Jul 28 11:48 Makefile
    -rw-r--r-- 1 d0 d0   475 Jul 28 11:48 README
    -rw-r--r-- 1 d0 d0  1011 Jul 28 11:48 arg.h
    -rw-r--r-- 1 d0 d0   892 Jul 28 11:48 config.def.h
    -rw-r--r-- 1 d0 d0   892 Jul 28 11:52 config.h
    -rw-r--r-- 1 d0 d0   846 Jul 28 11:52 config.mk
    -rwxr-xr-x 1 d0 d0 19504 Jul 28 11:52 dmenu
    -rw-r--r-- 1 d0 d0  2765 Jul 28 11:48 dmenu.1
    -rw-r--r-- 1 d0 d0 16724 Jul 28 11:48 dmenu.c
    -rw-r--r-- 1 d0 d0 13404 Jul 28 11:52 dmenu.o
    -rwxr-xr-x 1 d0 d0   294 Jul 28 11:48 dmenu_path
    -rwxr-xr-x 1 d0 d0    58 Jul 28 11:48 dmenu_run
    -rw-r--r-- 1 d0 d0  9902 Jul 28 11:48 drw.c
    -rw-r--r-- 1 d0 d0  1659 Jul 28 11:48 drw.h
    -rw-r--r-- 1 d0 d0  6632 Jul 28 11:52 drw.o
    -rwxr-xr-x 1 d0 d0  5960 Jul 28 11:52 stest
    -rw-r--r-- 1 d0 d0  1530 Jul 28 11:48 stest.1
    -rw-r--r-- 1 d0 d0  3229 Jul 28 11:48 stest.c
    -rw-r--r-- 1 d0 d0  3304 Jul 28 11:52 stest.o
    -rw-r--r-- 1 d0 d0   482 Jul 28 11:48 util.c
    -rw-r--r-- 1 d0 d0   305 Jul 28 11:48 util.h
    -rw-r--r-- 1 d0 d0  1236 Jul 28 11:52 util.o
    

    I will look into those methods you mentioned @edgex004
     
  15. Magic Sam

    Magic Sam Forever Homebrew

    Joined:
    Aug 10, 2007
    Messages:
    2,209
    Location:
    Innsmouth, MA
    Last edited: Jul 31, 2016
    ingoreis likes this.
  16. ingoreis

    ingoreis Advanced Member

    Joined:
    Mar 7, 2012
    Messages:
    3,094
    Location:
    49.491276,8.423518
    @Magic Sam
    Maybe XMBC/KODI is anything for you?

    I tried to port a newer mplayer/smplayer but had too many scaling Problems and Videooutput like omapfb did not work good.
    Thats because i disabled the smplayer2016 PND @ the Repo :(

    Edit:
    have you tried the Panplayer2 from the Repo?
    It work fine with nearly all Videos.
    Maybe i can put the newer mplayer into that after recompiling with the newer Codeblocks :)
     
  17. Glyph Reader

    Glyph Reader Member

    Joined:
    Apr 27, 2014
    Messages:
    332
  18. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    8,389
    Location:
    France, near Lyon
    Yes I have. Too slow to be playable on the Pandora. We'll have to wait for the Pyra.
     
  19. edgex004

    edgex004 Advanced Member

    Joined:
    Jan 5, 2008
    Messages:
    1,164
    @directive0

    As you are working on dmenu, have a look here.

    PND files generate .desktop files on the Pandora and this is how XFCE or openbox recognizes and launches them. So perhaps the best way to make PND files launch from dmenu is to extend dmenu support to .desktop files using i3-dmenu-desktop script or some similar method.

    EDIT: Actually, it looks like j4-dmenu-desktop would be better: here. It is based on i3-dmenu-desktop, but does not depend on using i3wm as your window manager.
     
    Last edited: Aug 1, 2016
    directive0 likes this.
  20. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    770
    Location:
    Toronto, Canada
    @edgex004

    Okay, reading up on i3-dmenu-desktop and j4-dmen-desktop is a little confusing for such a noob as I, but I will soldier on with your wonderful help.

    I read the links and have begun to assemble a plan of action. From what I understand these are scripts that add functionality to dmenu. So I clone them, compile them and somehow integrate them with my existing compile of dmenu? OR do I compile and use stand alone? From what you've provided I think j4-dmenu-desktop is the better way to go.

    I will attempt to compile it, but this source seems different. There is no config.mk to alter to select specific CPU and architecture. I will also assume that cmake is part of codeblocks, but I'm unsure.

    Will try and report back. Thanks again!
     

Share This Page

Loading...