]> git.sven.stormbind.net Git - sven/java-package.git/blob - lib/j2se.sh
Initial rework of (svn) java-package 0.42
[sven/java-package.git] / lib / j2se.sh
1 function j2se_readme() {
2     cat << EOF
3 Package for $j2se_title
4 ---
5
6 This package has been automatically created with java-package ($version). 
7 All files from the original distribution should have been installed in
8 the directory $j2se_base. Please take a look at this directory for
9 further information.
10
11 EOF
12 }
13
14 function j2se_changelog() {
15     cat << EOF
16 $j2se_package ($j2se_version) unstable; urgency=low
17
18   * This package was created with java-package ($version).
19
20  -- $maintainer_name <$maintainer_email>  $( date -R )
21
22 EOF
23 }
24
25 function j2se_control() {
26     cat << EOF
27 Source: $j2se_package
28 Section: non-free/devel
29 Priority: optional
30 Maintainer: $maintainer_name <$maintainer_email>
31 Build-Depends: debhelper (>= 4.0.0)
32 Standards-Version: 3.7.2
33
34 EOF
35 }
36
37 function j2se_copyright() {
38     cat << EOF
39 ----------------------------------------------------------------------
40
41 This file contains a copy of all copyright files found in the original
42 distribution. The original copyright files and further information can
43 be found in the directory $j2se_base and its
44 subdirectories.
45
46 ----------------------------------------------------------------------
47 EOF
48     ( 
49     cd "$install_dir"
50     find * -type f -iname copyright |
51     while read file; do
52         cat << EOF
53
54 File: /$file
55
56 ----------------------------------------------------------------------
57
58 EOF
59         cat "$file"
60         cat << EOF
61
62 ----------------------------------------------------------------------
63 EOF
64     done
65     )
66 }
67
68 function j2se_install_scripts() {
69     cat > "$debian_dir/postinst" << EOF
70 #!/bin/bash
71
72 set -e
73
74 if [ "\$1" = configure ]; then
75 EOF
76     cat "$lib_dir/install-common" >> "$debian_dir/postinst"
77
78     cat "$lib_dir/$j2se_package/install" >> "$debian_dir/postinst"
79
80     cat >> "$debian_dir/postinst" << EOF
81 fi
82
83 #DEBHELPER#
84
85 exit 0
86 EOF
87     chmod 755 "$debian_dir/postinst"
88     
89     cat > "$debian_dir/prerm" << EOF
90 #!/bin/bash
91
92 set -e
93
94 case "\$1" in
95     remove | deconfigure)
96 EOF
97     cat "$lib_dir/remove-common" >> "$debian_dir/prerm"
98
99     cat "$lib_dir/$j2se_package/remove" >> "$debian_dir/prerm"
100
101     cat >> "$debian_dir/prerm" << EOF
102     ;;
103 esac
104
105 #DEBHELPER#
106
107 exit 0
108 EOF
109     chmod 755 "$debian_dir/prerm"
110 }
111
112 function j2se_info() {
113     cat << EOF
114 version="$version"
115 j2se_version="$j2se_version"
116 maintainer_name="$maintainer_name"
117 maintainer_email="$maintainer_email"
118 date="$( date +%Y/%m/%d )"
119 EOF
120 }
121
122 function j2se_build() {
123     cd "$tmp"
124     echo "Create debian package:"
125     
126     #export DH_VERBOSE=1
127     export DH_COMPAT=4
128     export DH_OPTIONS=--tmpdir="$install_dir"
129
130     echo "    dh_testdir"
131     dh_testdir
132     echo "    dh_testroot"
133     dh_testroot
134     echo "    dh_installchangelogs"
135     dh_installchangelogs
136     # Problem: dh_installchangelogs thinks this is a native package.
137     echo "    dh_installdocs"
138     dh_installdocs
139     # dh_install
140     # dh_link
141     # Conditionally wrapping this as not all JRE/JDKs have man directories
142     if [ -e "$install_dir/$j2se_base/man" ]; then
143         echo "    dh_compress"
144         dh_compress $( find "$install_dir/$j2se_base/man" -type f ! -name "*.gz" )
145     fi
146     echo "    dh_fixperms"
147     dh_fixperms
148     echo "    dh_installdeb"
149     dh_installdeb
150     echo "    dh_shlibdeps"
151     ldpath=
152     for dir in $( find "$install_dir" -type f -name "*.so*" -printf "%h\n" | sort -u ); do
153         if [[ -z "$ldpath" ]]; then
154             ldpath="$dir"
155         else
156             ldpath="$ldpath:$dir"
157         fi
158     done
159     # suppress some warnings
160     dh_shlibdeps -l"$ldpath" 2>&1 | 
161     { grep -v "warning: format of \`NEEDED lib.*\.so' not recognized" >&2 || true; }
162     echo "    dh_gencontrol"
163     dh_gencontrol
164     echo "    dh_md5sums"
165     dh_md5sums
166     echo "    dh_builddeb"
167     dh_builddeb --destdir="$tmp"
168     local deb_filename="$( echo "${j2se_package}_"*.deb )"
169     echo "    copy $deb_filename into directory $working_dir/"
170     cp "$deb_filename" "$working_dir/"
171     if [ -n "$genchanges" ]; then 
172         echo "    dpkg-genchanges"
173         local changes_filename="${deb_filename%.deb}.changes"
174         dpkg-genchanges -b -u. > "$changes_filename"
175         echo "    copy $changes_filename into directory $working_dir/"
176         cp "$changes_filename" "$working_dir/"
177     fi
178     cat << EOF
179
180 The Debian package has been created in the current directory. You can
181 install the package as root (e.g. dpkg -i $deb_filename). 
182
183 EOF
184 }