Solved delete

  • Thread starter Deleted member 69948
  • Start date
D

Deleted member 69948

Guest
Do you need to create a port first and then make a package from that then install it? Is that the correct procedure? Are you supposed to use Poudriere: https://docs.freebsd.org/en/books/handbook/ports/#ports-poudriere Where exactly in these instructions does it show where to supply the source code? Let's go through the steps listed on this page:

1. Poudriere is installed using the ports-mgmt/poudriere package or port. The installation includes a sample configuration file /usr/local/etc/poudriere.conf.sample. Copy this file to /usr/local/etc/poudriere.conf. Edit the copied file to suit the local configuration.

Okay, so Poudriere is installed and configured.

2. After configuration, initialize poudriere so that it installs a jail with the required FreeBSD tree and a ports tree. Specify a name for the jail using -j and the FreeBSD version with -v. On systems running FreeBSD/amd64, the architecture can be set with -a to either i386 or amd64. The default is the architecture shown by uname.

Okay, so we have created a jail with a FreeBSD tree and a ports tree. So far so good.

3. The basic configuration shown here puts a single jail-, port-, and set-specific make.conf in /usr/local/etc/poudriere.d. The filename in this example is created by combining the jail name, port name, and set name: 11amd64-local-workstation-make.conf. The system make.conf and this new file are combined at build time to create the make.conf used by the build jail.
Packages to be built are entered in 11amd64-local-workstation-pkglist:

editors/emacs
devel/git
ports-mgmt/pkg
...


Okay, so now we specify which packages to build in the .conf file. Does the source code go in these directories? Because it doesn't say that.

4. Options and dependencies for the specified ports are configured:
# poudriere options -j 11amd64 -p local -z workstation -f 11amd64-local-workstation-pkglist

Options and dependencies are configured. Okay.

5. Finally, packages are built and a package repository is created:
# poudriere bulk -j 11amd64 -p local -z workstation -f 11amd64-local-workstation-pkglist

Great, but where is the source code? Is it put in those directories in step 3? Do these instructions take you from source code to installable package? And the only thing I'm not understanding is where to put the source code?
 
Last edited by a moderator:
Dear Gitman,
for first tests you can compile the software anywhere without creating a port. It could be somewhere in your home directory or you create a jail. You have to install the build dependencies. It can be that you have to modify the software's Makefile or so. Finally you will end up with an executable which should work when the runtime dependencies are installed.

Then you can create a port if you like. This will integrate all modifications you have done. Please have a look at https://docs.freebsd.org/en/books/porters-handbook/ for details. The final step is to use ports-mgmt/poudriere to verify that everything is fine.
 
I wonder how do i write a hello_world_in_c port ?
Probably it's in the porters book or the answer is RTFM.
But i cannot undo the impression that the learncurve can have steep steps.
 
I wonder how do i write a hello_world_in_c port ?
Probably it's in the porters book or the answer is RTFM.
But i cannot undo the impression that the learncurve can have steep steps.
The answer is that you're probably not a human. And that's the nicest way I can say it. Can someone delete my account on this site? I cannot seem to find the option in my profile.
 
I wonder how do i write a hello_world_in_c port ?
Probably it's in the porters book or the answer is RTFM.
But i cannot undo the impression that the learncurve can have steep steps.
Can someone delete my account?
 
https://docs.freebsd.org/en/books/porters-handbook/plist/#plist-keywordsYes the learning curve is too damned step to accomplish a very simple task of creating a binary package from these 7 files:

  1. ./share/applications/generate_user_report.desktop #Desktop application file
  2. ./lib/guru/Makefile #Makefile
  3. ./lib/guru/README.md #Standard Readme file written in MarkDown language
  4. ./lib/guru/Report_fred-ghostbsd-pc1_2020-04-05_example.txt #Example Report.txt File created from User_Report.sh file
  5. ./lib/guru/User_Report.py #Python script file to create the GUI interface with a couple buttons
  6. ./lib/guru/User_Report.sh #Shell Script file
  7. ./lib/guru/applets-screenshooter.png #Icon file

No creation from a Makefile is needed.

Freebsd pkg #manifest
Best simple use of "pkg create" tool Best description on the web
Packaging setup, useage, and explanation
How to make a binary package, using FreeBSD tools
Quick Porting example from Porters Handbook

https://forums.freebsd.org/threads/creating-a-pkg-with-pkg-create.88358/#post-602161 Pat Maddox March 2023 help with pkg creation
Section 3.2..2 porting pkg plist
 
Back
Top