From owner-freebsd-ports@FreeBSD.ORG Thu Jun 30 06:24:43 2005 Return-Path: X-Original-To: freebsd-ports@freebsd.org Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F061F16A41C for ; Thu, 30 Jun 2005 06:24:43 +0000 (GMT) (envelope-from khaled.abu@gmail.com) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.197]) by mx1.FreeBSD.org (Postfix) with ESMTP id 990AF43D49 for ; Thu, 30 Jun 2005 06:24:43 +0000 (GMT) (envelope-from khaled.abu@gmail.com) Received: by wproxy.gmail.com with SMTP id i21so45947wra for ; Wed, 29 Jun 2005 23:24:43 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=X9L2x1PVvoOD/RiW54aMO4Po1mSCkjpbAzUJC1YwHlyqwOGbtwUBGExMQi1GFCyK/zVqmNb1E10F9DlUsB4lwi+M150Wt7bA9q1utX3UG7L6j19/L7xEGnjgoYhGIpt4Grmw/FUTWe0/IQdORNdBoZqgnQxs0MHXWpcg38/DwLI= Received: by 10.54.51.54 with SMTP id y54mr195488wry; Wed, 29 Jun 2005 23:24:43 -0700 (PDT) Received: by 10.54.66.16 with HTTP; Wed, 29 Jun 2005 23:24:42 -0700 (PDT) Message-ID: Date: Thu, 30 Jun 2005 09:24:43 +0300 From: Abu Khaled To: "Michael C. Shultz" In-Reply-To: <200506290042.36512.ringworm01@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <200506290033.11542.ringworm01@gmail.com> <20050629073844.GB59918@isis.sigpipe.cz> <200506290042.36512.ringworm01@gmail.com> Cc: Roman Neuhauser , freebsd-ports@freebsd.org Subject: Re: portmanager and perl threaded X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Abu Khaled List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jun 2005 06:24:44 -0000 On 6/29/05, Michael C. Shultz wrote: > On Wednesday 29 June 2005 00:00, Abu Khaled wrote: > > On 6/29/05, Michael C. Shultz wrote: > > > On Tuesday 28 June 2005 19:20, Abu Khaled wrote: > > > > On 6/29/05, Michael C. Shultz wrote: > > > > > On Tuesday 28 June 2005 18:00, Abu Khaled wrote: > > > > > > I have a situation here where portmanager treats > > > > > > perl-threaded-5.8.7 as an old port and tries to update it. > > > > > > > > > > > > -snip > > > > > > have:perl-threaded-5.8.7 status: OLD available:perl-5.8.7 > > > > > > /lang/perl5.8 -snip > > > > > > > > > > > > Portmanager almost recompiled my entire ports tree and I was lu= cky > > > > > > to stop it before it uninstalled perl-threaded-5.8.7 > > > > > > Portupgrade correctly reports that the port is up-to-date but I > > > > > > wanted to test portmanager and see how it differs from portupgr= ade. > > > > > > Can someone give me a workaround for this problem? What options= do > > > > > > I need to add for portmanager configuration aside from IGNORE? > > > > > > > > > > Its covered in the man page. see the -ip option, or the conf file > > > > > option. > > > > > > > > > > -Mike > > > > > > > > Thanks Mike, but I want to know if there is a way to make portmanag= er > > > > recognize the port as current. perl-threaded-5.8.7 is the same port= as > > > > perl-5.8.7 built with option "WITH_THREADS=3Dyes". > > > > > > I'm not an expert on the perl port so may misunsterstand your questio= n, > > > if so sorry. If your asking what I think your are though, all you ha= ve > > > to do is make an entry like this: > > > > > > lang/perl5|WITH_THREADS=3Dyes| > > > > > > in /usr/local/etc/portmanager/pm-020.conf then portmanager will alway= s > > > build perl with that setting. > > > > > > > It's just seems strange why portupgrade considers the port current > > > > while portmanager refers to it as old. As I sait it is the same por= t > > > > but with a suffix and a build option. > > > > > > Is it possible you have the WITH_THREADS=3Dyes set in portupgrade's > > > config file but not portmanager's? Another option so you don't have = to > > > set this in two files is to put it in /etc/make.conf then it will app= ly > > > no matter how the port is upgraded, the line would look like this: > > > > > > .if ${.CURDIR:M*/lang/perl5} > > > WITH_THREADS=3Dyes > > > .endif > > > > > > -Mike > > > > I added the compile option to pm-020.conf but still portmanager treats > > the port as OLD and wants to update. So the problem is still there > > portmanager does not consider perl-threaded-5.8.7 and perl 5.8.7 to be > > the same port. Portupgrade on the other hand sees it as the same port > > and does not update it. > > > > Well I guess that all I have left is to IGNORE the port in pm-020.conf. >=20 > I messed up in the above examples, they are not for perl5.8, they should = be as > follows: >=20 > .if ${.CURDIR:M*/lang/perl5.8} > WITH_THREADS=3Dyes > .endif >=20 > lang/perl5.8|WITH_THREADS=3Dyes| >=20 >=20 > -Mike >=20 Michael and Roman I really appreciate the time you guys spent trying to hel= p me. I changed the lines in pm-02.conf but got same results portmanager still thinks that perl-threaded-5.8.7 is OLD. It was not related to build options. I decided to check other ports that use 'PKGNAMESUFFIX' for different build options and looked at cvsup-without-gui. cvsup and cvsup-without-gui is the same port but with another build option 'WITHOUT_X11=3D yes' but you can see in the ports tree that there is 2 directories one for each port. The Makefile under /usr/ports/net/cvsup-without-gui had only the build option defined and an include directive for the makefile in /usr/ports/net/cvsup. --- /usr/ports/net/cvsup-without-gui/Makefile MASTERDIR=3D ${.CURDIR}/../cvsup WITHOUT_X11=3D yes .include "${MASTERDIR}/Makefile" --- AFAIK portmanager checks /var/db/pkg//+CONTENTS to decide if a port is old here is a snap --- /var/db/pkg/cvsup-without-gui/+CONTENTS has @name cvsup-without-gui-16.1h_2 @comment ORIGIN:net/cvsup-without-gui --- ---/var/db/pkg/perl-threaded-5.8.7/+CONTENTS has this @name perl-threaded-5.8.7 @comment ORIGIN:lang/perl5.8 --- My guess it is the word ORIGIN there is no specific port named perl-threaded as the port named cvsup-without-gui. so portmanager checks lang/perl5.8 and decides (not sure how) the port is old. On a test server I made a directory /usr/ports/lang/perl-threaded with a Makefile inside: --- /usr/ports/perl-threaded MASTERDIR=3D ${.CURDIR}/../perl5.8 WITH_THREADS=3D yes .include "${MASTERDIR}/Makefile" --- After building and installing this custom port, portmanager displayed the port as current !!! The only new problem that came up is the need to fix dependencies (pkgdb -F did the trick) but portmanager started to complain about missing dependencies for some ports like "Squid" that needed /lang/perl5.8 (did not before!). Oh well I guess this issue is beyond my knowledge so I'll just leave the port IGNOREd on the production server. Thanks you guys (and please execuse my English) --=20 Kind regards Abu Khaled