portmanager port liegt woanders nach cvsup

fishbone

Active Member
Ich habe mein 6.2 mit dem /usr/share/examples/cvsup/ports-supfile (server angepasst) ge-update-t. Nachdem ich /usr/ports in ein Jail ge-mount-et habe musste ich feststellen, dass make install in /usr/ports/sysutils/portmanager nicht funktioniert, da der portmanager in /usr/ports/sysutils/portmanager/work/portmanager-0.4.1 ist...

Wahrscheinlich folge ich mit *default tag=. dem current Zweig, aber in http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/cvsup.html steht:

Achten Sie insbesondere bei den ports-*-Sammlungen darauf, ausschließlich tag=. zu verwenden.


Natuerlich koennte ich mit ./configure; make install den Kram trotzdem installieren, aber das kann doch nicht Sinn der Sache sein... :huth:

wie kann ich die ports, die bei der Installation ausgecheckt wurden holen ?
 
Last edited:
Dein Ports-Tree muss ziemlich alt sein, wenn portupgrade wirklich in sysutils/portupgrade liegt. Aktualisier den erst mal.
 
Die ganzen Porttools sind in die neu geschaffene Kategorie ports-mgmt verschoben worden. Lies dazu bitte auch /usr/ports/UPDATING, speziell:
Code:
20070205:
  AFFECTS: everybody
  AUTHOR: pav@FreeBSD.org

  New ports category was created - /usr/ports/ports-mgmt

  Most significant port moved to this new category is portupgrade.
  So don't be alarmed, it was not deleted. You can find it now in

  /usr/ports/ports-mgmt/portupgrade
 
Bei der Installation von FreeBSD 6.2 wird ein ports-tree installiert (oder zumindest war es durch die von mir gewaehlten Optionen so...) Diesen Tree habe ich mit cvsup aufgefrischt - bevor ich gepostet habe...

Mittlerweile sind portmanager & Co in ports-mgmt - das macht die Sache aber keinesfalls einfacher...

Ich wollte 'fetchmail' installieren und portaudit verweigerte dies ("Missing key"). Habe dann fetchmail erstmal mit 'pkg_add -r' installiert jetzt sind aber noch einige Sachen zu installieren und irgendwie scheint sich da Einiges verhakt zu haben...

Code:
root@cherry [/usr/ports] # make index
Generating INDEX-6 - please wait..sysctl: unknown oid 'compat.linux.osrelease'
"Makefile", line 124: warning: "/sbin/sysctl -n compat.linux.osrelease" returned non-zero status
"Makefile", line 38: Malformed conditional (defined(WITH_ETK) || ${HAVE_EFL:Metk})
"Makefile", line 41: if-less endif
make: fatal errors encountered -- cannot continue
===> sysutils/empower failed
*** Error code 1
1 error

********************************************************************
Before reporting this error, verify that you are running a supported
version of FreeBSD (see http://www.FreeBSD.org/ports/) and that you
have a complete and up-to-date ports collection.  (INDEX builds are
not supported with partial or out-of-date ports collections -- in
particular, if you are using cvsup, you must cvsup the "ports-all"
collection, and have no "refuse" files.)  If that is the case, then
report the failure to ports@FreeBSD.org together with relevant
details of your ports configuration (including FreeBSD version,
your architecture, your environment, and your /etc/make.conf
settings, especially compiler flags and WITH/WITHOUT settings).

Note: the latest pre-generated version of INDEX may be fetched
automatically with "make fetchindex".
********************************************************************

*** Error code 1

Stop in /usr/ports.
*** Error code 1

Stop in /usr/ports.
root@cherry [/usr/ports] # make fetchindex
/usr/ports/INDEX-6.bz2                        100% of  894 kB   40 kBps 00m00s

Code:
root@cherry [/usr/ports/ports-mgmt/portupgrade] # less Makefile
# New ports collection makefile for:    portupgrade
# Date created:         18 March 2001
# Whom:                 Akinori MUSHA aka knu <knu@idaemons.org>
#
# $FreeBSD: ports/ports-mgmt/portupgrade/Makefile,v 1.242 2007/03/23 09:31:33 se
m Exp $
#

PORTNAME=       portupgrade
PORTVERSION=    2.2.6
PORTREVISION=   3
PORTEPOCH=      2
CATEGORIES=     ports-mgmt
MASTER_SITES=   ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR=     ${PORTNAME}
DISTNAME=       pkgtools-${DISTVERSION}

MAINTAINER=     sem@FreeBSD.org
COMMENT=        FreeBSD ports/packages administration and management tool suite

OPTIONS=        BDB4 "Use Berkeley DB >=2 as backend" on \
                BDB1 "Use Berkeley DB 1.85 as backend" off

root@cherry [/usr/ports/ports-mgmt/portupgrade] # make  clean deinstall install
===>  Cleaning for ruby-1.8.5.12,1
===>  Cleaning for ruby18-bdb-0.6.0
===>  Cleaning for perl-5.8.8
===>  Cleaning for db41-4.1.25_4
===>  Cleaning for portupgrade-2.2.6_3,2
===>  Deinstalling for ports-mgmt/portupgrade
===>   Deinstalling portupgrade-2.1.3.3_1,2
portupgrade-2.2.6_3,2: Makefile error: category ports-mgmt not in list of valid categories.
*** Error code 1

Stop in /usr/ports/ports-mgmt/portupgrade.
root@cherry [/usr/ports/ports-mgmt/portupgrade] # make clean deinstall install
===>  Cleaning for ruby-1.8.5.12,1
===>  Cleaning for ruby18-bdb-0.6.0
===>  Cleaning for perl-5.8.8
===>  Cleaning for db41-4.1.25_4
===>  Cleaning for portupgrade-2.2.6_3,2
===>  Deinstalling for ports-mgmt/portupgrade
===>   portupgrade not installed, skipping
portupgrade-2.2.6_3,2: Makefile error: category ports-mgmt not in list of valid categories.
*** Error code 1

Stop in /usr/ports/ports-mgmt/portupgrade.


die Version, die mit 'pkg_add -r' installiert wird ist

portupgrade-2.1.3.3_1,2 FreeBSD ports/packages administration and management tool s

Jetzt heisst es 'rien ne va plus...' :grumble:

Code:
root@cherry [/usr/ports] # portmanager mail/dovecot
cd: can't cd to /usr/ports/sysutils/portupgrade
cd: can't cd to /usr/ports/sysutils/portupgrade
------------------------------------------------------------------------
portmanager 0.4.1_6: Collecting installed port data
------------------------------------------------------------------------
-0001 dovecot-1.0.r28_1 /mail/dovecot
-0002 libiconv-1.9.2_2 /converters/libiconv
-0003 libtool-1.5.22_4 /devel/libtool15
[b]cd: can't cd to /usr/ports/sysutils/portupgrade[/b]
------------------------------------------------------------------------
 Port Status Report
------------------------------------------------------------------------
00001 ----:dovecot-1.0.r28_1                   /mail/dovecot                       MISSING
00002 have:libiconv-1.9.2_2                    /converters/libiconv                built with OLD dependency: libtool-1.5.22_4
00003 have:libtool-1.5.22_2                    /devel/libtool15                    OLD available: libtool-1.5.22_4
========================================================================
skipping dovecot-1.0.r28_1 /mail/dovecot until dependency libiconv-1.9.2_2 updated
skipping libiconv-1.9.2_2 /converters/libiconv until dependency libtool-1.5.22_4 updated
updating libtool-1.5.22_2 /devel/libtool15  options  reason: OLD libtool-1.5.22_4 /devel/libtool15
------------------------------------------------------------------------
percentDone-=>0 = 100 - ( 100 * ( oldPortsDbQTY-=>3 / oldPortsDbTOTALIZER-=>3 ) )
rBsdPortMkPatch 0.4.1_6 error: bsd.port.mk /usr/ports/Mk unable to restored from back up   cp /usr/local/share/portmanager/bsd.port.mk-BACKUP /usr/ports/Mk/bsd.port.mk
[b]root@cherry [/usr/ports/sysutils] # ln -s ../ports-mgmt/portupgrade[/b]
root@cherry [/usr/ports/sysutils] # portmanager mail/dovecot
------------------------------------------------------------------------
portmanager 0.4.1_6: Collecting installed port data
------------------------------------------------------------------------
-0001 dovecot-1.0.r28_1 /mail/dovecot
-0002 libiconv-1.9.2_2 /converters/libiconv
-0003 libtool-1.5.22_4 /devel/libtool15
------------------------------------------------------------------------
 Port Status Report
------------------------------------------------------------------------
00001 ----:dovecot-1.0.r28_1                   /mail/dovecot                       MISSING
00002 have:libiconv-1.9.2_2                    /converters/libiconv                built with OLD dependency: libtool-1.5.22_4
00003 have:libtool-1.5.22_2                    /devel/libtool15                    OLD available: libtool-1.5.22_4
========================================================================
skipping dovecot-1.0.r28_1 /mail/dovecot until dependency libiconv-1.9.2_2 updated
skipping libiconv-1.9.2_2 /converters/libiconv until dependency libtool-1.5.22_4 updated
updating libtool-1.5.22_2 /devel/libtool15  options  reason: OLD libtool-1.5.22_4 /devel/libtool15
------------------------------------------------------------------------
percentDone-=>0 = 100 - ( 100 * ( oldPortsDbQTY-=>3 / oldPortsDbTOTALIZER-=>3 ) )
rBsdPortMkPatch 0.4.1_6 error: bsd.port.mk /usr/ports/Mk unable to restored from back up   cp /usr/local/share/portmanager/bsd.port.mk-BACKUP /usr/ports/Mk/bsd.port.mk
root@cherry [/usr/ports/sysutils] # portupgrade libiconv
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 50 packages found (-0 +0)  done]
[Updating the portsdb <format:bdb_btree> in /usr/ports ... - 16795 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000....... ..... done]
[missing key: categories] [Updating the portsdb <format:bdb_btree> in /usr/ports ... - 16795 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000....... ..... done]
missing key: categories: Cannot read the portsdb!
/usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:567:in `open_db': database file error (PortsDB::DBError)
        from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:736:in `port'
        from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:924:in `all_depends_list'
        from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:915:in `tsort_build'
        from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:907:in `each'
        from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:907:in `tsort_build'
        from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:929:in `sort_build'
        from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:933:in `sort_build!'
        from /usr/local/sbin/portupgrade:694:in `main'
        from /usr/local/lib/ruby/1.8/optparse.rb:755:in `initialize'
        from /usr/local/sbin/portupgrade:210:in `new'
        from /usr/local/sbin/portupgrade:210:in `main'
        from /usr/local/sbin/portupgrade:1981
 
Last edited:
Du hat den Index nicht aktualisiert. Ich lege dir mal den Wiki Artikel zu portsnap nahe. Dann musst du dich nicht selbst darum kümmern. Deine Rumlinkerei war da keine gute Idee.

Das hättest du übrigens selbst gemerkt, wenn du die Fehlermeldungen, die du hier gepostet hast gelesen hättest.
 
wieso habe ich den index nicht aktualisiert ? Habe doch 'make index' gemacht... Da es abbrach habe ich mit make fetchindex das Teil geholt...

Sehe nicht so ganz, wie mir das weiterhelfen koennte:

portsnap ist nicht kompatibel mit cvsup! portsnap erzeugt Dateien mit Status-Informationen im Ports-Verzeichnis, die von cvsup gelöscht würden.

Was ist das Problem mit dem Link ? - Ohne ging noch weniger...

Habe jetzt den Kram mit portsnap geholt:

Code:
root@cherry [/usr] # portsnap fetch extract
[...]
/usr/ports/x11/yalias/
/usr/ports/x11/yelp/
/usr/ports/x11/zenity/
Building new INDEX files... done.
root@cherry [/usr] # portmanager mail/dovecot
MGPMrCommandLine 0.4.1_6 info: created /usr/ports/packages
cd: can't cd to /usr/ports/sysutils/portupgrade
cd: can't cd to /usr/ports/sysutils/portupgrade
------------------------------------------------------------------------
portmanager 0.4.1_6: Collecting installed port data
------------------------------------------------------------------------
-0001 dovecot-1.0.r28_1 /mail/dovecot
-0002 libiconv-1.9.2_2 /converters/libiconv
-0003 libtool-1.5.22_4 /devel/libtool15
cd: can't cd to /usr/ports/sysutils/portupgrade
------------------------------------------------------------------------
 Port Status Report
------------------------------------------------------------------------
00001 ----:dovecot-1.0.r28_1                   /mail/dovecot                       MISSING
00002 have:libiconv-1.9.2_2                    /converters/libiconv                built with OLD dependency: libtool-1.5.22_4
00003 have:libtool-1.5.22_2                    /devel/libtool15                    OLD available: libtool-1.5.22_4
========================================================================
skipping dovecot-1.0.r28_1 /mail/dovecot until dependency libiconv-1.9.2_2 updated
skipping libiconv-1.9.2_2 /converters/libiconv until dependency libtool-1.5.22_4 updated
updating libtool-1.5.22_2 /devel/libtool15  options  reason: OLD libtool-1.5.22_4 /devel/libtool15
------------------------------------------------------------------------
percentDone-=>0 = 100 - ( 100 * ( oldPortsDbQTY-=>3 / oldPortsDbTOTALIZER-=>3 ) )
cd: can't cd to /usr/ports/sysutils/portmanager
rBsdPortMkPatch 0.4.1_6 error: bsd.port.mk /usr/ports/Mk unable to restored from back up   cp /usr/local/share/portmanager/bsd.port.mk-BACKUP /usr/ports/Mk/bsd.port.mk
root@cherry [/usr] #


Code:
root@cherry [/usr/ports/ports-mgmt/portmanager] # make package
portmanager-0.4.1_9: Makefile error: category ports-mgmt not in list of valid categories.
*** Error code 1

Stop in /usr/ports/ports-mgmt/portmanager.
 
Hast du /usr/ports geleert bevor du portsnap extract ausgeführt hast?

# rm -rf /usr/ports/*
# portsnap extract

Wenn es danach noch nicht geht ist das wohl ein Bug in portmanager.
 
habe kein
# rm -rf
gemacht sondern
# mv ports ports.off
# mkdir ports


bug in portmanager ...? :zitter:

portupgrade ist aber auch nicht besser...

root@cherry [/usr/ports/ports-mgmt/portupgrade] # make
portupgrade-2.2.6_3,2: Makefile error: category ports-mgmt not in list of valid categories.
*** Error code 1

Stop in /usr/ports/ports-mgmt/portupgrade.


Das Problem ist wie in freebsddiary (valid categories)
Macht es Sinn in bsd.port.mk herumzuschrauben ? Wie kann es sein, dass trotz 'portsnap' so ein Problem auftaucht ...?

btw. ich hatte bei cvsup ports-all verwendet... :rolleyes:
 
Last edited:
Code:
root@cherry [~] # cat /etc/make.conf
A4=true
CFLAGS="-pipe"
CUPS_OVERWRITE_BASE=true
NO_GAMES=true
NO_INET6=true
NO_LPR=true
WITH_CUPS=true
WITHOUT_X11=true

# added by use.perl 2007-03-23 10:21:43
PERL_VER=5.8.8
PERL_VERSION=5.8.8
 
Das ist äußerst irritierend. Bist du sicher, dass du nirgendwo rumgepfuscht hast?
 
Das ist äußerst irritierend. Bist du sicher, dass du nirgendwo rumgepfuscht hast?

Warum ? - Weil ich im ersten Beitrag den hier :huth: verwendet habe ?

Mal angenommen Du wuerdest eine 6.2 fuer einen Server installieren, was waeren die Schritte, speziell im Hinblick auf den portstree ? - Wuerdest Du eine minimale Installation durchfuehren ? Ich habe hier noch eine Maschine zum Testen...
 
Last edited:
Ja, ich würde eine Minimalinstallation durchführen. Obwohl ich bei einem Server die Pakete wohl in einer Tinderbox auf einem anderen Rechner bauen würde.

Das mit dem Ports Tree so etwas falsch läuft ist äußerst seltsam, vor allem wenn portsnap verwendet wird.
 
Habe eben nochmal 6.2 minimum install auf eine Test-maschine gepackt anschliessend mit 'portsnap' den tree geholt: Beim ersten Versuch ruby18 zu installieren jammert make ueber einen CHECKSUM Error. Nach "Override" funktioniert es trotzdem nicht:

Code:
guava# cd portupgrade
guava# make install
===>  Vulnerability check disabled, database not found
===>  Found saved configuration for portupgrade-2.2.6_3,2
===>  Extracting for portupgrade-2.2.6_3,2
=> MD5 Checksum OK for pkgtools-2.2.6.tar.bz2.
=> SHA256 Checksum OK for pkgtools-2.2.6.tar.bz2.
===>   portupgrade-2.2.6_3,2 depends on file: /usr/local/bin/ruby18 - not found
===>    Verifying install for /usr/local/bin/ruby18 in /usr/ports/lang/ruby18
===>  Patching for ruby-1.8.5.12,1
===>  Applying FreeBSD patches for ruby-1.8.5.12,1
2 out of 2 hunks failed--saving rejects to io.c.rej
=> Patch patch-io.c failed to apply cleanly.
*** Error code 1

Stop in /usr/ports/lang/ruby18.
*** Error code 1

Stop in /usr/ports/ports-mgmt/portupgrade.

btw: Habe 6.2-RELEASE-i386-bootonly.iso fuer die Installation benutzt...
 
Last edited:
Bei einem Checksum error solltest du die heruntergeladene Datei in /usr/ports/distfiles löschen und noch einmal fetchen. Höchstwahrscheinlich ist der Download nämlich beschädigt.

Ich würde in betracht ziehen, dass deine Netzwerkleitung nicht besonders zuverlässig ist.
 
Code:
guava# rm -rf /usr/ports/distfiles/*
guava# ls /usr/ports/distfiles/
guava# pwd
/usr/ports/lang/ruby18
guava# make fetch
===>  Vulnerability check disabled, database not found
===>  Found saved configuration for ruby-1.8.5.12,1
=> ruby-1.8.5-p12.tar.gz doesn't seem to exist in /usr/ports/distfiles/ruby.
=> Attempting to fetch from ftp://ftp.iij.ad.jp/pub/lang/ruby/1.8/.
ruby-1.8.5-p12.tar.gz                         100% of 4420 kB   66 kBps 00m00s
guava# make install
===>  Patching for ruby-1.8.5.12,1
===>  Applying FreeBSD patches for ruby-1.8.5.12,1
2 out of 2 hunks failed--saving rejects to io.c.rej
=> Patch patch-io.c failed to apply cleanly.
*** Error code 1

Stop in /usr/ports/lang/ruby18.

Kann ich erzwingen, dass der Kram von einem anderen Server geholt wird ...?
 
Kann ich erzwingen, dass der Kram von einem anderen Server geholt wird ...?
Einfach runterladen und dahin kopieren, wo die sourcen hingelegt werden (ich glaube, das ist /usr/ports/distfiles für Sourcen und /usr/ports/packages für packages), wenn die checksum stimmt, lädt er es nicht neu herunter, sondern nimmt das, was schon da ist. Ob Dir das allerdings bei Deinem Problem hilft, weiss ich nicht.
 
Hm, kannst Du mal Dein cvs-supfile posten? Meines sieht so aus:
Code:
*default host=cvsup7.tw.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_6_2
*default delete use-rel-suffix

#*default compress
src-all
ports-all tag=.
doc-all tag=.

Der Server in Taiwan (ich lebe in China, das sind von hier aus die schnellsten Anbindungen) müßtest Du natürlich durch einen deutschen ersetzen. Wäre so ein Verdacht, daß Dein cvs-supfile nicht stimmt.

Dann nehme ich persönlich lieber csup (Syntax ist die gleiche), das ist im System und muß nicht wie cvsup extra installiert werden. (Diskussionen über die Vorteile finden sich andernorts im Forum).

Sodann fiel mir auf, daß Du nicht die Aktualisierung der Datenbank beschreiben hast, vielleicht auch nicht gemacht?

Code:
cd /usr/ports && make fetchindex && portsdb -u

Bei Deinen Problemen vielleicht ein
Code:
portsdb -fu
?

Da in portupgrade sehr viel rumgefuscht wurde in letzter Zeit, empfielt der Autor ein pkgdb -L und dann ein pkgdb -F - bitte immer /usr/ports UPDATING lesen!

Sodann fällt mir ein, daß gettext (davon hängen leider sehr viel andere Ports ab) auf 0.6.1 aufgewertet wurde, was für mannigfaltige Probleme sorgen kann. Ein beherztes portupgrade -rf gettext sollte helfen. Damit werden auch die abhängigen Sachen neu gebaut. Das geht natürlich nur mit installiertem und funktionierendem portupgrade.

Vielleicht ist hierbei etwas, was Du übersehen hast und Dir weiterhilft.
 
Back
Top