The mandrake packages were build using the following scripts:
Make the preliminary tasks for building an rpm (not as root!): http://www.mandrakelinux.com/howtos/mdk-rpm/preliminary.html Fetch sources (from CVS) and apply the following patch: ----------------- Index: ChangeLog =================================================================== RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v retrieving revision 1.482.2.12 diff -r1.482.2.12 ChangeLog 0a1,3 > 2000-08-30 Heikki Junes <[EMAIL PROTECTED]> > * make/lilypond.mandrake.spec.in: Mandrake adaptations from > redhat spec and rpm-skeleton found in Mandrake's home page. Index: make/lilypond.mandrake.spec.in =================================================================== RCS file: /cvsroot/lilypond/lilypond/make/lilypond.mandrake.spec.in,v retrieving revision 1.5 diff -r1.5 lilypond.mandrake.spec.in 0a1,3 > # Does info really work? > %define info yes > 5,9c8,15 < Name: %{name} < Summary: A program for printing sheet music. < Version: %{version} < Release: %{release} < Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-%{version}.tar.gz --- > Summary: A program for printing sheet music. > Name: %{name} > Version: %{version} > Release: %{release} > License: GPL > Group: Publishing > URL: http://www.lilypond.org/ > Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-%{version}.tar.gz 11,16c17,22 < License: GPL < Group: Publishing < URL: http://www.lilypond.org/ < BuildRoot: %{_tmppath}/%{name}-buildroot < BuildRequires: guile guile-devel < Requires: tetex --- > Source1: %name-16x16.png.tar.bz2 > Source2: %name-32x32.png.tar.bz2 > Source3: %name-48x48.png.tar.bz2 > BuildRoot: %{_tmppath}/%{name}-buildroot > BuildRequires: guile guile-devel > Requires: tetex 32,35c38,41 < You may also wish to investigate the "denemo" package, which provides a < graphical front end to lilypond. < < See the file README.first for more information. --- > ## You may also wish to investigate the "denemo" package, which provides a > ## graphical front end to lilypond. > ## > ## See the file README.first for more information. 37,38c43 < < %package extras --- > %package documentation 43c48 < %description extras --- > %description documentation 47a53,54 > rm -rf $RPM_BUILD_ROOT > 55,57c62,71 < ./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared < make < make web-doc --- > ##./configure --disable-checking --disable-debugging --enable-printing >--prefix=%{_prefix} --disable-optimise --enable-shared > ## Add options if needed > ./configure --disable-checking --prefix=%{_prefix} --enable-optimise > make MAKE_PFA_FILES=1 all > > # make info > make -C Documentation > > # make html > make web-doc top-web 67,68c81,87 < make prefix="$RPM_BUILD_ROOT%{_prefix}" install < %{find_lang} %{name} --- > strip lily/out/lilypond > make prefix="$RPM_BUILD_ROOT%{_prefix}" MAKE_PFA_FILES=1 all install > # %{find_lang} %{name} > > %if info=="yes" > gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* > %endif 71,72c90,95 < mv $RPM_BUILD_ROOT/usr/info $RPM_BUILD_ROOT%{_infodir} < mv $RPM_BUILD_ROOT/usr/man $RPM_BUILD_ROOT%{_mandir} --- > # mv $RPM_BUILD_ROOT/usr/info $RPM_BUILD_ROOT%{_infodir} > # mv $RPM_BUILD_ROOT/usr/man $RPM_BUILD_ROOT%{_mandir} > > mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d > install -m 644 lilypond-mode.el lilypond-font-lock.el lilypond-indent.el >$RPM_BUILD_ROOT/usr/share/emacs/site-lisp/ > install -m 644 lilypond-init.el >$RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d 74,84c97,106 < # Move TeX font files into system TeX tree locations < mkdir -p $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/{afm,source,tfm} < mv $RPM_BUILD_ROOT%{_datadir}/lilypond/afm $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/afm/lilypond < mv $RPM_BUILD_ROOT%{_datadir}/lilypond/mf $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/source/lilypond < mv $RPM_BUILD_ROOT%{_datadir}/lilypond/tfm $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/tfm/lilypond < mkdir -p $RPM_BUILD_ROOT%{_datadir}/texmf/tex < mv $RPM_BUILD_ROOT%{_datadir}/lilypond/tex $RPM_BUILD_ROOT%{_datadir}/texmf/tex/lilypond < < # Copy emacs mode files into %{_datadir}/lilypond/emacs < mkdir -p $RPM_BUILD_ROOT%{_datadir}/lilypond/emacs < cp *.el $RPM_BUILD_ROOT%{_datadir}/lilypond/emacs/ --- > gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/* > > mkdir -p $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d > cp buildscripts/out/lilypond-profile >$RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.sh > cp buildscripts/out/lilypond-login >$RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.csh > > > # again, make sure that main package installs even if doco fails > mkdir -p web/out > tar -C web -xzf out/web.tar.gz 87,95c109,136 < mkdir -p $RPM_DOC_ROOT/HTML < tar -C $RPM_DOC_ROOT/HTML -xzf out/web.tar.gz < ln -s HTML/input $RPM_DOC_ROOT/Examples < ln -s HTML/input/test $RPM_DOC_ROOT/Tricks < < mkdir -p $RPM_DOC_ROOT/Printable < ln -s ../HTML/Documentation/user/out-www/lilypond.ps.gz $RPM_DOC_ROOT/Printable/Manual.ps.gz < ln -s ../HTML/Documentation/user/out-www/glossary.ps.gz $RPM_DOC_ROOT/Printable/Glossary.ps.gz < cp AUTHORS.txt CHANGES COPYING DEDICATION FAQ.txt NEWS README.txt VERSION README.mandrake $RPM_DOC_ROOT/README.first --- > ## mkdir -p $RPM_DOC_ROOT/HTML > ## tar -C $RPM_DOC_ROOT/HTML -xzf out/web.tar.gz > ## ln -s HTML/input $RPM_DOC_ROOT/Examples > ## ln -s HTML/input/test $RPM_DOC_ROOT/Tricks > > ## mkdir -p $RPM_DOC_ROOT/Printable > ## ln -s ../HTML/Documentation/user/out-www/lilypond.ps.gz >$RPM_DOC_ROOT/Printable/Manual.ps.gz > ## ln -s ../HTML/Documentation/user/out-www/glossary.ps.gz >$RPM_DOC_ROOT/Printable/Glossary.ps.gz > ## cp AUTHORS.txt COPYING DEDICATION NEWS README.txt VERSION >$RPM_DOC_ROOT/README.first > > # Menu > # Every entry must be changed according package specifications > # Pay attention to "section" "command" and "longtitle" > > mkdir -p $RPM_BUILD_ROOT%{_menudir} > cat >$RPM_BUILD_ROOT%{_menudir}/%{name} <<EOF > ?package(%name): command="%{_bindir}/%{name}" needs="X11" \ > icon="%{name}.png" section="Publishing" \ > title="%{name}" longtitle="%{name}" > EOF > > # icon > install -d $RPM_BUILD_ROOT/%{_miconsdir} > install -d $RPM_BUILD_ROOT/%{_iconsdir} > install -d $RPM_BUILD_ROOT/%{_liconsdir} > bzcat %{SOURCE1} > $RPM_BUILD_ROOT/%{_miconsdir}/%{name}.png > bzcat %{SOURCE2} > $RPM_BUILD_ROOT/%{_iconsdir}/%{name}.png > bzcat %{SOURCE3} > $RPM_BUILD_ROOT/%{_liconsdir}/%{name}png 98,102c139 < touch /tmp/.lilypond-install < rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' -or -name 'parmesan*tfm' -print'` /tmp/.lilypond-install < /usr/bin/mktexlsr < %_install_info lilypond.info < %_install_info lilypond-internals.info --- > %{update_menus} 104c141,142 < echo 'Please logout first before using LilyPond.' --- > touch /tmp/.lilypond-install > rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' >-or -name 'parmesan*tfm' -print` /tmp/.lilypond-install 105a144,146 > %if info=="yes" > /sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir > %endif 108,109d148 < %_remove_install_info lilypond.info < %_remove_install_info lilypond-internals.info 111,112c150,157 < %postun < /usr/bin/mktexlsr --- > %if info=="yes" > if [ $1 = 0 ]; then > /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir > fi > %endif > > rm -f /usr/share/lilypond/%{version}/fonts/type1/fonts.dir > chkfontpath --remove=/usr/share/lilypond/%{version}/fonts/type1/ 113a159,160 > %postun > %{clean_menus} 115,142c162,164 < %files -f %{name}.lang < %defattr(-,root,root,0755) < %{_bindir}/* < %{_datadir}/lilypond/ < %{_datadir}/texmf/fonts/afm/lilypond < %{_datadir}/texmf/fonts/source/lilypond < %{_datadir}/texmf/fonts/tfm/lilypond < %{_datadir}/texmf/tex/lilypond < < %doc %{_infodir}/* < %doc %{_mandir}/man1/* < %doc %{_docdir}/%{name}-%{version}/AUTHORS.txt < %doc %{_docdir}/%{name}-%{version}/CHANGES < %doc %{_docdir}/%{name}-%{version}/COPYING < %doc %{_docdir}/%{name}-%{version}/DEDICATION < %doc %{_docdir}/%{name}-%{version}/FAQ.txt < %doc %{_docdir}/%{name}-%{version}/NEWS < %doc %{_docdir}/%{name}-%{version}/README.txt < %doc %{_docdir}/%{name}-%{version}/VERSION < %doc %{_docdir}/%{name}-%{version}/README.first < < %files extras < %defattr(-,root,root,0755) < %doc %{_docdir}/%{name}-%{version}/HTML < %doc %{_docdir}/%{name}-%{version}/Mutopia < %doc %{_docdir}/%{name}-%{version}/Printable < %doc %{_docdir}/%{name}-%{version}/Tricks < %doc %{_docdir}/%{name}-%{version}/Examples --- > %clean > ## This section is meant to clean the build directory tree, $RPM_BUILD_ROOT > rm -rf $RPM_BUILD_ROOT 143a166,220 > ## %files -f %{name}.lang > %files > # The special tag %doc designates files being part of the documentation of the > # package. The files so-called will be placed in /usr/doc/lilypond-%{version}/ > %doc COPYING README.txt INSTALL.txt DEDICATION NEWS AUTHORS.txt > %{_datadir}/emacs/site-lisp/lilypond-* > # is the following really started during startup of emacs? > %{_datadir}/emacs/site-lisp/site-start.d/lilypond-* > > %{_prefix}/bin/abc2ly > %{_prefix}/bin/as2text > %{_prefix}/bin/convert-ly > %{_prefix}/bin/etf2ly > %{_prefix}/bin/lilypond > %{_prefix}/bin/ly2dvi > %{_prefix}/bin/midi2ly > %{_prefix}/bin/lilypond-book > %{_prefix}/bin/mup2ly > %{_prefix}/bin/musedata2ly > %{_prefix}/bin/pmx2ly > > %if info=="yes" > %{_prefix}/info/lilypond.info.gz > %{_prefix}/info/lilypond-internals.info.gz > %endif > > %{_prefix}/man/man1/abc2ly.1.bz2 > %{_prefix}/man/man1/as2text.1.bz2 > %{_prefix}/man/man1/convert-ly.1.bz2 > %{_prefix}/man/man1/etf2ly.1.bz2 > %{_prefix}/man/man1/lilypond.1.bz2 > %{_prefix}/man/man1/ly2dvi.1.bz2 > %{_prefix}/man/man1/midi2ly.1.bz2 > %{_prefix}/man/man1/lilypond-book.1.bz2 > %{_prefix}/man/man1/musedata2ly.1.bz2 > %{_prefix}/man/man1/mup2ly.1.bz2 > %{_prefix}/man/man1/pmx2ly.1.bz2 > > %{_prefix}/share/%{name}/%{version}/ > %{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo > %{_prefix}/../etc/profile.d/lilypond.* > %_bindir/* > %_menudir/* > %_miconsdir/* > %_iconsdir/* > %_liconsdir/* > > %files documentation > > %doc web/ > > %changelog > * Fri Aug 30 2002 Heikki Johannes Junes <[EMAIL PROTECTED]> 1.6.0-1mdk > - Adapted from lilypond.redhat.skel and skeleton found in Mandrake's RPM-docs. > - TODO: info (?) and dependencies. -------------------- Do "./autogen.sh && make all && make dist". Then $ cp ./out/lilypond-1.6.0.uu1.tar.gz ~/rpm/SOURCES/ $ cp ./make/out/lilypond.mandrake.spec ~/rpm/SPECS/ Use your artistic abilities (f.g. with GIMP) to produces the following icons into the ~/rpm/SOURCES/ -directory : lilypond-16x16.png.tar.bz2, lilypond-32x32.png.tar.bz2, and lilypond-48x48.png.tar.bz2. Generate the rpm's of source, bin and docs to ~/rpm/SRPMS and ~/rpm/RPMS: $ rpm -ba ~/rpm/SPECS/lilypond.mandrake.spec BTW, these were the first rpmfiles generated by me, but they worked also with rpmdrake! Conclusion: - Mandrake 8.2 rpms, both source and pre-built, could be built by using the instruction and the patch above. - Dependencies may not be strict enough (tetex, guile, guile-devel). Heikki Junes _______________________________________________ Lilypond-devel mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-devel
