Skip to content

Fix dh_missing: warning#1

Merged
otegami merged 1 commit intomroonga:mroonga-updatefrom
abetomo:fix-dh_missing
Jul 16, 2025
Merged

Fix dh_missing: warning#1
otegami merged 1 commit intomroonga:mroonga-updatefrom
abetomo:fix-dh_missing

Conversation

@abetomo
Copy link
Copy Markdown
Member

@abetomo abetomo commented Jul 16, 2025

Fix the following errors:

h_missing --fail-missing
dh_missing: warning: usr/share/doc/groonga-normalizer-mysql/groonga-normalizer-mysql/README.md exists in debian/tmp but is not installed to anywhere (related file: "debian/tmp/usr/share/groonga/README.md")
dh_missing: warning: usr/share/doc/groonga-normalizer-mysql/groonga-normalizer-mysql/lgpl-2.0.txt exists in debian/tmp but is not installed to anywhere (related file: "debian/tmp/usr/share/groonga-normalizer-mysql/lgpl-2.0.txt")
dh_missing: warning: usr/share/groonga/onigmo/AUTHORS exists in debian/tmp but is not installed to anywhere (related file: "debian/tmp/usr/share/mariadb/mroonga/AUTHORS")
dh_missing: warning: usr/share/groonga/onigmo/COPYING exists in debian/tmp but is not installed to anywhere (related file: "debian/tmp/usr/share/groonga/COPYING")
dh_missing: warning: usr/share/groonga/onigmo/HISTORY exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/groonga/onigmo/README exists in debian/tmp but is not installed to anywhere (related file: "debian/tmp/usr/share/mariadb/policy/selinux/README")
dh_missing: warning: usr/share/groonga/rapidjson/CHANGELOG.md exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/groonga/rapidjson/license.txt exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/groonga/rapidjson/readme.md exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/mariadb/mroonga/deb/postinst.sh exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/mariadb/mroonga/deb/prerm.sh exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/mariadb/mroonga/rpm/post.sh exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/mariadb/mroonga/rpm/preun.sh exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/mariadb/mroonga/update.sql exists in debian/tmp but is not installed to anywhere
dh_missing: error: missing files, aborting
	While detecting missing files, dh_missing noted some files with a similar name to those
	that were missing.  This error /might/ be resolved by replacing references to the
	missing files with the similarly named ones that dh_missing found - assuming the content
	is identical.
	As an example, you might want to replace:
	 * debian/tmp/usr/share/groonga/README.md
	with:
	 * usr/share/doc/groonga-normalizer-mysql/groonga-normalizer-mysql/README.md
	in a file in debian/ or as argument to one of the dh_* tools called from debian/rules.
	(Note it is possible the paths are not used verbatim but instead directories
	containing or globs matching them are used instead)
	Alternatively, add the missing file to debian/not-installed if it cannot and should not
	be used.
	The following debhelper tools have reported what they installed (with files per package)
	 * dh_install: libmariadb-dev (154), libmariadb-dev-compat (4), libmariadb3 (6), libmariadb3-compat (2), libmariadbclient18 (1), libmariadbd-dev (5), libmariadbd19 (1), libmysqlclient18 (1), mariadb-backup (6), mariadb-client (51), mariadb-client-compat (38), mariadb-client-core (6), mariadb-common (1), mariadb-plugin-columnstore (121), mariadb-plugin-connect (2), mariadb-plugin-connect-jdbc (1), mariadb-plugin-cracklib-password-check (2), mariadb-plugin-gssapi-client (1), mariadb-plugin-gssapi-server (2), mariadb-plugin-hashicorp-key-management (3), mariadb-plugin-mroonga (5), mariadb-plugin-oqgraph (2), mariadb-plugin-provider-bzip2 (2), mariadb-plugin-provider-lz4 (2), mariadb-plugin-provider-lzma (2), mariadb-plugin-provider-lzo (2), mariadb-plugin-provider-snappy (2), mariadb-plugin-rocksdb (8), mariadb-plugin-s3 (4), mariadb-plugin-spider (2), mariadb-server (83), mariadb-server-compat (12), mariadb-server-core (47), mariadb-test (54), mariadb-test-data (6), mysql-common (0)
	If the missing files are installed by another tool, please file a bug against it.
	When filing the report, if the tool is not part of debhelper itself, please reference the
	"Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+).
	  (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz)
	Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built
	If the omission is intentional or no other helper can take care of this consider adding the
	paths to debian/not-installed.
dh_install: error: dh_missing --fail-missing returned exit code 25
make: *** [debian/rules:200: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Fix the following errors:

```
h_missing --fail-missing
dh_missing: warning: usr/share/doc/groonga-normalizer-mysql/groonga-normalizer-mysql/README.md exists in debian/tmp but is not installed to anywhere (related file: "debian/tmp/usr/share/groonga/README.md")
dh_missing: warning: usr/share/doc/groonga-normalizer-mysql/groonga-normalizer-mysql/lgpl-2.0.txt exists in debian/tmp but is not installed to anywhere (related file: "debian/tmp/usr/share/groonga-normalizer-mysql/lgpl-2.0.txt")
dh_missing: warning: usr/share/groonga/onigmo/AUTHORS exists in debian/tmp but is not installed to anywhere (related file: "debian/tmp/usr/share/mariadb/mroonga/AUTHORS")
dh_missing: warning: usr/share/groonga/onigmo/COPYING exists in debian/tmp but is not installed to anywhere (related file: "debian/tmp/usr/share/groonga/COPYING")
dh_missing: warning: usr/share/groonga/onigmo/HISTORY exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/groonga/onigmo/README exists in debian/tmp but is not installed to anywhere (related file: "debian/tmp/usr/share/mariadb/policy/selinux/README")
dh_missing: warning: usr/share/groonga/rapidjson/CHANGELOG.md exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/groonga/rapidjson/license.txt exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/groonga/rapidjson/readme.md exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/mariadb/mroonga/deb/postinst.sh exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/mariadb/mroonga/deb/prerm.sh exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/mariadb/mroonga/rpm/post.sh exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/mariadb/mroonga/rpm/preun.sh exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/mariadb/mroonga/update.sql exists in debian/tmp but is not installed to anywhere
dh_missing: error: missing files, aborting
	While detecting missing files, dh_missing noted some files with a similar name to those
	that were missing.  This error /might/ be resolved by replacing references to the
	missing files with the similarly named ones that dh_missing found - assuming the content
	is identical.
	As an example, you might want to replace:
	 * debian/tmp/usr/share/groonga/README.md
	with:
	 * usr/share/doc/groonga-normalizer-mysql/groonga-normalizer-mysql/README.md
	in a file in debian/ or as argument to one of the dh_* tools called from debian/rules.
	(Note it is possible the paths are not used verbatim but instead directories
	containing or globs matching them are used instead)
	Alternatively, add the missing file to debian/not-installed if it cannot and should not
	be used.
	The following debhelper tools have reported what they installed (with files per package)
	 * dh_install: libmariadb-dev (154), libmariadb-dev-compat (4), libmariadb3 (6), libmariadb3-compat (2), libmariadbclient18 (1), libmariadbd-dev (5), libmariadbd19 (1), libmysqlclient18 (1), mariadb-backup (6), mariadb-client (51), mariadb-client-compat (38), mariadb-client-core (6), mariadb-common (1), mariadb-plugin-columnstore (121), mariadb-plugin-connect (2), mariadb-plugin-connect-jdbc (1), mariadb-plugin-cracklib-password-check (2), mariadb-plugin-gssapi-client (1), mariadb-plugin-gssapi-server (2), mariadb-plugin-hashicorp-key-management (3), mariadb-plugin-mroonga (5), mariadb-plugin-oqgraph (2), mariadb-plugin-provider-bzip2 (2), mariadb-plugin-provider-lz4 (2), mariadb-plugin-provider-lzma (2), mariadb-plugin-provider-lzo (2), mariadb-plugin-provider-snappy (2), mariadb-plugin-rocksdb (8), mariadb-plugin-s3 (4), mariadb-plugin-spider (2), mariadb-server (83), mariadb-server-compat (12), mariadb-server-core (47), mariadb-test (54), mariadb-test-data (6), mysql-common (0)
	If the missing files are installed by another tool, please file a bug against it.
	When filing the report, if the tool is not part of debhelper itself, please reference the
	"Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+).
	  (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz)
	Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built
	If the omission is intentional or no other helper can take care of this consider adding the
	paths to debian/not-installed.
dh_install: error: dh_missing --fail-missing returned exit code 25
make: *** [debian/rules:200: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
```
@otegami otegami merged commit 8af82bc into mroonga:mroonga-update Jul 16, 2025
1 check failed
@abetomo abetomo deleted the fix-dh_missing branch July 16, 2025 03:16
abetomo pushed a commit that referenced this pull request Mar 27, 2026
…UP BY use different aliases for the same column

MDEV-29300 fix causes a wrong result by incorrectly removing a wrapper to
an item that needed to be wrapped for the correct result.  Direct access
to the item causes an incorrect table reference to be used during
join evaluation.  We revert that fix.

Our original problem query is this
SELECT (SELECT 0 GROUP BY c1 HAVING (SELECT c1)) FROM t1 group by c1;

JOIN::prepare on
/* select#2 */ select 0 group by t1.c1 having (subquery#3)

fixing t1.c1 in group by clause, calls fix_outer_field()
this item is resolved in an outer select (#1) and it is a grouping select,
so we wrap it in Item_outer_ref and set this item to unfixed for later
fixing in fix_inner_refs().

JOIN::prepare continues onto the having clause and fixes (subquery#3) which
calls initiates the prepare series of calls, leading to setup_fields on the
fields in this JOIN, one of which is an outer reference c1.
This is resolved to the item in the next most outer select in the group by
clause. This item has been wrapped with an unfixed Item_outer_ref.
It is found in resolve_ref_in_select_and_group() is it expected that
this item will have already been fixed, hence this call in

Item_field::fix_outer_field()

DBUG_ASSERT(*ref && (*ref)->fixed());

but as explained above, it isn't fixed and debug builds assert here.

Because this wrapper cannot be resolved here for reasons detailed in
fix_inner_refs, and we cannot remove this wrapper without potentially
returning an incorrect result, we have to relax this assertion.

Approved by: Oleksandr "Sanja" Byelkin (sanja@mariadb.com)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants