Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Mar 2013 10:03:52 +0000
From:      Chris Rees <crees@FreeBSD.org>
To:        Michael Gmelin <freebsd@grem.de>
Cc:        FreeBSD Mailing List <freebsd-ports@freebsd.org>
Subject:   Re: www/nginx pkg-plist + pkgng (detectable?)
Message-ID:  <CADLo838mX7xRURJQ4QpcmbQPur=W3QAAKNruEK3Jn3xp3S2SmA@mail.gmail.com>
In-Reply-To: <20130330034028.0f8cefc8@bsd64.grem.de>
References:  <20130330034028.0f8cefc8@bsd64.grem.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On 30 March 2013 02:40, Michael Gmelin <freebsd@grem.de> wrote:
> pkg-plist contains:
>
> %%WWWDATA%%@exec mkdir -p -m 755 www/nginx-dist
> %%WWWDATA%%@exec if [ ! -d %D/www/nginx/ ] ; then ln -fs
> %D/www/nginx-dist %D/www/nginx; fi
> %%WWWDATA%%www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
> %%WWWDATA%%www/nginx-dist/index.html
> %%WWWDATA%%www/nginx-dist/50x.html
> %%WWWDATA%%@exec chmod a-w www/nginx-dist
> %%WWWDATA%%@unexec if [ -L %D/www/nginx ]; then rm -f %D/www/nginx; fi
> %%WWWDATA%%@dirrmtry www/nginx-dist
>
> cd /usr/ports/www/nginx
> make install clean
>
> # pkg info -R nginx | grep www/nginx-dist
>
>   /usr/local/www/nginx-dist/50x.html: 3c264d74770fd706d59c68d90ca1eb893ac379a666ff136f9acc66ca01daec02
>   /usr/local/www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
>   /usr/local/www/nginx-dist/index.html: 38ffd4972ae513a0c79a8be4573403edcd709f0f572105362b08ff50cf6de521
>   /usr/local/www/nginx-dist/: y
>     mkdir -p -m 755 www/nginx-dist
>     if [ ! -d /usr/local/www/nginx/ ] ; then ln -fs /usr/local/www/nginx-dist /usr/local/www/nginx; fi
>     chmod a-w www/nginx-dist
>
> This means in practice, once you create a binary package (pseudo code):
> pkg create nginx
> pkg repo .
> ...
> pkg install nginx
>
> You'll be left with a www/nginx-dist relative to wherever you've been
> in the file. I assume that pkg-plist should use %D/www/nginx instead of
> www/nginx in mkdir and chmod. So it's probably a bug in the port
> itself. Is this something that pkgng could potentially catch in future?

Actually, the current working directory is set with the @cwd command,
set to %D by default, so in practice it's not a problem.

However... I would agree that you must use %D/ and give absolute paths
when running commands in pkg-plist.

I would also question the use of mkdir -m 755 then setting mode to 555
with chmod in the next command???

Chris



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADLo838mX7xRURJQ4QpcmbQPur=W3QAAKNruEK3Jn3xp3S2SmA>