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:54:51 +0200 Message-ID: In-Reply-To: <6F09E6AF-36DC-4129-BFBC-4E35114A91AC@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8491372435567191644==" List-Id: --===============8491372435567191644== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi, On 02/09/2023 13:33, Michael Tremer wrote: > Hello, >=20 > Is there an easy way to install Archlinux in a VM without running through t= his process manually? >=20 > https://wiki.archlinux.org/title/Installation_guide Unfortunately not that I am aware of, although it is not that=20 complicated for just a command line based system. Arch Linux don't have an installer anymore. The only thing I can think of is that if you are able to use VirtualBox,=20 I could create a VirtualBox text interface only vm which I could then=20 export from my system as a file to send to you or place in my dropbox=20 system for you to upload. Would that be of any use? Regards, Adolf. >=20 > It might be quicker for me to reproduce the problem. >=20 > -Michael >=20 >> On 2 Sep 2023, at 12:11, Adolf Belka wrote: >> >> Hi, >> >> On 02/09/2023 13:02, Michael Tremer wrote: >>> Hello, >>>> 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 = build. >>>>>> >>>>>> 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/p= akfire 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 s= aid 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= Linux 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= Arch Linux. >>>>>> >>>>>> Are the above requirements correct or out of date and should be ignore= d? >>>>> Please ignore. If configure went through without complaining, you have = everything 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 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 ther= e are any significant differences here. >>> Could you please pull again and check if the message about the missing fi= le is gone? >> Did the pull, then re-ran the whole build instruction set again. I 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 FR= OM settings WHERE key =3D ?" >> Database Error: SQL logic error: no such table: settings in "SELECT val FR= OM settings WHERE key =3D ?" >> Package Database: testing 100% | 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 exceptio= n set >> >> Regards, >> Adolf. >>> -Michael >>>> >>>> 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 a= ll working as an unprivileged user at the moment. I think there might be a li= ttle bit of work ahead to make it work well. >>>>>>> Yes, I was using an unprivileged user. I always do that unless the in= structions say to use sudo or if the program comes back and says it must be r= un with root privileges. Or if I know that it has to be run with sudo like ma= ke install. >>>>>>> >>>>>>> So tried it again with sudo and the error message was exactly the sam= e. >>>>>>> >>>>>>> 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 c= ommand 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 = the pakfire build on my system. The build is working okay but maybe something= that 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 sh= ould write more detailed output into the journal. >>>>>>>> >>>>>>>> Best, >>>>>>>> -Michael >>>>>>>> >>>>>>>>> On 1 Sep 2023, at 17:37, Adolf Belka wro= te: >>>>>>>>> >>>>>>>>> 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 alrig= ht. >>>>>>>>>> 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= 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 s= tat >>>>>>>>> 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=3Dlogge= r.log) >>>>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>>>> SystemError: returned a result with an e= xception set >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Adolf. >>>>>>>>>> -Michael >>>>>>>>>>> On 1 Sep 2023, at 17:21, Adolf Belka w= rote: >>>>>>>>>>> >>>>>>>>>>> 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 fl= agged up as missing during the configure section. >>>>>>>>>>>>> >>>>>>>>>>>>> I have now gone through the filenames you listed from debian an= d eventually found what the equivalent packages that contain those are called= in Arch Linux (most were easy but a few were convoluted to find). >>>>>>>>>>>>> >>>>>>>>>>>>> Everything was already installed on my laptop except for liblzm= a-dev which is lzlib in Arch Linux. >>>>>>>>>>>>> >>>>>>>>>>>>> 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 no= ne 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=3D9eef0= cb603bc51a5b34f042fced6e4d0bfa8d9d8 >>>>>>>>>>>> https://git.ipfire.org/?p=3Dpakfire.git;a=3Dcommitdiff;h=3Dc54ba= fa7e74dbcb5b07bafe8fadf2ca830fd93d7 >>>>>>>>>>>> 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 pas= sing 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= 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 >>>>>>>>>>>>> >>>>>>>>>>>>> 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 test= s/libpakfire and tests/python directories. >>>>>>>>>>>>>> >>>>>>>>>>>>>> The only one that passed this time was the test.py from the te= sts/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 m= e 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 sho= uld 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= laptop 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-syste= md, 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 = pass and 26 fails. The only pass was for test.py >>>>>>>>>>>>>>>> I ran the make check a second time and then two passed - tes= t.py and progressbar.py >>>>>>>>>>>>>>>> Further running of make check didn't change anything. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> make install went fine and after that I can run pakfire-buil= der --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 everyon= e 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 g= enerally 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 o= r something=E2=80=A6 >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Because I don=E2=80=99t know which distributions you are us= ing, and because we don=E2=80=99t have any packages for any major distributio= n just yet, I would like to ask everyone to install Pakfire manually on their= systems in advance of our meet-up, so that we can start straight away. We sh= ould also use the time to find any issues that might occur on other distribut= ions than Debian which is what I have been using. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Please find the source here: https://git.ipfire.org/?p=3Dpa= kfire.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, fle= x, intltool, libarchive-dev, libcap-dev, libcurl4-openssl-dev, libelf-dev, li= bgpgme-dev, libjson-c-dev, liblzma-dev, libmagic-dev, libmount-dev, libnl-3-d= ev, libnl-route-3-dev, libpcre2-dev, libpython3-dev, libseccomp-dev, libsolv-= dev, libsqlite3-dev, libssl-dev, libsystemd-dev, libtool, libzstd-dev, pkg-co= nfig, python3-cpuinfo, python3-kerberos, python3-tornado, python3-psutil, pyt= hon3-setproctitle, uuid-dev >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I have no idea what the package names will be for your dist= ribution, but I am sure you will all figure it out :) >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> You can use the usual three-clause build process after gene= rating the configure script: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> ./autogen.sh >>>>>>>>>>>>>>>>> ./configure =E2=80=94-prefix=3D/usr =E2=80=94-sysconfd= ir=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 a= nd please file a bug if changes are required to make Pakfire work on your dis= tribution. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 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 >> Sent from my laptop >=20 >=20 --=20 Sent from my laptop --===============8491372435567191644==--