From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: development@lists.ipfire.org Subject: Re: Getting everyone started with Pakfire Date: Sat, 02 Sep 2023 12:02:15 +0100 Message-ID: <2AF1A50D-79A6-4B34-B701-545DB976299F@ipfire.org> In-Reply-To: <130fd0db-27da-4035-9c48-587f0028ed25@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4131255923187843632==" List-Id: --===============4131255923187843632== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello, > On 2 Sep 2023, at 12:00, Adolf Belka wrote: >=20 >=20 >=20 > On 02/09/2023 12:53, Michael Tremer wrote: >> Hello Adolf, >>> On 2 Sep 2023, at 11:49, Adolf Belka wrote: >>>=20 >>> Hi Michael, >>>=20 >>> I went back to pakfire and looked through the config.log file from my bui= ld. >>>=20 >>> From that I noticed the following defines >>>=20 >>> #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" >>>=20 >>> After running sudo make install then /var/lib/pakfire and /var/cache/pakf= ire 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 said= the following were required. >>>=20 >>> 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 Li= nux except from their AUR which requires me to build them. >>>=20 >>> Also the mention of not Python 3.x as that is all that is available on Ar= ch Linux. >>>=20 >>> Are the above requirements correct or out of date and should be ignored? >> Please ignore. If configure went through without complaining, you have eve= rything you need. >> What I find very interesting are those SQL errors. When Pakfire starts, it= is creating an internal SQLite database to store package information and oth= er things=E2=80=A6 And it looks like the database is there, but the schema is= 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 I have libarchive 3.6.2 and sqlite 3.40.1, but I don=E2=80=99t think there ar= e any significant differences here. Could you please pull again and check if the message about the missing file i= s gone? -Michael >=20 > Adolf. >> -Michael >>> Regards, >>>=20 >>> Adolf. >>>=20 >>> On 02/09/2023 12:26, Adolf Belka wrote: >>>> Hi Michael, >>>>=20 >>>> On 02/09/2023 11:29, Michael Tremer wrote: >>>>> Hello Adolf, >>>>>=20 >>>>> 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 littl= e bit of work ahead to make it work well. >>>> Yes, I was using an unprivileged user. I always do that unless the instr= uctions 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. >>>>=20 >>>> So tried it again with sudo and the error message was exactly the same. >>>>=20 >>>> Tried >>>> sudo pakfire-builder --debug build beep/beep.nm >>>>=20 >>>> and the error message was exactly the same. >>>>=20 >>>> Tried sudo -s to get a root prompt and then ran the pakfire-builder comm= and and exactly the same error message. >>>>=20 >>>> As the first part of the error message is >>>>=20 >>>> Database Error: SQL logic error: >>>>=20 >>>> I confirmed that I do have sqlite installed. >>>>=20 >>>> There is also a line in the error >>>>=20 >>>> Could not read next file: /var/lib/pakfire/local/ipfire/3: Cannot stat >>>>=20 >>>> I checked and there is no pakfire directory under /var/lib/ >>>> Is there supposed to be? Maybe something is not working right during the= pakfire build on my system. The build is working okay but maybe something th= at is required for the execution is not being correctly setup. >>>>=20 >>>> What files should the pakfire make install be creating? >>>>=20 >>>> Regards, >>>> Adolf >>>>=20 >>>>=20 >>>>>=20 >>>>> Otherwise, you can add =E2=80=94-debug to the command line and it shoul= d write more detailed output into the journal. >>>>>=20 >>>>> Best, >>>>> -Michael >>>>>=20 >>>>>> On 1 Sep 2023, at 17:37, Adolf Belka wrote: >>>>>>=20 >>>>>> Hi Michael, >>>>>>=20 >>>>>> 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:- >>>>>>=20 >>>>>> pakfire-builder build beep/beep.nm >>>>>> Database Error: SQL logic error: no such table: settings in "SELECT va= l FROM settings WHERE key =3D ?" >>>>>> Database Error: SQL logic error: no such table: settings in "SELECT va= l 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 >>>>>>=20 >>>>>> The above exception was the direct cause of the following exception: >>>>>>=20 >>>>>> 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.lo= g) >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> SystemError: returned a result with an exce= ption set >>>>>>=20 >>>>>> Regards, >>>>>> Adolf. >>>>>>> -Michael >>>>>>>> On 1 Sep 2023, at 17:21, Adolf Belka wrot= e: >>>>>>>>=20 >>>>>>>> Hi Michael, >>>>>>>>=20 >>>>>>>> On 01/09/2023 16:39, Michael Tremer wrote: >>>>>>>>> Hello Adolf, >>>>>>>>>> On 17 Aug 2023, at 12:20, Adolf Belka w= rote: >>>>>>>>>>=20 >>>>>>>>>> Hi Michael, >>>>>>>>>>=20 >>>>>>>>>> When I built pakfire I just installed the programs that were flagg= ed up as missing during the configure section. >>>>>>>>>>=20 >>>>>>>>>> I have now gone through the filenames you listed from debian and e= ventually found what the equivalent packages that contain those are called in= Arch Linux (most were easy but a few were convoluted to find). >>>>>>>>>>=20 >>>>>>>>>> Everything was already installed on my laptop except for liblzma-d= ev which is lzlib in Arch Linux. >>>>>>>>>>=20 >>>>>>>>>> Just to check, I installed lzlib and re-did the make check and the= 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=3D9eef0cb6= 03bc51a5b34f042fced6e4d0bfa8d9d8 >>>>>>>>> https://git.ipfire.org/?p=3Dpakfire.git;a=3Dcommitdiff;h=3Dc54bafa7= e74dbcb5b07bafe8fadf2ca830fd93d7 >>>>>>>>> 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 >>>>>>>>=20 >>>>>>>> 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 >>>>>>>>=20 >>>>>>>>> If pakfire-builder =E2=80=94-help runs fine, you could check out th= e 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 >>>>>>>>>>=20 >>>>>>>>>> Regards, >>>>>>>>>>=20 >>>>>>>>>> Adolf. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> On 17/08/2023 12:18, Adolf Belka wrote: >>>>>>>>>>> Hi Michael, >>>>>>>>>>>=20 >>>>>>>>>>> I did a clean new install and took the log files from the tests/l= ibpakfire and tests/python directories. >>>>>>>>>>>=20 >>>>>>>>>>> The only one that passed this time was the test.py from the tests= /python directory. All others failed. >>>>>>>>>>>=20 >>>>>>>>>>> I have archived them into an xz file that is attached. >>>>>>>>>>>=20 >>>>>>>>>>> Regards, >>>>>>>>>>> Adolf. >>>>>>>>>>>=20 >>>>>>>>>>> On 17/08/2023 11:38, Michael Tremer wrote: >>>>>>>>>>>> Hello Adolf, >>>>>>>>>>>>=20 >>>>>>>>>>>> Thank you very much for the quick feedback. >>>>>>>>>>>>=20 >>>>>>>>>>>> After running =E2=80=9Cmake check=E2=80=9D, could you email me t= he =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. >>>>>>>>>>>>=20 >>>>>>>>>>>> Best, >>>>>>>>>>>> -Michael >>>>>>>>>>>>=20 >>>>>>>>>>>>> On 17 Aug 2023, at 10:36, Adolf Belka wrote: >>>>>>>>>>>>>=20 >>>>>>>>>>>>> I am using Arch Linux. >>>>>>>>>>>>>=20 >>>>>>>>>>>>> I already do some building of my bacula client package on my la= ptop so it has the normal build tools installed. >>>>>>>>>>>>>=20 >>>>>>>>>>>>> To get autogen.sh to run I had to install intltool >>>>>>>>>>>>>=20 >>>>>>>>>>>>> To get configure to run I had to additionally install. >>>>>>>>>>>>>=20 >>>>>>>>>>>>> asciidoc, python-py-cpuinfo, python-pykerberos, python-systemd,= python-tornado and libsolv >>>>>>>>>>>>>=20 >>>>>>>>>>>>> After that configure ran without any problems, as did make. >>>>>>>>>>>>>=20 >>>>>>>>>>>>> Although make check is in brackets I gave it a go but got 1 pas= s and 26 fails. The only pass was for test.py >>>>>>>>>>>>> I ran the make check a second time and then two passed - test.p= y and progressbar.py >>>>>>>>>>>>> Further running of make check didn't change anything. >>>>>>>>>>>>>=20 >>>>>>>>>>>>> make install went fine and after that I can run pakfire-builder= --help and get the help screen. >>>>>>>>>>>>>=20 >>>>>>>>>>>>> Regards, >>>>>>>>>>>>> Adolf. >>>>>>>>>>>>>=20 >>>>>>>>>>>>>=20 >>>>>>>>>>>>> On 16/08/2023 17:29, Michael Tremer wrote: >>>>>>>>>>>>>> Hello everyone, >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> For our meet-up that is starting soon, I would like everyone t= o have a working installation of Pakfire - our new build system. >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> I am not sure yet in what way we are going to use it, but gene= rally there will be an intro for everyone who hasn=E2=80=99t had one yet, and= maybe we even get a chance to update a few packages of the distribution or s= omething=E2=80=A6 >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> Because I don=E2=80=99t know which distributions you are using= , and because we don=E2=80=99t have any packages for any major distribution j= ust yet, I would like to ask everyone to install Pakfire manually on their sy= stems in advance of our meet-up, so that we can start straight away. We shoul= d also use the time to find any issues that might occur on other distribution= s than Debian which is what I have been using. >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> Please find the source here: https://git.ipfire.org/?p=3Dpakfi= re.git;a=3Dsummary >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> On Debian, I have to install these packages as dependencies (y= es it is quite a lot): >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> * asciidoc, autoconf, automake, bison, build-essential, flex, = intltool, libarchive-dev, libcap-dev, libcurl4-openssl-dev, libelf-dev, libgp= gme-dev, libjson-c-dev, liblzma-dev, libmagic-dev, libmount-dev, libnl-3-dev,= libnl-route-3-dev, libpcre2-dev, libpython3-dev, libseccomp-dev, libsolv-dev= , libsqlite3-dev, libssl-dev, libsystemd-dev, libtool, libzstd-dev, pkg-confi= g, python3-cpuinfo, python3-kerberos, python3-tornado, python3-psutil, python= 3-setproctitle, uuid-dev >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> I have no idea what the package names will be for your distrib= ution, but I am sure you will all figure it out :) >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> You can use the usual three-clause build process after generat= ing the configure script: >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> ./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 >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> After that, you should be able to run pakfire-builder =E2=80= =94-help. >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> 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 distri= bution. >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> All the best, >>>>>>>>>>>>>> -Michael >>>>>>>>>>>>>=20 >>>>>>>>>>>>> --=20 >>>>>>>>>>>>> Sent from my laptop >>>>>>>>>>>>>=20 >>>>>>>>>>>>=20 >>>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> --=20 >>>>>>>>>> Sent from my laptop >>>>>>>>>>=20 >>>>>>>>=20 >>>>>>>> --=20 >>>>>>>> Sent from my laptop >>>>>>=20 >>>>>> --=20 >>>>>> Sent from my laptop >>>>>=20 >>>>>=20 >>>>=20 >>>=20 >>> --=20 >>> Sent from my laptop >>>=20 >=20 > --=20 > Sent from my laptop --===============4131255923187843632==--