From 844994dad2286db8f4171ce5fbbbfdd59c3b1f8d Mon Sep 17 00:00:00 2001 From: fred <fred> Date: Tue, 26 Mar 2002 23:10:31 +0000 Subject: [PATCH] lilypond-1.3.42 --- VERSION | 2 +- buildscripts/make-cygwin-cross.sh | 417 ++++++++++++++++++++++-------- 2 files changed, 306 insertions(+), 113 deletions(-) diff --git a/VERSION b/VERSION index 7c8fb20926..11e6788b01 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=41 +PATCH_LEVEL=42 MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a diff --git a/buildscripts/make-cygwin-cross.sh b/buildscripts/make-cygwin-cross.sh index e6277959e0..73a1a40990 100644 --- a/buildscripts/make-cygwin-cross.sh +++ b/buildscripts/make-cygwin-cross.sh @@ -26,33 +26,45 @@ # config section ################ -target=cygwin -#target=mingw +TARGET_OS=cygwin +#TARGET_OS=mingw32 -if [ $target = cygwin ]; then +if [ $TARGET_OS = cygwin ]; then ROOT=/usr/src/cygwin-net-485 - TARGET_ARCH=i686-pc-cygwin + TARGET_ARCH=i686 + TARGET_VENDOR=pc else ROOT=/usr/src/mingw-net-485 - TARGET_ARCH=i386-pc-mingw32 + TARGET_ARCH=i386 + TARGET_VENDOR=pc fi +TARGET_PLATFORM=$TARGET_ARCH-$TARGET_VENDOR-$TARGET_OS + +ARCH=`uname -m` +OS=`uname -s | tr '[A-Z]' '[a-z]'` +VENDOR=gnu +PLATFORM=$ARCH-$VENDOR-$OS + +#CROSS_TARGET_PLATFORM=$ARCH-x-$TARGET_PLATFORM +CROSS_TARGET_PLATFORM=$PLATFORM-x-$TARGET_PLATFORM +cto=$OS-x-cygwin +tp=i686-cygwin + PREFIX=$ROOT/usr NATIVE_ROOT=/Cygnus NATIVE_PREFIX=$NATIVE_ROOT/usr +CROSS_ROOT=$NATIVE_ROOT/$cto +CROSS_PREFIX=$CROSS_ROOT/usr # urg DEVEL=/home/fred distdir=$DEVEL/WWW/lilypond/gnu-windows/lily-w32 #distdir=/tmp -SOURCE_PATH=$DEVEL/usr/src/releases:$DEVEL/usr/src/redhat/SRPMS - -ARCH=`uname -m` -OS=`uname -s | tr '[A-Z]' '[a-z]'` -HOST=$ARCH-gnu-$OS -CROSS_TARGET_ARCH=$ARCH-x-$TARGET_ARCH -cta=$ARCH-x-cygwin -ta=i686-cygwin +CYGWIN_SOURCE=$DEVEL/sourceware.cygnus.com/pub/cygwin/private/cygwin-net-485 +cygwin_dirs=`/bin/ls -d1 $CYGWIN_SOURCE/*` +cygwin_source_path=`echo $CYGWIN_SOURCE $cygwin_dirs | sed s'/\$/:/g'` +SOURCE_PATH=$DEVEL/usr/src/releases:$DEVEL/usr/src/redhat/SRPMS:$cygwin_source_path cygwin_binary=cygwin-20000301.tar.gz mingw_binary=bin-crtdll-2000-02-03.tar.gz @@ -68,12 +80,28 @@ MINWG_DLL=mingwc10-net-485.dll cross_rpm=" binutils-19990818 +gcc-2.95.2 bison flex -gcc-2.95.2 " -#guile_after_rpm='ln -f $NATIVE_PREFIX/bin/i686-redhat-cygwin-guile-config $NATIVE_PREFIX/bin/i686-pc-cygwin-guile-config' +# binutils installs ok, but forgets these two +binutils_after_rpm=' +cd $CROSS_PREFIX/$TARGET_PLATFORM/bin \; +ln -f ../../bin/$TARGET_PLATFORM-objdump objdump \; +ln -f ../../bin/$TARGET_PLATFORM-objcopy objcopy \; +mv -f ld ld-in-path-breaks-libtool +' +# burp. gcc doesn't install any of these +gcc_after_rpm=' +cd $CROSS_PREFIX/$TARGET_PLATFORM/bin \; +ln -f ../../bin/$TARGET_PLATFORM-gcc cc \; +ln -f ../../bin/$TARGET_PLATFORM-gcc gcc \; +ln -f ../../bin/$TARGET_PLATFORM-c++ c++ \; +ln -f ../../bin/$TARGET_PLATFORM-g++ g++ +' + +guile_after_rpm='cp -f $NATIVE_PREFIX/bin/*guile-config $CROSS_PREFIX/$TARGET_PLATFORM/bin' lilypond_version=@TOPLEVEL_VERSION@ @@ -82,6 +110,7 @@ rx-1.5 zlib-1.1.3 db-2.7.7 guile-1.3.4 +bash-2.03 rpm-3.0.4 lilypond-$lilypond_version " @@ -127,17 +156,18 @@ build () name=`echo $package | sed 's/-.*//'` if [ $type = "cross" ]; then - target_arch=$CROSS_TARGET_ARCH - a=$cta + target_platform=$CROSS_TARGET_PLATFORM + a=$cto else - target_arch=$TARGET_ARCH - a=$ta + target_platform=$TARGET_PLATFORM + a=$tp fi - rpm_package=`find_path $name*.rpm "$topdir/RPMS/$cta:$topdir/RPMS/$ta"` + rpm_package=`find_path $name*.rpm "$topdir/RPMS/$cto:$topdir/RPMS/$tp"` if [ "$rpm_package" != "" ]; then echo "$rpm_package: package exists" - echo "$rpm_package: just updating db" + #echo "$rpm_package: refreshing installation only" + echo "$rpm_package: just updating rpm database" rpm -ivv --justdb --ignoreos --ignorearch --nodeps --force\ --dbpath $NATIVE_ROOT/var/lib/rpm \ $topdir/RPMS/$a/$name*.rpm @@ -148,15 +178,15 @@ build () found=`find_path $package*src.rpm` if [ "$found" != "" ]; then rpm --root $NATIVE_ROOT -ivv $found || exit 1 - rpm --target=$target_arch -ba SPECS/$name*.spec || exit 1 + rpm --target=$target_platform -ba SPECS/$name*.spec || exit 1 else tarball=`/bin/ls -d1 SOURCES/$package*tar.gz 2>/dev/null | head -1` - if [ "SPECS/$name.spec" != "" ] && [ "$tarball" != "" ]; then - rpm --target=$target_arch -ba SPECS/$name.spec || exit 1 + if [ "$name.spec" != "" ] && [ "$tarball" != "" ]; then + rpm --target=$target_platform -ba SPECS/$name.spec || exit 1 else found=`find_path $package*tar.gz` if [ "$found" != "" ]; then - rpm --target=$target_arch -ta $found || exit 1 + rpm --target=$target_platform -ta $found || exit 1 else echo "$package: no such rpm or tarball" exit 1 @@ -168,6 +198,9 @@ build () rpm -ivv --ignoreos --ignorearch --nodeps --force\ --dbpath $NATIVE_ROOT/var/lib/rpm \ $topdir/RPMS/$a/$name*.rpm + #urg + name_after_rpm="`expand $name _after_rpm`" + `eval $name_after_rpm` || exit 1 ) } @@ -184,9 +217,19 @@ mkdir -p $ROOT if [ ! -d $PREFIX/bin ]; then mkdir -p $PREFIX cd $PREFIX - mkdir -p include - mkdir -p $TARGET_ARCH - cd $TARGET_ARCH && ln -s ../include . + + ## is this still necessary? + mkdir -p include lib + mkdir -p $TARGET_PLATFORM + cd $TARGET_PLATFORM && ln -s ../include . + + mkdir -p $CROSS_PREFIX/$TARGET_PLATFORM + cd $CROSS_PREFIX/$TARGET_PLATFORM + ln -s $NATIVE_PREFIX/{include,lib} . + #ln -s $NATIVE_PREFIX/{include,lib} . + #ln -s $NATIVE_PREFIX/include . + #ln -s $CROSS_PREFIX/bin . + cd $ROOT found=`find_path $cygwin_binary` if [ "$found" = "" ]; then @@ -195,14 +238,15 @@ if [ ! -d $PREFIX/bin ]; then fi tar xzf $found # urg, bug in gcc's cross-make configuration - mkdir -p $PREFIX/lib/gcc-lib/$TARGET_ARCH/2.95.2 + mkdir -p $PREFIX/lib/gcc-lib/$TARGET_PLATFORM/2.95.2 + mkdir -p $CROSS_PREFIX/lib/gcc-lib/$TARGET_PLATFORM/2.95.2 else echo "$PREFIX: already exists" echo "$cygwin_binary: skipping" fi # mingw -if [ ! -d $PREFIX/$TARGET_ARCH ]; then +if [ ! -d $PREFIX/$TARGET_PLATFORM ]; then cd $PREFIX found=`find_path $mingw_binary` if [ "$found" = "" ]; then @@ -211,11 +255,11 @@ if [ ! -d $PREFIX/$TARGET_ARCH ]; then fi tar xzf $found - mkdir -p $PREFIX/lib/gcc-lib/$TARGET_ARCH/2.95.2 + mkdir -p $PREFIX/lib/gcc-lib/$TARGET_PLATFORM/2.95.2 rm -f include mkdir -p $PREFIX/i386-mingw32/include - ln -s $PREFIX/i386-mingw32 $TARGET_ARCH - ln -s $PREFIX/$TARGET_ARCH/include . + ln -s $PREFIX/i386-mingw32 $TARGET_PLATFORM + ln -s $PREFIX/$TARGET_PLATFORM/include . fi rm -f $NATIVE_ROOT @@ -235,26 +279,63 @@ ncs=`eval echo $native_config_site` rm -f $ncs mkdir -p `dirname $ncs` cat > $ncs <<EOF +ac_cv_c_bigendian=no +ac_cv_sizeof_char_p=4 ac_cv_sizeof_int=4 ac_cv_sizeof_long=4 -ac_cv_sys_restartable_syscalls=yes +ac_cv_sizeof_float=4 +ac_cv_sizeof_double=8 +ac_cv_sys_restartable_syscalls=no ac_cv_sprintf_count=yes ac_cv_spinlocks=no db_cv_sprintf_count=yes db_cv_spinlocks=no +ac_cv_func_getpgrp_void=yes +ac_cv_func_setvbuf_reversed=no +ac_cv_lib_intl=no +# urg, lots of stuff goes wrong when configuring bash?? +ac_cv_exeext=.exe +ac_cv_header_libintl_h=no +ac_cv_header_termcap_h=no +ac_cv_func_mkfifo=yes +bash_cv_dup2_broken=no +bash_cv_opendir_not_robust=no +bash_cv_pgrp_pipe=no +bash_cv_printf_declared=yes +bash_cv_sbrk_declared=yes +bash_cv_signal_vintage=posix +bash_cv_speed_t_in_sys_types=no +bash_cv_struct_timeval=yes +bash_cv_struct_winsize_header=ioctl_h +bash_cv_sys_errlist=yes +bash_cv_sys_named_pipes=missing +bash_cv_func_strcoll_broken=no +bash_cv_must_reinstall_sighandlers=no +bash_cv_getcwd_calls_popen=no +bash_cv_func_sigsetjmp=missing +bash_cv_job_control_missing=present +bash_cv_sys_restartable_syscalls=no +bash_cv_getenv_redef=yes +bash_cv_sys_siglist=no +bash_cv_type_rlimit=long +bash_cv_ulimit_maxfds=no +bash_cv_decl_under_sys_siglist=no +bash_cv_under_sys_siglist=no EOF -cross_rpm_dir=$NATIVE_PREFIX/lib/rpm/$cta -cross_rpm_link=/usr/lib/rpm/$cta +#URG, stupid RPM +rpm_ct=$ARCH-$TARGET_OS +cross_rpm_dir=$CROSS_PREFIX/lib/rpm/$rpm_ct +cross_rpm_link=/usr/lib/rpm/$rpm_ct mkdir -p $cross_rpm_dir rm -f $cross_rpm_link -ln -s $NATIVE_PREFIX/lib/rpm/$cta $cross_rpm_link +ln -s $cross_rpm_dir $cross_rpm_link -native_rpm_dir=$NATIVE_PREFIX/lib/rpm/$ta -native_rpm_link=/usr/lib/rpm/$ta +native_rpm_dir=$NATIVE_PREFIX/lib/rpm/$tp +native_rpm_link=/usr/lib/rpm/$tp mkdir -p $native_rpm_dir rm -f $native_rpm_link -ln -s $NATIVE_PREFIX/lib/rpm/$ta $native_rpm_link +ln -s $native_rpm_dir $native_rpm_link cross_macros=$cross_rpm_dir/macros native_macros=$native_rpm_dir/macros @@ -262,9 +343,6 @@ native_macros=$native_rpm_dir/macros base_macros=$NATIVE_PREFIX/lib/rpm/base-macros rm -f $base_macros cat > $base_macros <<EOF -%root /Cygnus -%_prefix /Cygnus/usr -%prefix /Cygnus/usr %native_prefix /Cygnus/usr %_topdir %{native_prefix}/src/redhat @@ -275,32 +353,57 @@ cat > $base_macros <<EOF #%DocDir %{native_prefix}/doc %DocDir /Cygnus/usr/doc +%_docdir /Cygnus/usr/doc %_defaultdocdir /Cygnus/usr/doc %cygwin_dll %{native_prefix}/bin/cygwin1.dll +%__install /bin/install + %cflags %{optflags} +%cppflags %{nil} %sourcedir . EOF cp -f $base_macros $cross_macros cat >> $cross_macros <<EOF -%_rpmfilename %%{ARCH}-x-cygwin/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}-x-cygwin.rpm + +%cross_prefix /Cygnus/$cto/usr +%root /Cygnus/$cto +%_rootbindir /Cygnus/$cto/bin +#_usr /Cygnus/$cto/usr +%_prefix /Cygnus/$cto/usr +%prefix /Cygnus/$cto/usr + +%_rpmfilename $cto/%%{NAME}-%%{VERSION}-%%{RELEASE}.$cto.rpm %config_site %{nil} + +%cppflags %{nil} +%cflags %{nil} %ldflags %{nil} -%_target_platform $TARGET_ARCH +%_target_platform $TARGET_PLATFORM +#% configure \ +# %{?__libtoolize:[ -f configure.in ] \&\& %{__libtoolize} --copy --force}; \ %configure \ - CFLAGS="%{cflags}" LDFLAGS="%{ldflags}" CONFIG_SITE=%{config_site} \ + CPPFLAGS="%{cppflags}" CFLAGS="%{cflags}" LDFLAGS="%{ldflags}" CONFIG_SITE=%{config_site} \ %{sourcedir}/configure \ - --host=%{_host} --target=%{_target_platform} --prefix=%{native_prefix} + --host=%{_host} --target=%{_target_platform} --prefix=%{cross_prefix} -v EOF cp -f $base_macros $native_macros cat >> $native_macros <<EOF + +%root /Cygnus +%_rootbindir /Cygnus/bin +#_usr /Cygnus/usr +%_prefix /Cygnus/usr +%prefix /Cygnus/usr + %config_site %{_prefix}/share/native-config.site +# won't work: scripts and stuff are .exe too #%program_suffix .exe %program_suffix %{nil} @@ -308,47 +411,89 @@ cat >> $native_macros <<EOF #%_vendor pc #%_os cygwin -%_rpmfilename %%{ARCH}-cygwin/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}-cygwin.rpm +%_rpmfilename %%{ARCH}-$TARGET_OS/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}-$TARGET_OS.rpm %__find_provides %{native_prefix}/lib/rpm/cygwin.prov %__find_requires %{native_prefix}/lib/rpm/cygwin.req +%__fix_suffixes %{native_prefix}/bin/fix-suffixes +%fix_suffixes %{__fix_suffixes} \$RPM_BUILD_ROOT%{_rootbindir}/* \$RPM_BUILD_ROOT%{native_prefix}/bin/* +%cppflags -I%{native_prefix}/include +%cflags %{optflags} %{cppflags} %ldflags -L%{native_prefix}/lib %{cygwin_dll} + +#%configure \ +# %{?__libtoolize:[ -f configure.in ] \&\& %{__libtoolize} --copy --force}; \ + %configure \ - CFLAGS="%{cflags}" LDFLAGS="%{ldflags}" CONFIG_SITE=%{config_site} \ + CPPFLAGS="%{cppflags}" CFLAGS="%{cflags}" LDFLAGS="%{ldflags}" CONFIG_SITE=%{config_site} \ %{sourcedir}/configure --host=%{_host} --target=%{_target_platform} \ - --prefix=%{native_prefix} --program-suffix=%{program_suffix} + --prefix=%{native_prefix} --program-prefix= +# --prefix=%{native_prefix} --program-suffix=%{program_suffix} EOF -rm -f $native_rpm_dir/cygwin.prov -cat > $native_rpm_dir/cygwin.prov <<EOF +rm -f $NATIVE_PREFIX/lib/rpm/cygwin.prov +cat > $NATIVE_PREFIX/lib/rpm/cygwin.prov <<EOF #!/bin/sh while read f ; do - f=\`echo $f | tr '[:upper:]' '[:lower:]'\` + f=\`echo \$f | tr '[:upper:]' '[:lower:]'\` case \$f in *.dll) basename \$f ;; esac done | sort -u EOF -chmod 755 $native_rpm_dir/cygwin.prov +chmod 755 $NATIVE_PREFIX/lib/rpm/cygwin.prov -rm -f $native_rpm_dir/cygwin.req -cat > $native_rpm_dir/cygwin.req <<EOF +rm -f $NATIVE_PREFIX/lib/rpm/cygwin.req +cat > $NATIVE_PREFIX/lib/rpm/cygwin.req <<EOF #!/bin/sh while read f ; do case \$f in - *.dll|*.exe) objdump -p $f | grep "DLL Name:" | cut -f3 -d" " | tr '[ -upper:]' '[:lower:]' + *.dll|*.exe) objdump -p \$f | grep "DLL Name:" | cut -f3 -d" " | tr '[:upper:]' '[:lower:]' ;; esac done | sort -u EOF -chmod 755 $native_rpm_dir/cygwin.req +chmod 755 $NATIVE_PREFIX/lib/rpm/cygwin.req + +rm -f $NATIVE_PREFIX/bin/fix-suffixes +cat > $NATIVE_PREFIX/bin/fix-suffixes <<EOF +#!/bin/sh +## duh, rename executables, +## for people that use a dumb shell instead of bash + + +if [ \$# -le 0 ]; then + echo "Usage: fix-suffixes [FILE]..." + exit 2 +fi +fix_extension () +{ + path=\$1 + ext=\$2 + expr="\$3" + dir=\`dirname \$path\` + file=\`basename \$path\` + base=\`basename \$file \$ext\` + if [ \$base\$ext != \$file ]; then + type="\`file \$path\`" + if expr "\$type" : "\$expr"; then + mv -f \$path \$dir/\$base\$ext + fi + fi +} + +for i in \`/bin/ls -d1 \$*\`; do + fix_extension \$i .exe '.*Windows.*\(executable\).*' + fix_extension \$i .py '.*\(python\).*' +done +EOF +chmod 755 $NATIVE_PREFIX/bin/fix-suffixes set -x type=rpm rm -rf $NATIVE_ROOT/var/lib/rpm @@ -356,14 +501,16 @@ mkdir -p $NATIVE_ROOT/var/lib/rpm rpm --root $NATIVE_ROOT --initdb topdir=$NATIVE_PREFIX/src/redhat -mkdir -p $topdir/{BUILD,RPMS/{$ta,$cta},SOURCES,SPECS,SRPMS} +mkdir -p $topdir/{BUILD,RPMS/{$tp,$cto},SOURCES,SPECS,SRPMS} ############## # end of setup ############## - -PATH=$PREFIX/bin:$PATH +OLDPATH=$PATH +# building x-gcc requires to have x-ar in path +# x-gcc will find $prefix/x/bin/as by itself +PATH=$CROSS_PREFIX/bin:$PATH mkdir -p $PREFIX/src cd $PREFIX/src @@ -377,22 +524,7 @@ for i in $cross_rpm; do fi done -# urg, bug in binutil's cross-make install -( -cd $PREFIX/$TARGET_ARCH/bin -ln -f ../../bin/$TARGET_ARCH-objdump objdump -ln -f ../../bin/$TARGET_ARCH-objcopy objcopy -) -# urg, bug in gcc's cross-make install -( -cd $PREFIX/$TARGET_ARCH/bin -ln -f ../../bin/$TARGET_ARCH-gcc cc -ln -f ../../bin/$TARGET_ARCH-gcc gcc -ln -f ../../bin/$TARGET_ARCH-c++ c++ -ln -f ../../bin/$TARGET_ARCH-g++ g++ -) - -PATH=$PREFIX/$TARGET_ARCH/bin:$PATH +PATH=$CROSS_PREFIX/$TARGET_PLATFORM/bin:$PATH cd $PREFIX/src type=native @@ -405,43 +537,64 @@ for i in $native_rpm; do fi done -cd $NATIVE_PREFIX/src/redhat/BUILD - -rm -f $distdir/$CYGWIN_DLL.gz -cd $distdir && cp -f $PREFIX/bin/$CYGWIN_DLL . && gzip -f $CYGWIN_DLL +############## +# Distribution +############## -rm -f $distdir/rpm2cpio.gz -cd $distdir && cp -f $PREFIX/bin/rpm2cpio . && gzip -f rpm2cpio +PATH=$OLDPATH +mkdir -p $distdir cat > $distdir/setup.sh <<EOF #!/bin/bash set -x ROOT=/Cygnus PREFIX=\$ROOT/usr -gunzip rpm2cpio.gz || exit 1 -# currently, the cygwin1.dll's conflict. -# it's been reported one can't have both in PATH -dll=\$ROOT/net-485 -mkdir -p \$dll -gzip -dc cygwin.dll.gz > \$dll/cygwin1.dll -here=\`pwd\` -cd \$ROOT/.. && (PATH=\$dll \$here/rpm2cpio \$here/rpm*.rpm ) | cpio -ivmd -PATH=\$dll rpm --root=\$ROOT --initdb -cd \$here -for i in RPMS/$ta/*.rpm; do - PATH=\$dll rpm -ivv --ignoreos --ignorearch --nodeps --force\ - --dbpath \$ROOT/var/lib/rpm \ - \$i +gunzip rpm.gz || exit 1 +#dll=\$ROOT/net-485 +#mkdir -p \$dll +#gzip -dc cygwin.dll.gz > \$dll/cygwin1.dll +## this won't work: must be done outside of cygwin +#old_dll=\`which cygwin1.dll\` +#mv -f \$old_dll \$old_dll.orig\$\$ +#gunzip cygwin1.dll.gz +#cp -f cygwin1.dll \$old_dll +echo > rpmrc +mkdir -p \$ROOT/var/lib +mkdir -p \$ROOT/bin +rem # touch \$ROOT/bin/rpm \$ROOT/bin/rpm.exe +echo > \$ROOT/bin/rpm; echo > \$ROOT/bin/rpm.exe +./rpm --root \$ROOT --rcfile rpmrc --initdb +./rpm --root \$ROOT --rcfile rpmrc --nodeps --ignorearch --ignoreos -Uhv \\ + RPMS/$tp/rpm-*.$tp.rpm \\ + RPMS/$tp/*.$tp.rpm done EOF cat > $distdir/setup.bat <<EOF +del dll olddll +rem # old_dll=\`which cygwin1.dll\` +rem # urg, should dist bash too, then we don't need usertools! +rem # cp -f \`which bash\` /bin; +bash -c 'mkdir -p /bin; + cp -f bash /bin/bash.exe; + cp -f /bin/bash /bin/sh.exe; + dll=\`which cygwin1.dll\`; + wdll=\`./cygpath -w \$dll\`; + echo cygwin1.dll \$wdll > newdll; echo \$wdll \$wdll.orig\$\$ > olddll' +if not errorlevel 0 goto nobash +rem # mv -f \$old_dll \$old_dll.orig\$\$ +rem # gunzip cygwin1.dll.gz +rem # cp -f cygwin1.dll \$old_dll +copy < olddll +copy < newdll bash setup.sh -if errorlevel 0 goto exit +if not errorlevel 0 goto nobash +goto :exit +:nobash @echo "setup.bat: can't find bash" -@echo "setup.bat: please install usertools from" -@echo "setup.bat: http://sourceware.cygnus.com/cygwin/" +rem # @echo "setup.bat: please install usertools from" +rem # @echo "setup.bat: http://sourceware.cygnus.com/cygwin/" :exit EOF @@ -449,20 +602,14 @@ cat > $distdir/lilypond.sh <<EOF #!/bin/bash ROOT=/Cygnus PREFIX=\$ROOT/usr -# currently, the cygwin1.dll's conflict. -# it's been reported one can't have both in PATH -dll=\$ROOT/net-485 -PATH=\$dll \$ROOT/bin/lilypond \$* +\$ROOT/bin/lilypond \$* EOF cat > $distdir/midi2ly.sh <<EOF #!/bin/bash ROOT=/Cygnus PREFIX=\$ROOT/usr -# currently, the cygwin1.dll's conflict. -# it's been reported one can't have both in PATH -dll=\$ROOT/net-485 -PATH=\$dll \$ROOT/bin/midi2ly \$* +\$ROOT/bin/midi2ly \$* EOF cat > $distdir/lilypond.bat <<EOF @@ -473,17 +620,63 @@ cat > $distdir/midi2ly.bat <<EOF bash midi2ly.sh %1 %2 %3 %4 %5 %6 %7 %8 %9 EOF -distbase=`basename $distdir` cd $distdir +rm -f $CYGWIN_DLL.gz +cp -f $PREFIX/bin/$CYGWIN_DLL +rm -f rpm.gz +cp -f `/bin/ls -d1 $ROOT/bin/rpm* |head -1` rpm + +rm -f bash.gz +cp -f `/bin/ls -d1 $ROOT/bin/bash* |head -1` bash + +rm -f cygpath.gz +cp -f `/bin/ls -d1 $ROOT/bin/cygpath* |head -1` cygpath + +distbase=`basename $distdir` rm -f RPMS ln -s ../redhat/RPMS . www=`dirname $distdir` cd $www -for i in guile-1 rpm lilypond; do - rpm=`find_path $i*.rpm $distbase/RPMS/$ta` +for i in bash-2 guile-1 rpm-3 lilypond; do + rpm=`find_path $i*.rpm $distbase/RPMS/$tp` dist_rpms="$dist_rpms $rpm" done rm -f $www/setup.zip cd $www && zip setup.zip lily-w32 $distbase/* $dist_rpms + +# make small zip dist available +# +zipdir=$www/zip +mkdir -p $zipdir + +rm -f $zipdir/$CYGWIN_DLL.zip +cd $ROOT/bin && zip $zipdir/$CYGWIN_DLL.zip $CYGWIN_DLL + +for i in bash-2 guile-1 rpm-3 lilypond; do + found=`find_path $i*.rpm $distdir/RPMS/$tp` + if [ "$found" = "" ]; then + echo "$i: no such .rpm" + else + base=`basename $found` + package=`echo $base | sed "s/\.$tp.rpm//"` + dir=/tmp/$i-rpm2zip + rm -rf $dir + mkdir -p $dir + cd $dir || exit 1 + rpm2cpio $found | cpio -id + zip -ry $zipdir/$package.zip . + rm -rf $dir + fi +done + +cd $distdir +gzip -f $CYGWIN_DLL +gzip -f rpm +gzip -f bash +gzip -f cygpath + + + + -- 2.39.5