port databases/autobackupmysql exists, but does not have the same featureset
Details
- Reviewers
mmokhi - Commits
- rP496952: databases/automysqlbackup: Add the port to the tree
Works in my MySQL jail (mariadb-103-{server,client})
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
databases/automysqlbackup/Makefile | ||
---|---|---|
28 ↗ | (On Diff #55155) | ${MKDIR} already includes the '-p' flag: no need to repeat it. |
databases/automysqlbackup/pkg-plist | ||
3 ↗ | (On Diff #55155) | You aren't recreating the 0700 directory permissions that you set in the makefile -- this will end up wit 0755 permissionns if you install from pkg. |
databases/automysqlbackup/pkg-plist | ||
---|---|---|
3 ↗ | (On Diff #55155) | where is the documentation for @dir? |
databases/automysqlbackup/Makefile | ||
---|---|---|
29 ↗ | (On Diff #55192) | I'm not sure if I understood @matthew 's feedback on this line... |
databases/automysqlbackup/files/patch-automysqlbackup | ||
9 ↗ | (On Diff #55192) | Maybe it's too much what I'm pointing, but I often use %LOCALBASE% (or in this case %ETCDIR%) and the ${REINPLACE_CMD} in post-patch 😅 |
databases/automysqlbackup/pkg-plist | ||
3 ↗ | (On Diff #55155) | This is probably what you are looking for. 👍 |
databases/automysqlbackup/Makefile | ||
---|---|---|
29 ↗ | (On Diff #55192) | When you are building a port, all the Makefile installation commands are doing is copying files into ${STAGEDIR}. The contents of ${STAGEDIR} are then turned into a pkg -- either gathered into a pkg tarball, or in it's installed form with files spread across your active filesytem. This happens whether or not you install directly from your ports tree, or whether you create a pkg tarball, stick it into a repository and download and install from there. You're meant to be able to install to ${STAGEDIR} and thence build a pkg as an unprivileged user, which means that file ownership and permissions in ${STAGEDIR} can't just be copied into the pkg generated from ${STAGEDIR}, and thence into the main filesystem when the pkg is installed -- in fact, they are ignored, other than copying over any execute permissions. In particular anything like setuid or setgid bits are stripped; regular files default to root:wheel and mode 0644 or 0755 if executable, and directories to root:wheel and mode 0755. If you need any other permissions or ownership, this needs to be set in the pkg-plist. In summary: permissions and ownership in ${STAGEDIR} are (almost) irrelevant: it's what's set in pkg-plist that counts. |
databases/automysqlbackup/Makefile | ||
---|---|---|
29 ↗ | (On Diff #55192) | Any action required on my part? Otherwise please mark this as done. |
databases/automysqlbackup/files/patch-automysqlbackup | ||
9 ↗ | (On Diff #55192) | When is %ETCDIR% replaced then? This is a patch file... Does the ports tree use some magic version of patch(1)? |
databases/automysqlbackup/Makefile | ||
---|---|---|
29 ↗ | (On Diff #55192) | I guess, It makes sense to update your patch deleting the chmod stuff from Makefile and handle all the rest in pkg-plist 😊 |
databases/automysqlbackup/files/patch-automysqlbackup | ||
9 ↗ | (On Diff #55192) | ${REINPLACE_CMD} in post-patch target 😊 |
The %ETCDIR% thingie I commented about might be as well good to take care of
(If people with paths different that /usr/local are using your port for example).
But I don't think it's a necessity at the moment 🙂
You can take care of it later 👍
Just replacing /usr/local/etc with %ETCDIR% doesn't work on my machine.
Is it because I override do-install?
Sorry, maybe my comment was a bit misleading.
After replacing stuff with %ETCDIR% or anything in the patch-files, of course you need a post-patch: target with
a ${REINPLACE_CMD} in it to replace the %ETCDIR% value with ${ETCDIR}.