diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..a43ea21 --- /dev/null +++ b/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) 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 +this service 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 make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. 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. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +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 +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the 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 a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE 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. + + END OF TERMS AND CONDITIONS + + Appendix: 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 +convey 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) 19yy + + 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 2 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, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision 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, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This 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 Library General +Public License instead of this License. diff --git a/changelog b/changelog index 7d478ec..1537502 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,33 @@ +* Sat Aug 17 2024 Zbigniew Jędrzejewski-Szmek - 1.0-1 +- Merge separate "upstream" into this repository: + this is a major change (simplification) to how the package is maintained, + but the actual package contents are not changed. To celebrate and highlight + it, the version is bumped to 1.0. +- Recommend fedora-repoquery + (see https://fedoraproject.org/wiki/Changes/fedora-repoquery_tool) +- Recommend fedrq +- Make kerberos subpackage required by the main package and + disallowed installation of mismatched versions +- fkinit: prompt for password and OTP separately +- Drop fedora-getsvn +- Actually drop fedora-burn-yubikey +- Restore original GPLv2+ license text + +* Thu Jul 25 2024 Miroslav Suchý - 0.6.0.7-11 +- convert GPLv2+ license to SPDX + +* Wed Jul 17 2024 Fedora Release Engineering - 0.6.0.7-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 0.6.0.7-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 0.6.0.7-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Nov 23 2023 Zbigniew Jędrzejewski-Szmek - 0.6.0.7-7 +- Pull in rpmautospec + * Wed Jul 19 2023 Fedora Release Engineering - 0.6.0.7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/fedora-packager.spec b/fedora-packager.spec index 78a3386..a645e2a 100644 --- a/fedora-packager.spec +++ b/fedora-packager.spec @@ -1,85 +1,113 @@ -%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5) -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} -%endif - Name: fedora-packager -Version: 0.6.0.7 +Version: 1.1 Release: %autorelease -Summary: Tools for setting up a fedora maintainer environment +Summary: Tools for setting up a Fedora maintainer environment -License: GPLv2+ +License: GPL-2.0-or-later URL: https://pagure.io/fedora-packager -Source0: https://releases.pagure.org/fedora-packager/fedora-packager-%{version}.tar.bz2 + +Source0: COPYING +Source2: pkgname.py +Source3: rpmbuild-md5 +Source4: secondary-koji +Source5: fkinit + +Source10: fedora.conf +Source11: s390.conf +Source12: stg.conf +Source13: fedoraproject_org +Source14: stg_fedoraproject_org +Source15: fedoraproject_ipa_ca.crt +Source16: stg_fedoraproject_ipa_ca.crt +Source17: riscv.conf BuildRequires: python3-devel -BuildRequires: make -BuildRequires: automake + Requires: koji >= 1.11.0 +Requires: python3-koji-cli-plugins Requires: bodhi-client Requires: rpm-build rpmdevtools rpmlint Requires: rpmautospec Requires: mock curl openssh-clients Requires: redhat-rpm-config Requires: fedpkg >= 1.0 +Requires: systemd Obsoletes: fedora-cert < 0.6.0.3-4 Obsoletes: fedora-packager-yubikey < 0.6.0.7-3 Recommends: fedora-packager-kerberos +Requires: (fedora-packager-kerberos = %{version}-%{release} if fedora-packager-kerberos) + +# A CLI tool to query Fedora and EPEL repositories +Recommends: fedrq +# Another CLI tool to query Fedora, EPEL, ELN, and CentOS Stream repositories +Recommends: fedora-repoquery +# Yet another CLI tool to query Fedora, ELN, Alma, CentoOS Stream, etc. +Recommends: rpmdistro-repoquery + +# Needed for koji edit-sidetag +Recommends: python3-koji-cli-plugins + +# A CLI tool that helps conduct package reviews +Recommends: fedora-review BuildArch: noarch %description -Set of utilities useful for a fedora packager in setting up their environment. +Set of utilities and configuration to set up a working Fedora packager +environment. %package kerberos -Summary: files for connecting via kerberos to Fedora +Summary: Configuration to connect via kerberos to Fedora + +Requires: (fedora-packager = %{version}-%{release} if fedora-packager) + # This is the version in which SNI was fixed %if 0%{?fedora} Requires: krb5-workstation >= 1.14.3-4 -%else -%if 0%{?rhel} >= 7 +%elif 0%{?rhel} >= 7 Requires: krb5-workstation >= 1.14.1-24 %else -# older rhels wont fully work without configuration, but lets make sure they have krb -# we should be able to assume newer RHELs's will have a new enough version +# Older rhels won't fully work without configuration, but lets make +# sure they have krb we should be able to assume newer RHELs's will +# have a new enough version. Requires: krb5-workstation %endif -%endif Requires: krb5-pkinit -BuildArch: noarch - %description kerberos -Files for connecting via kerberos to Fedora +%{summary}. %prep -%setup -q +# nada %build -%configure PYTHON=%{__python3} -%make_build +# nada %install -%make_install -sed -i -r 's|#!/usr/bin/python$|#!%{__python3}|' %{buildroot}/usr/*bin/* -# The fedora-burn-yubikey utility only worked with fas2, which is now retired. -rm -f %{buildroot}/usr/sbin/fedora-burn-yubikey +install -D %{SOURCE0} %{buildroot}%{_licensedir}/%{name}/COPYING +install -D %{SOURCE2} %{buildroot}%{_bindir}/pkgname +install -D %{SOURCE3} %{buildroot}%{_bindir}/rpmbuild-md5 +install -D %{SOURCE4} %{buildroot}%{_bindir}/stg-koji +install -D %{SOURCE4} %{buildroot}%{_bindir}/riscv-koji +install -D %{SOURCE5} %{buildroot}%{_bindir}/fkinit + +install -m0644 -Dt %{buildroot}%{_sysconfdir}/koji.conf.d/ \ + %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE17} +install -m0644 -Dt %{buildroot}%{_sysconfdir}/krb5.conf.d/ \ + %{SOURCE13} %{SOURCE14} +install -m0644 -Dt %{buildroot}%{_sysconfdir}/pki/ipa/ \ + %{SOURCE15} %{SOURCE16} %files -%license COPYING -%doc TODO AUTHORS ChangeLog -%{_bindir}/* -%exclude %{_bindir}/fedora-hosted -%exclude %{_bindir}/fedora-packager-setup -%exclude %{_bindir}/fedoradev-pkgowners -%exclude %{_bindir}/fedora-cert -%exclude %{_bindir}/fkinit -%exclude %{python3_sitelib}/fedora_cert - +%license %{_licensedir}/%{name}/ +%{_bindir}/pkgname +%{_bindir}/rpmbuild-md5 +%{_bindir}/riscv-koji +%{_bindir}/stg-koji %config(noreplace) %{_sysconfdir}/koji.conf.d/* - %files kerberos -%license COPYING +%license %{_licensedir}/%{name}/ %{_bindir}/fkinit %config %{_sysconfdir}/krb5.conf.d/* %{_sysconfdir}/pki/ipa/* diff --git a/fedora.conf b/fedora.conf new file mode 100644 index 0000000..429d679 --- /dev/null +++ b/fedora.conf @@ -0,0 +1,16 @@ +[fedora] + +;configuration for koji cli tool + +;url of XMLRPC server +server = https://koji.fedoraproject.org/kojihub + +;url of web interface +weburl = https://koji.fedoraproject.org/koji + +;url of package download site +topurl = https://kojipkgs.fedoraproject.org/ + +authtype = kerberos + +use_fast_upload = yes diff --git a/fedoraproject_ipa_ca.crt b/fedoraproject_ipa_ca.crt new file mode 100644 index 0000000..b4a1c7b --- /dev/null +++ b/fedoraproject_ipa_ca.crt @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQsFADA8MRowGAYDVQQKDBFGRURP +UkFQUk9KRUNULk9SRzEeMBwGA1UEAwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4X +DTE2MTAxMzEzMDQ0NloXDTM2MTAxMzEzMDQ0NlowPDEaMBgGA1UECgwRRkVET1JB +UFJPSkVDVC5PUkcxHjAcBgNVBAMMFUNlcnRpZmljYXRlIEF1dGhvcml0eTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALLFCPrsPD3YW/yzvId7UsWCq/Ac +cD7IOtlt46slTa490TvfpwzB1IwA3H0LTEYV7LONMIxJIT8H4H2P7A/S4eDtA6sZ +s26Qp+3YLj+jHOwvNiONG5YBIn6vgUKc1SdwyuQsNwcGsH1nV2vXrKYz4ccMud1P +tzzwRMSWgwZLXcLvMMXYpDCxu4pVmgEtTnYz7Dii7MJ2aJsWEuslzjL6HjaegfGD +JjXCrqmNKcgbgD7fQq05wiYw8AbArjhfObDO626b4naB0VxLb9vGTDBaRbIeL7Or +nM11BWVqYAFFRZPL1jXkeb9Bpr9oj4PduRq6+tSZPa3wgtnoowAN2AqLHKMCAwEA +AaOBsDCBrTAfBgNVHSMEGDAWgBQVrijBhrLB6xwkwjZroAlWJGIpvDAPBgNVHRMB +Af8EBTADAQH/MA4GA1UdDwEB/wQEAwIBxjAdBgNVHQ4EFgQUFa4owYaywescJMI2 +a6AJViRiKbwwSgYIKwYBBQUHAQEEPjA8MDoGCCsGAQUFBzABhi5odHRwOi8vaXBh +MDEucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZzo4MC9jYS9vY3NwMA0GCSqGSIb3DQEB +CwUAA4IBAQAZE5ZVf2MROtRR2O00ecXwl3vBE72xw87EQdAQ6J9sDjug5YrVW6OU +OfaRoVLyBSi5uPgj2RZ9VePdGNSDZ66DhspPtmbWcW0M1X2QPXwWQ/Idj3MfKE33 +b+V4A6T55p1kxXniNl0KZHlDVMECltwRBkd9mjr3LgWzk/EgqyiP56xrWEsvKUyv +ZMvoyFky2/BaNTN8KOposjDQZwR5sqE/CJzm/QJPg/6zQ4/tkFDOc7ZqIVkfIqoY +sycNYLLakqCV59xuJ2uDbV8Sn8LbH5+e3Px0mapnVxn8fJAPcCqDOmXJ5TVkVYlH +nYYOskqEw5stHYuEwujR2uXo8vfmIMpZ +-----END CERTIFICATE----- diff --git a/fedoraproject_org b/fedoraproject_org new file mode 100644 index 0000000..5f8732a --- /dev/null +++ b/fedoraproject_org @@ -0,0 +1,12 @@ +[realms] + FEDORAPROJECT.ORG = { + kdc = https://id.fedoraproject.org/KdcProxy + pkinit_anchors = FILE:/etc/pki/ipa/fedoraproject_ipa_ca.crt + auto_fast_armor = true + } +[domain_realm] + .fedoraproject.org = FEDORAPROJECT.ORG + fedoraproject.org = FEDORAPROJECT.ORG + .centos.org = FEDORAPROJECT.ORG + centos.org = FEDORAPROJECT.ORG + diff --git a/fkinit b/fkinit new file mode 100755 index 0000000..537edc0 --- /dev/null +++ b/fkinit @@ -0,0 +1,126 @@ +#!/bin/bash + +# Created by argbash-init v2.10.0 +# ARG_OPTIONAL_SINGLE([user],[u],[Fedora account name],[$USER]) +# ARG_OPTIONAL_BOOLEAN([staging],[],[Use the staging infrastructure]) +# ARG_HELP([Acquire a Kerberos ticket-granting ticket for Fedora],[If the environment variable \$FKINIT_OTP is set, it will be read for the one-time password instead of prompting for it.]) +# ARGBASH_GO() +# needed because of Argbash --> m4_ignore([ +### START OF CODE GENERATED BY Argbash v2.10.0 one line above ### +# Argbash is a bash code generator used to get arguments parsing right. +# Argbash is FREE SOFTWARE, see https://argbash.io for more info + + +die() +{ + local _ret="${2:-1}" + test "${_PRINT_HELP:-no}" = yes && print_help >&2 + echo "$1" >&2 + exit "${_ret}" +} + + +begins_with_short_option() +{ + local first_option all_short_options='uh' + first_option="${1:0:1}" + test "$all_short_options" = "${all_short_options/$first_option/}" && return 1 || return 0 +} + +# THE DEFAULTS INITIALIZATION - OPTIONALS +_arg_staging="off" +if [ -f "$HOME/.fedora.upn" ]; then + _arg_user=$(<"$HOME/.fedora.upn") +else + _arg_user="$USER" +fi + + +print_help() +{ + printf '%s\n' "Acquire a Kerberos ticket-granting ticket for Fedora" + printf 'Usage: %s [-u|--user ] [--(no-)staging] [-h|--help]\n' "$0" + printf '\t%s\n' "-u, --user: Fedora account name (default: value in ~/.fedora.upn if exists, otherwise '$USER')" + printf '\t%s\n' "--staging, --no-staging: Use the staging infrastructure (off by default)" + printf '\t%s\n' "-h, --help: Prints help" + printf '\n%s\n' "If the environment variable \$FKINIT_OTP is set, it will be read for the one-time password instead of prompting for it." +} + + +parse_commandline() +{ + while test $# -gt 0 + do + _key="$1" + case "$_key" in + -u|--user) + test $# -lt 2 && die "Missing value for the optional argument '$_key'." 1 + _arg_user="$2" + shift + ;; + --user=*) + _arg_user="${_key##--user=}" + ;; + -u*) + _arg_user="${_key##-u}" + ;; + --no-staging|--staging) + _arg_staging="on" + test "${1:0:5}" = "--no-" && _arg_staging="off" + ;; + -h|--help) + print_help + exit 0 + ;; + -h*) + print_help + exit 0 + ;; + *) + _PRINT_HELP=yes die "FATAL ERROR: Got an unexpected argument '$1'" 1 + ;; + esac + shift + done +} + +parse_commandline "$@" + +# OTHER STUFF GENERATED BY Argbash + +### END OF CODE GENERATED BY Argbash (sortof) ### ]) +# [ <-- needed because of Argbash + +finalize() +{ + rm -f $armorcache +} + +set -e + +armorcache=$(mktemp) +trap finalize EXIT + +if [ "$_arg_staging" == "on" ]; then + domain=STG.FEDORAPROJECT.ORG +else + domain=FEDORAPROJECT.ORG +fi + +kinit -n @$domain -c FILE:$armorcache + +F_PASSWORD=$(systemd-ask-password --timeout=0 "FAS password:") +F_OTP=${FKINIT_OTP:-$(systemd-ask-password --timeout=0 "FAS OTP (leave blank if not configured):")} + +kinit -T FILE:$armorcache $_arg_user@$domain <<< "${F_PASSWORD}${F_OTP}" >/dev/null +unset F_PASSWORD +unset F_OTP + +# Display the active credential cache overview +echo +klist + + +# ^^^ TERMINATE YOUR CODE BEFORE THE BOTTOM ARGBASH MARKER ^^^ + +# ] <-- needed because of Argbash diff --git a/pkgname.py b/pkgname.py new file mode 100644 index 0000000..eb0ad3a --- /dev/null +++ b/pkgname.py @@ -0,0 +1,32 @@ +#!/usr/bin/python3 +""" +Pipe package NEVRAs into this script to get package names. + +NEVRA stands for Name, Epoch, Version, Release, Architecture. E.g.: + + $ echo fedora-packager-0:0.6.0.4-1.fc32.noarch | pkgname + fedora-packager + +You can omit epoch and/or architecture: + + $ echo fedora-packager-0.6.0.4-1.fc32 | pkgname + fedora-packager + +But, if version and release is omitted, the script can produce invalid results: + + $ echo fedora-packager | pkgname + fedora + +Created by Miro Hrončok, with suggestions from Adam Williamson. + +This script is trivial, consider it Public Domain. +""" +import fileinput +import sys + + +if len(sys.argv) > 1: + sys.exit(__doc__.strip()) + +for line in fileinput.input(): + print(line.rsplit("-", 2)[0]) diff --git a/riscv.conf b/riscv.conf new file mode 100644 index 0000000..42c66db --- /dev/null +++ b/riscv.conf @@ -0,0 +1,16 @@ +[riscv] + +;configuration for koji cli tool + +;url of XMLRPC server +server = https://riscv-koji.fedoraproject.org/kojihub + +;url of web interface +weburl = https://riscv-koji.fedoraproject.org/koji + +;url of package download site +topurl = https://riscv-kojipkgs.fedoraproject.org/ + +authtype = kerberos + +use_fast_upload = yes diff --git a/rpmbuild-md5 b/rpmbuild-md5 new file mode 100755 index 0000000..aefe04d --- /dev/null +++ b/rpmbuild-md5 @@ -0,0 +1,6 @@ +#!/bin/bash +rpmbuild --define "_source_filedigest_algorithm 1" \ + --define "_binary_filedigest_algorithm 1" \ + --define "_binary_payload w9.gzdio" \ + --define "_source_payload w9.gzdio" \ + --define "_default_patch_fuzz 2" "$@" diff --git a/s390.conf b/s390.conf new file mode 100644 index 0000000..d890ab8 --- /dev/null +++ b/s390.conf @@ -0,0 +1,16 @@ +[s390] + +;configuration for koji cli tool + +;url of XMLRPC server +server = https://s390.koji.fedoraproject.org/kojihub + +;url of web interface +weburl = https://s390.koji.fedoraproject.org/koji + +;url of package download site +topurl = https://s390pkgs.fedoraproject.org/ + +authtype = kerberos + +use_fast_upload = yes diff --git a/secondary-koji b/secondary-koji new file mode 100755 index 0000000..813eb7e --- /dev/null +++ b/secondary-koji @@ -0,0 +1,12 @@ +#! /bin/sh + +arch=`basename $0 | cut -d '-' -f 1` + +config="/etc/koji.conf.d/${arch}.conf" + +if [ ! -f $config ]; then + echo "Config file for $arch doesn't exist" + exit 1 +fi + +koji --profile ${arch} "$@" diff --git a/stg.conf b/stg.conf new file mode 100644 index 0000000..6e1c733 --- /dev/null +++ b/stg.conf @@ -0,0 +1,16 @@ +[stg] + +;configuration for koji cli tool + +;url of XMLRPC server +server = https://koji.stg.fedoraproject.org/kojihub + +;url of web interface +weburl = https://koji.stg.fedoraproject.org/koji + +;url of package download site +topurl = https://kojipkgs.stg.fedoraproject.org/ + +authtype = kerberos + +use_fast_upload = yes diff --git a/stg_fedoraproject_ipa_ca.crt b/stg_fedoraproject_ipa_ca.crt new file mode 100644 index 0000000..41a3ac6 --- /dev/null +++ b/stg_fedoraproject_ipa_ca.crt @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEqTCCAxGgAwIBAgIBATANBgkqhkiG9w0BAQsFADBAMR4wHAYDVQQKDBVTVEcu +RkVET1JBUFJPSkVDVC5PUkcxHjAcBgNVBAMMFUNlcnRpZmljYXRlIEF1dGhvcml0 +eTAeFw0yMTAyMTExMzExMDBaFw00MTAyMTExMzExMDBaMEAxHjAcBgNVBAoMFVNU +Ry5GRURPUkFQUk9KRUNULk9SRzEeMBwGA1UEAwwVQ2VydGlmaWNhdGUgQXV0aG9y +aXR5MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0MzQ9OVg4KTEs2Go +ASwcW1z/tJc60x7HG5VFC6EWft3MPH1p4APLJ/BZ4F/+ChHbbG35NTig0qK0SiLY +ct8Gyw66FoB2KQvks/1kCXuQquLnMCm9aEFAjlNDtUh9kcGrrjCfP4duwT6p/dl0 +Hue9J/FrCXfrxn3GSwizjC2ZZZV/sL3iDh3p2eBDksXpjGgQuDu2n+0g5U0dsNhM +9EYRkX2J/veESS3zpYDwRVHPwxIqmEGrK0wroqXwRZVf25HdsmP4B65Iz3aQKeXE +plLtZ6P99YfORQvu9GLhcgLPl5RQpvRBGacpyzGLhXqpAIl31PyurC+9yAvLANFl +Ncxf8ycvHGoOtiRPAbmWW+P+weuonmesHn8n3PV6JXcUkGoSFdfXw0MDAhLHCGQx +8DyrOZ8zskWdBzFxdCOIS/COnvUWBsjF6hzuUgIk3Ho89LyBYKZm1oC+ICTg94Au +dE1MOZQ1A9RllN3LP1dHPiAdrtBduWPsCYcnmgeiHH+jLr2tAgMBAAGjga0wgaow +HwYDVR0jBBgwFoAUQyunEUCOlySo2y3+sFr7ivM5yG8wDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0OBBYEFEMrpxFAjpckqNst/rBa+4rzOchv +MEcGCCsGAQUFBwEBBDswOTA3BggrBgEFBQcwAYYraHR0cDovL2lwYS1jYS5zdGcu +ZmVkb3JhcHJvamVjdC5vcmcvY2Evb2NzcDANBgkqhkiG9w0BAQsFAAOCAYEADVXs +3iTxDA7cA6TDKfjs3GrHk94LnnLxAIKTubYEw1UZmVcx++JCy2uUc7Zorgq5WkNP +xmqrKqhJTV6BzoVVhFxdof+ro3qW80dRcAtUm9heqr8HBGjoRMa/mMlDs7nb/0AH +XLe7UWYGW3qoxxUIeMWL1U736agWVFxRSe4ng8uvrGac7tK0tW3oiAkId3PwL6BM +jLaoMsfXFOK13GAP2P/VnuLDMJN6taR2BGQkqi7oZ9DmR6HcqG4MtYBiQgLhvH75 +JsKC/ROLtlC/gbShsy5WDy3Dbo/Ei8QMqhudQrtNlQeNUXASm8rUvkJmeIspTzPD +fOywhVygYiyIvigGOmiuwtfpPQaPHOWsosgkwmzq104wnv2ILaQ8+oYf617bxldR +9d6l8OMOiYqt34fLbMSw15G+OEnl7t96USuCXIihVTU1Ykqmruhn/O4EeXd9QiIr +7qlGcnKJpxwLCmHBtw3kv8PgK9EjGQpLPFTPiIP0rSHTVTQFUb8IY+tGG0jz +-----END CERTIFICATE----- diff --git a/stg_fedoraproject_org b/stg_fedoraproject_org new file mode 100644 index 0000000..7ad7c0c --- /dev/null +++ b/stg_fedoraproject_org @@ -0,0 +1,9 @@ +[realms] + STG.FEDORAPROJECT.ORG = { + kdc = https://id.stg.fedoraproject.org/KdcProxy + pkinit_anchors = FILE:/etc/pki/ipa/stg_fedoraproject_ipa_ca.crt + auto_fast_armor = true + } +[domain_realm] + .stg.fedoraproject.org = STG.FEDORAPROJECT.ORG + stg.fedoraproject.org = STG.FEDORAPROJECT.ORG