Your message dated Tue, 22 Sep 2020 01:18:42 +0000
with message-id <[email protected]>
and subject line Bug#736950: fixed in fakeroot 1.24.1-1
has caused the Debian Bug report #736950,
regarding fakeroot: Support Solaris ACLs, again
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
736950: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=736950
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: fakeroot
Version: 1.20-3+dyson1
Severity: normal

Dear Maintainer,

please find a patch which makes fakeroot work perfectly on Dyson (Debian port
to the illumos (OpenSolaris) kernel) [1].

The attached patch makes three things:

1. Report errors from dlsym() only when debug is enabled. Since ACL functions
are not in libc or ld.so they are usually not found and illumos ld.so creates
noise.

2. Better detect ACL functions. Both Linux and illumos have acl_t and it's not
enough to check only this type. configure.ac patched to search ACL functions in
libacl (linux) and libsec (illumos).

3. Adds wrappers for illumos ACLs functions to fix bugs [2].

Also build dependencies should be fixed:
Build-Depends: sharutils,
 libacl1-dev [!illumos-any],
 libsec-dev [illumos-any],
 libcap-dev [linux-any],
 libcap2-bin [linux-any]





[1] http://osdyson.org
[2] http://osdyson.org/issues/167



-- System Information:
Debian Release: bok
Architecture: illumos-amd64 (i86pc)

Kernel: SunOS 5.11
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash

Versions of packages fakeroot depends on:
ii  libc1        2.10+12
ii  libfakeroot  1.20-3+dyson1

fakeroot recommends no packages.

fakeroot suggests no packages.

-- no debconf information
Description: support for illumos (solaris) ACLs
 This patch makes GNU coreutils shut up and stops GNU sed
 making files with 0000 permissions.
Bug-Dyson: http://osdyson.org/issues/167
Author: Igor Pashev <[email protected]>

Index: fakeroot-1.20/libfakeroot.c
===================================================================
--- fakeroot-1.20.orig/libfakeroot.c	2014-01-27 21:22:04.000000000 +0400
+++ fakeroot-1.20/libfakeroot.c	2014-01-28 13:28:26.030053499 +0400
@@ -256,10 +256,12 @@
  /* clear dlerror() just in case dlsym() legitimately returns NULL */
     msg = dlerror();
     *(next_wrap[i].doit)=dlsym(get_libc(), next_wrap[i].name);
+#ifdef LIBFAKEROOT_DEBUGGING
+    /* illumos libc creates noise if symbols is not found (e. g. acl_get())*/
     if ( (msg = dlerror()) != NULL){
       fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg);
-/*    abort ();*/
     }
+#endif /* LIBFAKEROOT_DEBUGGING */
   }
 }
 
@@ -1916,6 +1918,9 @@
 }
 
 #ifdef HAVE_ACL_T
+
+/* linux: */
+#ifdef HAVE_ACL_GET_FD
 acl_t acl_get_fd(int fd) {
   errno = ENOTSUP;
   return (acl_t)NULL;
@@ -1928,12 +1933,51 @@
   errno = ENOTSUP;
   return -1;
 }
-
 int acl_set_file(const char *path_p, acl_type_t type, acl_t acl) {
   errno = ENOTSUP;
   return -1;
 }
-#endif /* HAVE_SYS_ACL_H */
+#endif /* HAVE_ACL_GET_FD */
+
+/* illumos: */
+#ifdef HAVE_ACL_TRIVIAL
+int acl_get(const char *path, int flags, acl_t **aclp)
+{
+    errno = ENOSYS;
+    return -1;
+}
+int facl_get(int fd, int flags, acl_t **aclp)
+{
+    errno = ENOSYS;
+    return -1;
+}
+int acl_set(const char *path, acl_t *aclp)
+{
+    errno = ENOSYS;
+    return -1;
+}
+int facl_set(int fd, acl_t *aclp)
+{
+    errno = ENOSYS;
+    return -1;
+}
+int acl_trivial(const char *path)
+{
+    return 0;
+}
+int acl(const char *path, int cmd, int cnt, void *buf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+int facl(int fd, int cmd, int cnt, void *buf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+#endif /* HAVE_ACL_TRIVIAL */
+
+#endif /* HAVE_ACL_T */
 
 #ifdef HAVE_FTS_READ
 FTSENT *fts_read(FTS *ftsp) {
Index: fakeroot-1.20/configure.ac
===================================================================
--- fakeroot-1.20.orig/configure.ac	2013-09-20 17:54:24.000000000 +0400
+++ fakeroot-1.20/configure.ac	2014-01-28 13:04:59.067226109 +0400
@@ -288,6 +288,16 @@
 
 AC_CHECK_FUNCS(fchmodat fchownat fstatat mkdirat mknodat openat renameat unlinkat lchmod fgetattrlist)
 
+save_LIBS="$LIBS"
+# Linux
+AC_SEARCH_LIBS(acl_get_fd, acl)
+AC_CHECK_FUNCS(acl_get_fd)
+
+# Illumos
+AC_SEARCH_LIBS(acl_trivial, sec)
+AC_CHECK_FUNCS(acl_trivial)
+LIBS="$save_LIBS"
+
 AC_CHECK_FUNCS(capset listxattr llistxattr flistxattr getxattr lgetxattr fgetxattr setxattr lsetxattr fsetxattr removexattr lremovexattr fremovexattr)
 
 dnl find out how stat() etc are called. On linux systems, we really
Index: fakeroot-1.20/wrapfunc.inp
===================================================================
--- fakeroot-1.20.orig/wrapfunc.inp	2013-09-20 17:54:24.000000000 +0400
+++ fakeroot-1.20/wrapfunc.inp	2014-01-28 13:22:39.411221945 +0400
@@ -208,10 +208,24 @@
 #endif /* HAVE_FSTATAT */
 
 #ifdef HAVE_ACL_T
+
+#ifdef HAVE_ACL_GET_FD
 acl_get_fd;acl_t;(int fd);(fd)
 acl_get_file;acl_t;(const char *path_p, acl_type_t type);(path_p, type)
 acl_set_fd;int;(int fd, acl_t acl);(fd, acl)
 acl_set_file;int;(const char *path_p, acl_type_t type, acl_t acl);(path_p, type, acl)
+#endif
+
+#ifdef HAVE_ACL_TRIVIAL
+acl_get;int;(const char *path, int flags, acl_t **aclp);(path, flags, aclp)
+facl_get;int;(int fd, int flags, acl_t **aclp);(fd, flags, aclp)
+acl_set;int;(const char *path, acl_t *aclp);(path, aclp)
+facl_set;int;(int fd, acl_t *aclp);(fd, aclp)
+acl_trivial;int;(const char *path);(path)
+acl;int;(const char *path, int cmd, int cnt, void *buf);(path, cmd, cnt, buf)
+facl;int;(int fd, int cmd, int cnt, void *buf);(fd, cmd, cnt, buf)
+#endif
+
 #endif /* HAVE_ACL_T */
 
 #ifdef HAVE_FTS_READ

--- End Message ---
--- Begin Message ---
Source: fakeroot
Source-Version: 1.24.1-1
Done: Clint Adams <[email protected]>

We believe that the bug you reported is fixed in the latest version of
fakeroot, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Clint Adams <[email protected]> (supplier of updated fakeroot package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Mon, 21 Sep 2020 20:50:35 -0400
Source: fakeroot
Architecture: source
Version: 1.24.1-1
Distribution: unstable
Urgency: medium
Maintainer: Clint Adams <[email protected]>
Changed-By: Clint Adams <[email protected]>
Closes: 736950 806521 959876
Changes:
 fakeroot (1.24.1-1) unstable; urgency=medium
 .
   [ Matt Weber ]
   * Select TCP when lack of SYSV IPC.
 .
   [ Norbert Lange ]
   * Fix fchownat and fchmod with empty path.  closes: #959876
 .
   [ Quanah Gibson-Mount ]
   * Fix namespace collision that can occur if the outside environment
     already has a variable named LIB defined.
 .
   [ Clint Adams ]
   * Patch to wrap getgroups() from David Kalnischkies.
     closes: #806521.
   * Patch from Igor Pashev to fix ACLs on Dyson.
     closes: #736950.
   * Drop hide-dlsym-error.patch; obsoleted by Dyson patch.
Checksums-Sha1:
 2f26d723895ff265f7757a33c5f91642496c1240 1971 fakeroot_1.24.1-1.dsc
 d132476fa78fdd10a32d72d07998531951f6d90c 111873 fakeroot_1.24.1.orig.tar.gz
 fb33d938e95f7de218d07a9fcfcbc1202589abf7 22500 fakeroot_1.24.1-1.debian.tar.xz
 21d80f396b44849c542c2e506fd7c9e322b3a390 5603 
fakeroot_1.24.1-1_source.buildinfo
Checksums-Sha256:
 4af787063ecc4b89019fbb65b89805349fb7c68fe485d09ffd834dbde28ba56b 1971 
fakeroot_1.24.1-1.dsc
 703164d33c3da92f0551431a933acf47d57c9d80017b62926c48e69bade97189 111873 
fakeroot_1.24.1.orig.tar.gz
 c4022c6beaf6f5250804723438360d6790e455086a93710f4579590c8d4e3afa 22500 
fakeroot_1.24.1-1.debian.tar.xz
 78fc8737886d5cee9217949c985a0f14f1c77009b0ed5699462b95d576dd9da3 5603 
fakeroot_1.24.1-1_source.buildinfo
Files:
 ce76132158c538d0e6e9eb30d0786f1e 1971 utils optional fakeroot_1.24.1-1.dsc
 9d54ce34ce8f30e2872856f889ea6a46 111873 utils optional 
fakeroot_1.24.1.orig.tar.gz
 b991162d8fb85462b8a5b3e68faf36e8 22500 utils optional 
fakeroot_1.24.1-1.debian.tar.xz
 4a1de97aedef09e2a3bf9cabb487f1c9 5603 utils optional 
fakeroot_1.24.1-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEEdYHsh0BT5sgHeRubVZIzHhmdOKgFAl9pTLARHGNsaW50QGRl
Ymlhbi5vcmcACgkQVZIzHhmdOKjG3RAAquDPkxaBZV08jsT1x+a4vHSwBU2YE2Q+
4ioSG9OGcfFgLdHPtI9nLc2NnR4GAUUpGeFoLNR+stjCYSsyH7fi2J/QctG9Nxc3
9dAzIj2Txtw8zTZ8qeKLXtSUEp/KqFPvEh9t6ZJr3Kl63APVNh6Hqq6bG5Xja+tZ
ZA5VBKiFybwRCYQIiExg5Hq67Z/aXRQZxUiuOswIx3yjpIzgTsEA8K39PiToqXZr
vgAXwKgAmSYilO2xtO64uqwio+0Ibn6cYEXEjup3H3uYJUyNoZZY4AQClUMWAX+8
ejSQMfFiDZtTOz+kUisDQKFOmuZp+//+JkovaRxh+Z3yt6g92QsD9a/tUBchrnWK
bwNSXxXELX9rzvMuhzMwX7XWT8odnbn0qUPBfCGOUQtCBvMjvVnjOfkRK9fDqUIq
XUX5OVOK8/Zz25THyDjS9SJbQG+t2JBWOJ26y1JXOP/PgxbXAg4vWI4jhMg9ugox
r+Aok1ErL/pJlq5gvWk0anTw4xCE1tTa6HnTOzeRjUgQUiJJZmVPC7V1QePr1bXx
FRZ8sWmWS1l3ws9W8OWQQYKqwqJ9Nb/nZFsU3Ez/xOCcSZ57QonUhWfIw2YOjqOI
kCXaIcyInYUAlyTYOqlW9xYGH9bdXMnWsaWO7G40c13Ay1EcL+9roxj8kZ1d+SWt
eoTVnr+zKEo=
=B0XH
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to