You are not logged in.
Yo what's crackin' guys? So last year I wrote a program that makes Debian/Ubuntu feel like Archlinux. I was mainly using Arch at the time but I was working on a Ubuntu system. I accidentally typed a Pacman command instead of an apt-get command and was so bored that I spent about twenty to thirty minutes writing a wrapper script that used a pacman-like interface to run apt commands. I didn't realize it until a month or two ago but a big tech blog (OSTechNix) wrote an article about it and a couple Ubuntu forums cited it in answers. So I did what any responsible programmer would do and I re-wrote the awful and hacky code from my proof-of-concept to a fully-featured package manager that is cross-platform and modular. It's not hardcoded like the old script and doesn't have any major technical limitations. I released the 2.0-beta update yesterday and I'd love some user feedback!
The point of this program is to make it easy for people who use multiple distributions to use a familiar package manager across all their systems and to allow people who are using Debian/Ubuntu or OpenSUSE installs to get familiarized with the Archlinux package management system. It supports the most important features such as searching, syncing, removing, updating, purging, etc. and it has a built-in help feature. I plan on supporting more package managers in the future and I plan to add more more Pacman functionality such as --files or --query.
Here's the repository: link
And here's the latest release: link
And a direct download link for the .deb file: deb-pacman-2.0-0.deb
Please let me know what you think about this project because I'd love to keep working on it! Any and all feedback and contributions are welcome! I hope that this program will help get more people to try out Arch or will at least prevent a couple headaches for distro hoppers!! :-)
Last edited by triguy (2021-01-01 05:49:07)
"You keep on knockin' but you can't come in!" -Cheech Marin
Offline
Have you seen pacapt? It's linked on the pacman Rosetta page in the ArchWiki.
For your script try running it through https://www.shellcheck.net/ — it raises a few issues, mainly in respect of quoting variables.
For the .deb package Lintian has some complaints:
E: deb-pacman: debian-changelog-file-missing
E: deb-pacman: no-copyright-file
E: deb-pacman: debian-revision-should-not-be-zero 2.0-0
E: deb-pacman: depends-on-essential-package-without-using-version depends: bash
E: deb-pacman: wrong-file-owner-uid-or-gid usr/ 1000/1000
W: deb-pacman: non-standard-dir-perm usr/ 0700 != 0755
E: deb-pacman: wrong-file-owner-uid-or-gid usr/bin/ 1000/1000
W: deb-pacman: non-standard-dir-perm usr/bin/ 0700 != 0755
E: deb-pacman: wrong-file-owner-uid-or-gid usr/bin/pacman 1000/1000
W: deb-pacman: non-standard-executable-perm usr/bin/pacman 0775 != 0755
E: deb-pacman: wrong-file-owner-uid-or-gid usr/share/ 1000/1000
W: deb-pacman: non-standard-dir-perm usr/share/ 0700 != 0755
E: deb-pacman: wrong-file-owner-uid-or-gid usr/share/bash-completion/ 1000/1000
W: deb-pacman: non-standard-dir-perm usr/share/bash-completion/ 0700 != 0755
E: deb-pacman: wrong-file-owner-uid-or-gid usr/share/bash-completion/completions/ 1000/1000
W: deb-pacman: non-standard-dir-perm usr/share/bash-completion/completions/ 0700 != 0755
E: deb-pacman: wrong-file-owner-uid-or-gid usr/share/bash-completion/completions/pacman 1000/1000
W: deb-pacman: binary-without-manpage usr/bin/pacman
See https://lintian.debian.org/tags.html for an explanation of these issues. If you have a link to your Debian packaging files I could take a look.
HTH.
Last edited by Head_on_a_Stick (2021-01-01 13:08:56)
Jin, Jîyan, Azadî
Offline
Have you seen pacapt? It's linked on the pacman Rosetta page in the ArchWiki.
For your script try running it through https://www.shellcheck.net/ — it raises a few issues, mainly in respect of quoting variables.
For the .deb package Lintian has some complaints:
E: deb-pacman: debian-changelog-file-missing E: deb-pacman: no-copyright-file E: deb-pacman: debian-revision-should-not-be-zero 2.0-0 E: deb-pacman: depends-on-essential-package-without-using-version depends: bash ...
See https://lintian.debian.org/tags.html for an explanation of these issues. If you have a link to your Debian packaging files I could take a look.
Hey thanks for the feedback! When it comes to packaging, I'm kind of a complete noob. I have only ever done it once before and that was for this same program. I just followed a guide and built it. I only have a very basic Debian control file and then the program files in the respective directories. I think there's three files in the packaging project total. If you are still interested I can put them in a zip file for you and share it. I will need to check out the link you sent me when I have more time. If you know of any comprehensive Debian packaging tutorials I'd love to do it right. And I have heard of pacapt. Seems pretty similar. The difference between mine and it is I essentially am trying to 100% copy Pacman's experience 1:1 instead of letting it be my own thing. I also would like this program to be simpler so other people can learn to code from it. Hopefully I can fix all these issues for the final 2.0 release!
EDIT: Shortened
Last edited by triguy (2021-01-04 08:12:42)
"You keep on knockin' but you can't come in!" -Cheech Marin
Offline
Please don't full quote unnecessarily, it degrades the readability of the thread.
I just followed a guide
Oh dear, that would explain the issues then.
If you are still interested I can put them in a zip file for you and share it.
Yes, I would be happy to look at them. Perhaps consider using version control for the packaging — I have a GitLab account so I could send you a merge request for any changes.
If you know of any comprehensive Debian packaging tutorials I'd love to do it right.
https://www.debian.org/doc/manuals/debmake-doc/
I also would like this program to be simpler
Have you considered switching to POSIX sh? Debian links /bin/sh to dash, which is lighter, faster and less buggy than bash. The only bashisms you're using at the moment are for the tests, which are trivial to change.
Jin, Jîyan, Azadî
Offline