[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Утилиты в стиле true unix way



> Hello!

> On Sunday 10 January 2010 23:29:42 Aleksey Cheusov wrote:
 >> Я планирую сделать внутренний модуль mkc_imp.debian.mk, с помощью
 >> которого по команде 'bmake deb' можно будет сделать пакет, хоть в
 >> /usr/local, готь в /opt/vendor.  Это буквально строчек 70, не больше.
 >> Makefile приложения переписывать не нужно.  Но создание .deb пакетов --
 >> это, в принципе, больше proof of concept.

> Очень хотелось бы это увидеть.

Ну вот. Прошло чуть больше, чем пол года, как в добрался в своем TODO до
создания дебиан пакета.
В последней версии mk-configure-0.18.0,
доступной дебиноидам по все тому же адресу,

   deb     http://mova.org/~cheusov/pub/debian       lenny    main
   deb-src http://mova.org/~cheusov/pub/debian       lenny    main

сделал таргет bin_deb, который собирает приложение, устанавливает его с
помощью DESTDIR во временный каталог и потом создает по поставленным
файлам .deb пакет. Пакет, конечно, совершенно игрушечный, в том смысле,
что у него нет никаких зависимостей кроме прописанных вручную. Область
применения создания пакетов таким образом минимальна, поэтому я не счел
ненужным заморачиваться.  Ну а если кому надо, пишите письма.

Пример того, как это работает ниже.
Без дополнительных опций сборки всё ставится
в /usr/local, как и положено при сборке по умолчанию.
Ну и все файлы в пакете естественно будут там же.

Log немного длинноват, потому что полный.
При его сокращении теряется ощущение реальности.
Заказывали -- получайте ;-)
lmdbg - реальный проект, неигрушечный, рабочий.
======================================================================

cheusov@chel 
0 lmdbg>cat Makefile
# Makefile for lmdbg
# Copyright 2003-2009 Aleksey Cheusov <vle@gmx.net>
##################################################

MKC_REQD=       0.14.0

PROJECTNAME=    lmdbg

BIRTHDATE=      2008-04-28

CFLAGS+=        -DLMDBG_VERSION=\"$(VERSION)\" -I.

CLEANFILES=     ChangeLog _*

###########################

SUBPRJ+=        libstacktrace:liblmdbg
SUBPRJ+=        scripts
SUBPRJ+=        s2m m2s
SUBPRJ+=        scripts

###########################

.include "version.mk"
.include "test.mk"

.include <mkc.subprj.mk>

cheusov@chel 
0 lmdbg>mkcmake bin_deb
set -e; rm -rf /tmp/mkc.17307; mkdir -m 0700 /tmp/mkc.17307;  bmake  -m /usr/pkg/share/mkc-mk  all installdirs install DESTDIR=/tmp/mkc.17307
==================================================
all ===> libstacktrace
checking for compiler type... gcc
checking for header execinfo.h... yes
checking for program cc... /usr/bin/cc
cc -Wall -Wstrict-prototypes -Wmissing-prototypes  -Wpointer-arith -Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-strings  -Wextra -Wno-unused-parameter -DHAVE_HEADER_EXECINFO_H=1 -O0 -g  -I. -Werror -c stacktrace.c
building standard stacktrace library
ar cq libstacktrace.a stacktrace.o
ranlib libstacktrace.a
cc -Wall -Wstrict-prototypes -Wmissing-prototypes  -Wpointer-arith -Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-strings  -Wextra -Wno-unused-parameter -DHAVE_HEADER_EXECINFO_H=1 -O0 -g  -I. -Werror -c -fPIC -DPIC stacktrace.c -o stacktrace.os
building shared object stacktrace library
ar cq libstacktrace_pic.a stacktrace.os
ranlib libstacktrace_pic.a
==================================================
all ===> liblmdbg
checking for compiler type... gcc
checking for function dlopen ( -ldl )... yes
checking for function dlopen... no
checking for variable __malloc_hook ( malloc.h )... yes
checking for func memalign ( malloc.h )... yes
checking for func posix_memalign ( stdlib.h )... yes
checking for program cc... /usr/bin/cc
cc -DLMDBG_VERSION=\"0.15.0\" -I. -Wall -Wstrict-prototypes -Wmissing-prototypes  -Wpointer-arith -Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-strings  -Wextra -Wno-unused-parameter -DHAVE_VAR___MALLOC_HOOK_MALLOC_H=1 -DHAVE_FUNC2_MEMALIGN_MALLOC_H=1 -DHAVE_FUNC3_POSIX_MEMALIGN_STDLIB_H=1 -DHAVE_VAR___MALLOC_HOOK_MALLOC_H=1 -DHAVE_FUNC2_MEMALIGN_MALLOC_H=1 -DHAVE_FUNC3_POSIX_MEMALIGN_STDLIB_H=1 -O0 -g  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I../libstacktrace -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -Werror -c lmdbg.c
building standard lmdbg library
ar cq liblmdbg.a lmdbg.o
ranlib liblmdbg.a
cc -DLMDBG_VERSION=\"0.15.0\" -I. -Wall -Wstrict-prototypes -Wmissing-prototypes  -Wpointer-arith -Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-strings  -Wextra -Wno-unused-parameter -DHAVE_VAR___MALLOC_HOOK_MALLOC_H=1 -DHAVE_FUNC2_MEMALIGN_MALLOC_H=1 -DHAVE_FUNC3_POSIX_MEMALIGN_STDLIB_H=1 -DHAVE_VAR___MALLOC_HOOK_MALLOC_H=1 -DHAVE_FUNC2_MEMALIGN_MALLOC_H=1 -DHAVE_FUNC3_POSIX_MEMALIGN_STDLIB_H=1 -O0 -g  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I../libstacktrace -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -Werror -c -fPIC -DPIC lmdbg.c -o lmdbg.os
building shared lmdbg library (version 0.0)
cc -shared -Wl,-soname -Wl,liblmdbg.so.0 -o liblmdbg.so.0.0  lmdbg.os  -L/home/cheusov/prjs/lmdbg/libstacktrace -ldl -lstacktrace_pic
ln -sf liblmdbg.so.0.0 liblmdbg.so
ln -sf liblmdbg.so.0.0 liblmdbg.so.0
==================================================
all ===> m2s
checking for compiler type... gcc
checking for program cc... /usr/bin/cc
cc -Wall -Wstrict-prototypes -Wmissing-prototypes  -Wpointer-arith -Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-strings  -Wextra -Wno-unused-parameter   -Werror -c lmdbg-m2s.c
cc   -o lmdbg-m2s lmdbg-m2s.o 
==================================================
all ===> s2m
checking for compiler type... gcc
checking for program cc... /usr/bin/cc
cc -Wall -Wstrict-prototypes -Wmissing-prototypes  -Wpointer-arith -Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-strings  -Wextra -Wno-unused-parameter   -Werror -c lmdbg-s2m.c
cc   -o lmdbg-s2m lmdbg-s2m.o 
==================================================
all ===> scripts
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-run.1.in > lmdbg-run.1 &&  chmod 0644 lmdbg-run.1
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-leaks.1.in > lmdbg-leaks.1 &&  chmod 0644 lmdbg-leaks.1
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-sysleaks.1.in > lmdbg-sysleaks.1 &&  chmod 0644 lmdbg-sysleaks.1
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-sym.1.in > lmdbg-sym.1 &&  chmod 0644 lmdbg-sym.1
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg.1.in > lmdbg.1 &&  chmod 0644 lmdbg.1
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-stat.1.in > lmdbg-stat.1 &&  chmod 0644 lmdbg-stat.1
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-grep.1.in > lmdbg-grep.1 &&  chmod 0644 lmdbg-grep.1
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-sort.1.in > lmdbg-sort.1 &&  chmod 0644 lmdbg-sort.1
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-run.in > lmdbg-run &&  chmod 0755 lmdbg-run
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-leaks.in > lmdbg-leaks &&  chmod 0755 lmdbg-leaks
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-sysleaks.in > lmdbg-sysleaks &&  chmod 0755 lmdbg-sysleaks
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-sym.in > lmdbg-sym &&  chmod 0755 lmdbg-sym
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg.in > lmdbg &&  chmod 0755 lmdbg
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-stat.in > lmdbg-stat &&  chmod 0755 lmdbg-stat
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-grep.in > lmdbg-grep &&  chmod 0755 lmdbg-grep
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-sort.in > lmdbg-sort &&  chmod 0755 lmdbg-sort
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-modules.in > lmdbg-modules &&  chmod 0755 lmdbg-modules
sed -e 's,@LMDBG_VERSION@,0.15.0,g' -e 's,@AWK@,/usr/bin/awk,g' -e 's,@GDB@,gdb,g' -e 's,@sysconfdir@,/usr/local/etc,g' -e 's,@libdir@,/usr/local/lib,g' -e 's,@libexecdir@,/usr/local/libexec,g' -e 's,@prefix@,/usr/local,g' -e 's,@bindir@,/usr/local/bin,g' -e 's,@sbindir@,/usr/local/sbin,g' -e 's,@datadir@,/usr/local/share,g' -e 's,@mandir@,/usr/local/man,g' -e 's,@incsdir@,/usr/local/include,g' lmdbg-strip.in > lmdbg-strip &&  chmod 0755 lmdbg-strip
==================================================
installdirs ===> libstacktrace
for d in _ ; do  test "$d" = _ || /usr/bin/install -d "$d";  done
==================================================
installdirs ===> liblmdbg
for d in _ /tmp/mkc.17307/usr/local/lib; do  test "$d" = _ || /usr/bin/install -d "$d";  done
==================================================
installdirs ===> m2s
for d in _ /tmp/mkc.17307/usr/local/bin; do  test "$d" = _ || /usr/bin/install -d "$d";  done
==================================================
installdirs ===> s2m
for d in _ /tmp/mkc.17307/usr/local/bin; do  test "$d" = _ || /usr/bin/install -d "$d";  done
==================================================
installdirs ===> scripts
for d in _ /tmp/mkc.17307/usr/local/bin /tmp/mkc.17307/usr/local/man/man1; do  test "$d" = _ || /usr/bin/install -d "$d";  done
==================================================
install ===> libstacktrace
==================================================
install ===> liblmdbg
/usr/bin/install   -c -o cheusov  -g syntagma -m 644 liblmdbg.a /tmp/mkc.17307/usr/local/lib/liblmdbg.a
/usr/bin/install   -c -o cheusov  -g syntagma -m 644 liblmdbg.so.0.0 /tmp/mkc.17307/usr/local/lib/liblmdbg.so.0.0
ln -sf liblmdbg.so.0.0  /tmp/mkc.17307/usr/local/lib/liblmdbg.so.0
ln -sf liblmdbg.so.0.0  /tmp/mkc.17307/usr/local/lib/liblmdbg.so
==================================================
install ===> m2s
/usr/bin/install   -c -s  -o cheusov -g syntagma -m 755 lmdbg-m2s /tmp/mkc.17307/usr/local/bin/lmdbg-m2s
==================================================
install ===> s2m
/usr/bin/install   -c -s  -o cheusov -g syntagma -m 755 lmdbg-s2m /tmp/mkc.17307/usr/local/bin/lmdbg-s2m
==================================================
install ===> scripts
/usr/bin/install   -c  -o cheusov -g syntagma -m 644 lmdbg-run.1 /tmp/mkc.17307/usr/local/man/man1/lmdbg-run.1
/usr/bin/install   -c  -o cheusov -g syntagma -m 644 lmdbg-leaks.1 /tmp/mkc.17307/usr/local/man/man1/lmdbg-leaks.1
/usr/bin/install   -c  -o cheusov -g syntagma -m 644 lmdbg-sysleaks.1 /tmp/mkc.17307/usr/local/man/man1/lmdbg-sysleaks.1
/usr/bin/install   -c  -o cheusov -g syntagma -m 644 lmdbg-sym.1 /tmp/mkc.17307/usr/local/man/man1/lmdbg-sym.1
/usr/bin/install   -c  -o cheusov -g syntagma -m 644 lmdbg.1 /tmp/mkc.17307/usr/local/man/man1/lmdbg.1
/usr/bin/install   -c  -o cheusov -g syntagma -m 644 lmdbg-stat.1 /tmp/mkc.17307/usr/local/man/man1/lmdbg-stat.1
/usr/bin/install   -c  -o cheusov -g syntagma -m 644 lmdbg-grep.1 /tmp/mkc.17307/usr/local/man/man1/lmdbg-grep.1
/usr/bin/install   -c  -o cheusov -g syntagma -m 644 lmdbg-sort.1 /tmp/mkc.17307/usr/local/man/man1/lmdbg-sort.1
/usr/bin/install   -c  -o cheusov  -g syntagma  -m 755  lmdbg-run /tmp/mkc.17307/usr/local/bin/lmdbg-run
/usr/bin/install   -c  -o cheusov  -g syntagma  -m 755  lmdbg-leaks /tmp/mkc.17307/usr/local/bin/lmdbg-leaks
/usr/bin/install   -c  -o cheusov  -g syntagma  -m 755  lmdbg-sysleaks /tmp/mkc.17307/usr/local/bin/lmdbg-sysleaks
/usr/bin/install   -c  -o cheusov  -g syntagma  -m 755  lmdbg-sym /tmp/mkc.17307/usr/local/bin/lmdbg-sym
/usr/bin/install   -c  -o cheusov  -g syntagma  -m 755  lmdbg /tmp/mkc.17307/usr/local/bin/lmdbg
/usr/bin/install   -c  -o cheusov  -g syntagma  -m 755  lmdbg-stat /tmp/mkc.17307/usr/local/bin/lmdbg-stat
/usr/bin/install   -c  -o cheusov  -g syntagma  -m 755  lmdbg-grep /tmp/mkc.17307/usr/local/bin/lmdbg-grep
/usr/bin/install   -c  -o cheusov  -g syntagma  -m 755  lmdbg-sort /tmp/mkc.17307/usr/local/bin/lmdbg-sort
/usr/bin/install   -c  -o cheusov  -g syntagma  -m 755  lmdbg-modules /tmp/mkc.17307/usr/local/bin/lmdbg-modules
/usr/bin/install   -c  -o cheusov  -g syntagma  -m 755  lmdbg-strip /tmp/mkc.17307/usr/local/bin/lmdbg-strip
==================================================
set -e; cp -rp DEBIAN /tmp/mkc.17307; rm -rf /tmp/mkc.17307/DEBIAN/CVS;  dpkg-deb -b /tmp/mkc.17307 lmdbg.deb;  rm -rf /tmp/mkc.17307
dpkg-deb: building package `lmdbg' in `lmdbg.deb'.

cheusov@chel 
0 lmdbg>sudo dpkg -i lmdbg.deb
Selecting previously deselected package lmdbg.
(Reading database ... 121815 files and directories currently installed.)
Unpacking lmdbg (from lmdbg.deb) ...
Setting up lmdbg (0.15.0-1) ...

cheusov@chel 
0 lmdbg>dpkg -L lmdbg
/.
/usr
/usr/local
/usr/local/man
/usr/local/man/man1
/usr/local/man/man1/lmdbg-sort.1
/usr/local/man/man1/lmdbg-grep.1
/usr/local/man/man1/lmdbg-stat.1
/usr/local/man/man1/lmdbg.1
/usr/local/man/man1/lmdbg-sym.1
/usr/local/man/man1/lmdbg-sysleaks.1
/usr/local/man/man1/lmdbg-leaks.1
/usr/local/man/man1/lmdbg-run.1
/usr/local/bin
/usr/local/bin/lmdbg-strip
/usr/local/bin/lmdbg-modules
/usr/local/bin/lmdbg-sort
/usr/local/bin/lmdbg-grep
/usr/local/bin/lmdbg-stat
/usr/local/bin/lmdbg
/usr/local/bin/lmdbg-sym
/usr/local/bin/lmdbg-sysleaks
/usr/local/bin/lmdbg-leaks
/usr/local/bin/lmdbg-run
/usr/local/bin/lmdbg-s2m
/usr/local/bin/lmdbg-m2s
/usr/local/lib
/usr/local/lib/liblmdbg.so.0.0
/usr/local/lib/liblmdbg.a
/usr/local/lib/liblmdbg.so
/usr/local/lib/liblmdbg.so.0

cheusov@chel 
0 lmdbg>cat DEBIAN/control
Package: lmdbg
Version: 0.15.0-1
Maintainer: Aleksey Cheusov <vle@gmx.net>
Architecture: all
Depends: gdb
Description: Lightweight malloc(3) debugger
 LMDBG is a collection of small tools for collecting and analyzing the logs
 of malloc/realloc/memalign/free function calls. Unlike many others, LMDBG
 does not provide any way to detect overruns of the boundaries of malloc()
 memory allocations, as this is not the goal. Like most other malloc
 debuggers, LMDBG allows detecting memory leaks and double frees. However,
 unlike others, LMDBG generates full stacktraces and separates the logging
 process from analysis, thus allowing you to analyze an application on a
 per-module basis.


cheusov@chel 
0 lmdbg>

-- 
Best regards, Aleksey Cheusov.


Reply to: