Re: A potential new porter seeking some clarifications
On 14/12/2018 7:09 pm, Kubilay Kocak wrote: While special targets (check-plist) can be and are useful, the only form of QA we should be doing is 'all of it', and at the present moment, that is: 1) portlint -AC (or better) 2) poudriere testport (supported versions/archs, at least tier1 [1]) 3) make test for run-time QA [2] I forgot: 4) DEVELOPER=yes in /etc/make.conf for extra sanity checks Even (1) and (2) alone, while being the making up the bulk of our QA, which is notable not 'everything, everytime', is insufficient, as it mostly picks up only 'our' errors, not the softwares issues, which ultimately impact users. [1] non tier1 is not as trivial as it should be to setup in poudriere. [2] if test suites exist, TEST_DEPENDS and test: target should be hooked up ./koobs ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: A potential new porter seeking some clarifications
On 14/12/2018 2:11 am, Lars Engels wrote: On Thu, Dec 13, 2018 at 10:41:01PM +0800, Arthur Pirika wrote: Hi all! I’m hoping to get into porting for FreeBSD, right now just focusing on one package, a plugin for bitlbee, however I’d like to extend my hand to maintain other ports in the future once I have more knowledge and practice with the system. Welcome! :-) Before I start, though, I just need some clarifications of things from the porter’s handbook. 1. If I understand correctly, the version of the ports tree as fetched by portsnap isn’t the best for working on the tree. I should instead make another copy of the tree as an svn checkout? Distfiles, however, still go to /usr/ports/distfiles You can change this by setting DISTDIR variable in /etc/make.conf to a directory you like. See ports(7) manpage. 2. Is it absolutely necessary to use poudriere before submitting a port? I’m still getting to grips with how it works, and if I need to get comfortable with it first, I’ll do so. That really depends on the change's size. Trivial patches can often be sub-/committed without a poudriere run. portlint -ac, make check-plist and make package can find potential issues for you. Bigger changes should be build in poudriere. You don't need to attach the logs to the PR, though. tldr: It is absolutely necessary if we don't want to shuffle 'quality' work to "someone else" as a project/culture/community, we want to pick up issues as early as possible and if we want our contributions as committers and not-yet-committers alike to be taken seriously, hopefully resulting in quicker times to commit in the latter case. The degree of QA required, putting it gently, is not at all contingent on, or proportional to *change* size or "apparent" simplicity. That contention needs to go away. Note: Lars, I'm certainly not pointing the finger at you here, or anyone else in particular. The canonical example historically used, and sometimes (too often) described as 'simple' by both committers and contributors, mostly only ever used to imply that QA (or more of it) isn't necessary to get a Bugzilla issue assigned/closed more quickly, is the "minor PORTVERSION bump and a distinfo update". In the meantime along with that two line "simple" patch, upstream has added/removed dependencies, added or removed a few files (pkg-plist), or at worst, broken/regressed something entirely, to name only a few cases. While special targets (check-plist) can be and are useful, the only form of QA we should be doing is 'all of it', and at the present moment, that is: 1) portlint -AC (or better) 2) poudriere testport (supported versions/archs, at least tier1 [1]) 3) make test for run-time QA [2] Even (1) and (2) alone, while being the making up the bulk of our QA, which is notable not 'everything, everytime', is insufficient, as it mostly picks up only 'our' errors, not the softwares issues, which ultimately impact users. [1] non tier1 is not as trivial as it should be to setup in poudriere. [2] if test suites exist, TEST_DEPENDS and test: target should be hooked up ./koobs ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: A potential new porter seeking some clarifications
On Thu, Dec 13, 2018 at 11:00 AM George Mitchell wrote: > > On 12/13/18 10:06 AM, Matthew Seaman wrote: > > [...] So long as you have sufficient disk space > > and you aren't trying to rebuild the entire ports tree, it can work well > > on a very ordinary desktop machine. [...] > > Still getting used to the idea that a machine with >16GB would today > be considered a "very ordinary desktop machine." -- Decrepit old George Do yourself a favour though and use ZFS. Poudriere is fast and elegant on ZFS. It is unavoidably painfully slow on UFS/FFS. # Adam -- Adam Weinberger ad...@adamw.org https://www.adamw.org ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: A potential new porter seeking some clarifications
On 12/13/18 10:06 AM, Matthew Seaman wrote: > [...] So long as you have sufficient disk space > and you aren't trying to rebuild the entire ports tree, it can work well > on a very ordinary desktop machine. [...] Still getting used to the idea that a machine with >16GB would today be considered a "very ordinary desktop machine." -- Decrepit old George signature.asc Description: OpenPGP digital signature
Re: A potential new porter seeking some clarifications
On Thu, Dec 13, 2018 at 10:41:01PM +0800, Arthur Pirika wrote: > Hi all! I’m hoping to get into porting for FreeBSD, right now just focusing > on one package, a plugin for bitlbee, however I’d like to extend my hand to > maintain other ports in the future once I have more knowledge and practice > with the system. Hello! > Before I start, though, I just need some clarifications of things from the > porter’s handbook. > > 1. If I understand correctly, the version of the ports tree as fetched by > portsnap isn’t the best for working on the tree. I should instead make > another copy of the tree as an svn checkout? Distfiles, however, still go to > /usr/ports/distfiles You don't necessary need use a separated copy of the ports tree, you can use a svn copy in the default location; however it can become a bit problematic sometimes, like when you are working on ports that you use but you won't/can't use the updated version yet. Portsnap is intended for end users only, so it is not really practical to use while working with ports, and you can get all your work deleted with a random tree update. ;-) > 2. Is it absolutely necessary to use poudriere before submitting a port? >I’m still getting to grips with how it works, and if I need to get >comfortable with it first, I’ll do so. Poudriere is the default tool to test ports. The `poudriere testport` facility does several extra checks during the building-packaging process. So, it is very desirable to have its logs when you fill a bug report, since it can speed up the review process. Some help with poudriere: https://github.com/freebsd/poudriere/wiki This is a bit old but still helpful: https://www.digitalocean.com/community/tutorials/how-to-set-up-a-poudriere-build-system-to-create-packages-for-your-freebsd-servers > Thanks! > Arthur You're welcome. > ___ > freebsd-ports@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org" -- Best Regards, Alexandre C. Guimarães. https://bitbucket.org/rigoletto-freebsd/ signature.asc Description: PGP signature
Re: A potential new porter seeking some clarifications
On Thu, Dec 13, 2018 at 10:41:01PM +0800, Arthur Pirika wrote: > Hi all! I’m hoping to get into porting for FreeBSD, right now just > focusing on one package, a plugin for bitlbee, however I’d like to > extend my hand to maintain other ports in the future once I have more > knowledge and practice with the system. Welcome! :-) > > Before I start, though, I just need some clarifications of things from the > porter’s handbook. > > 1. If I understand correctly, the version of the ports tree as fetched > by portsnap isn’t the best for working on the tree. I should instead > make another copy of the tree as an svn checkout? Distfiles, however, > still go to /usr/ports/distfiles You can change this by setting DISTDIR variable in /etc/make.conf to a directory you like. See ports(7) manpage. > 2. Is it absolutely necessary to use poudriere before submitting a > port? I’m still getting to grips with how it works, and if I need to > get comfortable with it first, I’ll do so. That really depends on the change's size. Trivial patches can often be sub-/committed without a poudriere run. portlint -ac, make check-plist and make package can find potential issues for you. Bigger changes should be build in poudriere. You don't need to attach the logs to the PR, though. ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: A potential new porter seeking some clarifications
On 13/12/2018 14:41, Arthur Pirika wrote: 1. If I understand correctly, the version of the ports tree as fetched by portsnap isn’t the best for working on the tree. I should instead make another copy of the tree as an svn checkout? Distfiles, however, still go to /usr/ports/distfiles If you're going to be submitting patches or creating Phabricator reviews, then it is definitely recommended that you checkout the ports out of either SVN or Git -- whichever you prefer -- and generate your diffs against the head of the development tree (eg. by 'svn diff'). Although there is a copy of the ports tree available via GitHub, don't try using GitHub to create pull requests for the ports. At worst, no one will notice and at best you'll just be asted to re-submit your diff as a PR or a Phab. review. Using one common distfiles location is usually what you'ld want to do in order to save on repeated downloads of the same distfiles. 2. Is it absolutely necessary to use poudriere before submitting a port? I’m still getting to grips with how it works, and if I need to get comfortable with it first, I’ll do so. It's absolutely necessary to test your work, and the generally accepted way to do that involves using poudriere to do clean-room builds. Other testing methodologies are possible, but generally less effective and less convenient. Don't be frightened of poudriere: it's much easier and nicer to use than many people seem to think. So long as you have sufficient disk space and you aren't trying to rebuild the entire ports tree, it can work well on a very ordinary desktop machine. Cheers, Matthew ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
A potential new porter seeking some clarifications
Hi all! I’m hoping to get into porting for FreeBSD, right now just focusing on one package, a plugin for bitlbee, however I’d like to extend my hand to maintain other ports in the future once I have more knowledge and practice with the system. Before I start, though, I just need some clarifications of things from the porter’s handbook. 1. If I understand correctly, the version of the ports tree as fetched by portsnap isn’t the best for working on the tree. I should instead make another copy of the tree as an svn checkout? Distfiles, however, still go to /usr/ports/distfiles 2. Is it absolutely necessary to use poudriere before submitting a port? I’m still getting to grips with how it works, and if I need to get comfortable with it first, I’ll do so. Thanks! Arthur ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"