Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37893219
en ru br
ALT Linux repositórios
S:3.2-alt2
5.0: 1.10.9-alt1
4.1: 1.10.9-alt1

Group :: Sistema/Bibliotecas
RPM: libsemanage

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Patch: libsemanage-3.2-alt.patch
Download


 src/Makefile          |  5 +++--
 src/genhomedircon.c   | 26 +++++++++++++++++++-------
 src/libsemanage.pc.in |  3 +--
 3 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index ab6cae51..37bb7dc6 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -135,12 +135,13 @@ swigify: $(SWIGIF)
 
 install: all 
 	test -d $(DESTDIR)$(LIBDIR) || install -m 755 -d $(DESTDIR)$(LIBDIR)
+	test -d $(DESTDIR)$(SHLIBDIR) || install -m 755 -d $(DESTDIR)$(SHLIBDIR)
 	install -m 644 $(LIBA) $(DESTDIR)$(LIBDIR)
-	install -m 755 $(LIBSO) $(DESTDIR)$(LIBDIR)
+	install -m 755 $(LIBSO) $(DESTDIR)$(SHLIBDIR)
 	test -d $(DESTDIR)$(LIBDIR)/pkgconfig || install -m 755 -d $(DESTDIR)$(LIBDIR)/pkgconfig
 	install -m 644 $(LIBPC) $(DESTDIR)$(LIBDIR)/pkgconfig
 	test -f $(DESTDIR)$(DEFAULT_SEMANAGE_CONF_LOCATION) || install -m 644 -D semanage.conf $(DESTDIR)$(DEFAULT_SEMANAGE_CONF_LOCATION)
-	cd $(DESTDIR)$(LIBDIR) && ln -sf $(LIBSO) $(TARGET)
+	cd $(DESTDIR)$(LIBDIR) && ln -sfr $(DESTDIR)$(SHLIBDIR)/$(LIBSO) $(TARGET)
 
 install-pywrap: pywrap 
 	test -d $(DESTDIR)$(PYTHONLIBDIR) || install -m 755 -d $(DESTDIR)$(PYTHONLIBDIR)
diff --git a/src/genhomedircon.c b/src/genhomedircon.c
index d08c88de..a8c4b06b 100644
--- a/src/genhomedircon.c
+++ b/src/genhomedircon.c
@@ -59,6 +59,8 @@
 #define PATH_DEFAULT_HOME "/home"
 #define PATH_EXPORT_HOME "/export/home"
 #define PATH_ETC_LOGIN_DEFS "/etc/login.defs"
+#define PATH_SRV_HOME "/srv/home"
+#define PATH_VAR_SRV_HOME "/var/srv/home"
 
 /* other paths */
 #define PATH_SHELLS_FILE "/etc/shells"
@@ -287,6 +289,15 @@ done:
 	return retval;
 }
 
+static int push_extra_homedirs(semanage_list_t **phomedir_list, const char *path)
+{
+	struct stat buf;
+
+	if (!lstat(path, &buf) && S_ISDIR(buf.st_mode))
+		return semanage_list_push(phomedir_list, path);
+	return 0;
+}
+
 static semanage_list_t *get_home_dirs(genhomedircon_settings_t * s)
 {
 	semanage_list_t *homedir_list = NULL;
@@ -319,13 +330,14 @@ static semanage_list_t *get_home_dirs(genhomedircon_settings_t * s)
 		}
 	}
 
-	if (!stat(PATH_EXPORT_HOME, &buf)) {
-		if (S_ISDIR(buf.st_mode)) {
-			if (semanage_list_push(&homedir_list, PATH_EXPORT_HOME)) {
-				goto fail;
-			}
-		}
-	}
+	if (push_extra_homedirs(&homedir_list, PATH_EXPORT_HOME))
+		goto fail;
+
+	if (push_extra_homedirs(&homedir_list, PATH_SRV_HOME))
+		goto fail;
+
+	if (push_extra_homedirs(&homedir_list, PATH_VAR_SRV_HOME))
+		goto fail;
 
 	if (!(s->usepasswd))
 		return homedir_list;
diff --git a/src/libsemanage.pc.in b/src/libsemanage.pc.in
index 43681ddb..8bb62c48 100644
--- a/src/libsemanage.pc.in
+++ b/src/libsemanage.pc.in
@@ -7,7 +7,6 @@ Name: libsemanage
 Description: SELinux management library
 Version: @VERSION@
 URL: http://userspace.selinuxproject.org/
-Requires.private: libselinux libsepol
 Libs: -L${libdir} -lsemanage
-Libs.private: -lbz2
+Libs.private: -lbz2 -lselinux -lsepol
 Cflags: -I${includedir}
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009