Closed jlblancoc closed 2 years ago
Hmm, interesting, didn't know about that.
I'll make a release on Monday removing the debian directory on the release tarballs.
I would like to keep whatever the upstream debian directory contents are in the repo though; I really like doing a make deb and having a working deb from source...
Sure, no problem with keeping it.
Thanks! It will be super useful. Yesterday I tried making an updated Debian release and there were many problems due to the already existing d directory. I'll work on the next release and come back to you when they're news.
Thanks again!
Just made a v0.7.3
It was too much of a hassle to keep the debian directory in source control and remove it at dist time. I'll wait until the package lands in debian and then I'll see what I can do.
Verify if it solves your issue, and if so, close this please.
Ok, thanks!
That allowed me to make great progress. I attach (as a backup and for your reference) the contents of the debian/
directory, after fixing tons of minor issues (outdated standards, etc.).
That allows one to do:
mkdir temp && cd temp
wget https://github.com/pantoniou/libfyaml/releases/download/v0.7.3/libfyaml-0.7.3.tar.gz
mv libfyaml-0.7.3.tar.gz libfyaml_0.7.3.orig.tar.gz
cd libfyaml*
unzip /path/to/debian.zip # the attachment here
# build source package
debuild -S -sa -d
# build in an isolated env:
cd ..
sudo pbuilder --build --distribution unstable --architecture amd64 --basetgz /var/cache/pbuilder/sid-amd64-base.tgz --mirror http://ftp.us.debian.org/debian/ *.dsc
# checks:
cd /var/cache/pbuilder/result
lintian -I *.deb
which, so far, still produces these errors and warnings, which will be not acceptable for Debian mentors:
$ lintian -I *.deb
E: libfyaml-utils: arch-dependent-file-not-in-arch-specific-directory usr/bin/fy-tool
E: libfyaml-utils: missing-dependency-on-libc needed by usr/bin/fy-tool
W: libfyaml-utils: binary-without-manpage usr/bin/fy-compose
W: libfyaml-utils: binary-without-manpage usr/bin/fy-dump
W: libfyaml-utils: binary-without-manpage usr/bin/fy-filter
W: libfyaml-utils: binary-without-manpage ... use --no-tag-display-limit to see all (or pipe to a file/program)
W: libfyaml-0.7: debian-changelog-has-wrong-day-of-week 2021-10-16 is a Saturday
W: libfyaml-dev: debian-changelog-has-wrong-day-of-week 2021-10-16 is a Saturday
W: libfyaml-utils: debian-changelog-has-wrong-day-of-week 2021-10-16 is a Saturday
W: libfyaml-0.7: new-package-should-close-itp-bug
W: libfyaml-dev: new-package-should-close-itp-bug
W: libfyaml-utils: new-package-should-close-itp-bug
W: libfyaml-0.7: package-name-doesnt-match-sonames libfyaml-0.7-0
I: libfyaml-0.7: description-synopsis-might-not-be-phrased-properly "Fully feature complete YAML parser and emitter."
I: libfyaml-dev: description-synopsis-might-not-be-phrased-properly "Fully feature complete YAML parser and emitter."
I: libfyaml-utils: description-synopsis-might-not-be-phrased-properly "Fully feature complete YAML parser and emitter."
I: libfyaml-0.7: hardening-no-bindnow usr/lib/x86_64-linux-gnu/libfyaml-0.7.so.0.0.0
I: libfyaml-utils: hardening-no-bindnow usr/bin/fy-tool
I: libfyaml-0.7: no-symbols-control-file usr/lib/x86_64-linux-gnu/libfyaml-0.7.so.0.0.0
I: libfyaml-0.7: spelling-error-in-binary usr/lib/x86_64-linux-gnu/libfyaml-0.7.so.0.0.0 expresion expression
I: libfyaml-0.7: spelling-error-in-binary usr/lib/x86_64-linux-gnu/libfyaml-0.7.so.0.0.0 indendation indentation
I: libfyaml-0.7: spelling-error-in-binary usr/lib/x86_64-linux-gnu/libfyaml-0.7.so.0.0.0 seperator separator
I: libfyaml-utils: spelling-error-in-binary usr/bin/fy-tool expresion expression
We can work on debian/patches
until a version got into Debian, then when everything looks OK, you could integrate those patches upstream, ok?
"I" messages are not critical, but "W" and "E" must be addressed for a package to be accepted.
Cheers!
A bit closer with: debian.zip
$ lintian -I *.deb
E: libfyaml-utils: arch-dependent-file-not-in-arch-specific-directory usr/bin/fy-tool
W: libfyaml-utils: binary-without-manpage usr/bin/fy-compose
W: libfyaml-utils: binary-without-manpage usr/bin/fy-dump
W: libfyaml-utils: binary-without-manpage usr/bin/fy-filter
W: libfyaml-utils: binary-without-manpage ... use --no-tag-display-limit to see all (or pipe to a file/program)
W: libfyaml-0.7: package-name-doesnt-match-sonames libfyaml-0.7-0
I: libfyaml-0.7: description-synopsis-might-not-be-phrased-properly "Fully feature complete YAML parser and emitter."
I: libfyaml-dev: description-synopsis-might-not-be-phrased-properly "Fully feature complete YAML parser and emitter."
I: libfyaml-utils: description-synopsis-might-not-be-phrased-properly "Fully feature complete YAML parser and emitter."
I: libfyaml-0.7: hardening-no-bindnow usr/lib/x86_64-linux-gnu/libfyaml-0.7.so.0.0.0
I: libfyaml-utils: hardening-no-bindnow usr/bin/fy-tool
I: libfyaml-0.7: no-symbols-control-file usr/lib/x86_64-linux-gnu/libfyaml-0.7.so.0.0.0
I: libfyaml-0.7: spelling-error-in-binary usr/lib/x86_64-linux-gnu/libfyaml-0.7.so.0.0.0 expresion expression
I: libfyaml-0.7: spelling-error-in-binary usr/lib/x86_64-linux-gnu/libfyaml-0.7.so.0.0.0 indendation indentation
I: libfyaml-0.7: spelling-error-in-binary usr/lib/x86_64-linux-gnu/libfyaml-0.7.so.0.0.0 seperator separator
I: libfyaml-utils: spelling-error-in-binary usr/bin/fy-tool expresion expression
Great progress!
I will take a look and see what I can fix; some of the errors are obvious.
Are the I errors mandatory to be fixed or now btw?
Lintian errors and warnings are mandatory to be fixed, yes... the "I" messages are not, but typos, etc. are easy to fix anyhow.
JL
I created a gbp repo here: https://github.com/MRPT/libfyaml-gbp so it's easier to test with:
git clone https://github.com/MRPT/libfyaml-gbp
cd libfyaml-gbp
Then:
# Option 1) build locally:
gbp buildpackage -d
or:
# build in a pbuilder:
gbp buildpackage -S -sa -d
# build in an isolated env:
cd ..
sudo pbuilder --build --distribution unstable --architecture amd64 --basetgz /var/cache/pbuilder/sid-amd64-base.tgz --mirror http://ftp.us.debian.org/debian/ *.dsc
# checks:
cd /var/cache/pbuilder/result
lintian -I *.deb
@pantoniou I'm not able to generate the man pages under doc/man
... They are very well elaborated, it seems there must be a way to build them into nice real man pages... It looks like the checks in "configure" always report "have_sphinx = 0" in my system, despite having sphinx-builder, etc. Any hint on what may be wrong?
BTW: I already fixed the only lintian error, let's fix the warnings and submit it!
Another issue which requires changing the autotools files (and I'm not as familiar with them to do it straight away...) is the naming of the ".so" file and symlinks:
Now it's:
How I think it should be (it will fix the remaining lintian warning):
With cmake there are options to generate all these names and symlinks automatically, but I'm unsure how to create them with autotools...
Awesome!
Thanks for taking the time to do this. I really appreciate it...
I will try to address all the issues and issue a new release over the weekend ($DAYJOB has not been giving me much leeway the past few days).
Thank you again!
Thank you! I think it's worth having your library at one "apt install" of distance ;-)
a bit offtopic for the tiltle, but I'm also working on a package for openSUSE: https://build.opensuse.org/package/show/home:tinita:branches:devel:libraries:c_c++/libfyaml
a bit offtopic for the tiltle, but I'm also working on a package for openSUSE: https://build.opensuse.org/package/show/home:tinita:branches:devel:libraries:c_c++/libfyaml
Awesome! Why are those builds failing? I'm not familiar with the opensuse way of packaging, but auto tools should be supported straight away ....
@jlblancoc they are only failing for an older SLE version, that I don't have to support :)
Release v0.7.9 is out. Can I get a list of what's broken so that we can get a debian package out for 0.8.0?
Hi!
On my side, when the deb package is built, (make + make install) one has:
debian/tmp/
debian/tmp/usr
debian/tmp/usr/bin
debian/tmp/usr/bin/fy-filter
debian/tmp/usr/bin/fy-join
debian/tmp/usr/bin/fy-tool
debian/tmp/usr/bin/fy-testsuite
debian/tmp/usr/bin/fy-dump
debian/tmp/usr/bin/fy-ypath
debian/tmp/usr/bin/fy-compose
debian/tmp/usr/include
debian/tmp/usr/include/libfyaml.h
debian/tmp/usr/lib
debian/tmp/usr/lib/x86_64-linux-gnu
debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig
debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/libfyaml.pc
debian/tmp/usr/lib/x86_64-linux-gnu/libfyaml.a
debian/tmp/usr/lib/x86_64-linux-gnu/libfyaml.la
debian/tmp/usr/lib/x86_64-linux-gnu/libfyaml-0.7.9.so
debian/tmp/usr/lib/x86_64-linux-gnu/libfyaml.so
We would need:
libfyaml-0.7.9.so
should be libfyaml.so.0.7.9
, then two symlinks libfyaml.so.0.7
and libfyaml.so
, each one pointint to the former one. See, for example, this build log, at the end, you can see the list of all files under the "libfoo.deb" and "libfoo-dev" packages. Note that autotools probably have automated ways to generate those symlinks (cmake does), but I'm unfamiliar with autotools...Thanks.
Just pushed v0.7.10, which should fix the last two debian packaging problems.
libfyaml-0.7.9.so was a bad idea (using libtool's -release option). The correct thing to do is to switch to -version and support libtool's ABI versioning (which differs from what's the API version - the human readable semantic versioning one).
You can read the details at https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info
For the second part, I just ship canned version of the man-page (and install symlinks) as appropriate.
Unfortunately, v0.7.10 broke distcheck so v0.7.11 will be coming soon :)
v0.7.11 is out, let me know if it fixes anything at all...
For the records: It seems the last version was good enough, thanks!
We managed to get it uploaded to Debian (pkg details), but since it's the first time it has to go thru the "NEW queue", so it's waiting there until it's approved for definitive inclusion. After that, you would be able to see its page under: https://tracker.debian.org/pkg/libfyaml
Excellent news
Thanks for your efforts Jose.
Hi @pantoniou ,
Just a kind note: please check this section on why
/debian
shouldn't appear in released tar balls...