Создание символических ссылок при упаковке библиотеки (Debian)?
Я впервые пытаюсь запаковать для Debian небольшую библиотеку. Для этого я использую официальное руководство по политике Debian, но за два дня у меня возникла проблема, которую я не могу исправить.
Вот как я упаковываю вещи:
Creating the tarball (here libvl_1.0.orig.tar.gz) Using dh_make to generate the debian conf file in the debian directory Modifying the control file, changelog and copyright properly. Building the package using the dpkg-buildpackage command.До здесь нет проблем. Но так как это библиотека, мне нужно создать несколько символических ссылок при ее установке, это связано с SONAME библиотеки. Здесь моя библиотека называется libvl. Так, например, я создаю файл с именем libvl.so.1.0, так как это первая версия. Чтобы сделать это правильно, я думаю, я должен создать символические ссылки, как это:
<code>libvl.so -> libvl.so.1 -> libvl.so.1.0 </code>
Чтобы сделать это, я пытаюсь создать эти ссылки при запуске процесса установки с помощью make. Это работает, если вы запускаете "make install" команда. Но при установке с dpkg, нет, если ссылки созданы, и я не могу понять, почему. Я также пытался использовать скрипт postinst, но безрезультатно. Вот ниже мой make-файл:
<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>
Я думаю, что проблема есть. Буду признателен за любой ответ или комментарий по этому поводу :-)