On Thu, 22 May 2008 00:15:26 +0200 Johannes Winkelmann <jw@smts.ch> wrote: Hey Johannes,
Hi Jose,
Thanks for your posting. I have a couple of comments and questions:
On Wed, May 21, 2008 at 21:41:31 +0200, Jose V Beneyto wrote:
Hi people,
As surely someone has known, pitillo and me are involved on developing a safe environment where test crux ports.
Apparently, ATM don't exist a unified way for testing/developing ports. Well, there's the chroot testing procedure which is described on http://crux.nu/Main/ChrootTesting
like we talk at irc channel, is this a general/unified/standard way for packagers/maintainers to build ports?. If its objective is this, I think some maintainers don't know about this procedure and like we talk yesterday, IMHO if this is intended to be the way to go, someone must check the process. I told this and I repeat here again, is it really needed to start from a core/opt installation?, doesn't has much sense to start only with core and then build ports with the minimal/real dependencies instead of using all opt ports?
I've quickly tested this for a 2.4 test ISO, and with an additional mount for /sys it works fairly well.
I started some time ago from this page/notes to build a little script with this steps to keep ports up to date with their minimal dependencies.
While this setup may be less powerful, it has served well in the past to test package builds, and I like the fact that it's very transparent, i.e. it's very clear to me what actually happens.
I think the process is more clear in that webpage, but I think safe-env isn't hard to read and it's quite easy to check what it does.
As we known, developers are using prtutils, chroot environments or unfortunately other are using their own crux system for building and testing their ports, and that sounds terrible in some cases. I guess it could be argued how terrible this is, but okay :-)
Well, may be terrible isn't the propper word, but looking sometimes some footprints you can make diffs and see missing files which aren't really needed by a port, because seems that port was built in a normal system, with more libs than the minimal needed by a port. May be these were commented in the optional/nice to have lines, which aren't really official too, and can be good to use only 1 name in all Pkgfiles too, but the point is that the maintainer what must provide? A real build with what he thinks it's fine or with the real/minimal dependencies?
For that, we are working on 'safe-env', a environment similar to a "freshinstall", where testing ports and try to discover bugs, and also the most issues that crux users can find when they are building ports for their systems. I think as far as packaging bugs go, using fakeroot should catch most of them already. Functional tests as well as missing dependencies however could be easier to find.
That's true.
What bugs did you think of here?
I think we can talk about missing dependencies or footprints mistmatchs with missing files which aren't really needed by a port or which were installed in the maintainer system.
Also, are there any automated checks to see if a package installation misbehaved, especially directory permission checks? Also, what about post-installs scripts? I think especially the later might be something interesting to look into!
This can be a start point. I had in mind to use safe-env and make it bigger with some set of tests to make more checks to a port. This is one of the reasons we show you this enviroment, to see if it can be interesting to the comunity and may be someone can add, bit by bit, more attibutes to it.
In any case, maybe we can define some criteria for ports testing, i.e. which ports should be there to start with, always rebuilding vs. keeping packages etc.
And if this can be good to point all maintainers to some ways to build ports, I think this can be good too. Doesn't really matter if he will use the confortable process of the webpage or the "big"? enviroment. But I think the objective is to keep all maintainers informed about ways to build clean ports for the comunity.
Thanks for the clarifications, Johannes Thank you too for your time spent reading this mails and the enviroment.
-- Learning bit by bit. -pitillo-