[aur-general] introduction and questions
Hello, my name is Jezra and I'm interested in making a PKGBUILD for a commandline audio player that I wrote in Vala. Actually, I've already written a PKGBUILD but, through reading the AUR documentation, it was advised that I first post the PKGBUILD to the mailing list because this is my first PKGBUILD. I have attached the PKGBUILD source and I would appreciate feedback. I also have a question regarding making packages for AUR. The name of my application is 'sap' and a search of the AUR turns up another application named sap. What is the best way to resolve the issue of name collision for packages in AUR? jezra
On 07.07.2009 03:42, jezra wrote:
Hello, my name is Jezra and I'm interested in making a PKGBUILD for a commandline audio player that I wrote in Vala. Actually, I've already written a PKGBUILD but, through reading the AUR documentation, it was advised that I first post the PKGBUILD to the mailing list because this is my first PKGBUILD. I have attached the PKGBUILD source and I would appreciate feedback.
I also have a question regarding making packages for AUR. The name of my application is 'sap' and a search of the AUR turns up another application named sap. What is the best way to resolve the issue of name collision for packages in AUR?
jezra
Hi jezra, Attachments will not work on here if your mail client does not know to open PKGBUILDs as ASCII because it assumes it is binary. I suggest you upload the PKGBUILD to some online pasting service and choose "shell script" so that we get pretty colors. -- Sven-Hendrik Haase
M On Mon, Jul 6, 2009 at 6:48 PM, Sven-Hendrik Haase<sh@lutzhaase.com> wrote:
On 07.07.2009 03:42, jezra wrote:
Hello, my name is Jezra and I'm interested in making a PKGBUILD for a commandline audio player that I wrote in Vala. Actually, I've already written a PKGBUILD but, through reading the AUR documentation, it was advised that I first post the PKGBUILD to the mailing list because this is my first PKGBUILD. I have attached the PKGBUILD source and I would appreciate feedback.
I also have a question regarding making packages for AUR. The name of my application is 'sap' and a search of the AUR turns up another application named sap. What is the best way to resolve the issue of name collision for packages in AUR?
jezra
Hi jezra,
Attachments will not work on here if your mail client does not know to open PKGBUILDs as ASCII because it assumes it is binary. I suggest you upload the PKGBUILD to some online pasting service and choose "shell script" so that we get pretty colors.
-- Sven-Hendrik Haase
My apologies, I should have stated in my first post that I've uploaded a tarball of the PKGBUILD that I would like to upload to AUR.
jezra wrote:
M
On Mon, Jul 6, 2009 at 6:48 PM, Sven-Hendrik Haase<sh@lutzhaase.com> wrote:
On 07.07.2009 03:42, jezra wrote:
Hello, my name is Jezra and I'm interested in making a PKGBUILD for a commandline audio player that I wrote in Vala. Actually, I've already written a PKGBUILD but, through reading the AUR documentation, it was advised that I first post the PKGBUILD to the mailing list because this is my first PKGBUILD. I have attached the PKGBUILD source and I would appreciate feedback.
I also have a question regarding making packages for AUR. The name of my application is 'sap' and a search of the AUR turns up another application named sap. What is the best way to resolve the issue of name collision for packages in AUR?
jezra
Hi jezra,
Attachments will not work on here if your mail client does not know to open PKGBUILDs as ASCII because it assumes it is binary. I suggest you upload the PKGBUILD to some online pasting service and choose "shell script" so that we get pretty colors.
-- Sven-Hendrik Haase
My apologies, I should have stated in my first post that I've uploaded a tarball of the PKGBUILD that I would like to upload to AUR.
Uploaded where... If we don't know where to find it, it's kinda hard to advise you on it. -- Daniel J Griffiths (Ghost1227) griffithsdj@archlinux.us http://ghost1227.com
On Mon, 06 Jul 2009 22:42:37 -0400 Daniel J Griffiths <ghost1227@archlinux.us> wrote:
jezra wrote:
M
On Mon, Jul 6, 2009 at 6:48 PM, Sven-Hendrik Haase<sh@lutzhaase.com> wrote:
On 07.07.2009 03:42, jezra wrote:
Hello, my name is Jezra and I'm interested in making a PKGBUILD for a commandline audio player that I wrote in Vala. Actually, I've already written a PKGBUILD but, through reading the AUR documentation, it was advised that I first post the PKGBUILD to the mailing list because this is my first PKGBUILD. I have attached the PKGBUILD source and I would appreciate feedback.
I also have a question regarding making packages for AUR. The name of my application is 'sap' and a search of the AUR turns up another application named sap. What is the best way to resolve the issue of name collision for packages in AUR?
jezra
Hi jezra,
Attachments will not work on here if your mail client does not know to open PKGBUILDs as ASCII because it assumes it is binary. I suggest you upload the PKGBUILD to some online pasting service and choose "shell script" so that we get pretty colors.
-- Sven-Hendrik Haase
My apologies, I should have stated in my first post that I've uploaded a tarball of the PKGBUILD that I would like to upload to AUR.
Uploaded where... If we don't know where to find it, it's kinda hard to advise you on it.
my apologies again, I should have said "I have attached a tarball of the PKGBUILD" in my first post in this thread. However, since I didn't say that; I am attaching a tarball of the PKGBUILD that I would like to upload to AUR.
On Mon, Jul 6, 2009 at 11:23 PM, jezra lickter<jezra.lickter@gmail.com> wrote:
my apologies again, I should have said "I have attached a tarball of the PKGBUILD" in my first post in this thread. However, since I didn't say that; I am attaching a tarball of the PKGBUILD that I would like to upload to AUR.
And again.. where is the PKGBUILD? hehe .. are you joking us? nice one btw -- Angel Velásquez angvp @ irc.freenode.net Linux Counter: #359909
2009/7/6 Angel Velásquez <angvp@archlinux.com.ve>:
On Mon, Jul 6, 2009 at 11:23 PM, jezra lickter<jezra.lickter@gmail.com> wrote:
my apologies again, I should have said "I have attached a tarball of the PKGBUILD" in my first post in this thread. However, since I didn't say that; I am attaching a tarball of the PKGBUILD that I would like to upload to AUR.
And again.. where is the PKGBUILD? hehe .. are you joking us? nice one btw
-- Angel Velásquez angvp @ irc.freenode.net Linux Counter: #359909
No, I'm not joking. In theory, the PKGBUILD would have been in the tar.gz file I attached to my previous post. However, the contents of the PKGBUILD are as follows: # Contributor: jezra lickter <jezra at jezra dot net> pkgname=sap pkgver=0.4.4 pkgrel=1 pkgdesc="A command line audio player utilizing gstreamer and ncurses" arch=('i686') url="http://www.jezra.net/projects/sap/" license=('GPL3') depends=('gstreamer0.10-base' 'ncurses' 'vala>=0.7.2') source=(http://launchpad.net/sap+/0.4.4/0.4.4/+download/sap-0.4.4.tar.gz) md5sums=('c8ec9cb57b925b0634d6853c839f30cb') build() { cd $srcdir/$pkgname-$pkgver valac --thread --pkg curses --pkg gstreamer-0.10 curses_ui.vala audioplayer.vala main_controller.vala -o sap -X -lncurses || return 1 mkdir $pkgdir/usr || return 1 mkdir $pkgdir/usr/bin || return 1 mkdir $pkgdir/usr/share || return 1 mkdir $pkgdir/usr/share/man || return 1 mkdir $pkgdir/usr/share/man/man1 || return 1 cp sap $pkgdir/usr/bin/ || return 1 cp sap.1 $pkgdir/usr/share/man/man1/ || return 1 } #end of code
On Tue, Jul 7, 2009 at 12:19 PM, jezra<jezra.lickter@gmail.com> wrote:
2009/7/6 Angel Velásquez <angvp@archlinux.com.ve>:
On Mon, Jul 6, 2009 at 11:23 PM, jezra lickter<jezra.lickter@gmail.com> wrote:
my apologies again, I should have said "I have attached a tarball of the PKGBUILD" in my first post in this thread. However, since I didn't say that; I am attaching a tarball of the PKGBUILD that I would like to upload to AUR.
And again.. where is the PKGBUILD? hehe .. are you joking us? nice one btw
-- Angel Velásquez angvp @ irc.freenode.net Linux Counter: #359909
No, I'm not joking. In theory, the PKGBUILD would have been in the tar.gz file I attached to my previous post. However, the contents of the PKGBUILD are as follows:
# Contributor: jezra lickter <jezra at jezra dot net>
pkgname=sap pkgver=0.4.4 pkgrel=1 pkgdesc="A command line audio player utilizing gstreamer and ncurses" arch=('i686') url="http://www.jezra.net/projects/sap/" license=('GPL3') depends=('gstreamer0.10-base' 'ncurses' 'vala>=0.7.2') source=(http://launchpad.net/sap+/0.4.4/0.4.4/+download/sap-0.4.4.tar.gz) md5sums=('c8ec9cb57b925b0634d6853c839f30cb')
build() { cd $srcdir/$pkgname-$pkgver valac --thread --pkg curses --pkg gstreamer-0.10 curses_ui.vala audioplayer.vala main_controller.vala -o sap -X -lncurses || return 1 mkdir $pkgdir/usr || return 1 mkdir $pkgdir/usr/bin || return 1 mkdir $pkgdir/usr/share || return 1 mkdir $pkgdir/usr/share/man || return 1 mkdir $pkgdir/usr/share/man/man1 || return 1 cp sap $pkgdir/usr/bin/ || return 1 cp sap.1 $pkgdir/usr/share/man/man1/ || return 1 }
#end of code
use install instead of mkdir/cp -- O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
edogawaconan wrote: [..]
use install instead of mkdir/cp
Even better, to help non-Arch users, use auto-tools (or some other build/install/distribution tool with Vala support) for building and installing. automake[1] waf[2] /M [1]: http://www.gnu.org/software/libtool/manual/automake/Vala-Support.html [2]: http://live.gnome.org/Vala/Waf -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe
Excerpts from Magnus Therning's message of Tue Jul 07 01:31:42 -0400 2009:
edogawaconan wrote: [..]
use install instead of mkdir/cp
Even better, to help non-Arch users, use auto-tools (or some other build/install/distribution tool with Vala support) for building and installing.
automake[1] waf[2]
To explain this a bit more, generally, it's not the software packager's job to make stuff install per se. Most software that you get comes with commands like "make" and "make install" -- these are used for compiling the software and having it install, respectively. The way you do this is by creating build scripts of some sort for your package. The most common way is to use autotools, as mentioned before. This is the standard "make" system made by GNU, and it's pretty much oriented around shell scripts. Then, the packager uses the fairly standard variable to make, DESTDIR, to tell the package to install into a folder rather than to / by default. This folder is then packaged up by makepkg and can be extracted over / to "install" the software to the correct place. Personally, I find that the old autotools are kind of... old. They work fine and are easy to do for small projects that don't need to do much work during build/install (like yours), but newer systems like SCons and CMake are being used more and more frequently in larger systems like KDE. I think you get the idea generally, but here is a very simple example Makefile (the script used by make) to give you an idea. Note that make requires the use of tabs instead of spaces in indentation: DESTDIR= all: @ echo -ne "\e[32;1m==>\e[0m Building." valac foobar.vala install: @ echo -e "\e[32;1m==>\e[0m Installing files." install -d ${DESTDIR}/usr/bin install -m0555 foobar ${DESTDIR}/usr/bin uninstall: @ echo -e "\e[32;1m==>\e[0m Uninstall files." rm ${DESTDIR}/usr/bin/foobar || true clean: ==================================================== Some notes on this: - the sections are the categories for make (ie. make uninstall) - @ in front of the line tells make to not print this line. Usually, make outputs what command it's running as it runs it. - The funky characters in the echos are cli colour codes for prettiness. - the first section is the default -- so just "make" instead of "make all" is fine. - The clean instruction isn't used in this example, but it's generally used to clean up executables and stuff. Debian requires this instruction by default... Good luck! -- Andrei Thorp, Developer: Xandros Corp. (http://www.xandros.com)
On Tue, 07 Jul 2009 09:41:49 -0400 Andrei Thorp <garoth@gmail.com> wrote:
Excerpts from Magnus Therning's message of Tue Jul 07 01:31:42 -0400 2009:
edogawaconan wrote: [..]
use install instead of mkdir/cp
Even better, to help non-Arch users, use auto-tools (or some other build/install/distribution tool with Vala support) for building and installing.
automake[1] waf[2]
To explain this a bit more, generally, it's not the software packager's job to make stuff install per se. Most software that you get comes with commands like "make" and "make install" -- these are used for compiling the software and having it install, respectively.
The way you do this is by creating build scripts of some sort for your package. The most common way is to use autotools, as mentioned before. This is the standard "make" system made by GNU, and it's pretty much oriented around shell scripts.
Then, the packager uses the fairly standard variable to make, DESTDIR, to tell the package to install into a folder rather than to / by default. This folder is then packaged up by makepkg and can be extracted over / to "install" the software to the correct place.
Personally, I find that the old autotools are kind of... old. They work fine and are easy to do for small projects that don't need to do much work during build/install (like yours), but newer systems like SCons and CMake are being used more and more frequently in larger systems like KDE.
I think you get the idea generally, but here is a very simple example Makefile (the script used by make) to give you an idea. Note that make requires the use of tabs instead of spaces in indentation:
DESTDIR=
all: @ echo -ne "\e[32;1m==>\e[0m Building." valac foobar.vala
install: @ echo -e "\e[32;1m==>\e[0m Installing files." install -d ${DESTDIR}/usr/bin install -m0555 foobar ${DESTDIR}/usr/bin
uninstall: @ echo -e "\e[32;1m==>\e[0m Uninstall files." rm ${DESTDIR}/usr/bin/foobar || true
clean:
====================================================
Some notes on this: - the sections are the categories for make (ie. make uninstall) - @ in front of the line tells make to not print this line. Usually, make outputs what command it's running as it runs it. - The funky characters in the echos are cli colour codes for prettiness. - the first section is the default -- so just "make" instead of "make all" is fine. - The clean instruction isn't used in this example, but it's generally used to clean up executables and stuff. Debian requires this instruction by default...
Good luck!
Wow, thanks for this simple example. So far I've only patched DESTDIR into Makefiles, good to know a little bit more about this stuff.
Excerpts from hollunder's message of Tue Jul 07 11:22:31 -0400 2009:
On Tue, 07 Jul 2009 09:41:49 -0400 Andrei Thorp <garoth@gmail.com> wrote:
Excerpts from Magnus Therning's message of Tue Jul 07 01:31:42 -0400 2009:
edogawaconan wrote: [..]
use install instead of mkdir/cp
Even better, to help non-Arch users, use auto-tools (or some other build/install/distribution tool with Vala support) for building and installing.
automake[1] waf[2]
To explain this a bit more, generally, it's not the software packager's job to make stuff install per se. Most software that you get comes with commands like "make" and "make install" -- these are used for compiling the software and having it install, respectively.
The way you do this is by creating build scripts of some sort for your package. The most common way is to use autotools, as mentioned before. This is the standard "make" system made by GNU, and it's pretty much oriented around shell scripts.
Then, the packager uses the fairly standard variable to make, DESTDIR, to tell the package to install into a folder rather than to / by default. This folder is then packaged up by makepkg and can be extracted over / to "install" the software to the correct place.
Personally, I find that the old autotools are kind of... old. They work fine and are easy to do for small projects that don't need to do much work during build/install (like yours), but newer systems like SCons and CMake are being used more and more frequently in larger systems like KDE.
I think you get the idea generally, but here is a very simple example Makefile (the script used by make) to give you an idea. Note that make requires the use of tabs instead of spaces in indentation:
DESTDIR=
all: @ echo -ne "\e[32;1m==>\e[0m Building." valac foobar.vala
install: @ echo -e "\e[32;1m==>\e[0m Installing files." install -d ${DESTDIR}/usr/bin install -m0555 foobar ${DESTDIR}/usr/bin
uninstall: @ echo -e "\e[32;1m==>\e[0m Uninstall files." rm ${DESTDIR}/usr/bin/foobar || true
clean:
====================================================
Some notes on this: - the sections are the categories for make (ie. make uninstall) - @ in front of the line tells make to not print this line. Usually, make outputs what command it's running as it runs it. - The funky characters in the echos are cli colour codes for prettiness. - the first section is the default -- so just "make" instead of "make all" is fine. - The clean instruction isn't used in this example, but it's generally used to clean up executables and stuff. Debian requires this instruction by default...
Good luck!
Wow, thanks for this simple example. So far I've only patched DESTDIR into Makefiles, good to know a little bit more about this stuff.
Happy to help. -- Andrei Thorp, Developer: Xandros Corp. (http://www.xandros.com)
jezra wrote:
2009/7/6 Angel Velásquez <angvp@archlinux.com.ve>:
On Mon, Jul 6, 2009 at 11:23 PM, jezra lickter<jezra.lickter@gmail.com> wrote:
my apologies again, I should have said "I have attached a tarball of the PKGBUILD" in my first post in this thread. However, since I didn't say that; I am attaching a tarball of the PKGBUILD that I would like to upload to AUR.
And again.. where is the PKGBUILD? hehe .. are you joking us? nice one btw
-- Angel Velásquez angvp @ irc.freenode.net Linux Counter: #359909
No, I'm not joking. In theory, the PKGBUILD would have been in the tar.gz file I attached to my previous post. However, the contents of the PKGBUILD are as follows:
# Contributor: jezra lickter <jezra at jezra dot net>
pkgname=sap pkgver=0.4.4 pkgrel=1 pkgdesc="A command line audio player utilizing gstreamer and ncurses" arch=('i686') url="http://www.jezra.net/projects/sap/" license=('GPL3') depends=('gstreamer0.10-base' 'ncurses' 'vala>=0.7.2') source=(http://launchpad.net/sap+/0.4.4/0.4.4/+download/sap-0.4.4.tar.gz) md5sums=('c8ec9cb57b925b0634d6853c839f30cb')
build() { cd $srcdir/$pkgname-$pkgver valac --thread --pkg curses --pkg gstreamer-0.10 curses_ui.vala audioplayer.vala main_controller.vala -o sap -X -lncurses || return 1 mkdir $pkgdir/usr || return 1 mkdir $pkgdir/usr/bin || return 1 mkdir $pkgdir/usr/share || return 1 mkdir $pkgdir/usr/share/man || return 1 mkdir $pkgdir/usr/share/man/man1 || return 1 cp sap $pkgdir/usr/bin/ || return 1 cp sap.1 $pkgdir/usr/share/man/man1/ || return 1 }
#end of code
Try something like this... # Contributor: jezra lickter <jezra at jezra dot net> pkgname=sap pkgver=0.4.4 pkgrel=1 pkgdesc="A command line audio player utilizing gstreamer and ncurses" arch=('i686') url="http://www.jezra.net/projects/sap/" license=('GPL3') depends=('gstreamer0.10-base' 'ncurses' 'vala>=0.7.2') source=(http://launchpad.net/sap+/0.4.4/0.4.4/+download/sap-0.4.4.tar.gz) md5sums=('c8ec9cb57b925b0634d6853c839f30cb') build() { cd ${srcdir}/${pkgname}-${pkgver} valac --thread --pkg curses --pkg gstreamer-0.10 curses_ui.vala audioplayer.vala main_controller.vala -o sap -X -lncurses || return 1 install -d ${pkgdir}/usr/{bin/,share/man/man1/} install -m755 sap ${pkgdir}/usr/bin/ install -m644 sap.1 ${pkgdir}/usr/share/man/man1/ } #end of code -- Daniel J Griffiths (Ghost1227) griffithsdj@archlinux.us http://ghost1227.com
On Tue, Jul 7, 2009 at 01:50, Daniel J Griffiths<ghost1227@archlinux.us> wrote:
Try something like this...
install -d ${pkgdir}/usr/{bin/,share/man/man1/} install -m755 sap ${pkgdir}/usr/bin/ install -m644 sap.1 ${pkgdir}/usr/share/man/man1/
Rather than splitting off install -d, I'd do: install -Dm755 sap "$pkgdir/usr/bin/sap" install -Dm644 sap.1 "$pkgdir/usr/share/man/man/man1/sap.1
2009/7/7 jezra <jezra.lickter@gmail.com>:
depends=('gstreamer0.10-base' 'ncurses' 'vala>=0.7.2')
Shouldn't 'vala' be in the makedepends array? It's just a compiler, it isn't needed to run the binary, right?
also, you said there's another package in aur named sap, you should check if you have file conflicts(like another /usr/bin/sap) not completely PKGBUILD related but also important.
On Tue, Jul 7, 2009 at 2:03 AM, Imanol Celaya<ornitorrincos@archlinux-es.org> wrote:
also, you said there's another package in aur named sap, you should check if you have file conflicts(like another /usr/bin/sap)
not completely PKGBUILD related but also important.
There is indeed a conflict of /usr/bin/sap. What is the best way to proceed in a situation such as this? Should I rename my binary or should I just put the name of the conflicting binary into "conflicts"? Based upon the various feedback, the PKGBUILD is now # Contributor: jezra lickter <jezra at jezra dot net> pkgname=sap pkgver=0.4.4 pkgrel=1 pkgdesc="A command line audio player utilizing gstreamer and ncurses" arch=('i686') url="http://www.jezra.net/projects/sap/" license=('GPL3') depends=('gstreamer0.10-base' 'ncurses') makedepends=('vala>=0.7.2') conflicts=('sap') source=(http://launchpad.net/sap+/0.4.4/0.4.4/+download/sap-0.4.4.tar.gz) md5sums=('c8ec9cb57b925b0634d6853c839f30cb') build() { cd $srcdir/$pkgname-$pkgver valac --thread --pkg curses --pkg gstreamer-0.10 curses_ui.vala audioplayer.vala main_controller.vala -o sap -X -lncurses || return 1 install -Dm755 sap $pkgdir/usr/bin/sap || return 1 install -Dm644 sap.1 $pkgdir/usr/share/man/man1/sap.1 || return 1 } #end of code
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA224 jezra wrote:
There is indeed a conflict of /usr/bin/sap. What is the best way to proceed in a situation such as this? Should I rename my binary or should I just put the name of the conflicting binary into "conflicts"?
You should also rename your package, the current PKGBUILD conflicts itself. - -- Jabber: atsutane@freethoughts.de Blog: http://atsutane.freethoughts.de/ Key: 295AFBF4 FP: 39F8 80E5 0E49 A4D1 1341 E8F9 39E4 F17F 295A FBF4 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iFYEARELAAYFAkpTeFcACgkQOeTxfyla+/TtKgDfVClv3hniaQw7HEeh2Fbu7TV8 TJXrN43Qi/l6rADfXCaBjSIhUOC6Xs48sos5BdN1DUp38+4pLIoBXQ== =INkt -----END PGP SIGNATURE-----
On Tue, Jul 7, 2009 at 9:31 AM, Thorsten Toepper<atsutane@freethoughts.de> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA224
jezra wrote:
There is indeed a conflict of /usr/bin/sap. What is the best way to proceed in a situation such as this? Should I rename my binary or should I just put the name of the conflicting binary into "conflicts"?
You should also rename your package, the current PKGBUILD conflicts itself.
- -- Jabber: atsutane@freethoughts.de Blog: http://atsutane.freethoughts.de/ Key: 295AFBF4 FP: 39F8 80E5 0E49 A4D1 1341 E8F9 39E4 F17F 295A FBF4 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iFYEARELAAYFAkpTeFcACgkQOeTxfyla+/TtKgDfVClv3hniaQw7HEeh2Fbu7TV8 TJXrN43Qi/l6rADfXCaBjSIhUOC6Xs48sos5BdN1DUp38+4pLIoBXQ== =INkt -----END PGP SIGNATURE-----
Unfortunately, after renaming the package and the compiled binary, I needed to edit and rename the man page and the associated help directives in the source code to reflect the changes to the package and binary name. Since I don't wish to step on anyone toes regarding application name collision, I'll hold off on submitting the PKGBUILD.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA224 jezra wrote:
Unfortunately, after renaming the package and the compiled binary, I needed to edit and rename the man page and the associated help directives in the source code to reflect the changes to the package and binary name. Since I don't wish to step on anyone toes regarding application name collision, I'll hold off on submitting the PKGBUILD.
Well you can simply solve that using $pkgname in the build part of the PKGBUILD, I guess the "p" stands for "player" so it wouldn't be a problem if you name it for example "sa-player" as the files also get that name and your package does not conflict the other "sap" package any longer. # Contributor: jezra lickter <jezra at jezra dot net> pkgname=sa-player pkgver=0.4.4 pkgrel=1 pkgdesc="A command line audio player utilizing gstreamer and ncurses" arch=('i686') url="http://www.jezra.net/projects/sap/" license=('GPL3') depends=('gstreamer0.10-base' 'ncurses') makedepends=('vala>=0.7.2') source=(http://launchpad.net/sap+/0.4.4/0.4.4/+download/sap-0.4.4.tar.gz) md5sums=('c8ec9cb57b925b0634d6853c839f30cb') build() { cd $srcdir/$pkgname-$pkgver valac --thread --pkg curses --pkg gstreamer-0.10 curses_ui.vala audioplayer.vala main_controller.vala -o ${pkgname} -X -lncurses || return 1 install -Dm755 ${pkgname} $pkgdir/usr/bin/${pkgname} || return 1 install -Dm644 ${pkgname}.1 $pkgdir/usr/share/man/man1/${pkgname}.1 || return 1 } #end of code - -- Jabber: atsutane@freethoughts.de Blog: http://atsutane.freethoughts.de/ Key: 295AFBF4 FP: 39F8 80E5 0E49 A4D1 1341 E8F9 39E4 F17F 295A FBF4 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iFYEARELAAYFAkpTsAIACgkQOeTxfyla+/TmzQDgj85/eLxbplw1zo4haBo7g9ZG 35MIkB5Srv6SUQDfS/2XsaJN3ekdLbPcj5dXMYTjXO6hYFskAXb38Q== =tqwz -----END PGP SIGNATURE-----
On Tue, Jul 7, 2009 at 1:28 PM, Thorsten Toepper<atsutane@freethoughts.de> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA224
jezra wrote:
Unfortunately, after renaming the package and the compiled binary, I needed to edit and rename the man page and the associated help directives in the source code to reflect the changes to the package and binary name. Since I don't wish to step on anyone toes regarding application name collision, I'll hold off on submitting the PKGBUILD.
Well you can simply solve that using $pkgname in the build part of the PKGBUILD, I guess the "p" stands for "player" so it wouldn't be a problem if you name it for example "sa-player" as the files also get that name and your package does not conflict the other "sap" package any longer.
# Contributor: jezra lickter <jezra at jezra dot net>
pkgname=sa-player pkgver=0.4.4 pkgrel=1 pkgdesc="A command line audio player utilizing gstreamer and ncurses" arch=('i686') url="http://www.jezra.net/projects/sap/" license=('GPL3') depends=('gstreamer0.10-base' 'ncurses') makedepends=('vala>=0.7.2') source=(http://launchpad.net/sap+/0.4.4/0.4.4/+download/sap-0.4.4.tar.gz) md5sums=('c8ec9cb57b925b0634d6853c839f30cb')
build() { cd $srcdir/$pkgname-$pkgver valac --thread --pkg curses --pkg gstreamer-0.10 curses_ui.vala audioplayer.vala main_controller.vala -o ${pkgname} -X -lncurses || return 1 install -Dm755 ${pkgname} $pkgdir/usr/bin/${pkgname} || return 1 install -Dm644 ${pkgname}.1 $pkgdir/usr/share/man/man1/${pkgname}.1 || return 1
} #end of code
- -- Jabber: atsutane@freethoughts.de Blog: http://atsutane.freethoughts.de/ Key: 295AFBF4 FP: 39F8 80E5 0E49 A4D1 1341 E8F9 39E4 F17F 295A FBF4 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iFYEARELAAYFAkpTsAIACgkQOeTxfyla+/TmzQDgj85/eLxbplw1zo4haBo7g9ZG 35MIkB5Srv6SUQDfS/2XsaJN3ekdLbPcj5dXMYTjXO6hYFskAXb38Q== =tqwz -----END PGP SIGNATURE-----
I thought package names had to be alphanumeric characters and the "-" would make the package name invalid? Although the change does work, it would require a custom edit of the source code and man page for building the app for the Arch distribution. Although it isn't much of a problem, I'm hesitant to commit myself to always needing to make the change for future version of the software.
I thought package names had to be alphanumeric characters and the "-" would make the package name invalid? Although the change does work, it would require a custom edit of the source code and man page for building the app for the Arch distribution. Although it isn't much of a problem, I'm hesitant to commit myself to always needing to make the change for future version of the software.
I think the previous suggestion was limited to changing the package name. Just call it sa-player, add "sap" to the conflicts line (and maybe add "sap" to the description as well to make it clear) and then leave the rest of it alone. If others want to install this alongside the other "sap" package then they can either hack it themselves or contact the upstream devs to get the name collision resolved. Changing the name throughout the souce code would not be an elegant solution and would only lead to unnecessary complication for others wishing to use the package, especially if it is ever a dependency for other packages.
On Wed, 8 Jul 2009 07:13:13 +0200 Xyne <xyne@archlinux.ca> wrote:
I thought package names had to be alphanumeric characters and the "-" would make the package name invalid? Although the change does work, it would require a custom edit of the source code and man page for building the app for the Arch distribution. Although it isn't much of a problem, I'm hesitant to commit myself to always needing to make the change for future version of the software.
I think the previous suggestion was limited to changing the package name. Just call it sa-player, add "sap" to the conflicts line (and maybe add "sap" to the description as well to make it clear) and then leave the rest of it alone. If others want to install this alongside the other "sap" package then they can either hack it themselves or contact the upstream devs to get the name collision resolved.
Changing the name throughout the souce code would not be an elegant solution and would only lead to unnecessary complication for others wishing to use the package, especially if it is ever a dependency for other packages.
That seems to be a very reasonable solution. Can anyone think of a reason I should not implement just changing the package name as a solution?
Excerpts from bardo's message of Tue Jul 07 04:51:45 -0400 2009:
2009/7/7 jezra <jezra.lickter@gmail.com>:
depends=('gstreamer0.10-base' 'ncurses' 'vala>=0.7.2')
Shouldn't 'vala' be in the makedepends array? It's just a compiler, it isn't needed to run the binary, right?
Correct. Vala compiles to C, which in turn is compiled as a C binary. -- Andrei Thorp, Developer: Xandros Corp. (http://www.xandros.com)
participants (14)
-
Andrei Thorp
-
Angel Velásquez
-
bardo
-
Daenyth Blank
-
Daniel J Griffiths
-
edogawaconan
-
hollunder@gmx.at
-
Imanol Celaya
-
jezra
-
jezra lickter
-
Magnus Therning
-
Sven-Hendrik Haase
-
Thorsten Toepper
-
Xyne