[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ibus-avro



On Thursday, December 18, 2025 8:42:51 AM Mountain Standard Time Md. Asif 
Hossain wrote:
> Hello sir, I need help.
> 
> what did i do this time,
> 1. clone again (debian/latest)
> 2. create the file ~/.dput.cf
> [mentors]
> fqdn = mentors.debian.net
> incoming = /upload
> method = https
> allow_unsigned_uploads = 0
> progress_indicator = 2
> allowed_distributions = .*
> 
> 3. Create the tarball:
> 
> mmdebstrap --include=ca-certificates --skip=output/dev
> --variant=buildd unstable ~/.cache/sbuild/unstable-amd64.tar.zst
> https://deb.debian.org/debian
> 
> 4. create ~/.config/sbuild/config.pl and copy the code
> 
> $chroot_mode = 'unshare';
> 
> $external_commands = { "build-failed-commands" => [ [ '%SBUILD_SHELL' ] ] };
> 
> # Uncomment below to specify the distribution; this is the same as passing
> `-d unstable` to sbuild.
> # Specifying the distribution is currently required for piuparts when the
> changelog targets UNRELEASED.  See #1088928.
> #$distribution = 'experimental';
> #$distribution = 'unstable';
> #$distribution = 'bookworm-backports';
> 
> # Specify an extra repository; this is the same as passing
> `--extra-repository` to sbuild.
> #$extra_repositories = ['deb http://deb.debian.org/debian
> bookworm-backports main'];
> #$extra_repositories = ['deb http://deb.debian.org/debian experimental
> main'];
> 
> # Specify extra local packages to make available to the build environment.
> # The paths must be absolute paths from root; this is the same as passing
> `--extra-package` to sbuild.
> #$extra_packages = ['/path/to/package1.deb', '/path/to/package2.deb'];
> 
> # Specify the build dependency resolver; this is the same as passing
> `--build-dep-resolver` to sbuild.
> # When building with extra repositories, often 'aptitude' is better than
> 'apt' (the default).
> #$build_dep_resolver = 'aptitude';
> 
> # Specify the exact version of a required dependency; this is the same as
> passing `--add-depends` to sbuild.
> #$manual_depends = ['foo-dev (>= 1.2.3-4)', 'bar (>= 5.0-1)'];
> 
> # Build Architecture: all packages; this is the same as passing `-A` to
> sbuild.
> $build_arch_all = 1;
> 
> # Build the source in addition to the other requested build artifacts.
> # Without this, <BINARY>.changes files will not include the upstream source
> in
> # their list and will fail uploads to Debian if they are for a -1 revision
> that
> # includes a new upstream release; this is the same as passing `-s` to
> sbuild.
> $build_source = 1;
> 
> # Produce a source.changes file suitable for a source-only upload;
> # this is the same as passing `--source-only-changes` to sbuild.
> $source_only_changes = 1;
> 
> ## Run lintian after every build (in the same chroot as the build); use
> --no-run-lintian to override.
> $run_lintian = 1;
> # Display info tags.
> $lintian_opts = ['--display-info', '--verbose', '--fail-on',
> 'error,warning', '--info'];
> # Display info and pedantic tags, as well as overrides.
> #$lintian_opts = ['--display-info', '--verbose', '--fail-on',
> 'error,warning', '--info', '--pedantic', '--show-overrides'];
> 
> ## Run autopkgtest after every build (in a new, clean, chroot); use
> --no-run-autopkgtest to override.
> $run_autopkgtest = 1;
> # Specify autopkgtest options.  The commented example below is the default
> since trixie.
> #$autopkgtest_opts = ['--apt-upgrade', '--', 'unshare', '--release', '%r',
> '--arch', '%a' ];
> 
> ## Run piuparts after every build (in a new, temporary, chroot); use
> --no-run-piuparts to override.
> # this does not work in bookworm
> $run_piuparts = 1;
> # Build a temporary chroot.
> $piuparts_opts = ['--no-eatmydata', '--distribution=%r',
> '--fake-essential-packages=systemd-sysv'];
> # Build a temporary chroot that uses apt-cacher-ng as a proxy to save
> bandwidth and time and doesn't disable eatmydata to speed up processing.
> #$piuparts_opts = ['--distribution=%r', '--bootstrapcmd=mmdebstrap
> --skip=check/empty --variant=minbase --aptopt="Acquire::http { Proxy \"
> http://127.0.0.1:3142\";; }"'];
> 
> 5. gbp buildpackage
> 6. cd ..
> 
> 7. dput mentors ibus-avro_1.2+git20230914-1_amd64.changes
> (not _source.changes, it's not created)
> 
> Checking signature on .changes
> gpg: /home/theboss/Documents/Maintain
> ibus-avro/ibus-avro_1.2+git20230914-1_amd64.changes: error 58:
> gpgme_op_verify
> gpgme_op_verify: GPGME: No data
> 
> What did I do wrong? I tried sbuild and gbp buildpackage
> --git-builder=sbuild also but no luck.

The reason why there is no GPGME data is that you didn’t sign the .changes 
file before you tried to upload it.

You need to run:

debsign <FILE_NAME>.changes to sign the changes file with your GPG key.

Notice this text from Mentors:

“You need to use dput to upload packages. We accept your uploads through HTTPS 
or FTP. All packages must be signed (using debsign) with the GnuPG key you 
configured in your control panel.”

https://mentors.debian.net/intro-maintainers/

You should be fine to upload the amd64.changes file.  In fact, it is probably 
preferred, as then the binary file is available on Mentors for people to take 
a look at.  Mentors might even require an upload of the binary file (I can’t 
remember at this moment if it requires it or not).

However, you want to be able to correctly generate a _source.changes file, as 
those will be needed when uploading future versions of your package that do 
not involve a new upstream release.

The relevant option is "$source_only_changes = 1;”, which your notes above 
indicate you are using.  However, if the _source.changes is not being 
generated, this means that, for some reason, this options is not being used by 
sbuild.  Do you perhaps have a ~/.sbuildrc in addition to ~/.config/sbuild/
config.pl?  If both exist I am not sure which one sbuild uses.

If you only have one config file, can you confirm that gbp is configured to 
use sbuild instead of some other build tool?  You can check by looking at the 
contents of ~/.gbp.conf.  My file is:

# Configuration file for "gbp <command>"
[DEFAULT]
# the default build command:
builder = sbuild
# use pristine-tar:
pristine-tar = True
# Use color when on a terminal, alternatives: on/true, off/false or auto
color = auto
# Sign git tags.
sign-tags = True

-- 
Soren Stoutner
soren@debian.org

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: