小编Cha*_*rly的帖子

打包库(Debian)时创建符号链接?

我是第一次尝试为Debian打包一个小型图书馆。为此,我使用的是官方的Debian Policy手册,但是由于两天后遇到了无法解决的问题。

这是我包装的方式:

  • 创建压缩包(此处为libvl_1.0.orig.tar.gz)
  • 使用dh_make在debian目录中生成debian conf文件
  • 正确修改控制文件,变更日志和版权。
  • 使用dpkg-buildpackage命令构建软件包。

到这里,没有问题。但是因为它是一个库,所以我需要在安装它时创建一些符号链接,这与库的SONAME有关。在这里,我的库称为libvl。因此,例如,我正在构建一个名为libvl.so.1.0的文件,因为它是第一个版本。为了做对,我想我应该创建这样的符号链接:

libvl.so -> libvl.so.1 -> libvl.so.1.0
Run Code Online (Sandbox Code Playgroud)

为此,我正在尝试使用make运行安装过程时创建那些链接。如果启动“ make install”命令,则此方法有效。但是当使用dpkg安装时,如果创建了链接则没有任何设置,我无法理解为什么。我也尝试过使用postinst脚本,但是没有任何结果。这是我的makefile下面:

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 …
Run Code Online (Sandbox Code Playgroud)

debian symlink shared-libraries package

4
推荐指数
1
解决办法
5053
查看次数

标签 统计

debian ×1

package ×1

shared-libraries ×1

symlink ×1