1 #!/bin/sh
3 configfile=gosa-plugin-${1}.spec
4 path="rpm_src/gosa-plugins/${1}"
6 echo "Reading plugin parameters..."
8 name=$(awk /name/ ${path}/plugin.dsc | awk '{ print $3 }')
9 description=$(awk /description/ ${path}/plugin.dsc | awk -F '"' '{ print $2 }')
10 version=$(awk /version/ ${path}/plugin.dsc | awk '{ print $3 }')
11 author=$(awk /author/ ${path}/plugin.dsc | awk -F '"' '{ print $2 }')
12 homepage=$(awk /homepage/ ${path}/plugin.dsc | awk '{ print $3 }')
13 depends=$(sed -n 's/^depends\s*=\s*//p' ${path}/plugin.dsc | sed 's/^/ /;s/,/ /g;s/\s\s*/ /g;s/ / gosa-plugin-/g;s/^ //;s/ /,/')
14 conflicts=$(awk /conflicts/ ${path}/plugin.dsc | awk '{ print $3 }')
15 provides=$(awk /provides/ ${path}/plugin.dsc | awk '{ print $3 }')
16 release=0
19 cat << EOF | sed -e "s%@@NAME@@%$name%g" \
20 -e "s%@@DESCRIPTION@@%$description%g" \
21 -e "s%@@VERSION@@%$version%g" \
22 -e "s%@@AUTHOR@@%$author%g" \
23 -e "s%@@HOMEPAGE@@%$homepage%g" \
24 -e "s%@@DEPENDS@@%$depends%g" \
25 -e "s%@@CONFLICTS@@%$conflicts%g" \
26 -e "s%@@PROVIDES@@%$provides%g" \
27 -e "s%@@RELEASE@@%$release%g" \
28 -e "s%@@.*@@%not_defined%g" > $configfile
30 # Some sort of "detection" of suse
31 %{?suse_version:%define suse 1}
32 %{!?suse_version:%define suse 0}
34 # Define Packagename, e.g.:
35 # rpmbuild --rebuild --define 'sourcename gosa' gosa.srpm
36 %{!?sourcename:%define sourcename %{name}-%{version}}
38 #
39 # Distribution
40 #
41 Summary: @@DESCRIPTION@@
42 Name: gosa-plugin-@@NAME@@
43 Version: @@VERSION@@
44 Release: @@RELEASE@@
45 License: GPL
46 Source: ftp://oss.GONICUS.de/pub/gosa/%{sourcename}.tar.bz2
47 URL: @@HOMEPAGE@@
48 Group: System/Administration
49 Vendor: GONICUS GmbH
50 Packager: @@AUTHOR@@
51 Buildarch: noarch
52 %if %{suse}
53 Requires: gosa >= 2.6.0, @@DEPENDS@@
54 %else
55 Requires: gosa >= 2.6.0, @@DEPENDS@@
56 %endif
57 BuildRoot: %{_tmppath}/%{name}-%{version}-root
58 BuildArch: noarch
60 %if %{suse}
61 %{echo:Building SuSE rpm}
62 %define docdir /usr/share/doc/packages/gosa
63 %else
64 %{echo:Building other rpm}
65 %define webconf /etc/httpd/conf.d/
66 %define docdir /usr/share/doc/gosa-%{version}
67 %endif
69 %description
70 @@DESCRIPTION@@
72 %prep
73 %setup -q -n %{sourcename}
75 %build
77 %install
79 # Move extra HTML and images
80 mkdir -p %{buildroot}/usr/share/gosa/html/plugins/@@NAME@@
82 echo "%{buildroot} <<---------"
84 if [ -d html ]; then
85 mv ./html/* %{buildroot}/usr/share/gosa/html/plugins/@@NAME@@
86 fi
88 # Move contrib if available
89 mkdir -p %{buildroot}/usr/share/doc/%{name}
90 if [ -d contrib ]; then
91 mv ./contrib %{buildroot}/usr/share/doc/%{name}
92 fi
94 # Move help
95 mkdir -p %{buildroot}/usr/share/gosa/doc/plugins/@@NAME@@
96 mv ./help/* %{buildroot}/usr/share/gosa/doc/plugins/@@NAME@@
98 # Move localization
99 mkdir -p %{buildroot}/usr/share/gosa/locale/plugins/@@NAME@@
100 mv ./locale/* %{buildroot}/usr/share/gosa/locale/plugins/@@NAME@@
102 # Move plugin itself
103 mkdir -p %{buildroot}/usr/share/gosa/plugins/@@NAME@@
104 mv ./* %{buildroot}/usr/share/gosa/plugins/@@NAME@@
106 %post
107 /usr/sbin/update-gosa
109 %postun
110 /usr/sbin/update-gosa
112 %clean
113 rm -rf %{buildroot}
115 %files
116 %defattr(-,root,root)
117 %attr (-,root,root) /usr/share/gosa/plugins/@@NAME@@
118 %attr (-,root,root) /usr/share/gosa/doc/plugins/@@NAME@@
119 %attr (-,root,root) /usr/share/gosa/locale/plugins/@@NAME@@
120 %attr (-,root,root) /usr/share/gosa/html/plugins/@@NAME@@
121 %attr (-,root,root) /usr/share/doc/%{name}
122 EOF
124 # Create eventually missing directories
125 [ ! -d ${2}/SOURCES ] && mkdir -p ${2}/SOURCES
126 [ ! -d ${2}/SPECS ] && mkdir -p ${2}/SPECS
128 mv $configfile ${2}/SPECS
129 cp -r ./rpm_src/gosa-plugins/${1} /tmp/gosa-plugin-${1}-${version}
130 cd /tmp/
131 tar cjf ${2}/SOURCES/gosa-plugin-${1}-${version}.tar.bz2 ./gosa-plugin-${1}-${version}
132 rm -rf gosa-plugin-${1}-${version}
133 echo "Done."
134 exit 0