GithubHelp home page GithubHelp logo

Spelling error about pacback HOT 2 CLOSED

justintimperio avatar justintimperio commented on June 5, 2024
Spelling error

from pacback.

Comments (2)

JustinTimperio avatar JustinTimperio commented on June 5, 2024

Thanks for submitting this. God knows home many spelling mistakes are in this repo LOL

There were a number of packages reported as not found at time of creating a restore point. What does it mean? The packages are installed, so pacback didn't find older versions in the older packages folder (the \cache\pkg folder in Arch)?

Yes basically, but its a little more complicated than that. So let's say you install the package tree from core. All 'official' packages, meaning packages in the core, extra, and community repos, must be packaged using the official formatting guides defined here. This is basically the universal standard for compiling a package into a .pkg.tar.zst.

You create a package using the something called a 'PKGBUILD' file and a utility called makepkg which uses the information in the PKGBUILD file to generate a .pkg.tar.zst. When you install tree, pacman downloads the tree-1.8.0-2-x86_64.pkg.tar.zst package and places it in /var/cache/pacman/pkg/. 99% of the time pacback will find any package you have installed from the standard repos because of this standard. (1% of time they get removed by accident or something)

Packages you install from the AUR are way more hit or miss though. If you look at the bottom of the page you'll see this warning. 'AUR packages are user produced content. Any use of the provided files is at your own risk.' This is very true and there is tons of garbage on the AUR and a lot of times, packagers(like myself) make mistakes or don't follow standards.

Personally I am extremely careful to follow the guidelines and make sure my packages follow the standard convention. When you install pacback using yay, yay downloads the 'PKGBUILD' from the AUR then builds the package using makepkg in your user cache, (/home/kinleyd/.cache/yay/pacback), then installs it with pacman -U. This means for every package version I release, there is a one to one correspondence in version and 'packback_version.pkg.tar.zst' on the file system. This is how packages should be created and installed on the system.

The issue is many AUR packages don't follow this standard and use the build package as basically a way to download and deploy install scripts that just copy the files in place, without ever using makepkg to generate a real .pkg.tar.zst. In this case when pacback looks in '/home/kinleyd/.cache/yay/somebadpkg' it can't find a real package to store or restore.

Because of this, all pacback can do is just let you know that it can't find some package version that has been changed on your system. Additionally, in some cases, these packages will be cleaned since they aren't essential to keep on your system.

I apologize for the long-winded answer but packaging standards are super lengthy and unfortunately not consistent in places.

from pacback.

kinleyd avatar kinleyd commented on June 5, 2024

Hey, thanks for the detailed and helpful explanation. Yes, many/most of the packages listed there were from the AUR, so that makes sense.

Regards,

from pacback.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.