Fragen zu pkg und default's, Beispiel DEFAULT_PGSQL_VER

Hallo zusammen,
habe mir per poudriere php55, zabbix und andere ports für FreeBSD 10.0 gebaut.
In der entsprechenden make.conf habe ich meine default's dazu gesetzt:

Code:
WITHOUT_X11=yes
DEFAULT_PGSQL_VER=93
DEFAULT_MYSQL_VER=55
DEFAULT_PHP_VER=55

Dann per apache das repo pupliziert und per pkg installiert mit der option "-r" für die passende repo.
Passt soweit alles, aber nach einem "pkp upgarde" bekomme dies hier vorgeschlagen.

Code:
 Installing postgresql90-client: 9.0.15 [FreeBSD]
    Installing printproto: 1.0.5 [FreeBSD]
    Installing libXp: 1.0.2,1 [FreeBSD]
    Installing libXmu: 1.1.2,1 [FreeBSD]
    Installing libXaw: 1.0.12,2 [FreeBSD]

Frage wieso wird mir wieder "postgresql90-client" vorgeschlagen, das schlägt natürlich fehl weil der 9.3er client schon installiert ist. Wie finde ich nun heraus, welches paket nun gerne diesen postgresql90-client haben möchte und wie
kann ich dies zukünftig vermeiden.

Danke für jede Hilfe
Stefan
 
Also nach einem "pkg update" wurden mir noch mehr pakete zu Installtion angeboten.

Code:
Updating repository catalogue
Upgrades have been requested for the following 18 packages:

    Installing postgresql90-client: 9.0.15 [FreeBSD]
    Installing php5: 5.4.24 [FreeBSD]
    Installing php5-xmlwriter: 5.4.24 [FreeBSD]
    Installing php5-dom: 5.4.24 [FreeBSD]
    Installing php5-xml: 5.4.24 [FreeBSD]
    Installing php5-simplexml: 5.4.24 [FreeBSD]
    Installing php5-ctype: 5.4.24 [FreeBSD]
    Installing php5-sockets: 5.4.24 [FreeBSD]
    Installing php5-ldap: 5.4.24 [FreeBSD]
    Installing php5-snmp: 5.4.24 [FreeBSD]
    Installing php5-bcmath: 5.4.24 [FreeBSD]
    Installing php5-gd: 5.4.24 [FreeBSD]
    Installing php5-gettext: 5.4.24 [FreeBSD]
    Installing php5-mysqli: 5.4.24 [FreeBSD]
    Installing php5-mysql: 5.4.24 [FreeBSD]
    Installing php5-mbstring: 5.4.24 [FreeBSD]
    Installing php5-session: 5.4.24 [FreeBSD]
    Installing php5-xmlreader: 5.4.24 [FreeBSD]

The upgrade will require 24 MB more space

Die kann ich alle nicht nutzen, da ich meine eigenen pakete (php55, psql93) nutze.

folgendes hilft auch nicht wirklich:
Code:
pkg set -o database/postgresql90-client:database/postgresql93-client

pkg will trotzdem den postgresql90-client installieren.

Deshalb noch mal die Frage, weshalb will mir "pkg upgrade" diese paktete installieren und wie kann ich das verhindern ?

Danle für jede Hilfe.
Stefan
 
pkg verfolgt - wie eigentlich alle Paketsysteme - einen "alles muss mit allem konsistent sein"-Ansatz. Wenn du postgresql93-client installiert hast, aber ein anderes Paket postgresql90-client als Abhängigkeit hat, muss diese Abhängigkeit durch ein Installieren des entsprechenden Paketes erfüllt werden. Sonst wird pkg das entsprechende Paket nicht installieren, da es eben eine nicht erfüllte Abhängigkeit besitzt. Das er bei dir beide benötigt bedeutet, dass dein Paket-Repo entweder inkonsistent ist oder du verschiedene Repos mit unterschiedlichen Abhängigkeiten mischt.
 
OK, verstanden.
ich habe folgende Pakete:

Code:
lang/php55
lang/php55-extensions
databases/p5-Class-DBI
databases/p5-Class-DBI-mysql
databases/p5-Class-DBI-Pg
net-mgmt/zabbix22-frontend
net-mgmt/zabbix22-proxy
net-mgmt/zabbix22-server
net-mgmt/zabbix22-agent

mit diesen Optionen gebaut:
Code:
WITHOUT_X11=yes
DEFAULT_PGSQL_VER=93
DEFAULT_MYSQL_VER=55
DEFAULT_PHP_VER=55

Wieso sieht pkg nicht das meine erstellten Pakete nicht mehr diese Default Abhängkteien mehr hat, sonder die in der make.conf festgelegten.
Denn databases/p5-Class-DBI-Pg hat default mässig -> postgresql90-client und net-mgmt/zabbix22-frontend -> php5
und deshlab will wohl pkg diese nachinstallieren.

Wie teile ich dann dem System auf dem diese Pakete installiert werden ebenfalls diese neuen "DEFAULT" mit, damit nicht immer diese Installtionsvorschläge gemacht werden.
Also wie ist hier die richtige Vorgehesenweise wenn ich eigene Pakete baue mit unterschiedlichen DEFAULT ?
 
Hast du die /etc/make.conf bearbeitet oder die /usr/local/etc/poudriere.d/<jail>-make.conf erstellt? Weil letzteres führt zum Ziel. Anschließend solltest du auch ALLE Pakete neu bauen, sofern du die make.conf erst später erzeugt hast.

Denn meine
/usr/local/etc/poudriere.d/91amd64-make.conf sieht ähnlich aus:
Code:
WITH_PKGNG=yes
DEFAULT_PGSQL_VER=93
DEFAULT_MYSQL_VER=55m
APACHE_PORT=www/apache24
WITH_OPENSSL_PORT=yes

Ich weiß zwar nicht mehr, wo der Stress war, aber mit DEFAULT_PHP_VER=55 hatte ich tierischen Ärger. Vllt war es das, weiß nicht mehr. Hab es mir leider nicht aufgeschrieben
 
Hi Nuke,
ja das ist die im jail.
Aber ich habe da kein "WITH_PKGNG=yes" drinn stehen, da es nur FreeBSD 10.0 Systeme sind und denke dort ist es doch default.
 
Ja, durchaus möglich. Ich bin bei sowas immer nicht so ganz hinterher, darum hab ich oft noch "alte" Sachen in den Configs stehen. Solange sie erst mal keinen Schaden anrichten. Ich bin aber halt momentan aus Zeitmangel noch auf 9.1.

Hast du denn prinzipiell beide Repos drin? Also das offizielle und deines? Ich würde halt, solange PKGNG noch in größerer Entwicklung ist, erst mal komplett auf dein eigenes Repo umsteigen.

databases/p5-DBD-Pg ist wohl der Port der den Postgresql Client reinzieht und der steht bei dir nicht mit im Package-File und wird vllt. darum nicht als Abhängigkeit noch mal neu gebaut, weil er den woanders findet (Mutmaßung meinerseits hier). Also den mal mit eintragen, genauso der andere Port (bzw. eine Abhängigkeit davon). Am besten halt das offizielle Repo ganz abschalten.
 
Ja ich beide repos drinn, das ofizielle von FreeBSD und meins.
Was beudetet das wenn ich das offiziell deaktiviere, muss ich dann bei mir komplett "alle" ca. 24.000 Ports / Pakete neu bauen damit ich aktuell bleibe ?
Wie holt sich dann das System die aktualliesierten Pakete ?
Dann gehe ich doch lieber zurück und mache ganz klassisch per "make install clean" meine Ports (ohne Pakete, pkg) wie bei meinen FreeBSD9 Servern.
 
Naja, brauchst du wirklich 24000 Ports? Ich für meinen Teil trage in die poudriere-Datei alle Programme ein die ich installieren möchte und installiere die dann und lasse halt alle paar Tage mal ein Update laufen. Also erst ein Durchlauf poudriere und dann ein Durchlauf pkg upgrade.

Das ist ja im Prinzip nichts anderes, als deine "make install clean" Ausweichmöglichkeit, nur das dir poudriere das abnimmt und die pkgng-Pakete erstellt. Und dazu noch Build-Abhängigkeiten nicht mitinstalliert.

Meine Datei sieht so aus:
Code:
# important tools                                                              
ports-mgmt/poudriere
ports-mgmt/pkg
sysutils/ezjail

# useful tools
ftp/wget
editors/vim-lite
sysutils/tmux
sysutils/screen
sysutils/smartmontools
security/sudo

# backup'n'stuff
archivers/pbzip2
archivers/p7zip
archivers/unzip
archivers/unrar
archivers/zip
net/rsync

# services
www/apache24
www/nginx
www/pound
databases/postgresql93-server
databases/postgresql93-client
databases/mariadb55-server
databases/mariadb55-client
lang/php5
lang/php5-extensions
devel/subversion
devel/git
net-im/ejabberd
emulators/virtualbox-ose
emulators/virtualbox-ose-kmod
multimedia/ffmpeg
graphics/ImageMagick-nox11
java/openjdk7
www/node
www/npm

#webapps
www/owncloud
databases/phppgadmin
databases/phpmyadmin
 
Ja ich beide repos drinn, das ofizielle von FreeBSD und meins.
Was beudetet das wenn ich das offiziell deaktiviere, muss ich dann bei mir komplett "alle" ca. 24.000 Ports / Pakete neu bauen damit ich aktuell bleibe ?
Nein natürlich nicht alle 24.000. Du baust ja nur Pakete für die Software welche du benötigst. Klar diese musst du natürlich bauen aber wie viele sind das bei dir? max. 200-300 auf einem Server?
 
Zurück
Oben