Hi,
I made a port for execline (and skalibs which is a dependency), a scripting language like sh but implemented in a really different way. Once the parser has read the script it exits and leaves a chain of commands running, each of these do something and exec in the next command. skalibs is a general-purpose library, used by the skarnet.org software. I tested them on amd64 and i386. I have a few doubts, when i run portcheck on sysutils/execline i get the following and i haven't found a way to fix it: in default FLAVOR: the following libraries in WANTLIB look like masked by RUN_DEPENDS: skarnet in FLAVOR "static": the following libraries in WANTLIB look like masked by RUN_DEPENDS: skarnet skalibs offer a default PATH (for example when executing into another command) when one is not set in the environment, this is configurable at compile time, i have set the system default one: /usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:${LOCALBASE}/bin:${LOCALBASE}/sbin Is this correct? Comments, suggestions and/or testing? Thanks in advance! |
I attached the two bugfix releases 2.10.0.1 and 2.7.0.1, these fixes
various bugs related to elgetpositionals, trap and emptyenv commands. Any comments, ok and/or clarifications on the two doubts in the previous email? |
I attached the new versions of skalibs (2.10.0.2) and execline
(2.8.0.0), these fixes a few bugs and change backtick(1) options slightly. I also attached a new port of the newly created mdoc(7) ports of the execline HTML documentation. With this one i get: Warning: execline-man-pages-2.8.0.0.1 conflicts with etsh-5.4.0v0 (shells/etsh):/usr/local/man/man1/if.1 However shells/etsh does not seem to provide a real if(1) command, i checked the PLIST of etsh and the if command seems to be an internal shell command (execline provides an if command but does not conflict with etsh). Any suggestion to fix this? As said in the previous emails i get these with execline too: in default FLAVOR: the following libraries in WANTLIB look like masked by RUN_DEPENDS: skarnet in FLAVOR "static": the following libraries in WANTLIB look like masked by RUN_DEPENDS: skarnet I have also checked that these ports work with -fno-common. Any comments and/or OKs? ![]() ![]() ![]() |
On 2021/02/22 14:05, Alex Raschi wrote:
> I attached the new versions of skalibs (2.10.0.2) and execline > (2.8.0.0), these fixes a few bugs and change backtick(1) options > slightly. > > I also attached a new port of the newly created mdoc(7) ports of the > execline HTML documentation. With this one i get: > > Warning: execline-man-pages-2.8.0.0.1 conflicts with etsh-5.4.0v0 (shells/etsh):/usr/local/man/man1/if.1 > > However shells/etsh does not seem to provide a real if(1) command, i > checked the PLIST of etsh and the if command seems to be an internal > shell command (execline provides an if command but does not conflict > with etsh). Any suggestion to fix this? either register the conflict with @conflict markers (in both ports), or install docs to a different dir. conflict markers seems ok to me. it might be better to just include the manuals in the main package. you can use multiple DISTFILES. > As said in the previous emails i get these with execline too: > > in default FLAVOR: the following libraries in WANTLIB look like masked by RUN_DEPENDS: skarnet > in FLAVOR "static": the following libraries in WANTLIB look like masked by RUN_DEPENDS: skarnet > > I have also checked that these ports work with -fno-common. > > Any comments and/or OKs? SHARED_LIBS = execline 2.8 SHARED_LIBS = skarnet 2.10 start with 0.0. if the build system doesn't produce a library with the right name to match this, patch or pass in via make(1) variables until it does. https://www.openbsd.org/faq/ports/specialtopics.html#SharedLibs @so lib/libexecline.so @lib lib/libexecline.so.${LIBexecline_VERSION} @bin lib/libexecline.so.2.8.0.0 @so lib/libskarnet.so @lib lib/libskarnet.so.${LIBskarnet_VERSION} @bin lib/libskarnet.so.2.10.0.2 there should just be "@lib lib/libxyz.so.${LIBxyz}" lines, no symlinks etc. these are probably what's responsible for portcheck's "masked by" warning. pkg/DESCR says "has no security issues" a bold claim! I don't think it's a good idea to include that bit. I would drop the static flavours unless there's a really good reason for it (usually "it's helpful to run in a chroot for a webserver"). |
On Mon, Feb 22, 2021 at 01:35:38PM +0000, Stuart Henderson wrote:
> On 2021/02/22 14:05, Alex Raschi wrote: > > I attached the new versions of skalibs (2.10.0.2) and execline > > (2.8.0.0), these fixes a few bugs and change backtick(1) options > > slightly. > > > > I also attached a new port of the newly created mdoc(7) ports of the > > execline HTML documentation. With this one i get: > > > > Warning: execline-man-pages-2.8.0.0.1 conflicts with etsh-5.4.0v0 (shells/etsh):/usr/local/man/man1/if.1 > > > > However shells/etsh does not seem to provide a real if(1) command, i > > checked the PLIST of etsh and the if command seems to be an internal > > shell command (execline provides an if command but does not conflict > > with etsh). Any suggestion to fix this? > > either register the conflict with @conflict markers (in both ports), > or install docs to a different dir. conflict markers seems ok to me. > > it might be better to just include the manuals in the main package. > you can use multiple DISTFILES. > > > As said in the previous emails i get these with execline too: > > > > in default FLAVOR: the following libraries in WANTLIB look like masked by RUN_DEPENDS: skarnet > > in FLAVOR "static": the following libraries in WANTLIB look like masked by RUN_DEPENDS: skarnet > > > > I have also checked that these ports work with -fno-common. > > > > Any comments and/or OKs? > > SHARED_LIBS = execline 2.8 > SHARED_LIBS = skarnet 2.10 > > start with 0.0. if the build system doesn't produce a library with the > right name to match this, patch or pass in via make(1) variables until > it does. > > https://www.openbsd.org/faq/ports/specialtopics.html#SharedLibs > > @so lib/libexecline.so > @lib lib/libexecline.so.${LIBexecline_VERSION} > @bin lib/libexecline.so.2.8.0.0 > > @so lib/libskarnet.so > @lib lib/libskarnet.so.${LIBskarnet_VERSION} > @bin lib/libskarnet.so.2.10.0.2 > > there should just be "@lib lib/libxyz.so.${LIBxyz}" lines, no > symlinks etc. > > these are probably what's responsible for portcheck's "masked by" warning. > > pkg/DESCR says "has no security issues" > > a bold claim! I don't think it's a good idea to include that bit. > > I would drop the static flavours unless there's a really good reason > for it (usually "it's helpful to run in a chroot for a webserver"). > shells/dash: it can be really useful in a chroot since it acts functionally the same as a shell. Anyway i will remove it in case. I modified the ports to match your suggestions, below there is the diff to add @conflict to etsh. Thanks! Index: shells/etsh/pkg/PLIST =================================================================== RCS file: /cvs/ports/shells/etsh/pkg/PLIST,v retrieving revision 1.2 diff -u -p -r1.2 PLIST --- shells/etsh/pkg/PLIST 30 Mar 2019 18:14:32 -0000 1.2 +++ shells/etsh/pkg/PLIST 22 Feb 2021 19:55:45 -0000 @@ -1,5 +1,6 @@ @comment $OpenBSD: PLIST,v 1.2 2019/03/30 18:14:32 bcallah Exp $ @conflict osh-* +@conflict execline-* @pkgpath shells/osh @shell bin/etsh @shell bin/tsh |
Free forum by Nabble | Edit this page |