Date: Sun, 11 Aug 2013 22:48:06 +0000 From: Matthew Windsor <mbw500@york.ac.uk> To: soc-status@freebsd.org Cc: Justin Edward Muniz <jmuniz@freebsd.org>, Eitan Adler <eadler@freebsd.org> Subject: Re: GSoC Status: Week 8 Message-ID: <CAFxS2Ch=us6E_%2BO6DiXNiXeGCfbCZAf703gx-YH7fGR123eKDQ@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi, This week has mainly been spent refactoring the job and query code, and trying (and failing, for now) to figure out how to make jobs provide more information when they fail. Spending a week with Code Complete took its toll on me as I've spent a lot of time trying to subdivide functions, clean up code and generally make the job/query code less of an unbridled nightmare to look at. C files are being split up and fanned out, and hopefully the end result should be an improvement in both maintainability and (wishfully thinking) correctness as complexity is shuffled out into easier to check portions. The old query-based jobs code has been removed completely, with nothing using that anymore. The new jobs code seems to work fine for removing and installing trivial packages, but again updating is not yet properly tested. It turns out that checking the return value of pkg_jobs_apply isn't going to work for finding out more information about application errors, and I haven't yet figured out how to check the events system for errors without causing a job to bail out on minor things such as checksum mismatches. This will need some looking into at the pkgng code side (I might ask on #pkgng too), as I imagine I'll need to filter through errors either by strcmping the messages or finding some way of extracting an integer value for the error (does the errno event have anything to do with this, or is this just for normal unix errnos?) Hopefully I'll have more to share next week, by my own admission this week has been somewhat unproductive in terms of the things I wanted to do. ~ Matt
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFxS2Ch=us6E_%2BO6DiXNiXeGCfbCZAf703gx-YH7fGR123eKDQ>