TazPuppy 5.0 rc2

Under development: PCMCIA, wireless, etc.
Message
Author
mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#826 Post by mistfire »

@s243a here are the suggested options to fix the issue:
1. try to swap kernel by using the kernel and zdrv file of other puppies
2. check the iron browser dependencies.
3. update the builtin packages

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

#827 Post by s243a »

mistfire wrote:@s243a here are the suggested options to fix the issue:
1. try to swap kernel by using the kernel and zdrv file of other puppies
2. check the iron browser dependencies.
3. update the builtin packages
After a bit of investigation it might be a memory issue. The normal puppylinux package manager directly saves to the save-layer. I'm not sure that tazpkg does this.

I'm working on a script to make a suitable chroot environment directly on the USB to run tazpkg. I haven't even started the debugging process yet.

I say that it might be a memory issue because when I tried running tazpkg from the command line it failed due to insufficient memory. An alternative solution would be to use a swap file. I don't like using swap files when running off a USB because if they USB gets unplugged everything gets messed up. Also for USB 2.0 and earlier the I/O speed is very slow.

Edit 1: So my above script ran without errors. I then chrooted into the newly created folder:

Code: Select all

chroot /mnt/home/symlinks /bin/bash
and then tried re-installing ironlinux:

Code: Select all

tazpkg --forced git-install iron-linux
I then tried running the program:

Code: Select all

iron
I see that I'm missing gtk3. I'll install it and try running it again.

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

#828 Post by s243a »

mistfire wrote:This is the experimental TazWoof. This will build TazPup entirely from Slitaz Packages. The missing part was compiling kernel for TazPup (I put a blank function to place that routine) also make live cd was disabled.

I hope someone will complete this build system.

Download: https://drive.google.com/file/d/1VyhLlf ... sp=sharing
Is this the most recent version of TazWoof? I need to build a devX for the 64 bit version of TazPup. See thread:
TazPup64 (beta 23?)

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

Re: TazPuppy Beta 23

#829 Post by s243a »

mistfire wrote:
Build kit is now available if you want to build your own tazpuppy.
https://drive.google.com/file/d/16vbJrR ... sp=sharing
I think the version in the first post of this thread is the latest. Anyway, I've been trying to see if you can use the build kit to produce a 64 bit iso. I think that to do this we have to change the mirror for the packages using the following command:
setup-mirror

Setup the URL for the mirror (setup-mirror or -sm). Command will ask for the URL of the new mirror. Note that you can also modify the main /var/lib/tazpkg/mirror file. The URL must point to the directory containing the packages.info and packages.

# tazpkg setup-mirror
For a 64bit build we will need one of the following urls
http://mirror.slitaz.org/packages/next64/
http://mirror1.slitaz.org/packages/next64/
in the mirror file:

Code: Select all

/var/lib/tazpkg/mirror 

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#830 Post by mistfire »

@s243a

The tazpup devx was not yet updated yet it just works. If you want a fresh devx sfs. Just run this command on terminal. It requires internet connection.

Code: Select all

make-devx [working folder to creating devx module]
Last edited by mistfire on Tue 26 Feb 2019, 00:30, edited 1 time in total.

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#831 Post by mistfire »

@s243a

Im glad that you will build a 64-bit tazpuppy. Which I cant make it due to lack of internet.

Make sure that the tazpuppy build kit must run in 64-bit Puppy in order to build 64-bit tazpuppy.

sheldonisaac
Posts: 902
Joined: Mon 22 Jun 2009, 01:36
Location: Philadelphia, PA

#832 Post by sheldonisaac »

mistfire (in part) wrote:TazPuppy Beta 23 released
Download: https://drive.google.com/file/d/1wSWovZ ... sp=sharing
Good morning. I did download it, and thank you very much.
I'm using the TazWeb browser, on this Dell laptop E6410.

First-time user.
As I recall, the Grub4Dos command lines included

kernel /TazPup/vmlinuz psubdir=TazPup
initrd /TazPup/initrd.xz

Then, boot.

Thanks a lot.

Sorry I have nothing to contribute at present; I hope to read the thread and learn.

Sheldon
Dell E6410: BusterPup, BionicPup64, Xenial, etc
Intel DQ35JOE, Dell Vostro 430
Dell Inspiron, Acer Aspire One, EeePC 1018P

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

Re: TazPuppy Beta 23

#833 Post by s243a »

From the first post of this thread:
mistfire wrote:
Build kit is now available if you want to build your own tazpuppy.
https://drive.google.com/file/d/16vbJrR ... sp=sharing
I noticed that when I was trying to use the build-kit to build a 64bit version that everything fell apart once I got to core-utils and nothing installed after it. Output posted at:
https://pastebin.com/xiZz0Kta
**Note the iso was still built just not packes alphabetically between "a" and core-utils.

I think that any patches that are applied to TazPkg, need to be applied fefore the packages are installed. I believe this impacts both the 32bit version and the 64bit version that I'm trying to build. Recall that when we switched to core-utils we had to remove some busybox idiosyncrasies.

Edit #1 maybe it is just core-utils that needs to be treated separately. However, for a 64 bit system, I'm adding a prefix for a clean build now, so the only purpose of the TazPup iso is to get a working package manager (i.e. tazpkg). I will post my updated build-kit in the other thread.

Edit #2 I made some progress on this but I might not test this build kit because I think there are further changes that I need to make before it will work.:
64bit pre alpha 2 build kit:
https://www.dropbox.com/s/8ide4zsufh0vv ... pha-2?dl=0
Pastbin script for the modified build script:
https://pastebin.com/rGa4jJCp
Last edited by s243a on Tue 26 Feb 2019, 08:30, edited 4 times in total.

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

#834 Post by s243a »

I noticed in the tazpkg manual that it says that for dependencies it prefers local packages in the same directory as the one you are installing
install
This command allows the installation of a local package with the .tazpkg extension (install or -i).

Option --forced allows you to update an already installed package. Option --newconf allows you to rewrite all user configuration files using the new files from a package. Option --nodeps allows you to install only a specified package without its dependencies.

When TazPkg installs package dependencies, it prefers local packages (i.e. dependent packages located in the same folder[/b\ as installed packages) over mirrored/cached packages with the --local option. It is useful when you want to install a lot of already downloaded packages and their dependencies without the need of a network connection.


For the "non-cloud mode" (i.e. local mode), I think the build kit should take advantage of this by first copying all packages to be installed into the root file system.

It also may be useful to combine this technique with an install list:

get-list, install-list, get-install-list
Get and/or install a set of packages listed in a file. This command allows you to work with the several packages with a single command.

All options are the same as for respective simple commands: get, install and get-install.

# tazpkg install-list my-packages.list
# tazpkg get-install-list my-packages.list --forced

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

Re: TazPuppy Beta 23

#835 Post by s243a »

mistfire wrote:I learned that someone in the forum was combining tiny core linux and puppy.

I wonder if someone was attempting to combine slitaz and puppy?


Build kit is now available if you want to build your own tazpuppy.
https://drive.google.com/file/d/16vbJrR ... sp=sharing
In the latest build-kit I noticed something that caused me a bit of grief when trying to build a 64 bit version.

My issue was, depending on which packages One installs a symlink might be created from /bin/lzma to xz and this will over-ride the full version of llzma if installed. This symlinking causes problems with converting files in tazpup. For instance on line#35 of /usr/libexec/tazpkg/pack we have:

Code: Select all

*) lzma e fs.cpio.lzma -si;;
but xz doesn't support the -s option. My fix was to add the following to the buildkit:

Code: Select all

if [ -f $curdir/slitaz-rootfs$prefix/usr/bin/lzma ]; then #Added by s243a
    rm -f  $curdir/slitaz-rootfs$prefix/bin/lzma
fi
but this case only covers if one installs lzma. If lzma isn't installed then perhaps the symlink should point to something other than xz.

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#836 Post by mistfire »

TazPuppy beta 24 released

Changes:
* A bug where cannot remember loaded sfs is fixed
* Unable to find swap partition on UEFI is fixed
* With automatic fixing of missing essential cache files
* Ability to force update the essential cache files by using this boot parameter -- forceupdate
* Some fixes on tazpkg and sfs_load
* Improved cleanup on shutdown

Download: https://drive.google.com/file/d/1sZoT-w ... sp=sharing
MD5 Checksum: 174d363471775e01f31a62b6c7a2a2d9

Build kit: https://drive.google.com/file/d/1nCcrJX ... sp=sharing

sheldonisaac
Posts: 902
Joined: Mon 22 Jun 2009, 01:36
Location: Philadelphia, PA

#837 Post by sheldonisaac »

mistfire (in part) wrote:TazPuppy beta 24 released
Got it, thanks a lot.
I'm on via Midori. Will save to HDD and hope to report further, in the future.

Sheldon
Dell E6410: BusterPup, BionicPup64, Xenial, etc
Intel DQ35JOE, Dell Vostro 430
Dell Inspiron, Acer Aspire One, EeePC 1018P

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

#838 Post by s243a »

I'm not sure if this was updated in the last build kit or not but on the previous build kit there was no internet in the chroot environment. To fix this one must do the following:

Code: Select all

cp -f /etc/resolv.conf $curdir/slitaz-rootfs/etc/resolv.conf
as was noted on archiwiki.

https://wiki.archlinux.org/index.php/Chroot

The consequence of this is that cloud mode didn't work .

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#839 Post by mistfire »

@s243a

thanks, I fixed the build script now.

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

#840 Post by s243a »

I'm not sure if it's updated but in the last version "beta 23" I have two fixes for:

Code: Select all

/usr/bin/make-devx
The first suggestion is to make the script architecture independent by putting something like the following at the top of the script:

Code: Select all

if [ -f /etc/slitaz/slitaz.conf ]; then 
  . /etc/slitaz/slitaz.conf #Comment this line out if you don't want to use distro defualts. 
fi
WEBSITE=${MIRROR_URL:-"http://mirror1.slitaz.org"}
DIRPKG=${SLITAZ_RELEASE:-'next64'}
note that where I have 'next64' as the default, you would put 'cooking' as the default. The point is to take the mirror and the release from slizaz.conf.

related to this in the function "download_pkgs", one has to replace "cooking" with "$DIRPKG" in the line

Code: Select all

wget -nc --timeout=10 $WEBSITE/packages/cooking/$pkgname.tazpkg -O cooking/slitaz-devx/$pkgname.tazpkg
with gives:

Code: Select all

wget -nc --timeout=10 $WEBSITE/packages/$DIRPKG/$pkgname.tazpkg -O $curdir/slitaz-devx/$pkgname.tazpkg
My second fix is to create all the necessary build directories. Around line #20 (now line #24) I have replaced:

Code: Select all

 curdir="$1"
 
 if [ ! -e $curdir ]; then
  echo "Create working folder: $curdir"
  mkdir -p $curdir 2>/dev/null
  if [ $? -ne 0 ]; then
  echo "Failed to create working folder"
  exit
  fi
 fi
else 
 echo "Usage: $cmd1 [working folder]" 
 echo "Creates DEVX module for compiling" 
 exit 
fi 
with

Code: Select all

 curdir=`realpath "$1"`
 while read aDir; do
   if [ ! -e $aDir ]; then
     echo "Create working folder: $aDir"
     mkdir -p $aDir 2>/dev/null
     if [ $? -ne 0 ]; then
       echo "Failed to create working folder $aDir"
       exit
     fi
   fi
 done <<EOM
$curdir
$curdir/devx-rootfs
$curdir/slitaz-devx 
EOM
else
 echo "Usage: $cmd1 [working folder]"
 echo "Creates DEVX module for compiling"
 exit
fi

#cd $curdir
Last edited by s243a on Sun 03 Mar 2019, 00:15, edited 5 times in total.

oui

#841 Post by oui »

Hi
as it is possible to convert the tazpkg's into *.pets, did some one already try to convert

libfirefox

and to use it in puppy to look some youtube's using little browsers (midori etc.)

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

#842 Post by s243a »

s243a wrote:I'm not sure if it's updated but in the last version "beta 23" I have two fixes for:

Code: Select all

/usr/bin/make-devx
The first suggestion is to make the script architecture independent by putting something like the following at the top of the script:

Code: Select all

if [ -f /etc/slitaz/slitaz.conf ]; then 
  . /etc/slitaz/slitaz.conf #Comment this line out if you don't want to use distro defualts. 
fi
WEBSITE=${MIRROR_URL:-"http://mirror1.slitaz.org"}
DIRPKG=${SLITAZ_RELEASE:-'next64'}
note that where I have 'next64' as the default, you would put 'cooking' as the default. The point is to take the mirror and the release from slizaz.conf.

related to this in the function "download_pkgs", one has to replace "cooking" with "$DIRPKG" in the line

Code: Select all

wget -nc --timeout=10 $WEBSITE/packages/cooking/$pkgname.tazpkg -O cooking/slitaz-devx/$pkgname.tazpkg
with gives:

Code: Select all

wget -nc --timeout=10 $WEBSITE/packages/$DIRPKG/$pkgname.tazpkg -O $curdir/slitaz-devx/$pkgname.tazpkg
My second fix is to create all the necessary build directories. Around line #20 (now line #24) I have replaced:

Code: Select all

 curdir="$1"
 
 if [ ! -e $curdir ]; then
  echo "Create working folder: $curdir"
  mkdir -p $curdir 2>/dev/null
  if [ $? -ne 0 ]; then
  echo "Failed to create working folder"
  exit
  fi
 fi
else 
 echo "Usage: $cmd1 [working folder]" 
 echo "Creates DEVX module for compiling" 
 exit 
fi 
with

Code: Select all

 curdir=`realpath "$1"`
 while read aDir; do
   if [ ! -e $aDir ]; then
     echo "Create working folder: $aDir"
     mkdir -p $aDir 2>/dev/null
     if [ $? -ne 0 ]; then
       echo "Failed to create working folder $aDir"
       exit
     fi
   fi
 done <<EOM
$curdir
$curdir/devx-rootfs
$curdir/slitaz-devx
EOM
else
 echo "Usage: $cmd1 [working folder]"
 echo "Creates DEVX module for compiling"
 exit
fi

#cd $curdir
I found one more issue. In the function process_package we need to make the path to the receipt relative. Currently it is:

Code: Select all

. /receipt
but it should be

Code: Select all

. ./receipt
Last edited by s243a on Sun 03 Mar 2019, 00:15, edited 3 times in total.

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

#843 Post by s243a »

oui wrote:Hi
as it is possible to convert the tazpkg's into *.pets, did some one already try to convert

libfirefox

and to use it in puppy to look some youtube's using little browsers (midori etc.)
Extract the package:

Code: Select all

tazpkg extract package.tazpkg
then use dir2pet to create a pet package.

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

#844 Post by s243a »

I noticed something in the /etc/profile script that could be improved.

Around line one 170 we have the following code:

Code: Select all

for profile_script in $(ls -1 /etc/profile.d) ; do
    #xlog  "Sourcing $profile_script ..."
	[ "$(echo -n "$profile_script" | grep 'txt$')" != "" ] && continue
	. /etc/profile.d/$profile_script
done
The issue here is that sometimes in /etc/profile.d there are separate scripts depending on the shell. For instance if one installs "gawk" there is a script gawk.csh (for the c shel) and also a gawk.sh for bourne compatible shells like bash and ash. We need some kind of logic that checks for shell dependent implementations of the profile.d script and picks the version that best matches the shell (based on the extension).

For example in the csh version we have:

Code: Select all

alias gawkpath_default 'unsetenv AWKPATH; setenv AWKPATH `gawk -v x=AWKPATH "BEGIN {print ENVIRON[x]}"`'
but the setenv command only works for csh and not for bash, ash and dash.

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

#845 Post by s243a »

I think TazPup has the following issue (I'll verify later) but the 64bit version I'm trying to make certainly has this issue.

I noticed the following error in the boot log:

Code: Select all

missing or unknown command

Usage: udevadm [--help] [--version] [--debug] COMMAND [COMMAND OPTIONS]

  info         query sysfs or the udev database
  trigger      request events from the kernel
  settle       wait for the event queue to finish
  control      control the udev daemon
  monitor      listen to kernel and udev events
  test         test an event run
  test-builtin test a built-in command
I was able to trace this error to line #32 to #35 of:
/etc/init.d/rcS

Code: Select all

if [ -d '/etc/udev/hwdb.d' ]; then
	echo 'Creating the udev hardware database...'
	udevadm hwdb --update
fi
hwdb is not a valid command for udevadm as per the manpage:
https://linux.die.net/man/8/udevadm

Some versions of udevadm have a --reload option which might do what this statement is trying to achieve. However, I don't believe that the version of udevadm that comes with slitaz has this option.

Post Reply