From owner-freebsd-ports@freebsd.org Wed Aug 3 15:04:17 2016 Return-Path: Delivered-To: freebsd-ports@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 06DECBAE6C8 for ; Wed, 3 Aug 2016 15:04:17 +0000 (UTC) (envelope-from tijl@freebsd.org) Received: from mailrelay117.isp.belgacom.be (mailrelay117.isp.belgacom.be [195.238.20.144]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (Client CN "relay.skynet.be", Issuer "GlobalSign Organization Validation CA - SHA256 - G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 540361387; Wed, 3 Aug 2016 15:04:15 +0000 (UTC) (envelope-from tijl@freebsd.org) X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2DsBQCCBqJX/0/dg21cg0VJeqgbkSKBf?= =?us-ascii?q?YYdgU05EwEBAQEBAQFdJ4UfPygUNIkWvlABCyWQA4UPBYgehy2JaY51cYkEhVW?= =?us-ascii?q?QJyABM4ISHIFOOokOAQEB?= Received: from unknown (HELO kalimero.tijl.coosemans.org) ([109.131.221.79]) by relay.skynet.be with ESMTP; 03 Aug 2016 17:03:04 +0200 Received: from kalimero.tijl.coosemans.org (kalimero.tijl.coosemans.org [127.0.0.1]) by kalimero.tijl.coosemans.org (8.15.2/8.15.2) with ESMTP id u73F32Nr071875; Wed, 3 Aug 2016 17:03:03 +0200 (CEST) (envelope-from tijl@FreeBSD.org) Date: Wed, 3 Aug 2016 17:03:01 +0200 From: Tijl Coosemans To: bapt@FreeBSD.org Cc: freebsd-ports@FreeBSD.org Subject: pkg(1) continues after pre-install script fails Message-ID: <20160803170301.5b21bf39@kalimero.tijl.coosemans.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2016 15:04:17 -0000 The linux_base-* packages require Linux support in the kernel during installation because they run /compat/linux/sbin/ldconfig. The packages have a PRE-INSTALL script that checks this and returns an error if the support isn't there, but pkg(1) ignores such errors and continues to install the files anyway. Then it runs ldconfig via POST-INSTALL which fails but errors from this are also ignored and pkg(1) exits normally. It looks like this: sysctl: unknown oid 'compat.linux.osrelease' linuxulator is not (kld)loaded, exiting pkg-static: PRE-INSTALL script failed ELF binary type "0" not known. /bin/sh: /compat/linux/sbin/ldconfig: Exec format error pkg-static: POST-INSTALL script failed Shouldn't pkg(1) abort when pre-install fails and return an error when post-install fails?