Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Jun 2009 06:15:37 -0700 (PDT)
From:      Martin Badie <martinbadie@yahoo.com>
To:        Polytropon <freebsd@edvax.de>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: a binary package update
Message-ID:  <754382.65193.qm@web59907.mail.ac4.yahoo.com>
In-Reply-To: <20090601190139.37ae524a.freebsd@edvax.de>
References:  <726041.18476.qm@web59916.mail.ac4.yahoo.com> <20090601190139.37ae524a.freebsd@edvax.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

I have package-1.0  installed and want to update to package-2.0 using package-2.0.tbz package file. This binary package is at /var/tmp/packages/All. I have no /usr/ports directory

export PKG_PATH=/var/tmp/packages/All
export PKG_FETCH=/usr/bin/false 

portupgrade -PP postgresql-server

** Port directory not found: databases/postgresql83-server
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        - databases/postgresql83-server (port directory error)

Do I need to have /usr/ports/ installed on that system? I just want to upgrade to package-2.0.tbz without having anything related to Ports ( /usr/ports) on my systems? Just like a
rpm -Uhv package-2.0.rpm on  Linux. Can someone enlighten me on how to do that with portupgrade? Or maybe with another tool on FreeBSD?

Regards.




________________________________
From: Polytropon <freebsd@edvax.de>
To: Martin Badie <martinbadie@yahoo.com>
Cc: freebsd-questions@freebsd.org
Sent: Monday, June 1, 2009 8:01:39 PM
Subject: Re: a binary package update

On Mon, 1 Jun 2009 02:03:10 -0700 (PDT), Martin Badie <martinbadie@yahoo.com> wrote:
> Hi,
> 
> How can I update a pre-compiled package [...]

You cannot update a pre-compiled package, you can only overwrite
or replace the package (tbz file). However, you can update an
installed port or package; in most cases, it doesn't even matter
if you installed from a port or from a package.



> [...] for example I have a package-1.0.tbz and I have downloaded
> package-2.0.tbz. What I want is to update a installed 1.0 package
> to 2.0 without internet connection.

Is is relatively easy, but you need to make sure first that you
have all the dependencies for package-2.0, for example libdep-1.3,
depend-3.2.1 and libfoo-0.22.7. You first need to fetch them.

Now a question: The system that has internet access: Do you want
to install the new packages there, too?



> I have portupgrade-2.4.6_2,2
> installed on my system.

If you answered the question with "yes", then portupgrade can do it
for you. Simply update package-1.0 to package-2.0 and let
portupgrade create packages (-p). You can then transfer those
packages to the other system which can't fetch them by itself.

But if you answered "no", the task would be as follows: Get the
newest version of a package along with all those packages this
new version depends on. In order to do so, you may use the
simple (and ugly) shell script I attached. It uses pkg_add to
fetch those packages, but it does NOT install anything.




-- 
Polytropon
>From Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



      



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?754382.65193.qm>