J'essaie de créer un paquetage debian à partir d'un code source upstream qui n'est pas le mien. Les configure
Le script fourni par l'auteur crée de nombreux liens symboliques dans le répertoire source. Il s'agit de liens symboliques vers tous les en-têtes de src
dans le sous-dossier include
(pour que le fichier makefile puisse facilement copier le fichier include
dans le cas de l'installation d'un paquet de développement). J'utilise debhelper
scripts pour créer le paquet.
J'utilise debhelper
scripts pour créer le paquet. Le problème est l'utilisation du nouveau format de paquetage debian ( quilt 3.0 native
), debuild
refuse d'ajouter les modifications du répertoire source consistant en des liens symboliques vers le répertoire final. diff
dossier. J'obtiens des erreurs de ce type :
dpkg-source: error: cannot represent change to foo.h:
dpkg-source: error: new version is symlink to /ba/foo/foo.h
dpkg-source: error: old version is nonexistent
Je connais la bonne solution : Modifier la configuration de script pour ne pas créer de lien symbolique avec les en-têtes. Il devrait ajouter une cible à makefile
pour installer devel
l'emballage. Cependant, configure script a des problèmes de copyright. Je ne peux pas toucher aux sources en amont.
Je cherche un script bash script pour remplacer tous les liens symboliques dans un répertoire par les fichiers réels vers lesquels ils pointent. Par exemple si dans le répertoire d
il y a trois fichiers a
y b
y c
qu'ils alimentent en liens symboliques ../../foo/bar/x
, ../../foo/bar/z
../../foo/bar/y
, en exécutant le script souhaité (disons magic.sh
) donnant à l ./d
comme premier argument, devrait
cp ../../foo/bar/x ./d/a
cp ../../foo/bar/y ./d/b
cp ../../foo/bar/z ./d/c
Je ne trouve pas de moyen de savoir vers quel fichier pointe un lien symbolique.