[aur-general] TU Application - Filipe Laíns
Hello, My name is Filipe Laíns. You might also know me by my alias, FFY00. I am applying to be a Trusted User with Dan Printzell's (Wild) sponsorship. Let's get to the part where you get to know me a bit more I am a Portuguese student and I use Linux as my main operating system since 2013. I gave Arch a try last year and I've been in love with it's ecosystem ever since. Since then, I started contributing to AUR and I've been maintaining quite a few packages. I am also fairly active in the Open Source community as you can see in my Github profile[1]. I love to help people and that is my main motivation to become a TU. If I do become a Trusted User, one thing I would like to do is to improve the usability of Arch for SDR (software defined raio) development. I think Arch is a great system for this and it's a bit of a shame that one of the most relevant packages (soapysdr) isn't in any official repo. Most of the work to improve the SDR support in Arch has been done by Kyle Keen, and I thank him for that, but I still think we could do a bit more. I don't plan to only maintain SDR related packages. I would like to maintain anything that I use, or anything that is relevant to anyone, really. If it makes someone's life easier it's a win. With that being said, here's a list of packages that I plan to move to community: - soapysdr - soapyrtlsdr - libratbag - piper - tribler - qspectrumanalyzer - pulseaudio-equalizer-ladspa - synology-cloud-station-drive Some comments on the packages, (soapysdr and soapyrtlsdr) soapysdr is a vendor neutral SDR driver[2] and soapyrtlsdr is the rtlsdr plugin for it. The non -git versions of the packages are quite recent so they don't have much votes yet. Their correspondent -git variants have enough votes. (libratbag and piper) libratbag is a DBus daemon to configure gaming mice[3] and piper is a GTK+ app to interface with it. I do not maintain this packages but I contribute to the upstream development. It would be helpful for the project if they were moved to an official repo as we are thinking about changing our CI's base distribution from Fedora to Arch. (tribler) Tribler is a popular torrent client with P2P content discovery[4]. (qspectrumanalyzer) This is a popular spectrum analyser for SDR devices[5]. It uses soapysdr as its default driver so it supports a wide range of SDR devices. (pulseaudio-equalizer-ladspa) This is a pulseaudio equalizer based on a ladspa plugin. It has a nice GTK+ based front-end to configure it. (synology-cloud-station-drive) This is a drive client for Synology devices[6]. I am also interested in adopting the following packages in community: - netcf - znc (packages bellow - probably, depending on my free time) - python2-caja - python2-cheetah - python2-exiv2 - python2-fastimport - python2-ipaddr I think that's it, thanks for bearing with me until the end. Best regards, Filipe Laíns ^.^ [1] https://github.com/FFY00 [2] https://github.com/pothosware/SoapySDR/wiki#features [3] https://github.com/libratbag/libratbag#libratbag [4] https://github.com/Tribler/tribler#tribler [5] https://github.com/xmikos/qspectrumanalyzer#qspectrumanalyzer [6] https://www.synology.com/en-global/releaseNote/CloudStationDrive
On July 12, 2018 7:47 pm, Filipe Laíns via aur-general wrote:
Hello,
My name is Filipe Laíns. You might also know me by my alias, FFY00.
I am applying to be a Trusted User with Dan Printzell's (Wild) sponsorship.
Let's get to the part where you get to know me a bit more
I am a Portuguese student and I use Linux as my main operating system since 2013. I gave Arch a try last year and I've been in love with it's ecosystem ever since.
Since then, I started contributing to AUR and I've been maintaining quite a few packages.
I am also fairly active in the Open Source community as you can see in my Github profile[1].
I love to help people and that is my main motivation to become a TU.
If I do become a Trusted User, one thing I would like to do is to improve the usability of Arch for SDR (software defined raio) development. I think Arch is a great system for this and it's a bit of a shame that one of the most relevant packages (soapysdr) isn't in any official repo. Most of the work to improve the SDR support in Arch has been done by Kyle Keen, and I thank him for that, but I still think we could do a bit more.
I don't plan to only maintain SDR related packages. I would like to maintain anything that I use, or anything that is relevant to anyone, really. If it makes someone's life easier it's a win.
With that being said, here's a list of packages that I plan to move to community: - soapysdr - soapyrtlsdr - libratbag - piper - tribler - qspectrumanalyzer - pulseaudio-equalizer-ladspa - synology-cloud-station-drive
Some comments on the packages,
(soapysdr and soapyrtlsdr) soapysdr is a vendor neutral SDR driver[2] and soapyrtlsdr is the rtlsdr plugin for it. The non -git versions of the packages are quite recent so they don't have much votes yet. Their correspondent -git variants have enough votes.
(libratbag and piper) libratbag is a DBus daemon to configure gaming mice[3] and piper is a GTK+ app to interface with it. I do not maintain this packages but I contribute to the upstream development. It would be helpful for the project if they were moved to an official repo as we are thinking about changing our CI's base distribution from Fedora to Arch.
(tribler) Tribler is a popular torrent client with P2P content discovery[4].
(qspectrumanalyzer) This is a popular spectrum analyser for SDR devices[5]. It uses soapysdr as its default driver so it supports a wide range of SDR devices.
(pulseaudio-equalizer-ladspa) This is a pulseaudio equalizer based on a ladspa plugin. It has a nice GTK+ based front-end to configure it.
(synology-cloud-station-drive) This is a drive client for Synology devices[6].
I am also interested in adopting the following packages in community: - netcf - znc (packages bellow - probably, depending on my free time) - python2-caja - python2-cheetah - python2-exiv2 - python2-fastimport - python2-ipaddr
I think that's it, thanks for bearing with me until the end.
Best regards, Filipe Laíns ^.^
[1] https://github.com/FFY00 [2] https://github.com/pothosware/SoapySDR/wiki#features [3] https://github.com/libratbag/libratbag#libratbag [4] https://github.com/Tribler/tribler#tribler [5] https://github.com/xmikos/qspectrumanalyzer#qspectrumanalyzer [6] https://www.synology.com/en-global/releaseNote/CloudStationDrive
I confirm my sponsorship. Let the discussion period begin! :) -- Dan Printzell
On July 12, 2018 7:50 pm, Dan Printzell wrote:
I confirm my sponsorship.
Let the discussion period begin! :)
The discussion period is now over. Let the voting period begin! TUs can cast their vote here: https://aur.archlinux.org/tu/?id=106 -- Dan Printzell
On July 17, 2018 8:50 pm, Dan Printzell wrote:
On July 12, 2018 7:50 pm, Dan Printzell wrote:
I confirm my sponsorship.
Let the discussion period begin! :)
The discussion period is now over. Let the voting period begin!
TUs can cast their vote here: https://aur.archlinux.org/tu/?id=106
-- Dan Printzell
The result are in... Congrats FFY00, you are now a TU! Results: - Yes: 27 - No: 6 - Abstain: 11 - Total: 44 -- Dan Printzell
On 07/24/2018 04:05 PM, Dan Printzell wrote:
On July 17, 2018 8:50 pm, Dan Printzell wrote:
On July 12, 2018 7:50 pm, Dan Printzell wrote:
I confirm my sponsorship.
Let the discussion period begin! :)
The discussion period is now over. Let the voting period begin!
TUs can cast their vote here: https://aur.archlinux.org/tu/?id=106
-- Dan Printzell
The result are in... Congrats FFY00, you are now a TU!
Results: - Yes: 27 - No: 6 - Abstain: 11 - Total: 44
Congratulations, Filipe! I have elevated your bugtracker account https://bugs.archlinux.org/user/27670 in the Community Packages and internal Keyring projects to the TU and Members usergroups, respectively, so you can now do bugtracker-ish things plus view and open keyring issues. Your AUR account has been elevated to the TU account type. As usual, take a look at https://wiki.archlinux.org/index.php/AUR_Trusted_User_Guidelines#TODO_list_f... to get any remaining preparatory items set up for you so you can get started. Welcome to the team. :) -- Eli Schwartz Bug Wrangler and Trusted User
On 07/12/2018 01:47 PM, Filipe Laíns via aur-general wrote:
Hello,
My name is Filipe Laíns. You might also know me by my alias, FFY00.
I am applying to be a Trusted User with Dan Printzell's (Wild) sponsorship.
It's always nice to see people eager to contribute more, good luck!
(synology-cloud-station-drive) This is a drive client for Synology devices[6].
We'll need permission from them for binary redistribution with all-rights-reserved software... they pretty specifically only offer single-user personal licenses to download, install, and run one copy from them alone. Like most proprietary EULA'ed software. ... On to the ztrawhcse review! I gave Filipe some advice over IRC prior to his application. As a result, many packages had their srcdir/pkgdir quoting fixed, or renamed sources to cooperate with shared $SRCDEST, or fixed style nits with inconsistently quoted variables As of the last time I checked, although some packages may be fixed already, the following issues were discovered... antlr3: - you updated the source to HTTPS on my advice, but forgot the url babl-git: - !libtool is not needed to build, and comes as default anyway these days - ./autogen.sh should be moved to prepare, and moved to autoreconf -fi if at all possible. In this case, it's a wrapper for autoreconf already :) cellular-network-configs-git: - unquoted srcdir/pkgdir cm256cc: - are the mv commands needed or not? - depends on boost but may only need that as makedepends, see if runtime depends could get away with only boost-libs dump1090-mutability-git: - unquoted srcdir/pkgdir - source should clone over git+https:// for TLS certificate checking - install script should switch to using systemd-sysusers - install script should not delete users on uninstall as this can be a security risk: https://www.archlinux.org/todo/usergroup-management/ - consider just using systemd DynamicUsers to run the service evernote-sdk-python: - patching should be done in prepare not build - should run python setup.py build in build before running install in package franz: - electron apps should use the system electron if possible - architecture-dependent binaries should go in /usr/lib not /usr/share - try to get desktop file into upstream project - should not conflict the bin package -- that is the bin package's job gdc1-bin: - sources should use HTTPS gdc-bin: - unquoted srcdir/pkgdir - sources should use HTTPS gdc-git: - unquoted srcdir/pkgdir - sources should use HTTPS - binutils is in base-devel and should not be a makedepends gegl-git: - autogen.sh in build should be moved to autoreconf -fi in prepare gimp-git: - url should be HTTPS - move sed'ing of configure.ac, autogen, to prepare and use autoreconf gr-limesdr-git: gr-limesdr: - MIT license must be installed in package inspectrum: - style: license array sticks out like a sore thumb by not being quoted like the surrounding variables - pkg-config is in base-devel and should not be a makedepends cellular-network-configs-git: evernote-sdk-python: gr-limesdr-git: gr-limesdr: limesuite: lime-tools-git: lms7002m-driver-git: - style: arch array sticks out like a sore thumb by not being quoted like the surrounding variables me-edit: - should build from source - don't use specific sourceforge mirror to download - wrapper script does not need to popd right before exiting a script - wrapper script would be better off symlinking to /usr/bin/ if possible mitmproxy-git: - unquoted pkgdir - MIT license must be installed in package - should run testsuite like community package does - should use system certifates instead of certifi, like community package does nodejs-nan: - should build from source tarball instead of pulling from the server at buildtime - nodejs packages need to fix non-deterministic chmod 777 on directories, see https://wiki.archlinux.org/index.php/Node.js_package_guidelines and https://github.com/npm/npm/issues/9359 pantheon-mail: - stable releases do not replace bzr packages pulseaudio-equalizer-ladspa: - renamed to unique sources on my advice, but dropped the .tar.gz pylms7002m-git: - unquoted srcdir pylms8001-git: - unquoted srcdir python2-entrypoints: - instead of downloading setup.py from git master of some fork, use the PyPI releases, for which flit has generated one for you. Or use flit. python2-keyrings-alt: - wrong url python2-secretstorage: - BSD license must be installed in package qspectrumanalyzer-git: - uses setuptools entry points so setuptools is a runtime dependency qt5-quick1-git: - should use #branch=dev for source instead of checking it out later qt5-quick1: - pinned to a git tag, then immediately checks out some branch??? redmine: - source/url should use HTTPS - $_instdir can contain spaces (based on $pkgdir) and must be quoted rivalcfg: rivalcfg-git: - setup.py contains setuptools entry points so setuptools is a runtime dependency - install script should be taken care of by udev + reload hook from systemd sdrangel-git: sdrangel: serialdv: soapyosmo: soapyrtlsdr: soapysdr: soapyuhd: - incorrectly marked as 'any' package soapyosmo: - GPLv3 license should be GPL3 soapyrtlsdr: - MIT license must be installed in package soapysdr: - Boost license is a common license in the 'licenses' package sparta: - url should use HTTPS - nmap/hydra seem to be optdepends, not makedepends ttf-d2coding: - OFL is not installed in the licenses package, so must be installed in this one - font packages don't intrinsically depend on fontconfig, fontconfig-using applications are among those that read font files should not provide/conflict itself - url is a redirect to the website's main page over HTTPS, find a better link vr180-creator: - electron app with no links to source is marked as MIT for the electron component, source archive contains binary node modules so cannot debundle electron without source, cannot find license for app itself writefull: - proprietary app using electron is marked as MIT, app.asar contains binary robotjs and spellchecker modules which can probably be rebuilt against and use system electron package - arch-dependent binaries should be installed to /usr/lib not /usr/share -- Eli Schwartz Bug Wrangler and Trusted User
Hey, First of all I just want to say that I have 58 packages on AUR and most of the PKGBUILDs (written by me) were written before I knew some of this. I tried to update most of them but as it's a really monotonous task, I missed some things. Eli, thanks for pointing them out. Also, most of these packages were orphan and I adopted them, I did not fix some of the mistakes right away because I didn't know these were indeed mistakes. With the time I learned about them but I didn't fix some of the packages because I have a lot of them. I have been fixing them as people point it out or when the PKGBUILD needs to be manually updated. Lately I have been making an effort to fix everything but apparently it wasn't enough. On Thu, Jul 12, 2018 at 11:04 PM, Eli Schwartz via aur-general <aur-general@archlinux.org> wrote:
It's always nice to see people eager to contribute more, good luck! Thank you!
We'll need permission from them for binary redistribution with all-rights-reserved software... they pretty specifically only offer single-user personal licenses to download, install, and run one copy from them alone. Like most proprietary EULA'ed software. Sure.
antlr3: - you updated the source to HTTPS on my advice, but forgot the url Fixed.
babl-git: - !libtool is not needed to build, and comes as default anyway these days - ./autogen.sh should be moved to prepare, and moved to autoreconf -fi if at all possible. In this case, it's a wrapper for autoreconf already :) Fixed.
cellular-network-configs-git: - unquoted srcdir/pkgdirThis was fixed in commit 4a4273f72a93824a16a2c1e86308986b26d9df54[1] This was fixed by commit 4a4273f72a93824a16a2c1e86308986b26d9df54[1] which is dated to 11 days ago so I don't understand.
cm256cc: - are the mv commands needed or not? - depends on boost but may only need that as makedepends, see if runtime depends could get away with only boost-libs The package installs the 64bit libraries in 'lib64' and 32bit ones in 'lib'. I am not comfortable enough to edit the CMakeLists file but if anyone wants to submit a patch, I would be happy to accept it :)
dump1090-mutability-git: - unquoted srcdir/pkgdir That was fixed in commit e28ca199c321913aec5295650fa34e0b3c4d81cc[2] which, again, dates to 11 days ago. - source should clone over git+https:// for TLS certificate checking Fixed. - install script should switch to using systemd-sysusers - install script should not delete users on uninstall as this can be a security risk: https://www.archlinux.org/todo/usergroup-management/ - consider just using systemd DynamicUsers to run the service I will fix this in one of the next few days.
evernote-sdk-python: - patching should be done in prepare not build - should run python setup.py build in build before running install in package Sorry about that. Fixed.
franz: - electron apps should use the system electron if possible - architecture-dependent binaries should go in /usr/lib not /usr/share - try to get desktop file into upstream project - should not conflict the bin package -- that is the bin package's job This package is broken and needs to be fixed in the upstream repository. I haven't fixed any of this issues because that. Once we are able to properly built the project, I will fix the whole PKGBUILD.
gdc1-bin: - sources should use HTTPS
gdc-bin: - unquoted srcdir/pkgdir - sources should use HTTPS
gdc-git: - unquoted srcdir/pkgdir - sources should use HTTPS - binutils is in base-devel and should not be a makedepends Fixed. Same story, e9488cd4afbe1eb2356a2ab32d85ba5f58f41049[3]
[3] https://aur.archlinux.org/cgit/aur.git/commit/?h=gdc-bin&id=e9488cd4afbe1eb2356a2ab32d85ba5f58f41049
gegl-git: - autogen.sh in build should be moved to autoreconf -fi in prepare Done.
gimp-git: - url should be HTTPS - move sed'ing of configure.ac, autogen, to prepare and use autoreconf Done.
gr-limesdr-git: gr-limesdr: - MIT license must be installed in package Fixed.
inspectrum: - style: license array sticks out like a sore thumb by not being quoted like the surrounding variables - pkg-config is in base-devel and should not be a makedepends Fixed.
cellular-network-configs-git: evernote-sdk-python: gr-limesdr-git: gr-limesdr: limesuite: lime-tools-git: lms7002m-driver-git: - style: arch array sticks out like a sore thumb by not being quoted like the surrounding variables Already fixed that.
me-edit: - should build from source - don't use specific sourceforge mirror to download - wrapper script does not need to popd right before exiting a script - wrapper script would be better off symlinking to /usr/bin/ if possible I will fix this later.
mitmproxy-git: - unquoted pkgdir - MIT license must be installed in package - should run testsuite like community package does - should use system certifates instead of certifi, like community package does Quotes fixed on commit b00815f18db26d304d981b420fdc28ea2a5f050f[4]. Done.
nodejs-nan: - should build from source tarball instead of pulling from the server at buildtime - nodejs packages need to fix non-deterministic chmod 777 on directories, see https://wiki.archlinux.org/index.php/Node.js_package_guidelines and https://github.com/npm/npm/issues/9359 Oh my god, this guiidelines are extremely wrong. Npm uses symlinks by default. If you follow this guidelines, "$pkgdir"/usr/lib/node_modules/module_name will be symlinked to "$srcdir"/$pkgname-$pkgver/module_name-module_version.
A correct approach would be: noextract=("$pkgname-$pkgver.tar.gz") ... package() { npm install -g --user root --prefix "$pkgdir"/usr "$srcdir"/$pkgname-$pkgver.tar.gz ... }
pantheon-mail: - stable releases do not replace bzr packages
pulseaudio-equalizer-ladspa: - renamed to unique sources on my advice, but dropped the .tar.gz Already fixed.
pylms7002m-git: - unquoted srcdir Fixed in 257e2d425fdc2ae56afc24cbdb7e5aef20ed40a3[5].
pylms8001-git: - unquoted srcdir Fixed in 6ff1ca164626b9d76251239c63c6fba70a3fd3a8[6].
[5] https://aur.archlinux.org/cgit/aur.git/commit/?h=pylms7002m-git&id=257e2d425fdc2ae56afc24cbdb7e5aef20ed40a3 [6] https://aur.archlinux.org/cgit/aur.git/commit/?h=pylms8001-git&id=6ff1ca164626b9d76251239c63c6fba70a3fd3a8
python2-entrypoints: - instead of downloading setup.py from git master of some fork, use the PyPI releases, for which flit has generated one for you. Or use flit. Done.
python2-keyrings-alt: - wrong url Fixed.
python2-secretstorage: - BSD license must be installed in package Fixed.
qspectrumanalyzer-git: - uses setuptools entry points so setuptools is a runtime dependency Fixed.
qt5-quick1-git: - should use #branch=dev for source instead of checking it out later Fixed.
qt5-quick1: - pinned to a git tag, then immediately checks out some branch??? Sorry about that, fixed.
redmine: - source/url should use HTTPS - $_instdir can contain spaces (based on $pkgdir) and must be quoted Fixed.
rivalcfg: rivalcfg-git: - setup.py contains setuptools entry points so setuptools is a runtime dependency - install script should be taken care of by udev + reload hook from systemd Fixed.
sdrangel-git: sdrangel: serialdv: soapyosmo: soapyrtlsdr: soapysdr: soapyuhd: - incorrectly marked as 'any' package Fixed.
soapyosmo: - GPLv3 license should be GPL3 Fixed.
soapyrtlsdr: - MIT license must be installed in package Done.
soapysdr: - Boost license is a common license in the 'licenses' package Fixed.
sparta: - url should use HTTPS - nmap/hydra seem to be optdepends, not makedepends Fixed.
ttf-d2coding: - OFL is not installed in the licenses package, so must be installed in this one - font packages don't intrinsically depend on fontconfig, fontconfig-using applications are among those that read font files should not provide/conflict itself - url is a redirect to the website's main page over HTTPS, find a better link Fixed.
vr180-creator: - electron app with no links to source is marked as MIT for the electron component, source archive contains binary node modules so cannot debundle electron without source, cannot find license for app itself Google hasn't released the source yet afaik. I will rename the package as -bin. Fixed the license issue.
writefull: - proprietary app using electron is marked as MIT, app.asar contains binary robotjs and spellchecker modules which can probably be rebuilt against and use system electron package - arch-dependent binaries should be installed to /usr/lib not /usr/share Fixed the license issue. I will rename the package as -bin as I don't whish to rebuild the modules.
Thank you, Filipe Laíns
Am 13.07.2018 um 16:11 schrieb Filipe Laíns via aur-general:
cm256cc: - are the mv commands needed or not? - depends on boost but may only need that as makedepends, see if runtime depends could get away with only boost-libs The package installs the 64bit libraries in 'lib64' and 32bit ones in 'lib'. I am not comfortable enough to edit the CMakeLists file but if anyone wants to submit a patch, I would be happy to accept it :)
-DCAMKE_INSTALL_LIBDIR=lib ? btw: Wasn't there a discussion to not use DCMAKE_BUILD_TYPE in cmake packages? All the best and good luck for you application, Michael
Hey, On Fri, Jul 13, 2018 at 3:20 PM, Michael Straube via aur-general <aur-general@archlinux.org> wrote:
-DCAMKE_INSTALL_LIBDIR=lib ? Thank you! I will use that. I am more of a meson guy and this kind of isn't usually a problem. Now that I see, the solution is really simple and I feel a bit silly, ahah.
All the best and good luck for you application, Thank you!
Filipe Laíns :)
On 07/13/2018 10:11 AM, Filipe Laíns via aur-general wrote:
Hey,
First of all I just want to say that I have 58 packages on AUR and most of the PKGBUILDs (written by me) were written before I knew some of this. I tried to update most of them but as it's a really monotonous task, I missed some things. Eli, thanks for pointing them out. Also, most of these packages were orphan and I adopted them, I did not fix some of the mistakes right away because I didn't know these were indeed mistakes. With the time I learned about them but I didn't fix some of the packages because I have a lot of them. I have been fixing them as people point it out or when the PKGBUILD needs to be manually updated. Lately I have been making an effort to fix everything but apparently it wasn't enough.
Very few people are "good enough" when I really get on a roll... I generally consider it sufficient that people learn from my critiques, fix them promptly, and incorporate that feedback into further efforts. The only thing that really startled me, actually, were the packages which build ELF binaries but were marked as "any" packages.
cellular-network-configs-git: - unquoted srcdir/pkgdirThis was fixed in commit 4a4273f72a93824a16a2c1e86308986b26d9df54[1] This was fixed by commit 4a4273f72a93824a16a2c1e86308986b26d9df54[1] which is dated to 11 days ago so I don't understand.
As with the other unquoted variables issues... it may have been committed 11 days ago but my git pull from when I started my review did not have that yet, perhaps you never pushed it? I did say some of those issues were already fixed before I sent off my email -- I did not go back to re-analyze the packages I'd already looked at based on the fixed versions. ;)
cm256cc: - are the mv commands needed or not? - depends on boost but may only need that as makedepends, see if runtime depends could get away with only boost-libs The package installs the 64bit libraries in 'lib64' and 32bit ones in 'lib'. I am not comfortable enough to edit the CMakeLists file but if anyone wants to submit a patch, I would be happy to accept it :)
Then I would guard this by if [[ $CARCH = x86_64 ]]; then do_64_bit_things else do_32_bit_things fi Don't ignore unexpected errors, if there's no lib64 folder on x86_64 builds then something went wrong and either should be fixed, or old workarounds should be removed -- either way using || true, means you'll never know.
nodejs-nan: - should build from source tarball instead of pulling from the server at buildtime - nodejs packages need to fix non-deterministic chmod 777 on directories, see https://wiki.archlinux.org/index.php/Node.js_package_guidelines and https://github.com/npm/npm/issues/9359 Oh my god, this guiidelines are extremely wrong. Npm uses symlinks by default. If you follow this guidelines, "$pkgdir"/usr/lib/node_modules/module_name will be symlinked to "$srcdir"/$pkgname-$pkgver/module_name-module_version.
A correct approach would be:
noextract=("$pkgname-$pkgver.tar.gz") ...
package() { npm install -g --user root --prefix "$pkgdir"/usr "$srcdir"/$pkgname-$pkgver.tar.gz
... }
nodejs packaging confuses me incredibly. I've only got one package which uses nodejs, and this is what I do: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=rapydscript-ng-git#n3... I build it in build() and then I manually cp things to $pkgdir and write my own symlink for /usr/bin scripts. It seems to work okay...
vr180-creator: - electron app with no links to source is marked as MIT for the electron component, source archive contains binary node modules so cannot debundle electron without source, cannot find license for app itself Google hasn't released the source yet afaik. I will rename the package as -bin. Fixed the license issue.
writefull: - proprietary app using electron is marked as MIT, app.asar contains binary robotjs and spellchecker modules which can probably be rebuilt against and use system electron package - arch-dependent binaries should be installed to /usr/lib not /usr/share Fixed the license issue. I will rename the package as -bin as I don't whish to rebuild the modules.
For your three electron apps, you get to have fun, because electron is fun! Haha, I lied, it's not fun at all. They're basically always bin packages because electron. Debundling is complicatedly weird, but I've successfully done so for e.g. community/keybase-gui. When I get around to it I need to create a new wiki page documenting how to handle this correctly... I definitely understand if you've got no will to make proper non-bin packages, that being said it would be neat if you could do so anyway since having dozens of outdated, insecure copies of prebuilt electron (thanks, electron devs!) is pretty dreary and also wasteful of disk space. -- Eli Schwartz Bug Wrangler and Trusted User
Hey, On Fri, Jul 13, 2018 at 3:45 PM, Eli Schwartz via aur-general <aur-general@archlinux.org> wrote:
Very few people are "good enough" when I really get on a roll... I generally consider it sufficient that people learn from my critiques, fix them promptly, and incorporate that feedback into further efforts.
The only thing that really startled me, actually, were the packages which build ELF binaries but were marked as "any" packages.
I understand. To be fair in AUR we only build the package for our architecture, so that never seemed like a red flag until you pointed it out. But now I see how important it is to have a proper arch field :)
As with the other unquoted variables issues... it may have been committed 11 days ago but my git pull from when I started my review did not have that yet, perhaps you never pushed it?
I did say some of those issues were already fixed before I sent off my email -- I did not go back to re-analyze the packages I'd already looked at based on the fixed versions. ;)
That was probably it, sorry.
Then I would guard this by
if [[ $CARCH = x86_64 ]]; then do_64_bit_things else do_32_bit_things fi
Don't ignore unexpected errors, if there's no lib64 folder on x86_64 builds then something went wrong and either should be fixed, or old workarounds should be removed -- either way using || true, means you'll never know.
I'll use Michael's approach but thanks for pointing this out, it will probably be useful in similar situations that can't be resolved in cmake.
nodejs packaging confuses me incredibly. I've only got one package which uses nodejs, and this is what I do: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=rapydscript-ng-git#n3...
I build it in build() and then I manually cp things to $pkgdir and write my own symlink for /usr/bin scripts. It seems to work okay...
I agree. That's a good approach but I think mine is a bit cleaner, ahah :)
For your three electron apps, you get to have fun, because electron is fun! Haha, I lied, it's not fun at all.
They're basically always bin packages because electron. Debundling is complicatedly weird, but I've successfully done so for e.g. community/keybase-gui. When I get around to it I need to create a new wiki page documenting how to handle this correctly...
I definitely understand if you've got no will to make proper non-bin packages, that being said it would be neat if you could do so anyway since having dozens of outdated, insecure copies of prebuilt electron (thanks, electron devs!) is pretty dreary and also wasteful of disk >space.
That is something I'll keep in mind this summer. I really dislike electron because I don't see the point of packaging a full runtime with each app (!!) so I am not really motivated to maintain non-bin electron packages. I might try to do it if I have spare time, that could turn out to be a fun puzzle. Thanks, Filipe Laíns
On 12/07/18, Eli Schwartz via aur-general wrote:
On to the ztrawhcse review!
I gave Filipe some advice over IRC prior to his application. As a result, many packages had their srcdir/pkgdir quoting fixed, or renamed sources to cooperate with shared $SRCDEST, or fixed style nits with inconsistently quoted variables
As of the last time I checked, although some packages may be fixed already, the following issues were discovered... [..]
Is there a way to get this analysis on a script - it's a gem! Thanks -- Leonidas Spyropoulos A: Because it messes up the order in which people normally read text. Q: Why is it such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
participants (5)
-
Dan Printzell
-
Eli Schwartz
-
Filipe Laíns
-
Leonidas Spyropoulos
-
Michael Straube