Creating custom ports versions.

Erich Eckner crux at eckner.net
Wed Nov 27 05:30:29 UTC 2019


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On Tue, 26 Nov 2019, Steffen Nurpmeso wrote:

> Erich Eckner wrote in <alpine.LNX.2.21.99999.375.1911250848400.2310480 at n\
> lopc43.ioq.uni-jena.de>:
> |On Mon, 25 Nov 2019, KPECT wrote:
> |> Very often I use slightly modified ports just to achieve some additional \
> |> or
> |> remove some extra options that the original port provides. I'd like to
> |> suggest to propose implementing a new ports function that would allow \
> |> users
> |> to create a child port (for example in /usr/ports/custom) that has \
> |> the same
> |> name as the parent, but which has some differences that the user needs.
> |> Every time the ports are updated if the version of the parent port is
> |> changed, this also affects the child ports, so you do not need to \
> |> track them
> |> manually.
> ..
> |> I belieive that this is very demanded function.
> ..
> |I would definitely use that feature. My approach so far was:
>
> I also think this would be a nice feature!  I could use that for
> the minimum adjustment i need for dnssmasq, for example.
>
> |put patches into /usr/patches/$repository/$port/
> |
> |and apply them during `ports -u`, resigning the ports using a private key.
> |
> |The feature itself is implemented as a patch to ports:
> |
> |https://git.eckner.net/Erich/crux-patches/tree/core/ports
> |
> |What I like about this approach (and what I would like to see in an
> |official implementation, too), is, that you do not need to modify anything
> |in order to keep your packages up-to-date - as long as your patches
> |still cleanly apply.
>
> That is true.  What i do not like with your approach is that the
> original port is lost.  I mean, one could reverse-apply the patch
> and then everything is clear, even easier it is with a git-based
> port.  But wouldn't it be nicer to have some e.g. PKGMK_PATCH_DIR=
> in /etc/pkgmk.conf, and to have build_package() of pkgmk look
> whether that exists and has something to apply for the current
> port, right after the call to unpack_source(), before it goes
> build()?

One could improve this approach by saving the (modified) ports somewhere 
else, so the original one is still available. This couls also be done 
during `ports -u`. I tried not to change pkgmk, so I can still blame 
errors during compilation on the source instead of having to make sure it 
is not due to my hackery.

>
> On the other hand your approach integrates a signature.
> .footprint changes are a problem whatever you do?!?

Just add a .footprint.patch and you're done (though I don't use this in my 
/usr/patches tree).

>
> --steffen
> |
> |Der Kragenbaer,                The moon bear,
> |der holt sich munter           he cheerfully and one by one
> |einen nach dem anderen runter  wa.ks himself off
> |(By Robert Gernhardt)
>

regards,
Erich

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE3p92iMrPBP64GmxZCu7JB1Xae1oFAl3eCfcACgkQCu7JB1Xa
e1oRug/+M2sWeVRO7070t0PAdZ1i2koY/e/9oGKIuYxcxXpTTR0q2rusC/VfJcXr
UIiqcwV5b7awJ1sqdsdMZkcqn+bCoMRPi9KSRTGbkdnU+nxjD4HEeXuEXdbhq1yM
Lr++JTNlyILfvgZScRV8fZ6bhgsX5ei5Lc1Wm+nRt3cayGSC2G4yPMf+b2m+pIwR
s5WGTZv++l9WmfkmbjjzGaR4hXhvJ8cAs0Glk/SGxHR2j2RdiSomXFGoQkv7tQw4
ut1xZb2IqqhCAMp4MzMiA2QV5NDs3GdEqWECHcwN2fJ2L3ntX9wcVjG2rNtzuQuO
UpvxxPq6EMYDt7C5VOvFqL9UBRKHEuOu04wD6D9t0mKZ+yrk2BHzSJrwrX2bXRxF
vWuaVf9hQtTHGG9vT1lXq41Vryb+VFa+k7fS5pgfIZ0S0CJ3BgGHTuL1fgrMDfXc
RNve2B54WKDPvA4MTHxACM1fNJu/j/MJLSGXiRCI1m2ApP2KIx2fWco/okBHSWQi
E+vYzZ2EkbM/oS9LXJohHgon6NVUvqaZTDQi/OX56EhObZFrFNp7lo8yYnLAMDXu
jSmQxKOTzxDrKd2eKtnbNG8bRM8eJGwzxcAaqhiSzATqDOC3z7Wb+c6l0vIa5Glc
T3JZrmImYAkImxQ+25bSael64LeXEADUl4uw5JagAiZADVTa3pI=
=eO/M
-----END PGP SIGNATURE-----


More information about the CRUX mailing list