This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Packaging crosstool-ng


Hi,

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@actcom.co.il                  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
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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]