summaryrefslogtreecommitdiff
path: root/libproject/debian
diff options
context:
space:
mode:
Diffstat (limited to 'libproject/debian')
-rw-r--r--libproject/debian/README.source10
-rw-r--r--libproject/debian/changelog5
-rw-r--r--libproject/debian/compat1
-rw-r--r--libproject/debian/control74
-rw-r--r--libproject/debian/copyright27
-rw-r--r--libproject/debian/lib32project1-dev.install1
-rw-r--r--libproject/debian/lib32project1.install1
-rw-r--r--libproject/debian/libproject1-dev.install2
-rw-r--r--libproject/debian/libproject1.install1
-rw-r--r--libproject/debian/patches/libproject-avoid-userdefs.h.patch37
-rw-r--r--libproject/debian/patches/series1
-rwxr-xr-xlibproject/debian/rules92
-rw-r--r--libproject/debian/source/format1
13 files changed, 253 insertions, 0 deletions
diff --git a/libproject/debian/README.source b/libproject/debian/README.source
new file mode 100644
index 0000000..9988910
--- /dev/null
+++ b/libproject/debian/README.source
@@ -0,0 +1,10 @@
+Real sources are in the package illumos-source-X.Y,
+where X and Y are numbers. Exact values of X and Y
+are set in Build-Depends field of debian/control as
+well as in the version string in debian/changelog,
+in a form of X.Y-1.
+
+To add a patch you need first to unpack files from
+illumos-source-X.Y using ./debian/rules unpack
+and, desirably, ./debian/rules patch
+
diff --git a/libproject/debian/changelog b/libproject/debian/changelog
new file mode 100644
index 0000000..e2d5072
--- /dev/null
+++ b/libproject/debian/changelog
@@ -0,0 +1,5 @@
+libproject (2.10-1) unstable; urgency=low
+
+ * Initial release.
+
+ -- Igor Pashev <pashev.igor@gmail.com> Tue, 23 Oct 2012 03:02:05 +0400
diff --git a/libproject/debian/compat b/libproject/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/libproject/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/libproject/debian/control b/libproject/debian/control
new file mode 100644
index 0000000..aa2c2cc
--- /dev/null
+++ b/libproject/debian/control
@@ -0,0 +1,74 @@
+Source: libproject
+Section: libs
+Priority: optional
+Maintainer: Igor Pashev <pashev.igor@gmail.com>
+Build-Depends:
+ dh-illumos,
+ gcc-multilib,
+ illumos-source-2.10,
+ libpool1-dev, lib32pool1-dev,
+ libproc1-dev, lib32proc1-dev,
+ libsecdb1-dev, lib32secdb1-dev,
+ quilt,
+ symlinks,
+Standards-Version: 3.9.3
+Homepage: https://www.illumos.org
+
+Package: libproject1
+Section: libs
+Priority: standard
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Architecture: illumos-any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: project configuration library
+ This package contains libproject shared library.
+ .
+ The libproject library provides various interfaces to extract data from
+ the project database. The project database offers a reasonably flexible
+ attribute mechanism for resource controls facility.
+
+
+Package: libproject1-dev
+Section: libdevel
+Priority: optional
+Architecture: illumos-any
+Provides: libproject-dev
+Depends: libproject1 (= ${binary:Version}), ${misc:Depends}, libc1-dev
+Description: project configuration library (development files)
+ This package contains the header files and symlinks needed
+ to compile applications that use libproject.
+ .
+ The libproject library provides various interfaces to extract data from
+ the project database. The project database offers a reasonably flexible
+ attribute mechanism for resource controls facility.
+
+Package: lib32project1
+Section: libs
+Priority: standard
+Architecture: illumos-amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: project configuration library (32 bit)
+ This package contains libproject shared library.
+ .
+ The libproject library provides various interfaces to extract data from
+ the project database. The project database offers a reasonably flexible
+ attribute mechanism for resource controls facility.
+ .
+ This is a 32-bit version of the library.
+
+Package: lib32project1-dev
+Section: libdevel
+Priority: optional
+Architecture: illumos-amd64
+Provides: lib32project-dev
+Depends: lib32project1 (= ${binary:Version}), libproject1-dev (= ${binary:Version}),
+ ${misc:Depends}
+Description: project configuration library (32-bit development files)
+ This package contains files needed to compile
+ 32-bit applications that use libproject.
+ .
+ The libproject library provides various interfaces to extract data from
+ the project database. The project database offers a reasonably flexible
+ attribute mechanism for resource controls facility.
+
diff --git a/libproject/debian/copyright b/libproject/debian/copyright
new file mode 100644
index 0000000..92d3a40
--- /dev/null
+++ b/libproject/debian/copyright
@@ -0,0 +1,27 @@
+Files: debian/*
+Copyright: 2012, Igor Pashev <pashev.igor@gmail.com>
+License: WTFPL-2
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ Version 2, December 2004
+ .
+ Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
+ .
+ Everyone is permitted to copy and distribute verbatim or modified
+ copies of this license document, and changing it is allowed as long
+ as the name is changed.
+ .
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+ .
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
+
+
+Files: *
+License: CDDL
+ Note that sources are not in this package but in the package
+ illumos-source-X.Y. Those sources are covered by Common Development
+ and Distribution License (CDDL).
+ .
+ On Dyson system, the full text of the CDDL license
+ can be found in the file `/usr/share/common-licenses/CDDL-1.0'.
+
diff --git a/libproject/debian/lib32project1-dev.install b/libproject/debian/lib32project1-dev.install
new file mode 100644
index 0000000..106e613
--- /dev/null
+++ b/libproject/debian/lib32project1-dev.install
@@ -0,0 +1 @@
+usr/lib32/libproject.so
diff --git a/libproject/debian/lib32project1.install b/libproject/debian/lib32project1.install
new file mode 100644
index 0000000..d37fa82
--- /dev/null
+++ b/libproject/debian/lib32project1.install
@@ -0,0 +1 @@
+usr/lib32/libproject.so.1
diff --git a/libproject/debian/libproject1-dev.install b/libproject/debian/libproject1-dev.install
new file mode 100644
index 0000000..740bd08
--- /dev/null
+++ b/libproject/debian/libproject1-dev.install
@@ -0,0 +1,2 @@
+usr/lib/*/libproject.so
+usr/include/project.h
diff --git a/libproject/debian/libproject1.install b/libproject/debian/libproject1.install
new file mode 100644
index 0000000..20756b2
--- /dev/null
+++ b/libproject/debian/libproject1.install
@@ -0,0 +1 @@
+usr/lib/*/libproject.so.1
diff --git a/libproject/debian/patches/libproject-avoid-userdefs.h.patch b/libproject/debian/patches/libproject-avoid-userdefs.h.patch
new file mode 100644
index 0000000..1c371bf
--- /dev/null
+++ b/libproject/debian/patches/libproject-avoid-userdefs.h.patch
@@ -0,0 +1,37 @@
+Description: avoid userdefs.h
+ 1. This is an ancient header with crazy ancient defaults
+ 2. It was included only for MAXGLEN
+ 3. MAXGLEN is damn small (= 9)
+Index: libproject/usr/src/lib/libproject/common/getprojent.c
+===================================================================
+--- libproject.orig/usr/src/lib/libproject/common/getprojent.c 2012-10-08 04:25:41.000000000 +0400
++++ libproject/usr/src/lib/libproject/common/getprojent.c 2012-10-30 19:59:30.409768851 +0400
+@@ -30,7 +30,6 @@
+ #include <user_attr.h>
+ #include <pwd.h>
+ #include <grp.h>
+-#include <userdefs.h>
+ #include <project.h>
+ #include <memory.h>
+ #include <nss_dbdefs.h>
+@@ -139,7 +138,7 @@
+ ismember(struct project *proj, const char *user, gid_t gid, int is_default)
+ {
+ char grbuf[NSS_BUFLEN_GROUP];
+- char groupname[MAXGLEN + 1];
++ const char *groupname = NULL;
+ int res = is_default;
+ struct group grp;
+ int group_ok = 0;
+@@ -147,8 +146,9 @@
+ char *member;
+
+ if (getgrgid_r(gid, &grp, grbuf, NSS_BUFLEN_GROUP) != NULL) {
+- group_ok = 1;
+- (void) snprintf(groupname, MAXGLEN, grp.gr_name);
++ groupname = strdupa(grp.gr_name);
++ if (NULL != groupname)
++ group_ok = 1;
+ }
+
+ /*
diff --git a/libproject/debian/patches/series b/libproject/debian/patches/series
new file mode 100644
index 0000000..11d8c9b
--- /dev/null
+++ b/libproject/debian/patches/series
@@ -0,0 +1 @@
+libproject-avoid-userdefs.h.patch
diff --git a/libproject/debian/rules b/libproject/debian/rules
new file mode 100755
index 0000000..c6465b5
--- /dev/null
+++ b/libproject/debian/rules
@@ -0,0 +1,92 @@
+#!/usr/bin/make -f
+
+include /usr/share/dpkg/architecture.mk
+export DH_VERBOSE = 1
+
+# libs having "install_h" target to install headers:
+libs_headers := \
+libproject \
+
+# All libraries to build and to package.
+# Order is important:
+libs := $(libs_headers) \
+
+
+unpack: unpack-stamp
+unpack-stamp:
+ dh_testdir
+ dh_illumos_gate --build \
+ $(libs:%=usr/src/lib/%) \
+ usr/src/head/project.h
+
+ # Not used and buggy:
+ echo > usr/src/Makefile.msg.targ
+ touch $@
+
+patch: patch-stamp
+patch-stamp: unpack-stamp
+ dh_testdir
+ [ ! -f debian/patches/series ] || QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2
+ touch $@
+
+unpatch:
+ dh_testdir
+ [ ! -f debian/patches/series ] || QUILT_PATCHES=debian/patches quilt pop -a -f || test $$? = 2
+ rm -f patch-stamp
+
+dirs-stamp:
+ . usr/env.sh; mkdir -p \
+ debian/tmp/usr/include \
+ debian/tmp$$DEB_LIBDIR_32 \
+ debian/tmp$$DEB_LIBDIR_64 \
+ debian/tmp$$DEB_USRLIBDIR_32 \
+ debian/tmp$$DEB_USRLIBDIR_64 \
+
+headers-stamp: patch-stamp dirs-stamp
+ cp usr/src/head/project.h debian/tmp/usr/include/
+ touch $@
+
+install build build-arch build-indep: build-stamp
+build-stamp: patch-stamp dirs-stamp headers-stamp
+ dh_illumos_make $(libs:%=usr/src/lib/%)
+ # Move dev symlink from /lib into /usr/lib:
+ for l in `find debian/tmp/lib32 -maxdepth 1 -type l -name \*.so`; do \
+ ln -sf `readlink -f $$l` debian/tmp/usr/lib32/`basename $$l`; \
+ rm $$l; \
+ done
+ for l in `find debian/tmp/lib/$(DEB_HOST_MULTIARCH) -maxdepth 1 -type l -name \*.so`; do \
+ ln -sf `readlink -f $$l` debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/`basename $$l`; \
+ rm $$l; \
+ done
+ # Make symlinks relative:
+ symlinks -c debian/tmp/usr/lib32
+ symlinks -c debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
+ touch $@
+
+binary binary-arch binary-indep: binary-stamp
+binary-stamp: build-stamp
+ dh_testdir
+ dh_testroot
+ dh_installdirs
+ dh_install
+ dh_installman
+ dh_installdocs
+ dh_installexamples
+ dh_installchangelogs
+ dh_link
+ dh_compress
+ dh_fixperms
+ dh_makeshlibs -- -c4
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+ touch $@
+
+clean: unpatch
+ dh_testdir
+ dh_testroot
+ dh_clean
+ rm -rf usr
+
diff --git a/libproject/debian/source/format b/libproject/debian/source/format
new file mode 100644
index 0000000..89ae9db
--- /dev/null
+++ b/libproject/debian/source/format
@@ -0,0 +1 @@
+3.0 (native)