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

[PATCH] Include libmd in freebsd-libs



Hello,

I'm sending the following patch for comments and possibly inclusion.
It introduces the libmd{0,-dev} binary packages in the freebsd-libs
source package. libmd is a message digest library (it includes digest
algorithms from the MD{4,5} and SHA{1,2} family).

My ultimate goal here is to have support for encrypted disk devices
(the "eli" class in geom), and libmd is a dependancy of the userland
geli(8) utility.

Laurent.
>From cc7bec8e638b0e45bfc5d8539ca3fb31dbfceaae Mon Sep 17 00:00:00 2001
From: Laurent Fousse <laurent@persil.lateralis.org>
Date: Fri, 17 Dec 2010 15:45:51 +0100
Subject: [PATCH 1/2] Build libmd.

---
 debian/control           |   15 ++++++++++++++
 debian/libmd-dev.install |   49 ++++++++++++++++++++++++++++++++++++++++++++++
 debian/libmd0.install    |    1 +
 debian/rules             |   11 ++++++++-
 4 files changed, 74 insertions(+), 2 deletions(-)
 create mode 100644 debian/libmd-dev.install
 create mode 100644 debian/libmd0.install

diff --git a/debian/control b/debian/control
index 6686571..8d0432a 100644
--- a/debian/control
+++ b/debian/control
@@ -187,6 +187,21 @@ Description: Development files for libmemstat
  This package contains the header files and static library needed to
  compile applications that use libmemstat.
 
+Package: libmd0
+Architecture: kfreebsd-any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: FreeBSD message digest library
+ The md library provides various message digest ("hash") functions.
+
+Package: libmd-dev
+Section: libdevel
+Architecture: kfreebsd-any
+Depends: libmd0 (= ${binary:Version}), ${misc:Depends}, libc0.1-dev | libc-dev,
+ libbsd-dev
+Description: Development files for libmd
+ This package contains the header files and static library needed to
+ compile applications that use libmd.
+
 Package: libnetgraph4
 Architecture: kfreebsd-any
 Depends: ${shlibs:Depends}, ${misc:Depends}
diff --git a/debian/libmd-dev.install b/debian/libmd-dev.install
new file mode 100644
index 0000000..7f1d14e
--- /dev/null
+++ b/debian/libmd-dev.install
@@ -0,0 +1,49 @@
+usr/lib/libmd*.so
+usr/lib/libmd.a
+usr/share/man/man3/md2.3.gz
+usr/share/man/man3/MD2Data.3.gz
+usr/share/man/man3/MD2End.3.gz
+usr/share/man/man3/MD2File.3.gz
+usr/share/man/man3/MD2FileChunk.3.gz
+usr/share/man/man3/MD2Final.3.gz
+usr/share/man/man3/MD2Init.3.gz
+usr/share/man/man3/MD2Update.3.gz
+usr/share/man/man3/md4.3.gz
+usr/share/man/man3/MD4Data.3.gz
+usr/share/man/man3/MD4End.3.gz
+usr/share/man/man3/MD4File.3.gz
+usr/share/man/man3/MD4FileChunk.3.gz
+usr/share/man/man3/MD4Final.3.gz
+usr/share/man/man3/MD4Init.3.gz
+usr/share/man/man3/MD4Update.3.gz
+usr/share/man/man3/md5.3.gz
+usr/share/man/man3/MD5Data.3.gz
+usr/share/man/man3/MD5End.3.gz
+usr/share/man/man3/MD5File.3.gz
+usr/share/man/man3/MD5FileChunk.3.gz
+usr/share/man/man3/MD5Final.3.gz
+usr/share/man/man3/MD5Init.3.gz
+usr/share/man/man3/MD5Update.3.gz
+usr/share/man/man3/SHA1_Data.3.gz
+usr/share/man/man3/SHA1_End.3.gz
+usr/share/man/man3/SHA1_File.3.gz
+usr/share/man/man3/SHA1_FileChunk.3.gz
+usr/share/man/man3/SHA1_Final.3.gz
+usr/share/man/man3/SHA1_Init.3.gz
+usr/share/man/man3/SHA1_Update.3.gz
+usr/share/man/man3/sha256.3.gz
+usr/share/man/man3/SHA256_Data.3.gz
+usr/share/man/man3/SHA256_End.3.gz
+usr/share/man/man3/SHA256_File.3.gz
+usr/share/man/man3/SHA256_FileChunk.3.gz
+usr/share/man/man3/SHA256_Final.3.gz
+usr/share/man/man3/SHA256_Init.3.gz
+usr/share/man/man3/SHA256_Update.3.gz
+usr/share/man/man3/sha.3.gz
+usr/share/man/man3/SHA_Data.3.gz
+usr/share/man/man3/SHA_End.3.gz
+usr/share/man/man3/SHA_File.3.gz
+usr/share/man/man3/SHA_FileChunk.3.gz
+usr/share/man/man3/SHA_Final.3.gz
+usr/share/man/man3/SHA_Init.3.gz
+usr/share/man/man3/SHA_Update.3.gz
diff --git a/debian/libmd0.install b/debian/libmd0.install
new file mode 100644
index 0000000..56536be
--- /dev/null
+++ b/debian/libmd0.install
@@ -0,0 +1 @@
+usr/lib/libmd*.so.*
diff --git a/debian/rules b/debian/rules
index 525a9b9..6c794b0 100755
--- a/debian/rules
+++ b/debian/rules
@@ -29,7 +29,7 @@ export SHLIB_MAJOR=0
 get-orig-source:
 	rm -rf $(ORIGDIR)
 	for i in lib/libcam lib/libdevstat lib/libgeom lib/libipx \
-	         lib/libkiconv lib/libnetgraph \
+	         lib/libkiconv lib/libmd lib/libnetgraph \
 	         lib/libkvm lib/libmemstat lib/libsbuf lib/libusb \
 	         lib/libusbhid sys/cam ; do \
 	    svn export $(SVN)/$$i $(ORIGDIR)/$$i ; \
@@ -49,7 +49,7 @@ patch-stamp:
 	QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2
 	touch $@
 
-build: build-cam build-geom build-sbuf build-ipx build-kiconv build-kvm build-usbhid build-usb build-devstat build-memstat build-netgraph
+build: build-cam build-geom build-sbuf build-ipx build-kiconv build-kvm build-usbhid build-usb build-devstat build-memstat build-md build-netgraph
 
 build-cam: build-cam-stamp
 build-cam-stamp: patch build-sbuf
@@ -61,6 +61,11 @@ build-geom-stamp: patch build-sbuf
 	$(PMAKE) -C $(CURDIR)/lib/libgeom SHLIBDIR=./
 	touch $@
 
+build-md: build-md-stamp
+build-md-stamp: patch
+	$(PMAKE) -C $(CURDIR)/lib/libmd SHLIBDIR=./
+	touch $@
+
 build-netgraph: build-netgraph-stamp
 build-netgraph-stamp: patch
 	$(PMAKE) -C $(CURDIR)/lib/libnetgraph SHLIBDIR=./
@@ -113,6 +118,7 @@ clean:
 	$(PMAKE) -C $(CURDIR)/lib/libnetgraph clean
 	$(PMAKE) -C $(CURDIR)/lib/libdevstat clean
 	$(PMAKE) -C $(CURDIR)/lib/libmemstat clean
+	$(PMAKE) -C $(CURDIR)/lib/libmd clean
 	$(PMAKE) -C $(CURDIR)/lib/libgeom clean
 	$(PMAKE) -C $(CURDIR)/lib/libipx clean
 	$(PMAKE) -C $(CURDIR)/lib/libkiconv clean
@@ -140,6 +146,7 @@ install: build
 	$(PMAKE) -C $(CURDIR)/lib/libkvm install SHLIBDIR=/lib
 	$(PMAKE) -C $(CURDIR)/lib/libdevstat install SHLIBDIR=/usr/lib
 	$(PMAKE) -C $(CURDIR)/lib/libmemstat install SHLIBDIR=/usr/lib
+	$(PMAKE) -C $(CURDIR)/lib/libmd install SHLIBDIR=/usr/lib
 	$(PMAKE) -C $(CURDIR)/lib/libnetgraph install SHLIBDIR=/usr/lib
 	$(PMAKE) -C $(CURDIR)/lib/libusbhid install SHLIBDIR=/usr/lib
 	$(PMAKE) -C $(CURDIR)/lib/libusb install SHLIBDIR=/lib
-- 
1.7.2.3

>From 661a052926486d972423ff3c1a06b613b787b233 Mon Sep 17 00:00:00 2001
From: Laurent Fousse <laurent@persil.lateralis.org>
Date: Fri, 17 Dec 2010 15:59:48 +0100
Subject: [PATCH 2/2] Include missing header <stdint.h>.

---
 lib/libmd/sha256.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/lib/libmd/sha256.h b/lib/libmd/sha256.h
index ce51787..930a121 100644
--- a/lib/libmd/sha256.h
+++ b/lib/libmd/sha256.h
@@ -30,6 +30,7 @@
 #define _SHA256_H_
 
 #include <sys/types.h>
+#include <stdint.h>
 
 typedef struct SHA256Context {
 	uint32_t state[8];
-- 
1.7.2.3


Reply to: