Solved New project for base

I am making a program to build ports-mgmt/poudriere and devel/git (tiny flavor) directly after installation (without using pkg install). It uses FreeBSD cgit to download the needed files. In theroy, it is able to build any port. It's not finished, it doens't support any options for now as I am not sure what it should/shouldn't support.

If it is of any interrest, I would like to discuss about this, what should I do? A PR in the bin component of base?
 
Last edited:
You don't have to be a committer to create a phab.
You will need support to get it committed.

I feel the 'request for comment' phase should be long.
Try several different mailing list topics that are relevant.

Make/show some sample code so people could check out your work.
Fork FreeBSD at git and integrate your changes in your branch..
 
I would first ask: why?

Are you trying to create an alternative way for "bootstrapping" ports? If so, I can understand the idea, but it sounds complicated. And second comment: for bootstrapping, git would be enough (which can't be just included in base for licensing reasons), I don't understand the motivation to also include poudriere? I mean, once you fetched a ports tree using git, just build it yourself?

Furthermore, but that's going deeper and should probably be discussed on the list: how do you install the result? How will it integrate with pkg?
 
Thinking about it further, still assuming this idea is about bootstrapping ports with git (if not, disregard this :rolleyes:), I would suggest a slightly different outline:
  1. Fetch, build and install ports-mgmt/pkg
  2. Fetch and build devel/git@lite (installing it using pkg)
  3. Clone ports.git from the official repo to /usr/ports
And from here on, the user is "bootstrapped" using git (instead of just a ports tree extracted from installation media or obtained with portsnap).
 
I want to say too why in base? We are getting too bloated as is.
Can't your new wonder program work as a port, just as poudriere does?
 
Make some same code so people could check out your work.
Fork FreeBSD at git and integrate your changes in your branch..
I will need to learn some stuff there I don't know how to use git.

Are you trying to create an alternative way for "bootstrapping" ports? If so, I can understand the idea, but it sounds complicated. And second comment: for bootstrapping, git would be enough (which can't be just included in base for licensing reasons), I don't understand the motivation to also include poudriere? I mean, once you fetched a ports tree using git, just build it yourself?
Yes, and yes. I didn't think about it but you're right, I just need git.
I had in mind that some user may only need one port with specific options and that the program should be able to only fetch the appropriate files without downloading the all tree while installing the dependencies with pkg.

Thinking about it further, still assuming this idea is about bootstrapping ports with git (if not, disregard this :rolleyes:), I would suggest a slightly different outline:
  1. Fetch, build and install ports-mgmt/pkg
  2. Fetch and build devel/git@lite (installing it using pkg)
  3. Clone ports.git from the official repo to /usr/ports
And from here on, the user is "bootstrapped" using git (instead of just a ports tree extracted from installation media or obtained with portsnap).
Exactly. That's why I wanted to talk about this. I didn't do the 3rd one as I said, I had something in else mind.
 
I want to say too why in base? We are getting too bloated as is.
Can't your new wonder program work as a port, just as poudriere does?
That's the point of it. To bootstrap the port tree with git. Well as it's main purpose.

The way I did that is by basically running into make errors and catching what files are missing. Others way (clean) were inconsistent and take more process to do so.
 
Furthermore, but that's going deeper and should probably be discussed on the list: how do you install the result? How will it integrate with pkg?
I am not sure about it. If it should only do your 3 points then I think installing directly on the system is fine. Otherwise, creating a jail with readonly nullfs mounts from the system, but I am not sure if that's possible or safe... eg: mount -t nullfs -r /bin /path/bin
 
The reply to your phab is as expected.
You didn't suss out enough opinion. As I stated do RFC and give it time. Then phab.
You could have saved your self some work by getting many comments.
Perhaps new problem approach angles you had not considered.

Not trying to be a jerk I just did not know enough about the topic to comment on worthiness.

Look at it this way. You problem was reviewed by one of our most prolific developers.
In a very short timeframe. That is a good thing.
 
I was just reading your code and it is well written.
I think you have to realize this is what the developers have to do. Filter code additions.
Regardless how well it is written, is it the best way to achieve the task.
So that goes from technical to opinion based. What is the best way?
 
The reply to your phab is as expected.
Yes, he made a very good point. There is no real advantage in using this.

I was just reading your code and it is well written.
Thanks, I learned how to by using FreeBSD. I try to reproduce some code and techniques I looked at in the sources.

So that goes from technical to opinion based. What is the best way?
I'll try to make my case and see what comes out of this.
 
Back
Top