bigbigmdm / IMSProg

IMSProg - software for CH341A-based programmers to work with I2C, SPI and MicroWire EEPROM/Flash chips
https://antenna-dvb-t2.ru/IMSProg.php
GNU General Public License v3.0
215 stars 38 forks source link

Debian improvements #43

Closed Fantu closed 7 months ago

Fantu commented 7 months ago

@bigbigmdm Some other small fixes d/copyright I hope is now ok, ftp-master will do deep check before accept new package in Debian repository

I think you can try to do a new upload to mentors after merge this, but without do a new release (with only packaging fixes and improvement can be done only when all finished and ok)

Fantu commented 7 months ago

@bigbigmdm there are these stills missed in d/control:

Vcs-Git: https://github.com/bigbigmdm/IMSProg.git
Vcs-Browser: https://github.com/bigbigmdm/IMSProg/
bigbigmdm commented 7 months ago

These lines should be inserted after the "Homepage" line in debian/control?

bigbigmdm commented 7 months ago

My dput was crashed:

dput mentors imsprog_1.1.4_source.changes
Checking signature on .changes
gpg: /home/mimi/Документы/C_and_CPP/DEBIAN-PACKAGE/1140/imsprog_1.1.4_source.changes: Valid signature from 18AB7E84797DA922
Checking signature on .dsc
gpg: /home/mimi/Документы/C_and_CPP/DEBIAN-PACKAGE/1140/imsprog_1.1.4.dsc: Valid signature from 18AB7E84797DA922
Traceback (most recent call last):
  File "/usr/bin/dput", line 11, in <module>
    load_entry_point('dput==1.0.3+ubuntu1.1', 'console_scripts', 'execute-dput')()
  File "/usr/share/dput/dput/dput.py", line 1030, in main
    files_to_upload = verify_files(
  File "/usr/share/dput/dput/dput.py", line 447, in verify_files
    raise dputhelper.DputUploadFatalException(
dput.helper.dputhelper.DputUploadFatalException: Error: uploading files for distribution UNRELEASED to mentors not allowed.
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
    with os.fdopen(os.open(pr_filename,
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_share_dput_execute-dput.1000.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/bin/dput", line 11, in <module>
    load_entry_point('dput==1.0.3+ubuntu1.1', 'console_scripts', 'execute-dput')()
  File "/usr/share/dput/dput/dput.py", line 1030, in main
    files_to_upload = verify_files(
  File "/usr/share/dput/dput/dput.py", line 447, in verify_files
    raise dputhelper.DputUploadFatalException(
dput.helper.dputhelper.DputUploadFatalException: Error: uploading files for distribution UNRELEASED to mentors not allowed.
Fantu commented 7 months ago

If UNRELEASED is not possible anymore, do dch -r --distribution unstable for temp. finalize d/changelog to generate source build for mentors upload, but don't push the d/changelog finalize and release as other changes may be needed (I think is don't good do new release any minimal packages changes, especially if it's not even uploaded to official repo)

Fantu commented 7 months ago

To be more specific, you can commit the release commit keeping only in local git copy, when more changes are needed you will remove the temp. commit (for example you can remove the latest commit with git reset --hard HEAD~1, do the needed changes, push them to github, do another temp. release commit and do for another mentors upload.

bigbigmdm commented 7 months ago

It seems that UNRELEASE is incorrect specifically in my version of dput. The following values are allowed on mentors.debian:

List of supported distributions:

bullseye bullseye-backports bullseye-backports-sloppy bullseye-security bullseye-updates buster buster-backports buster-backports-sloppy buster-security buster-updates experimental oldstable oldstable-backports oldstable-backports-sloppy oldstable-proposed-updates oldstable-security sid stable stable-backports stable-proposed-updates stable-security testing testing-proposed-updates testing-security UNRELEASED unstable bookworm bookworm-backports bookworm-backports-sloppy bookworm-proposed-updates bookworm-security bookworm-updates bullseye-proposed-updates oldstable-updates stable-backports-sloppy stable-updates testing-backports testing-backports-sloppy testing-updates

bigbigmdm commented 7 months ago

I updated dput-ng and the dput command upload files with status ok! Fabio, please see the result on mentors.debian.

bigbigmdm commented 7 months ago

Benjamin Drung bdrung seemed to promise to take care of the package, but then stopped replying to emails. Can you contact him?

Fantu commented 7 months ago

You can try to ask on #debian-mentors on IRC for a sponsor and advices

Fantu commented 7 months ago

There is also a bind on matrix if you prefer matrix instead IRC

bigbigmdm commented 7 months ago

Fabio, thank you so much for everything you have done for me!

bigbigmdm commented 7 months ago

Fabio, good day! Did I understand correctly that I need to delete the debian folder here, make a new debian/latest branch and copy the debian folder into that branch?

Fantu commented 7 months ago

If is ok for you, start to remove debian folder from main branch and release/tag 1.1.4 I'll try to prepare debian/latest branch for you and do a test to check what is better to do for import upstream with gbp and try to make easier/fast as possible

bigbigmdm commented 7 months ago

Fabio, take a look, please. Is it right?

Fantu commented 7 months ago

Why the 1.1.4 tag point to https://github.com/bigbigmdm/IMSProg/commit/92a9567afff591ad26fe93849d8c90aa550a89d8 ? Should point to https://github.com/bigbigmdm/IMSProg/commit/33200511de7ba8fbafab1718d237d25109077164 will be the upstream release the debian release will be generated with gbp about debian/latest I should try to start from empty branch and check working gbp import-orig

bigbigmdm commented 7 months ago

Fabio, I'm confused. I write:

git tag v1.1.4 debian/latest
git push origin v1.1.4

Is it right?

Fantu commented 7 months ago

v1.1.4 tag should be the upstream tag on main branch debian tags will be generated with gbp tag, and pushed after that upload will be accepted to official repository

bigbigmdm commented 7 months ago

Oops ;) Just moment, please.

git tag v1.1.4 main

Is it right?

Fantu commented 7 months ago

Yes, if you can replace it after I'll try import of upstream with gbp

bigbigmdm commented 7 months ago

Ok, thank you!

Fantu commented 7 months ago

I still see the wrong 1.1.4 tag

bigbigmdm commented 7 months ago

What's it like now?

Fantu commented 7 months ago

tag is ok, gbp import did wrong, I need to ask on mentors, probably I did something wrong

bigbigmdm commented 7 months ago

Thank you very much! I look forward to hearing more from you!

Fantu commented 7 months ago

Found a solution, I wrote the correct command for future import in debian/README.source if you want to replace debian/latest with my here seems ok: https://github.com/Fantu/IMSProg/tree/debian/latest

Fantu commented 7 months ago

Another thing after view another readd of debian/ in main e remove of it, main will now have only upstream things and not packaging one that will remain only in debian/latest, plus other possible debian/ and ubuntu/ branches when needed (based on https://dep-team.pages.debian.net/deps/dep14/), for example when package will be added on Debian and after migrate to Debian testing debian/bookworm-backports branch for doing a backports for Debian 12 (if you will want)

bigbigmdm commented 7 months ago

Hello, Fabio! I moved your debian folder to the IMSProg/debian/latest branch. But I was surprised by the contents of the d/changelog file. Is this necessary? Now what should I do next? Build a package and upload to debian.mentors?

Fantu commented 7 months ago

I take a look at your branches but seems chaotic, why another add and remove of debian/ in main? As wrote, main should not have packaging anymore. About debian/latest was not replaced but added commit with changes, I don't know if gbp import can merge correctly the next merge of history from main set as now. And about major of commit "Add files via upload", should be good short description of what the commit do and if needed extended with more details, this can be useful in many cases. Actually a developer who sees a git repository like this would probably run away ^^' About unofficial build (for example for launchpad ppa) push branches is not needed, you can do a local-only branch with only d/changelog entry for rebuild (in major of case only this needed).

If you give me permission I'll do a "clean" debian/latest, as for now nothing was released a replacement with force push should be ok, on main even if not good latest commits probably is not good force push and override history if other users/developers use it.

bigbigmdm commented 7 months ago

"I take a look at your branches but seems chaotic, why nother add and remove of debian/ in main?"

"If you give me permission, I will make a "clean" debian/latest."

Fantu commented 7 months ago

https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/permission-levels-for-a-personal-account-repository#collaborator-access-for-a-repository-owned-by-a-personal-account

bigbigmdm commented 7 months ago

I invited you the IMSProg repository.

Fantu commented 7 months ago

I realized that yesterday I had made a stupid mistake with debian/gbp.conf which had made me waste time in numerous attempts with gbp import-ref, now it went right as it should and put the correct command in debian/README.source now should be correct: https://github.com/bigbigmdm/IMSProg/commits/debian/latest/ try to do an upload to mentors

Fantu commented 7 months ago

About upstream (the software) in the main branch, a changelog not linked to packaging but only the software itself I think is needed. If the commits and their descriptions were done well, they could also be generated quickly and easily with each new version https://www.freecodecamp.org/news/a-beginners-guide-to-git-what-is-a-changelog-and-how-to-generate-it/

bigbigmdm commented 7 months ago

Good day, Fabio! Am I reading this right?

  1. On my computer I make a git switch debian/latest
  2. git pull
  3. I build the package version 1.1.4-1
  4. Upload it to debian.mentors
Fantu commented 7 months ago

you will need to delete your local debian/latest branch or force pull as I replaced it

bigbigmdm commented 7 months ago

Fabio, I don't get it. Why did we make it then?

Can you go into detail, step by step?

Fantu commented 7 months ago

I suppose you have difficult also with basic git usage, I try to write a step by step, but may different based on what you use for manage git repository. On your local git copy, do git fetch origin if not already done, switch to main (git checkout main), remove the old debian/latest (git branch -d debian/latest), after pull the new, probably only git check debian/latest for pull from origin. Check if is correct if git history (git log) is the same of the github one.

bigbigmdm commented 7 months ago
git log
commit 1235d82c3aa206be8c12618738759708ea1d8054 (HEAD -> debian/latest, origin/debian/latest)
Author: Fabio Fantoni <fantonifabio@tiscali.it>
Date:   Sat Jan 6 20:02:57 2024 +0100

    debian: add README.source with the command to use for import new upstream version

commit 4cceb700e3eaf853961a1d75710a817e2d799c16
Author: Fabio Fantoni <fantonifabio@tiscali.it>
Date:   Sun Jan 7 21:17:49 2024 +0100

    update changelog

commit ccf764bb090110e9bfdf788fb8abb754b1c0cf5d
Merge: 61104b2 1761b82
Author: Fabio Fantoni <fantonifabio@tiscali.it>
Date:   Sun Jan 7 21:12:32 2024 +0100

    Update upstream source from tag 'v1.1.4'

    Update to upstream version '1.1.4'
    with Debian dir b960bbb7f272990584861211694b38f5d197dbfb

commit 61104b2869efbeb1d8f841800775747fb9d3c958
Author: Fabio Fantoni <fantonifabio@tiscali.it>
Date:   Sun Jan 7 21:07:34 2024 +0100

    add debian/gbp.conf

commit 27bfb6df59827562430c58b2e9ca791ef17fb193
Author: Fabio Fantoni <fantonifabio@tiscali.it>
Date:   Sat Jan 6 16:10:12 2024 +0100

    put a previous version for test import of new upstream version

commit 78074eb8daea8924b1d53684457dcbd97816a603
Author: Fabio Fantoni <fantonifabio@tiscali.it>
Date:   Sat Jan 6 15:44:27 2024 +0100

    debian: add upstream metadata

commit d41294348e39ca0be1ffd4cee68c77fe89737252
Author: Fabio Fantoni <fantonifabio@tiscali.it>
Date:   Sat Jan 6 15:43:06 2024 +0100

    d/control: specify debian/latest branch in vcs

commit 3da5cd1bcadddfc6ec3d47d34b2c7e3ee2562d21
Author: Fabio Fantoni <fantonifabio@tiscali.it>
Date:   Sat Jan 6 15:22:02 2024 +0100

    debian: switch format to quilt

commit 945b4d24e0927ab1b9cbc9fb3af5e0f60ce898ee
Author: Fabio Fantoni <fantonifabio@tiscali.it>
Date:   Sat Jan 6 15:20:46 2024 +0100

    clean debian/changelog

commit 30f0dd0034b5e71864ca34afaedb3298c84bbeae
Author: Fabio Fantoni <fantonifabio@tiscali.it>
Date:   Sat Jan 6 15:19:12 2024 +0100

    debian: initial packaging from older upstream one

commit 1761b82e22dbe94c4985d94d130db922c07b5fd4 (tag: v1.1.4, main)
Author: Mikhail Medvedev <75389103+bigbigmdm@users.noreply.github.com>
Date:   Sat Jan 6 16:55:47 2024 +0300
    Delete debian directory

commit 38a13f3dcbc5cb8667268951aee5d449ccf565bc
Merge: 3320051 92a9567
Author: Mikhail Medvedev <75389103+bigbigmdm@users.noreply.github.com>
Date:   Sat Jan 6 16:55:01 2024 +0300

Is it Ok? Can I compiling and uploading this folder to mentors.debian?

Fantu commented 7 months ago

yes

bigbigmdm commented 7 months ago

Thanks, Fabio! The download was successful. (https://mentors.debian.net/package/imsprog/)

Can you please tell me what to do next?

Fantu commented 7 months ago

Now seems ok, remain only the lintian error for IMSProg_programmer/other/index.html, is it a generated file or is a "false positive"? (in the second case an add of lintian override is needed)

bigbigmdm commented 7 months ago

I tested the file IMSProg_programmer/other/index.html at https://validator.w3.org/ and got zero errors. But lintian still fails on it. Maybe the file is too big. In index.html images in BASE64 format are inserted into the file itself.

Fantu commented 7 months ago

lintian report about that file seems a generated one and without source present. w3 validation do another type of check. so the question is if the file is automatically generated with source don't present on repository or is a simple html file that you modify manually (with whatever editor you use). In that case will be added a lintian override

bigbigmdm commented 7 months ago

This is not a generated file, is a simple html file that i modify manually.

Fantu commented 7 months ago

I pushed to debian/latest 2 other commits, including the lintian override for this error do a git pull, add a temp. release commit (dch -r --distribution unstable), don't push it, and do new upload to mentors. delete also all olders upload (from mentors page). If it will be accepted you will push the temp. release commit, if other changes are needed you will delete it.

bigbigmdm commented 7 months ago

Good evening Fabio! I have uploaded the latest changes to mentors.debian. Please take a look at them.

Fantu commented 7 months ago

Unfortunately the d/changelog is wrong :( , I don't know how you managed to make 2 new entries with a simple dch -r --distribution unstable on UNRELEASED while for the rest it seems that the right username and email fields are not set on git (see root@mimi-HP -Laptop-15s-eq1xxx). For set them globally (if you don't have some project with different mail) should be for example:

git config --global user.name "Mikhail Medvedev"
git config --global user.email "e-ink-reader@yandex.ru"

For delete the wrong commit/s you can do for example: git reset --hard fb224c27f9972c450ad888983329ceac0145d04d fb224c27f9972c450ad888983329ceac0145d04d is the hash of my latest commit

After redoing dch -r --distribution unstable should keep 1.1.4-1 only entry with your right name and email for correct upload to mentors (the wrong should be deleted)

Fantu commented 7 months ago

Sorry for my stupid error, the ones used by devscripts should be these environment variables, for example add these files to ~/.bashrc :

export DEBFULLNAME="Mikhail Medvedev"
export DEBEMAIL="e-ink-reader@yandex.ru"
bigbigmdm commented 7 months ago

Okay. I'll do it tomorrow. I just don't have the energy today. If I get something wrong, will you help me?

bigbigmdm commented 7 months ago

Thanks Fabio! I uploaded the latest changes to mentors.debian. Everything is now green!

Now what do I do next? Write to the chat again asking for package sponsorship?