* Few packaging questions
@ 2015-01-22 20:51 Logen Kain
2015-01-22 23:21 ` Stefan Mühlinghaus
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Logen Kain @ 2015-01-22 20:51 UTC (permalink / raw)
To: voidlinux
[-- Attachment #1.1: Type: text/plain, Size: 2350 bytes --]
If I have more dependencies listed than I actually need, what is the
easiest way to check?
Where is the easiest place to see the list of packages that don't need to
be explicitly declared? Which, if I understand correctly, should be all
the bootstrap packages.
I would like to add a Packaging 101 to the wiki where I explain quick and
dirty ways to get a package running.
My typical method:
-
Add the make jobs to my ./etc/conf
-
Find source I want to package.
-
Look at list of depends if the dev has it readily available.
-
Find the equivalent void packages that have those depends. If the
depends have a 32bit version, add it to target, if not, add it to host
-
Add them to a template along with all the basic information.
-
Tell xbps to install
-
grab the checksum from hostdir, add it to the template, and run again.
-- Can also download the file separately but I prefer to do it this way for
consistency
-
Notice any config errors and add more dependencies.
Keep going about it that way till it builds, if there are other strange
errors I take a look at the AUR to see if they patch it. At that point
I'll either make a patch or try to run a GIT version.
If I have any questions I consult the Manual religiously. If I still can't
figure it out I'd post to google+, thankfully now people are using this
forum so I can post here.
As for the "depends" line, I'm also not sure how to figure out everything a
package depends on. If I check the dependencies on package foo after I
build it, and I haven't added any depends, will it still list the depends I
need to add to the template? Or does xbps-query get it's depends
information from the built package?
I'd like to refine my process here with knowledge from the community before
doing a write up on the wiki.
Things that I'd like to add to the wiki:
-
my process, as noted above
-
an example of each build style with explanations
-
an example without a build style
-
How to install a custom built package
If you've gotten this far, thanks for taking the time and I hope I can get
some new insight on how I suck at packaging ^_^
[-- Attachment #1.2: Type: text/html, Size: 2955 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Few packaging questions
2015-01-22 20:51 Few packaging questions Logen Kain
@ 2015-01-22 23:21 ` Stefan Mühlinghaus
2015-01-23 3:29 ` Logen Kain
2015-02-02 19:09 ` Logen Kain
2015-01-23 9:13 ` Stefan Mühlinghaus
2015-02-02 19:05 ` Logen Kain
2 siblings, 2 replies; 9+ messages in thread
From: Stefan Mühlinghaus @ 2015-01-22 23:21 UTC (permalink / raw)
To: voidlinux
[-- Attachment #1.1: Type: text/plain, Size: 1114 bytes --]
Yes, a packing howto would be interesting, especially dependency
resolution. My current approach is working so far, but I'm wondering if it
could not be streamlined. Are there any void-tools that support manual
dependency resolution?
Also I don't think I understand your reasoning of what to add to which
"depends"-variable. Maybe I'm misunderstanding you, but this is how I
divide them:
- *hostmakedepends:* All the stuff that the building machine needs to be
able to run through the building process. Mostly tools, like pkg-config or
somesuch. This is needed regardless of which architecture you are building
for.
- *makedepends:* All stuff that is needed du build the package on the
building machine. Usually devel-versions of the required libraries. This is
dependant on the architecture you are building for.
- *depends:* All the stuff required to run the package on the target
system. Not needed at all on the building machine, and dependant on the
target architecture.
I'm probably stating something obvious here, but there you go :)
[-- Attachment #1.2: Type: text/html, Size: 1191 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Few packaging questions
2015-01-22 23:21 ` Stefan Mühlinghaus
@ 2015-01-23 3:29 ` Logen Kain
2015-02-02 19:09 ` Logen Kain
1 sibling, 0 replies; 9+ messages in thread
From: Logen Kain @ 2015-01-23 3:29 UTC (permalink / raw)
To: voidlinux
[-- Attachment #1.1: Type: text/plain, Size: 1320 bytes --]
- *depends:* All the stuff required to run the package on the target
system. Not needed at all on the building machine, and dependant on the
target architecture.
I have the issue of knowing what those dependancies actually are. Usually
when I find lists from upstream they list everything needed to build which
also happens to (usually) include the run-time depends as well. I'm just
not sure how to easily seperate the run-time depends from the build
dependancies. Most of what I know are simply things that i've learned over
practice, such as .desktop files requireing desktop-file-utils to work
properly.
I would like the wiki page to be able to help people jump into package
creation. My hope is that if people see a jump start guide, they will be
more inclined to try and build packages and refernce our excellent manual
when more detailed information is needed.
Which I suppose means that the wiki needs to be a short and consise,
perhaps even dirty, guide so people can get their toes a bit wet before
diving into the full manual. Diving into a manual such as that is
intemidating, even if it's important.
Oh note to self: Add commit message standards for anyone intending to do a
pull request as well as basic forking on github instructions.
[-- Attachment #1.2: Type: text/html, Size: 1369 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Few packaging questions
2015-01-22 23:21 ` Stefan Mühlinghaus
2015-01-23 3:29 ` Logen Kain
@ 2015-02-02 19:09 ` Logen Kain
1 sibling, 0 replies; 9+ messages in thread
From: Logen Kain @ 2015-02-02 19:09 UTC (permalink / raw)
To: voidlinux
[-- Attachment #1.1: Type: text/plain, Size: 1080 bytes --]
>
>
> - *hostmakedepends:* All the stuff that the building machine needs to
> be able to run through the building process. Mostly tools, like pkg-config
> or somesuch. This is needed regardless of which architecture you are
> building for.
> - *makedepends:* All stuff that is needed du build the package on the
> building machine. Usually devel-versions of the required libraries. This is
> dependant on the architecture you are building for.
> - *depends:* All the stuff required to run the package on the target
> system. Not needed at all on the building machine, and dependant on the
> target architecture.
>
>
>
I just realized I never clarified myself here, my bad.
The way I look at it:
- *hostmakedepends: *Depends that are not architecture specific.
- *makedepends:* Depends that *are* architecture specific. - So I check
if 32-bit packages exist. If they do, I know it's architecture specific.
- *depends: *Same as what you said, which actually helped clarify it a
bit for me.
[-- Attachment #1.2: Type: text/html, Size: 1313 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Few packaging questions
2015-01-22 20:51 Few packaging questions Logen Kain
2015-01-22 23:21 ` Stefan Mühlinghaus
@ 2015-01-23 9:13 ` Stefan Mühlinghaus
2015-02-02 19:05 ` Logen Kain
2 siblings, 0 replies; 9+ messages in thread
From: Stefan Mühlinghaus @ 2015-01-23 9:13 UTC (permalink / raw)
To: voidlinux
[-- Attachment #1.1: Type: text/plain, Size: 517 bytes --]
Ah, I see what you mean. Regarding runtime dependencies void is very
forthcoming since it usually automatically detects them and you will not
have to specify anything. You only need to add what cannot be detected
automatically, and that boils down to the infos from the softwares author
and what you can discern yourself by testing. I don't think that part can
be significantly simplified since the possible ways one package can depend
on another are so diverse. I would gladly be proven wrong though ;)
[-- Attachment #1.2: Type: text/html, Size: 524 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Few packaging questions
2015-01-22 20:51 Few packaging questions Logen Kain
2015-01-22 23:21 ` Stefan Mühlinghaus
2015-01-23 9:13 ` Stefan Mühlinghaus
@ 2015-02-02 19:05 ` Logen Kain
[not found] ` <CABLHwtef9mKadZZFR+06yNZhuOE8YS_Z_3FHE=xgZ9FUoX409Q@mail.gmail.com>
2 siblings, 1 reply; 9+ messages in thread
From: Logen Kain @ 2015-02-02 19:05 UTC (permalink / raw)
To: voidlinux
[-- Attachment #1.1: Type: text/plain, Size: 376 bytes --]
When it comes to installing home built packages, I typically do one of
these:
xbps-install -R /path/to/binpkgs foo
Is there a way to simply install a package without a repository? I didn't
notice anything in the man page.
To clarify:
In Archlinux, if I remember correctly, "pacman -u /path/to/package" Will
install the package without the need for repo data.
[-- Attachment #1.2: Type: text/html, Size: 410 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-02-02 19:51 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-22 20:51 Few packaging questions Logen Kain
2015-01-22 23:21 ` Stefan Mühlinghaus
2015-01-23 3:29 ` Logen Kain
2015-02-02 19:09 ` Logen Kain
2015-01-23 9:13 ` Stefan Mühlinghaus
2015-02-02 19:05 ` Logen Kain
[not found] ` <CABLHwtef9mKadZZFR+06yNZhuOE8YS_Z_3FHE=xgZ9FUoX409Q@mail.gmail.com>
2015-02-02 19:14 ` Fwd: " Juan Romero Pardines
[not found] ` <CABLHwtfWdKPsexjP_p4oscok4US_y8gXWym1qGQ6uf7q7+COxw@mail.gmail.com>
2015-02-02 19:14 ` Juan Romero Pardines
2015-02-02 19:51 ` Logen Kain
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).