From owner-freebsd-current@freebsd.org Wed Apr 27 19:16:53 2016 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5418FB1F5C7 for ; Wed, 27 Apr 2016 19:16:53 +0000 (UTC) (envelope-from gleb.kurtsou@gmail.com) Received: from mailman.ysv.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 3079412F6 for ; Wed, 27 Apr 2016 19:16:53 +0000 (UTC) (envelope-from gleb.kurtsou@gmail.com) Received: by mailman.ysv.freebsd.org (Postfix) id 2C530B1F5C6; Wed, 27 Apr 2016 19:16:53 +0000 (UTC) Delivered-To: current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 29BE1B1F5C5 for ; Wed, 27 Apr 2016 19:16:53 +0000 (UTC) (envelope-from gleb.kurtsou@gmail.com) Received: from mail-pf0-x244.google.com (mail-pf0-x244.google.com [IPv6:2607:f8b0:400e:c00::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E33B012F4; Wed, 27 Apr 2016 19:16:52 +0000 (UTC) (envelope-from gleb.kurtsou@gmail.com) Received: by mail-pf0-x244.google.com with SMTP id r187so6753637pfr.2; Wed, 27 Apr 2016 12:16:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :references:mime-version:content-disposition:in-reply-to:user-agent; bh=n9AQgA7YlOWAJWTGDFbpgr+50uVLPUpmnr3gHKCwbWA=; b=Pmi9Kn/NlNCmeaIX0N7Wcc8Mt0v1n/TXJDqG5ZdZNAZbALQ84i0fpNWmgO3RrUP1uv JksJrQAqxAujUmWB1M2HapuTvUUoG65jGy2zoi5yLWfkdHrxQFpEI9J4B+yls8xJT10L gs/CRhLcDaKPhp/vD3FFFaqAE5qgrZQ7ikaK0dGW8Yl8paV1qeuu0L33hZPfRyzS/MHH BINzJuT/13pRqWxyDTl/iSbUpJGdku9PaQZa7B0nhSwyV9I+AMWD7wVkBhVCk9Y2fKMz y+8WUVA758FPqIBRzOvFwCGtNH+cWxkU9wkP6DLb1T3Q6LXXpse7pWWeS9ESNeY2IMU2 3cmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to:user-agent; bh=n9AQgA7YlOWAJWTGDFbpgr+50uVLPUpmnr3gHKCwbWA=; b=eN6y04eYje+dbZzsCpopOBIgWVjsTQ/AyV3r3HrkPku5P3LG8Flxtap+Wo1ro7iNz9 hoNVXSHBA6UbZWvDwBn9DRmJQIrlu98m7wmcEAMYNOcXyLYHMvCCy7htLhiAY0wJbhyn fKwpCDb4AtZj8hDDUbFrlBENQ9PGKixEUAQ2VYwm6+81+zux0CPum5ad9opKnSnCZmVh XyyWHGhdLLL94dA7pik2+pcsrfyjr2pE0GNO7hcWu5vNQ61s6xbg93LN3Fxim4t4ajk4 ajXV+y2UNoASQua9Vant5XYIfYSdINfgJevMXzVcGHedMPGIMPQ75zRSwP8KaUUYcPWX GcaQ== X-Gm-Message-State: AOPr4FUh7jg/F/heqtKWB6zq/G+QXBtmF9V2VuE5k/mcKSelsI68u+9lxIZOSZmn9mlaIQ== X-Received: by 10.98.38.66 with SMTP id m63mr14234551pfm.57.1461784612455; Wed, 27 Apr 2016 12:16:52 -0700 (PDT) Received: from localhost ([98.234.173.179]) by smtp.gmail.com with ESMTPSA id h1sm8510381pfh.49.2016.04.27.12.16.50 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 27 Apr 2016 12:16:50 -0700 (PDT) Sender: Gleb Kurtsou Date: Wed, 27 Apr 2016 12:15:35 -0700 From: Gleb Kurtsou To: Adrian Chadd Cc: Poul-Henning Kamp , Ian Lepore , jbtakk@iherebuywisely.com, current Subject: Re: [CFT] packaging the base system with pkg(8) Message-ID: <20160427191535.GA1522@reks> Mail-Followup-To: Adrian Chadd , Poul-Henning Kamp , Ian Lepore , jbtakk@iherebuywisely.com, current References: <76093.1461096570@critter.freebsd.dk> <1461096962.1232.32.camel@freebsd.org> <76177.1461097581@critter.freebsd.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Apr 2016 19:16:53 -0000 On (19/04/2016 13:36), Adrian Chadd wrote: > It's cool. I have positive and negative reactions, and I'm totally > happy to let people try it out at a larger scale and learn from > mistakes. > > Because, honestly - fuck it, we've been behind for too long. We need > more mature tools and knowledge with this. > > The irony of course is the people rolling out docker are doing it > after finding that OS packages aren't the best granularity, but > "whatever the package systems in the software stack we're using, and > then tar the whole mess up and distribute it" method. Kinda like > FreeBSD.... It's close to the way I see the packaging issue.. Our use case may not be the most common one -- we sell software in 2U form factor (hardware included) :) Once in a while one has to roll updates for the base system as well as our firmware. Packages has never been much of a help but rather another obstacle to deal with for me personally and I bet for our support as well. The thing I care about most is to have the same base system for all customers who have installed updates. It's really hard to troubleshoot assuming that some package updates might have failed for a customer. Distributing images comes very handy in this situation. Although packages are useful in development: - Being able to install complete development environment into the base system (debug symbols, compilers). - Installing updates on *dev* machines. Which I'd rather avoid for release builds. By having packages for both release and dev one would need to have release and dev package repositories. Much like stable/unstable repositories in many linux distros. Revision control systems tend to be much better at this at much lower cost. Being able to do 'make happyworld whatever' out of the box on dev machine as well as installing packages built by CI is huge improvement comparing to packaging as it's often done in linux. - Keeping any package metadata up to date in dev is painful (version bump in most cases). How do we intend to do base system package versioning? Is it going to be the same version for all packages or do we intend to bump versions in individual Makefiles? Sorry if it has been discussed already, I must have missed it. IMHO >700 hardly makes any sense. I see no point in having individual package for each binary under /bin and .so. I'd rather tweak a couple Makefiles to remove stuff I don't need. WITH_* options in src.conf could be a great list of packages to start with. Having -doc and -include in separate packages would be appreciated as well.