lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

mandrake.spec -patch


From: Heikki Johannes Junes
Subject: mandrake.spec -patch
Date: Fri, 30 Aug 2002 18:59:00 +0300 (EET DST)

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 <address@hidden>
>         * 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 <address@hidden> 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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]