On Tue, Jan 02, 2007 at 02:54:45PM +0000, Joseph Nahmias wrote: > Happy New Year Everyone! > > I've just completed preliminary packaging of libkarma for Debian > [http://debian.org/]. > > If you've got some time and the inclination, I've made the packages > available at: http://people.debian.org/~jello/ for anyone to review > before I upload to the main archive. > > As part of the process, I created incomplete manpages for riocp, chprop, > and karma_helper. I would appreciate any help in finishing these up. > > Also, I made some changes to the Makefiles that I would like to discuss > with Frank mostly relating to the install process. See the attached > diff. > > One thing I did not package was the karma-sharp library. Does anyone > need/use it? > > Thanks to everyone for bringing the Karma alive in Linux! > > --Joe
Eek! I forgot the attachment. Here it is. --Joe
--- libkarma-0.0.6.orig/Makefile +++ libkarma-0.0.6/Makefile @@ -1,6 +1,7 @@ LK_SRC=src TOOLSDIR=tools PREFIX=/usr/local +INSTALL?=./install-sh VERSION=0.0.6 export PREFIX @@ -12,6 +13,12 @@ karma-sharp/{Makefile,karma-sharp.pc.in,Song.cs,Device.cs} \ Jamfile Makefile COPYING ChangeLog THANKS INSTALL TODO \ install-sh karma-tools.spec +DOCS=THANKS TODO ChangeLog + +INSTALL_DIR := $(INSTALL) -d -o root -g root -m 0755 +INSTALL_FILE := $(INSTALL) -o root -g root -m 0644 +INSTALL_PROGRAM := $(INSTALL) -o root -g root -m 0755 # -s +INSTALL_SCRIPT := $(INSTALL) -o root -g root -m 0755 all: libkarma tools karma-sharp @@ -19,11 +26,14 @@ cd $(LK_SRC) && $(MAKE) install cd karma-sharp && $(MAKE) install cd tools && $(MAKE) install + $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/doc/libkarma + $(INSTALL_FILE) $(DOCS) $(DESTDIR)$(PREFIX)/share/doc/libkarma uninstall: cd $(LK_SRC) && $(MAKE) uninstall cd karma-sharp && $(MAKE) uninstall cd tools && $(MAKE) uninstall + rm -rf $(DESTDIR)$(PREFIX)/share/doc/libkarma libkarma: FORCE cd $(LK_SRC) && $(MAKE) --- libkarma-0.0.6.orig/src/Makefile +++ libkarma-0.0.6/src/Makefile @@ -8,43 +8,60 @@ LIBDIR=../lib -CC=gcc -AR=ar -RANLIB=ranlib +CC?=gcc +AR?=ar +RANLIB?=ranlib +LN_S?=ln -s CFLAGS+=-fPIC -D_REENTRANT -Wall -pedantic CFLAGS+=-ggdb -W -Wchar-subscripts -Wmissing-prototypes CFLAGS+=-Wmissing-declarations -Wno-switch -Wredundant-decls -Wno-unused +MAJOR?=$(shell VERSION=${VERSION} echo $${VERSION%%\.*}) default: all -install: +install: shared-lib-stamp static-lib-stamp ../install-sh -m 0755 -d $(PREFIX)/lib ../install-sh -m 0755 -d $(PREFIX)/include ../install-sh -m 0755 -d $(PREFIX)/include/libkarma ../install-sh -m 0644 -t $(PREFIX)/lib/ $(LIBDIR)/$(TARGET).a - ../install-sh -m 0755 -t $(PREFIX)/lib/ $(LIBDIR)/$(TARGET).so + ../install-sh -m 0755 -t $(PREFIX)/lib/ $(LIBDIR)/$(TARGET).so.$(VERSION) + $(LN_S) $(TARGET).so.$(VERSION) $(PREFIX)/lib/$(TARGET).so.$(MAJOR) + $(LN_S) $(TARGET).so.$(VERSION) $(PREFIX)/lib/$(TARGET).so ../install-sh -m 0644 -t $(PREFIX)/include/libkarma/ $(INST_HEADERS) uninstall: - $(RM) $(PREFIX)/lib/$(TARGET).a $(PREFIX)/lib/$(TARGET).so* + $(RM) $(PREFIX)/lib/$(TARGET).a $(PREFIX)/lib/$(TARGET).so{,.$(MAJOR),.$(VERSION)} $(RM) -r $(PREFIX)/include/libkarma OBJS = $(SRCS:.c=.o) $(LIBDIR): - @[ -d $(LIBDIR) ] || mkdir $(LIBDIR) > /dev/null 2>&1 + @[ -d $(LIBDIR) ] || mkdir -p $(LIBDIR) > /dev/null 2>&1 -$(TARGET): $(OBJS) $(LIBDIR) +$(LIBDIR)/$(TARGET).a: $(OBJS) $(LIBDIR) $(AR) r $(LIBDIR)/$(TARGET).a $(OBJS) $(RANLIB) $(LIBDIR)/$(TARGET).a -shared: $(OBJS) $(LIBDIR) - $(CC) -shared $(OBJS) $(CFLAGS) -o $(LIBDIR)/$(TARGET).so -ltag_c -all: $(TARGET) shared +$(LIBDIR)/$(TARGET).so.$(VERSION): $(OBJS) $(LIBDIR) + $(CC) -shared -Wl,-soname,$(TARGET).so.$(MAJOR) $(OBJS) $(CFLAGS) -o $(LIBDIR)/$(TARGET).so.$(VERSION) -ltag_c + +$(LIBDIR)/$(TARGET).so.$(MAJOR): $(LIBDIR)/$(TARGET).so.$(VERSION) $(LIBDIR) + $(LN_S) $(TARGET).so.$(VERSION) $(LIBDIR)/$(TARGET).so.$(MAJOR) + +$(LIBDIR)/$(TARGET).so: $(LIBDIR)/$(TARGET).so.$(VERSION) $(LIBDIR) + $(LN_S) $(TARGET).so.$(VERSION) $(LIBDIR)/$(TARGET).so + +shared-lib-stamp: $(LIBDIR)/$(TARGET).so.$(VERSION) $(LIBDIR)/$(TARGET).so.$(MAJOR) $(LIBDIR)/$(TARGET).so + touch $@ + +static-lib-stamp: $(LIBDIR)/$(TARGET).a + touch $@ + +all: static-lib-stamp shared-lib-stamp .PHONY: clean clean: - rm -rf $(OBJS) $(LIBDIR)/ + rm -rf $(OBJS) $(LIBDIR)/ static-lib-stamp shared-lib-stamp --- libkarma-0.0.6.orig/tools/Makefile +++ libkarma-0.0.6/tools/Makefile @@ -1,27 +1,28 @@ INCLUDES=-I../src LIBDIR=../lib -LIBKARMA=$(LIBDIR)/libkarma.a +LIBKARMA=$(LIBDIR)/libkarma.so SRCS=pathedit.c CC=gcc CFLAGS+=-Wall -pedantic -LDFLAGS+=-ltag_c -lz +LDFLAGS+=-ltag_c -lz -L $(LIBDIR) OBJS=$(SRCS:.c=.o) -TOOLS=riocp chprop playlist_show karma_helper +TOOLS=riocp chprop karma_helper +MANPAGES=riocp.1 chprop.1 karma_helper.1 default: $(TOOLS) all: $(TOOLS) riocp: riocp.c $(OBJS) $(LIBKARMA) - $(CC) $(INCLUDES) $(LDFLAGS) $(CFLAGS) [EMAIL PROTECTED] -o $@ $(OBJS) $(LIBKARMA) + $(CC) $(INCLUDES) $(LDFLAGS) $(CFLAGS) [EMAIL PROTECTED] -o $@ $(OBJS) -lkarma chprop: chprop.c $(LIBKARMA) - $(CC) $(INCLUDES) $(LDFLAGS) $(CFLAGS) [EMAIL PROTECTED] -o $@ $(LIBKARMA) + $(CC) $(INCLUDES) $(LDFLAGS) $(CFLAGS) [EMAIL PROTECTED] -o $@ -lkarma playlist_show: playlist_show.c $(LIBKARMA) - $(CC) $(INCLUDES) $(LDFLAGS) $(CFLAGS) [EMAIL PROTECTED] -o $@ $(LIBKARMA) + $(CC) $(INCLUDES) $(LDFLAGS) $(CFLAGS) [EMAIL PROTECTED] -o $@ -lkarma karma_helper: karma_helper.c $(CC) $(INCLUDES) $(CFLAGS) [EMAIL PROTECTED] -o $@ -lusb @@ -29,6 +30,8 @@ install: ../install-sh -m 0755 -d $(PREFIX)/bin ../install-sh -m 0755 -t $(PREFIX)/bin/ $(TOOLS) + ../install-sh -m 0755 -d $(PREFIX)/share/man/man1 + ../install-sh -m 0755 -t $(PREFIX)/share/man/man1 $(MANPAGES) uninstall: cd $(PREFIX)/bin && $(RM) $(TOOLS)