On Tue, 2015-08-25 at 09:54 +0000, Gianfranco Costamagna wrote: > 1) I did a build&install of the package, and I can't make it work > > > > brew install cmake > brew > brew --help > linuxbrew --help > > returns nothing Oops...Sorry for that... By mistake I introduced this bug into the wrapper script. Patch [1] fixes this bug. And it was fixed in the freshly uploaded mentor package. The first time running brew should be similar as following: $ brew Maybe you are the first time running brew/linuxbrew, here are some hints: * Modify your PATH,MANPATH,INFOPATH environment to utilize software installed by linuxbrew. + See example file /usr/share/doc/linuxbrew/examples/profile ==> This script will install: /home/lumin/.linuxbrew/bin/brew /home/lumin/.linuxbrew/Library/... /home/lumin/.linuxbrew/share/man/man1/brew.1 Press RETURN to continue or any other key to abort > 2) man brew doesn't work, man linuxbrew works Please note that, the linuxbrew installer will pull a manpage of brew (as above /home/lumin/.linuxbrew/share/man/man1/brew.1) into ~/.linuxbrew/share/man/man1/brew.1 And after you changed MANPATH ENV, man brew should work. (export MANPATH="${HOME}/.linuxbrew/share/man:${MANPATH}") And hence I provided no manpage for `brew` but only `linuxbrew`, and overrode the lintian missing-manpage /usr/bin/brew (/usr/bin/brew is symlink -> /usr/bin/linuxbrew), avoiding conflict with pulled brew manpage. > 3) looking at the source, in first_time_hint the example file have a wrong location > + See example file /usr/share/doc/linuxbrew/examples/profile And this is another packaging bug, which is remained when I changed package name from "linuxbrew" to "linuxbrew-wrapper". I have wrote wrong path in linuxbrew-wrapper.install: debian/bin/linuxbrew usr/bin/ -install usr/lib/linuxbrew/ +install usr/lib/linuxbrew-wrapper/ > maybe you mean > > /usr/share/doc/linuxbrew-wrapper/examples/profile > > (and that function is never called on my system) Not being called is a BUG, and I've fixed it and tested it as said above. > 4) I see an install file, but it has no +x, so it can't be run > sudo chmod +x /usr/lib/linuxbrew/install > > shouldn't the end user know that he needs to manually run the installation? That install script should be automatically invoked by wrapper script /usr/bin/linuxbrew. And letting users to manually run that script is not what I want, since that way is always available. Now the wrapper script BUG is fixed, and users the first time run brew will see the install process is automated. My local built latest package ships an `/usr/lib/linuxbrew-wrapper/install` with (0755/-rwxr-xr-x). I don't know what happend rendering your /usr/lib/linuxbrew-wrapper/install lost the read mode. I installed that file in linuxbrew-wrapper.install: install usr/lib/linuxbrew-wrapper/ Maybe I should add somthing into d/rules to make sure that install script is installed with r mode? Additionally, the wrapper script /usr/bin/linuxbrew is designed to be able to accept a install script without r mode, and it runs ruby $INSTALL to do that install process. > after running install almost everything works as expected, so maybe its just > a matter of tweaking the script for some bits, and setting the +x to the file > (after mentioning $somewhere that it needs to be run). > > What about doing that in a postinst script? Invoke it in postinst is not proper, I believe. > (sorry for this late mail, but I usually install stuff only when packaging > looks good to me :) ) > BTW I'm installing cmake right now :) (with all the ton of build-dependencies) > > I really appreciate this software, I think Debian folks will enjoy it! Thank you for attention to this package, and thank you for finding so many my mistakes. I've learnt a lot within this ITP process as it is my 3rd debian package. The latest uploaded package, should bring you better felling :-) [1] diff --git a/debian/bin/linuxbrew b/debian/bin/linuxbrew index 72f0233..308b3ee 100755 --- a/debian/bin/linuxbrew +++ b/debian/bin/linuxbrew @@ -62,11 +62,11 @@ elif [ -d ${LINUXBREW_PREFIX} ]; then printf "Please check that directory.\n" false elif [ -x ${BREW_INSTALL} ]; then - first_time_hint () + first_time_hint exec ${BREW_INSTALL} elif [ -r ${BREW_INSTALL} ]; then if [ -x $(which ruby) ]; then - first_time_hint () + first_time_hint ruby ${BREW_INSTALL} else printf "E: found no ruby interpreter to run linuxbrew installer.\n"
Attachment:
signature.asc
Description: This is a digitally signed message part