Message ID | 20241018131724.3051-1-f_l_k@t-online.de |
---|---|
State | New |
Headers | show |
Series | [meta-oe] snapper: add recipe | expand |
On Fri, Oct 18, 2024 at 6:15 AM Markus Volk via lists.openembedded.org <f_l_k=t-online.de@lists.openembedded.org> wrote: > > Snapper is a tool for Linux file system snapshot management. Apart from > the obvious creation and deletion of snapshots it can compare snapshots > and revert differences between them. In simple terms, this allows root > and non-root users to view older versions of files and revert changes. > > Signed-off-by: Markus Volk <f_l_k@t-online.de> > --- > .../recipes-support/snapper/snapper_0.11.2.bb | 35 +++++++++++++++++++ > 1 file changed, 35 insertions(+) > create mode 100644 meta-oe/recipes-support/snapper/snapper_0.11.2.bb > > diff --git a/meta-oe/recipes-support/snapper/snapper_0.11.2.bb b/meta-oe/recipes-support/snapper/snapper_0.11.2.bb > new file mode 100644 > index 000000000..2759cdafb > --- /dev/null > +++ b/meta-oe/recipes-support/snapper/snapper_0.11.2.bb > @@ -0,0 +1,35 @@ > +SUMMARY = "Snapper is a tool for Linux file system snapshot management" > +HOMEPAGE = "https://github.com/openSUSE/snapper" > +LICENSE = "GPL-2.0-only" > +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" > + > +DEPENDS = "acl boost btrfs-tools dbus json-c libxml2 lvm2 zlib" > + > +# Build separation is slightly broken > +inherit autotools-brokensep pkgconfig gettext > + > +SRC_URI = "git://github.com/openSUSE/snapper.git;protocol=https;branch=master" > +SRCREV = "6c603565f36e9996d85045c8012cd04aba5f3708" > + > +S = "${WORKDIR}/git" > + > +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'api-documentation systemd pam', d)}" > +PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam" > +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd" > +PACKAGECONFIG[api-documentation] = "--enable-doc,--disable-doc,libxslt-native docbook-xsl-stylesheets-native" > + > +# Avoid HOSTTOOLS path in binaries > +export DIFFBIN="${bindir}/diff" > +export RMBIN = "${bindir}/rm" > +export TOUCHBIN = "${bindir}/touch" > +export CPBIN = "${bindir}/cp" > + > + > +do_install:append() { > + install -d ${D}${sysconfdir}/sysconfig > + install -m0644 ${S}/data/default-config ${D}${sysconfdir}/sysconfig/snapper > +} > + > +FILES:${PN} += "${libdir}/pam_snapper ${libdir}/systemd ${libdir}/zypp ${libdir}/security ${datadir}" > +# bash is needed for the testsuite > +RDEPENDS:${PN} = "bash diffutils util-linux" It would be good to package test binary and resources into ${PN}-ptest package and then attach the needed rdeps to ${PN}-ptest package also look into inheriting ptest class which should provide a basic build block for adding ptests. > -- > 2.47.0 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#112978): https://lists.openembedded.org/g/openembedded-devel/message/112978 > Mute This Topic: https://lists.openembedded.org/mt/109081580/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Fri, Oct 18, 2024 at 9:23 AM Khem Raj <raj.khem@gmail.com> wrote: > > On Fri, Oct 18, 2024 at 6:15 AM Markus Volk via lists.openembedded.org > <f_l_k=t-online.de@lists.openembedded.org> wrote: > > > > Snapper is a tool for Linux file system snapshot management. Apart from > > the obvious creation and deletion of snapshots it can compare snapshots > > and revert differences between them. In simple terms, this allows root > > and non-root users to view older versions of files and revert changes. > > > > Signed-off-by: Markus Volk <f_l_k@t-online.de> > > --- > > .../recipes-support/snapper/snapper_0.11.2.bb | 35 +++++++++++++++++++ > > 1 file changed, 35 insertions(+) > > create mode 100644 meta-oe/recipes-support/snapper/snapper_0.11.2.bb > > > > diff --git a/meta-oe/recipes-support/snapper/snapper_0.11.2.bb b/meta-oe/recipes-support/snapper/snapper_0.11.2.bb > > new file mode 100644 > > index 000000000..2759cdafb > > --- /dev/null > > +++ b/meta-oe/recipes-support/snapper/snapper_0.11.2.bb > > @@ -0,0 +1,35 @@ > > +SUMMARY = "Snapper is a tool for Linux file system snapshot management" > > +HOMEPAGE = "https://github.com/openSUSE/snapper" > > +LICENSE = "GPL-2.0-only" > > +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" > > + > > +DEPENDS = "acl boost btrfs-tools dbus json-c libxml2 lvm2 zlib" > > + > > +# Build separation is slightly broken > > +inherit autotools-brokensep pkgconfig gettext > > + > > +SRC_URI = "git://github.com/openSUSE/snapper.git;protocol=https;branch=master" > > +SRCREV = "6c603565f36e9996d85045c8012cd04aba5f3708" > > + > > +S = "${WORKDIR}/git" > > + > > +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'api-documentation systemd pam', d)}" > > +PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam" > > +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd" > > +PACKAGECONFIG[api-documentation] = "--enable-doc,--disable-doc,libxslt-native docbook-xsl-stylesheets-native" > > + > > +# Avoid HOSTTOOLS path in binaries > > +export DIFFBIN="${bindir}/diff" > > +export RMBIN = "${bindir}/rm" > > +export TOUCHBIN = "${bindir}/touch" > > +export CPBIN = "${bindir}/cp" > > + > > + > > +do_install:append() { > > + install -d ${D}${sysconfdir}/sysconfig > > + install -m0644 ${S}/data/default-config ${D}${sysconfdir}/sysconfig/snapper > > +} > > + > > +FILES:${PN} += "${libdir}/pam_snapper ${libdir}/systemd ${libdir}/zypp ${libdir}/security ${datadir}" > > +# bash is needed for the testsuite > > +RDEPENDS:${PN} = "bash diffutils util-linux" > > It would be good to package test binary and resources into ${PN}-ptest package > and then attach the needed rdeps to ${PN}-ptest package also look into > inheriting > ptest class which should provide a basic build block for adding ptests. > it fails to build with musl see https://errors.yoctoproject.org/Errors/Details/809996/ stavfs64 is not needed if we are already using LFS64, we can just use statvfs even on glibc otherwise add -D_LARGEFILE64_SOURCE with musl builds to cflags > > -- > > 2.47.0 > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#112978): https://lists.openembedded.org/g/openembedded-devel/message/112978 > > Mute This Topic: https://lists.openembedded.org/mt/109081580/1997914 > > Group Owner: openembedded-devel+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > >
The problem has already been fixed in Alpine Linux. Added a patch found there Additionally, I also added dependencies for e2fsprogs and ncurses, since snapper links to -ltinfo and a runtime dependency of util-linux-mount On Sat, Oct 19 2024 at 06:40:56 PM -07:00:00, Khem Raj <raj.khem@gmail.com> wrote: > On Fri, Oct 18, 2024 at 9:23 AM Khem Raj <raj.khem@gmail.com > <mailto:raj.khem@gmail.com>> wrote: >> >> On Fri, Oct 18, 2024 at 6:15 AM Markus Volk via >> lists.openembedded.org >> <f_l_k=t-online.de@lists.openembedded.org >> <mailto:f_l_k=t-online.de@lists.openembedded.org>> wrote: >> > >> > Snapper is a tool for Linux file system snapshot management. >> Apart from >> > the obvious creation and deletion of snapshots it can compare >> snapshots >> > and revert differences between them. In simple terms, this allows >> root >> > and non-root users to view older versions of files and revert >> changes. >> > >> > Signed-off-by: Markus Volk <f_l_k@t-online.de >> <mailto:f_l_k@t-online.de>> >> > --- >> > .../recipes-support/snapper/snapper_0.11.2.bb | 35 >> +++++++++++++++++++ >> > 1 file changed, 35 insertions(+) >> > create mode 100644 >> meta-oe/recipes-support/snapper/snapper_0.11.2.bb >> > >> > diff --git a/meta-oe/recipes-support/snapper/snapper_0.11.2.bb >> b/meta-oe/recipes-support/snapper/snapper_0.11.2.bb >> > new file mode 100644 >> > index 000000000..2759cdafb >> > --- /dev/null >> > +++ b/meta-oe/recipes-support/snapper/snapper_0.11.2.bb >> > @@ -0,0 +1,35 @@ >> > +SUMMARY = "Snapper is a tool for Linux file system snapshot >> management" >> > +HOMEPAGE = "<https://github.com/openSUSE/snapper>" >> > +LICENSE = "GPL-2.0-only" >> > +LIC_FILES_CHKSUM = >> "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" >> <file://copying;md5=751419260aa954499f7abaabaa882bbe/> >> > + >> > +DEPENDS = "acl boost btrfs-tools dbus json-c libxml2 lvm2 zlib" >> > + >> > +# Build separation is slightly broken >> > +inherit autotools-brokensep pkgconfig gettext >> > + >> > +SRC_URI = >> "git://github.com/openSUSE/snapper.git;protocol=https;branch=master" >> > +SRCREV = "6c603565f36e9996d85045c8012cd04aba5f3708" >> > + >> > +S = "${WORKDIR}/git" >> > + >> > +PACKAGECONFIG ?= "${@bb.utils.filter >> <mailto:${@bb.utils.filter>('DISTRO_FEATURES', 'api-documentation >> systemd pam', d)}" >> > +PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam" >> > +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd" >> > +PACKAGECONFIG[api-documentation] = >> "--enable-doc,--disable-doc,libxslt-native >> docbook-xsl-stylesheets-native" >> > + >> > +# Avoid HOSTTOOLS path in binaries >> > +export DIFFBIN="${bindir}/diff" >> > +export RMBIN = "${bindir}/rm" >> > +export TOUCHBIN = "${bindir}/touch" >> > +export CPBIN = "${bindir}/cp" >> > + >> > + >> > +do_install:append() { >> > + install -d ${D}${sysconfdir}/sysconfig >> > + install -m0644 ${S}/data/default-config >> ${D}${sysconfdir}/sysconfig/snapper >> > +} >> > + >> > +FILES:${PN} += "${libdir}/pam_snapper ${libdir}/systemd >> ${libdir}/zypp ${libdir}/security ${datadir}" >> > +# bash is needed for the testsuite >> > +RDEPENDS:${PN} = "bash diffutils util-linux" >> >> It would be good to package test binary and resources into >> ${PN}-ptest package >> and then attach the needed rdeps to ${PN}-ptest package also look >> into >> inheriting >> ptest class which should provide a basic build block for adding >> ptests. >> > > it fails to build with musl see > <https://errors.yoctoproject.org/Errors/Details/809996/> > > stavfs64 is not needed if we are already using LFS64, we can just use > statvfs even on glibc > otherwise add -D_LARGEFILE64_SOURCE with musl builds to cflags > >> > -- >> > 2.47.0 >> > >> > >> > -=-=-=-=-=-=-=-=-=-=-=- >> > Links: You receive all messages sent to this group. >> > View/Reply Online (#112978): >> <https://lists.openembedded.org/g/openembedded-devel/message/112978> >> > Mute This Topic: >> <https://lists.openembedded.org/mt/109081580/1997914> >> > Group Owner: openembedded-devel+owner@lists.openembedded.org >> <mailto:openembedded-devel+owner@lists.openembedded.org> >> > Unsubscribe: >> <https://lists.openembedded.org/g/openembedded-devel/unsub> >> [raj.khem@gmail.com <mailto:raj.khem@gmail.com>] >> > -=-=-=-=-=-=-=-=-=-=-=- >> >
diff --git a/meta-oe/recipes-support/snapper/snapper_0.11.2.bb b/meta-oe/recipes-support/snapper/snapper_0.11.2.bb new file mode 100644 index 000000000..2759cdafb --- /dev/null +++ b/meta-oe/recipes-support/snapper/snapper_0.11.2.bb @@ -0,0 +1,35 @@ +SUMMARY = "Snapper is a tool for Linux file system snapshot management" +HOMEPAGE = "https://github.com/openSUSE/snapper" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "acl boost btrfs-tools dbus json-c libxml2 lvm2 zlib" + +# Build separation is slightly broken +inherit autotools-brokensep pkgconfig gettext + +SRC_URI = "git://github.com/openSUSE/snapper.git;protocol=https;branch=master" +SRCREV = "6c603565f36e9996d85045c8012cd04aba5f3708" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'api-documentation systemd pam', d)}" +PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd" +PACKAGECONFIG[api-documentation] = "--enable-doc,--disable-doc,libxslt-native docbook-xsl-stylesheets-native" + +# Avoid HOSTTOOLS path in binaries +export DIFFBIN="${bindir}/diff" +export RMBIN = "${bindir}/rm" +export TOUCHBIN = "${bindir}/touch" +export CPBIN = "${bindir}/cp" + + +do_install:append() { + install -d ${D}${sysconfdir}/sysconfig + install -m0644 ${S}/data/default-config ${D}${sysconfdir}/sysconfig/snapper +} + +FILES:${PN} += "${libdir}/pam_snapper ${libdir}/systemd ${libdir}/zypp ${libdir}/security ${datadir}" +# bash is needed for the testsuite +RDEPENDS:${PN} = "bash diffutils util-linux"
Snapper is a tool for Linux file system snapshot management. Apart from the obvious creation and deletion of snapshots it can compare snapshots and revert differences between them. In simple terms, this allows root and non-root users to view older versions of files and revert changes. Signed-off-by: Markus Volk <f_l_k@t-online.de> --- .../recipes-support/snapper/snapper_0.11.2.bb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 meta-oe/recipes-support/snapper/snapper_0.11.2.bb