Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Oct 2014 13:43:27 -0700
From:      Nick Rogers <ncrogers@gmail.com>
To:        Baptiste Daroussin <bapt@freebsd.org>
Cc:        "freebsd-ports@freebsd.org" <freebsd-ports@freebsd.org>
Subject:   Re: pkgng "requirements" script equivalent
Message-ID:  <CAKOb=YbL4gJN9Bn44teKCPT91v87rcrTSPz50XqMQNR2asnK=w@mail.gmail.com>
In-Reply-To: <20141029200212.GE11033@ivaldir.etoilebsd.net>
References:  <CAKOb=YYW1DHSJA=HGM7Js8-hShmNCx6XjtMPg7rPkGcCytv5-A@mail.gmail.com> <20141029200212.GE11033@ivaldir.etoilebsd.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 29, 2014 at 1:02 PM, Baptiste Daroussin <bapt@freebsd.org>
wrote:

> On Wed, Oct 29, 2014 at 12:44:21PM -0700, Nick Rogers wrote:
> > Hello,
> >
> > I am in the process of upgrading some proprietary software that has
> always
> > been deployed via a "custom" package created by the old pkg_create. So
> far
> > I've been able to use "pkg create" to achieve what I want, but it seems
> > that the "requirements" script is no longer a part of the new pkg
> > framework. This used to be a script that you could include with a package
> > that could halt the pkg add or remove process by returning a non-zero
> exit
> > code from the script. I've been using it with the old pkg tools as a way
> to
> > enforce some proprietary requirements logic that goes beyond requiring
> > certain pkg dependencies, architecture, etc. One example is to make sure
> a
> > specific custom kernel is running by analyzing uname output.
> >
> > I am wondering if anyone has a suggestion as to how to interrupt the pkg
> > add process in a similar way. It looks like the "requirements" script has
> > been removed entirely, and from what I can tell a failure in the
> > pre-install script does not halt pkg add.
>
> What is the requirement script you are speaking about? I never heard of it?
>

man pkg_create(1)
https://www.freebsd.org/cgi/man.cgi?query=pkg_create&apropos=0&sektion=1&manpath=FreeBSD+8.3-RELEASE&arch=default&format=html
-r rscript
    Set rscript to be the ``requirements'' procedure for the package.
    This can be any executable program (or shell script).  It will be
    invoked automatically at installation/deinstallation time to
    determine whether or not installation/deinstallation should pro-
    ceed.  To differentiate between installation and deinstallation,
    the keywords INSTALL and DEINSTALL are passed respectively, along
    with the package's name.


> Explain me in detail the way you were producing the package with
> pkg_create and
> I'll explain you how to do the same with pkg(8).
>

I was running pkg_create with the following arguments:

pkg_create -f plistfile -c -'comment' -d -description' -v -P 'list of
dependency packages' -v -r requirements_script_file -i
pre-install_script_file -I post-install-script_file -k
pre-deinstall_script_file -K post-deinstall_script_file -s
/space/build/trunk -D displayfile -p /space/rxg -o category/name pkg.tbz

For the most part I've figured out the appropriate +MANIFEST file and
manifest directory contents, except for the "requirements procedure" script.


>
> regards,
> Bapt
>



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