Spec URL: http://chitlesh.googlepages.com/ktechlab.spec SRPM URL: http://chitlesh.googlepages.com/ktechlab-0.3-1.src.rpm Description: KTechlab is a development and simulation environment for microcontrollers and electronic circuits, distributed under the GNU General Public License. KTechlab consists of several well-integrated components: A circuit simulator, capable of simulating logic, linear devices and some nonlinear devices. * Integration with gpsim, allowing PICs to be simulated in circuit. * A schematic editor, which provides a rich real-time feedback of the simulation. * A flowchart editor, allowing PIC programs to be constructed visually. * MicroBASIC; a BASIC-like compiler for PICs, written as a companion program to KTechlab. * An embedded Kate part, which provides a powerful editor for PIC programs. * Integrated assembler and disassembler via gpasm and gpdasm.
Some examples at http://ktechlab.org/screenshots/ for testing.
Some remarks: 1. I don't understand, why you - BR: autoconf It's not required. Building the package invokes autoheader due to a bug somewhere in the source tarball, nevertheless this invocation of autoheader does nothing. - BR: libtool No idea why you do this. - R: gpsim The package doesn't directly depend on gpsim. It depends on the libs from gpsim, which are automatically being pulled in by rpm. - R: gputils I don't see any dependency on this package. 2. The tarball is mal-packaged. It ships an autom4te.cache/. I'd suggest to rm -rf autom4te.cache in %prep.
Ralf, thank you for adding some remarks: Well, I will review this package. 1. From http://fedoraproject.org/wiki/Packaging/Guidelines : * Requires - Explain why this package requires gputils, gpsim. * BuildRequires - libtool, autoconf is not necessary, perhaps. * Scriptlets requirements - According to http://fedoraproject.org/wiki/Packaging/ScriptletSnippets , Requires(post): desktop-file-utils Requires(postun): desktop-file-utils should be removed. * File and Directory Ownership - The following directries are not owned. /usr/share/config.kcfg/ 2. From http://fedoraproject.org/wiki/Packaging/ReviewGuidelines : = Nothing. 3. Other things I have noticed: ? Well, I would appreciate it when someone would check if this package can be build on x86_64 as this uses qt-devel.
Also, check if gettext is requires as BuildRequires.
Ah, also ldconfig on %post, %postun is not required.
ping?
(In reply to comment #3) > Well, I will review this package. > Thanks, Mamoru > 1. From http://fedoraproject.org/wiki/Packaging/Guidelines : > > * Requires > - Explain why this package requires gputils, gpsim. > gpsim, for pic simulation: PIC microcontrollors are fully simulated in the circuit, via integration with gpsim. All PICs supported by gpsim are capable of being run and debugged in KTechlab, but only bidirectional and open PIC pins are simulated properly. gputils for assembly: KTechlab provides integration with gputils for quick assembly and testing of progams. Errors in the assembly output can be clicked on to go straight to the problem code. > * BuildRequires > - libtool, autoconf is not necessary, perhaps. > > * File and Directory Ownership > - The following directries are not owned. > /usr/share/config.kcfg/ > This is owned by kdebase, hence I should add it as Requires ls /usr/share/config.kcfg/
(In reply to comment #2) > 2. The tarball is mal-packaged. > It ships an autom4te.cache/. > > I'd suggest to rm -rf autom4te.cache in %prep. I can't see it. rpm -ql ktechlab | grep cache /usr/share/doc/HTML/en/ktechlab/index.cache.bz2
(In reply to comment #8) > (In reply to comment #2) > > > 2. The tarball is mal-packaged. > > It ships an autom4te.cache/. # tar tjvf ktechlab-0.3.tar.bz2 | grep autom4 drwxr-xr-x david/david 0 2006-01-05 11:55 ktechlab-0.3/autom4te.cache/ -rw-r--r-- david/david 5185 2006-01-05 11:55 ktechlab-0.3/autom4te.cache/requests -rw-r--r-- david/david 1035902 2006-01-05 11:55 ktechlab-0.3/autom4te.cache/output.0 -rw-r--r-- david/david 200071 2006-01-05 11:55 ktechlab-0.3/autom4te.cache/traces.0
(In reply to comment #7) > (In reply to comment #3) > > - Explain why this package requires gputils, gpsim. > > > gpsim, for pic simulation: > gputils for assembly: Show us any spot inside of the code which invokes any tool from these packages. ktechlab is linked against libraries from these packages, but I don't see it invoking any executable from these packages.
Well, (In reply to comment #7) > This is owned by kdebase, hence I should add it as Requires Is kdebase required only for the dependency for /usr/share/config.kcfg/ ? Actually I don't use KDE and currently I don't have kdelibs installed. However, this package seems to work well (at least by checking: ktechlab examples.circuit and examples.circuit is from http://ktechlab.org/screenshots/ ). So, if it is only for the ownership problem that kdelibs should be required, I think that /usr/share/config.kcfg/ should be owned by ktechlab, too and kdebase should not be required. And.. > gputils for assembly: > KTechlab provides integration with gputils for quick assembly and testing of > progams. Well, this means that it is _useful_ that KTechlab is installed together with gputils, however, this does not mean that KTechlab is completely unusable without gputils? For me, executing "ktechlab examples.circuit" seems to work without gputils . Well, I cannot judge correctly if this is working as you desired, however, at least ktechlab seems to launch normally and read circult correctly. IMO, the explicit dependency for gputils, gpsim can be removed. Also, check for BuildRequires and something else.
Updated: SPEC: http://chitlesh.funpic.de/rpm/ktechlab.spec SRPM: http://chitlesh.funpic.de/rpm/ktechlab-0.3-2.src.rpm
Okay!!! This package (ktechlab) is APPROVED by me. P.S. again I would appreciate it if you would review my request (bug 206487 ).
I'm not agree with the removal of Requires gputils gpsim. Perhaps Requires gpsim isn't needed because rpm complain about dependencies: [root@lns-bzn-37-82-253-50-64 i386]# LANG=C rpm -ivh ktechlab-0.3-2.i386.rpm error: Failed dependencies: libgpsim.so.0 is needed by ktechlab-0.3-2.i386 libgpsim_eXdbm.so.0 is needed by ktechlab-0.3-2.i386 libgpsimcli.so.0 is needed by ktechlab-0.3-2.i386 Of course, "ktechlab examples.circuit" work without gputils, because the circuit is an analog circuit, there is no PIC in it. But take the second example, "code_entry.circuit". Ktechlab open an error dialog box: "Assembly failed. Please check you have gputils installed" Ktechlab requires gputils for PIC simulation.
(In reply to comment #14) > I'm not agree with the removal of Requires gputils gpsim. > > Ktechlab requires gputils for PIC simulation. > Well, if it is common that Ktechlab is used for PIC simulation , in which case gputils is required generally, making Ktechlab require gputils is reasonable. I leave the judgment of whether Ktechlab should require gputils to Chitlesh. Anyway this package is approved.
Chitlesh, I don't know if you saw that: http://ktechlab.org/download/gpsim.php I commited the patch and I'll ask for rebuild on monday.
(In reply to comment #15) > (In reply to comment #14) > > I'm not agree with the removal of Requires gputils gpsim. > > > > Ktechlab requires gputils for PIC simulation. > > > > Well, if it is common that Ktechlab is used for PIC simulation , in which case > gputils is required generally, making Ktechlab require gputils is reasonable. Quite easy to prove/counter-prove: Show us the piece of source code that introduces this dependency on gputils!
(In reply to comment #17) > (In reply to comment #15) > > (In reply to comment #14) > > > I'm not agree with the removal of Requires gputils gpsim. > > > > > > Ktechlab requires gputils for PIC simulation. > > > > > > > Well, if it is common that Ktechlab is used for PIC simulation , in which case > > gputils is required generally, making Ktechlab require gputils is reasonable. > > Quite easy to prove/counter-prove: Show us the piece of source code that > introduces this dependency on gputils! Well, autually: [tasaka1@localhost ktechlab-0.3]$ grep -r 'gputils' . ./doc/en/flowcode.docbook: <para>Of course, if you don't have gputils installed - with which <command>gpasm</command> is distributed - then the last step can't be performed.</para> ./src/languages/gpdasm.cpp: KMessageBox::sorry( LanguageManager::self()->logView(), i18n("Disassembly failed. Please check you have gputils installed.") ); ./src/languages/gpasm.cpp: KMessageBox::sorry( LanguageManager::self()->logView(), i18n("Assembly failed. Please check you have gputils installed.") ); ./src/languages/gplink.cpp: KMessageBox::sorry( LanguageManager::self()->logView(), i18n("Linking failed. Please check you have gputils installed.") ); ./src/languages/gplib.cpp: KMessageBox::sorry( LanguageManager::self()->logView(), i18n("Linking failed. Please check you have gputils installed.") );
And... [tasaka1@localhost ktechlab-0.3-2]$ for f in `rpm -qlp gputils-0.13.4-1.fc6.i386.rpm | sed -n -e 's|/usr/bin/||p'` ; do grep -r "[^A-Za-z]$f[^A-Za-z\.]" . ; done | grep cpp: ./ktechlab-0.3/microbe/microbe.cpp: // Things starting with b are reserved by gpasm (for binary numbers) ./ktechlab-0.3/src/gui/settingsdlg.cpp: addPage( m_gpasmSettingsWidget, "Gpasm", "convert_to_hex", "gpasm" ); ./ktechlab-0.3/src/languages/processchain.cpp: INDIRECT_PROCESS( AssemblyAbsolute_PIC, gpasm, ".hex" ) ./ktechlab-0.3/src/languages/processchain.cpp: DIRECT_PROCESS( AssemblyAbsolute_Program, gpasm ) ./ktechlab-0.3/src/languages/processchain.cpp: INDIRECT_PROCESS( AssemblyRelocatable_Library, gpasm, ".o" ) ./ktechlab-0.3/src/languages/processchain.cpp: DIRECT_PROCESS( AssemblyRelocatable_Object, gpasm ) ./ktechlab-0.3/src/languages/processchain.cpp: INDIRECT_PROCESS( AssemblyRelocatable_PIC, gpasm, ".o" ) ./ktechlab-0.3/src/languages/processchain.cpp: INDIRECT_PROCESS( AssemblyRelocatable_Program, gpasm, ".o" ) ./ktechlab-0.3/src/languages/processchain.cpp:LanguageFunction( Gpasm, gpasm, m_pGpasm ) ./ktechlab-0.3/src/languages/gpasm.cpp: *m_languageProcess << ("gpasm"); ./ktechlab-0.3/src/languages/gpdasm.cpp: *m_languageProcess << ("gpdasm"); ./ktechlab-0.3/src/languages/processchain.cpp: DIRECT_PROCESS( Object_Disassembly, gpdasm ) ./ktechlab-0.3/src/languages/processchain.cpp: DIRECT_PROCESS( Program_Disassembly, gpdasm ) ./ktechlab-0.3/src/languages/processchain.cpp:LanguageFunction( Gpdasm, gpdasm, m_pGpdasm ) ./ktechlab-0.3/src/languages/processchain.cpp: DIRECT_PROCESS( Object_Library, gplib ) ./ktechlab-0.3/src/languages/processchain.cpp:LanguageFunction( Gplib, gplib, m_pGplib ) ./ktechlab-0.3/src/languages/gplib.cpp: *m_languageProcess << ("gplib"); ./ktechlab-0.3/src/gui/projectdlgs.cpp: //BEGIN Update gplink options ./ktechlab-0.3/src/gui/projectdlgs.cpp: //END Update gplink options ./ktechlab-0.3/src/languages/processchain.cpp: INDIRECT_PROCESS( Object_PIC, gplink, ".lib" ) ./ktechlab-0.3/src/languages/processchain.cpp: DIRECT_PROCESS( Object_Program, gplink ) ./ktechlab-0.3/src/languages/processchain.cpp:LanguageFunction( Gplink, gplink, m_pGplink ) ./ktechlab-0.3/src/languages/gplink.cpp: *m_languageProcess << ("gplink");
(In reply to comment #18) No call to gputils ;) (In reply to comment #19) OK, these probably contain calls to gputils.
gputils is the name of the package that is a set of tools, not of the binaries. The binaries that are called are gpasm, gpdasm, gplib, gplink
(In reply to comment #16) > Chitlesh, > > I don't know if you saw that: http://ktechlab.org/download/gpsim.php > > I commited the patch and I'll ask for rebuild on monday. > Ok, then I'll upload ktechlab afterwards. Mamuro, thanks for the approval. For the moment, I don't have cvs access (blocked by my hostel's firewall) I'll leave this bug open till, i commit it. If I really need to commit it on the spot, do leave me a ping. I'll search another internet connection. Thanks for understanding.
This is what I'll upload: SPEC: http://chitlesh.funpic.de/rpm/ktechlab.spec SRPM: http://chitlesh.funpic.de/rpm/ktechlab-0.3-3.src.rpm
gpsim built is OK.
Chitlesh, importing this to CVS cannot be done yet?
This friday I'm committing and building it.
Unfortunately, I wasn't unable to upload it last friday, but Ill do my best to this friday.
Created attachment 138422 [details] build.log for ppc
It failed for ppc. I need to look at it see build.log for ppc
I just did a quick look and I found that some header files required by src/electronics/port.cpp are not included in glibc-headers-2.6.18-1.2784.fc6.ppc, so this is truly ppc specific problem.
Oops, I meant "kernel-headers-2.6.18-1.2784.fc6.ppc" .
You just have to make a patch to remove the line "#include <sys/io.h>" in port.cpp and it will build fine. See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=185615 Unfortunately, I don't remember how to do to apply patch only on ppc arch.
Well, unfortunately, it seems for this case the relevant header files are: #include <fcntl.h> #include <sys/ioctl.h> #include <sys/io.h> All these header files are missing in kernel-headers.ppc . I don't look into this yet precisely. Chitlesh, would you try if compilation works if you remove all these includes when ppc? (In reply to comment #32) > Unfortunately, I don't remember how to do to apply patch only on ppc arch. Perhaps there is a method like: %ifarch ppc %patch1 -p1 -b .header %endif
Well, I tried to fix, however, again it failed... http://buildsys.fedoraproject.org/logs/fedora-development-extras/19611-ktechlab-0.3-4.fc6/ppc/ In what file is ioctl() defined in ppc?
(In reply to comment #33) > Well, unfortunately, it seems for this case the relevant header files are: > > #include <fcntl.h> > #include <sys/ioctl.h> That's strange because these inclusions are in Pikdev and I did'nt get build failure about them.
(In reply to comment #32) > You just have to make a patch to remove the line "#include <sys/io.h>" in > port.cpp and it will build fine. > See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=185615 Alain, you are right. Chitlesh, please check the following. http://buildsys.fedoraproject.org/logs/fedora-development-extras/19614-ktechlab-0.3-5.fc6/ http://buildsys.fedoraproject.org/logs/fedora-5-extras/19615-ktechlab-0.3-5.fc5/ Both (FE-devel, FE-5) succeeded. Closing this bug as CLOSED NEXTRELEASE.
wow, thanks Mamuro you did it before i had a look at it :)
Package Change Request ======================= Package Name: ktechlab Short Description: Development and simulation of microcontrollers and electronic circuits Owners: chitlesh Branches: EL-5
(Closing as the last message is only new branch request. cvs flags can set set as ? even if the bug is left closed)
cvs done.