Skip to content

Commit fc8fb1f

Browse files
MassOS 2022.08 Release
1 parent 61a2696 commit fc8fb1f

15 files changed

Lines changed: 546 additions & 233 deletions

build-system.sh

Lines changed: 124 additions & 71 deletions
Large diffs are not rendered by default.

changelog.md

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ This document contains the full changelog for every previous versions of MassOS,
44
# Current Development
55
Changes:
66

7+
- GNOME is now an officially supported desktop environment alongside Xfce.
78
- The snapd package manager is now supported on MassOS, but not installed by default. See the [MassOS-Snapd](https://github.com/MassOS-Linux/MassOS-Snapd) project for more information and how to set it up.
89
- Reworked some of the MassOS build system to improve support for other desktop environments.
910
- Improved accessibility by providing an optional high contrast theme.
1011
- Fixed broken video playback in Parole and other GStreamer-based applications.
1112
- Fixed PATH-related issues with `sudo`.
1213
- Fixed an issue where custom system-installed (NOT Flatpak) GUI apps could break after an update.
13-
- Miscellaneous bug fixes and quality-of-life improvements (see commits for detailed/technical information).
1414
- [Xfce] Added mounted drives panel plugin.
1515

1616
Upgraded software (core):
@@ -20,17 +20,23 @@ Upgraded software (core):
2020
- Atkmm: `2.28.2 --> 2.28.3`
2121
- BIND Utils: `9.18.4 --> 9.18.5`
2222
- BlueZ: `5.64 --> 5.65`
23+
- chardet: `4.0.0 --> 5.0.0`
24+
- CMake: `3.23.2 --> 3.23.3`
25+
- cryptsetup: `2.4.3 --> 2.5.0`
26+
- dialog: `1.3-20220526 --> 1.3-20220728`
2327
- dmidecode: `3.3 --> 3.4`
2428
- efibootmgr: `17 --> 18`
2529
- font-util: `1.3.2 --> 1.3.3`
2630
- Git: `2.37.0 --> 2.37.1`
2731
- GNUPG: `2.3.6 --> 2.3.7`
32+
- GNUTLS: `3.7.6 --> 3.7.7`
2833
- Graphviz: `4.0.0 --> 5.0.0`
29-
- HarfBuzz: `4.4.1 --> 5.0.1`
34+
- HarfBuzz: `4.4.1 --> 5.1.0`
3035
- hwdata: `0.360 --> 0.361`
3136
- iana-etc: `20220524 --> 20220715`
3237
- Inetutils: `2.2 --> 2.3`
3338
- inih: `55 --> 56`
39+
- ISO-Codes: `4.10.0 --> 4.11.0`
3440
- JasPer: `3.0.5 --> 3.0.6`
3541
- libcap: `2.64 --> 2.65`
3642
- libdrm: `2.4.111 --> 2.4.112`
@@ -41,17 +47,20 @@ Upgraded software (core):
4147
- libnl: `3.6.0 --> 3.7.0`
4248
- libnotify: `0.7.12 --> 0.8.1`
4349
- libuv: `1.44.1 --> 1.44.2`
50+
- libwacom: `2.2.0 --> 2.4.0`
4451
- libwebp: `1.2.2 --> 1.2.3`
4552
- libxcvt: `0.1.1 --> 0.1.2`
4653
- libzip: `1.8.0 --> 1.9.2`
47-
- Linux Kernel `5.18.8 --> 5.18.14`
54+
- Linux Kernel `5.18.8 --> 5.19`
4855
- LSB-Tools: `0.9 --> 0.10`
4956
- lxml: `4.9.0 --> 4.9.1`
5057
- Mesa: `22.1.3 --> 22.1.4`
5158
- Meson: `0.62.2 --> 0.63.0`
59+
- mobile-broadband-provider-info: `20220511 --> 20220725`
5260
- Mousepad: `0.5.9 --> 0.5.10`
5361
- mpg123: `1.30.0 --> 1.30.1`
5462
- Net-SNMP: `5.9.1 --> 5.9.3`
63+
- Nettle: `3.8 --> 3.8.1`
5564
- NSS: `3.80 --> 3.81`
5665
- NVIDIA Open Kernel Modules: `515.43.04 --> 515.57`
5766
- OpenLDAP: `2.6.2 --> 2.6.3`
@@ -64,17 +73,19 @@ Upgraded software (core):
6473
- Poppler: `22.06.0 --> 22.07.0`
6574
- PyGObject: `3.42.1 --> 3.42.2`
6675
- python-dbusmock: `0.27.5 --> 0.28.2`
67-
- smbclient: `4.16.2 --> 4.16.3`
76+
- requests: `2.27.1 --> 2.28.1`
77+
- rrdtool: `1.7.2 --> 1.8.0`
78+
- smbclient: `4.16.2 --> 4.16.4`
6879
- SQLite: `3.39.0 --> 3.39.2`
6980
- systemd: `251.2 --> 251.3`
7081
- UPower: `0.99.19 --> 1.90.0`
7182
- Vala: `0.56.1 --> 0.56.2`
7283
- Vim: `9.0.0000 --> 9.0.0050`
73-
- Vulkan-Headers: `1.3.217 --> 1.3.221`
74-
- Vulkan-Loader: `1.3.217 --> 1.3.221`
75-
- Vulkan-Tools: `1.3.217 --> 1.3.221`
84+
- Vulkan-Headers: `1.3.217 --> 1.3.223`
85+
- Vulkan-Loader: `1.3.217 --> 1.3.223`
86+
- Vulkan-Tools: `1.3.217 --> 1.3.223`
7687
- Wayland: `1.20.0 --> 1.21.0`
77-
- WebKitGTK: `2.36.3 --> 2.36.4`
88+
- WebKitGTK: `2.36.3 --> 2.36.5`
7889
- WirePlumber: `0.4.10 --> 0.4.11`
7990
- xcmsdb: `1.0.5 --> 1.0.6`
8091
- xdg-desktop-portal: `1.14.4 --> 1.14.5`
@@ -92,8 +103,9 @@ Upgraded software (core):
92103

93104
Upgraded software (Xfce):
94105

95-
- Firefox: `102.0 --> 102.0.1`
106+
- Firefox: `102.0.1 --> 103.0.1`
96107
- LightDM: `1.30.0 --> 1.32.0`
108+
- Thunar: `4.17.8 --> 4.17.9`
97109
- xfce4-settings: `4.16.2 --> 4.16.3`
98110

99111
# MassOS 2022.07

finalize.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ rm -rf /usr/share/doc/*
3333
rm -rf /usr/doc
3434
rm -rf /usr/docs
3535
rm -rf /usr/share/gtk-doc/html/*
36-
# Remove temporary compiler from stage1.
37-
find /usr -depth -name $(uname -m)-massos-linux-gnu\* | xargs rm -rf
3836
# Remove libtool archives.
3937
find /usr/lib /usr/libexec -name \*.la -delete
4038
# Remove any temporary files.
Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
From dd1bcc7abb26094e93636e85520f0d8f81ab0fab Mon Sep 17 00:00:00 2001
2+
From: 4ugustus <wangdw.augustus@qq.com>
3+
Date: Sat, 11 Jun 2022 09:31:43 +0000
4+
Subject: [PATCH] fix the FPE in tiffcrop (#415, #427, and #428)
5+
6+
---
7+
libtiff/tif_aux.c | 9 +++++++
8+
libtiff/tiffiop.h | 1 +
9+
tools/tiffcrop.c | 62 ++++++++++++++++++++++++++---------------------
10+
3 files changed, 44 insertions(+), 28 deletions(-)
11+
12+
diff --git a/libtiff/tif_aux.c b/libtiff/tif_aux.c
13+
index 140f26c7..5b88c8d0 100644
14+
--- a/libtiff/tif_aux.c
15+
+++ b/libtiff/tif_aux.c
16+
@@ -402,6 +402,15 @@ float _TIFFClampDoubleToFloat( double val )
17+
return (float)val;
18+
}
19+
20+
+uint32_t _TIFFClampDoubleToUInt32(double val)
21+
+{
22+
+ if( val < 0 )
23+
+ return 0;
24+
+ if( val > 0xFFFFFFFFU || val != val )
25+
+ return 0xFFFFFFFFU;
26+
+ return (uint32_t)val;
27+
+}
28+
+
29+
int _TIFFSeekOK(TIFF* tif, toff_t off)
30+
{
31+
/* Huge offsets, especially -1 / UINT64_MAX, can cause issues */
32+
diff --git a/libtiff/tiffiop.h b/libtiff/tiffiop.h
33+
index e3af461d..4e8bdac2 100644
34+
--- a/libtiff/tiffiop.h
35+
+++ b/libtiff/tiffiop.h
36+
@@ -365,6 +365,7 @@ extern double _TIFFUInt64ToDouble(uint64_t);
37+
extern float _TIFFUInt64ToFloat(uint64_t);
38+
39+
extern float _TIFFClampDoubleToFloat(double);
40+
+extern uint32_t _TIFFClampDoubleToUInt32(double);
41+
42+
extern tmsize_t
43+
_TIFFReadEncodedStripAndAllocBuffer(TIFF* tif, uint32_t strip,
44+
diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
45+
index 1f827b2b..90286a5e 100644
46+
--- a/tools/tiffcrop.c
47+
+++ b/tools/tiffcrop.c
48+
@@ -5268,17 +5268,17 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image,
49+
{
50+
if ((crop->res_unit == RESUNIT_INCH) || (crop->res_unit == RESUNIT_CENTIMETER))
51+
{
52+
- x1 = (uint32_t) (crop->corners[i].X1 * scale * xres);
53+
- x2 = (uint32_t) (crop->corners[i].X2 * scale * xres);
54+
- y1 = (uint32_t) (crop->corners[i].Y1 * scale * yres);
55+
- y2 = (uint32_t) (crop->corners[i].Y2 * scale * yres);
56+
+ x1 = _TIFFClampDoubleToUInt32(crop->corners[i].X1 * scale * xres);
57+
+ x2 = _TIFFClampDoubleToUInt32(crop->corners[i].X2 * scale * xres);
58+
+ y1 = _TIFFClampDoubleToUInt32(crop->corners[i].Y1 * scale * yres);
59+
+ y2 = _TIFFClampDoubleToUInt32(crop->corners[i].Y2 * scale * yres);
60+
}
61+
else
62+
{
63+
- x1 = (uint32_t) (crop->corners[i].X1);
64+
- x2 = (uint32_t) (crop->corners[i].X2);
65+
- y1 = (uint32_t) (crop->corners[i].Y1);
66+
- y2 = (uint32_t) (crop->corners[i].Y2);
67+
+ x1 = _TIFFClampDoubleToUInt32(crop->corners[i].X1);
68+
+ x2 = _TIFFClampDoubleToUInt32(crop->corners[i].X2);
69+
+ y1 = _TIFFClampDoubleToUInt32(crop->corners[i].Y1);
70+
+ y2 = _TIFFClampDoubleToUInt32(crop->corners[i].Y2);
71+
}
72+
/* a) Region needs to be within image sizes 0.. width-1; 0..length-1
73+
* b) Corners are expected to be submitted as top-left to bottom-right.
74+
@@ -5357,17 +5357,17 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image,
75+
{
76+
if (crop->res_unit != RESUNIT_INCH && crop->res_unit != RESUNIT_CENTIMETER)
77+
{ /* User has specified pixels as reference unit */
78+
- tmargin = (uint32_t)(crop->margins[0]);
79+
- lmargin = (uint32_t)(crop->margins[1]);
80+
- bmargin = (uint32_t)(crop->margins[2]);
81+
- rmargin = (uint32_t)(crop->margins[3]);
82+
+ tmargin = _TIFFClampDoubleToUInt32(crop->margins[0]);
83+
+ lmargin = _TIFFClampDoubleToUInt32(crop->margins[1]);
84+
+ bmargin = _TIFFClampDoubleToUInt32(crop->margins[2]);
85+
+ rmargin = _TIFFClampDoubleToUInt32(crop->margins[3]);
86+
}
87+
else
88+
{ /* inches or centimeters specified */
89+
- tmargin = (uint32_t)(crop->margins[0] * scale * yres);
90+
- lmargin = (uint32_t)(crop->margins[1] * scale * xres);
91+
- bmargin = (uint32_t)(crop->margins[2] * scale * yres);
92+
- rmargin = (uint32_t)(crop->margins[3] * scale * xres);
93+
+ tmargin = _TIFFClampDoubleToUInt32(crop->margins[0] * scale * yres);
94+
+ lmargin = _TIFFClampDoubleToUInt32(crop->margins[1] * scale * xres);
95+
+ bmargin = _TIFFClampDoubleToUInt32(crop->margins[2] * scale * yres);
96+
+ rmargin = _TIFFClampDoubleToUInt32(crop->margins[3] * scale * xres);
97+
}
98+
99+
if ((lmargin + rmargin) > image->width)
100+
@@ -5397,24 +5397,24 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image,
101+
if (crop->res_unit != RESUNIT_INCH && crop->res_unit != RESUNIT_CENTIMETER)
102+
{
103+
if (crop->crop_mode & CROP_WIDTH)
104+
- width = (uint32_t)crop->width;
105+
+ width = _TIFFClampDoubleToUInt32(crop->width);
106+
else
107+
width = image->width - lmargin - rmargin;
108+
109+
if (crop->crop_mode & CROP_LENGTH)
110+
- length = (uint32_t)crop->length;
111+
+ length = _TIFFClampDoubleToUInt32(crop->length);
112+
else
113+
length = image->length - tmargin - bmargin;
114+
}
115+
else
116+
{
117+
if (crop->crop_mode & CROP_WIDTH)
118+
- width = (uint32_t)(crop->width * scale * image->xres);
119+
+ width = _TIFFClampDoubleToUInt32(crop->width * scale * image->xres);
120+
else
121+
width = image->width - lmargin - rmargin;
122+
123+
if (crop->crop_mode & CROP_LENGTH)
124+
- length = (uint32_t)(crop->length * scale * image->yres);
125+
+ length = _TIFFClampDoubleToUInt32(crop->length * scale * image->yres);
126+
else
127+
length = image->length - tmargin - bmargin;
128+
}
129+
@@ -5868,13 +5868,13 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image,
130+
{
131+
if (page->res_unit == RESUNIT_INCH || page->res_unit == RESUNIT_CENTIMETER)
132+
{ /* inches or centimeters specified */
133+
- hmargin = (uint32_t)(page->hmargin * scale * page->hres * ((image->bps + 7) / 8));
134+
- vmargin = (uint32_t)(page->vmargin * scale * page->vres * ((image->bps + 7) / 8));
135+
+ hmargin = _TIFFClampDoubleToUInt32(page->hmargin * scale * page->hres * ((image->bps + 7) / 8));
136+
+ vmargin = _TIFFClampDoubleToUInt32(page->vmargin * scale * page->vres * ((image->bps + 7) / 8));
137+
}
138+
else
139+
{ /* Otherwise user has specified pixels as reference unit */
140+
- hmargin = (uint32_t)(page->hmargin * scale * ((image->bps + 7) / 8));
141+
- vmargin = (uint32_t)(page->vmargin * scale * ((image->bps + 7) / 8));
142+
+ hmargin = _TIFFClampDoubleToUInt32(page->hmargin * scale * ((image->bps + 7) / 8));
143+
+ vmargin = _TIFFClampDoubleToUInt32(page->vmargin * scale * ((image->bps + 7) / 8));
144+
}
145+
146+
if ((hmargin * 2.0) > (pwidth * page->hres))
147+
@@ -5912,13 +5912,13 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image,
148+
{
149+
if (page->mode & PAGE_MODE_PAPERSIZE )
150+
{
151+
- owidth = (uint32_t)((pwidth * page->hres) - (hmargin * 2));
152+
- olength = (uint32_t)((plength * page->vres) - (vmargin * 2));
153+
+ owidth = _TIFFClampDoubleToUInt32((pwidth * page->hres) - (hmargin * 2));
154+
+ olength = _TIFFClampDoubleToUInt32((plength * page->vres) - (vmargin * 2));
155+
}
156+
else
157+
{
158+
- owidth = (uint32_t)(iwidth - (hmargin * 2 * page->hres));
159+
- olength = (uint32_t)(ilength - (vmargin * 2 * page->vres));
160+
+ owidth = _TIFFClampDoubleToUInt32(iwidth - (hmargin * 2 * page->hres));
161+
+ olength = _TIFFClampDoubleToUInt32(ilength - (vmargin * 2 * page->vres));
162+
}
163+
}
164+
165+
@@ -5927,6 +5927,12 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image,
166+
if (olength > ilength)
167+
olength = ilength;
168+
169+
+ if (owidth == 0 || olength == 0)
170+
+ {
171+
+ TIFFError("computeOutputPixelOffsets", "Integer overflow when calculating the number of pages");
172+
+ exit(EXIT_FAILURE);
173+
+ }
174+
+
175+
/* Compute the number of pages required for Portrait or Landscape */
176+
switch (page->orient)
177+
{
178+
--
179+
GitLab
180+

0 commit comments

Comments
 (0)