Pamac CLI

pamac

#21

And pacman has the same option too, no? Willy nilly use of any system tool is bound to cause issues. I would not replace pacman with pamac, but I don’t think ability to remove orphans is a valid argument against its inclusion.


#22

Oh - you misread me - I am not against it - I love it for the simplicity - I merely point out some things to be aware of.

Yes pacman has the same options but they require you to explict declare them as -Rns whereas the pamac command will just remove all orphans if a pkg name is not supplied and that could cause trouble when used blindly.

Lets say

  • one has removed the openbox core meta pkg.

  • later removes second package without --orphans option

  • discovers some second package dependencies and decides to remove orphans this time without the pkg name.

    pamac remove --orphans

As I understand the cli this will remove orphans for both the meta pkg and the second pkg.

It is that scenario I question.


#23

Know that you can also run pamac list --orphans to see all orphans without removing them.


#24

Thanks - I knew that - have been all over - and I really like it for it simplicity.

The addition of the cli is a textbook example of using modularity when coding as I assume you are using the already present pamac modules to do the source fetching and compilation but now called from the cli instead of point and click.

:+1: - I think it is great.

I think it is a great addition to the pamac family :slight_smile:


#25

#26

Commented on gitlab. You do know that firefox-developer-edition is in the community repo right?
And sublime-text-dev is only in AUR.


#27

Now you mention it - I remember, just used to it was in AUR.


#28

I also added my failure on the issue, it may relate.
I could not upgrade AUR packages (focuswriter was the 1st and failed).
I am now trying to upgrade with pacui to see if it succeeds.

Edit: pacui upgraded with no errors (and a really changed way :face_with_raised_eyebrow: )


#29

Pretty bizarre. Unless those people enabled the option I mentioned in my previous post, it should not have happened.

In normal circumstances, unless told so, Pamac doesn’t automatically removes unneeded dependencies along with the package you want to remove.

Well, it is a pretty common task to do once in a while to clean up the system.

That is more an inherent drawback of using meta-packages instead of explicitly ships the ISO image with those 25 packages than a real flaw in Pamac’s core design.


#30

You are right about the drawback of using meta-packages.

That has changed for the same reason.

Of course I cannot know if they did enable that option. And I have neglected to check up in the users claims.

So after testing it more thorough on my own system - I conclude you are right that pamac does exhibit the behavior of moving directly installed dependencies - unless you enable it in the settings.

I should I have verified for myself the claims made.


#31

Probably did something wrong?

[robin0800@robins-desktop ~]$ pamac build glee
To build (1):
  glee                                  5.4.0-4                                 

Commit transaction ? [y/N] y

==== AUTHENTICATING FOR org.manjaro.pamac.commit ====
Authentication is required
Authenticating as: Robin Wheeler (robin0800)
Password: 
==== AUTHENTICATION COMPLETE ====
Building glee...
Cloning into 'glee'...
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 11 (delta 1), reused 11 (delta 1)
Unpacking objects: 100% (11/11), done.
==> Making package: glee 5.4.0-4 (Sun 22 Jul 2018 20:20:15 BST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading GLee-5.4.0-src.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  263k  100  263k    0     0  1495k      0 --:--:-- --:--:-- --:--:-- 1495k
  -> Found glee.pc
  -> Found Makefile
==> Validating source files with sha512sums...
    GLee-5.4.0-src.tar.gz ... Passed
    glee.pc ... Passed
    Makefile ... Passed
==> Extracting sources...
  -> Extracting GLee-5.4.0-src.tar.gz with bsdtar
==> Starting build()...
cc -o GLee.shared.o -c GLee.c -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -D_FORTIFY_SOURCE=2 -fPIC
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -D_FORTIFY_SOURCE=2 -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -shared \
	-Wl,-soname,libGLee.so.5 \
	-o libGLee.so.5.4 \
	GLee.shared.o -o libGLee.so.5.4 -lGL
rm -f libGLee.so.5
ln -s libGLee.so.5.4 libGLee.so.5
rm -f libGLee.so
ln -s libGLee.so.5 libGLee.so
==> Entering fakeroot environment...
==> Starting package()...
install -d "/tmp/pamac-build-robin0800/glee/pkg/glee/usr/lib/"
cp -a *.so* "/tmp/pamac-build-robin0800/glee/pkg/glee/usr/lib/"
install -d "/tmp/pamac-build-robin0800/glee/pkg/glee/usr/include/"
install -Dm644 *.h "/tmp/pamac-build-robin0800/glee/pkg/glee/usr/include/"
install -d "/tmp/pamac-build-robin0800/glee/pkg/glee/usr/lib/pkgconfig/"
install -Dm644 glee.pc "/tmp/pamac-build-robin0800/glee/pkg/glee/usr/lib/pkgconfig/"
install -d  "/tmp/pamac-build-robin0800/glee/pkg/glee/usr/share/licenses/glee"
sed '9,32!d' readme.txt > "/tmp/pamac-build-robin0800/glee/pkg/glee/usr/share/licenses/glee/LICENSE"
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "glee"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: glee 5.4.0-4 (Sun 22 Jul 2018 20:20:23 BST)
==> Cleaning up...

Error: Failed to prepare transaction: target not found: /tmp/pamac-build-robin0800/glee/glee-5.4.0-4-x86_64.pkg.tar.xz
[robin0800@robins-desktop ~]$ 

By the way glee-5.4.0-4-x86_64.pkg.tar.xz is where it says it is and can be installed with software install. Perhaps it fell over because glee already exists so needed to ask for reinstallation?


#32

This big should be fixed by the last commit on gitlab. Please wait for a pamac update.
@philm: can you package it ?


#33

@guinux: released as revision five.


#34

The revision 5 still does not work properly the extraction continues in a loop and keeps repeating.


#35

OK, it works now but creates an endless loop. So Pamac doesn’t detect when it finishes it :wink:

phil@development ~/dev/boxit-work/testing/community $ pamac --version
Pamac 6.4.0-5
phil@development ~/dev/boxit-work/testing/community $ pamac build glee
To build (1):
  glee                5.4.0-4               

Commit transaction ? [y/N] y

==== AUTHENTICATING FOR org.manjaro.pamac.commit ====
Authentication is required
Authenticating as: Philip Müller (phil)
Password: 
==== AUTHENTICATION COMPLETE ====
Building glee...
Cloning into 'glee'...
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 11 (delta 1), reused 11 (delta 1)
Unpacking objects: 100% (11/11), done.
==> Making package: glee 5.4.0-4 (Mo 23 Jul 2018 05:59:15 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading GLee-5.4.0-src.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  263k  100  263k    0     0   940k      0 --:--:-- --:--:-- --:--:--  940k
  -> Found glee.pc
  -> Found Makefile
==> Validating source files with sha512sums...
    GLee-5.4.0-src.tar.gz ... Passed
    glee.pc ... Passed
    Makefile ... Passed
==> Extracting sources...
  -> Extracting GLee-5.4.0-src.tar.gz with bsdtar
==> Starting build()...
cc -o GLee.shared.o -c GLee.c -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -D_FORTIFY_SOURCE=2 -fPIC
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -D_FORTIFY_SOURCE=2 -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -shared \
	-Wl,-soname,libGLee.so.5 \
	-o libGLee.so.5.4 \
	GLee.shared.o -o libGLee.so.5.4 -lGL
rm -f libGLee.so.5
ln -s libGLee.so.5.4 libGLee.so.5
rm -f libGLee.so
ln -s libGLee.so.5 libGLee.so
==> Entering fakeroot environment...
==> Starting package()...
install -d "/tmp/pamac-build-phil/glee/pkg/glee/usr/lib/"
cp -a *.so* "/tmp/pamac-build-phil/glee/pkg/glee/usr/lib/"
install -d "/tmp/pamac-build-phil/glee/pkg/glee/usr/include/"
install -Dm644 *.h "/tmp/pamac-build-phil/glee/pkg/glee/usr/include/"
install -d "/tmp/pamac-build-phil/glee/pkg/glee/usr/lib/pkgconfig/"
install -Dm644 glee.pc "/tmp/pamac-build-phil/glee/pkg/glee/usr/lib/pkgconfig/"
install -d  "/tmp/pamac-build-phil/glee/pkg/glee/usr/share/licenses/glee"
sed '9,32!d' readme.txt > "/tmp/pamac-build-phil/glee/pkg/glee/usr/share/licenses/glee/LICENSE"
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "glee"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: glee 5.4.0-4 (Mo 23 Jul 2018 05:59:22 CEST)
==> Cleaning up...

Warning: glee-5.4.0-4 ist aktuell -- Reinstalliere
Resolving dependencies...
Checking inter-conflicts...
Checking keyring...                                                        [1/1]
Checking integrity...                                                      [1/1]
Loading packages files...                                                  [1/1]
Checking file conflicts...                                                 [1/1]
Checking available disk space...                                           [1/1]
Reinstalling glee (5.4.0-4)...                                             [1/1]
Running post-transaction hooks:
Arming ConditionNeedsUpdate...                                             [1/1]

Building glee...
Cloning into 'glee'...
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 11 (delta 1), reused 11 (delta 1)
Unpacking objects: 100% (11/11), done.
==> Making package: glee 5.4.0-4 (Mo 23 Jul 2018 05:59:23 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading GLee-5.4.0-src.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  263k  100  263k    0     0  1078k      0 --:--:-- --:--:-- --:--:-- 1078k
  -> Found glee.pc
  -> Found Makefile
==> Validating source files with sha512sums...
    GLee-5.4.0-src.tar.gz ... Passed
    glee.pc ... Passed
    Makefile ... Passed
==> Extracting sources...
  -> Extracting GLee-5.4.0-src.tar.gz with bsdtar
==> Starting build()...
cc -o GLee.shared.o -c GLee.c -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -D_FORTIFY_SOURCE=2 -fPIC
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -D_FORTIFY_SOURCE=2 -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -shared \
	-Wl,-soname,libGLee.so.5 \
	-o libGLee.so.5.4 \
	GLee.shared.o -o libGLee.so.5.4 -lGL
rm -f libGLee.so.5
ln -s libGLee.so.5.4 libGLee.so.5
rm -f libGLee.so
ln -s libGLee.so.5 libGLee.so
==> Entering fakeroot environment...
==> Starting package()...
install -d "/tmp/pamac-build-phil/glee/pkg/glee/usr/lib/"
cp -a *.so* "/tmp/pamac-build-phil/glee/pkg/glee/usr/lib/"
install -d "/tmp/pamac-build-phil/glee/pkg/glee/usr/include/"
install -Dm644 *.h "/tmp/pamac-build-phil/glee/pkg/glee/usr/include/"
install -d "/tmp/pamac-build-phil/glee/pkg/glee/usr/lib/pkgconfig/"
install -Dm644 glee.pc "/tmp/pamac-build-phil/glee/pkg/glee/usr/lib/pkgconfig/"
install -d  "/tmp/pamac-build-phil/glee/pkg/glee/usr/share/licenses/glee"
sed '9,32!d' readme.txt > "/tmp/pamac-build-phil/glee/pkg/glee/usr/share/licenses/glee/LICENSE"
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "glee"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: glee 5.4.0-4 (Mo 23 Jul 2018 05:59:29 CEST)
==> Cleaning up...

Warning: glee-5.4.0-4 ist aktuell -- Reinstalliere
Resolving dependencies...
Checking inter-conflicts...
Checking keyring...                                                        [1/1]
Checking integrity...                                                      [1/1]
Loading packages files...                                                  [1/1]
Checking file conflicts...                                                 [1/1]
Checking available disk space...                                           [1/1]
Reinstalling glee (5.4.0-4)...                                             [1/1]
Running post-transaction hooks:
Arming ConditionNeedsUpdate...                                             [1/1]

Building glee...
Cloning into 'glee'...
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 11 (delta 1), reused 11 (delta 1)
Unpacking objects: 100% (11/11), done.
==> Making package: glee 5.4.0-4 (Mo 23 Jul 2018 05:59:31 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading GLee-5.4.0-src.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  263k  100  263k    0     0  1061k      0 --:--:-- --:--:-- --:--:-- 1061k
  -> Found glee.pc
  -> Found Makefile
==> Validating source files with sha512sums...
    GLee-5.4.0-src.tar.gz ... Passed
    glee.pc ... Passed
    Makefile ... Passed
==> Extracting sources...
  -> Extracting GLee-5.4.0-src.tar.gz with bsdtar
==> Starting build()...
cc -o GLee.shared.o -c GLee.c -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -D_FORTIFY_SOURCE=2 -fPIC
^Cmake: *** Deleting file 'GLee.shared.o'
make: *** [Makefile:34: GLee.shared.o] Interrupt

Transaction cancelled.

(pamac:21705): GLib-GIO-CRITICAL **: 05:59:32.246: g_application_release: assertion 'application->priv->use_count > 0' failed

#36

I just pushed another commit that should fix that annoying infinite loop :slight_smile:
@philm


#37

Thx, uploaded as revision six. @guinux: any other features open for v6.5 series?


#38

No, I will wait for some feedback before enabling translations for the cli.
If no other big issue appears you can release it.


#39

Well, it is already released as revision six. So we wait for some feedback. Maybe open the translations for it anyway. We can do that in parallel.


#40

Now officially available in Pamac 6.5.0 :star_struck: