# HG changeset patch # User David Barts # Date 1588306950 25200 # Node ID bcbc92ffe0d0a891af1b3f7a279a7b0d230b2190 # Parent d175593317a8d70100e9a51521e61ed8804c01f4 Makes a .deb file at long last, but Duke still shows up as an icon in the dock. diff -r d175593317a8 -r bcbc92ffe0d0 Makefile.linux --- a/Makefile.linux Wed Apr 29 21:49:21 2020 -0700 +++ b/Makefile.linux Thu Apr 30 21:22:30 2020 -0700 @@ -5,7 +5,10 @@ .PHONY: all checkenv -all: checkenv $(BDIR)/libjni.so $(BDIR)/libexiv2.so +all: mkdirs checkenv $(BDIR)/libjni.so $(BDIR)/libexiv2.so + +mkdirs: + @[ -d "$(BDIR)" ] || mkdir -p "$(BDIR)" checkenv: @if [ -z "$(JRE_HOME)" ]; then \ diff -r d175593317a8 -r bcbc92ffe0d0 build.xml --- a/build.xml Wed Apr 29 21:49:21 2020 -0700 +++ b/build.xml Thu Apr 30 21:22:30 2020 -0700 @@ -32,6 +32,30 @@ ]]> + + + + + + @@ -198,164 +222,54 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + diff -r d175593317a8 -r bcbc92ffe0d0 make-debian-package --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make-debian-package Thu Apr 30 21:22:30 2020 -0700 @@ -0,0 +1,57 @@ +#!/bin/bash +# A v. 2.0 Debian package is nothing but an ar(1) archive that contains +# three members: +# 1. A debian-binary file containing the string "2.0" and a newline, +# 2. A compressed tar archive with a name of control, +# 3. A compressed tar archive with a name of data. +# (See https://en.wikipedia.org/wiki/Deb_%28file_format%29.) Make one. +# +# There are other ways to do this, but they tend to be so complex and +# badly-documented that I found it easier to just roll my own. + +# Name executed as +myname="${0##*/}" + +# We must specify a single directory name, nothing else. +if [ $# -ne 2 ] +then + 1>&2 echo "$myname: expecting directory and output file" + exit 2 +fi + +# Change to the directory, die if we can't +cd "$1" || exit 2 + +# Do some sanity checks. +for i in data control +do + if [ ! -d "$i" ] + then + 1>&2 echo "$myname: '$1/$i', no such directory" + exit 2 + fi +done + +# If there is no debian-binary file, make one. +dbin="debian-binary" +if [ ! -e "$dbin" ] +then + 1>&2 echo "$myname: warning - '$dbin' does not exist, creating it" + echo "2.0" > "$dbin" || exit 1 +fi + +# Remember where we are, and bail on errors +set -e + +# Process data +cd data +find . -type f -print0 | xargs -0 md5sum > ../control/md5sums +tar -c -z --owner=0 --group=0 -f ../data.tar.gz * + +# Process control +cd ../control +tar -c -z --owner=0 --group=0 -f ../control.tar.gz * + +# Finally, make deb file +cd .. +ar r "$2" "$dbin" control.tar.gz data.tar.gz diff -r d175593317a8 -r bcbc92ffe0d0 package-files/linux/deb/changelog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package-files/linux/deb/changelog Thu Apr 30 21:22:30 2020 -0700 @@ -0,0 +1,7 @@ +jpegwasher (1.03) unstable; urgency=low + + * 1.03 First Debian package for JpegWasher. + + -- David Barts Thu, 30 Apr 2020 13:16:43 -0700 + +# This comment to make lintian happy. diff -r d175593317a8 -r bcbc92ffe0d0 package-files/linux/deb/control --- a/package-files/linux/deb/control Wed Apr 29 21:49:21 2020 -0700 +++ b/package-files/linux/deb/control Thu Apr 30 21:22:30 2020 -0700 @@ -2,10 +2,12 @@ Version: @app.version@ Architecture: all Section: contrib/graphics -Homepage: http://www.jedit.org/ +Homepage: http://notyouraveragetechie.com/JpegWasher.html Recommends: default-jre | openjdk-8-jre Build-depends: default-jdk | openjdk-8-jdk, ant Suggests: default-jdk | openjdk-8-jdk Priority: optional Installed-Size: @deb.installed.size@ Description: Removes privacy-compromising metadata from digital photos. + This dummy line here to make lintian happy. +Maintainer: David Barts diff -r d175593317a8 -r bcbc92ffe0d0 package-files/linux/deb/copyright --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package-files/linux/deb/copyright Thu Apr 30 21:22:30 2020 -0700 @@ -0,0 +1,13 @@ + Copyright © 2020, David W. Barts. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + See: /usr/share/common-licenses/GPL-3 diff -r d175593317a8 -r bcbc92ffe0d0 package-files/linux/deb/jpegwasher.desktop --- a/package-files/linux/deb/jpegwasher.desktop Wed Apr 29 21:49:21 2020 -0700 +++ b/package-files/linux/deb/jpegwasher.desktop Thu Apr 30 21:22:30 2020 -0700 @@ -4,11 +4,10 @@ GenericName=Privacy for your photos Comment=Removes privacy-compromising metadata Exec=jpegwasher -Icon=/usr/share/jpegwasher/doc/jpegwasher.png +Icon=jpegwasher Terminal=false Type=Application Categories=Graphics;Photography;Security; StartupNotify=true -MimeType=image/jpeg; StartupWMClass=jpegwasher Keywords=Metadata;Remove;JPEG;Privacy diff -r d175593317a8 -r bcbc92ffe0d0 package-files/linux/deb/postinst --- a/package-files/linux/deb/postinst Wed Apr 29 21:49:21 2020 -0700 +++ b/package-files/linux/deb/postinst Thu Apr 30 21:22:30 2020 -0700 @@ -1,3 +1,3 @@ #!/bin/sh set -e -if [ "$1" = "configure" ] && [ -x /usr/bin/update-menus ]; then update-menus ; fi +if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then update-menus ; fi diff -r d175593317a8 -r bcbc92ffe0d0 package-files/linux/icon_48x48.png Binary file package-files/linux/icon_48x48.png has changed diff -r d175593317a8 -r bcbc92ffe0d0 package-files/linux/jpegwasher --- a/package-files/linux/jpegwasher Wed Apr 29 21:49:21 2020 -0700 +++ b/package-files/linux/jpegwasher Thu Apr 30 21:22:30 2020 -0700 @@ -22,4 +22,4 @@ ANTIALIAS_ALL="-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true" # Launch application. -exec "${JAVA}" ${ANTIALIAS_ALL} -jar "/usr/share/JpegWasher/jars/@jar.filename@" +exec "${JAVA}" ${ANTIALIAS_ALL} -jar "/usr/share/jpegwasher/@jar.filename@"