From dd347a07f1c7c5fc55cc8bfb7fdfc5c5c020793f Mon Sep 17 00:00:00 2001 From: Guido Schmit Date: Thu, 16 Jul 2026 19:03:04 +0200 Subject: [PATCH] chore: GPLv3 license + F-Droid packaging (metadata, recipe, guide) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - LICENSE: GNU GPLv3 - fastlane/metadata (de-DE + en-US): title, descriptions, changelog, icon — used by both the own F-Droid repo and the official listing - fdroid/com.scarriffle.calendarr.yml: ready-to-submit fdroiddata build recipe - FDROID.md: how to run the own repo (fdroid.scarriffle.com) and submit to official F-Droid, incl. the signing-key caveat Co-Authored-By: Claude Opus 4.8 --- FDROID.md | 80 +++ LICENSE | 674 ++++++++++++++++++ .../metadata/android/de-DE/changelogs/2.txt | 5 + .../android/de-DE/full_description.txt | 19 + .../metadata/android/de-DE/images/icon.png | Bin 0 -> 30971 bytes .../android/de-DE/short_description.txt | 1 + fastlane/metadata/android/de-DE/title.txt | 1 + .../metadata/android/en-US/changelogs/2.txt | 5 + .../android/en-US/full_description.txt | 19 + .../metadata/android/en-US/images/icon.png | Bin 0 -> 30971 bytes .../android/en-US/short_description.txt | 1 + fastlane/metadata/android/en-US/title.txt | 1 + fdroid/com.scarriffle.calendarr.yml | 30 + 13 files changed, 836 insertions(+) create mode 100644 FDROID.md create mode 100644 LICENSE create mode 100644 fastlane/metadata/android/de-DE/changelogs/2.txt create mode 100644 fastlane/metadata/android/de-DE/full_description.txt create mode 100644 fastlane/metadata/android/de-DE/images/icon.png create mode 100644 fastlane/metadata/android/de-DE/short_description.txt create mode 100644 fastlane/metadata/android/de-DE/title.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/2.txt create mode 100644 fastlane/metadata/android/en-US/full_description.txt create mode 100644 fastlane/metadata/android/en-US/images/icon.png create mode 100644 fastlane/metadata/android/en-US/short_description.txt create mode 100644 fastlane/metadata/android/en-US/title.txt create mode 100644 fdroid/com.scarriffle.calendarr.yml diff --git a/FDROID.md b/FDROID.md new file mode 100644 index 0000000..78da5b9 --- /dev/null +++ b/FDROID.md @@ -0,0 +1,80 @@ +# Publishing Calendarr on F-Droid + +Two independent channels — do both in parallel: + +- **Own repo (live today):** you build + sign the APK, generate a small catalog, + host it at a URL; users add that URL in the F-Droid app. +- **Official F-Droid (~weeks to be accepted, then automatic):** F-Droid builds + + signs from source and lists it in the catalog every F-Droid user already has. + +The app is GPLv3 and has **no** non-free dependencies (no Play Services / Firebase), +so it is F-Droid-eligible. Store-listing metadata lives in `fastlane/metadata/…`. + +> ⚠️ Signatures differ between the two channels: your own repo serves APKs signed +> with **your** keystore; the official build is signed with **F-Droid's** key. A +> user can't seamlessly update from one to the other (reinstall once). To unify +> later, set up *Reproducible Builds* so F-Droid ships your signature. + +--- + +## A) Your own repo (fdroid.scarriffle.com) + +Needs the `fdroidserver` tool + Android SDK build-tools (for `aapt`). + +```bash +# 1. Install the tool (macOS) +brew install fdroidserver # or: pipx install fdroidserver + +# 2. Build a SIGNED release APK (uses keystore.properties; F-Droid repos serve +# APKs, not AABs) +./gradlew assembleRelease +# → app/build/outputs/apk/release/app-release.apk + +# 3. Create the repo (once). Generates config.yml + an index-signing key. +mkdir -p ~/calendarr-fdroid && cd ~/calendarr-fdroid +fdroid init + +# 4. Drop the signed APK in and copy the store metadata +cp "/path/to/Calendarr Android/app/build/outputs/apk/release/app-release.apk" repo/ +mkdir -p metadata +# copy the fastlane texts/icons so descriptions show in the client: +cp -r "/path/to/Calendarr Android/fastlane/metadata/android" metadata/com.scarriffle.calendarr + +# 5. Generate/refresh the signed index +fdroid update -c --pretty + +# 6. Upload the whole ~/calendarr-fdroid/repo directory to your webserver at: +# https://fdroid.scarriffle.com/fdroid/repo +``` + +Users then open F-Droid → Settings → Repositories → **+** → +`https://fdroid.scarriffle.com/fdroid/repo` → Calendarr appears and auto-updates. + +**Each new release:** bump `versionCode`/`versionName` in `app/build.gradle.kts`, +`./gradlew assembleRelease`, copy the new APK into `repo/`, `fdroid update -c`, +re-upload. Keep the OLD apks in `repo/` too (users on older versions still update). + +--- + +## B) Official F-Droid (fdroiddata) + +Prereqs: the `SourceCode` repo in `fdroid/com.scarriffle.calendarr.yml` must be +**publicly clonable** (make the Gitea repo public, or mirror to GitHub/GitLab and +point `Repo:`/`SourceCode:` there), and a signed git tag `v1.1.0` must exist +(created for this release). + +1. Fork . +2. Add our recipe as `metadata/com.scarriffle.calendarr.yml` + (copy from `fdroid/com.scarriffle.calendarr.yml` in this repo). +3. Optional local sanity check: `fdroid lint com.scarriffle.calendarr` and + `fdroid build -v -l com.scarriffle.calendarr`. +4. Open a Merge Request. F-Droid reviews, builds and publishes (this first review + is the slow part — weeks). Afterwards, `AutoUpdateMode` picks up each new + `v` tag automatically. + +--- + +## Screenshots (both channels) +Add PNG/JPG screenshots to +`fastlane/metadata/android/en-US/images/phoneScreenshots/` (and `de-DE/…`), +named `1.png`, `2.png`, … They then show on the F-Droid listing. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/fastlane/metadata/android/de-DE/changelogs/2.txt b/fastlane/metadata/android/de-DE/changelogs/2.txt new file mode 100644 index 0000000..4af155c --- /dev/null +++ b/fastlane/metadata/android/de-DE/changelogs/2.txt @@ -0,0 +1,5 @@ +* Pro-Einstellung-Synchronisierung mit einheitlicher Einstellungstabelle +* Neue linke Seitenleiste: Kalender ein-/ausblenden & sortieren, Gruppenwechsel, Schnellmenü +* Geburtstage aus den Kontakten importieren +* Voll dynamische Theme-Farben (8 einstellbare Farben mit Reset) +* Fix: mehrtägige Ganztags-Termine werden in Wochen-/Tagesansicht durchgehend dargestellt diff --git a/fastlane/metadata/android/de-DE/full_description.txt b/fastlane/metadata/android/de-DE/full_description.txt new file mode 100644 index 0000000..f792dba --- /dev/null +++ b/fastlane/metadata/android/de-DE/full_description.txt @@ -0,0 +1,19 @@ +Calendarr ist die Android-App für deinen eigenen, selbst gehosteten Calendarr-Server — ein privater, werbefreier Kalender, dessen Daten auf deiner Infrastruktur bleiben. + +Binde die Quellen ein, die du ohnehin nutzt: +* Lokale Kalender auf dem Server +* CalDAV-Konten +* iCal-/ICS-Abos +* Google Kalender +* Home Assistant + +Funktionen: +* Monats-, Wochen-, Tages-, Quartals- und Terminansicht +* Seitenleiste zum Ein-/Ausblenden und Sortieren von Kalendern, Gruppenwechsel und Zugriff aufs Menü +* Kalender mit anderen teilen und in Gruppen organisieren +* Geburtstage: eigener Geburtstagskalender mit Alter und Erinnerungen, optional aus deinen Kontakten importiert +* Pro-Einstellung-Synchronisierung über Geräte — du wählst genau, welche Einstellung dir über Web, iOS und Android folgt +* Frei anpassbare Farben und dunkle Oberfläche +* Termin-Erinnerungen / Benachrichtigungen + +Calendarr benötigt Zugriff auf einen (selbst gehosteten) Calendarr-Server. Server-URL eingeben, dann anmelden. diff --git a/fastlane/metadata/android/de-DE/images/icon.png b/fastlane/metadata/android/de-DE/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..49dd9b5c2c9b3ce9a1b1f9fa2f4cea8a42ac4066 GIT binary patch literal 30971 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 W-Y9X)1OP*gL2uuv$yLgjhWsCwT__O% literal 0 HcmV?d00001 diff --git a/fastlane/metadata/android/de-DE/short_description.txt b/fastlane/metadata/android/de-DE/short_description.txt new file mode 100644 index 0000000..f3494e8 --- /dev/null +++ b/fastlane/metadata/android/de-DE/short_description.txt @@ -0,0 +1 @@ +Kalender-App für deinen selbst gehosteten Calendarr-Server diff --git a/fastlane/metadata/android/de-DE/title.txt b/fastlane/metadata/android/de-DE/title.txt new file mode 100644 index 0000000..a120c46 --- /dev/null +++ b/fastlane/metadata/android/de-DE/title.txt @@ -0,0 +1 @@ +Calendarr diff --git a/fastlane/metadata/android/en-US/changelogs/2.txt b/fastlane/metadata/android/en-US/changelogs/2.txt new file mode 100644 index 0000000..fc651e4 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/2.txt @@ -0,0 +1,5 @@ +* Per-setting cross-device sync with a unified settings table +* New left navigation drawer: show/hide & reorder calendars, group switch, quick menu +* Import birthdays from your contacts +* Fully dynamic theme colours (8 configurable colours with reset) +* Fix: multi-day all-day events now span correctly in week/day view diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt new file mode 100644 index 0000000..91dd547 --- /dev/null +++ b/fastlane/metadata/android/en-US/full_description.txt @@ -0,0 +1,19 @@ +Calendarr is the Android client for your own self-hosted Calendarr server — a private, ad-free calendar whose data stays on your infrastructure. + +Bring together the sources you already use: +* Local calendars on the server +* CalDAV accounts +* iCal / ICS subscriptions +* Google Calendar +* Home Assistant + +Features: +* Month, week, day, quarter and agenda views +* A left drawer to show/hide and reorder your calendars, switch groups, and reach the menu +* Share calendars with other users and organise them in groups +* Birthdays: a dedicated birthday calendar with age and reminders, optionally imported from your contacts +* Per-setting cross-device sync — choose exactly which settings follow you across web, iOS and Android +* Fully customisable colours and a dark interface +* Event reminders / notifications + +Calendarr requires access to a Calendarr server (self-hosted). Enter your server URL, then sign in. diff --git a/fastlane/metadata/android/en-US/images/icon.png b/fastlane/metadata/android/en-US/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..49dd9b5c2c9b3ce9a1b1f9fa2f4cea8a42ac4066 GIT binary patch literal 30971 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 W-Y9X)1OP*gL2uuv$yLgjhWsCwT__O% literal 0 HcmV?d00001 diff --git a/fastlane/metadata/android/en-US/short_description.txt b/fastlane/metadata/android/en-US/short_description.txt new file mode 100644 index 0000000..57c4e7c --- /dev/null +++ b/fastlane/metadata/android/en-US/short_description.txt @@ -0,0 +1 @@ +Calendar client for your self-hosted Calendarr server diff --git a/fastlane/metadata/android/en-US/title.txt b/fastlane/metadata/android/en-US/title.txt new file mode 100644 index 0000000..a120c46 --- /dev/null +++ b/fastlane/metadata/android/en-US/title.txt @@ -0,0 +1 @@ +Calendarr diff --git a/fdroid/com.scarriffle.calendarr.yml b/fdroid/com.scarriffle.calendarr.yml new file mode 100644 index 0000000..318621f --- /dev/null +++ b/fdroid/com.scarriffle.calendarr.yml @@ -0,0 +1,30 @@ +# F-Droid build recipe for the OFFICIAL repository. +# Submit this file to https://gitlab.com/fdroid/fdroiddata as +# metadata/com.scarriffle.calendarr.yml +# (see FDROID.md). F-Droid clones the source below, builds it on their servers +# and signs it with F-Droid's key. Requires the SourceCode repo to be publicly +# clonable and a git tag `v` (e.g. v1.1.0) for each release. + +Categories: + - Time +License: GPL-3.0-or-later +AuthorName: Scarriffle +WebSite: https://calendar.scarriffle.com +SourceCode: https://git.scarriffle.com/Scarriffle/Calendarr-Android +IssueTracker: https://git.scarriffle.com/Scarriffle/Calendarr-Android/issues + +RepoType: git +Repo: https://git.scarriffle.com/Scarriffle/Calendarr-Android.git + +Builds: + - versionName: 1.1.0 + versionCode: 2 + commit: v1.1.0 + subdir: app + gradle: + - yes + +AutoUpdateMode: Version v%v +UpdateCheckMode: Tags +CurrentVersion: 1.1.0 +CurrentVersionCode: 2