Hello everyone. I am trying to build a custom debian package with some Zabbix template and configuration files for a software of mine.
My development server is a Debian7 and i am using dpkg 1.16.12. I need to pass the "Section" field as a dpkg-genchanges -D option. If i read correctly, -D options allows to add/override a field in the control file. I tried both: * to not add any Section field in the originating control file * to add a dummy Section field "tobereplaced" In both cases i get an error. This is the case with the dummy section field: >> starting dpkg-buildpackage with options: --changes-option=-DSection=java -b -us -uc -rfakeroot -i dpkg-buildpackage: source package foo-zabbix [...] dh_gencontrol -- -Vmisc:Depends=zabbix-agent,libzbxpgsql,sudo,bc,unzip -DSection=java dh_md5sums dh_builddeb dpkg-deb: building package `foo-zabbix' in `../foo-zabbix_1.0~n20180509T160051Z_all.deb'. dpkg-genchanges -DSection=java -b >../foo-zabbix_1.0~n20180509T160051Z_amd64.changes dpkg-genchanges: error: package foo-zabbix has section tobereplaced in control file but java in files list dpkg-buildpackage: error: dpkg-genchanges gave error exit status 255 Please note that in the temp building directory the DEBIAN/control file actually contains "Section: java" and files file has not been generated yet. If i do the same thing with another field, like "Origin", for example, all works smoothly, as you can see below: >> starting dpkg-buildpackage with options: --changes-option=-DOrigin=zabbix -b -us -uc -rfakeroot -i dpkg-buildpackage: source package foo-zabbix [...] dh_gencontrol -- -Vmisc:Depends=zabbix-agent,libzbxpgsql,sudo,bc,unzip -DOrigin=zabbix dh_md5sums dh_builddeb dpkg-deb: building package `foo-zabbix' in `../foo-zabbix_1.0~n20180509T155323Z_all.deb'. dpkg-genchanges -DOrigin=zabbix -b >../foo-zabbix_1.0~n20180509T155323Z_amd64.changes dpkg-genchanges: binary-only upload - not including any source code dpkg-source -i --after-build foo-zabbix dpkg-buildpackage: binary only upload (no source included) My hypotesis is that this snippet of code of dpkg-genchanges: my $sec = $f2seccf{$f}; $sec ||= $sourcedefault{'Section'}; if (!defined($sec)) { $sec = '-'; warning(_g("missing Section for binary package %s; using '-'"), $p); } $sec eq $f2sec{$f} || error(_g("package %s has section %s in " . "control file but %s in files list"), $p, $sec, $f2sec{$f}); does not take into consideration fields passed with a command line option. Am I right? Can anyone point me in the right direction to find a solution? Thank you a lot in advance. Sandro.