This commit is contained in:
Igor Pashev 2012-10-27 12:53:14 +04:00
parent 8466b05d1a
commit 4405b4cc90
15 changed files with 299 additions and 0 deletions

5
libsec/debian/changelog Normal file
View File

@ -0,0 +1,5 @@
libsec (2.10-1) unstable; urgency=low
* Initial release.
-- Igor Pashev <pashev.igor@gmail.com> Tue, 23 Oct 2012 03:02:05 +0400

1
libsec/debian/compat Normal file
View File

@ -0,0 +1 @@
9

66
libsec/debian/control Normal file
View File

@ -0,0 +1,66 @@
Source: libsec
Section: libs
Priority: optional
Maintainer: Igor Pashev <pashev.igor@gmail.com>
Build-Depends:
dh-illumos,
gcc-multilib,
illumos-source-2.10,
lib32sunavl1-dev, libsunavl1-dev,
lib32idmap1-dev, libidmap1-dev,
quilt,
symlinks,
Standards-Version: 3.9.3
Homepage: https://www.illumos.org
Package: libsec1
Section: libs
Priority: standard
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Architecture: illumos-any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: file access control library
This package contains the libsec dynamic library containing
the NFSv4 ACL functions for manipulating access control lists.
Package: libsec1-dev
Section: libdevel
Priority: optional
Architecture: illumos-any
Provides: libsec-dev
Depends: libsec1 (= ${binary:Version}), ${misc:Depends}, libc-dev
Description: file access control library (development files)
This package contains the header files and symlinks needed
to compile applications that use libsec.
.
libsec is a library containing the NFSv4 ACL functions for manipulating
access control lists.
.
Note that main header sys/acl.h is in the unix-libc-dev package.
Package: lib32sec1
Section: libs
Priority: standard
Architecture: illumos-amd64
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: file access control library (32 bit)
This package contains the libsec dynamic library containing
the NFSv4 ACL functions for manipulating access control lists.
.
This is a 32-bit version of the library.
Package: lib32sec1-dev
Section: libdevel
Priority: optional
Architecture: illumos-amd64
Provides: lib32sec-dev
Depends: lib32sec1 (= ${binary:Version}), libsec1-dev (= ${binary:Version}),
${misc:Depends}
Description: file access control library (32-bit development files)
This package contains files needed to compile
32-bit applications that use libsec.
.
libsec is a library containing the NFSv4 ACL functions for manipulating
access control lists.

View File

@ -0,0 +1 @@
usr/lib32/libsec.so

View File

@ -0,0 +1 @@
lib32/libsec.so.1

View File

@ -0,0 +1,2 @@
usr/lib/*/libsec.so
usr/include/aclutils.h

View File

@ -0,0 +1 @@
lib/*/libsec.so.1

View File

@ -0,0 +1,19 @@
Description: passing argument 2 of 'acevals_init'
makes integer from pointer without a cast
Index: illumos-corelibs/usr/src/common/acl/acl_common.c
===================================================================
--- illumos-corelibs.orig/usr/src/common/acl/acl_common.c 2012-10-08 04:25:34.000000000 +0400
+++ illumos-corelibs/usr/src/common/acl/acl_common.c 2012-10-24 23:44:27.110810733 +0400
@@ -778,9 +778,9 @@
static void
ace_list_init(ace_list_t *al, int dfacl_flag)
{
- acevals_init(&al->user_obj, NULL);
- acevals_init(&al->group_obj, NULL);
- acevals_init(&al->other_obj, NULL);
+ acevals_init(&al->user_obj, 0);
+ acevals_init(&al->group_obj, 0);
+ acevals_init(&al->other_obj, 0);
al->numusers = 0;
al->numgroups = 0;
al->acl_mask = 0;

View File

@ -0,0 +1,14 @@
Index: illumos-corelibs/usr/src/lib/libsec/common/acl.y
===================================================================
--- illumos-corelibs.orig/usr/src/lib/libsec/common/acl.y 2012-10-25 00:05:25.685292028 +0400
+++ illumos-corelibs/usr/src/lib/libsec/common/acl.y 2012-10-25 00:07:55.451014427 +0400
@@ -28,6 +28,9 @@
extern int yyinteractive;
extern acl_t *yyacl;
+
+static void
+bad_entry_type(int toketype, char *str);
%}
%union {

View File

@ -0,0 +1,12 @@
Index: illumos-corelibs/usr/src/lib/libsec/common/acl.y
===================================================================
--- illumos-corelibs.orig/usr/src/lib/libsec/common/acl.y 2012-10-25 00:23:30.118160396 +0400
+++ illumos-corelibs/usr/src/lib/libsec/common/acl.y 2012-10-25 00:27:18.741166407 +0400
@@ -25,6 +25,7 @@
#include <acl_common.h>
#include <aclutils.h>
+#include <stdlib.h>
extern int yyinteractive;
extern acl_t *yyacl;

View File

@ -0,0 +1,24 @@
Description:
1. yylex() - implicit declaration
2. yydebug() - undefined at link time (fixed with -t)
Index: illumos-corelibs/usr/src/lib/libsec/Makefile.com
===================================================================
--- illumos-corelibs.orig/usr/src/lib/libsec/Makefile.com 2012-10-08 04:25:42.000000000 +0400
+++ illumos-corelibs/usr/src/lib/libsec/Makefile.com 2012-10-24 23:49:31.349044187 +0400
@@ -26,7 +26,7 @@
LIBRARY= libsec.a
VERS= .1
-YFLAGS = -d -v -b acl
+YFLAGS = -t -d -v -b acl
LFLAGS = -t
OBJS_SHARED= acl_common.o
GENERATED_SRCS = acl.tab.o acl_lex.o
@@ -50,6 +50,7 @@
CERRWARN += -_gcc=-Wno-uninitialized
CERRWARN += -_gcc=-Wno-unused-label
CERRWARN += -_gcc=-Wno-unused-variable
+CERRWARN += -_gcc=-Wno-implicit-function-declaration
# install this library in the root filesystem
include ../../Makefile.rootfs

View File

@ -0,0 +1,54 @@
Index: illumos-corelibs/usr/src/lib/libsec/common/acl_lex.l
===================================================================
--- illumos-corelibs.orig/usr/src/lib/libsec/common/acl_lex.l 2012-10-08 04:25:42.000000000 +0400
+++ illumos-corelibs/usr/src/lib/libsec/common/acl_lex.l 2012-10-25 00:11:33.302165358 +0400
@@ -29,17 +29,7 @@
#include <errno.h>
#include "acl.tab.h"
-#ifdef input
-#undef input
-#endif
-
-#ifdef unput
-#undef unput
-#endif
-
int grab_string(char *terminators);
-static int input();
-static void unput(int);
int
yyerror(const char *s)
@@ -807,31 +797,6 @@
return (error);
}
-static int
-input(void)
-{
- int c;
-
- c = yybuf[yybufpos++];
- if (c == '\0') {
- return (EOF);
- }
-
- return (c);
-}
-
-static void
-unput(int c)
-{
- if (c == '\0') {
- return;
- }
-
- if (yybufpos > 0) {
- --yybufpos;
- }
-}
-
/*
* return ACE entry type
*/

View File

@ -0,0 +1,5 @@
acl_common.c-NULL-0.patch
libsec-acl.y.patch
libsec-acl.y-bad_entry_type-implicit.patch
libsec-acl_lex.l-input.patch
libsec-acl.y-realloc.patch

93
libsec/debian/rules Executable file
View File

@ -0,0 +1,93 @@
#!/usr/bin/make -f
include /usr/share/dpkg/architecture.mk
export DH_VERBOSE = 1
# libs having "install_h" target to install headers:
libs_headers := \
libsec \
# All libraries to build and to package.
# Order is important:
libs := $(libs_headers) \
unpack: unpack-stamp
unpack-stamp:
dh_testdir
dh_illumos_gate --build \
usr/src/lib/Makefile\* \
$(libs:%=usr/src/lib/%) \
usr/src/common/acl/acl_common.\* \
# 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
dh_illumos_make $(libs_headers:%=usr/src/lib/%) -t install_h
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

View File

@ -0,0 +1 @@
3.0 (native)