Petget bug

Moderator: Forum moderators

Post Reply
debianfan
Posts: 60
Joined: Wed Dec 01, 2021 4:44 am
Has thanked: 9 times
Been thanked: 2 times

Petget bug

Post by debianfan »

Petget has a major issue, such as software:
Puppy-1.pet, puppy-ad-1.pet, puppy-af-3.pet
Wait for the same software package in the front, and the content in the front will be replaced after installation. The reason is unknown, whether it is a different version of the software or multiple branches of a certain software, installation errors will occur

User avatar
bigpup
Moderator
Posts: 6993
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 911 times
Been thanked: 1528 times

Re: Petget bug

Post by bigpup »

What is Puppy-1.pet, puppy-ad-1.pet, puppy-af-3.pet?

The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

debianfan
Posts: 60
Joined: Wed Dec 01, 2021 4:44 am
Has thanked: 9 times
Been thanked: 2 times

Re: Petget bug

Post by debianfan »

bigpup wrote: Thu Nov 16, 2023 2:59 pm

What is Puppy-1.pet, puppy-ad-1.pet, puppy-af-3.pet?

Give an example to illustrate.
For example, if you install firefox-101 and then install firefox-101-icon, a software package with the same name as the previous one will disappear and cause errors.
Similar pet packages can cause errors during installation:
For example:
If you install chrome 102 pet and then chrome lib-103, there will be an error in the previous one

User avatar
mikeslr
Posts: 2963
Joined: Mon Jul 13, 2020 11:08 pm
Has thanked: 178 times
Been thanked: 917 times

Re: Petget bug

Post by mikeslr »

debianfan wrote: Fri Nov 17, 2023 3:49 am

...
If you install chrome 102 pet and then chrome lib-103, there will be an error in the previous one

Patient to Dr. Kronkheit, "It hurts when I do this".
Dr. Kronkheit, "Don't do that."
Part of the skit @ https://www.youtube.com/watch?v=5_KlLzbbxJ8. Sorry, the sound could be better.

Everything involves a trade-off. AFAIK, bookworm's synaptic can be used to upgrade a Web-browser (indeed any application) but only if the earlier version was installed using synaptic or radky provided it from Bookworm's repos such that synaptic could be used to update versions and only if bookworm's repos now offers the updated version. And then, of course, you end up with only one version; the updated one.

Puppy Package Manager could never be used to 'update' an application. Unlike synaptic, PPM does not 'remove' old, no longer needed, libraries. Remember, the files from 'built-ins' are copied into RAM from READ-ONLY file-systems on storage. Depending on how the two versions are NAMED and structured, you either end up with the update (being in your SaveFile/Folder) having priority with the old version being completely ignored; two functional versions; or both versions on your Menu, but the old version now broken because it can't use the new version's libraries which have priority.

If you want more than one version of an application use portables. They are independent of each other. Most can be updated. Before updating Right-Click the folder of the old portable and select 'Duplicate'. Give the duplicate a new name. You won't be able to use the menuadd script OOTB: both verions copy identically named desktop files and create identically named and located symbolic link. You can edit the menuadd scipt (and the files it uses) or otherwise arrange for there to be differently named symbolic links and differently named and fleshed-out /usr/share/applications desktop files.

debianfan
Posts: 60
Joined: Wed Dec 01, 2021 4:44 am
Has thanked: 9 times
Been thanked: 2 times

Re: Petget bug

Post by debianfan »

mikeslr wrote: Fri Nov 17, 2023 8:05 pm
debianfan wrote: Fri Nov 17, 2023 3:49 am

...
If you install chrome 102 pet and then chrome lib-103, there will be an error in the previous one

Patient to Dr. Kronkheit, "It hurts when I do this".
Dr. Kronkheit, "Don't do that."
Part of the skit @ https://www.youtube.com/watch?v=5_KlLzbbxJ8. Sorry, the sound could be better.

Everything involves a trade-off. AFAIK, bookworm's synaptic can be used to upgrade a Web-browser (indeed any application) but only if the earlier version was installed using synaptic or radky provided it from Bookworm's repos such that synaptic could be used to update versions and only if bookworm's repos now offers the updated version. And then, of course, you end up with only one version; the updated one.

Puppy Package Manager could never be used to 'update' an application. Unlike synaptic, PPM does not 'remove' old, no longer needed, libraries. Remember, the files from 'built-ins' are copied into RAM from READ-ONLY file-systems on storage. Depending on how the two versions are NAMED and structured, you either end up with the update (being in your SaveFile/Folder) having priority with the old version being completely ignored; two functional versions; or both versions on your Menu, but the old version now broken because it can't use the new version's libraries which have priority.

If you want more than one version of an application use portables. They are independent of each other. Most can be updated. Before updating Right-Click the folder of the old portable and select 'Duplicate'. Give the duplicate a new name. You won't be able to use the menuadd script OOTB: both verions copy identically named desktop files and create identically named and located symbolic link. You can edit the menuadd scipt (and the files it uses) or otherwise arrange for there to be differently named symbolic links and differently named and fleshed-out /usr/share/applications desktop files.

Not usable, for example:
Endless sky_ 0.10.4.pet, endless sky high dpi_ 0.10.4.pet
When installing one of these two pet packages, the one in the back and the one in the front will become invalid
Unable to use normally, many software with the same name have problems

User avatar
rockedge
Site Admin
Posts: 6545
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2749 times
Been thanked: 2625 times
Contact:

Re: Petget bug

Post by rockedge »

I am confused as to what the bug is :?: So you are installing via petget a package that is basically a newer (different) version of the one installed? That PPM is overwriting portions of the originally installed version rendering it inoperable?

debianfan
Posts: 60
Joined: Wed Dec 01, 2021 4:44 am
Has thanked: 9 times
Been thanked: 2 times

Re: Petget bug

Post by debianfan »

rockedge wrote: Thu Nov 30, 2023 3:41 pm

I am confused as to what the bug is :?: So you are installing via petget a package that is basically a newer (different) version of the one installed? That PPM is overwriting portions of the originally installed version rendering it inoperable?

Pack two pieces of content yourself, pet, for example, one of them is called:
Endless sky_ 0.10.4.pet, another one is called endless sky high dpi_ 0.10.4.pet.
Install the previous one first, then the last one, and the content of the previous pet will disappear.
You can easily test it yourself to confirm that even the pet with the same name in the front will disappear during installation, and only the content of one of the several front names can be preserved.
Please give it a try and it will be clear

mistfire
Posts: 718
Joined: Thu Jul 16, 2020 2:16 am
Location: CALABARZON, PH
Has thanked: 3 times
Been thanked: 173 times

Re: Petget bug

Post by mistfire »

debianfan wrote: Sat Dec 02, 2023 2:10 am
rockedge wrote: Thu Nov 30, 2023 3:41 pm

I am confused as to what the bug is :?: So you are installing via petget a package that is basically a newer (different) version of the one installed? That PPM is overwriting portions of the originally installed version rendering it inoperable?

Pack two pieces of content yourself, pet, for example, one of them is called:
Endless sky_ 0.10.4.pet, another one is called endless sky high dpi_ 0.10.4.pet.
Install the previous one first, then the last one, and the content of the previous pet will disappear.
You can easily test it yourself to confirm that even the pet with the same name in the front will disappear during installation, and only the content of one of the several front names can be preserved.
Please give it a try and it will be clear

That means the package name in the package metadata against package name in the installed package database was the same. PPM will simply replace the installed package with other one if the package name from the package metadata and the package name of installed package was the same. To avoid this, you must extract the pet package, edit the second column on pet.specs file with a different package name then build it as pet package again. Just renaming the filename of pet package wont work

User avatar
BarryK
Posts: 2692
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 132 times
Been thanked: 738 times

Re: Petget bug

Post by BarryK »

debianfan wrote: Thu Nov 16, 2023 11:11 am

Petget has a major issue, such as software:
Puppy-1.pet, puppy-ad-1.pet, puppy-af-3.pet
Wait for the same software package in the front, and the content in the front will be replaced after installation. The reason is unknown, whether it is a different version of the software or multiple branches of a certain software, installation errors will occur

I'm running EasyOS, and petget has diverged somewhat, but is still the same principle.

I created two pets to test, and there is no problem.
Installing the testpet then testpet-other does not affect the first one.

testpet has /usr/bin/testpet script.
testpet-other has /usr/bin/testpet-other script.

Attachments
testpet-other-1.pet
(352 Bytes) Downloaded 30 times
testpet-1.pet
(343 Bytes) Downloaded 27 times
debianfan
Posts: 60
Joined: Wed Dec 01, 2021 4:44 am
Has thanked: 9 times
Been thanked: 2 times

Re: Petget bug

Post by debianfan »

BarryK wrote: Sat Dec 02, 2023 10:46 am
debianfan wrote: Thu Nov 16, 2023 11:11 am

Petget has a major issue, such as software:
Puppy-1.pet, puppy-ad-1.pet, puppy-af-3.pet
Wait for the same software package in the front, and the content in the front will be replaced after installation. The reason is unknown, whether it is a different version of the software or multiple branches of a certain software, installation errors will occur

I'm running EasyOS, and petget has diverged somewhat, but is still the same principle.

I created two pets to test, and there is no problem.
Installing the testpet then testpet-other does not affect the first one.

testpet has /usr/bin/testpet script.
testpet-other has /usr/bin/testpet-other script.

Your two pet tests are normal, is there a problem with Bookworm Pup64's/usr/bin/makepet? Is the installation of the packaged pet using it causing an error in the approximate name?

debianfan
Posts: 60
Joined: Wed Dec 01, 2021 4:44 am
Has thanked: 9 times
Been thanked: 2 times

Re: Petget bug

Post by debianfan »

BarryK wrote: Sat Dec 02, 2023 10:46 am
debianfan wrote: Thu Nov 16, 2023 11:11 am

Petget has a major issue, such as software:
Puppy-1.pet, puppy-ad-1.pet, puppy-af-3.pet
Wait for the same software package in the front, and the content in the front will be replaced after installation. The reason is unknown, whether it is a different version of the software or multiple branches of a certain software, installation errors will occur

I'm running EasyOS, and petget has diverged somewhat, but is still the same principle.

I created two pets to test, and there is no problem.
Installing the testpet then testpet-other does not affect the first one.

testpet has /usr/bin/testpet script.
testpet-other has /usr/bin/testpet-other script.

Your two pets cannot be reinstalled after installation. The attachments can be reinstalled after installation. What is the error? Due to the large capacity of these two pets, they cannot be uploaded as a whole.
But the reason for the error should be in pet.specs, which was packaged with makepet. Where did it cause the problem?

Attachments
endless-sky-high-dpi_0.10.4.pet
(288 Bytes) Downloaded 23 times
endless-sky_0.10.4.pet
(283 Bytes) Downloaded 18 times
debianfan
Posts: 60
Joined: Wed Dec 01, 2021 4:44 am
Has thanked: 9 times
Been thanked: 2 times

Re: Petget bug

Post by debianfan »

There is no makepet script in the easy-5.6.4 system, so it is uncertain what the reason is

Make sure it's the pet problem created by the makepet script. I used the same script from another puppy to make the pet and it worked fine

User avatar
bigpup
Moderator
Posts: 6993
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 911 times
Been thanked: 1528 times

Re: Petget bug

Post by bigpup »

This bug was reported under the Bookworm Pup64 section of the forum.

So we must assume it is a bug when used in Bookworm Pup64.

Everyone needs to be doing any testing or fixing for running in Bookworm Pup64.

In Bookworm Pup64, I know for sure that software installing is not the same as other Puppy versions.

It seems to be more setup to supporting apt for doing software downloads and installs.

The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

radky
Posts: 355
Joined: Fri May 28, 2021 2:14 am
Has thanked: 41 times
Been thanked: 320 times

Re: Petget bug

Post by radky »

debianfan wrote: Sat Dec 02, 2023 2:10 am

Pack two pieces of content yourself, pet, for example, one of them is called:
Endless sky_ 0.10.4.pet, another one is called endless sky high dpi_ 0.10.4.pet.
Install the previous one first, then the last one, and the content of the previous pet will disappear.

@debianfan

The dir2pet utility creates metadata for the pet.specs file, such as the following for your two example packages:

package1: endless-sky_0.10.4.pet
package1 pet.specs: endless-sky_0.10.4|endless|sky_0.10.4||BuildingBlock|0K||endless-sky_0.10.4.pet||no description provided||||

package2: endless-sky-high-dpi_0.10.4.pet
package2 pet.specs: endless-sky-high-dpi_0.10.4|endless|sky-high-dpi_0.10.4||BuildingBlock|0K||endless-sky-high-dpi_0.10.4.pet||no description provided||||

When dir2pet creates a new pet package from a source directory that has no prior pet.specs file, a new pet.specs file is created and dir2pet assumes the hyphen character (-) will separate the 2nd field (nameonly) from the package version number.

However, in your examples above, the source name uses the underscore character (_) preceding the version number. Consequently, in your case, dir2pet incorrectly identifies the 2nd field (nameonly) of package1 and package2. Specifically, the 2nd-field metadata (endless) is identical for package1 and package2 -- and this may confuse the Puppy Package Manager when you install both package1 and package2.

To avoid the confusion, when creating new pet packages from source, please use the hyphen character (-) to separate the source name and version number (and in your examples above, make sure you have removed the old corrupt pet.specs files which have identical 2nd-field metadata).

Please recreate the pet packages after you (1) rename the source directories as shown below and (2) remove the old corrupt pet.spec files:

endless-sky-0.10.4
endless-sky-high-dpi-0.10.4

debianfan
Posts: 60
Joined: Wed Dec 01, 2021 4:44 am
Has thanked: 9 times
Been thanked: 2 times

Re: Petget bug

Post by debianfan »

radky wrote: Sun Dec 03, 2023 7:44 pm
debianfan wrote: Sat Dec 02, 2023 2:10 am

Pack two pieces of content yourself, pet, for example, one of them is called:
Endless sky_ 0.10.4.pet, another one is called endless sky high dpi_ 0.10.4.pet.
Install the previous one first, then the last one, and the content of the previous pet will disappear.

@debianfan

The dir2pet utility creates metadata for the pet.specs file, such as the following for your two example packages:

package1: endless-sky_0.10.4.pet
package1 pet.specs: endless-sky_0.10.4|endless|sky_0.10.4BuildingBlock|0Kendless-sky_0.10.4.petno description provided||

package2: endless-sky-high-dpi_0.10.4.pet
package2 pet.specs: endless-sky-high-dpi_0.10.4|endless|sky-high-dpi_0.10.4BuildingBlock|0Kendless-sky-high-dpi_0.10.4.petno description provided||

When dir2pet creates a new pet package from a source directory that has no prior pet.specs file, a new pet.specs file is created and dir2pet assumes the hyphen character (-) will separate the 2nd field (nameonly) from the package version number.

However, in your examples above, the source name uses the underscore character (_) preceding the version number. Consequently, in your case, dir2pet incorrectly identifies the 2nd field (nameonly) of package1 and package2. Specifically, the 2nd-field metadata (endless) is identical for package1 and package2 -- and this may confuse the Puppy Package Manager when you install both package1 and package2.

To avoid the confusion, when creating new pet packages from source, please use the hyphen character (-) to separate the source name and version number (and in your examples above, make sure you have removed the old corrupt pet.specs files which have identical 2nd-field metadata).

Please recreate the pet packages after you (1) rename the source directories as shown below and (2) remove the old corrupt pet.spec files:

endless-sky-0.10.4
endless-sky-high-dpi-0.10.4

I usually use makepet, which can be directly packaged in a folder. Do you have an updated and improved makepet?

radky
Posts: 355
Joined: Fri May 28, 2021 2:14 am
Has thanked: 41 times
Been thanked: 320 times

Re: Petget bug

Post by radky »

debianfan wrote: Fri Dec 08, 2023 12:28 am

I usually use makepet, which can be directly packaged in a folder. Do you have an updated and improved makepet?

@debianfan

In BW64, you can easily create a pet package by using the ROX right-click menu:

Specifically, in ROX-Filer, simply right-click the source directory which will be included in your pet package, then click the dir2pet context menu option and fill in the popup dialog box (Package database-entry creator).

--

Alternatively, BW64 also includes the small makepet script (created by forum member Stu90) which functions as a simple wrapper script that redirects the input source directory to the comprehensive dir2pet utility for creation of the pet package.

If the makepet wrapper script is your preference, simply use ROX-Filer to drag-and-drop /usr/bin/makepet onto the desktop. Then you can drag-and-drop your source directory onto the desktop makepet icon. This will call dir2pet to create the pet package.

User avatar
mikeslr
Posts: 2963
Joined: Mon Jul 13, 2020 11:08 pm
Has thanked: 178 times
Been thanked: 917 times

Re: Petget bug

Post by mikeslr »

This is not unique to Bookworm. And I wouldn't call it a bug; but it is an inconvenience which you have to know about and overcome.

When a pet is created within that pet is a file named pet.specs. If, in creating a pet using a pet which already has a pet.specs file --whether updating or as a template-- you fail to delete the existing pet.specs file it will be used "AS-IS" by the new pet. This may or may not result in an installable pet. But among the other problems this generates is that the new pet can not be used in applications such as PaDS, https://www.forum.puppylinux.com/viewto ... 6355#p6355 which use the 'arguments' in pet.specs to combine pets.

The issue isn't encountered when creating pets 'from scratch': no existing pet.specs file.

The workaround is "Don't do that": i.e. delete the existing pet.specs file before using makepet or dir2pet. But it would be better if there were a line or two in dir2pet and makepet which tested for the existence of a pet.specs file and finding one deleted it before creating the new pet.

Post Reply

Return to “BookwormPup”