Skip to content

Commit eb5dc79

Browse files
author
Grok Compression
committed
debian: add support
1 parent ae0678e commit eb5dc79

11 files changed

Lines changed: 1299 additions & 0 deletions

File tree

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ build
33
obj-x86_64-linux-gnu
44
debian/tmp
55
nohup.out
6+
debian/.debhelper
7+
debian/debhelper-build-stamp
8+
debian/files
9+
debian/libgrokj2k*/
10+
debian/libgrokj2k*-dev/
11+
debian/grokj2k-tools/
12+
*grokj2k*.substvars
613

714
#Ignore thumbnails created by Windows
815
Thumbs.db

debian/README.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
----------------
2+
Managing Tags
3+
----------------
4+
5+
Move master tag:
6+
7+
`$ git push origin :refs/tags/v20.2.4 && git tag -fa v20.2.4 && git push origin --tags`
8+
9+
10+
Move debian/master tag:
11+
12+
`$ git push origin :refs/tags/v20.2.4.debian && git tag -fa v20.2.4.debian && git push origin --tags`
13+
14+
------------------
15+
Building a Package
16+
------------------
17+
18+
Guide to [setting up schroot](https://wiki.debian.org/Packaging/Pre-Requisites)
19+
20+
0. `cd $SOURCE_DIR`
21+
22+
1. First-time chroot setup:
23+
`$ apt install git sbuild cmake devscripts build-essential debhelper help2man libpng-dev liblcms2-dev libtiff-dev libjpeg-dev zlib1g-dev doxygen lintian libimage-exiftool-perl`
24+
25+
2. `sudo schroot -c debian-sid`
26+
27+
3. `$ git archive --format=tar v20.2.4 | gzip > libgrokj2k_20.2.4.orig.tar.gz && mv libgrokj2k_20.2.4.orig.tar.gz ..`
28+
29+
4. `$ dpkg-buildpackage -us -uc`
30+
31+
or, to just check lintian errors:
32+
33+
`$ dpkg-buildpackage -S`
34+
35+
5. Check for errors / warnings
36+
37+
`$ lintian -EviIL +pedantic ../*.changes`
38+
39+
40+
--------------------
41+
Other Architectures
42+
--------------------
43+
44+
[Guide](https://www.antixforum.com/forums/topic/use-sbuild-to-automate-deb-package-building/) to
45+
creating chroots for other architectures.
46+
47+
------------------
48+
GPG Key Management
49+
------------------
50+
51+
https://keyring.debian.org/creating-key.html
52+
53+
https://blog.chapagain.com.np/gpg-remove-keys-from-your-public-keyring/
54+
55+
https://www.linuxbabe.com/security/a-practical-guide-to-gpg-part-1-generate-your-keypair
56+
57+
0. run chroot
58+
59+
1. create gpg key
60+
61+
`$ gpg --full-gen-key`
62+
63+
Choose default RSA key, and choose length of 4096 bits
64+
65+
2. sign `.changes` file
66+
67+
`$ debsign -k AD89FCBE49DCDB2F4DE41D4E9E763CFFF2AC6581 ../*.changes`
68+
69+
3. dupload changes file
70+
71+
`$ dput -f mentors ../*.changes`
72+
73+
Note: to list all gpg keys: `$ gpg --list-keys`

debian/README.source

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Grok JPEG 2000 for Debian
2+
-------------------------

debian/changelog

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
libgrokj2k (20.2.4-1) unstable; urgency=medium
2+
3+
* 3 years worth of bug fixes and speed improvements
4+
5+
-- Aaron Boxer <boxerab@protonmail.com> Sun, 29 Mar 2026 8:10:00 +0200
6+
7+
libgrokj2k (10.0.5-1) unstable; urgency=medium
8+
9+
* Maintenance bug fix release
10+
* Fixes an encoder crash : Grok issue #333
11+
* Fixes a lintian warning about statically linked lcms2 library
12+
13+
-- Aaron Boxer <boxerab@protonmail.com> Thu, 9 Feb 2023 8:10:00 +0200
14+
15+
libgrokj2k (10.0.4-1) unstable; urgency=medium
16+
17+
* Maintenance bug fix release
18+
* Fixes a bug in older macOS build
19+
* Fixes bug in Doxyfile.dox.cmake.in file (Closes: #972494)
20+
21+
-- Aaron Boxer <boxerab@protonmail.com> Tue, 4 Oct 2022 8:10:00 +0200
22+
23+
libgrokj2k (10.0.3-1) unstable; urgency=medium
24+
25+
* Maintenance bug fix release
26+
* Fixes a few lintian and blhc warnings
27+
28+
-- Aaron Boxer <boxerab@protonmail.com> Mon, 19 Sep 2022 8:10:00 +0200
29+
30+
libgrokj2k (10.0.2-1) unstable; urgency=medium
31+
32+
* Maintenance bug fix release
33+
* Fixes Failure to build on mipsel and armel (Closes: #1015014)
34+
35+
-- Aaron Boxer <boxerab@protonmail.com> Fri, 16 Sep 2022 8:10:00 +0200
36+
37+
libgrokj2k (10.0.1-1) unstable; urgency=medium
38+
39+
* Maintenance bug fix release
40+
* Fixes Failure to build from source with Perl 5.36 (Closes: #1014290)
41+
42+
-- Aaron Boxer <boxerab@protonmail.com> Tue, 13 Sep 2022 8:10:00 +0200
43+
44+
libgrokj2k (10.0.0-1) unstable; urgency=medium
45+
46+
* Majour release
47+
* Simplification of the library API
48+
* Examples showing API usage
49+
* Added libgrokj2kcodec library encompassing all codec functionality
50+
* Support for WASM build
51+
* Concurrent parsing of packets when PLT marker is present
52+
* Efficient skipping of non-relevant tiles when TLM marker is present
53+
* Significant perf improvements when decompressing single-tile mono images
54+
* many memory leak and other bug fixes
55+
56+
-- Aaron Boxer <boxerab@protonmail.com> Sun, 4 Sep 2022 11:10:00 +0200
57+
58+
libgrokj2k (9.7.5-1) unstable; urgency=medium
59+
60+
* Maintenance bug fix release
61+
62+
-- Aaron Boxer <boxerab@protonmail.com> Sun, 10 Apr 2022 11:10:00 +0200
63+
64+
libgrokj2k (9.5.0-1) unstable; urgency=medium
65+
66+
* Maintenance bug fix release
67+
* Fixes GCC 11 build failure (Closes: #984111)
68+
69+
-- Aaron Boxer <boxerab@protonmail.com> Wed, 20 Oct 2021 11:10:00 +0200
70+
71+
libgrokj2k (9.2.0-1) unstable; urgency=high
72+
73+
* Majour release
74+
* Fixes CVE-2021-36089 (Closes: #990525)
75+
76+
-- Aaron Boxer <boxerab@gmail.com> Sat, 22 May 2021 11:10:00 +0200
77+
78+
libgrokj2k (7.6.6-3) unstable; urgency=high
79+
80+
* Fix GCC poison error by removing one poison directive (Closes: #985116)
81+
82+
-- Aaron Boxer <boxerab@gmail.com> Tue, 16 Mar 2021 11:10:00 +0200
83+
84+
libgrokj2k (7.6.6-2) unstable; urgency=high
85+
86+
* Add -latomic to fix FTBFS on armel/mipsel (Closes: #983773)
87+
* Drop -mavx2 -mbmi2 to avoid baseline violation on x86 (Closes: #983775)
88+
89+
-- Aaron Boxer <boxerab@gmail.com> Wed, 10 Mar 2021 11:10:00 +0200
90+
91+
libgrokj2k (7.6.6-1) unstable; urgency=high
92+
93+
* Fix severe bug in encoder
94+
95+
-- Aaron Boxer <boxerab@gmail.com> Tue, 2 Feb 2021 11:10:00 +0200
96+
97+
libgrokj2k (7.6.5-1) unstable; urgency=medium
98+
99+
* Maintenance bug release
100+
101+
-- Aaron Boxer <boxerab@gmail.com> Wed, 13 Jan 2021 11:10:00 +0200
102+
103+
libgrokj2k (7.6.3-1) unstable; urgency=medium
104+
105+
* Maintenance bug release
106+
107+
-- Aaron Boxer <boxerab@gmail.com> Fri, 1 Jan 2021 11:10:00 +0200
108+
109+
libgrokj2k (7.6.2-1) unstable; urgency=medium
110+
111+
* Maintenance bug release
112+
113+
-- Aaron Boxer <boxerab@gmail.com> Tue, 22 Dec 2020 21:10:00 +0200
114+
115+
libgrokj2k (7.6.1-1) unstable; urgency=medium
116+
117+
* Maintenance bug release
118+
119+
-- Aaron Boxer <boxerab@gmail.com> Thu, 01 Oct 2020 21:10:00 +0200
120+
121+
libgrokj2k (7.6.0-1) unstable; urgency=medium
122+
123+
* Maintenance bug release
124+
125+
-- Aaron Boxer <boxerab@gmail.com> Fri, 14 Aug 2020 21:10:00 +0200
126+
127+
libgrokj2k (7.3.0-1) unstable; urgency=medium
128+
129+
* Maintenance bug release
130+
131+
-- Aaron Boxer <boxerab@gmail.com> Fri, 29 May 2020 21:10:00 +0200
132+
133+
libgrokj2k (7.2.0-1) unstable; urgency=medium
134+
135+
* Initial release. Closes: #954265
136+
137+
-- Aaron Boxer <boxerab@gmail.com> Sun, 17 May 2020 21:10:00 +0200

debian/control

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
Source: libgrokj2k
2+
Priority: optional
3+
Maintainer: Aaron Boxer <boxerab@protonmail.com>
4+
Homepage: https://github.com/GrokImageCompression/grok
5+
Build-Depends: cmake (>= 3.20.0),
6+
debhelper-compat (= 13),
7+
help2man,
8+
liblcms2-dev,
9+
libpng-dev,
10+
libtiff-dev,
11+
libjpeg-dev,
12+
zlib1g-dev,
13+
libimage-exiftool-perl,
14+
Build-Depends-Indep: doxygen
15+
Standards-Version: 4.6.1.0
16+
Section: libs
17+
Vcs-Browser: https://github.com/GrokImageCompression/grok
18+
Vcs-Git: https://github.com/GrokImageCompression/grok.git -b debian/master
19+
Rules-Requires-Root: no
20+
21+
Package: libgrokj2k1
22+
Architecture: any
23+
Multi-Arch: same
24+
Pre-Depends: ${misc:Pre-Depends}
25+
Depends: ${misc:Depends}, ${shlibs:Depends}
26+
Description: JPEG 2000 image compression/decompression library
27+
Grok is a library for handling the JPEG 2000 image compression format.
28+
JPEG 2000 is a wavelet-based image compression standard that permits
29+
progressive decoding by pixel and resolution accuracy.
30+
It supports lossless and lossy compression and is resilient to image errors.
31+
.
32+
This package contains the runtime files for Grok.
33+
34+
Package: libgrokj2k1-dev
35+
Section: libdevel
36+
Architecture: any
37+
Multi-Arch: same
38+
Depends: libgrokj2k1 (= ${binary:Version}), ${misc:Depends}
39+
Recommends: libgrokj2k1-doc (= ${source:Version})
40+
Description: development files for Grok, a JPEG 2000 image library
41+
Grok is a library for handling the JPEG 2000 image compression format.
42+
JPEG 2000 is a wavelet-based image compression standard that permits
43+
progressive decoding by pixel and resolution accuracy.
44+
It supports lossless and lossy compression and is resilient to image errors.
45+
.
46+
This package contains the development files for Grok.
47+
48+
Package: grokj2k-tools
49+
Section: graphics
50+
Architecture: any
51+
Multi-Arch: foreign
52+
Depends: ${misc:Depends}, ${shlibs:Depends}
53+
Description: command-line tools for the Grok JPEG 2000 library
54+
This package provides command-line tools for conversions between
55+
several image formats:
56+
.
57+
- grk_decompress: decompress j2k or jp2 file to pgm, ppm, pnm, pam,
58+
pgx, tif, bmp, raw, rawl, jpeg or png.
59+
- grk_compress: encode pgm, ppm, pnm, pam, pgx, tif, bmp, raw, rawl,
60+
jpeg or png file to j2k or jp2 file.
61+
- grk_dump: dump information contained in a j2k or jp2 file.
62+
63+
Package: libgrokj2k1-doc
64+
Section: doc
65+
Architecture: all
66+
Multi-Arch: foreign
67+
Depends: ${misc:Depends}
68+
Description: documentation for the Grok JPEG 2000 library
69+
Grok is a library for handling the JPEG 2000 image compression format.
70+
JPEG 2000 is a wavelet-based image compression standard that permits
71+
progressive decoding by pixel and resolution accuracy.
72+
It supports lossless and lossy compression and is resilient to image errors.
73+
.
74+
This package contains the documentation for Grok.

0 commit comments

Comments
 (0)