From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adolf Belka To: development@lists.ipfire.org Subject: Re: Getting everyone started with Pakfire Date: Sat, 02 Sep 2023 13:11:05 +0200 Message-ID: <50ae1fb9-d7ed-4f57-b2d4-f24da14a8a84@ipfire.org> In-Reply-To: <2AF1A50D-79A6-4B34-B701-545DB976299F@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0660088115198894526==" List-Id: --===============0660088115198894526== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi, On 02/09/2023 13:02, Michael Tremer wrote: > Hello, >=20 >> On 2 Sep 2023, at 12:00, Adolf Belka wrote: >> >> >> >> On 02/09/2023 12:53, Michael Tremer wrote: >>> Hello Adolf, >>>> On 2 Sep 2023, at 11:49, Adolf Belka wrote: >>>> >>>> Hi Michael, >>>> >>>> I went back to pakfire and looked through the config.log file from my bu= ild. >>>> >>>> From that I noticed the following defines >>>> >>>> #define PAKFIRE_CONFIG_DIR "/etc/pakfire" >>>> #define PAKFIRE_CACHE_DIR "/var/cache/pakfire" >>>> #define PAKFIRE_PRIVATE_DIR "/var/lib/pakfire" >>>> #define PAKFIRE_SCRIPTS_DIR "/lib/pakfire" >>>> #define PAKFIRE_TMP_DIR "/var/tmp" >>>> >>>> After running sudo make install then /var/lib/pakfire and /var/cache/pak= fire are not present on the system. >>> That should be correct. Pakfire should create those directories itself if= it is running as root. >>> For unprivileged users, it will create a cache directory in the user=E2= =80=99s home, because we cannot write to /var/lib/=E2=80=A6, etc. >>>> I also read through the INSTALL file in the pakfire directory and it sai= d the following were required. >>>> >>>> Requirements: >>>> * Python 2.6 or greater (not Python 3.x) >>>> * python-argsparse (included in Python 2.7) >>>> * libcap >>>> * libsolv >>>> * xz >>>> * beecrypt (requires libgomp) >>>> * popt >>>> * libelf >>>> * elfutils >>> This is old and I will remove this as soon as possible :) >>>> I don't have beecrypt or libgomp installed and not available from Arch L= inux except from their AUR which requires me to build them. >>>> >>>> Also the mention of not Python 3.x as that is all that is available on A= rch Linux. >>>> >>>> Are the above requirements correct or out of date and should be ignored? >>> Please ignore. If configure went through without complaining, you have ev= erything you need. >>> What I find very interesting are those SQL errors. When Pakfire starts, i= t is creating an internal SQLite database to store package information and ot= her things=E2=80=A6 And it looks like the database is there, but the schema i= s not being created. And even weirder is that Pakfire does not abort there=E2= =80=A6 >>> Which versions of libarchive and SQLite do you have? >> sqlite 3.43.0 >> libarchive 3.7.1 >=20 > I have libarchive 3.6.2 and sqlite 3.40.1, but I don=E2=80=99t think there = are any significant differences here. >=20 > Could you please pull again and check if the message about the missing file= is gone? Did the pull, then re-ran the whole build instruction set again. I=20 didn't do a sudo make uninstall first. Result was exactly the same error message. Nothing changed. sudo pakfire-builder build beep/beep.nm Database Error: SQL logic error: no such table: settings in "SELECT val=20 FROM settings WHERE key =3D ?" Database Error: SQL logic error: no such table: settings in "SELECT val=20 FROM settings WHERE key =3D ?" Package Database: testing 100%=20 | 1.6M 00:00 Could not read next file: /var/lib/pakfire/local/ipfire/3: Cannot stat OSError: [Errno 25] Inappropriate ioctl for device The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/bin/pakfire-builder", line 437, in c() File "/usr/bin/pakfire-builder", line 212, in __call__ ret =3D args.func(args) ^^^^^^^^^^^^^^^ File "/usr/bin/pakfire-builder", line 233, in _build p =3D self.pakfire(ns) ^^^^^^^^^^^^^^^^ File "/usr/bin/pakfire-builder", line 194, in pakfire p =3D pakfire.Pakfire(arch=3Dns.arch, conf=3Dc, logger=3Dlogger.log) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SystemError: returned a result with an=20 exception set Regards, Adolf. >=20 > -Michael >=20 >> >> Adolf. >>> -Michael >>>> Regards, >>>> >>>> Adolf. >>>> >>>> On 02/09/2023 12:26, Adolf Belka wrote: >>>>> Hi Michael, >>>>> >>>>> On 02/09/2023 11:29, Michael Tremer wrote: >>>>>> Hello Adolf, >>>>>> >>>>>> Have you been running this as root? I am not sure how well this is all= working as an unprivileged user at the moment. I think there might be a litt= le bit of work ahead to make it work well. >>>>> Yes, I was using an unprivileged user. I always do that unless the inst= ructions say to use sudo or if the program comes back and says it must be run= with root privileges. Or if I know that it has to be run with sudo like make= install. >>>>> >>>>> So tried it again with sudo and the error message was exactly the same. >>>>> >>>>> Tried >>>>> sudo pakfire-builder --debug build beep/beep.nm >>>>> >>>>> and the error message was exactly the same. >>>>> >>>>> Tried sudo -s to get a root prompt and then ran the pakfire-builder com= mand and exactly the same error message. >>>>> >>>>> As the first part of the error message is >>>>> >>>>> Database Error: SQL logic error: >>>>> >>>>> I confirmed that I do have sqlite installed. >>>>> >>>>> There is also a line in the error >>>>> >>>>> Could not read next file: /var/lib/pakfire/local/ipfire/3: Cannot stat >>>>> >>>>> I checked and there is no pakfire directory under /var/lib/ >>>>> Is there supposed to be? Maybe something is not working right during th= e pakfire build on my system. The build is working okay but maybe something t= hat is required for the execution is not being correctly setup. >>>>> >>>>> What files should the pakfire make install be creating? >>>>> >>>>> Regards, >>>>> Adolf >>>>> >>>>> >>>>>> >>>>>> Otherwise, you can add =E2=80=94-debug to the command line and it shou= ld write more detailed output into the journal. >>>>>> >>>>>> Best, >>>>>> -Michael >>>>>> >>>>>>> On 1 Sep 2023, at 17:37, Adolf Belka wrote: >>>>>>> >>>>>>> Hi Michael, >>>>>>> >>>>>>> On 01/09/2023 18:23, Michael Tremer wrote: >>>>>>>> Hello, >>>>>>>> Yes, I believe this is what it does on my system. So this is alright. >>>>>>>> Did you try the other commands? >>>>>>> Just tried them and got the following errors:- >>>>>>> >>>>>>> pakfire-builder build beep/beep.nm >>>>>>> Database Error: SQL logic error: no such table: settings in "SELECT v= al FROM settings WHERE key =3D ?" >>>>>>> Database Error: SQL logic error: no such table: settings in "SELECT v= al FROM settings WHERE key =3D ?" >>>>>>> Package Database: testing 100% | 1.6M 00:00 >>>>>>> Package Database: bootstrap 100% | 2.1M 00:00 >>>>>>> Could not read next file: /var/lib/pakfire/local/ipfire/3: Cannot stat >>>>>>> OSError: [Errno 25] Inappropriate ioctl for device >>>>>>> >>>>>>> The above exception was the direct cause of the following exception: >>>>>>> >>>>>>> Traceback (most recent call last): >>>>>>> File "/usr/bin/pakfire-builder", line 437, in >>>>>>> c() >>>>>>> File "/usr/bin/pakfire-builder", line 212, in __call__ >>>>>>> ret =3D args.func(args) >>>>>>> ^^^^^^^^^^^^^^^ >>>>>>> File "/usr/bin/pakfire-builder", line 233, in _build >>>>>>> p =3D self.pakfire(ns) >>>>>>> ^^^^^^^^^^^^^^^^ >>>>>>> File "/usr/bin/pakfire-builder", line 194, in pakfire >>>>>>> p =3D pakfire.Pakfire(arch=3Dns.arch, conf=3Dc, logger=3Dlogger.= log) >>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>> SystemError: returned a result with an exc= eption set >>>>>>> >>>>>>> Regards, >>>>>>> Adolf. >>>>>>>> -Michael >>>>>>>>> On 1 Sep 2023, at 17:21, Adolf Belka wro= te: >>>>>>>>> >>>>>>>>> Hi Michael, >>>>>>>>> >>>>>>>>> On 01/09/2023 16:39, Michael Tremer wrote: >>>>>>>>>> Hello Adolf, >>>>>>>>>>> On 17 Aug 2023, at 12:20, Adolf Belka = wrote: >>>>>>>>>>> >>>>>>>>>>> Hi Michael, >>>>>>>>>>> >>>>>>>>>>> When I built pakfire I just installed the programs that were flag= ged up as missing during the configure section. >>>>>>>>>>> >>>>>>>>>>> I have now gone through the filenames you listed from debian and = eventually found what the equivalent packages that contain those are called i= n Arch Linux (most were easy but a few were convoluted to find). >>>>>>>>>>> >>>>>>>>>>> Everything was already installed on my laptop except for liblzma-= dev which is lzlib in Arch Linux. >>>>>>>>>>> >>>>>>>>>>> Just to check, I installed lzlib and re-did the make check and th= e same problems occurred. >>>>>>>>>> The configure script will complain if something is missing as none= of the dependencies are optional. >>>>>>>>>> Apologies for taking so long to reply, but I should finally have a= fix for the test suite: >>>>>>>>>> https://git.ipfire.org/?p=3Dpakfire.git;a=3Dcommitdiff;h=3D9eef0cb= 603bc51a5b34f042fced6e4d0bfa8d9d8 >>>>>>>>>> https://git.ipfire.org/?p=3Dpakfire.git;a=3Dcommitdiff;h=3Dc54bafa= 7e74dbcb5b07bafe8fadf2ca830fd93d7 >>>>>>>>>> Please just run =E2=80=9Cgit pull=E2=80=9D, then =E2=80=9Cmake=E2= =80=9D again and you should have a few tests pass. Not all of them are passin= g at the moment. >>>>>>>>> This time 20 passed out of 28 >>>>>>>>> >>>>>>>>> PASS: tests/libpakfire/main >>>>>>>>> PASS: tests/libpakfire/arch >>>>>>>>> PASS: tests/libpakfire/archive >>>>>>>>> FAIL: tests/libpakfire/build >>>>>>>>> FAIL: tests/libpakfire/cgroup >>>>>>>>> PASS: tests/libpakfire/compress >>>>>>>>> PASS: tests/libpakfire/config >>>>>>>>> PASS: tests/libpakfire/db >>>>>>>>> PASS: tests/libpakfire/dependencies >>>>>>>>> PASS: tests/libpakfire/digest >>>>>>>>> PASS: tests/libpakfire/downloader >>>>>>>>> PASS: tests/libpakfire/file >>>>>>>>> FAIL: tests/libpakfire/jail >>>>>>>>> PASS: tests/libpakfire/key >>>>>>>>> FAIL: tests/libpakfire/makefile >>>>>>>>> PASS: tests/libpakfire/package >>>>>>>>> PASS: tests/libpakfire/packager >>>>>>>>> PASS: tests/libpakfire/parser >>>>>>>>> PASS: tests/libpakfire/progressbar >>>>>>>>> PASS: tests/libpakfire/repo >>>>>>>>> PASS: tests/libpakfire/snapshot >>>>>>>>> PASS: tests/libpakfire/string >>>>>>>>> FAIL: tests/libpakfire/util >>>>>>>>> FAIL: tests/python/keys.py >>>>>>>>> FAIL: tests/python/jail.py >>>>>>>>> FAIL: tests/python/package.py >>>>>>>>> PASS: tests/python/progressbar.py >>>>>>>>> PASS: tests/python/test.py >>>>>>>>> >>>>>>>>>> If pakfire-builder =E2=80=94-help runs fine, you could check out t= he IPFire 3.x repository and run this: >>>>>>>>>> git clone https://git.ipfire.org/pub/git/ipfire-3.x.git >>>>>>>>>> cd ipfire-3.x >>>>>>>>>> pakfire-builder build beep/beep.nm >>>>>>>>>> Please let me know how that is going. >>>>>>>>>> -Michael >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> >>>>>>>>>>> Adolf. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 17/08/2023 12:18, Adolf Belka wrote: >>>>>>>>>>>> Hi Michael, >>>>>>>>>>>> >>>>>>>>>>>> I did a clean new install and took the log files from the tests/= libpakfire and tests/python directories. >>>>>>>>>>>> >>>>>>>>>>>> The only one that passed this time was the test.py from the test= s/python directory. All others failed. >>>>>>>>>>>> >>>>>>>>>>>> I have archived them into an xz file that is attached. >>>>>>>>>>>> >>>>>>>>>>>> Regards, >>>>>>>>>>>> Adolf. >>>>>>>>>>>> >>>>>>>>>>>> On 17/08/2023 11:38, Michael Tremer wrote: >>>>>>>>>>>>> Hello Adolf, >>>>>>>>>>>>> >>>>>>>>>>>>> Thank you very much for the quick feedback. >>>>>>>>>>>>> >>>>>>>>>>>>> After running =E2=80=9Cmake check=E2=80=9D, could you email me = the =E2=80=9C*.log=E2=80=9D files in the test/libpakfire directory? Let=E2=80= =99s see what is going wrong there. For me a few tests fail, but a few should= run just fine. >>>>>>>>>>>>> >>>>>>>>>>>>> Best, >>>>>>>>>>>>> -Michael >>>>>>>>>>>>> >>>>>>>>>>>>>> On 17 Aug 2023, at 10:36, Adolf Belka wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> I am using Arch Linux. >>>>>>>>>>>>>> >>>>>>>>>>>>>> I already do some building of my bacula client package on my l= aptop so it has the normal build tools installed. >>>>>>>>>>>>>> >>>>>>>>>>>>>> To get autogen.sh to run I had to install intltool >>>>>>>>>>>>>> >>>>>>>>>>>>>> To get configure to run I had to additionally install. >>>>>>>>>>>>>> >>>>>>>>>>>>>> asciidoc, python-py-cpuinfo, python-pykerberos, python-systemd= , python-tornado and libsolv >>>>>>>>>>>>>> >>>>>>>>>>>>>> After that configure ran without any problems, as did make. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Although make check is in brackets I gave it a go but got 1 pa= ss and 26 fails. The only pass was for test.py >>>>>>>>>>>>>> I ran the make check a second time and then two passed - test.= py and progressbar.py >>>>>>>>>>>>>> Further running of make check didn't change anything. >>>>>>>>>>>>>> >>>>>>>>>>>>>> make install went fine and after that I can run pakfire-builde= r --help and get the help screen. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>> Adolf. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 16/08/2023 17:29, Michael Tremer wrote: >>>>>>>>>>>>>>> Hello everyone, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> For our meet-up that is starting soon, I would like everyone = to have a working installation of Pakfire - our new build system. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I am not sure yet in what way we are going to use it, but gen= erally there will be an intro for everyone who hasn=E2=80=99t had one yet, an= d maybe we even get a chance to update a few packages of the distribution or = something=E2=80=A6 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Because I don=E2=80=99t know which distributions you are usin= g, and because we don=E2=80=99t have any packages for any major distribution = just yet, I would like to ask everyone to install Pakfire manually on their s= ystems in advance of our meet-up, so that we can start straight away. We shou= ld also use the time to find any issues that might occur on other distributio= ns than Debian which is what I have been using. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Please find the source here: https://git.ipfire.org/?p=3Dpakf= ire.git;a=3Dsummary >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Debian, I have to install these packages as dependencies (= yes it is quite a lot): >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> * asciidoc, autoconf, automake, bison, build-essential, flex,= intltool, libarchive-dev, libcap-dev, libcurl4-openssl-dev, libelf-dev, libg= pgme-dev, libjson-c-dev, liblzma-dev, libmagic-dev, libmount-dev, libnl-3-dev= , libnl-route-3-dev, libpcre2-dev, libpython3-dev, libseccomp-dev, libsolv-de= v, libsqlite3-dev, libssl-dev, libsystemd-dev, libtool, libzstd-dev, pkg-conf= ig, python3-cpuinfo, python3-kerberos, python3-tornado, python3-psutil, pytho= n3-setproctitle, uuid-dev >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I have no idea what the package names will be for your distri= bution, but I am sure you will all figure it out :) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> You can use the usual three-clause build process after genera= ting the configure script: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> ./autogen.sh >>>>>>>>>>>>>>> ./configure =E2=80=94-prefix=3D/usr =E2=80=94-sysconfdir= =3D/etc =E2=80=94-enable-debug >>>>>>>>>>>>>>> make >>>>>>>>>>>>>>> (make check) >>>>>>>>>>>>>>> make install >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> After that, you should be able to run pakfire-builder =E2=80= =94-help. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Please let me know if that works for you up to this point and= please file a bug if changes are required to make Pakfire work on your distr= ibution. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> All the best, >>>>>>>>>>>>>>> -Michael >>>>>>>>>>>>>> >>>>>>>>>>>>>> --=20 >>>>>>>>>>>>>> Sent from my laptop >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> --=20 >>>>>>>>>>> Sent from my laptop >>>>>>>>>>> >>>>>>>>> >>>>>>>>> --=20 >>>>>>>>> Sent from my laptop >>>>>>> >>>>>>> --=20 >>>>>>> Sent from my laptop >>>>>> >>>>>> >>>>> >>>> >>>> --=20 >>>> Sent from my laptop >>>> >> >> --=20 >> Sent from my laptop >=20 --=20 Sent from my laptop --===============0660088115198894526==--