packages: libnfsidmap/libnfsidmap.spec, libnfsidmap/libnfsidmap-diet.patch ...

baggins baggins at pld-linux.org
Fri Sep 24 18:31:11 CEST 2010


Author: baggins                      Date: Fri Sep 24 16:31:11 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel 2
- added dietlibc package

---- Files affected:
packages/libnfsidmap:
   libnfsidmap.spec (1.18 -> 1.19) , libnfsidmap-diet.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/libnfsidmap/libnfsidmap.spec
diff -u packages/libnfsidmap/libnfsidmap.spec:1.18 packages/libnfsidmap/libnfsidmap.spec:1.19
--- packages/libnfsidmap/libnfsidmap.spec:1.18	Thu Aug 12 22:25:35 2010
+++ packages/libnfsidmap/libnfsidmap.spec	Fri Sep 24 18:31:06 2010
@@ -1,22 +1,32 @@
 # $Revision$, $Date$
+#
+# Conditional build:
+%bcond_without	dietlibc	# don't build static dietlibc library
+#
 Summary:	Library to help mapping id's, mainly for NFSv4
 Summary(pl.UTF-8):	Biblioteka pomagająca w mapowaniu identyfikatorów, głównie dla NFSv4
 Name:		libnfsidmap
 Version:	0.23
-Release:	1
+Release:	2
 License:	BSD
 Group:		Libraries
 Source0:	http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/%{name}-%{version}.tar.gz
 # Source0-md5:	28f3ece648c1dc5d25e8d623d55f8bd6
 Patch0:		%{name}-idmapd.conf.patch
 Patch1:		%{name}-user at domain.patch
+Patch2:		%{name}-diet.patch
 URL:		http://www.citi.umich.edu/projects/nfsv4/linux/
+%{?with_dietlibc:BuildRequires:	dietlibc-static >= 2:0.31-5}
 BuildRequires:	openldap-devel
 Obsoletes:	nfsidmap
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %undefine	__cxx
 
+# for some reason known only to rpm there must be "\\|" not "\|" here
+%define		dietarch	%(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
+%define		dietlibdir	%{_prefix}/lib/dietlibc/lib-%{dietarch}
+
 %description
 Library to help mapping id's, mainly for NFSv4.
 
@@ -49,24 +59,52 @@
 %description static -l pl.UTF-8
 Statyczna biblioteka libnfsidmap.
 
+%package dietlibc
+Summary:	Static dietlibc libnfsidmap library
+Summary(pl.UTF-8):	Biblioteka statyczna dietlibc libnfsidmap
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description dietlibc
+Static dietlibc libnfsidmap library.
+
+%description dietlibc -l pl.UTF-8
+Biblioteka statyczna dietlibc libnfsidmap.
+
 %prep
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
+%if %{with dietlibc}
+%configure \
+	CC="diet %{__cc} %{rpmcflags} %{rpmldflags} -Os -D_BSD_SOURCE -D_GNU_SOURCE" \
+	--enable-static \
+	--disable-shared \
+	--disable-ldap
+
+%{__make}
+mv .libs/libnfsidmap.a diet-libnfsidmap.a
+%{__make} clean
+%endif
+
 %configure
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT%{_sysconfdir}
+%{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
 
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT
 
 install idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}
 
+%{?with_dietlibc:install diet-libnfsidmap.a $RPM_BUILD_ROOT%{dietlibdir}/libnfsidmap.a}
+
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libnfsidmap/*.{a,la}
 
 %clean
@@ -102,12 +140,22 @@
 %defattr(644,root,root,755)
 %{_libdir}/libnfsidmap.a
 
+%if %{with dietlibc}
+%files dietlibc
+%defattr(644,root,root,755)
+%{dietlibdir}/libnfsidmap.a
+%endif
+
 %define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
 * %{date} PLD Team <feedback at pld-linux.org>
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.19  2010/09/24 16:31:06  baggins
+- rel 2
+- added dietlibc package
+
 Revision 1.18  2010/08/12 20:25:35  qboosh
 - updated to 0.23
 - updated idmapd.conf patch

================================================================
Index: packages/libnfsidmap/libnfsidmap-diet.patch
diff -u /dev/null packages/libnfsidmap/libnfsidmap-diet.patch:1.1
--- /dev/null	Fri Sep 24 18:31:12 2010
+++ packages/libnfsidmap/libnfsidmap-diet.patch	Fri Sep 24 18:31:06 2010
@@ -0,0 +1,64 @@
+--- libnfsidmap-0.23/nss.c~	2010-09-24 18:12:33.474464553 +0200
++++ libnfsidmap-0.23/nss.c	2010-09-24 18:16:13.001464555 +0200
+@@ -73,7 +73,11 @@
+ 	struct passwd *pw = NULL;
+ 	struct passwd pwbuf;
+ 	char *buf;
++#ifdef __dietlibc__
++	size_t buflen = 1024;
++#else
+ 	size_t buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
++#endif
+ 	int err = -ENOMEM;
+ 
+ 	buf = malloc(buflen);
+@@ -98,7 +102,11 @@
+ 	struct group *gr = NULL;
+ 	struct group grbuf;
+ 	char *buf;
++#ifdef __dietlibc__
++	size_t buflen = 1024;
++#else
+ 	size_t buflen = sysconf(_SC_GETGR_R_SIZE_MAX);
++#endif
+ 	int err;
+ 
+ 	if (domain == NULL)
+@@ -164,7 +172,11 @@
+ {
+ 	struct passwd *pw;
+ 	struct pwbuf *buf;
++#ifdef __dietlibc__
++	size_t buflen = 1024;
++#else
+ 	size_t buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
++#endif
+ 	char *localname;
+ 	int err = ENOMEM;
+ 
+@@ -225,7 +237,11 @@
+ 	struct group *gr = NULL;
+ 	struct group grbuf;
+ 	char *buf, *localname, *domain;
++#ifdef __dietlibc__
++	size_t buflen = 1024;
++#else
+ 	size_t buflen = sysconf(_SC_GETGR_R_SIZE_MAX);
++#endif
+ 	int err = -EINVAL;
+ 
+ 	domain = get_default_domain();
+--- libnfsidmap-0.23/static.c~	2009-07-29 22:19:06.000000000 +0200
++++ libnfsidmap-0.23/static.c	2010-09-24 18:17:31.485464550 +0200
+@@ -62,7 +62,11 @@
+ {
+ 	struct passwd *pw;
+ 	struct pwbuf *buf;
++#ifdef __dietlibc__
++	size_t buflen = 1024;
++#else
+ 	size_t buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
++#endif
+ 	char *localname;
+ 	int err;
+ 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/libnfsidmap/libnfsidmap.spec?r1=1.18&r2=1.19&f=u



More information about the pld-cvs-commit mailing list