X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
Date: Thu, 12 Aug 2010 16:40:58 +0200
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: Postinstall script errors
Message-ID: <20100812144058.GK14202@calimero.vinschen.de>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <AANLkTinNXnksnBKU7EKC4mFsqR9P5uAFsgTn0WyJ1Z=j@mail.gmail.com> <20100812095930.GX14202@calimero.vinschen.de> <AANLkTim0EAbuHF81OC0RX_qz2jMf_Sqhj0tNOCyQNV8c@mail.gmail.com> <4C6400CF.9050800@gmx.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <4C6400CF.9050800@gmx.de>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

On Aug 12 16:10, Matthias Andree wrote:
> Am 12.08.2010 15:37, schrieb Jeremy Ramer:
> > I verified that $created_passwd and $created_group were both no so
> > both conditionals will fail. But because the last conditional is the
> > last thing run, the script returns 1.  Adding an exit 0 to the script
> > fixes it, but I'm not sure if that accomplishes what you want from the
> > script.
> 
> PLEASE DON'T.
> 
> Adding an "exit 0" will mask the error and just reinstate the former state of
> silently failing postinstall scripts more rigidly. This is not desirable. The
> proper way to fix this is:
> 
> set -e  # this is providing that the whole script is written properly.
>         # it causes immediate exit after one command (outside if, and
>         # outside || or && lists) fails - usually desirable, but takes more
>         # work because you can't write the scripts as sloppily as the
>         # snippet you've just shown from passwd-grp.sh.
> #
> # ...other work...
> #
> if [ "$created_passwd" = "yes" ] ; then
> 	/bin/chgrp --silent root /etc/passwd
> fi
> 
> if [ "$created_group" = "yes"  ] ; then
> 	/bin/chgrp --silent root /etc/group
> fi

I misinterpreted the `chgrp --silent'.  I thought it would result
in an exit code of 0 from chgrp, but it just suppresses the error
messages.  Sorry about that.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

