From owner-freebsd-arch@FreeBSD.ORG Thu Aug 18 18:37:51 2011 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3AAE1106566B for ; Thu, 18 Aug 2011 18:37:51 +0000 (UTC) (envelope-from gelraen.ua@gmail.com) Received: from mail-fx0-f54.google.com (mail-fx0-f54.google.com [209.85.161.54]) by mx1.freebsd.org (Postfix) with ESMTP id C45A68FC16 for ; Thu, 18 Aug 2011 18:37:50 +0000 (UTC) Received: by fxe4 with SMTP id 4so1966823fxe.13 for ; Thu, 18 Aug 2011 11:37:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:subject:date:user-agent:in-reply-to:mime-version:message-id :content-type:content-transfer-encoding; bh=8vZbG27+DFWJ5rrlxg2ri41Yk8qiw3pzFusigN/qPu4=; b=MNFajTOyOQQeW4f8Nt6ngg63AGpyUAEzvRxo7Vi4lf9qy55CKAAs2yuwfM9m7B6Wpw BIKx0Cj0Jzv4C9J10xZUXCSADpVJUAA4eG9hMCfasrwXhFTcJh2L6OjhCxwxXeoAG88Q PvlPixIb4DHTcq8bcrGsJ33RhADdA9+3xFErs= Received: by 10.223.159.2 with SMTP id h2mr159774fax.5.1313691014561; Thu, 18 Aug 2011 11:10:14 -0700 (PDT) Received: from imax.localnet (187-94-133-95.pool.ukrtel.net [95.133.94.187]) by mx.google.com with ESMTPS id 6sm1924083fas.2.2011.08.18.11.10.11 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 18 Aug 2011 11:10:12 -0700 (PDT) From: Maxim Ignatenko To: freebsd-arch@freebsd.org Date: Thu, 18 Aug 2011 21:10:03 +0300 User-Agent: KMail/1.13.7 (FreeBSD/8.2-STABLE; KDE/4.6.5; i386; ; ) In-Reply-To: dae4b29c363977d83e857bed8e253ae8@etoilebsd.net MIME-Version: 1.0 Message-Id: <201108182110.03525.gelraen.ua@gmail.com> Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Subject: FreeBSD problems and preliminary ways to solve X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Aug 2011 18:37:51 -0000 Hi, pkgng looks great, but I suggest to add in-place upgrade feature. Now packages upgraded with just deleting and installing new version, which is not so fast and requires some "dirty" tricks with config files to correctly delete unmodified configs on pkg_delete and keep modified. Instead, we can simply overwrite only those files, that differs with previous version and even keep any user-modified files without any special tricks in port's Makefile and package metadata. Also, in this case upgrading package between minor versions will generate much less write requests to FS. But this requires to make some changes in ports infrastructure. Each port need to be installed to some temporary location first, and only then changed files should be moved in place. Using tmpfs as temporary location will slightly reduce "make upgrade" time, comparing to "make deinstall install". Another way is to create binary package directly and leave all upgrading logic in pkgng.