From owner-freebsd-questions@FreeBSD.ORG Mon Jun 25 18:24:14 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 930CF16A469 for ; Mon, 25 Jun 2007 18:24:14 +0000 (UTC) (envelope-from dan@slightlystrange.org) Received: from catflap.slightlystrange.org (cpc5-cmbg1-0-0-cust497.cmbg.cable.ntl.com [86.6.1.242]) by mx1.freebsd.org (Postfix) with ESMTP id 4B1F613C48C for ; Mon, 25 Jun 2007 18:24:14 +0000 (UTC) (envelope-from dan@slightlystrange.org) Received: by catflap.slightlystrange.org (Postfix, from userid 106) id 56B926767; Mon, 25 Jun 2007 19:24:12 +0100 (BST) Received: from stoopid.slightlystrange.org (stoopid.slightlystrange.org [10.1.3.142]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by catflap.slightlystrange.org (Postfix) with ESMTP id 0002E6765; Mon, 25 Jun 2007 19:24:11 +0100 (BST) Message-ID: <46800849.5040402@slightlystrange.org> Date: Mon, 25 Jun 2007 19:24:09 +0100 From: Daniel Bye User-Agent: Thunderbird 2.0.0.4 (Macintosh/20070604) MIME-Version: 1.0 To: Olivier Regnier References: <467FD67B.9070604@oregnier.net> In-Reply-To: <467FD67B.9070604@oregnier.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-questions@freebsd.org Subject: Re: script to update my ports tree X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Jun 2007 18:24:14 -0000 Olivier Regnier wrote: > Hi everyone, > > I made a shell script in /etc/periodic/daily/610.update-ports-tree and > in my /etc/periodic.conf, this line : daily_update_ports_tree_enable="YES". > > The problem is simple, my script doesn't start at all. > > Can you help me please ? > > Thank you :) There is a syntax error in the script - you have missed the ;; from the end of the first case statement. Try putting that in and see what happens. You need something like this, or the script will just fall off the last case statement, which does nothing: case $var in yes) do stuff here ;; *) ;; esac Also, you can simplify the script somewhat - you don't need to jump through all those hoops with sed and awk to create a supfile on the fly - just put this in your /etc/make.conf file, which does the same as your selectserver() function: SUP_UPDATE= yes SUP= /usr/bin/csup SUPFLAGS= -g SUPHOST= `/usr/local/bin/fastest_cvsup -Qc uk,fr,nl` SUPFILE= /etc/cvsup/system The -Q option to fastest_cvsup returns just the hostname of the fastest server, so no need to set up an enormous pipeline of tools. Alter the rest of the script to call 'make update' from /usr/ports, and you're done. Alternatively, you can use portsnap(8) instead - it automatically selects one of the available mirrors and uses it. However, you will need to do a bit of work to set this up - remove your ports tree (no, seriously - follow along, this is good), then run: # portsnap fetch extract Now your script just needs to call # portsnap fetch update and that's it. This has the advantage that you don't need to cd to /usr/ports for it to work. HTH, one way or another... Dan