Created attachment 198201 [details] shar archive for poshinit poshinit (Portable Shell Initialization) is a portable way of using the same shell environment with Bash / Zsh across FreeBSD / Linux / Cygwin
Created attachment 198202 [details] portlint log for poshinit
Created attachment 198203 [details] poudriere log for poshinit
Looks like MASTERSITES is empty
Hi Nathan/others, I put all the port files in the sub-directory 'files'. Is there a problem ? My understanding is that MASTER_SITES can be empty if the port only uses file/*
Sorry, I meant files/*
portlint: pkg-descr: exceeds 24 lines, make it shorter if possible.(currently 87 lines) FATAL: Makefile: [3]: use a tab (not space) after a variable name FATAL: Makefile: [4]: use a tab (not space) after a variable name FATAL: Makefile: [5]: use a tab (not space) after a variable name FATAL: Makefile: [8]: use a tab (not space) after a variable name FATAL: Makefile: [9]: use a tab (not space) after a variable name FATAL: Makefile: [11]: use a tab (not space) after a variable name FATAL: Makefile: [12]: use a tab (not space) after a variable name FATAL: Makefile: [14]: use a tab (not space) after a variable name FATAL: Makefile: [15]: use a tab (not space) after a variable name FATAL: Makefile: [16]: use a tab (not space) after a variable name FATAL: Makefile: [17]: use a tab (not space) after a variable name FATAL: Makefile: extra item "MASTER_SITES " placed in the PORTNAME section. WARN: Makefile: no MASTER_SITES found. is it ok? FATAL: Makefile: extra item "MAINTAINER " placed in the MAINTAINER section. FATAL: Makefile: extra item "COMMENT " placed in the MAINTAINER section.
Oh sorry, this was my error (with TAB) - was result of copying the shar - sorry.
(In reply to bourne.identity@hotmail.com from comment #4) - files/ is empty in the shar. Also distinfo exists with has a tarball in it. How do you expect people to get it? We do not commit binary files to the ports tree. It must be hosted externally. - pkg-descr is a description of what the port does. It should not be abused as a manual. If you need to explain how to use the port put it in pkg-message. - The DATA1, DATA2, DATA3 variables are an anti-pattern. Just use constant strings in do-install instead of inventing new variables. - Port layout is off. Please format it like all the other ports.
Created attachment 198216 [details] Revised portlint log for poshinit
Created attachment 198217 [details] Revised poudriere log for poshinit
Created attachment 198218 [details] Revised shar archive for poshinit Tobias: really sorry for having screwed up the initial submission. I think I have fixed all the issues, but am not sure whether my stuff is good. Can you please quickly have a look ?
(In reply to bourne.identity@hotmail.com from comment #11) - The formatting is still off. See one of the examples in the Porter's Handbook [1, 2]. - The shar now contains a binary file (poshinit.8.gz). This is a no go. Remember how I said that we do not commit binary files to the ports tree? :p - You need to remove distinfo and set DISTFILES= or nobody will be able to build the port that doesn't have poshinit-1.0.tar.gz in DISTDIR (the framework will try to extract it). The port will also currently fail to build for everyone else because you try to install the files from WRKDIR (extracted from poshinit-1.0.tar.gz) instead of FILESDIR. [1] https://www.freebsd.org/doc/en/books/porters-handbook/quick-porting.html#porting-makefile [2] https://www.freebsd.org/doc/en/books/porters-handbook/porting-samplem.html
Can someone please help me fix my Makefile such that it starts installing files/poshinit.1 as the man page ? Currently, I just keep getting this error : pkg-static: Unable to access file /usr/ports/shells/poshinit/work/stage/usr/local/man/man1/poshinit.1:No such file or directory *** Error code 74 It appears that makefile auto-compresses poshinit.1 /usr/ports/shells/poshinit/work/stage/usr/local/man/man1/poshinit.1.gz Thanks for any help. Here is what my Makefile currently looks like : PORTNAME= poshinit PORTVERSION= 1.0 CATEGORIES= shells MASTER_SITES= MAINTAINER= bourne.identity@hotmail.com COMMENT= Portable shell environment across Bash/Zsh & across FreeBSD/Linux/Cygwin NO_BUILD= yes NO_ARCH= yes PLIST_FILES= bin/${PORTNAME} man/man1/${PORTNAME}.1 DISTFILES= do-install: ${INSTALL_SCRIPT} ${FILESDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_MAN} ${FILESDIR}/${PORTNAME}.1 ${STAGEDIR}${MANPREFIX}/man/man1/${PORTNAME}.1 .include <bsd.port.mk>
Got it ! Uploading the new shar / logs
Created attachment 198230 [details] Revised shar archive for poshinit Makefile fixed : MAN page now works. Swapped in FILESDIR for WRKDIR. Formatting is better. Tobias, I request you to please quickly have a look and tell me if anything is still bonkers.
Created attachment 198231 [details] Revised portlint log for poshinit
Created attachment 198232 [details] Revised poudriere log for poshinit
Created attachment 198245 [details] Revised shar archive for poshinit (attempt# 3)
Created attachment 198246 [details] Revised portlint log for poshinit (attempt# 3)
Created attachment 198247 [details] Revised poudriere log for poshinit (attempt# 3)
Created attachment 198278 [details] Revised shar archive for poshinit (attempt# 4)
Created attachment 198279 [details] Revised portlint log for poshinit (attempt# 4)
Created attachment 198280 [details] Revised poudriere log for poshinit (attempt# 4)
Created attachment 198282 [details] Revised shar archive for poshinit (attempt# 5)
Created attachment 198283 [details] Revised portlint log for poshinit (attempt# 5)
Created attachment 198284 [details] Revised poudriere log for poshinit (attempt# 5)
Created attachment 198295 [details] Revised shar archive for poshinit (attempt# 6)
Created attachment 198296 [details] Revised portlint log for poshinit (attempt# 6)
Created attachment 198297 [details] Revised poudriere log for poshinit (attempt# 6)
Hi, please do not upload log files unless asked requested. It fills up the database and serves little purpose since committers are going to run portlint and poudriere tests themselves as well. It's better to just say that portlint produces no errors and which FreeBSD versions and architectures you've tested with poudriere. Cheers
Hi Mateusz, Tx for the note. I will only upload shar in future. MJ
Created attachment 198321 [details] Revised shar archive for poshinit (attempt# 7) As suggested by Mateusz, I am uploading the new shar only (for a few minor modifications in poshinit and its man page). portlint/poudriere logs are available, in case needed.
Created attachment 198329 [details] Revised shar archive for poshinit (attempt# 8) I think the port is final now
Created attachment 198625 [details] Revised shar archive for poshinit (attempt# 9) A minor but important scope-for-improvement was spotted (exports processed ahead of aliases/functions)
Created attachment 198679 [details] Revised shar archive for poshinit (attempt# 10) 'man poshinit' now mentions the command 'alias' too.
Created attachment 198705 [details] Revised shar archive for poshinit (attempt# 11) Man page now lists a couple of bugs.
Created attachment 198707 [details] Revised shar archive for poshinit (attempt# 12) A minor fix
Created attachment 198772 [details] Revised shar archive for poshinit (attempt# 13) aliases L2 and L3 made unconditionally available
Created attachment 198825 [details] Revised shar archive for poshinit (attempt# 14) poshinit documentation now stresses more L2 (FreeBSD/Linux/Cygwin) and less L3 (Linux-distro).
Created attachment 198870 [details] Revised shar archive for poshinit (attempt# 15) Minor update: pkg-descr now bundles in WWW link
Created attachment 198916 [details] Revised shar archive for poshinit (attempt# 16) Setup script now prompts for bundling in KSH_ARRAYS for Z shell configuration (to make it Bash-compatible - array indexing begins at 0)
Created attachment 198995 [details] Revised shar archive for poshinit (attempt# 17) poshinit now caters to logout facility too for Bash/Zsh.
Created attachment 198999 [details] Revised shar archive for poshinit (attempt# 18) Minor fix in documentation re logout functionality
Created attachment 199152 [details] Revised shar archive for poshinit (attempt# 19) Minor fixes : shell variables now exported upon being set; logout symlinks created early.
Created attachment 199189 [details] Revised shar archive for poshinit (attempt# 20) poshinit update to incorporate alias pig <List all installed packages + grep>
Hi, I would like poshinit to be available for download via pkg. I used poudriere to create a package (TXZ) for poshinit. Where can I submit the package ? Tx Manish Jain
(In reply to bourne.identity@hotmail.com from comment #46) Could you set LICENSE and LICENSE_FILE?
Created attachment 199343 [details] Revised shar archive for poshinit (attempt# 21) LICENSE/LICENSE_FILE now included
(In reply to bourne.identity@hotmail.com from comment #48) Would it be possible to upstream the LICENSE file? It doesn't feel correct to store the software license in the files directory. It should be distributed with the source code.
Created attachment 199349 [details] Revised shar archive for poshinit (attempt# 22) Mateusz, I have removed the LICENSE file entirely and set LICENSE to BSD3CLAUSE. portlint finds this acceptable. I do as well. 1) Is the above okay with you ? 2) I am getting a portlint warning for MASTER_SITES being empty. I have no idea what is MASTER_SITES, and I just set it as empty because the poshinit project is hosted via files/ (and not via any internet URL) Perhaps you could advise me on fixing/removing MASTER_SITES too. Thanks. Manish Jain
Created attachment 199424 [details] Revised shar archive for poshinit (attempt# 23) LICENSE reverted to GPL with explicit file
Hello, the source code of a port should not be stored in the "files" directory. Upstream should offer a way to download a tarball instead. A lot of different people with various use-cases use the FreeBSD ports tree and it is not polite to make them download more files unless absolutely necessary. Also, please consider uploading new revisions when they are tested and considered stable. Otherwise, Bugzilla's database fills up quickly with half-backed solutions. ;) Cheers, Mateusz
Created attachment 199900 [details] Revised shar archive for poshinit (attempt# 24) poshinit now moved to GitHub. poshinit now accepts --bare mode and --editor preset.
Please put poshinit on hold. I am adding a major new facility to poshinit - To extract the current environment into poshinit's setup. Will upload shar once --extract is working (and fully tested)
Created attachment 200615 [details] Final shar archive for poshinit After much consideration, I dropped the idea of extracting the current environment - too error-prone and not of so much use really as it sounds. Instead, I have included a --bare option, as suggested by Shlomi Fish. Thanks all. MJ
After a long list of attachment changes, Mateusz please would you have a look at this?
Committed. Thanks!
A commit references this bug: Author: 0mp Date: Thu Aug 15 10:10:23 UTC 2019 New revision: 508989 URL: https://svnweb.freebsd.org/changeset/ports/508989 Log: New port: shells/poshinit: Portable shell setup for Bash/Zsh across FreeBSD/Linux/Cygwin You want your shell stuff to work the same way even when you use a different shell, or even a different box. Right? If you use poshinit (Portable Shell Initialization), you can attain at least most of what you desire, perhaps even all. You can log out of Bash and log in with Zsh (or vice versa) - and your aliases/exports/functions will continue to work as before. It gets better - if someday you need to use a different box with a different OS, you can get your shell to work your 'normal' way in a jiffy. Just save your $HOME/.shell directory on your primary box, and paste it over your second box's $HOME/.shell (after running poshinit setup script on the second box). The second box need not be the same operating system - poshinit works across FreeBSD / Linux / Cygwin. WWW: https://github.com/bourne-again/poshinit PR: 232315 Submitted by: bourne.identity@hotmail.com Reviewed by: Nathan, Walter Schwarzenfeld, tobik (previous versions) Changes: head/shells/Makefile head/shells/poshinit/ head/shells/poshinit/Makefile head/shells/poshinit/distinfo head/shells/poshinit/pkg-descr