|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
queer usage of install-shHi all,
libxml comes with an 'install-sh' script which seems to be used when good old 'install' is missing on a system. (I know you need a strange system setup to run into this. Or in my case not having /usr/local/bin, which contains install, in PATH) libxml uses install-sh in the same way as install is used, with the result of an incomplete libxml installation. For example include directory will contain only SAX.h and SAX2.h. All other header files are missing. Doc directory will also miss most html files. Investigation of install-sh showed, this script seems not to be designed for copying multiple files at once. This is what libxml executes: ../.././install-sh -c -m 644 SAX.h entities.h encoding.h parser.h parserInternals.h xmlerror.h HTMLparser.h HTMLtree.h debugXML.h tree.h list.h hash.h xpath.h xpathInternals.h xpointer.h xinclude.h xmlIO.h xmlmemory.h nanohttp.h nanoftp.h uri.h valid.h xlink.h xmlversion.h DOCBparser.h catalog.h threads.h globals.h c14n.h xmlautomata.h xmlregexp.h xmlmodule.h xmlschemas.h schemasInternals.h xmlschemastypes.h xmlstring.h xmlunicode.h xmlreader.h relaxng.h dict.h '/home/jung/tmp/libxml2-2.7.6-hippo/include/libxml2/libxml' Wondering am I really the first running into this? Daniel, what do you think would a for loop surrounding install calls with multiple files be a good idea? By the way, this is what xmlsec is doing: install-xmlsecincHEADERS: $(xmlsecinc_HEADERS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(xmlsecincdir) @list='$(xmlsecinc_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f="`echo $$p | sed -e 's|^.*/||'`"; \ echo " $(xmlsecincHEADERS_INSTALL) $$d$$p $(DESTDIR)$(xmlsecincdir)/$$f"; \ $(xmlsecincHEADERS_INSTALL) $$d$$p $(DESTDIR)$(xmlsecincdir)/$$f; \ done Best regards, Matthias -- Matthias Jung Email: matthias.jung@... Phone: +49-30-440306-38 http://www.xtradyne.com | http://www.prismtech.com * XTRADYNE Security Infrastructure - a PRISMTECH Product Line * PrismTech GmbH Schoenhauser Allee 6-7, D-10119 Berlin, Germany Ust.-Id.-Nr.: DE814235971 Handelsregister: Amtsgericht Charlottenburg B HRB 96377 B Geschäftsführer: Keith Raymond Steele _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@... http://mail.gnome.org/mailman/listinfo/xml |
|
|
Re: queer usage of install-shOn Wed, Oct 21, 2009 at 11:41:37AM +0200, Matthias Jung wrote:
> Hi all, > libxml comes with an 'install-sh' script which seems to be used when > good old 'install' is missing on a system. > (I know you need a strange system setup to run into this. Or in my case > not having /usr/local/bin, which contains install, in PATH) > > libxml uses install-sh in the same way as install is used, with the > result of an incomplete libxml installation. For example include > directory will contain only SAX.h and SAX2.h. All other header files are > missing. Doc directory will also miss most html files. > > Investigation of install-sh showed, this script seems not to be designed > for copying multiple files at once. > > This is what libxml executes: > ../.././install-sh -c -m 644 SAX.h entities.h encoding.h parser.h > parserInternals.h xmlerror.h HTMLparser.h HTMLtree.h debugXML.h tree.h > list.h hash.h xpath.h xpathInternals.h xpointer.h xinclude.h xmlIO.h > xmlmemory.h nanohttp.h nanoftp.h uri.h valid.h xlink.h xmlversion.h > DOCBparser.h catalog.h threads.h globals.h c14n.h xmlautomata.h > xmlregexp.h xmlmodule.h xmlschemas.h schemasInternals.h > xmlschemastypes.h xmlstring.h xmlunicode.h xmlreader.h relaxng.h dict.h > '/home/jung/tmp/libxml2-2.7.6-hippo/include/libxml2/libxml' > > Wondering am I really the first running into this? Possibly > Daniel, what do you think would a for loop surrounding install calls > with multiple files be a good idea? > > By the way, this is what xmlsec is doing: > install-xmlsecincHEADERS: $(xmlsecinc_HEADERS) > @$(NORMAL_INSTALL) > $(mkinstalldirs) $(DESTDIR)$(xmlsecincdir) > @list='$(xmlsecinc_HEADERS)'; for p in $$list; do \ > if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ > f="`echo $$p | sed -e 's|^.*/||'`"; \ > echo " $(xmlsecincHEADERS_INSTALL) $$d$$p > $(DESTDIR)$(xmlsecincdir)/$$f"; \ > $(xmlsecincHEADERS_INSTALL) $$d$$p > $(DESTDIR)$(xmlsecincdir)/$$f; \ > done > this call to install.sh is generated ! See include/libxml/Makefile.am the source just lists the header in xmlinc_HEADERS, and auto* does the magic of calling install or install.sh . Maybe install.sh need to be refreshed Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@... | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@... http://mail.gnome.org/mailman/listinfo/xml |
|
|
Re: queer usage of install-shHi All,
Daniel Veillard wrote: > On Wed, Oct 21, 2009 at 11:41:37AM +0200, Matthias Jung wrote: >> Hi all, >> libxml comes with an 'install-sh' script which seems to be used when >> good old 'install' is missing on a system. >> (I know you need a strange system setup to run into this. Or in my case >> not having /usr/local/bin, which contains install, in PATH) >> >> libxml uses install-sh in the same way as install is used, with the >> result of an incomplete libxml installation. For example include >> directory will contain only SAX.h and SAX2.h. All other header files are >> missing. Doc directory will also miss most html files. >> >> Investigation of install-sh showed, this script seems not to be designed >> for copying multiple files at once. >> >> This is what libxml executes: >> ../.././install-sh -c -m 644 SAX.h entities.h encoding.h parser.h >> parserInternals.h xmlerror.h HTMLparser.h HTMLtree.h debugXML.h tree.h >> list.h hash.h xpath.h xpathInternals.h xpointer.h xinclude.h xmlIO.h >> xmlmemory.h nanohttp.h nanoftp.h uri.h valid.h xlink.h xmlversion.h >> DOCBparser.h catalog.h threads.h globals.h c14n.h xmlautomata.h >> xmlregexp.h xmlmodule.h xmlschemas.h schemasInternals.h >> xmlschemastypes.h xmlstring.h xmlunicode.h xmlreader.h relaxng.h dict.h >> '/home/jung/tmp/libxml2-2.7.6-hippo/include/libxml2/libxml' >> >> Wondering am I really the first running into this? > > Possibly > >> Daniel, what do you think would a for loop surrounding install calls >> with multiple files be a good idea? >> >> By the way, this is what xmlsec is doing: >> install-xmlsecincHEADERS: $(xmlsecinc_HEADERS) >> @$(NORMAL_INSTALL) >> $(mkinstalldirs) $(DESTDIR)$(xmlsecincdir) >> @list='$(xmlsecinc_HEADERS)'; for p in $$list; do \ >> if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ >> f="`echo $$p | sed -e 's|^.*/||'`"; \ >> echo " $(xmlsecincHEADERS_INSTALL) $$d$$p >> $(DESTDIR)$(xmlsecincdir)/$$f"; \ >> $(xmlsecincHEADERS_INSTALL) $$d$$p >> $(DESTDIR)$(xmlsecincdir)/$$f; \ >> done >> > > this call to install.sh is generated ! See > include/libxml/Makefile.am > the source just lists the header in xmlinc_HEADERS, and auto* does > the magic of calling install or install.sh . Maybe install.sh need > to be refreshed > > Daniel > Daniel, I confirm issue. FSF install-sh support (from automake): install-sh --help Usage: ..../install-sh [OPTION]... [-T] SRCFILE DSTFILE or: ..../install-sh [OPTION]... SRCFILES... DIRECTORY or: ..../install-sh [OPTION]... -t DIRECTORY SRCFILES... or: ..../install-sh [OPTION]... -d DIRECTORIES... .... Also .gitignore list following "automake" files : - ./config.guess - ./config.sub - ./depcomp but don't include following "automake" files : - install-sh - missing - mkinstalldirs It seems to me inconsistent. Matthias, You could replace files: - install-sh - missing - mkinstalldirs with files from automake package (usually located in /usr/share/automake*/ ) either manually or as run command "automake --force-missing --add-missing --copy --foreign" Regards, Roumen _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@... http://mail.gnome.org/mailman/listinfo/xml |
|
|
Re: queer usage of install-shOn Thu, Oct 22, 2009 at 12:10:29AM +0300, Roumen Petrov wrote:
> Hi All, Hi Roumen, - I have a pending patch from you, I need to review it, I know :-) - > Daniel Veillard wrote: >> this call to install.sh is generated ! See >> include/libxml/Makefile.am >> the source just lists the header in xmlinc_HEADERS, and auto* does >> the magic of calling install or install.sh . Maybe install.sh need >> to be refreshed >> >> Daniel >> > > Daniel, > I confirm issue. > FSF install-sh support (from automake): > install-sh --help > Usage: ..../install-sh [OPTION]... [-T] SRCFILE DSTFILE > or: ..../install-sh [OPTION]... SRCFILES... DIRECTORY > or: ..../install-sh [OPTION]... -t DIRECTORY SRCFILES... > or: ..../install-sh [OPTION]... -d DIRECTORIES... > .... > > Also .gitignore list following "automake" files : > - ./config.guess > - ./config.sub > - ./depcomp > but don't include following "automake" files : > - install-sh > - missing > - mkinstalldirs > It seems to me inconsistent. > Hum, right. I guess it's back from CVS, and old times where we knew the config.* would change on a regular basis. > Matthias, > You could replace files: > - install-sh > - missing > - mkinstalldirs > with files from automake package (usually located in > /usr/share/automake*/ ) either manually or as run command > "automake --force-missing --add-missing --copy --foreign" Yup that refreshes them, I commited the 3 updates. Now the question is : - should those files provided by auto* be in git ? + in a sense they are part of what makes a release + but they are somehow generated as coming from auto* - if we pick yes then maybe the 3 others should be added too - if we pick no then we should just remove them from git and list them in gitignore I don't know yet what's really the best approach, the status quo was fine until now but after a decade or so it managed to bite us :-) Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@... | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@... http://mail.gnome.org/mailman/listinfo/xml |
|
|
Re: queer usage of install-shOn Wed, Oct 21, 2009 at 11:36:38PM +0200, Daniel Veillard wrote:
> Yup that refreshes them, I commited the 3 updates. Now the question > is : > - should those files provided by auto* be in git ? > + in a sense they are part of what makes a release > + but they are somehow generated as coming from auto* > - if we pick yes then maybe the 3 others should be added too > - if we pick no then we should just remove them from git and > list them in gitignore > > I don't know yet what's really the best approach, the status quo was > fine until now but after a decade or so it managed to bite us :-) If you could also add AM_MAINTAINER_MODE to configure.in, that would make my life a whole lot easier. Thank you. Mike _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@... http://mail.gnome.org/mailman/listinfo/xml |
|
|
Re: queer usage of install-shDaniel Veillard wrote:
> On Thu, Oct 22, 2009 at 12:10:29AM +0300, Roumen Petrov wrote: [SNIP] >> >> Also .gitignore list following "automake" files : >> - ./config.guess >> - ./config.sub >> - ./depcomp >> but don't include following "automake" files : >> - install-sh >> - missing >> - mkinstalldirs >> It seems to me inconsistent. >> > > Hum, right. I guess it's back from CVS, and old times where > we knew the config.* would change on a regular basis. > >> Matthias, >> You could replace files: >> - install-sh >> - missing >> - mkinstalldirs >> with files from automake package (usually located in >> /usr/share/automake*/ ) either manually or as run command >> "automake --force-missing --add-missing --copy --foreign" > > Yup that refreshes them, I commited the 3 updates. Now the question > is : > - should those files provided by auto* be in git ? > + in a sense they are part of what makes a release > + but they are somehow generated as coming from auto* > - if we pick yes then maybe the 3 others should be added too > - if we pick no then we should just remove them from git and > list them in gitignore > > I don't know yet what's really the best approach, the status quo was > fine until now but after a decade or so it managed to bite us :-) > > Daniel > The project provide bootstrap script - autogen.sh. If README describe how to build from repository may be you could remove files from git. The automake option --foreign won't install license file COPYING. Option --copy is clear, so you may update update autogen.sh. Also GNU autotools install files with correct executable permissions. I know projects that incorrectly keep without those files in repository without executable permission and as result build from checkout source fail. As Makefile.in are not in repository and users as to run automake to generate them may be is better to remove those files. I didn't found reported by Matthias issue as for all project build from source I run own bootstrap scripts. The scripts remove following files from source tree: compile, depcomp, install-sh, install.sh, ltconfig, ltmain.sh, mdate-sh , missing, mkinstalldirs and ylwrap. Next script run GNU autotools commands and finally for some non-automake based project install my automake files mostly mkinstalldirs. Of course above scenario don't work well for all project based on GNU autotools build system. Roumen _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@... http://mail.gnome.org/mailman/listinfo/xml |
| Free embeddable forum powered by Nabble | Forum Help |