Installer un Store Repository pour VisualWorks
Introduction
Le développement d’un application peut ammener à “faire des essais” pouvant conduire à une perte de fonctionnalité. La possibilité de “revenir en arrière” dans le code, c’est à dire, retrouver le code source précédent, peut avoir des intérêts non négligeables.
Le fait de stocker son code de façon séparée de son image de développement, dans le cas de Smalltalk/VisualWorks, permet aussi de s’assurer de sa consistance. A partir d’une image vierge, il est possible de recharger uniquement le code développé, et s’assurer ainsi que celui ci fonctionne, sans dépendre de packages qui ne seraient pas chargés.
VisualWorks dispose d’un outils nommé “Store” s’interfaçant avec une base de données pour stocker le code. Simple d’emploi, celui ci permet la publication/récupération de versions de codes, un peu à la manière de svn ou cvs. Pour le mettre en fonctionnement, il suffit d’avoir sous la main une base de données.
Store prend en charge les bases de données suivantes : Oracle, SqlServer, PostgreSQL, DB2, Intervase, MSAccess. Les deux premières sont supportées par Cincom, les autres proviennent de contributions extérieures. Cependant, Store fonctionne très bien avec PostgreSQL, et c’est d’ailleurs celle base qui sera utilisée.
Installer PostgreSQL
Pour installer un serveur PostgreSQL sur linux, il faut exécuter
# yum -y install postgresql postgresql-server
sous Fedora ou
# apt-get install postgresql postgresql-client
pour une distribution Debian. Pour les autres distributions, utilisez votre gestionnaire de paquetage préféré, ou partez des sources de PostgreSQL.
Ajouter deux utilisateurs
Les commandes suivantes permettent la création des utilisateurs de la base de donnée :
# su – postgres$ createuser -a -d -P BERN$ createuser -A -D -P user
Le premier utilisateur (BERN) aurra le droit de créer des bases de données (-d) et des utilisateurs (-a). Le second n’aurra pas le droit de créer desbases ni des utilisateurs (-D -A).
Ajouter une base
Pour créer une base de donnée, on éxécutera la commande suivante :
$ createdb store
Ecouter les interfaces réseau
Par défaut, PostgreSQL n’écoute que l’interface réseau de loopback. Si l’on souhaite utiliser cette base depuis l’extérieur (i.e., si la base se trouve sur une autre machine que celle de développement), il faut modifier le fichier de configuration de postgreSQL, situé dans /etc/posgresql/XX/main/postgresql.conf pour une distribution Debian, où XX est la version de PostgreSQL installée.
Il faut décommenter l’une des premières lignes positionnant la variable tcpip_socket et lui affecter la valeur “true”
# - Connection Settings -tcpip_socket = true...port = 5432
Le port par défaut est le port 5432. Si vous en changez, il faudra en tenir compte plus loin.
Autoriser les accès
Il faut maintenant autoriser les utilisateurs à acceder à cette base. L’ajout, à la fin du fichier , situé dans le même repertoire que le fichier postgresql.conf, de la ligne suivant, autorise tout les utilisateurs à accéder à la base store depuis n’import quel machine, avec un mot de passe chiffré par md5 :
host store all 0.0.0.0 0.0.0.0 md5
La seule chose à modifier sur cette ligne est le nom de la base, ici “store”. La syntaxe est la suivante :
TYPE DATABASE USER IP-ADRESS IP-MASK METHOD
Cette configuration est un peu permissive, et doit être adaptée à vos contraintes de sécurité. Pensez également à adapter les règles de votre pare-feu en conséquence.
Construire le Store
Une fois la base et les utilisateurs en place, ouvrez une image vierge de VisualWorks. Vérifiez que le parcel StoreForPostgreSQL est bien chargé, via le Parcel Manager (System->Parcel Manager, onglet Suggestion, dossier “Store Tools”). Puis, dans un workspace, évaluez l’expression suivante :
Store.DbRegistry installDatabaseTables
Dans la fenêtre de connexion, renseignez les champs comme suit :
Interface: PostgreSQLEXDIConnection
Environment: ipDeLaMachine_store
User Name: BERN
Password: (à votre avis ?)
Table Owner: BERN
Attention : si vous avez utilisé un autre port pour PostgreSQL, vous devez le préciser dans le champ environment. Par exemple : ipDeLaMachine:15432_store. Vous pouvez par ailleurs remplace l’ip de la machine par son nom d’hôte.
A la question “installer les tables”, répondez OK.
A la question “install user management tables”, répondez NO.
Voilà, c’est terminé.
Utiliser le Store
Dans votre image de développement, connectez vous au store via le menu Store->Connect to repository. Utilisez cette fois ci le nom d’utilisateur sans privilèges crée précédement (le second, nommé ici “user”).
Interface: PostgreSQLEXDIConnection
Environment: ipDeLaMachine_store
User Name: user
Password: (à votre avis ?)
Table Owner: BERN
Dans le browser, un clic droit sur un package vous permet d’accéder au menu “publish…” qui vous permettra de publier le package sur le store. Une fois le package publié, vous pouvez le retrouver/recharger via le menu Store->Published Items. Choisissez alors la version qui vous interesse.
Informations complémentaires
N’importe quelle installation de PostgreSQL fonctionnelle permet l’utilisation de Store, et cela quelque soit la plateforme sur laquelle celle ci est installée (Linux, Windows …).
L’utilisation de Store, et de tout les outils associés (notament l’outils de fusion, Merge Tool), est décrite dans le document Source Code Management Guide (SourceCodeMgmtGuide.pdf), situé dans le repertoire doc/ de votre installation de VisualWorks.
VisualWorks est un IDE Smalltalk téléchargeable et utilisable gratuitement pour un usage non commercial ou académique.
Tags : Cincom • Debian • Fedora • Linux • PostgreSQL • Smalltalk • Store • VisualWorksUpgrade Fedora 5 -> 8, directement…
Je vous en avait parlé dans un précédent post, j’avais l’intention (encore kamikaze), de tenter un upgrade d’une Fedora 5 “up to date” directement en Fedora 8, sans passer par les versions intermédiaires.
J’ai pour cela utilisé utilisé une installation faite sur une machine virtuelle (VirtualBox, encore toi …), à laquelle j’ai appliqué la procédure d’upgrade via Yum, comme si il s’agissait d’une F7 :
rpm -Uvh --nodeps \http://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/i386/os/Packages/fedora-release-notes-8.0.0-3.noarch.rpm rpm -Uvh –nodeps \http://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/i386/os/Packages/fedora-release-8-3.noarch.rpm
Notez le –nodeps que j’ai été obligé de rajouter pour contourner une erreur mutuelle de dépendances. Les commandes tiennent normalement sur deux lignes.
En forçant la main à yum, j’ai pu mettre à jour celui ci, puis faire un upgrade du système, non sans une pléthore de messages d’erreurs divers et variés … Bon, pourquoi pas.
Reboot, et … oh surprise, toujours le vieux kernel fc5, pas de kernel f8 disponibles. Et pourtant, ils sont installés. Amusons nous un peu :
yum remove kernel.*
Puis réinstallation du kernel.i686 … Oui je sais, je joue un peu au cowboy. Ca part vraiment en live, je prends vraiment le risque de ne jamais pouvoir redémarer mon système. Un message d’erreur m’a suggéré que la configuration de grub n’a pas été modifié. Je vais donc faire un tour dans /etc/grub.conf, et constate en effet que grub s’attend à booter sur kernel…..fc5 avec initrd….fc5.img. Je modifie ça à la main, pour que cela concorde avec ce qui est présent sur mon système.
Et … je reboot…
Tiens, ça boot
Un petit avertissement au boot : il semblerait qu’il se soit apperçu de quelque chose …
Puis finalement :
[valentin@Bordeaux ~]$ uname -aLinux Bordeaux 2.6.23.9-85.fc8 #1 SMP Fri Dec 7 15:49:59 EST 2007 i686 i686 i386 GNU/Linux
Ah tiens…
Moralité : il est “possible” de passer directement d’une Fedora Core 5 à une Fedora 8, via Yum, moyennant deux trois supercheries. Cela dit, je suis pas certain que ce genre de pratiques soient recommandées, surtout lorsque l’on voit la quantité de messages d’erreurs ou d’avertissement qui défilent lors de l’upgrade. Et puis, même si le système semble fonctionnel, je ne suis pas certain que celui le soit parfaitement (quoi que, après quelques vérifications,ça n’a pas l’air trop mal …)
Mais, diantre, ça prouve que c’est pas de la merde, Fedora, hein !
Note importante rédigée le 13 mai 2008 : Pour mettre à jour votre Fedora 7 ou 8, vous feriez mieux d’utiliser la méthode, bien plus sure, de PreUpgrade. Un tutoriel en images vous explique comment réaliser cette opération.
Tags : Fedora • Fedora 5 • Fedora 8 • Linux • Update • Upgrade • YumOUI,
Oui, j’ai une machine de bureau sous windows. Windows Vista 64bits même. J’ai une machine sous windows parce que je ne veux pas rester ignorant de ce qui se vends. Je ne veux pas que, par simple soucis d’efficacité, je passe à coté d’un produit majeur du marché.
Oui, bien sûre, je pourrais remettre exclusivement du linux sur ma machine de bureau. Mais en faisant une telle chose, je ne pourrais pas :
- Avoir la joie de réinstaller ma machine, car les mise à jours ne se font plus.
- Redémarer en hard ma machine, car celle-ci se bloque régulièrement sans aucunes raisons, et plusieurs fois par jours
- Chercher pendant une heure et demi comment synchroniser un apareil windows mobile avec un logiciel microsoft, sur un OS windows vista (pour info, la réponse est en anglais, et plutôt bien cachée)
- Compatir lorsqu’une amie me raconte que sa machine s’est bloquée, qu’elle n’a jamais redémaré (plus précisément, Vista n’a jamais redémaré), et qu’elle a du tout réinstaller.
- Gémir lorsque je constate que finalement, une version 64bits, ca n’apporte que des emmerdes
- Constater que, de temps en temps, Vista “oublie” qu’un des disques durs et branché. Reconstruire régulièrement sa matrice RAID pour cette raison
Et dire que je subit tout ça uniquement par pur esprit d’ouverture. Non, je ne veux pas devenir un sectaire de Linux. On PERDS tellement de temps avec Windows, ca serait dommage d’en avoir à revendre… on pourrait devenir productif, des fois…
Bon, j’ai aussi un Mac hein
Upgrade Fedora difficile
Chez dédibox, la version la plus récente qui est proposé pour une install Fedora, c’est la version 5.
Récement, Fedora 8 WereWolf est sorti. Je trouvais un peu dommage de rester avec ca, alors j’ai fait une installation quasi-minimale de Fedora Core 5, dans le but de faire un upgrade vers la 6, puis vers la 7, puis la 8.
Bon, ça n’a pas marché. Une sombre histoire de dépendance entre la 6 et la 7 (une version de je ne sais plus quoi trop récent par rapport à ce qui était requis).
Du coup, comme je n’avais ni le temps ni le courage de tenter un passage 5->8 directe (on est pas à l’abris que ca marche hein …), j’ai décidé d’opter pour la trop connue Debian Etch 4, qui, quoi qu’on en dise, reste un truc qui marche bien (et qui a le mérite d’être plus up-to-date qu’une Fedora Core 5…).
Sur cette installation minimale, j’ai appliqué “the perfect setup - Debian LAMP“, pour y installer ISPConfig.
Bon, ben je suis pas trop mécontent.
PS : Ami visiteur, si tu souhaite UPGRADER TA FEDORA via YUM, visite ce lien ça marche très bien !
Je précise celà car je vois dans les logs que nombreux sont ceux qui arrivent sur cet article en cherchant “upgrade fedora” dans google. Il faudrait pas repartir d’ici en croyant que c’est difficile. Non, c’est très simple, et ça marche. Le billet précédent concerne juste une dédibox, qui est un matériel un peu particulier.
Tags : Debian • Fedora • ISPConfig • LAMP • Linux

Commentaires récents