Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Tue 12 Nov 2019, 22:13
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » System
Puppy Package Manager (modified) v3.0
Post new topic   Reply to topic View previous topic :: View next topic
Page 6 of 6 [86 Posts]   Goto page: Previous 1, 2, 3, 4, 5, 6
Author Message
s243a

Joined: 02 Sep 2014
Posts: 2144

PostPosted: Mon 17 Jun 2019, 08:08    Post subject:  

wiak wrote:
@s243a:

You don't seem to be getting much response from whoever wrote the code. I thought you were going to be using sc0ttman's pkg, but is this a fork of PPM by mistfire?

wiak


Probably in the long run I'll use sc0ttman's version but there are things about mistfire's version I like and in the short term, "for experimental purposes", I'm going to see if I can make them play nice together Smile

_________________
Find me on minds and on pearltrees.
Back to top
View user's profile Send private message Visit poster's website 
s243a

Joined: 02 Sep 2014
Posts: 2144

PostPosted: Mon 17 Jun 2019, 09:12    Post subject:  

s243a wrote:
Going down a further the code which sets the variable "FLTRD_REPO" doesn't seem to be being called. This suggests to me that either DISTRO_BINARY_COMPAT isn't being exported or DISTRO_SPECS isn't being scourced, if I call, pkg_chooser.sh directly. Here is the code that should set "FLTRD_REPO"

Line #89 to #103 of /usr/local/petget/filterpkgs.sh
Code:

#find pkgs in db starting with $PKG_FIRST_CHAR and by distro and category...
#each line: pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description|
#optionally on the end: compileddistro|compiledrelease|repo| (fields 11,12,13)
#filter the repo pkgs by first char and category, also extract certain fields...
#w017 filter out all 'lib' pkgs, too many for gtkdialog (ubuntu/debian only)...
#w460 filter out all 'language-' pkgs, too many (ubuntu/debian)...
if [ ! -f /tmp/petget-proc/petget_fltrd_repo_${PKG_FIRST_CHAR}_${fltrCATEGORY}_${xDEFGUIFILTER}_Packages-${fltrREPO_TRIAD} ];then
 case $DISTRO_BINARY_COMPAT in
  ubuntu|debian|devuan|raspbian)
   FLTRD_REPO="`printcols $REPO_FILE 1 2 3 5 10 6 9 | grep -v -E '^lib|^language\\-' | grep -i "^[${PKG_FIRST_CHAR}]" | grep "$categoryPATTERN" | grep -i ${EXCPARAM} -E "$guiPTN" | sed -e 's%||$%|unknown|%'`" #130330  130331 ignore case.
  ;;
  *)
   FLTRD_REPO="`printcols $REPO_FILE 1 2 3 5 10 6 9 | grep -i "^[${PKG_FIRST_CHAR}]" | grep "$categoryPATTERN" | grep -i ${EXCPARAM} -E "$guiPTN" | sed -e 's%||$%|unknown|%'`" #130330  130331 ignore case.
  ;;
 esac


I managed to find some associated output for degugging:

Code:

+ FIRST_DB=devuan-ascii-contrib
+ fltrREPO_TRIAD=devuan-ascii-contrib
+ '[' -f /tmp/petget-proc/petget/current-repo-triad ']'
...
+ REPO_FILE=
+ '[' System ']'
+ fltrCATEGORY=System
+ echo System
+ categoryPATTERN='|System[;|]'
+ '[' System = ALL ']'
+ '[' '!' -f /tmp/petget-proc/petget_fltrd_repo_a-z0-9_System_Anytype_Packages-devuan-ascii-contrib ']'
++ cut -f 2 -d '|' /tmp/petget-proc/petget_fltrd_repo_a-z0-9_System_Anytype_Packages-devuan-ascii-contrib
++ sed -e 's%^%|%' -e 's%$%|%'
+ shortPATTERN='||'
+ echo '||'
++ grep --file=/tmp/petget-proc/petget_shortlist_patterns
++ cat /root/.packages/layers-installed-packages /root/.packages/user-installed-packages

Note that I'm calling pkg_chooser.sh directly.

Some comments:
REPO_FILE is set in line #74 of pkgchooser.sh
Code:

REPO_FILE="`find /root/.packages -type f -name "Packages-${fltrREPO_TRIAD}*" | head -n 1`"


I think I found the bug here (not tested yet).

/root/.packages is symlinked to /var/packages. Find will not follow symlinks unless you tell it to. We can either use the realpath function to get the realpath or provide find with the command line options to follow symlinks. I'm not sure which method is the most efficient portable way to do this. I suggest using realpath.

Edit: The following works for me:
Code:

find "`realpath /root/.packages`" -name 'Packages-devuan-ascii-contrib*'


so the modified command should be something like:
Code:

REPO_FILE="$(find "`realpath /root/.packages`" -type f -name "Packages-${fltrREPO_TRIAD}"'*' | head -n 1)"

_________________
Find me on minds and on pearltrees.
Back to top
View user's profile Send private message Visit poster's website 
s243a

Joined: 02 Sep 2014
Posts: 2144

PostPosted: Mon 17 Jun 2019, 10:54    Post subject:  

s243a wrote:
s243a wrote:
Going down a further the code which sets the variable "FLTRD_REPO" doesn't seem to be being called. This suggests to me that either DISTRO_BINARY_COMPAT isn't being exported or DISTRO_SPECS isn't being scourced, if I call, pkg_chooser.sh directly. Here is the code that should set "FLTRD_REPO"

Line #89 to #103 of /usr/local/petget/filterpkgs.sh
Code:

#find pkgs in db starting with $PKG_FIRST_CHAR and by distro and category...
#each line: pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description|
#optionally on the end: compileddistro|compiledrelease|repo| (fields 11,12,13)
#filter the repo pkgs by first char and category, also extract certain fields...
#w017 filter out all 'lib' pkgs, too many for gtkdialog (ubuntu/debian only)...
#w460 filter out all 'language-' pkgs, too many (ubuntu/debian)...
if [ ! -f /tmp/petget-proc/petget_fltrd_repo_${PKG_FIRST_CHAR}_${fltrCATEGORY}_${xDEFGUIFILTER}_Packages-${fltrREPO_TRIAD} ];then
 case $DISTRO_BINARY_COMPAT in
  ubuntu|debian|devuan|raspbian)
   FLTRD_REPO="`printcols $REPO_FILE 1 2 3 5 10 6 9 | grep -v -E '^lib|^language\\-' | grep -i "^[${PKG_FIRST_CHAR}]" | grep "$categoryPATTERN" | grep -i ${EXCPARAM} -E "$guiPTN" | sed -e 's%||$%|unknown|%'`" #130330  130331 ignore case.
  ;;
  *)
   FLTRD_REPO="`printcols $REPO_FILE 1 2 3 5 10 6 9 | grep -i "^[${PKG_FIRST_CHAR}]" | grep "$categoryPATTERN" | grep -i ${EXCPARAM} -E "$guiPTN" | sed -e 's%||$%|unknown|%'`" #130330  130331 ignore case.
  ;;
 esac


I managed to find some associated output for degugging:

Code:

+ FIRST_DB=devuan-ascii-contrib
+ fltrREPO_TRIAD=devuan-ascii-contrib
+ '[' -f /tmp/petget-proc/petget/current-repo-triad ']'
...
+ REPO_FILE=
+ '[' System ']'
+ fltrCATEGORY=System
+ echo System
+ categoryPATTERN='|System[;|]'
+ '[' System = ALL ']'
+ '[' '!' -f /tmp/petget-proc/petget_fltrd_repo_a-z0-9_System_Anytype_Packages-devuan-ascii-contrib ']'
++ cut -f 2 -d '|' /tmp/petget-proc/petget_fltrd_repo_a-z0-9_System_Anytype_Packages-devuan-ascii-contrib
++ sed -e 's%^%|%' -e 's%$%|%'
+ shortPATTERN='||'
+ echo '||'
++ grep --file=/tmp/petget-proc/petget_shortlist_patterns
++ cat /root/.packages/layers-installed-packages /root/.packages/user-installed-packages

Note that I'm calling pkg_chooser.sh directly.

Some comments:
REPO_FILE is set in line #74 of pkgchooser.sh
Code:

REPO_FILE="`find /root/.packages -type f -name "Packages-${fltrREPO_TRIAD}*" | head -n 1`"


I think I found the bug here (not tested yet).

/root/.packages is symlinked to /var/packages. Find will not follow symlinks unless you tell it to. We can either use the realpath function to get the realpath or provide find with the command line options to follow symlinks. I'm not sure which method is the most efficient portable way to do this. I suggest using realpath.

Edit: The following works for me:
Code:

find "`realpath /root/.packages`" -name 'Packages-devuan-ascii-contrib*'


so the modified command should be something like:
Code:

REPO_FILE="$(find "`realpath /root/.packages`" -type f -name "Packages-${fltrREPO_TRIAD}"'*' | head -n 1)"


I partially tested this. For this fix to work, one must first delete /tmp/proc-petget
** alternatively updating the package databases might work (not sure).

After doing this fix, items now display properly in mistfire's version of the ppm. I haven't tried installing anything with it yet.

Note that the puppy package manager doesn't update the list of files (filtered by catagory)
(e.g. /tmp/proc/petget_fltrd_repo_a-z0-9_Desktop_Anytype_Packages-devuan-ascii-contrib)
unless the file doesn't exist. Deleting the file if it is empty might be a sensible thing to do.

Also a lot of processing work is stored in the tmp folder .I'm not sure if any of this is saved in the save file. Doing so (if not done already) might make the package manager a bit faster on initial load.

_________________
Find me on minds and on pearltrees.
Back to top
View user's profile Send private message Visit poster's website 
s243a

Joined: 02 Sep 2014
Posts: 2144

PostPosted: Mon 17 Jun 2019, 11:51    Post subject:  

The following command shows that there are a few more places that I should make this fix:

Code:

# grep -rn . -e 'find' | grep -F '/root/.packages'
./usr/sbin/puppy-get:2438: possiblePKGS=`find /root/.packages/package-files -type f -iname "$firstchar*.files"`
./usr/local/petget/0setup:695:dbfound="$(find /root/.packages -maxdepth 1 -name 'Packages-*')"
./usr/local/petget/removepreview.sh:185: possiblePKGS=`find /root/.packages/package-files -type f -iname "$firstchar*.files"`
./usr/local/petget/filterpkgs.sh:73:REPO_FILE="`find /root/.packages -type f -name "Packages-${fltrREPO_TRIAD}*" | head -n 1`"
./usr/bin/rebuild-pkg-dir:54:   if [ "$(find /root/.packages -maxdepth 1 -name '*.files')" != "" ]; then
./usr/bin/rebuild-pkg-dir:60:   if [ "$(find /root/.packages -maxdepth 1 -name '*.files')" != "" ]; then
./usr/bin/rebuild-pkg-dir:72:   if [ "$(find /root/.packages -maxdepth 1 -name 'Packages-*')" != "" ]; then
./usr/bin/rebuild-pkg-dir:78:   if [ "$(find /root/.packages -maxdepth 1 -name 'Packages-*')" != "" ]; then
./usr/bin/rebuild-pkg-dir:102:   if [ "$(find /root/.packages -maxdepth 1 -name '*.remove')" != "" ]; then
./usr/bin/rebuild-pkg-dir:108:   if [ "$(find /root/.packages -maxdepth 1 -name '*.remove')" != "" ]; then


Edit:

I made these changes on github in commit 9e2ecf148350e9c53012668b8c69a7b584ee04a8 (not tested yet). Unfortunately, github doesn't show my changes very well because I added the entire file that I'm patching and therefore there is no previous file to compare to.

_________________
Find me on minds and on pearltrees.
Back to top
View user's profile Send private message Visit poster's website 
s243a

Joined: 02 Sep 2014
Posts: 2144

PostPosted: Fri 21 Jun 2019, 00:31    Post subject:  

I'm not sure if the following is being done by ppm v3.0 or sc0tmann's pkg but some process seems to be moving all my files out of the /usr/lib/i386-linux-gnu/ folder.

Code:

/ # pkg -i -f ppm-mod-3.0.pet
ash: -f: unknown operand
Install package ppm-mod-3.0: 
cat: /root/.packages/ppm-mod-3.0.files: No such file or directory
cp: '/usr/lib/i386-linux-gnu/X11' and '/usr/lib/X11' are the same file
cp: '/usr/lib/i386-linux-gnu/avahi' and '/usr/lib/avahi' are the same file
cp: '/usr/lib/i386-linux-gnu/awk' and '/usr/lib/awk' are the same file
cp: '/usr/lib/i386-linux-gnu/dbus-1.0' and '/usr/lib/dbus-1.0' are the same file
cp: '/usr/lib/i386-linux-gnu/dconf' and '/usr/lib/dconf' are the same file
cp: '/usr/lib/i386-linux-gnu/engines-1.1' and '/usr/lib/engines-1.1' are the same file
cp: '/usr/lib/i386-linux-gnu/file' and '/usr/lib/file' are the same file
cp: '/usr/lib/i386-linux-gnu/gawk' and '/usr/lib/gawk' are the same file
cp: '/usr/lib/i386-linux-gnu/gcc' and '/usr/lib/gcc' are the same file
cp: '/usr/lib/i386-linux-gnu/gconv' and '/usr/lib/gconv' are the same file
cp: '/usr/lib/i386-linux-gnu/gdk-pixbuf-2.0' and '/usr/lib/gdk-pixbuf-2.0' are the same file
cp: '/usr/lib/i386-linux-gnu/gettext' and '/usr/lib/gettext' are the same file
cp: '/usr/lib/i386-linux-gnu/gio' and '/usr/lib/gio' are the same file
cp: '/usr/lib/i386-linux-gnu/glib-2.0' and '/usr/lib/glib-2.0' are the same file
cp: '/usr/lib/i386-linux-gnu/glib-networking' and '/usr/lib/glib-networking' are the same file
cp: '/usr/lib/i386-linux-gnu/gtk-2.0' and '/usr/lib/gtk-2.0' are the same file
cp: '/usr/lib/i386-linux-gnu/gtk-3.0' and '/usr/lib/gtk-3.0' are the same file
cp: '/usr/lib/i386-linux-gnu/gtkdialog' and '/usr/lib/gtkdialog' are the same file
cp: '/usr/lib/i386-linux-gnu/i386-linux-gnu' and '/usr/lib/i386-linux-gnu' are the same file
cp: '/usr/lib/i386-linux-gnu/imlib2' and '/usr/lib/imlib2' are the same file
cp: '/usr/lib/i386-linux-gnu/jwm' and '/usr/lib/jwm' are the same file
cp: '/usr/lib/i386-linux-gnu/krb5' and '/usr/lib/krb5' are the same file
cp: '/usr/lib/i386-linux-gnu/libgtk-3-0' and '/usr/lib/libgtk-3-0' are the same file
cp: '/usr/lib/i386-linux-gnu/libgtk2.0-0' and '/usr/lib/libgtk2.0-0' are the same file
cp: '/usr/lib/i386-linux-gnu/libvte9' and '/usr/lib/libvte9' are the same file
cp: '/usr/lib/i386-linux-gnu/locale' and '/usr/lib/locale' are the same file
cp: '/usr/lib/i386-linux-gnu/mc' and '/usr/lib/mc' are the same file
cp: '/usr/lib/i386-linux-gnu/mime' and '/usr/lib/mime' are the same file
cp: '/usr/lib/i386-linux-gnu/openssl-1.0.2' and '/usr/lib/openssl-1.0.2' are the same file
cp: '/usr/lib/i386-linux-gnu/perl' and '/usr/lib/perl' are the same file
cp: '/usr/lib/i386-linux-gnu/perl-base' and '/usr/lib/perl-base' are the same file
cp: '/usr/lib/i386-linux-gnu/perl5' and '/usr/lib/perl5' are the same file
cp: '/usr/lib/i386-linux-gnu/pkgconfig' and '/usr/lib/pkgconfig' are the same file
cp: '/usr/lib/i386-linux-gnu/pm-utils' and '/usr/lib/pm-utils' are the same file
cp: '/usr/lib/i386-linux-gnu/python2.7' and '/usr/lib/python2.7' are the same file
cp: '/usr/lib/i386-linux-gnu/python3' and '/usr/lib/python3' are the same file
cp: '/usr/lib/i386-linux-gnu/sasl2' and '/usr/lib/sasl2' are the same file
cp: '/usr/lib/i386-linux-gnu/ssl' and '/usr/lib/ssl' are the same file
cp: '/usr/lib/i386-linux-gnu/systemd' and '/usr/lib/systemd' are the same file
cp: '/usr/lib/i386-linux-gnu/tar' and '/usr/lib/tar' are the same file
cp: '/usr/lib/i386-linux-gnu/tmpfiles.d' and '/usr/lib/tmpfiles.d' are the same file
cp: '/usr/lib/i386-linux-gnu/urxvt' and '/usr/lib/urxvt' are the same file
cp: '/usr/lib/i386-linux-gnu/xorg' and '/usr/lib/xorg' are the same file
cp: '/usr/lib/i386-linux-gnu/xtables' and '/usr/lib/xtables' are the same file
cat: /root/.packages/ppm-mod-3.0.files: No such file or directory
Error: ppm-mod-3.0 may not have installed correctly.


the first time this happened the move wasn't complete and so I symlinked each folder that was moved to the new location with the following function:
/woof-next/woof-code/rootfs-packages/fix_symlinks/usr/bin/fix_symlinks

This time the whole i386-linux-gnu folder seems to be replaced with a symlink. I know this is standard puppy to do this but maybe there is a reason that Debian/Devaun creates the i386-linux-gnu folder (e.g. to separate architectures on multi architecture systems).

I don't see anything in the pinstall.sh script that would cause this move of directories but perhaps I'm missing something.

_________________
Find me on minds and on pearltrees.
Back to top
View user's profile Send private message Visit poster's website 
s243a

Joined: 02 Sep 2014
Posts: 2144

PostPosted: Fri 21 Jun 2019, 19:36    Post subject:  

In pupmode=5 (i.e. pfx=ram), I get the following error:

Code:

Free space error
This is a rare error that fails to report the available free space. It should be OK after a restart


Here is what I get for the free space on various mounts.

Code:

# df -m
Filesystem     1M-blocks  Used Available Use% Mounted on
tmpfs                500   381       120  77% /initrd/mnt/tmpfs
unionfs              500   381       120  77% /
/dev/loop0           164   164         0 100% /initrd/pup_ro2
/dev/loop1            20    20         0 100% /initrd/pup_f
/dev/loop2            24    24         0 100% /initrd/pup_z
tmpfs                  3     3         1  82% /initrd/files
devtmpfs             499     1       499   1% /dev
shmfs                192     0       192   0% /dev/shm


Note that:
/initrd/pup_rw -> /initrd/mnt/tmpfs/pup_rw

So in the following code perhaps /initrd/mnt/tmpfs should replace pup_rw:

lines 217 to 237 of /usr/local/petget/installmodes.sh
Code:

if [ ! -f /tmp/pup_event_sizefreem ]; then
  /usr/local/pup_event/frontend_timeout &
  sleep 1
  if [ ! -f /tmp/pup_event_sizefreem ]; then
   . /etc/rc.d/PUPSTATE
   case $PUPMODE in
    2) AVAILABLE=$(df -m | grep / | head -n 1 | awk '{print $4}');;
    5|6) AVAILABLE=$(df -m | grep pup_rw | awk '{print $4}');;
    7|13) AVAILABLE=$(df -m | grep pup_ro1 | awk '{print $4}');;
    12) AVAILABLE=$(df -m | grep pup_rw | awk '{print $4}')
      [ "$AVAILABLE" = "" ] && AVAILABLE=$(df -m | grep dev_save | awk '{print $4}');;
   esac
   if [ ! "$AVAILABLE" ]; then
    echo "Free space estimation error. Exiting" > /tmp/petget-proc/petget/install_status
   . /usr/lib/gtkdialog/box_ok "$(gettext 'Free space error')" error "$(gettext 'This is a rare error that fails to report the available free space. It should be OK after a restart')"
   clean_up
   exit 1
   else
   AVAILABLE="$AVAILABLE"
   fi
  else



but it is possible that something here is a quirk of my woof-nex build of tiny tiny_puduan_ascii

I'm going to make the change and see what happens. This issue comes up in my qemu test, prior to creating a save folder/file.

If we base the free space on tmpfs, I wonder if we should require a certain margin of free space.

_________________
Find me on minds and on pearltrees.
Back to top
View user's profile Send private message Visit poster's website 
s243a

Joined: 02 Sep 2014
Posts: 2144

PostPosted: Sat 22 Jun 2019, 00:47    Post subject:  

s243a wrote:
In pupmode=5 (i.e. pfx=ram), I get the following error:

Code:

Free space error
This is a rare error that fails to report the available free space. It should be OK after a restart


Here is what I get for the free space on various mounts.

Code:

# df -m
Filesystem     1M-blocks  Used Available Use% Mounted on
tmpfs                500   381       120  77% /initrd/mnt/tmpfs
unionfs              500   381       120  77% /
/dev/loop0           164   164         0 100% /initrd/pup_ro2
/dev/loop1            20    20         0 100% /initrd/pup_f
/dev/loop2            24    24         0 100% /initrd/pup_z
tmpfs                  3     3         1  82% /initrd/files
devtmpfs             499     1       499   1% /dev
shmfs                192     0       192   0% /dev/shm


Note that:
/initrd/pup_rw -> /initrd/mnt/tmpfs/pup_rw

So in the following code perhaps /initrd/mnt/tmpfs should replace pup_rw:

lines 217 to 237 of /usr/local/petget/installmodes.sh
Code:

if [ ! -f /tmp/pup_event_sizefreem ]; then
  /usr/local/pup_event/frontend_timeout &
  sleep 1
  if [ ! -f /tmp/pup_event_sizefreem ]; then
   . /etc/rc.d/PUPSTATE
   case $PUPMODE in
    2) AVAILABLE=$(df -m | grep / | head -n 1 | awk '{print $4}');;
    5|6) AVAILABLE=$(df -m | grep pup_rw | awk '{print $4}');;
    7|13) AVAILABLE=$(df -m | grep pup_ro1 | awk '{print $4}');;
    12) AVAILABLE=$(df -m | grep pup_rw | awk '{print $4}')
      [ "$AVAILABLE" = "" ] && AVAILABLE=$(df -m | grep dev_save | awk '{print $4}');;
   esac
   if [ ! "$AVAILABLE" ]; then
    echo "Free space estimation error. Exiting" > /tmp/petget-proc/petget/install_status
   . /usr/lib/gtkdialog/box_ok "$(gettext 'Free space error')" error "$(gettext 'This is a rare error that fails to report the available free space. It should be OK after a restart')"
   clean_up
   exit 1
   else
   AVAILABLE="$AVAILABLE"
   fi
  else



but it is possible that something here is a quirk of my woof-nex build of tiny tiny_puduan_ascii

I'm going to make the change and see what happens. This issue comes up in my qemu test, prior to creating a save folder/file.

If we base the free space on tmpfs, I wonder if we should require a certain margin of free space.



I added the if block after the case statement here in the event that the case statement fails to identify the available space:
Code:

  if [ ! -f /tmp/pup_event_sizefreem ]; then
   . /etc/rc.d/PUPSTATE
   case $PUPMODE in
    2) AVAILABLE=$(df -m | grep / | head -n 1 | awk '{print $4}');;
    5|6) AVAILABLE=$(df -m | grep pup_rw | awk '{print $4}');;
    7|13) AVAILABLE=$(df -m | grep pup_ro1 | awk '{print $4}');;
    12) AVAILABLE=$(df -m | grep pup_rw | awk '{print $4}')
      [ "$AVAILABLE" = "" ] && AVAILABLE=$(df -m | grep dev_save | awk '{print $4}');;
   esac
   if [ "$AVAILABLE" = "" ]; then #s243a: stuff to try if the above fails.
     case $PUPMODE in
     13|12) AVAILABLE=$(df -m | grep "$(mount | grep dev_save | cut -d' ' -f1)" \
                               | awk '{print $4}') ;;
     5) AVAILABLE=$(df -m | grep '/initrd/mnt/tmpfs' | awk '{print $4}');;
     esac
   fi

I'm testing this now. I'm not sure if this is a quirk in my system or a result of some change to woof-CE.

_________________
Find me on minds and on pearltrees.
Back to top
View user's profile Send private message Visit poster's website 
s243a

Joined: 02 Sep 2014
Posts: 2144

PostPosted: Sat 22 Jun 2019, 11:02    Post subject:  

I had a similar type of error in pupmode 13 (ii.e. usb flash mode) where I probably repoted in the wrong spot:
http://murga-linux.com/puppy/viewtopic.php?p=1030795#1030795

The issue was that the package manager was copying files to /initrd/pup_ro1 which shouldn't exist in pupmod 13.

I quick search give the /usr/local/petget folder, shows several places where the pup_ro1 string shows up.

Code:

# grep -rn . -e 'pup_ro1'
./configure.sh:63:   if [ -L /initrd/pup_ro1 ]; then
./configure.sh:66:    SIZEFREEM=`df -m | grep ' /initrd/pup_ro1$' | tr -s ' ' | cut -f 4 -d ' '`
./installed_size_preview.sh:45:   if [ -L /initrd/pup_ro1 ]; then
./installed_size_preview.sh:48:    SIZEFREEM=`df -m | grep ' /initrd/pup_ro1$' | tr -s ' ' | cut -f 4 -d ' '`
./installmodes.sh:224:    7|13) AVAILABLE=$(df -m | grep pup_ro1 | awk '{print $4}');;
./petget:237:   if [ -L /initrd/pup_ro1 ]; then
./petget:240:    SIZEFREEM=`df -m | grep ' /initrd/pup_ro1$' | tr -s ' ' | cut -f 4 -d ' '`
./pkg_chooser.sh:38:   if [ -L /initrd/pup_ro1 ]; then
./pkg_chooser.sh:41:    SIZEFREEM=`df -m | grep ' /initrd/pup_ro1$' | tr -s ' ' | cut -f 4 -d ' '`
./removepreview.sh:131:    Sx=$(echo $ALLF | grep -v '^/initrd/pup_ro1/')
./removepreview.sh:134:     S=$(ls /initrd/pup_{a,y}"$ONESPEC" 2>/dev/null| grep -v '^/initrd/pup_ro1/'| tail -n 1)
./removepreview.sh:136:     S=$(ls /initrd/pup_ro{?,??}"$ONESPEC" 2>/dev/null| grep -v '^/initrd/pup_ro1/'| head -n 1)
./removepreview.sh:163:      [ -f "/initrd${SAVE_LAYER}${ONESPEC}" ] && rm -f "/initrd${SAVE_LAYER}${ONESPEC}" #normally /pup_ro1

_________________
Find me on minds and on pearltrees.
Back to top
View user's profile Send private message Visit poster's website 
sc0ttman


Joined: 16 Sep 2009
Posts: 2741
Location: UK

PostPosted: Sun 23 Jun 2019, 12:52    Post subject:  

s243a wrote:
I'm not sure if the following is being done by ppm v3.0 or sc0tmann's pkg but some process seems to be moving all my files out of the /usr/lib/i386-linux-gnu/ folder....

...This time the whole i386-linux-gnu folder seems to be replaced with a symlink. I know this is standard puppy to do this but maybe there is a reason that Debian/Devaun creates the i386-linux-gnu folder (e.g. to separate architectures on multi architecture systems).

Maybe pkg and PPM..? Don't quote me on that..

But this code in Pkg expects a symlink:

Code:
# cat /usr/sbin/pkg | grep -A10 -B2 '\-linux-gnu'
    # fix the symlinks to lib dirs - the linux-gnu-* dirs are symlinks in puppy,
    # so make sure we dont replace them with dirs (or programs won't load)
    for libdir in i386-linux-gnu i486-linux-gnu i586-linux-gnu i686-linux-gnu amd64-linux-gnu
    do
      if [ -d $BUILD_DIR/${PARENTPKG}-${SUFFIX}/usr/lib/${libdir}/ ];then
        mv -n -u $BUILD_DIR/${PARENTPKG}-${SUFFIX}/usr/lib/${libdir}/* $BUILD_DIR/${PARENTPKG}-${SUFFIX}/usr/lib/
        cd $BUILD_DIR/${PARENTPKG}-${SUFFIX}/usr/lib
        rmdir ${libdir}/
        ln -s ${libdir}/ .
        cd -
      fi
    done

_________________
Pkg, mdsh, Woofy, Akita, VLC-GTK, Search
Back to top
View user's profile Send private message 
sc0ttman


Joined: 16 Sep 2009
Posts: 2741
Location: UK

PostPosted: Sun 23 Jun 2019, 13:51    Post subject:  

BTW ...
(and sorry mistfire for polluting your thread with Pkg stuff)

s243a wrote:
Code:

/ # pkg -i -f ppm-mod-3.0.pet
ash: -f: unknown operand


Use

Code:
pkg --install ppm-mod-3.0.pet -f
or
Code:
pkg install ppm-mod-3.0.pet -f


The important thing:

The --ask|-a and --force|-f commands must precede all other options and commands, or they can go last... due to my crappy coding (IIRC)..

Eg

pkg --ask --force --install ppm-mod-3.0.pet

or

pkg --ask --force install ppm-mod-3.0.pet

(you can omit the double dash for the commands if u prefer)

Or... using the short (less readable) options/commands:

pkg -a -f i mod-ppm-3.0.pet

_________________
Pkg, mdsh, Woofy, Akita, VLC-GTK, Search
Back to top
View user's profile Send private message 
s243a

Joined: 02 Sep 2014
Posts: 2144

PostPosted: Wed 26 Jun 2019, 00:46    Post subject:  

sc0ttman wrote:
s243a wrote:
I'm not sure if the following is being done by ppm v3.0 or sc0tmann's pkg but some process seems to be moving all my files out of the /usr/lib/i386-linux-gnu/ folder....

...This time the whole i386-linux-gnu folder seems to be replaced with a symlink. I know this is standard puppy to do this but maybe there is a reason that Debian/Devaun creates the i386-linux-gnu folder (e.g. to separate architectures on multi architecture systems).

Maybe pkg and PPM..? Don't quote me on that..

But this code in Pkg expects a symlink:



Your are correct. This is related to the "muti-arch hack" of the puppy package manager. I oppened an issue on github to discuss whether said muti-arch hack is a good or bad thing:

https://github.com/puppylinux-woof-CE/woof-CE/issues/1475

_________________
Find me on minds and on pearltrees.
Back to top
View user's profile Send private message Visit poster's website 
Display posts from previous:   Sort by:   
Page 6 of 6 [86 Posts]   Goto page: Previous 1, 2, 3, 4, 5, 6
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » System
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1004s ][ Queries: 12 (0.0258s) ][ GZIP on ]