Hi, Thanks for reviewing the upload! On Sat, Nov 09, 2024 at 07:49:00AM +0800, YunQiang Su wrote:
On Tue, 5 Nov 2024 11:25:58 +0800 Bo YU <tsu.yubo@gmail.com> wrote:> * QA upload. > * Add 0004-fix-ftbfs-on-gcc-14.patch to fix the ftbfs issue. > (Closes: #1075694) > * Set std-ver to 4.7.0. > * Add Rules-Requires-Root on d/control. > * Add doc-base for xxkb. > * debian/rules: pass CFLAGS to dh_auto_build. Sorry for the useless entry of the chanelog, I have this with v2.It has a couple of problems: 1. it fails to run multiple times of `dpkg-buildpackage -B` due to that the generated Makefile is not cleaned. You may need to clean it.
Okay, this time I have cleared it explicitly. But to my surprise is that this can not be reproduced by `pbuilder build --twice <package>.dsc`, see the commnet on #1 with https://mentors.debian.net/package/xxkb/ from Phil. I was not able to retrigger this issue with `dpkg-buildpackage -B` on refresh chroot also. However, I got the impressive if wrong something in Makefile(generated by imakefile) will lead to fail to build.
2. The changelog entry `* debian/rules: pass CFLAGS to dh_auto_build.` is misleading.
Ah, sorry, I should mention it ahead. I have updated it with v2 which is to drop the entry, see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1075694#21
3. Hardcode hardening options is not a good idea.
You can do something like
override_dh_auto_build:
HARDEN_CFLAGS="`dpkg-buildflags --get CFLAGS` `dpkg-buildflags
--get LDFLAGS`" \
dh_auto_build
And in Imakefile
CDEBUGFLAGS = -O2 -Wall -g $(HARDEN_CFLAGS)
Hmm, I try it with your suggestion but unfortunately it does not work on my side. But I found another solution like this[0] to fix the issue and it seems it was more simpler.
4. It seems that it can support librsvg. Why is it not enabled?
hmm, I am not sure about this. But when I try it on d/rules, I will get:
```
Package glib-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `glib-2.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'glib-2.0', required by 'virtual:world', not found
Package 'gdk-pixbuf-xlib-2.0', required by 'virtual:world', not found
Package 'librsvg-2.0', required by 'virtual:world', not found
In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
from /usr/include/stdio.h:28,
from xxkb.c:10:
/usr/include/features.h:197:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
197 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
| ^~~~~~~
gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -
Wformat -Werror=format-security -fcf-protection -Wl,-z,relro -Dlinux -D__amd64__ -D_POSIX_C_SOURCE=199309L -
D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -DFUNCPROTO=15 -DNARROWPROTO -DAPPDEFDIR=\"/etc/X11/a
pp-defaults\" -DAPPDEFFILE=\"XXkb\" -DXT_RESOURCE_SEARCH -DSHAPE_EXT -DSVG_GRAPHICS `pkg-config --cflags glib-2.0 gdk-pixbuf-xlib-2.
0 librsvg-2.0` -Wdate-time -D_FORTIFY_SOURCE=2 -c -o resource.o resource.c
Package glib-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `glib-2.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'glib-2.0', required by 'virtual:world', not found
Package 'gdk-pixbuf-xlib-2.0', required by 'virtual:world', not found
Package 'librsvg-2.0', required by 'virtual:world', not found
In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
from /usr/include/string.h:26,
197 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [35/1921]
| ^~~~~~~
resource.c:33:10: fatal error: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: No such file or directory
33 | #include <gdk-pixbuf-xlib/gdk-pixbuf-xlib.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
I think it is not easy to fix the issue given so many outdated
libraries. Another reason is that I am not sure it works or not even we
support librsvg with the QA upload. I think we can send a reportbug to
ask for enabling this if this is okay.
So personally I would like to this QA upload with left the issue. Is
that okay?
I have update it on mentor also:
```
To access further information about this package, please visit the following URL:
https://mentors.debian.net/package/xxkb/
Alternatively, you can download the package with 'dget' using this command:
dget -x https://mentors.debian.net/debian/pool/main/x/xxkb/xxkb_1.11.1-3.dsc
Changes since the last upload:
xxkb (1.11.1-3) unstable; urgency=medium
.
* QA upload.
* Add 0004-fix-ftbfs-on-gcc-14.patch to fix the ftbfs issue.
(Closes: #1075694)
* Set std-ver to 4.7.0.
* Add Rules-Requires-Root on d/control.
* Add doc-base for xxkb.
* debian/rules: clean up Makefile explicitly.
* debian/rules: update CDEBUGFLAGS to fix hardening issue.
```
Thanks for your time again.
BR,
Bo
[0]: https://sources.debian.org/src/xvier/1.0-12/debian/rules/?hl=15#L15 -- Regards, -- Bo YU
Attachment:
signature.asc
Description: PGP signature