Re: A potential new porter seeking some clarifications

2018-12-14 Thread Kubilay Kocak

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

2018-12-14 Thread Kubilay Kocak

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

2018-12-13 Thread Adam Weinberger
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

2018-12-13 Thread George Mitchell
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

2018-12-13 Thread Alexandre C . Guimarães
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

2018-12-13 Thread Lars Engels
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

2018-12-13 Thread Matthew Seaman

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

2018-12-13 Thread Arthur Pirika
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"