|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
Packaging crosstool-ngHi,
I've started packaging CT-NG for Fedora. The current results are in http://oron.fedorapeople.org/crosstool-ng Checking the results with rpmlint, I did some cleanups: 1. The populate script was configured during toolchain build. I moved most of this to configuration time, like other .in files. The only thing that's still postponed to toolchain build is CT_TARGET substitution. This change is contained in the attached patch. 2. Two scripts have 644 permissions instead of 755: /usr/share/ct-ng-1.4.2/kconfig/lxdialog/check-lxdialog.sh /usr/share/ct-ng-1.4.2/kconfig/check-gettext.sh I changed it in my package, but IMO it should be done in the upstream tarball. 3. There are other 3 "scripts" with 644 perms: /usr/share/ct-ng-1.5.0/scripts/toolchain-config.in /usr/share/ct-ng-1.5.0/scripts/build/debug/duma.in /usr/share/ct-ng-1.5.0/scripts/wrapper.in I didn't change their permissions, as they are actually templates used to generate scripts. Just making them executable to silence rpmlint does not seem right to me. Hmmm.... re-thinking of this, the populate script also belong to the same category, so maybe I shouldn't have made it executable in the new Makefile. What do you think? -- Oron Peled Voice: +972-4-8228492 oron@... http://users.actcom.co.il/~oron ...there are two types of command interfaces in the world of computing: good interfaces and user interfaces. - Dan Bernstein, Author of qmail [crosstool-ng-1.5.0.populate.patch] diff -up crosstool-ng.1.5.0/Makefile.in.orig crosstool-ng.1.5.0/Makefile.in --- crosstool-ng.1.5.0/Makefile.in.orig 2009-10-04 13:14:13.000000000 +0200 +++ crosstool-ng.1.5.0/Makefile.in 2009-10-13 10:01:32.000000000 +0200 @@ -102,7 +102,7 @@ uninstall: real-uninstall #-------------------------------------- # Build rules -build-bin: ct-ng scripts/crosstool-NG.sh scripts/saveSample.sh scripts/showTuple.sh +build-bin: ct-ng scripts/crosstool-NG.sh scripts/saveSample.sh scripts/showTuple.sh scripts/populate @chmod 755 $^ build-lib: paths.mk @@ -125,6 +125,8 @@ docs/ct-ng.1.gz: docs/ct-ng.1 -e 's,@@CT_DATE@@,$(DATE),g;' \ -e 's,@@CT_make@@,$(make),g;' \ -e 's,@@CT_bash@@,$(bash),g;' \ + -e 's,@@CT_grep@@,'"${grep}"',g;' \ + -e 's,@@CT_sed@@,'"${sed}"',g;' \ $@.in >$@ # We create a script fragment that is parseable from inside a Makefile, @@ -202,6 +204,7 @@ install-lib-main: $(DESTDIR)$(LIBDIR) done @chmod a+x $(DESTDIR)$(LIBDIR)/scripts/crosstool-NG.sh @chmod a+x $(DESTDIR)$(LIBDIR)/scripts/saveSample.sh + @chmod a+x $(DESTDIR)$(LIBDIR)/scripts/populate @rm -f "$(DESTDIR)$(LIBDIR)/scripts/addToolVersion.sh" @echo " INST 'steps.mk'" @$(install) -m 644 steps.mk "$(DESTDIR)$(LIBDIR)/steps.mk" diff -up crosstool-ng.1.5.0/scripts/build/internals.sh.orig crosstool-ng.1.5.0/scripts/build/internals.sh --- crosstool-ng.1.5.0/scripts/build/internals.sh.orig 2009-10-13 09:54:40.000000000 +0200 +++ crosstool-ng.1.5.0/scripts/build/internals.sh 2009-10-13 09:55:44.000000000 +0200 @@ -11,12 +11,7 @@ do_finish() { if [ "${CT_BARE_METAL}" != "y" ]; then CT_DoLog EXTRA "Installing the populate helper" sed -r -e 's|@@CT_TARGET@@|'"${CT_TARGET}"'|g;' \ - -e 's|@@CT_install@@|'"${install}"'|g;' \ - -e 's|@@CT_bash@@|'"${bash}"'|g;' \ - -e 's|@@CT_grep@@|'"${grep}"'|g;' \ - -e 's|@@CT_make@@|'"${make}"'|g;' \ - -e 's|@@CT_sed@@|'"${sed}"'|g;' \ - "${CT_LIB_DIR}/scripts/populate.in" \ + "${CT_LIB_DIR}/scripts/populate" \ >"${CT_PREFIX_DIR}/bin/${CT_TARGET}-populate" CT_DoExecLog ALL chmod 755 "${CT_PREFIX_DIR}/bin/${CT_TARGET}-populate" fi -- For unsubscribe information see http://sourceware.org/lists.html#faq |
|
|
Re: Packaging crosstool-ngHello Oron!
Sorry for the delay, I was away at ELC-E this week, and only came back home tonight. On Wednesday 14 October 2009 10:46:18 Oron Peled wrote: > I've started packaging CT-NG for Fedora. The current results > are in http://oron.fedorapeople.org/crosstool-ng Hey! Nice! :-) > Checking the results with rpmlint, I did some cleanups: > 1. The populate script was configured during toolchain build. > I moved most of this to configuration time, like other .in > files. The only thing that's still postponed to toolchain build > is CT_TARGET substitution. > This change is contained in the attached patch. Nothing really wrong with the patch, except that I would prefer that we mangle populate in a single place. And becasue CT_TARGET is not known at that time, we should keep the whole mangling to where it is now. Unless you come with a reason better than 'rpmlint complains', which I don't buy. OTOH, it's not the only .in file that gets isntalled: the tools wrapper is also installed as .in, and then copied at the end of the toolchain build (although the wrapper is not mangled). Maybe we need to find a naming scheme for files that are mangled at crosstool-NG installation, and another scheme for files that are mangled when the toolchain is built. Anyway, next time, please submit a Mercurial patch. This keeps attribution, history, and is easier to manage. Please have a look at the documentation, section "Contributing". > 2. Two scripts have 644 permissions instead of 755: > /usr/share/ct-ng-1.4.2/kconfig/lxdialog/check-lxdialog.sh > /usr/share/ct-ng-1.4.2/kconfig/check-gettext.sh > I changed it in my package, but IMO it should be done in the > upstream tarball. Hmmm. Lemme see... No, they are called from the kconfig/kconfig.mk makefile fragment with: $(shell $(SHELL) blabla...) So they need not be executable. I remember that they previously were executables, but directly calling them was failing on some systems, so I reverted to calling for the shell to interpret them, and expressly removed the x-bit. > 3. There are other 3 "scripts" with 644 perms: > /usr/share/ct-ng-1.5.0/scripts/toolchain-config.in > /usr/share/ct-ng-1.5.0/scripts/build/debug/duma.in > /usr/share/ct-ng-1.5.0/scripts/wrapper.in > I didn't change their permissions, as they are actually > templates used to generate scripts. Just making them > executable to silence rpmlint does not seem right to me. Nope. They are source files, execpt they contain script code. > Hmmm.... re-thinking of this, the populate script also > belong to the same category, so maybe I shouldn't have > made it executable in the new Makefile. Yep. On the whole, I think that rpmlint is wrong here. Thanks for taking the burden to try and package crosstool-NG! :-) Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | `------------------------------^-------^------------------^--------------------' -- For unsubscribe information see http://sourceware.org/lists.html#faq |
| Free embeddable forum powered by Nabble | Forum Help |