try again to fix libmisc sharing problem

Issue #297 reported seeing

*** Warning: Linking the shared library libsubid.la against the
*** static library ../libmisc/libmisc.a is not portable!

which commit b5fb1b38ee was supposed
to fix.  But a few commits later it's back.  So try to fix it
in the way the bug reporter suggested.  This broke builds some
other ways, namely a few missing library specifications, so add
those.

Signed-off-by: Serge Hallyn <serge@hallyn.com>
This commit is contained in:
Serge Hallyn 2021-01-31 22:44:09 -06:00
parent 7cfe134090
commit 514c1328b6
4 changed files with 31 additions and 20 deletions

View File

@ -55,7 +55,7 @@ AC_CHECK_FUNCS(l64a fchmod fchown fsync futimes getgroups gethostname getspnam \
gettimeofday getusershell getutent initgroups lchown lckpwdf lstat \ gettimeofday getusershell getutent initgroups lchown lckpwdf lstat \
lutimes memcpy memset setgroups sigaction strchr updwtmp updwtmpx innetgr \ lutimes memcpy memset setgroups sigaction strchr updwtmp updwtmpx innetgr \
getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r getaddrinfo \ getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r getaddrinfo \
ruserok) ruserok dlopen)
AC_SYS_LARGEFILE AC_SYS_LARGEFILE
dnl Checks for typedefs, structures, and compiler characteristics. dnl Checks for typedefs, structures, and compiler characteristics.

View File

@ -3,9 +3,9 @@ EXTRA_DIST = .indent.pro xgetXXbyYY.c
AM_CPPFLAGS = -I$(top_srcdir)/lib $(ECONF_CPPFLAGS) AM_CPPFLAGS = -I$(top_srcdir)/lib $(ECONF_CPPFLAGS)
noinst_LIBRARIES = libmisc.a noinst_LTLIBRARIES = libmisc.la
libmisc_a_SOURCES = \ libmisc_la_SOURCES = \
addgrps.c \ addgrps.c \
age.c \ age.c \
audit_help.c \ audit_help.c \
@ -74,6 +74,6 @@ libmisc_a_SOURCES = \
yesno.c yesno.c
if WITH_BTRFS if WITH_BTRFS
libmisc_a_SOURCES += btrfs.c libmisc_la_SOURCES += btrfs.c
endif endif

View File

@ -12,12 +12,14 @@ MISCLIBS = \
$(LIBMD) \ $(LIBMD) \
$(LIBECONF) \ $(LIBECONF) \
$(LIBCRYPT) \ $(LIBCRYPT) \
$(LIBACL) \
$(LIBATTR) \
$(LIBTCB) $(LIBTCB)
libsubid_la_LIBADD = \ libsubid_la_LIBADD = \
$(top_srcdir)/lib/libshadow.la \ $(top_srcdir)/lib/libshadow.la \
$(MISCLIBS) \ $(top_srcdir)/libmisc/libmisc.la \
$(top_srcdir)/libmisc/libmisc.a $(MISCLIBS)
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-I${top_srcdir}/lib \ -I${top_srcdir}/lib \

View File

@ -78,7 +78,7 @@ shadowsgidubins = passwd
endif endif
LDADD = $(INTLLIBS) \ LDADD = $(INTLLIBS) \
$(top_builddir)/libmisc/libmisc.a \ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/lib/libshadow.la \ $(top_builddir)/lib/libshadow.la \
$(LIBTCB) $(LIBTCB)
@ -95,28 +95,37 @@ LIBCRYPT_NOPAM = $(LIBCRYPT)
endif endif
chage_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) chage_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
newuidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) newuidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) -ldl
newgidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) newgidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) -ldl
chfn_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) chfn_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
expiry_LDADD = $(LDADD) $(LIBECONF) expiry_LDADD = $(LDADD) $(LIBECONF)
gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl
groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl
groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl
grpck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) grpck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
grpconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) grpconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
grpunconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) grpunconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
lastlog_LDADD = $(LDADD) $(LIBAUDIT) $(LIBECONF) lastlog_LDADD = $(LDADD) $(LIBAUDIT) $(LIBECONF)
newuidmap_SOURCES = newuidmap.c ../libmisc/nss.c
newgidmap_SOURCES = newgidmap.c ../libmisc/nss.c
groupadd_SOURCES = groupadd.c ../libmisc/nss.c
groupmod_SOURCES = groupmod.c ../libmisc/nss.c
groupdel_SOURCES = groupdel.c ../libmisc/nss.c
newusers_SOURCES = newusers.c ../libmisc/nss.c
useradd_SOURCES = useradd.c ../libmisc/nss.c
usermod_SOURCES = usermod.c ../libmisc/nss.c
userdel_SOURCES = userdel.c ../libmisc/nss.c
login_SOURCES = \ login_SOURCES = \
login.c \ login.c \
login_nopam.c login_nopam.c
login_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) login_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
newgrp_LDADD = $(LDADD) $(LIBAUDIT) $(LIBCRYPT) $(LIBECONF) newgrp_LDADD = $(LDADD) $(LIBAUDIT) $(LIBCRYPT) $(LIBECONF)
newusers_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) newusers_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) -ldl
nologin_LDADD = nologin_LDADD =
passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBECONF) passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBECONF)
pwck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) pwck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
@ -127,9 +136,9 @@ su_SOURCES = \
suauth.c suauth.c
su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF) sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF)
useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -ldl
userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF) userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF) -ldl
usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -ldl
vipw_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) vipw_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
install-am: all-am install-am: all-am
@ -175,7 +184,7 @@ MISCLIBS = \
list_subid_ranges_LDADD = \ list_subid_ranges_LDADD = \
$(top_builddir)/lib/libshadow.la \ $(top_builddir)/lib/libshadow.la \
$(top_builddir)/libmisc/libmisc.a \ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/libsubid/libsubid.la \ $(top_builddir)/libsubid/libsubid.la \
$(MISCLIBS) $(MISCLIBS)
@ -186,7 +195,7 @@ list_subid_ranges_CPPFLAGS = \
get_subid_owners_LDADD = \ get_subid_owners_LDADD = \
$(top_builddir)/lib/libshadow.la \ $(top_builddir)/lib/libshadow.la \
$(top_builddir)/libmisc/libmisc.a \ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/libsubid/libsubid.la \ $(top_builddir)/libsubid/libsubid.la \
$(MISCLIBS) $(MISCLIBS)
@ -202,7 +211,7 @@ new_subid_range_CPPFLAGS = \
new_subid_range_LDADD = \ new_subid_range_LDADD = \
$(top_builddir)/lib/libshadow.la \ $(top_builddir)/lib/libshadow.la \
$(top_builddir)/libmisc/libmisc.a \ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/libsubid/libsubid.la \ $(top_builddir)/libsubid/libsubid.la \
$(MISCLIBS) $(MISCLIBS)
@ -213,7 +222,7 @@ free_subid_range_CPPFLAGS = \
free_subid_range_LDADD = \ free_subid_range_LDADD = \
$(top_builddir)/lib/libshadow.la \ $(top_builddir)/lib/libshadow.la \
$(top_builddir)/libmisc/libmisc.a \ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/libsubid/libsubid.la \ $(top_builddir)/libsubid/libsubid.la \
$(MISCLIBS) $(MISCLIBS)
endif endif