TazPup64 (pre-alpha17) - getting close to alpha quality

For talk and support relating specifically to Puppy derivatives
Message
Author
s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#61 Post by s243a »

Possible release (not tested yet). See notes above for changes:
TazPup64-PreAlpha-9.iso

Quick Test
If you boot without using screen=text, now root logs into jwm but tux won't log in. To return to the login screen type cntrl-alt-backspace. To exit to the teriminal run the following command in a virtual teriminal:

Code: Select all

/etc/initd.d/slim stop
I also note that I forgot to update the menu. run the fixmenus command to fix this.

Edit 1
for some reason startx_jwm. Lost executable permissions. To fix it type the command:

Code: Select all

chmod +x /usr/bin/startx_jwm
Last edited by s243a on Tue 16 Apr 2019, 18:16, edited 1 time in total.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#62 Post by s243a »

I'm attempting to make a package for the virtualbox guest additions:

Code: Select all

PACKAGE="VBoxGuestAdditions"
version="6.0.4_k4.9.30"
category="util"
SHORT_DESC="Virtual Box Guest Additions"
MAINTAINE="Oracle"
LICENSE="GPL2"
WEB_SITE="https://www.virtualbox.org/browser/vbox/trunk"
DEPENDENCIES="pam glibc libxml2 libxslt xorg-libXcursor xorg-libXinerama xorg-xrandr xorg-libXrandr libsdl libcap libdevmapper xorg-libXmu mesa" 
I did this by manually copying the files and creating symlinks. However, while doing this I found that there is a list of installed files available at:

Code: Select all

/var/lib/VBoxGuestAdditions/filelist
so in the future I can automate this somewhat. I'll post the package link once it's built and let people know if it works.

The dependencies are a guesses based on what is listed at:
https://www.virtualbox.org/wiki/Linux%2 ... structions
I didn't include dev packages in my list of dependencies and I didn't include qt since I think the qt I installed is alien to the slitaz/next64 repo.

This will be a complete package but later I will create a trimmed package which seperates things like source-code into a separate package.

Edit 1 Here's the link:
VBGuestAdditions-6.0.4_k4.9.30_x86_64.tazpkg

Edit 2 I think it also requires llvm but this will be installed when you do the "tazx" command to updated your video drivers for the virtual machine (see post). This post also notes that you have to add "vboxadd vboxadd-service" to your RUN_DAEMONS in /etc/rcS.conf in order for guest services to start-up on boot.

Edit 3 Fullscreen, shared clipboard and shared folders all seem to work.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#63 Post by s243a »

Here are some links to updated versions, i'm working on:
TazPup64-PreAlpha-8.iso
TazPup64-PreAlpha-9.iso
TazPup64-PreAlpha-10.iso
TazPup64-PreAlpha-11.iso (not tested yet)

With the exception of TazPup64-PreAlpha-11.iso some troubleshooting will be required (I can help). TazPup64-PreAlpha-11.iso is hopefully in better shape but I still recommend:
1. booting using the screen=text option.
2. login to a specific user
3 (a). start JWM with the command startx_jwm (recommended)
3 (b). alternatively start lxde with the command startlxde (experimental)

I will update the first post of this thread if enough progress has been made with TazPup64-PreAlpha-11.iso (I need to test it)

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#64 Post by s243a »

s243a wrote:Here are some links to updated versions, i'm working on:
TazPup64-PreAlpha-8.iso
TazPup64-PreAlpha-9.iso
TazPup64-PreAlpha-10.iso
TazPup64-PreAlpha-11.iso (not tested yet)

With the exception of TazPup64-PreAlpha-11.iso some troubleshooting will be required (I can help). TazPup64-PreAlpha-11.iso is hopefully in better shape but I still recommend:
1. booting using the screen=text option.
2. login to a specific user
3 (a). start JWM with the command startx_jwm (recommended)
3 (b). alternatively start lxde with the command startlxde (experimental)

I will update the first post of this thread if enough progress has been made with TazPup64-PreAlpha-11.iso (I need to test it)
Here's a virtualbox hard drive file with TazPup64-PreAlpha11.vdi including guest additions. Currently if you are logged in using the graphical version of slim there are shutdown issues.

To get around this in a terminal type

Code: Select all

/etc/init.d/slim stop
Then log in and run the command:

Code: Select all

startx_jwm #recommended
#or
startlxde #(experimental)
to make this unnecessary add the boot option screen=text

also for some reason virtualbox gues additions aren't starting up at boot. You can start them once the desktop is started up with the command:

Code: Select all

/etc/init.d/vboxadd start
and then you should switch to full screen mode. If full screen mode doesn't start try:

Code: Select all

/usr/bin/VBoxClient --display 
see post

P.S. if you want to use gparted you have to install gtkmm. I didn't include gtkmm because I was having issues with it but it seems to be working now. Perhaps I had a 32bit verison of one of it's dependencies. Also I'm having issues with rox on the virtualbox so one might want to use pcmanfm instead. I need to test this more.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

Re: How to Create a Virtualbox version of TazPup

#65 Post by s243a »

s243a wrote:
...

Part A create a Fatdog64 Virtual Machine (can skip -- see above note about skipping to step #8 )
...
Part 2A
...
24. Install the packages gcc, make, perl, and mpfr-dev (see note below). I recommend also installing: cmake automake autoconf, libconfig and pkg-config
....
Note on libmpf
For some reason the virtualbox guest additions is looking for libmpfr.so.4 but we have libmpfr.so.6 so do the following

Code: Select all

cd /usr/lib
ln -s libmpfr.so libmpfr.so.4
also I don't know if mpfr-dev is required. I just added it for good measure.
I installed virtualbox (download, available at) in TazPup64-PreAlpha-10.iso (link in previous post). To build the kernal modules for virtualbox one has to install the same dependencies as one would if they were installing the guest addtions inside a virtual machine.

As a small variation to the above notes rather than doing the above symbolic link:

Code: Select all

ln -s libmpfr.so libmpfr.so.4

on can instead install mpfr4. However, if for some reason a newer version of libmpfr is on your system, I would recommend having libmpfr.so point to the newer version.

Anyway, once the dependencies are installed one can compile then with the command

Code: Select all

/sbin/vboxconfig
I'll make these modules into a package so hopefully one doesn't need to install the dependencies if one doesn't want to.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

Re: How to Create a Virtualbox version of TazPup

#66 Post by s243a »

s243a wrote:
...

Part A create a Fatdog64 Virtual Machine (can skip -- see above note about skipping to step #8 )
...
Part 2A
...
24. Install the packages gcc, make, perl, and mpfr-dev (see note below). I recommend also installing: cmake automake autoconf, libconfig and pkg-config
....
Note on libmpf
For some reason the virtualbox guest additions is looking for libmpfr.so.4 but we have libmpfr.so.6 so do the following

Code: Select all

cd /usr/lib
ln -s libmpfr.so libmpfr.so.4
also I don't know if mpfr-dev is required. I just added it for good measure.
I installed virtualbox (download, available at this link) in TazPup64-PreAlpha-10.iso (link in previous post). To build the kernal modules for virtualbox one has to install the same dependencies as one would if they were building the guest additions inside a virtual machine.

As a small variation to the above notes; one can, rather than doing the above symbolic link:

Code: Select all

ln -s libmpfr.so libmpfr.so.4

instead install mpfr4. However, if for some reason a newer version of libmpfr is on your system, I would recommend having libmpfr.so point to the newer version.

Anyway, once the dependencies are installed one can then compile the kernal modules with the command

Code: Select all

/sbin/vboxconfig
I'll make these modules into a package so hopefully one doesn't need to install the build dependencies if one doesn't want to.

P.S. I ran virtualbox in a machine with 4gb of ram. I gave gave 2GB of ram to the host (TazPup64-PreAlpha-10.iso) and two GB of ram to the guest (TazPup64-PreAlpha-11.iso, TazPup64-PreAlpha11.vdi ). Virtualbox complains that I'm using half the ram but even with the Opera browser; TazPup64 run well with this amount of ram. If you give the guest less ram, then I recommend installing a lighter browser like palemoon or seamonkey. Alternatively, you can use tazweb as the browser which is already installed.

Palemoon can be installed with the get-palemoon script (see notes in post). Seamonkey portable works but you must create a 64 bit version. Download seamonkey from one of the following links:
http://www.seamonkey-project.org/releases/
https://archive.mozilla.org/pub/seamonk ... 4/contrib/
https://archive.mozilla.org/pub/seamonk ... _64/en-US/

and create a startup script to make it portable. See post:
http://murga-linux.com/puppy/viewtopic. ... 92#1025692

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#67 Post by s243a »

s243a wrote:Youtube stopped playing videos (possibly due to a firefox update), so I'm going to give palemoon a try instead. The get-palemoon script seemed to install a 32 bit version of palemoon but I'm not set up to run 32 bit versions.

If I look at the get-palemoon script I see at the start:

Code: Select all

WGET_URL="http://linux.palemoon.org$(wget -O - \
http://linux.palemoon.org/download/mainline/ 2> /dev/null | \
sed '/686/!d;s/.*href="\([^"]*\).*/\1/;q')"
VERSION="$(echo $WGET_URL | sed 's/.*palemoon-\(.*\).en-US.*/\1/')"
that it apears to webscrape the page:
http://linux.palemoon.org/download/mainline/

but it is looking for the i6868 version. This should be replaced with x86_64, or better yet the script should get this information from the SLITAZ_ARCH variable which can be obtained by sourcing /etc/slitaz/slitaz.conf.

Anyway, I'll make this change and see what happens.

Edit: Youtube seems to work with palemoon and as a plus I don't need to start if with apulse.

Edit 2: Unlike firefox on palemoon I'm able to drag tabs without crashing it.
It looks like we have to do a similar change in the get-LibreOffice script (available via the package manager). In line #13 change:

Code: Select all

SUFFIX="Linux_x86_rpm.tar.gz"
to

Code: Select all

SUFFIX="Linux_x86_64_rpm.tar.gz"
I'm going to test this now to see if it works.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#68 Post by s243a »

s243a wrote:Youtube stopped playing videos (possibly due to a firefox update), so I'm going to give palemoon a try instead. The get-palemoon script seemed to install a 32 bit version of palemoon but I'm not set up to run 32 bit versions.

If I look at the get-palemoon script I see at the start:

Code: Select all

WGET_URL="http://linux.palemoon.org$(wget -O - \
http://linux.palemoon.org/download/mainline/ 2> /dev/null | \
sed '/686/!d;s/.*href="\([^"]*\).*/\1/;q')"
VERSION="$(echo $WGET_URL | sed 's/.*palemoon-\(.*\).en-US.*/\1/')"
that it apears to webscrape the page:
http://linux.palemoon.org/download/mainline/

but it is looking for the i6868 version. This should be replaced with x86_64, or better yet the script should get this information from the SLITAZ_ARCH variable which can be obtained by sourcing /etc/slitaz/slitaz.conf.

Anyway, I'll make this change and see what happens.

Edit: Youtube seems to work with palemoon and as a plus I don't need to start if with apulse.

Edit 2: Unlike firefox on palemoon I'm able to drag tabs without crashing it.
It looks like we have to do a similar change in the get-LibreOffice script (available via the package manager). In line #13 change:

Code: Select all

SUFFIX="Linux_x86_rpm.tar.gz"
to

Code: Select all

SUFFIX="Linux_x86-64_rpm.tar.gz"
on line#28 change:

Code: Select all

L_SUFFIX="Linux_x86_rpm_langpack_$LOC.tar.gz"
to

Code: Select all

L_SUFFIX="Linux_x86-64_rpm_langpack_$LOC.tar.gz"
on line#30 change:

Code: Select all

LANG_URL="$WGET_URL/${VERSION}/rpm/x86/${L_TARBALL}"
to

Code: Select all

LANG_URL="$WGET_URL/${VERSION}/rpm/x86_64/${L_TARBALL}"
on line #35 change:

Code: Select all

WGET_URL="$WGET_URL/${VERSION}/rpm/x86/${TARBALL}"
to

Code: Select all

WGET_URL="$WGET_URL/${VERSION}/rpm/x86_64/${TARBALL}"
I'm going to test this now to see if it works.

As a side note if one doesn't want to use the get-LibreOffice script then I'll note that it looks like LibreOffice 6.0.5 is available on the package manager which I think is faily new. The latest stable version is 6.2.3

Edit 1. I noticed that the file names have "x86-64" in them but the directory names have "x86_64" in them. This is annoyingly inconsistent.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#69 Post by s243a »

Here are some new packages for TazPup64

4.9.30 kernal modules for virtual box host:
VBox_KM_4.9.30-6.0.6-x86_64.tazpkg (untested)

VirtualBox-6.0.6-x86_64.tazpkg Manually created based on installed files. In the future I will automate this process using /etc/vbox/filelist (untested). I recommend that people install this from the official releases (see post). This package is only provided for convince.

get-palemoon-27.6.1-x86_64.tazpkg patched version from next64 repo. See post.

get-LibreOffice-1.2-x86_64.tazpkg patched version from next64 repo. See last post

dropbox-2019.02.14-x86_64.tazpkg
built from deb file, with nautilus patch (see post) (untested)

Edit: I get the following error when I try to run dropbox:

Code: Select all

sh-4.4# dropbox start -i
Starting Dropbox...Traceback (most recent call last):
  File "/usr/bin/dropbox", line 1443, in start
    download()
  File "/usr/bin/dropbox", line 295, in download
    gi.require_version('Gdk', '3.0')
  File "/usr/lib/python3.6/site-packages/gi/__init__.py", line 127, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gdk not available
I also had to install python3-pygobject manually for some reason. Adding the dependency didn't seem to atomically install this for me. I'll check to see if I spelled it right.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#70 Post by s243a »

s243a wrote:
dropbox-2019.02.14-x86_64.tazpkg
built from deb file, with nautilus patch (see post) (untested)

Edit: I get the following error when I try to run dropbox:

Code: Select all

sh-4.4# dropbox start -i
Starting Dropbox...Traceback (most recent call last):
  File "/usr/bin/dropbox", line 1443, in start
    download()
  File "/usr/bin/dropbox", line 295, in download
    gi.require_version('Gdk', '3.0')
  File "/usr/lib/python3.6/site-packages/gi/__init__.py", line 127, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gdk not available
I also had to install python3-pygobject manually for some reason. Adding the dependency didn't seem to atomically install this for me. I'll check to see if I spelled it right.
I see that rather than installing python3-pygobject, that I can build it using pip:

Code: Select all

Execute pip3 install pycairo to build and install Pycairo
Execute pip3 install PyGObject to build and install PyGObject
https://pygobject.readthedocs.io/en/lat ... arted.html
Presumably having a devx will be helpful to build these python packages. Fortunately I just built devX:
https://www.dropbox.com/s/0nbhvhfyw6lts ... 4.sfs?dl=0

using a modified version of mistfires /usr/bin/mk-devx script.

Since I already have this installed (via python3-gobject. I ran the following command:

Code: Select all

pip3 install --upgrade --force-reinstall PyGObject
but it didn't work so I have some troubleshooting to do. The first step is to add the "--no-clean" option so that pip doesn't delete the temporary files.

Edit 2:

Code: Select all

pip3 install --no-clean --upgrade --force-reinstall PyGObject
Now nativate to tmp folder. In my case:

Code: Select all

/tmp/pip-install-r57wjyvc/PyGObject
then try to build with the command:

Code: Select all

python3 setup.py install
and I get the error:

Code: Select all

Package 'pixman-1', required by 'cairo', not found
Command '('pkg-config', '--print-errors', '--exists', 'cairo >= 0')' returned non-zero exit status 1.
I have installed xorg-pixman maybe I need to tell pkg-config how to find it.

Edit 3:
The solution was to install xorg-pixman-dev. I also needed to install libpng-dev libpng16-dev


I get now get the error:

Code: Select all

Package 'xcb-shm', required by 'cairo', not found
Command '('pkg-config', '--print-errors', '--exists', 'cairo >= 0')' returned non-zero exit status 1.
I'll try installing the following packages to fix the error:
xorg-libxshmfence-dev xcb-util-xrm-dev xorg-libxcb-dev xorg-xcb-util-dev xorg-xcb-util-cursor-dev xorg-xcb-util-image-dev xorg-xcb-util-keysyms-dev xorg-xcb-util-renderutil-dev xorg-xcb-util-wm-dev

That seemd to solve the issue. I now get the error:

Code: Select all

Package 'xproto', required by 'xau', not found
Command '('pkg-config', '--print-errors', '--exists', 'cairo >= 0')' returned non-zero exit status 1.
I'll try installing xorg-dev-proto to fix this error. That fixed the error.

I now get the error

Code: Select all

Package py3cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `py3cairo.pc'
to the PKG_CONFIG_PATH environment variable
No package 'py3cairo' found
Command '('pkg-config', '--print-errors', '--exists', 'py3cairo >= 1.11.1')' returned non-zero exit status 1.
I'll install python3-pycairo-dev to see if that fixes the error. That fixed the error.

I new get the error.

Code: Select all

gi/gimodule.c:24:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.
error: command 'x86_64-slitaz-linux-gcc' failed with exit status 1
I'll try installing python3-dev to fix this error.

I now get the error:

Code: Select all

/usr/include/bits/local_lim.h:38:10: fatal error: linux/limits.h: No such file or directory
 #include <linux/limits.h>
          ^~~~~~~~~~~~~~~~
compilation terminated.
error: command 'x86_64-slitaz-linux-gcc' failed with exit status 1
I think that limits.h comes from the kernal sources.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#71 Post by s243a »

s243a wrote: I now get the error:

Code: Select all

/usr/include/bits/local_lim.h:38:10: fatal error: linux/limits.h: No such file or directory
 #include <linux/limits.h>
          ^~~~~~~~~~~~~~~~
compilation terminated.
error: command 'x86_64-slitaz-linux-gcc' failed with exit status 1
I think that limits.h comes from the kernal sources.
I solved this problem by installing
"linux-libre-api-headers" - Kernel headers sanitized for use in userspace

Now this is sort of interesting because the TazPup build kit deletes all the packages that start with linux- under the assumption that they are kernal specific. I could have alternatively got limts.h from the kernal sources but I think this would be less portable both from a security perspective and a kernel version perspective. I'm also not sure which version of limts.h from the kernal sources to include.

As a side note "linux-libre-api-headers" does not conflict with the kernal sources since "linux-libre-api-headers" uses the prefix "/usr/include/linux" and the kernal sources use the prefix "/usr/src/linux"

A more ideal solution might be some kind of script that generates something like "linux-libre-api-headers" from the kernal sources. Anyway, I'll press on and see if I get get this python module compiled.

My next error to tackle is:

Code: Select all

Package pycairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `pycairo.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pycairo' found
Command '('pkg-config', '--print-errors', '--exists', 'pycairo >= 1.11.1')' returned non-zero exit status 1
I fixed this by installing "python-pycairo-dev"

Things seem to be compiling now. :). Let's see if it works. :)

Edit 1

I think the package gtk-girepository might be important. I think the detain equivalent of this is "gir" often followed by the number "one" so that it looks like girl. This is the repository for gobjects. However, installing this package didn't solve my problem.

Code: Select all

sh-4.4# dropbox start -i
Starting Dropbox...Traceback (most recent call last):
  File "/usr/bin/dropbox", line 1443, in start
    download()
  File "/usr/bin/dropbox", line 295, in download
    gi.require_version('Gdk', '3.0')
  File "/usr/lib/python3.6/site-packages/gi/__init__.py", line 133, in require_version
    (namespace, version))
ValueError: Namespace Gdk not available for version 3.0

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#72 Post by s243a »

s243a wrote:
Edit 1

I think the package gtk-girepository might be important. I think the detain equivalent of this is "gir" often followed by the number "one" so that it looks like girl. This is the repository for gobjects. However, installing this package didn't solve my problem.

Code: Select all

sh-4.4# dropbox start -i
Starting Dropbox...Traceback (most recent call last):
  File "/usr/bin/dropbox", line 1443, in start
    download()
  File "/usr/bin/dropbox", line 295, in download
    gi.require_version('Gdk', '3.0')
  File "/usr/lib/python3.6/site-packages/gi/__init__.py", line 133, in require_version
    (namespace, version))
ValueError: Namespace Gdk not available for version 3.0
I'm looking at /var/lib/tazpkg/gtk-repository

Code: Select all

/usr/lib/girepository-1.0/PangoCairo-1.0.typelib
/usr/lib/girepository-1.0/GdkPixbuf-2.0.typelib
/usr/lib/girepository-1.0/Gdk-2.0.typelib
/usr/lib/girepository-1.0/Atk-1.0.typelib
/usr/lib/girepository-1.0/PangoXft-1.0.typelib
/usr/lib/girepository-1.0/HarfBuzz-0.0.typelib
/usr/lib/girepository-1.0/Pango-1.0.typelib
/usr/lib/girepository-1.0/PangoFT2-1.0.typelib
/usr/lib/girepository-1.0/GdkX11-2.0.typelib
/usr/lib/girepository-1.0/Gtk-2.0.typelib
If I look at the dependencies in control file of the deb for dropbox I see gir1.2-gdkpixbuf-2.0 (>= 2.30.7), gir1.2-glib-2.0 (>= 1.40.0), gir1.2-gtk-3.0 (>= 3.10.8), gir1.2-pango-1.0 (>= 1.36.3)

All these use the 1.2 version of the gi repository rather than the 1.0 version. I'll try installing the python version of the gi repositories and see what happens.

On a related note, I installed python3-gobject-Gdk-3.26.1-lp150.1.4.x86_64.rpm(available here). I have no idea if this was a good or bad idea.

Edit 1
Of the above dependencies I think the one I'm missing is gir1.2-gtk-3.0. Here is the file list:

Code: Select all

/usr/lib/x86_64-linux-gnu/girepository-1.0/Gdk-3.0.typelib
/usr/lib/x86_64-linux-gnu/girepository-1.0/GdkX11-3.0.typelib
/usr/lib/x86_64-linux-gnu/girepository-1.0/Gtk-3.0.typelib
/usr/share/doc/gir1.2-gtk-3.0/AUTHORS
/usr/share/doc/gir1.2-gtk-3.0/changelog.Debian.gz
/usr/share/doc/gir1.2-gtk-3.0/changelog.gz
/usr/share/doc/gir1.2-gtk-3.0/copyright
https://packages.debian.org/stretch/amd ... 0/filelist

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#73 Post by s243a »

s243a wrote: Edit 1
Of the above dependencies I think the one I'm missing is gir1.2-gtk-3.0. Here is the file list:

Code: Select all

/usr/lib/x86_64-linux-gnu/girepository-1.0/Gdk-3.0.typelib
/usr/lib/x86_64-linux-gnu/girepository-1.0/GdkX11-3.0.typelib
/usr/lib/x86_64-linux-gnu/girepository-1.0/Gtk-3.0.typelib
/usr/share/doc/gir1.2-gtk-3.0/AUTHORS
/usr/share/doc/gir1.2-gtk-3.0/changelog.Debian.gz
/usr/share/doc/gir1.2-gtk-3.0/changelog.gz
/usr/share/doc/gir1.2-gtk-3.0/copyright
https://packages.debian.org/stretch/amd ... 0/filelist
I converted this into a package. Here's the receipt:

Code: Select all

# SliTaz package receipt v2.
PACKAGE="gir1.2-gtk-3.0"
VERSION="3.22.11-1"
CATEGORY="non-free"
SHORT_DESC="GIRepository bindings for Gdk-3.0, GdkX11-3.0 &  Gtk-3.0"
MAINTAINER="pkg-gnome-maintainers@lists.alioth.debian.org"
LICENSE="LGPL-2+"
WEB_SITE="http://www.gtk.org/"
DEPENDS="gtk3 gtk-repository gobject-introspection"
download link:
gir1.2-gtk-3.0_3.22.11-1_x86_64.tazpkg
this was made from the debian stretch binary. After installing this package dropbox started up for me. What I don't know is which of the above things that I tried is also necessary to get dropbox to work.

Note that I moved a folder to make it more consistent with the rest of the TazPup64 system.
Edit 1
Dropbox seems to be complaining that my file system isn't ext4 (however it is). I found some more specifics on the requirments:
The ext4 file system needs to be formatted with ext_attr on. This is the default behavior, but you can confirm by running debugfs -R features /dev/sda1 (or whatever your device file is called -- if you're using LVM it might be something like /dev/mapper/computername--vg-partitionname)
The ext4 partition needs to be mounted with the user_xattr option set (You can check for and add the option in GNOME disks or edit /etc/fstab directly)
The target folder (or Dropbox sync folder) needs to be at least two levels beneath the mountpoint, as described in this post. This is obviously a facepalm-worthy bug.
https://askubuntu.com/questions/1066045 ... -isnt-ext4

from the same link I see a possible alternative solution:


There's an alternative to your solution - a GitHub repository called dropbox-filesystem-fix. This makes your Dropbox folder appear as if it's on an unencrypted Ext4 filesystem, no matter what filesystem you use, and you don't have to mount anything, you just have to run Dropbox with with a dropbox-filesystem library (LD_PRELOAD).

You'll need to grab the code from GitHub, compile the library (make) and replace the Dropbox startup entry with the dropbox_start.py script provided by dropbox-filesystem-fix.

If you need complete step by step instructions, check out this page.
https://askubuntu.com/questions/1066045 ... -isnt-ext4

Some related links:
https://help.dropbox.com/desktop-web/ca ... n#location
https://help.dropbox.com/desktop-web/sy ... quirements

Edit 2

I was able to get it to work. What I did was:

Code: Select all

cd /mnt/home
realpath .
this gave me the path

Code: Select all

/initrd/mnt/dev_save
I then nested several folders called dropbox because of the above requirement: "The target folder (or Dropbox sync folder) needs to be at least two levels beneath the mountpoint"

and it worked. I wonder if dropbox doesn't like puppies layered file system :(. At least I found a work-around though :)

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#74 Post by s243a »

**Note to self.
When I installed espeak the package manager missed the dpendency speexdsp. After installing speedsp than espeak worked.

On another note I've been working on my wmexit script so that it shuts down the system proper when one doesn't boot using the screen=text option.

The script can be found at:
https://pastebin.com/6DQj5dpp

What I did was added a variable called "EXIT_IN_XINITRC" and when this variable is equal to zero than all window manager related stuff (and the xserver) is killed but the system isn't powered off. Instead the calling script (e.g. startx_jwm, my equivalent of xwin) handles the shutdown or reboot if this is the shutdown action.

Otherwise the reboot or poweroff might be called within /root/.xinitrc.

The following code will help clarify:

lines 139 to 156 of /usr/bin/wmexit

Code: Select all

if [ ! -z $EXIT_IN_XINITRC ] && [ EXIT_IN_XINITRC -eq 0 ]; then
         #xfce       #lxde     #LXQt        #window managers
  kill_WMs
  kill_Xorg
elif [ "$script" = "wmpoweroff"  ]; then
  exec /sbin/poweroff #see /usr/bin/wmpoweroff
elif [ "$script" = "wmreboot" ]; then
  exec /sbin/wmreboot #see /usr/bin/wmpoweroff
elif [ "$script" = "wmlogout" ] || [ ! "`id -u`" -eq 0 ]; then
  kill_WMs
else # [ "$script" = "wmexit" ]; then
  if [ $(ps -aux | grep -c slim) -gt 1 ]; then
    /etc/init.d/slim stop
  else
    kill_WMs
    kill_Xorg   
  fi  
fi 
https://pastebin.com/6DQj5dpp

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#75 Post by s243a »

TazPup64-PreAlpha-12.iso is available.

I booted the ISO from a virtualbook and logged in as:
usermane=root
pasword=root

this loaded jwm. To use gparted run the command:

Code: Select all

tazpkg get-install gtkmm
This will also install libgiomm. Both of these dependencies are only needed for gparted. In the future I will package these three packages into a seperate sfs.

Anyway, using this release I formated a partition in virtualbox, than ran the puppy universal installer followed by GrubForDos and then shutdown. A save file was created. I will shortly update the main post because I'm happy with the progress since pre-alpha7. There are more things that I will say about this release in this post that will come in a near future edit to this post.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#76 Post by s243a »

I've been working a bit on the lxde desktop to make it more usable. I'm getting GDBus related errors (I'll try to reproduce the contexts).

Here's an example:

Code: Select all

error creating proxy, Error calling StartServiceByName for org.freedesktop.ConsoleKit: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program org.freedesktop.ConsoleKit: Permission denied
and also

Code: Select all

#Not sure if this is the command
$ gdbus monitor --system --dest org.freedesktop.ConsoleKit
#that produces the following error if consolekit isn't started 
GDBus.Error:org.freedesktop.ConsoleKit.Manager.Error.General: Unable to lookup session information for process '1775'
#alternatively perhaps if consolkit isn't started this is the error you get:
gdbus The name org.freedesktop.ConsoleKit does not have an owner
[/quote]
When I boot with screen=text and start consolekit before calling startlxde, I get the error:

Code: Select all

GDBus.Error:org.freedesktop.ConsoleKit.Manager.Error.General: Unable to lookup session information for process '18715'
then If I look up this process I see:

Code: Select all

sh-4.4# ps -aux | grep 18715
root     18715  1.5  0.8 310888 17844 tty2     Sl+  06:45   0:00 lxpolkit

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#77 Post by s243a »

s243a wrote: When I boot with screen=text and start consolekit before calling startlxde, I get the error:

Code: Select all

GDBus.Error:org.freedesktop.ConsoleKit.Manager.Error.General: Unable to lookup session information for process '18715'
then If I look up this process I see:

Code: Select all

sh-4.4# ps -aux | grep 18715
root     18715  1.5  0.8 310888 17844 tty2     Sl+  06:45   0:00 lxpolkit
I'm actually wondering why ConsoleKit is being envoked here. Reading another thread:
If you start LXDE (or any other WM) through KDM, GDM or Slim a DBus/ConsoleKit session is automatically created before the WM is started. However, if you use startx you need to start this session yourself. This is what the ck-launch-session dbus-launch --exit-with-session {...} does, it starts a proper DBus/ConsoleKit session.
https://forums.freebsd.org/threads/gdbu ... ost-354460

but if I start the desktop with the startlxde command (note 1), the session is created via the code:

Code: Select all

# Launch DBus if needed
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
	if test -z "$XDG_RUNTIME_DIR" -o ! -S "$XDG_RUNTIME_DIR/bus" -o ! -O "$XDG_RUNTIME_DIR/bus"; then
		eval "$(dbus-launch --sh-syntax --exit-with-session)"
	fi
fi
Example output to eval statment:

Code: Select all

DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Hh0jxyWhpV,guid=3d65acd28bd229aef86c35295cc2a4d3
export DBUS_SESSION_BUS_ADDRESS
DBUS_SESSION_BUS_PID=12636
so if I don't need ck-lanuch-session to create a session do I need it. Also why is consolekit being used at all if I don't call ck-launch-session.

On another note I verified that it is lxde that is invoking lxpolkit. At the end of startlxde there is the following command to start lxde:

Code: Select all

exec /usr/bin/lxsession -s LXDE -e LXDE

Prior to starting lxde there is not process called lxpolkit. 
As a final note I added a "Xorg &" in the start lxde command just before the dbus session is created. I probably should name the script something else if I modify it because this is a well known script to start lxde.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

Re: TazPup64 (pre-alpha12) - Looks Promising but I've done very

#78 Post by s243a »

s243a wrote:25 Aprl 19
TazPup64-PreAlpha-12.iso is looking promising but I've done very little testing on it (see (post)), since the GDbus error has been bothering me.
While troubleshooting the GDBus error I was using the following virtual-machine:
TazPup64-PreAlpha11.vdi

I think that darry beat me to the answer:
darry19662018 wrote:Have found out! lxde now uses lxpolkit instead of polkit which needs to be disabled.
http://murga-linux.com/puppy/viewtopic. ... 93#1026393

but I don't know all the details yet of how to implement it. Anyway some notes on this virtual machine:

1. In the lxde desktop I added various luanch items to the tint2 panel.
2. The poweroff and "exit Xorg" buttons in the shutdown script have been modified to work with the graphical version of slim. (see post)
3. From "PuppEX Bionic 64 bit", I added the following files:

Code: Select all

/bin/xdg_autostart
/usr/bin/xdg_open #This is a symlink
/usr/local/bin/xdg_open
the result is now desktop files are autostarting applicaitons from the folders:

Code: Select all

$HOME/.config/autostart/*.desktop 
/etc/xdg/autostart/*.desktop 
however, some of these desktop files are causing errors so I have some troubleshooting to do here.
4. Related to Item#3, I modified the pcmanfm.desktop file so that the pcmanfm desktop won't start if rox has already started.
5. In the save file I broke users spot and tux but root still works password=root. I don't think this is an issue with a fresh save file.


Edit 1 I've replaced the .vdi file so that one doesn't have to make the following fix:

Small Edit: For item#4 to work the file /usr/bin/pcmanfm_desktop should look like:

Code: Select all

#!/bin/sh
if [ $(ps aux | grep -c 'rox-filler') -lt 1 ]; then
  pcmanfm --desktop
fi
before making the change you can see the rox desktop in jwm by killing pcmanfm --desktop. After you fix the above noted file, jwm should boot with only the rox desktop.

Edit 2 I've also got rid of the GDBus error message at startup using the fix mentioned at:
http://murga-linux.com/puppy/viewtopic. ... 24#1026424

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#79 Post by s243a »

I figured out how I broke users tux and spot. All users (i.e. user group and world) need both read and execute permissions for the lib folders. I found that out from the following post:
https://askubuntu.com/questions/307534/ ... ion-denied

not sure how I broke this and whether or not re-running the build script would have fixed this issue. However, for some reason this doesn't fix the whoami command for non-root users. This command needs to read the /etc/passwd file but I have it setup so all users can read this file. Therefore I don't know what the issue is.

Edit 1 I found out that you need execute permission on the directory to either cd into the directory or read a file within a directory. Sources:
https://community.oracle.com/thread/4178408

After adding execute permission to the /etc, the "whoami" command worked for user tux.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#80 Post by s243a »

In the following virtualbox disk image you can now start jwm with users tux and spot.
TazPup64-PreAlpha-14.vdi

This is not the case for the ISOs which aren't as up to date as the virtualbox immage. I present them for refence but recommend waiting for the next ISO or two.
TazPup64-PreAlpha-14.iso
azPup64-PreAlpha-13.iso

However, if you wish to test with the latest iso then I recommend disabling some of the desktop files in :
/etc/xdg/autostart

and fixing the user permissions by making sure all lib folders, executable path folders and the etc folder have read and execute permissions for all users (i.e. user, group and world).

These fixes should already be made in the virtual machine save file.

Edit 1: I'm not sure where the permissions are getting set wrong. The permissions in the base_sfs look correct. I wonder if it might be an issue with the initrd or a weird quirk of virtualbox.

Edit 2: The premissions also look correct in initrd. Here is the section of initrd where it copies files:
https://github.com/puppylinux-woof-CE/w ... /init#L643

the -a option preserves permissions.

Post Reply