Erstellen von Symlinks beim Packen einer Bibliothek (Debian)?

Ich versuche zum ersten Mal, für Debian eine kleine Bibliothek zu packen. Dafür verwende ich das offizielle Handbuch zu Debian-Richtlinien, aber seit zwei Tagen stoße ich auf ein Problem, das ich nicht beheben kann.

So verpacke ich:

Erstellen des Tarballs (hier libvl_1.0.orig.tar.gz)Verwenden Sie dh_make, um die debian conf-Datei im debian-Verzeichnis zu generierenÄndern der Steuerdatei, des Änderungsprotokolls und des Urheberrechts ordnungsgemäß.Erstellen Sie das Paket mit dem Befehl dpkg-buildpackage.

Bis hierher gibt es kein Problem. Da es sich jedoch um eine Bibliothek handelt, muss ich während der Installation einige Symlinks erstellen, die sich auf den SONAME der Bibliothek beziehen. Hier heißt meine Bibliothek libvl. Ich erstelle zum Beispiel eine Datei mit dem Namen libvl.so.1.0, da es sich um die erste Version handelt. Um es richtig zu machen, sollte ich Symlinks wie diese erstellen:

<code>libvl.so -> libvl.so.1 -> libvl.so.1.0
</code>

Dazu versuche ich, diese Links zu erstellen, während der Installationsprozess mit make ausgeführt wird. Dies funktioniert, wenn Sie den Befehl 'make install' starten. Aber bei der Installation mit dpkg, keine, wenn die Links erstellt werden und ich nicht verstehen kann, warum. Ich habe auch versucht, ein Postinst-Skript zu verwenden, aber ohne Ergebnisse. Hier ist unter meinem Makefile:

<code>DESTDIR =
LIBDIR = usr/lib

LIB = libvl.so
MAJOR = 1
MINOR = 0

CC = gcc
CC_FLAGS = -Wall -ansi -Isrc/
LD_FLAGS =
LN = ln -s

SRC = very_long.c

OBJ = $(SRC:.c=.o)

all: libvl

libvl: $(OBJ)
    $(CC) -fPIC -c $(SRC)
    $(CC) -shared -a -o $(LIBDIR)/$(LIB).$(MAJOR).$(MINOR) $(OBJ)

install:
    install -d -m 0755 -o root -g root $(DESTDIR)/$(LIBDIR)
    install -m 0755 -o root -g root $(LIBDIR)/$(LIB).$(MAJOR).$(MINOR) $(DESTDIR)/$(LIBDIR)

    $(LN) /usr/lib/$(LIB).$(MAJOR).$(MINOR) /usr/lib/$(LIB).1
    $(LN) /usr/lib/$(LIB).$(MAJOR) /usr/lib/$(LIB)

clean:
    rm $(OBJ) $(LIBDIR)/$(LIB).1.0
</code>

Ich denke, das Problem ist da. Ich freue mich über jede Antwort oder jeden Kommentar :-)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage