Tworzenie dowiązań symbolicznych podczas pakowania biblioteki (Debian)?

Po raz pierwszy próbuję spakować dla Debiana małą bibliotekę. W tym celu używam oficjalnego podręcznika Debian Policy, ale od dwóch dni napotykam problem, którego nie mogę naprawić.

W ten sposób pakuję:

Tworzenie tarballa (tutaj libvl_1.0.orig.tar.gz)Użycie dh_make do wygenerowania pliku conf debian w katalogu debianModyfikowanie pliku kontrolnego, dziennika zmian i praw autorskich prawidłowo.Budowanie pakietu za pomocą polecenia dpkg-buildpackage.

Do tej pory nie ma problemu. Ale ponieważ jest to biblioteka, muszę podczas instalacji zainstalować dowiązania symboliczne, które są związane z SONAME biblioteki. Tutaj moja biblioteka nazywa się libvl. Na przykład buduję plik o nazwie libvl.so.1.0, ponieważ jest to pierwsza wersja. Aby zrobić to dobrze, myślę, że powinienem utworzyć takie dowiązania symboliczne:

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

Aby to zrobić, próbuję utworzyć te linki podczas uruchamiania procesu instalacji za pomocą make. Działa to, jeśli uruchomisz polecenie „make install”. Ale podczas instalacji za pomocą dpkg, żadna, jeśli linki są tworzone i nie mogę zrozumieć dlaczego. Próbowałem również użyć skryptu postinst, ale bez żadnych wyników. Oto poniżej mojego pliku 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>

Myślę, że problem istnieje. Będę wdzięczny za każdą odpowiedź lub komentarz na ten temat :-)

questionAnswers(2)

yourAnswerToTheQuestion