[aur-general] Feedback request
I've made a Qt 5 port of qPutty (which is in turn a Qt 4 wrapper for putty, famous SSH/Telmet client). qPutty was in aur3 as orphan for some time and was dropped. One of the main goals was not only to port it to Qt 5, but also to be able to use recent putty versions which required lots of qPutty code to be modified. Actually I've already pushed this PKGBUILD to AUR since namcap is OK about it. The thing in question is fetching putty sources which are being used for building, but putty is not compiled as project itself. Please see PKGBUILD below and thanks in advance. # Maintainer: Dmitriy Morozov <dmorozov.mailbox@gmail.com> pkgname=qputty-qt5-git pkgver=501 pkgrel=1 pkgdesc="A Qt 5 port for putty, the free telnet/ssh client" arch=('i686' 'x86_64') url="https://github.com/dsmorozov/qputty-qt5" license=('MIT LGPL3') depends=('glibc' 'gcc-libs' 'qt5-base' 'qt5-x11extras' 'libgssglue') makedepends=('git') conflicts=('qputty') source=('git://github.com/dsmorozov/qputty-qt5.git') md5sums=('SKIP') pkgver() { cd "$srcdir/${pkgname%-git}" printf "%s" "$(git describe --tags)" } prepare() { cd "$srcdir" # Fetch putty sources git clone git://git.tartarus.org/simon/putty.git cd putty git checkout tags/0.65 } build() { cd "$srcdir/${pkgname%-git}" qmake make } package() { cd $srcdir/${pkgname%-git} install -Dm0755 qPutty "$pkgdir/usr/bin/qPutty" install -Dm0644 qPutty.desktop "$pkgdir/usr/share/applications/qPutty.desktop" install -Dm0644 icons/qputty.svgz "$pkgdir/usr/share/icons/hicolor/scalable/apps/qputty.svgz" install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/qputty-qt5/LICENSE" }
On Sep 22, 2015 10:04 PM, "Dmitriy Morozov" <dmorozov.mailbox@gmail.com> wrote:
I've made a Qt 5 port of qPutty (which is in turn a Qt 4 wrapper for
putty,
famous SSH/Telmet client). qPutty was in aur3 as orphan for some time and was dropped. One of the main goals was not only to port it to Qt 5, but also to be able to use recent putty versions which required lots of qPutty code to be modified. Actually I've already pushed this PKGBUILD to AUR since namcap is OK about it. The thing in question is fetching putty sources which are being used for building, but putty is not compiled as project itself. Please see PKGBUILD below and thanks in advance.
# Maintainer: Dmitriy Morozov <dmorozov.mailbox@gmail.com>
pkgname=qputty-qt5-git pkgver=501 pkgrel=1 pkgdesc="A Qt 5 port for putty, the free telnet/ssh client" arch=('i686' 'x86_64') url="https://github.com/dsmorozov/qputty-qt5" license=('MIT LGPL3') depends=('glibc' 'gcc-libs' 'qt5-base' 'qt5-x11extras' 'libgssglue') makedepends=('git') conflicts=('qputty') source=('git://github.com/dsmorozov/qputty-qt5.git') md5sums=('SKIP')
pkgver() { cd "$srcdir/${pkgname%-git}" printf "%s" "$(git describe --tags)" }
prepare() { cd "$srcdir" # Fetch putty sources git clone git://git.tartarus.org/simon/putty.git cd putty git checkout tags/0.65 }
build() { cd "$srcdir/${pkgname%-git}" qmake make }
package() { cd $srcdir/${pkgname%-git} install -Dm0755 qPutty "$pkgdir/usr/bin/qPutty" install -Dm0644 qPutty.desktop "$pkgdir/usr/share/applications/qPutty.desktop" install -Dm0644 icons/qputty.svgz "$pkgdir/usr/share/icons/hicolor/scalable/apps/qputty.svgz" install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/qputty-qt5/LICENSE" }
You should consider git submodules. It would make manually building your project from source easier, and make your pkgbuild look cleaner.
Thats it! Thank you Andrew! 2015-09-22 13:21 GMT+03:00 Andrew Chen <andrew.chuanye.chen@gmail.com>:
On Sep 22, 2015 10:04 PM, "Dmitriy Morozov" <dmorozov.mailbox@gmail.com> wrote:
I've made a Qt 5 port of qPutty (which is in turn a Qt 4 wrapper for
putty,
famous SSH/Telmet client). qPutty was in aur3 as orphan for some time and was dropped. One of the main goals was not only to port it to Qt 5, but also to be able to use recent putty versions which required lots of qPutty code to be modified. Actually I've already pushed this PKGBUILD to AUR since namcap is OK about it. The thing in question is fetching putty sources which are being used for building, but putty is not compiled as project itself. Please see PKGBUILD below and thanks in advance.
# Maintainer: Dmitriy Morozov <dmorozov.mailbox@gmail.com>
pkgname=qputty-qt5-git pkgver=501 pkgrel=1 pkgdesc="A Qt 5 port for putty, the free telnet/ssh client" arch=('i686' 'x86_64') url="https://github.com/dsmorozov/qputty-qt5" license=('MIT LGPL3') depends=('glibc' 'gcc-libs' 'qt5-base' 'qt5-x11extras' 'libgssglue') makedepends=('git') conflicts=('qputty') source=('git://github.com/dsmorozov/qputty-qt5.git') md5sums=('SKIP')
pkgver() { cd "$srcdir/${pkgname%-git}" printf "%s" "$(git describe --tags)" }
prepare() { cd "$srcdir" # Fetch putty sources git clone git://git.tartarus.org/simon/putty.git cd putty git checkout tags/0.65 }
build() { cd "$srcdir/${pkgname%-git}" qmake make }
package() { cd $srcdir/${pkgname%-git} install -Dm0755 qPutty "$pkgdir/usr/bin/qPutty" install -Dm0644 qPutty.desktop "$pkgdir/usr/share/applications/qPutty.desktop" install -Dm0644 icons/qputty.svgz "$pkgdir/usr/share/icons/hicolor/scalable/apps/qputty.svgz" install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/qputty-qt5/LICENSE" }
You should consider git submodules. It would make manually building your project from source easier, and make your pkgbuild look cleaner.
On 09/22/2015 06:04 AM, Dmitriy Morozov wrote:
source=('git://github.com/dsmorozov/qputty-qt5.git') md5sums=('SKIP')
pkgver() { cd "$srcdir/${pkgname%-git}" printf "%s" "$(git describe --tags)" }
prepare() { cd "$srcdir" # Fetch putty sources git clone git://git.tartarus.org/simon/putty.git cd putty git checkout tags/0.65 }
Why are the putty sources being downloaded during the prepare() function??? Please add putty to the sources array. makepkg handles source downloading before prepare() or any other function is called, and after that you should not be relying on an internet connection; additionally, repetitive and inconsistent logic for downloading VCS sources is exactly why makepkg gained support for specifying them in the sources array to begin with. See: USING VCS SOURCES ==> fragment in the PKGBUILD manpage, for how to specify a tag. As you are the package developer in addition to the maintainer, you might consider following Andrew Chen's advice and using a git submodule in your project -- if so, you will want to follow the following advice in the VCS Package Guidelines: https://wiki.archlinux.org/index.php/VCS_package_guidelines#Git_Submodules -- Eli Schwartz
participants (3)
-
Andrew Chen
-
Dmitriy Morozov
-
Eli Schwartz