Date: Sat, 4 Mar 2017 12:06:47 -0800 From: Bryan Drewery <bdrewery@FreeBSD.org> To: rgrimes@freebsd.org, Ngie Cooper <ngie@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r314657 - in head/kerberos5: . lib/libgssapi_krb5 lib/libgssapi_ntlm lib/libgssapi_spnego lib/libhdb lib/libkafs5 lib/libkrb5 libexec/hprop libexec/kpasswdd tools/asn1_compile tools/slc Message-ID: <60fc23c8-f80e-9092-9c01-47850a0ad871@FreeBSD.org> In-Reply-To: <201703041534.v24FYUeg077349@pdx.rh.CN85.dnsmgr.net> References: <201703041534.v24FYUeg077349@pdx.rh.CN85.dnsmgr.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --t87tl932nJ4gbqMC3U7drHCju4tTQoQIn Content-Type: multipart/mixed; boundary="lniAcROoS3id73GTi8tVfsaWcbcJN6edU"; protected-headers="v1" From: Bryan Drewery <bdrewery@FreeBSD.org> To: rgrimes@freebsd.org, Ngie Cooper <ngie@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <60fc23c8-f80e-9092-9c01-47850a0ad871@FreeBSD.org> Subject: Re: svn commit: r314657 - in head/kerberos5: . lib/libgssapi_krb5 lib/libgssapi_ntlm lib/libgssapi_spnego lib/libhdb lib/libkafs5 lib/libkrb5 libexec/hprop libexec/kpasswdd tools/asn1_compile tools/slc References: <201703041534.v24FYUeg077349@pdx.rh.CN85.dnsmgr.net> In-Reply-To: <201703041534.v24FYUeg077349@pdx.rh.CN85.dnsmgr.net> --lniAcROoS3id73GTi8tVfsaWcbcJN6edU Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 3/4/2017 7:34 AM, Rodney W. Grimes wrote: > What is ${.CURDIR:H:H} ????? Yes that seems to work but now we are obs= curing > ../.. into makefile syntax magic, probably not a grand idea. >=20 It just trims off the last directory component. This both reduces namecache lookups, lessens the amount of data in a log, and makes debugging a log simpler by not having a crazy path like: /home/bdrewery/big/git/buildserver/sys/modules/usb/template/../../../dev/= usb/template/usb_template.c It's far simpler to understand and work with: /home/bdrewery/big/git/buildserver/sys/dev/usb/template/usb_template.c The only downside is it is slightly more obscure in a Makefile, but once you know what :H is then it's not a problem. This is why SRCTOP is even better than this as it is far more clear than even :H and avoids the =2E./../ problems. >> Author: ngie >> Date: Sat Mar 4 11:34:36 2017 >> New Revision: 314657 >> URL: https://svnweb.freebsd.org/changeset/base/314657 >> >> Log: >> kerberos5: normalize paths using SRCTOP-relative paths or :H when po= ssible >> =20 >> This simplifies make logic/output >> =20 >> MFC after: 1 month >> Sponsored by: Dell EMC Isilon >> >> Modified: >> head/kerberos5/Makefile >> head/kerberos5/Makefile.inc >> head/kerberos5/lib/libgssapi_krb5/Makefile >> head/kerberos5/lib/libgssapi_ntlm/Makefile >> head/kerberos5/lib/libgssapi_spnego/Makefile >> head/kerberos5/lib/libhdb/Makefile >> head/kerberos5/lib/libkafs5/Makefile >> head/kerberos5/lib/libkrb5/Makefile >> head/kerberos5/libexec/hprop/Makefile >> head/kerberos5/libexec/kpasswdd/Makefile >> head/kerberos5/tools/asn1_compile/Makefile >> head/kerberos5/tools/slc/Makefile >> >> Modified: head/kerberos5/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/Makefile Sat Mar 4 11:33:01 2017 (r314656) >> +++ head/kerberos5/Makefile Sat Mar 4 11:34:36 2017 (r314657) >> @@ -11,7 +11,7 @@ KPROGS=3D lib/libpam \ >> # This target is used to rebuild these programs WITH Kerberos. >> kerberize: >> .for entry in ${KPROGS} >> - cd ${.CURDIR}/../${entry}; \ >> + cd ${.CURDIR:H}/${entry}; \ >> ${MAKE} cleandir; \ >> ${MAKE} obj; \ >> ${MAKE} all; \ >> @@ -21,7 +21,7 @@ kerberize: >> # This target is used to rebuild these programs WITHOUT Kerberos. >> dekerberize: >> .for entry in ${KPROGS} >> - cd ${.CURDIR}/../${entry}; \ >> + cd ${.CURDIR:H}/${entry}; \ >> ${MAKE} MK_KERBEROS=3Dno cleandir; \ >> ${MAKE} MK_KERBEROS=3Dno obj; \ >> ${MAKE} MK_KERBEROS=3Dno all; \ >> >> Modified: head/kerberos5/Makefile.inc >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/Makefile.inc Sat Mar 4 11:33:01 2017 (r314656) >> +++ head/kerberos5/Makefile.inc Sat Mar 4 11:34:36 2017 (r314657) >> @@ -4,9 +4,9 @@ >> =20 >> NO_LINT=3D >> =20 >> -KRB5DIR=3D ${.CURDIR}/../../../crypto/heimdal >> +KRB5DIR=3D ${SRCTOP}/crypto/heimdal >> =20 >> -CFLAGS+=3D -DHAVE_CONFIG_H -I${.CURDIR}/../../include >> +CFLAGS+=3D -DHAVE_CONFIG_H -I${.CURDIR:H:H}/include >> =20 >> .if ${MK_OPENLDAP} !=3D "no" && !defined(COMPAT_32BIT) >> OPENLDAPBASE?=3D /usr/local >> >> Modified: head/kerberos5/lib/libgssapi_krb5/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/lib/libgssapi_krb5/Makefile Sat Mar 4 11:33:01 201= 7 (r314656) >> +++ head/kerberos5/lib/libgssapi_krb5/Makefile Sat Mar 4 11:34:36 201= 7 (r314657) >> @@ -82,4 +82,4 @@ CFLAGS+=3D-I${KRB5DIR}/lib/roken -I. >> =20 >> .include <bsd.lib.mk> >> =20 >> -.PATH: ${KRB5DIR}/lib/gssapi/krb5 ${.CURDIR}/../../../lib/libgssapi >> +.PATH: ${KRB5DIR}/lib/gssapi/krb5 ${SRCTOP}/lib/libgssapi >> >> Modified: head/kerberos5/lib/libgssapi_ntlm/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/lib/libgssapi_ntlm/Makefile Sat Mar 4 11:33:01 201= 7 (r314656) >> +++ head/kerberos5/lib/libgssapi_ntlm/Makefile Sat Mar 4 11:34:36 201= 7 (r314657) >> @@ -45,4 +45,4 @@ CFLAGS+=3D-I${KRB5DIR}/lib/ntlm >> =20 >> .include <bsd.lib.mk> >> =20 >> -.PATH: ${KRB5DIR}/lib/gssapi/ntlm ${.CURDIR}/../../../lib/libgssapi $= {.CURDIR}/../libgssapi_krb5 >> +.PATH: ${KRB5DIR}/lib/gssapi/ntlm ${SRCTOP}/lib/libgssapi ${.CURDIR:H= }/libgssapi_krb5 >> >> Modified: head/kerberos5/lib/libgssapi_spnego/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/lib/libgssapi_spnego/Makefile Sat Mar 4 11:33:01 2= 017 (r314656) >> +++ head/kerberos5/lib/libgssapi_spnego/Makefile Sat Mar 4 11:34:36 2= 017 (r314657) >> @@ -31,7 +31,7 @@ CFLAGS+=3D-I${KRB5DIR}/lib/gssapi >> CFLAGS+=3D-I${KRB5DIR}/lib/gssapi/gssapi >> CFLAGS+=3D-I${KRB5DIR}/lib/gssapi/spnego >> CFLAGS+=3D-I${KRB5DIR}/lib/asn1 >> -CFLAGS+=3D-I${.CURDIR}/../../../lib/libgssapi >> +CFLAGS+=3D-I${SRCTOP}/lib/libgssapi >> CFLAGS+=3D-I${KRB5DIR}/lib/roken -I. >> =20 >> CLEANFILES=3D ${GEN} ${GEN:S/.x$/.c/:S/.hx$/.h/} \ >> @@ -45,7 +45,7 @@ ${GEN}: spnego.asn1 spnego.opt >> =20 >> .SUFFIXES: .h .c .x .hx >> =20 >> -.x.c: =20 >> +.x.c: >> ${CP} ${.IMPSRC} ${.TARGET} >> =20 >> .hx.h: >> @@ -55,4 +55,4 @@ ${GEN}: spnego.asn1 spnego.opt >> =20 >> .SUFFIXES: .h .c .x .hx >> =20 >> -.PATH: ${KRB5DIR}/lib/gssapi/spnego ${.CURDIR}/../../../lib/libgssapi= ${.CURDIR}/../libgssapi_krb5 >> +.PATH: ${KRB5DIR}/lib/gssapi/spnego ${SRCTOP}/lib/libgssapi ${.CURDIR= :H}/libgssapi_krb5 >> >> Modified: head/kerberos5/lib/libhdb/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/lib/libhdb/Makefile Sat Mar 4 11:33:01 2017 (r3146= 56) >> +++ head/kerberos5/lib/libhdb/Makefile Sat Mar 4 11:34:36 2017 (r3146= 57) >> @@ -57,7 +57,7 @@ SRCS=3D common.c \ >> ${GEN:S/.x$/.c/:S/.hx$/.h/} >> =20 >> CFLAGS+=3D-I${KRB5DIR}/lib/hdb -I${KRB5DIR}/lib/asn1 \ >> - -I${KRB5DIR}/lib/roken -I${.CURDIR}/../../../contrib/sqlite3/ \ >> + -I${KRB5DIR}/lib/roken -I${SRCTOP}/contrib/sqlite3/ \ >> -I${KRB5DIR}/lib/krb5 \ >> -I. ${LDAPCFLAGS} >> CFLAGS+=3D-DHDB_DB_DIR=3D"\"/var/heimdal\"" >> >> Modified: head/kerberos5/lib/libkafs5/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/lib/libkafs5/Makefile Sat Mar 4 11:33:01 2017 (r31= 4656) >> +++ head/kerberos5/lib/libkafs5/Makefile Sat Mar 4 11:34:36 2017 (r31= 4657) >> @@ -26,7 +26,7 @@ SRCS=3D afssys.c afskrb5.c common.c krb5_e >> =20 >> CFLAGS+=3D -I${KRB5DIR}/lib/kafs \ >> -I${KRB5DIR}/lib/krb5 \ >> - -I${.OBJDIR}/../libkrb5/ \ >> + -I${.OBJDIR:H}/libkrb5/ \ >> -I${KRB5DIR}/lib/roken >> =20 >> CLEANFILES=3D kafs5.3 >> >> Modified: head/kerberos5/lib/libkrb5/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/lib/libkrb5/Makefile Sat Mar 4 11:33:01 2017 (r314= 656) >> +++ head/kerberos5/lib/libkrb5/Makefile Sat Mar 4 11:34:36 2017 (r314= 657) >> @@ -625,4 +625,4 @@ CFLAGS+=3D -I${KRB5DIR}/lib/krb5 \ >> =20 >> .include <bsd.lib.mk> >> =20 >> -.PATH: ${KRB5DIR}/lib/krb5 ${KRB5DIR}/lib/asn1 ${KRB5DIR}/include ${.= CURDIR}/../../include ${KRB5DIR}/doc/doxyout/krb5/man/man3/ >> +.PATH: ${KRB5DIR}/lib/krb5 ${KRB5DIR}/lib/asn1 ${KRB5DIR}/include ${S= RCTOP}/kerberos5/include ${KRB5DIR}/doc/doxyout/krb5/man/man3/ >> >> Modified: head/kerberos5/libexec/hprop/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/libexec/hprop/Makefile Sat Mar 4 11:33:01 2017 (r3= 14656) >> +++ head/kerberos5/libexec/hprop/Makefile Sat Mar 4 11:34:36 2017 (r3= 14657) >> @@ -9,7 +9,7 @@ CFLAGS+=3D-I${KRB5DIR}/lib/asn1 >> CFLAGS+=3D-I${KRB5DIR}/lib/hx509 >> CFLAGS+=3D-I${KRB5DIR}/lib/ntlm >> CFLAGS+=3D-I${KRB5DIR}/kdc >> -CFLAGS+=3D-I${.OBJDIR}/../../lib/libkrb5 >> +CFLAGS+=3D-I${.OBJDIR:H:H}/lib/libkrb5 >> LIBADD=3D hdb krb5 roken vers >> DPADD=3D ${LDAPDPADD} >> LDADD=3D ${LDAPLDADD} >> >> Modified: head/kerberos5/libexec/kpasswdd/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/libexec/kpasswdd/Makefile Sat Mar 4 11:33:01 2017 = (r314656) >> +++ head/kerberos5/libexec/kpasswdd/Makefile Sat Mar 4 11:34:36 2017 = (r314657) >> @@ -2,7 +2,7 @@ >> =20 >> PROG=3D kpasswdd >> MAN=3D kpasswdd.8 >> -CFLAGS+=3D-I${KRB5DIR}/lib/roken -I../../lib/libhdb ${LDAPCFLAGS} >> +CFLAGS+=3D-I${KRB5DIR}/lib/roken -I${.CURDIR:H:H}/lib/libhdb ${LDAPCF= LAGS} >> LIBADD=3D kadm5srv hdb krb5 roken vers asn1 >> DPADD=3D ${LDAPDPADD} >> LDADD=3D ${LDAPLDADD} >> >> Modified: head/kerberos5/tools/asn1_compile/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/tools/asn1_compile/Makefile Sat Mar 4 11:33:01 201= 7 (r314656) >> +++ head/kerberos5/tools/asn1_compile/Makefile Sat Mar 4 11:34:36 201= 7 (r314657) >> @@ -2,7 +2,7 @@ >> =20 >> PROG=3D asn1_compile >> MAN=3D >> -LIBROKEN_A=3D ${.OBJDIR}/../../lib/libroken/libroken.a >> +LIBROKEN_A=3D ${.OBJDIR:H:H}/lib/libroken/libroken.a >> LIBADD=3D vers >> LDADD=3D ${LIBROKEN_A} >> DPADD=3D ${LIBROKEN_A} >> >> Modified: head/kerberos5/tools/slc/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/kerberos5/tools/slc/Makefile Sat Mar 4 11:33:01 2017 (r31465= 6) >> +++ head/kerberos5/tools/slc/Makefile Sat Mar 4 11:34:36 2017 (r31465= 7) >> @@ -1,7 +1,7 @@ >> # $FreeBSD$ >> =20 >> PROG=3D slc >> -LIBROKEN_A=3D ${.OBJDIR}/../../lib/libroken/libroken.a >> +LIBROKEN_A=3D ${.OBJDIR:H:H}/lib/libroken/libroken.a >> LIBADD=3D vers >> LDADD=3D ${LIBROKEN_A} >> DPADD=3D ${LIBROKEN_A} >> @@ -18,7 +18,7 @@ CLEANFILES=3D roken.h slc-gram.c slc-lex.c >> roken.h: >> ${MAKE_ROKEN} > ${.TARGET} >> =20 >> -# ${.OBJDIR}/../make-roken/make-roken > ${.TARGET} >> +# ${.OBJDIR:H}/make-roken/make-roken > ${.TARGET} >> =20 >> .include <bsd.prog.mk> >> =20 >> >> >=20 --=20 Regards, Bryan Drewery --lniAcROoS3id73GTi8tVfsaWcbcJN6edU-- --t87tl932nJ4gbqMC3U7drHCju4tTQoQIn Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJYux5YAAoJEDXXcbtuRpfPtU4IALg8iUAd4ksXm5YSvAVSyz34 zL9C8y0eFsoCn6ZK1LU3RvrGPAtgP92JEKJLPjHMQriQT1HsYfzbZ8Cpwpa6E9lW jnSZRLbDE9mf934w55X0Z0ksBbRj5/ykrQpDDyAHC4Um6FmXav4jniEJq5MDskyK 7Bv/5fo5ZOdb7jkC9tTHuvbvoWXEOdOrNH4C92QtYxSQlwhBqOWFP+gPKmGTH6pF hakVvFjLlaZKLX/J6/qINQoMj4Z6eCDEy2IQ2XDtqxa8U6Cjj6N/zvE50cI0Bky7 hT+ioBpTWhi95xZzj6FXg1+rZppscoz2hpRGWdP12tDqTtdnUjy+A029CFx5y0o= =Rqwh -----END PGP SIGNATURE----- --t87tl932nJ4gbqMC3U7drHCju4tTQoQIn--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?60fc23c8-f80e-9092-9c01-47850a0ad871>