Closed alexmyczko closed 2 years ago
I have removed all package build files from the git repository (5c31d07 + 5207af7).
As a Debian user, I would be very happy to see FINAL CUT officially included in the Debian distribution.
Hi Alex, I wanted to ask you if you tried to build Debian packages for the new FINAL CUT version 0.8.0?
Hi thanks for asking and reminding me. will report here with results asap:
Here's my attempts, but it doesn't look good:
When I look at the http://sid.ethz.ch/debian/finalcut/finalcut_0.8.0-1_amd64.build file, the compilation seems to have worked. The problem seems to be the http://sid.ethz.ch/debian/finalcut/finalcut-0.8.0/debian/libfinal0.symbols which is still from version 0.7.1
Please try it with this file symbols.zip
And you should change line
test -f fonts/fonts.alias && cp fonts/fonts.alias fonts/xfonts-finalcut-newfont.alias || true
to
test -f final/font/fonts.alias && cp final/font/fonts.alias final/font/xfonts-finalcut-newfont.alias || true
in debian/rules
.
The debian/fonts-libfinal.install
should have the following content:
final/font/8x16graph.pcf.gz /usr/share/fonts/X11/misc/
final/font/xfonts-finalcut-newfont.alias /etc/X11/fonts/misc/
final/font/40-finalcut-newfont.conf usr/share/fontconfig/conf.avail
And in debian/libfinal-dev.docs
and debian/fonts-libfinal.docs
you should replace
#fonts/newfont.txt
with
final/font/newfont.txt
.
Hi Alex, I just noticed that you changed the version number from 0.8.0 to 0.8.0-1. In this case the lines in libfinal0.symbols do not match and you have to recreate this file.
rm debian/libfinal0.symbols
dpkg-gensymbols -plibfinal0 -Odebian/libfinal0.symbols
a lot to fix: https://mentors.debian.net/package/finalcut/
All right, let's get started...
The debian/watch
file should work fine with:
version=4
opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/finalcut-$1\.tar\.gz/ \
https://github.com/gansm/finalcut/tags .*/v?(\d\S+)\.tar\.gz
The "useless-autoreconf-build-depends" warning should disappear if you delete the following line
autotools-dev,
in the debian/control
file.
The "arch-dependent-file-not-in-arch-specific-directory" error should disappear if you delete the
Multi-Arch: same
line below the
Package: libfinal-examples
line in the debian/control
file.
To eliminate the "non-empty-dependency_libs-in-la-file" error, it should be sufficient to remove the
usr/lib/*/lib*.la
line from the debian/libfinal-dev.install
file.
The "symbols-file-contains-current-version-with-debian-revision" error should finally disappear if you recreate the debian/libfinal0.symbols
file and strip the Debian revision number from it by using the sed command.
rm debian/libfinal0.symbols
dpkg-gensymbols -plibfinal0 -Odebian/libfinal0.symbols
sed -i -e 's/0.8.0-1$/0.8.0/' debian/libfinal0.symbols
To fix the "not-binnmuable-all-depends-any" error, it should be sufficient to replace the following two lines below the line
Package: libfinal-examples
1. Change from
Architecture: all
to
Architecture: any
2. Change from
Depends: libfinal0 (= ${binary:Version}), ${misc:Depends}, libtinfo-dev, libncurses5-dev
to
Depends: libfinal0 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
To remove the "link-to-shared-library-in-wrong-package" warning, the line (without trailing asterisk)
usr/lib/*/lib*.so
must be deleted from the file debian/libfinal0.install
and inserted into the file debian/libfinal-dev.install
.
Do you want to write the RFP: bug? and are you on IRC or element/matrix?
Hi Alex, to be honest, I have no idea what an RFP bug should look like. As a communication channel for FINAL CUT issues, I prefer GitHub to have all information bundled and transparent in one place.
Hi @gansm it's very easy, see the first mail at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=944202 (this is an example, but send To: is the same and after RFP: finalcut -- short description, and the body the same with fields pretty much like d/control and d/copyright... good luck
Okay, the mail is out. I hope that I could describe the functionality of my project meaningful enough for outsiders.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=998910
By the way: You still have a typo at the top of your debian/libfinal0.symbols
file. There it is written libifnal
instead of libfinal
. (symbols-declares-dependency-on-other-package)
What's the next step?
some last tunings and then upload to the well guarded gate of NEW queue?
https://mentors.debian.net/package/finalcut/ # 10 should appear soon i don't have the .symbols file anymore
uploaded
Oh no! I just see that the m68k architecture only has a pointer alignment of 2 bytes (16 bits).
alignof(char*) == 2
Unfortunately I don't own a m68k Linux VM to analyze this.
I believe FINAL CUT should build on a m68k architecture with this patch: patch.tar.gz
now that it's in debian, ubuntu etc... do you keep a list of software using your library somewhere?
Hi Alex, first of all, thank you very much for your great support. Sorry, I do not have a project list. Not everyone who develops with FINAL CUT tells me that. However, I know that it is used in some companies and in private environments.
FINAL CUT is used for educational purposes as well:
MailPunk - Object-Oriented Design & Programming Coursework https://github.com/amin-nejad/mailpunk
IA86 - The even more pedagogical system: apprendre l'assembleur https://github.com/dahut87/IA86
Hi Alex, I just noticed that you removed the binaries from the libfinal-examples_0.8.0-5 package. This violates the original purpose of this package. That package should (similar to gtk2.0-examples) demonstrate the capabilities of this library and give the developer the possibility to understand the implementation in the source code. For each hardware architecture, there should be a separate deb package.
Hi Alex, I just noticed that you removed the binaries from the libfinal-examples_0.8.0-5 package. This violates the original purpose of this package. That package should (similar to gtk2.0-examples) demonstrate the capabilities of this library and give the developer the possibility to understand the implementation in the source code. For each hardware architecture, there should be a separate deb package.
I had the impression the examples are fint by just being sources. As that package is marked all and not any it can not have compiled code that would not run on other architectures. Any developer should be able to just build the examples shipped to run them.
of course it is possible to switch from all to any or put the examples separate from the sources...
You are right! The package should be marked as "any". But I didn't notice it until just now.
Hi Alex, I was just surprised to see that libfinal-dev is missing all the header files from the subdirectories. Without these header files, it is impossible to compile your own application.
These files should be included here:
> find /usr/include/final
/usr/include/final
/usr/include/final/util
/usr/include/final/util/fpoint.h
/usr/include/final/util/fdata.h
/usr/include/final/util/fstringstream.h
/usr/include/final/util/flogger.h
/usr/include/final/util/fstring.h
/usr/include/final/util/flog.h
/usr/include/final/util/fsize.h
/usr/include/final/util/frect.h
/usr/include/final/util/fcallback.h
/usr/include/final/util/emptyfstring.h
/usr/include/final/util/fsystem.h
/usr/include/final/util/fsystemimpl.h
/usr/include/final/menu
/usr/include/final/menu/fmenulist.h
/usr/include/final/menu/fradiomenuitem.h
/usr/include/final/menu/fmenubar.h
/usr/include/final/menu/fmenuitem.h
/usr/include/final/menu/fdialoglistmenu.h
/usr/include/final/menu/fcheckmenuitem.h
/usr/include/final/menu/fmenu.h
/usr/include/final/ftypes.h
/usr/include/final/fapplication.h
/usr/include/final/fstartoptions.h
/usr/include/final/fwidget_functions.h
/usr/include/final/widget
/usr/include/final/widget/fcombobox.h
/usr/include/final/widget/ftogglebutton.h
/usr/include/final/widget/flabel.h
/usr/include/final/widget/fscrollbar.h
/usr/include/final/widget/fspinbox.h
/usr/include/final/widget/flistview.h
/usr/include/final/widget/fstatusbar.h
/usr/include/final/widget/fbusyindicator.h
/usr/include/final/widget/fradiobutton.h
/usr/include/final/widget/flineedit.h
/usr/include/final/widget/fwindow.h
/usr/include/final/widget/fprogressbar.h
/usr/include/final/widget/flistbox.h
/usr/include/final/widget/fbutton.h
/usr/include/final/widget/fscrollview.h
/usr/include/final/widget/fbuttongroup.h
/usr/include/final/widget/ftooltip.h
/usr/include/final/widget/fswitch.h
/usr/include/final/widget/fcheckbox.h
/usr/include/final/widget/ftextview.h
/usr/include/final/fevent.h
/usr/include/final/final.h
/usr/include/final/dialog
/usr/include/final/dialog/fdialog.h
/usr/include/final/dialog/ffiledialog.h
/usr/include/final/dialog/fmessagebox.h
/usr/include/final/fwidgetcolors.h
/usr/include/final/input
/usr/include/final/input/fmouse.h
/usr/include/final/input/fkey_map.h
/usr/include/final/input/fkeyboard.h
/usr/include/final/vterm
/usr/include/final/vterm/fvterm.h
/usr/include/final/vterm/fstyle.h
/usr/include/final/vterm/fvtermattribute.h
/usr/include/final/vterm/fvtermbuffer.h
/usr/include/final/vterm/fcolorpair.h
/usr/include/final/fconfig.h
/usr/include/final/output
/usr/include/final/output/foutput.h
/usr/include/final/output/tty
/usr/include/final/output/tty/foptimove.h
/usr/include/final/output/tty/ftermoutput.h
/usr/include/final/output/tty/sgr_optimizer.h
/usr/include/final/output/tty/ftermdebugdata.h
/usr/include/final/output/tty/ftermios.h
/usr/include/final/output/tty/ftermopenbsd.h
/usr/include/final/output/tty/fcharmap.h
/usr/include/final/output/tty/ftermdata.h
/usr/include/final/output/tty/ftermcap.h
/usr/include/final/output/tty/fterm.h
/usr/include/final/output/tty/ftermfreebsd.h
/usr/include/final/output/tty/ftermdetection.h
/usr/include/final/output/tty/ftermcapquirks.h
/usr/include/final/output/tty/foptiattr.h
/usr/include/final/output/tty/ftermlinux.h
/usr/include/final/output/tty/ftermxterminal.h
/usr/include/final/output/tty/fterm_functions.h
/usr/include/final/output/fcolorpalette.h
/usr/include/final/fobject.h
/usr/include/final/fc.h
/usr/include/final/fwidget.h
it was always like that (broken) or i just broke it now?
ah the libfinal-dev.install is broken, fixed with -6, should appear shortly
Because you are just editing, can you please change the architecture in libfinal-examples from "all" to "any"?
if someone wants to execute the examples he just runs:
cd /usr/share/doc/libfinal/examples
make -f Makefile.gcc
we can state that in README.Debian ?
Otherwise you're now part of Debian: https://qa.debian.org/developer.php?login=guru.mail%40muenster.de
i don't think the examples for a -dev package (like some others) should be any instead of all and include binaries.
Hi Alex, the examples are primarily intended to demonstrate the capabilities of FINAL CUT. This should also be possible for a user without any programming skills. The ncurses-examples are pretty much the equivalent of that. If you really want to develop with FINAL CUT, you can install libfinal-dev with all dependencies (including the c++ compiler).
i think this can be closed, as the package is packaged now...
will you prepare 0.9.0 deb src package for experimental, or shall i? or we just wait for release and go for unstable/sid?
I would prefer you to take care of this part. I rarely build packages.
Would you mind moving/dropping debian/ so it'd be easier to create an official debian package?
I wasn't able to find an RFP/ITP bug yet, is it possible none was filed yet?
I guess I'll create one, if there's no objections, WIP: http://sid.ethz.ch/debian/finalcut/