From owner-soc-status@FreeBSD.ORG Sun Jul 7 04:15:34 2013 Return-Path: Delivered-To: soc-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2A90CD69 for ; Sun, 7 Jul 2013 04:15:34 +0000 (UTC) (envelope-from mbw500@york.ac.uk) Received: from mail-ea0-f173.google.com (mail-ea0-f173.google.com [209.85.215.173]) by mx1.freebsd.org (Postfix) with ESMTP id B12A71011 for ; Sun, 7 Jul 2013 04:15:33 +0000 (UTC) Received: by mail-ea0-f173.google.com with SMTP id g15so2223741eak.18 for ; Sat, 06 Jul 2013 21:15:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=date:from:x-x-sender:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version:content-type:x-gm-message-state; bh=jjxq/DarcU8EwvdZ+QGWiw4PEvbnaf7IcavNrvsyaRY=; b=c5yCmNoCBzc+Ro3LR6NO/7Bt3B9wm+GWEI4Vtk/eWS1Gpkynkg/6TnTXPDs4oDxw58 GCU8KqmRJbRqkl22uQp6n0l9R2o5iONk3f0Mp8S4I8C4jaNRJAdEGpbmHERdgfOSEA0t E5qwIbwaMMwL4F6NfCeL9O0O9+Av1Z25piUT25hmOcyjqOs/cPlXlACPdobVXKSEddk+ t/l6e7lVbAOO6r2e0rDcpznK3rTaXpXjXAge1+ow0xv2uaeEIeekO61aP8pKsqaRwVEP MpVA9kDC78JPXMDdIG+tZJ7pEjyE87pYdKZ6E1meIaR+3GPHRlUH+lGpglCLVZEovmun ni7Q== X-Received: by 10.15.83.69 with SMTP id b45mr18620850eez.150.1373170532193; Sat, 06 Jul 2013 21:15:32 -0700 (PDT) Received: from [192.168.0.120] (cpc9-harg5-2-0-cust65.7-1.cable.virginmedia.com. [81.102.218.66]) by mx.google.com with ESMTPSA id bj46sm29248178eeb.13.2013.07.06.21.15.30 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Sat, 06 Jul 2013 21:15:31 -0700 (PDT) Date: Sun, 7 Jul 2013 05:15:26 +0100 (BST) From: Matt Windsor X-X-Sender: mattbw@cavalier To: soc-status@freebsd.org Subject: GSoC status - Week 3 In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII X-Gm-Message-State: ALoCoQky4TN30EvwEF1a+cckXijT8AMBo5aRPIZPivgHQcg+pARvJZh70tGe0ucptauaUduvHBn4 Cc: jmuniz@freebsd.org, eadler@freebsd.org X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jul 2013 04:15:34 -0000 Hi all, Another week, another soc-status mail! This week I've mainly been implementing basic forms of the InstallPackages (remote installation) and InstallFiles (local installation) features. The good news is that I've managed to install (trivial) packages with both, so they are mostly functional. There are a few issues to iron out, most notably perhaps being the fact that I implemented events on InstallPackages a bit too overzealously and it now bombs out with a fatal error if mild things such as cached packages having checksum mismatches occur. More cosmetic problems include the install queues being unsorted (and thus causing a large amount of "these packages are to be installed, ...reinstalled, ...installed, ...updated, ...installed" noise). I also implemented a very basic test, mostly for me at this stage, to check to see if GetDetails gets broken by any changes (and there have been lots of infrastructure changes). Currently it is pointing out that while `pkg` can return multiple packages for an unversioned package query, the backend only returns the first one - I'm not sure as of yet how to proceed to resolve this. There are now two main "helper" subsystems available for the common tasks of selecting one package matching a PackageID and either sending the package to a function for emitting data from it (GetDetails, GetFiles) or adding it to a (currently one package only) job and sending it to a function for solving and applying (InstallPackages). There are a lot of optimisations and tweaks that could be made to the query functions, as the whole query code has mostly evolved to save duplication rather than being designed. I've also removed most of the dummy boilerplate. I was keeping this in to remind me which features I needed to install, but as the backend is becoming more and more useful I thought I'd take it out so no non-GSoC code is polluting the main code file. In all, I thought I was going to be behind my milestones this week, but aside from some niggles left to solve later it seems that both local and remote package installation are present and informally tested to work in certain use cases. Known bugs: - Backend sometimes crashes when moving from SimulateInstallPackages to InstallPackages or cancelling; not sure what's causing this at the moment, will investigate later. - Test for GetDetails expects certain packages to be installed and fails when multiple versions of a single package exist, needs some thought as to how the backend should solve multiple version problems. - Install list produces multiple reinstall/install/update category headings due to no sort being produced on the iterator output; may fix, may leave as-is. - Non-severe errors can cause the installation to fail with a fatal error, I need to change the install event handler to stop this. - All package arguments must be given as PackageIDs; this is due to Resolve not being implemented, may work on this next week. ~ Matt