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 11:53:31 +0100 Message-ID: In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7803418259466013268==" List-Id: --===============7803418259466013268== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 build. >=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/pakfir= e 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=99= s 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 t= he 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 Linu= x 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 Arch= 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 everyt= hing 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 other = things=E2=80=A6 And it looks like the database is there, but the schema is no= t being created. And even weirder is that Pakfire does not abort there=E2=80= =A6 Which versions of libarchive and SQLite do you have? -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 wo= rking as an unprivileged user at the moment. I think there might be a little = bit of work ahead to make it work well. >> Yes, I was using an unprivileged user. I always do that unless the instruc= tions say to use sudo or if the program comes back and says it must be run wi= th root privileges. Or if I know that it has to be run with sudo like make in= stall. >>=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 comman= d 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 p= akfire build on my system. The build is working okay but maybe something that= 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 should = 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 val = FROM settings WHERE key =3D ?" >>>> Database Error: SQL logic error: no such table: settings in "SELECT val = 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.log) >>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>> SystemError: returned a result with an except= ion set >>>>=20 >>>> Regards, >>>> Adolf. >>>>> -Michael >>>>>> On 1 Sep 2023, at 17:21, Adolf Belka wrote: >>>>>>=20 >>>>>> Hi Michael, >>>>>>=20 >>>>>> On 01/09/2023 16:39, Michael Tremer wrote: >>>>>>> Hello Adolf, >>>>>>>> On 17 Aug 2023, at 12:20, Adolf Belka wro= te: >>>>>>>>=20 >>>>>>>> Hi Michael, >>>>>>>>=20 >>>>>>>> When I built pakfire I just installed the programs that were flagged= up as missing during the configure section. >>>>>>>>=20 >>>>>>>> I have now gone through the filenames you listed from debian and eve= ntually found what the equivalent packages that contain those are called in A= rch Linux (most were easy but a few were convoluted to find). >>>>>>>>=20 >>>>>>>> Everything was already installed on my laptop except for liblzma-dev= which is lzlib in Arch Linux. >>>>>>>>=20 >>>>>>>> Just to check, I installed lzlib and re-did the make check and the s= ame 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 fi= x for the test suite: >>>>>>> https://git.ipfire.org/?p=3Dpakfire.git;a=3Dcommitdiff;h=3D9eef0cb603= bc51a5b34f042fced6e4d0bfa8d9d8 >>>>>>> https://git.ipfire.org/?p=3Dpakfire.git;a=3Dcommitdiff;h=3Dc54bafa7e7= 4dbcb5b07bafe8fadf2ca830fd93d7 >>>>>>> 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 passing a= t 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 the = 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/lib= pakfire and tests/python directories. >>>>>>>>>=20 >>>>>>>>> The only one that passed this time was the test.py from the tests/p= ython 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 the= =E2=80=9C*.log=E2=80=9D files in the test/libpakfire directory? Let=E2=80=99= s see what is going wrong there. For me a few tests fail, but a few should ru= n 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 lapt= op 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, p= ython-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 pass = 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. >>>>>>>>>>>=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 to = 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 genera= lly there will be an intro for everyone who hasn=E2=80=99t had one yet, and m= aybe we even get a chance to update a few packages of the distribution or som= ething=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 jus= t yet, I would like to ask everyone to install Pakfire manually on their syst= ems in advance of our meet-up, so that we can start straight away. We should = also use the time to find any issues that might occur on other distributions = than Debian which is what I have been using. >>>>>>>>>>>>=20 >>>>>>>>>>>> Please find the source here: https://git.ipfire.org/?p=3Dpakfire= .git;a=3Dsummary >>>>>>>>>>>>=20 >>>>>>>>>>>> On Debian, I have to install these packages as dependencies (yes= it is quite a lot): >>>>>>>>>>>>=20 >>>>>>>>>>>> * asciidoc, autoconf, automake, bison, build-essential, flex, in= tltool, libarchive-dev, libcap-dev, libcurl4-openssl-dev, libelf-dev, libgpgm= e-dev, libjson-c-dev, liblzma-dev, libmagic-dev, libmount-dev, libnl-3-dev, l= ibnl-route-3-dev, libpcre2-dev, libpython3-dev, libseccomp-dev, libsolv-dev, = libsqlite3-dev, libssl-dev, libsystemd-dev, libtool, libzstd-dev, pkg-config,= python3-cpuinfo, python3-kerberos, python3-tornado, python3-psutil, python3-= setproctitle, uuid-dev >>>>>>>>>>>>=20 >>>>>>>>>>>> I have no idea what the package names will be for your distribut= ion, but I am sure you will all figure it out :) >>>>>>>>>>>>=20 >>>>>>>>>>>> You can use the usual three-clause build process after generatin= g 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 pl= ease file a bug if changes are required to make Pakfire work on your distribu= tion. >>>>>>>>>>>>=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 --===============7803418259466013268==--