Import Upstream version 0.6.5
[jigdo.git] / jigdo.spec
1 %define version         0.6.5
2
3 %define name            jigdo
4 %define release         0
5 %define title           Jigdo
6 %define summary         Jigsaw Download
7 %define longtitle       %{summary}
8 %define group           Networking/File transfer
9 %define section         %{group}
10 %define icon            jigdo.png
11
12 %define source_extension bz2
13
14 # To have the RPM be buildabable with Mandrake features even on 
15 # non-Mandrake PCs define some Mandrake "system" defines
16 # Menu directories
17 %if !%(test "%{?_menudir:1}" = 1 && echo 1 || echo 0)
18         %define _menudir %{_libdir}/menu
19 %endif
20 %if !%(test "%{?_iconsdir:1}" = 1 && echo 1 || echo 0)
21         %define _iconsdir %{_datadir}/icons
22         # If iconsdir is not defined, micons and licons
23         # surely aren't as well
24         %define _miconsdir %{_datadir}/icons/mini
25         %define _liconsdir %{_datadir}/icons/large
26 %endif
27
28 # If _update_menus_bin is not defined, update_menus
29 # and clean_menaus aren't as well - I hope ;)
30 %if !%(test "%{?_update_menus_bin:1}" = 1 && echo 1 || echo 0)
31         %define _update_menus_bin %{_bindir}/update-menus
32         # Update Menu
33         %define update_menus if [ -x %{_update_menus_bin} ]; then %{_update_menus_bin} || true ; fi
34
35         # Clean Menu
36         %define clean_menus if [ "$1" = "0" -a -x %{_update_menus_bin} ]; then %{_update_menus_bin} || true ; fi
37 %endif
38
39 # make
40 %if !%(test "%{?_smp_mflags:1}" = 1 && echo 1 || echo 0)
41         %define _smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; [ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-j$RPM_BUILD_NCPUS")
42 %endif
43 %if !%(test "%{?_make_bin:1}" = 1 && echo 1 || echo 0)
44         %define _make_bin make
45 %endif
46 %if !%(test "%{?make:1}" = 1 && echo 1 || echo 0)
47         %define make %{_make_bin} %_smp_mflags
48 %endif
49
50 %if !%(test "%{?makeinstall_std:1}" = 1 && echo 1 || echo 0)
51         %define makeinstall_std make DESTDIR=%{?buildroot:%{buildroot}} install
52 %endif
53
54 Summary:        %{summary}
55 Name:           %{name}
56 Version:        %{version}
57 Release:        %{release}
58 Group:          %{group}
59 URL:            http://atterer.net/jigdo/
60 Source:         http://home.in.tum.de/atterer/jigdo/%{name}-%{version}.tar.%{source_extension}
61
62 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
63 License:        GPL
64 Requires:       common-licenses
65 BuildRequires:  libdb3.3-devel, w3c-libwww-devel, libopenssl0-devel
66 Requires:       libdb3.3      , w3c-libwww      , libopenssl0
67 BuildRequires:  mawk, ImageMagick
68
69 %description
70 Jigsaw Download, or short jigdo, is an intelligent tool that can be used on the
71 pieces of any chopped-up big file to create a special "template" file which
72 makes reassembly of the file very easy for users who only have the pieces.
73
74 What makes jigdo special is that there are no restrictions on what
75 offsets/sizes the individual pieces have in the original big image. This makes
76 the program very well suited for distributing CD/DVD images (or large zip/tar
77 archives) because you can put the files on the CD on an FTP server - when jigdo
78 is presented the files along with the template you generated, it is able to
79 recreate the CD image.
80
81 %prep
82 %setup -q
83
84 %build
85 %configure
86 %make
87
88 %install
89 rm -rf %{buildroot}
90 %makeinstall_std
91
92 # Mandrake menu stuff
93 mkdir -p %{buildroot}%{_menudir}
94 cat > %buildroot%{_menudir}/%{name} << EOF
95 ?package(%{name}): \
96     command="%{_bindir}/%{name}" \
97     title="%{title}" \
98     longtitle="%{longtitle}" \
99     section="%{section}" \
100     icon="%{icon}" \
101     needs="x11"
102 EOF
103
104 # Mandrake menu icons
105 mkdir -p %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
106 convert gfx/jigdo-icon.png -geometry 48 %{buildroot}%{_liconsdir}/%{icon}
107 convert gfx/jigdo-icon.png -geometry 32 %{buildroot}%{_iconsdir}/%{icon}
108 convert gfx/jigdo-icon.png -geometry 16 %{buildroot}%{_miconsdir}/%{icon}
109
110 %clean
111 rm -rf %{buildroot}
112
113 %post
114 # Update the Mandrake menus
115 # This will only execute, if %{_update_menus_bin} (see above)
116 # is executable
117 %{update_menus}
118
119 %postun
120 # Update the Mandrake menus
121 # This will only execute, if %{_update_menus_bin} (see above)
122 # is executable
123 %{clean_menus}
124
125 %files
126 %defattr(-,root,root)
127 %doc README VERSION doc/jigdo-file.* doc/TechDetails.txt
128 %{_bindir}/%{name}*
129 %dir %{_datadir}/%{name}
130 %{_datadir}/%{name}/*
131 %{_mandir}/man1/%{name}*
132 %{_menudir}/%{name}
133 %{_liconsdir}/%{icon}
134 %{_iconsdir}/%{icon}
135 %{_miconsdir}/%{icon}
136
137 %changelog
138 * Mon Jan 26 2002 Alexander Skwar <ASkwar@DigitalProjects.com> 0.6.2-4mdk
139 - Icons will be provided in the gfx subdirectory of the tarball
140
141 * Sun Jan 25 2002 Alexander Skwar <ASkwar@DigitalProjects.com> 0.6.2-3mdk
142 - Jigdo compiles with gcc 2.96 now
143 - Only re-define the macros if they aren't yet defined
144
145 * Sat Jan 24 2002 Alexander Skwar <ASkwar@DigitalProjects.com> 0.6.2-2mdk
146 - Make the SPEC be generic, so that it can be built on non-Mandrake
147   machines
148
149 * Sat Jan 24 2002 Alexander Skwar <ASkwar@DigitalProjects.com> 0.6.2-1mdk
150 - 0.6.2
151 - Remove patch1 - merged upstream
152
153 * Tue Jan 22 2002 Alexander Skwar <ASkwar@DigitalProjects.com> 0.6.1-1mdk
154 - First Mandrake release
155