diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..934984f --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,95 @@ +# Code of Conduct + +This code of conduct applies to the maintainers and contributors alike. + +## Dealing with issues and support requests + +_We wish to add a specific section on dealing with issues opened against the +repository here._ + +This repository exists in the context of the EGI Federation. While that scope +does not restrict the usage, it does inform the priority we assign to issues and +the order we deal with them. + +We welcome issues reported by the public, and more specifically the community of +people using this repository. + +The EGI team is small and cannot support all requests equally. + +While we undertake to do everything in our power to respond to issues in a +timely manner, and to prioritise issues based on reasonable requests from +submitters, the maintainers expect that the prioritisation of issues as decided +by them is respected. + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of +experience, nationality, personal appearance, race, religion, or sexual identity +and orientation. + +## Our Standards + +Examples of behaviour that contributes to creating a positive environment +include: + +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + +Examples of unacceptable behaviour by participants include: + +- The use of sexualized language or imagery and unwelcome sexual attention or + advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic + address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behaviour and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behaviour. + +Project maintainers have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, or to ban temporarily or permanently any +contributor for other behaviours that they deem inappropriate, threatening, +offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behaviour may be +reported by contacting the EGI Foundation team at contact@egi.eu. The team will +review and investigate all complaints, and will respond in a way that it deems +appropriate to the circumstances. The team is obligated to maintain +confidentiality with regard to the reporter of an incident. Further details of +specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..4c6a769 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,52 @@ + + +# Short Description of the issue + + + +## Environment + + + +- Operating System: +- Other related components versions: + +## Steps to reproduce + + + +## Logs, stacktrace, or other symptoms + + + +```shell +output +``` + + + +# Summary of proposed changes diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..3259778 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,17 @@ + + +# Summary + + + +--- + + + +**Related issue :** diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..8e85703 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +--- +version: 2 +updates: + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" diff --git a/.github/linters/.markdownlint.json b/.github/linters/.markdownlint.json new file mode 100644 index 0000000..de7f46b --- /dev/null +++ b/.github/linters/.markdownlint.json @@ -0,0 +1,12 @@ +{ + "MD013": { + "line_length": 120, + "code_blocks": false, + "tables": false + }, + "MD014": false, + "MD024": false, + "MD026": { + "punctuation": ".,:;!" + } +} diff --git a/.github/linters/mlc_config.json b/.github/linters/mlc_config.json new file mode 100644 index 0000000..b1dd7f7 --- /dev/null +++ b/.github/linters/mlc_config.json @@ -0,0 +1,10 @@ +{ + "ignorePatterns": [ + { + "pattern": "^http://localhost" + }, + { + "pattern": "^https://example.com" + } + ] +} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..5a6ef38 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,115 @@ +--- +name: Create packages and test installation + +on: + pull_request: + +jobs: + # XXX done outside of the build matrix due to different container name + build-centos7: + strategy: + matrix: + rpm-name: [emi-bdii-site, emi-bdii-top, emi-resource-information-service, glite-BDII_site, glite-BDII_top] + name: Build ${{ matrix.rpm-name }} CentOS 7 RPMs + runs-on: ubuntu-latest + container: quay.io/centos/centos:7 + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install build requisites + run: | + yum install -y rpm-build yum-utils rpmlint + cd ${{ matrix.rpm-name }} + yum-builddep -y ${{ matrix.rpm-name }}.spec + - name: build rpm + run: | + make clean rpm + rpmlint --file .rpmlint.ini build/RPMS/noarch/*.el7.noarch.rpm + - name: Upload RPMs + uses: actions/upload-artifact@v3 + with: + name: rpms7 + path: | + build/RPMS/noarch/${{ matrix.rpm-name }}-*.el7.noarch.rpm + + # Use a matrix for CentOS Stream versions + build: + strategy: + matrix: + centos-version: [8, 9] + rpm-name: [emi-bdii-site, emi-bdii-top, emi-resource-information-service, glite-BDII_site, glite-BDII_top] + name: Build CentOS ${{ matrix.rpm-name }} ${{ matrix.centos-version }} RPMs + runs-on: ubuntu-latest + container: quay.io/centos/centos:stream${{ matrix.centos-version }} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install build requisites + run: | + yum install -y rpm-build yum-utils rpmlint + cd ${{ matrix.rpm-name }} + yum-builddep -y ${{ matrix.rpm-name }}.spec + - name: build rpm + run: | + make clean rpm + rpmlint --file .rpmlint.ini build/RPMS/noarch/*.el${{ matrix.centos-version }}.noarch.rpm + - name: Upload RPMs + uses: actions/upload-artifact@v3 + with: + name: rpms${{ matrix.centos-version }}-${{ matrix.rpm-name }} + path: | + build/RPMS/noarch/${{ matrix.rpm-name }}-*.el${{ matrix.centos-version }}.noarch.rpm + + install-centos7: + strategy: + matrix: + rpm-name: [emi-bdii-site, emi-bdii-top, emi-resource-information-service, glite-BDII_site, glite-BDII_top] + name: Install ${{ matrix.rpm-name }} CentOS 7 RPMs + needs: build-centos7 + runs-on: ubuntu-latest + container: quay.io/centos/centos:7 + steps: + - uses: actions/download-artifact@v3 + with: + name: rpms7-${{ matrix.rpm-name }} + - name: Install generated RPMs + run: | + yum localinstall -y ${{ matrix.rpm-name }}-*.el7.noarch.rpm + + # Dependency from PowerTools: openldap-servers + centos8-install: + strategy: + matrix: + rpm-name: [emi-bdii-site, emi-bdii-top, emi-resource-information-service, glite-BDII_site, glite-BDII_top] + name: Install ${{ matrix.rpm-name }} CentOS Stream 8 RPMs + needs: build + runs-on: ubuntu-latest + container: quay.io/centos/centos:stream8 + steps: + - uses: actions/download-artifact@v3 + with: + name: rpms8-${{ matrix.rpm-name }} + - name: Install generated RPMs + run: | + sed -i 's/^enabled=0/enabled=1/' /etc/yum.repos.d/CentOS-Stream-PowerTools.repo + yum localinstall -y ${{ matrix.rpm-name }}-*.el8.noarch.rpm + + # XXX Dependencies from EPEL: openldap-servers + centos9-install: + strategy: + matrix: + rpm-name: [emi-bdii-site, emi-bdii-top, emi-resource-information-service, glite-BDII_site, glite-BDII_top] + name: Install ${{ matrix.rpm-name }} CentOS Stream 9 RPMs + needs: build + runs-on: ubuntu-latest + container: quay.io/centos/centos:stream9 + steps: + - uses: actions/download-artifact@v3 + with: + name: rpms9-${{ matrix.rpm-name }} + - name: Install generated RPMs + run: | + yum install -y epel-release + yum localinstall -y ${{ matrix.rpm-name }}-*.el9.noarch.rpm diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml new file mode 100644 index 0000000..bbdf321 --- /dev/null +++ b/.github/workflows/check-links.yml @@ -0,0 +1,29 @@ +--- +name: Check links + +on: + pull_request: + +jobs: + markdown-link-check: + name: Check links using markdown-link-check + runs-on: ubuntu-latest + + steps: + # Checks out a copy of your repository on the ubuntu-latest machine + - name: Checkout code + uses: actions/checkout@v3 + with: + # Make sure the actual branch is checked out when running on PR + ref: ${{ github.event.pull_request.head.sha }} + # Full git history needed to get proper list of changed files + fetch-depth: 0 + + - name: Check links on new changes + uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + config-file: ".github/linters/mlc_config.json" + check-modified-files-only: "yes" + use-quiet-mode: "yes" + use-verbose-mode: "yes" + base-branch: "main" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..504b843 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,32 @@ +--- +name: Lint + +on: + pull_request: + +jobs: + super-lint: + name: Lint with Super-Linter + runs-on: ubuntu-latest + + steps: + # Checks out a copy of your repository on the ubuntu-latest machine + - name: Checkout code + uses: actions/checkout@v3 + with: + # Make sure the actual branch is checked out when running on PR + ref: ${{ github.event.pull_request.head.sha }} + # Full git history needed to get proper list of changed files + fetch-depth: 0 + + # Runs the Super-Linter action + - name: Run Super-Linter on new changes + uses: docker://ghcr.io/github/super-linter:slim-v4 + env: + DEFAULT_BRANCH: main + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + MARKDOWN_CONFIG_FILE: .markdownlint.json + # Only check new or edited files + VALIDATE_ALL_CODEBASE: false + # Fail on errors + DISABLE_ERRORS: false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..7026970 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,173 @@ +--- +# When a tag is created +# - create a new release from the tag +# - build and attach packages to the release +name: Create packages and release + +on: + push: + tags: + - "v*" + +jobs: + centos7: + strategy: + matrix: + rpm-name: [emi-bdii-site, emi-bdii-top, emi-resource-information-service, glite-BDII_site, glite-BDII_top] + name: Build ${{ matrix.rpm-name }} CentOS 7 RPMs + runs-on: ubuntu-latest + container: quay.io/centos/centos:7 + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: install build requisites + run: | + yum install -y rpm-build yum-utils + cd ${{ matrix.rpm-name }} + yum-builddep -y ${{ matrix.rpm-name }}.spec + - name: build rpm + run: | + make clean rpm + - name: Upload RPMs + uses: actions/upload-artifact@v3 + with: + name: rpms7 + path: | + build/RPMS/noarch/${{ matrix.rpm-name }}-*-1.el7.noarch.rpm + build/SRPMS/${{ matrix.rpm-name }}-*-1.el7.src.rpm + + centos8: + strategy: + matrix: + rpm-name: [emi-bdii-site, emi-bdii-top, emi-resource-information-service, glite-BDII_site, glite-BDII_top] + name: Build ${{ matrix.rpm-name }} CentOS Stream 8 RPMs + runs-on: ubuntu-latest + container: quay.io/centos/centos:stream8 + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install build requisites + run: | + yum install -y rpm-build yum-utils + cd ${{ matrix.rpm-name }} + yum-builddep -y ${{ matrix.rpm-name }}.spec + - name: build rpm + run: | + make clean rpm + - name: Upload RPMs + uses: actions/upload-artifact@v3 + with: + name: rpms8 + path: | + build/RPMS/noarch/${{ matrix.rpm-name }}-*-1.el8.noarch.rpm + build/SRPMS/${{ matrix.rpm-name }}-*-1.el8.src.rpm + + centos9: + name: Build CentOS Stream 9 RPMs + runs-on: ubuntu-latest + container: quay.io/centos/centos:stream9 + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install build requisites + run: | + yum install -y rpm-build yum-utils + cd ${{ matrix.rpm-name }} + yum-builddep -y ${{ matrix.rpm-name }}.spec + - name: build rpm + run: | + make clean rpm + - name: Upload RPMs + uses: actions/upload-artifact@v3 + with: + name: rpms9 + path: | + build/RPMS/noarch/${{ matrix.rpm-name }}-*-1.el9.noarch.rpm + build/SRPMS/${{ matrix.rpm-name }}-*-1.el9.src.rpm + + release7: + strategy: + matrix: + rpm-name: [emi-bdii-site, emi-bdii-top, emi-resource-information-service, glite-BDII_site, glite-BDII_top] + name: Upload ${{ matrix.rpm-name }} CentOS 7 release artefacts + needs: centos7-${{ matrix.rpm-name }} + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v3 + with: + name: rpms7-${{ matrix.rpm-name }} + - name: Find package name + id: package_name_centos7 + run: | + rpm_path=$(find . -name '${{ matrix.rpm-name }}-*-1.el7.noarch.rpm') + src_path=$(find . -name '${{ matrix.rpm-name }}-*-1.el7.src.rpm') + echo "rpm_path=${rpm_path}" >> "$GITHUB_OUTPUT" + echo "src_path=${src_path}" >> "$GITHUB_OUTPUT" + - name: Attach CentOS 7 RPMs to the release + uses: softprops/action-gh-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + fail_on_unmatched_files: true + files: | + ${{ steps.package_name_centos7.outputs.rpm_path }} + ${{ steps.package_name_centos7.outputs.src_path }} + + release8: + strategy: + matrix: + rpm-name: [emi-bdii-site, emi-bdii-top, emi-resource-information-service, glite-BDII_site, glite-BDII_top] + name: Upload ${{ matrix.rpm-name }} CentOS Stream 8 release artefacts + needs: centos8-${{ matrix.rpm-name }} + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v3 + with: + name: rpms8-${{ matrix.rpm-name }} + - name: Find package name + id: package_name_centos8 + run: | + rpm_path=$(find . -name '${{ matrix.rpm-name }}-*-1.el8.noarch.rpm') + src_path=$(find . -name '${{ matrix.rpm-name }}-*-1.el8.src.rpm') + echo "rpm_path=${rpm_path}" >> "$GITHUB_OUTPUT" + echo "src_path=${src_path}" >> "$GITHUB_OUTPUT" + - name: Attach CentOS Stream 8 RPMs to the release + uses: softprops/action-gh-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + fail_on_unmatched_files: true + files: | + ${{ steps.package_name_centos8.outputs.rpm_path }} + ${{ steps.package_name_centos8.outputs.src_path }} + + release9: + strategy: + matrix: + rpm-name: [emi-bdii-site, emi-bdii-top, emi-resource-information-service, glite-BDII_site, glite-BDII_top] + name: Upload ${{ matrix.rpm-name }} CentOS Stream 9 release artefacts + needs: centos9-${{ matrix.rpm-name }} + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v3 + with: + name: rpms9-${{ matrix.rpm-name }} + - name: Find package name + id: package_name_centos9 + run: | + rpm_path=$(find . -name '${{ matrix.rpm-name }}-*-1.el9.noarch.rpm') + src_path=$(find . -name '${{ matrix.rpm-name }}-*-1.el9.src.rpm') + echo "rpm_path=${rpm_path}" >> "$GITHUB_OUTPUT" + echo "src_path=${src_path}" >> "$GITHUB_OUTPUT" + - name: Attach CentOS Stream 9 RPMs to the release + uses: softprops/action-gh-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + fail_on_unmatched_files: true + files: | + ${{ steps.package_name_centos9.outputs.rpm_path }} + ${{ steps.package_name_centos9.outputs.src_path }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e341201 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*/build/ diff --git a/AUTHORS.md b/AUTHORS.md new file mode 100644 index 0000000..3c1ccd9 --- /dev/null +++ b/AUTHORS.md @@ -0,0 +1,17 @@ +# Authors + +## Maintainers + +- Andrea Manzi +- Baptiste Grenier +- Enol Fernandez +- Mattias Ellert + +## Original Authors + +- Laurence Field +- Maria Alandes Pradillo + +## Contributors + +[GitHub contributors](https://github.com/EGI-Federation/gridinfo-meta-packages/graphs/contributors). diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..3356c79 --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to +[Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000..15967d6 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,10 @@ +# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners +# https://github.blog/2017-07-06-introducing-code-owners/ + +# Assign code owners that will automatically get asked to review Pull Requests +# The last matching pattern takes the most precedence. + +# These owners will be the default owners for everything in the repo. +# Unless a later match takes precedence, they will be requested for +# review when someone opens a pull request. +* @EGI-Federation/bdii diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..4c858f9 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,92 @@ +# Contributing + +Thank you for taking the time to contribute to this project. The maintainers +greatly appreciate the interest of contributors and rely on continued engagement +with the community to ensure that this project remains useful. We would like to +take steps to put contributors in the best possible position to have their +contributions accepted. Please take a few moments to read this short guide on +how to contribute; bear in mind that contributions regarding how to best +contribute are also welcome. + +## Feedback and Questions + +If you wish to discuss anything related to the project, please open a +[GitHub issue](https://github.com/EGI-Federation/gridinfo-meta-packages/issues/new). + +## Contribution Process + +Before proposing a contribution via pull request (PR), ideally there is an open +issue describing the need for your contribution (refer to this issue number when +you submit the pull request). We have a 3 steps process for contributions. + +1. Fork the project if you have not, and commit changes to a git branch +1. Create a GitHub Pull Request for your change, following the instructions in + the pull request template. +1. Perform a [Code Review](#code-review-process) with the maintainers on the + pull request. + +### Pull Request Requirements + +1. **Explain your contribution in plain language.** To assist the maintainers in + understanding and appreciating your pull request, please use the template to + explain _why_ you are making this contribution, rather than just _what_ the + contribution entails. + +### Code Review Process + +Code review takes place in GitHub pull requests. See +[this article](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) +if you're not familiar with GitHub Pull Requests. + +Once you open a pull request, maintainers will review your code using the +built-in code review process in GitHub PRs. The process at this point is as +follows: + +1. A maintainer will review your code and merge it if no changes are necessary. + Your change will be merged into the repository's `main` branch. +1. If a maintainer has feedback or questions on your changes then they will set + `request changes` in the review and provide an explanation. + +## Using git + +For collaboration purposes, it is best if you create a GitHub account and fork +the repository to your own account. Once you do this you will be able to push +your changes to your GitHub repository for others to see and use, and it will be +easier to send pull requests. + +### Branches and Commits + +You should submit your patch as a git branch named after the GitHub issue, such +as `#3`\. This is called a _topic branch_ and allows users to associate a branch +of code with the issue. + +It is a best practice to have your commit message have a _summary line_ that +includes the issue number, followed by an empty line and then a brief +description of the commit. This also helps other contributors understand the +purpose of changes to the code. + +```text + #3 - platform_family and style + + * use platform_family for platform checking + * update notifies syntax to "resource_type[resource_name]" instead of + resources() lookup + * GH-692 - delete config files dropped off by packages in conf.d + * dropped debian 4 support because all other platforms have the same + values, and it is older than "old stable" debian release +``` + +## Release cycle + +Main branch is always available. Tagged versions may be created as needed +following [Semantic Versioning](https://semver.org/) as far as applicable. + +## Community + +EGI benefits from a strong community of developers and system administrators, +and vice-versa. If you have any questions or if you would like to get involved +in the wider EGI community you can check out: + +- [EGI site](https://www.egi.eu) + +**This file has been modified from the Chef Cookbook Contributing Guide**. diff --git a/COPYRIGHT b/COPYRIGHT new file mode 100644 index 0000000..eb2ab8d --- /dev/null +++ b/COPYRIGHT @@ -0,0 +1,4 @@ +This project is licensed under Apache 2.0. + +Copyrights in this project are retained by their contributors. +No copyright assignment is required to contribute to this project. diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..e1b71b9 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 The authors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md index 64d02a7..3864ae1 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,57 @@ -# gridinfo-meta-packages +# gridinfo meta packages -Documentation: http://gridinfo-documentation.readthedocs.io +This repository contains different meta packages for the BDII. +BDII documentation is available at +[gridinfo documentation site](https://gridinfo-documentation.readthedocs.io/). -## Installing from source +## Installing from packages -```sh -make install -``` +### On RHEL-based systems -* Build dependencies: None -* Runtime dependencies: openldap +On RHEL-based systems, it's possible to install packages from + [EGI UMD packages](https://go.egi.eu/umd). The packages are build from this repository, +and tested to work with other components part of the Unified Middleware Distribution. ## Building packages -* It is possible to easily build pacakges CentOS using the provided - `Makefile-build-docker` makefile leveraging the use of docker - containers. +Individual Makefiles allowing to build source tarball and packages are provided. + +### Building a RPM + +The required build dependencies are: + +- rpm-build +- make +- rsync -```sh -# Building a CentOS 7 RPM -make -f Makefile-build-docker rpm +```shell +# Checkout tag to be packaged +$ git clone https://github.com/EGI-Foundation/gridinfo-meta-packages.git +$ cd gridinfo-meta-packages +$ git checkout X.X.X +# Building in a container +$ docker run --rm -v $(pwd):/source -it quay.io/centos/centos:7 +[root@8a9d60c61f42 /]# yum install -y rpm-build yum-utils +# Move to the required package-specific directory +[root@8a9d60c61f42 /]# cd /source/emi-bdii-site +[root@8a9d60c61f42 emi-bdii-site]# yum-builddep -y emi-bdii-site.spec +[root@8a9d60c61f42 emi-bdii-site]# make rpm ``` +The RPM will be available into the `build/RPMS` directory. + +## Preparing a release + +- Prepare a changelog from the last version, including contributors' names +- Prepare a PR with + - Updating version and changelog in + - [CHANGELOG](CHANGELOG) + - [gridinfo-meta-packages.spec](gridinfo-meta-packages.spec) +- Once the PR has been merged tag and release a new version in GitHub + - Packages will be built using GitHub Actions and attached to the release page + +## History + +This work started under the EGEE project, and was hosted and maintained for a +long time by CERN. This is now hosted here on GitHub, maintained by the BDII +community with support of members of the EGI Federation. diff --git a/emi-bdii-site/Makefile b/emi-bdii-site/Makefile index 179903c..246eaf2 100644 --- a/emi-bdii-site/Makefile +++ b/emi-bdii-site/Makefile @@ -1,21 +1,26 @@ -NAME= $(shell grep Name: *.spec | sed 's/^[^:]*:[^a-zA-Z]*//' ) -VERSION= $(shell grep Version: *.spec | sed 's/^[^:]*:[^0-9]*//' ) -RELEASE= $(shell grep Release: *.spec |cut -d"%" -f1 |sed 's/^[^:]*:[^0-9]*//') +NAME=$(shell grep Name: *.spec | sed 's/^[^:]*:[^a-zA-Z]*//') +VERSION=$(shell grep Version: *.spec | sed 's/^[^:]*:[^0-9]*//') +RELEASE=$(shell grep Release: *.spec | cut -d"%" -f1 | sed 's/^[^:]*:[^0-9]*//') build=$(shell pwd)/build DATE=$(shell date "+%a, %d %b %Y %T %z") -dist=$(shell rpm --eval '%dist' | sed 's/%dist/.el5/') +dist=$(shell rpm --eval '%dist') -default: +default: @echo "Nothing to do" install: @echo installing ... @mkdir -p $(prefix) - + @mkdir -p $(prefix)/usr/share/doc/$(NAME)-$(VERSION) + @mkdir -p $(prefix)/usr/share/licenses/$(NAME)-$(VERSION) + @install -m 0644 AUTHORS.md $(prefix)/usr/share/doc/$(NAME)-$(VERSION)/ + @install -m 0644 COPYRIGHT $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/ + @install -m 0644 LICENSE.txt $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/ dist: - @mkdir -p $(build)/$(NAME)-$(VERSION)/ - rsync -HaS --exclude ".svn" --exclude "$(build)" * $(build)/$(NAME)-$(VERSION)/ + @mkdir -p $(build)/$(NAME)-$(VERSION)/ + rsync -HaS --exclude ".git" --exclude "$(build)" * $(build)/$(NAME)-$(VERSION)/ + cp ../LICENSE.txt ../COPYRIGHT ../AUTHORS.md $(build)/$(NAME)-$(VERSION)/ cd $(build); tar --gzip -cf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)/; cd - sources: dist @@ -25,21 +30,22 @@ deb: dist cd $(build)/$(NAME)-$(VERSION); dpkg-buildpackage -us -uc; cd - prepare: dist - @mkdir -p $(build)/RPMS/noarch - @mkdir -p $(build)/SRPMS/ - @mkdir -p $(build)/SPECS/ - @mkdir -p $(build)/SOURCES/ - @mkdir -p $(build)/BUILD/ - cp $(build)/$(NAME)-$(VERSION).tar.gz $(build)/SOURCES + @mkdir -p $(build)/RPMS/noarch + @mkdir -p $(build)/SRPMS/ + @mkdir -p $(build)/SPECS/ + @mkdir -p $(build)/SOURCES/ + @mkdir -p $(build)/BUILD/ + cp $(build)/$(NAME)-$(VERSION).tar.gz $(build)/SOURCES + cp $(NAME).spec $(build)/SPECS srpm: prepare - @rpmbuild -bs --define="dist ${dist}" --define='_topdir ${build}' $(NAME).spec + rpmbuild -bs --define="dist ${dist}" --define='_topdir ${build}' $(build)/SPECS/$(NAME).spec rpm: srpm - @rpmbuild --rebuild --define='_topdir ${build} ' $(build)/SRPMS/$(NAME)-$(VERSION)-$(RELEASE)$(dist).src.rpm + rpmbuild --rebuild --define="dist ${dist}" --define='_topdir ${build}' $(build)/SRPMS/$(NAME)-$(VERSION)-$(RELEASE)$(dist).src.rpm clean: rm -f *~ $(NAME)-$(VERSION).tar.gz rm -rf $(build) -.PHONY: dist srpm rpm sources clean +.PHONY: dist srpm rpm sources clean diff --git a/emi-bdii-site/Makefile-build-docker b/emi-bdii-site/Makefile-build-docker deleted file mode 100644 index 8e12879..0000000 --- a/emi-bdii-site/Makefile-build-docker +++ /dev/null @@ -1,14 +0,0 @@ -# Building using docker-rpm-builder -# https://github.com/alanfranz/docker-rpm-builder -# -# Usage: -# make -f Makefile-build-docker rpm - -# Use a custom rpm target -rpm: sources - docker-rpm-builder dir --bash-on-failure alanfranz/drb-epel-7-x86-64:latest . . - -# Get all other targets from Makefile -%: force - @$(MAKE) -f Makefile $@ -force: ; diff --git a/emi-bdii-site/emi-bdii-site.spec b/emi-bdii-site/emi-bdii-site.spec index 926b869..5a357a5 100644 --- a/emi-bdii-site/emi-bdii-site.spec +++ b/emi-bdii-site/emi-bdii-site.spec @@ -1,17 +1,20 @@ -Name: emi-bdii-site -Version: 1.0.2 -Release: 1%{?dist} -Summary: Metapackage for site BDII -Group: Unknown -License: ASL 2.0 -Source: %{name}-%{version}.tar.gz -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Requires: emi-resource-information-service -Requires: glite-info-provider-ldap -Requires: bdii-config-site -Requires: glite-info-site -Requires: glite-info-static +Name: emi-bdii-site +Version: 1.0.2 +Release: 1%{?dist} +Summary: Metapackage for site BDII +Group: Unknown +License: ASL 2.0 +URL: https://github.com/EGI-Foundation/gridinfo-meta-packages +Source: %{name}-%{version}.tar.gz +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: rsync +BuildRequires: make +Requires: emi-resource-information-service +Requires: glite-info-provider-ldap +Requires: bdii-config-site +Requires: glite-info-site +Requires: glite-info-static %description %{summary} @@ -25,7 +28,13 @@ make install prefix=%{buildroot} %install +%clean +rm -rf %{buildroot} + %files +%doc %{_docdir}/%{name}-%{version}/AUTHORS.md +%license /usr/share/licenses/%{name}-%{version}/COPYRIGHT +%license /usr/share/licenses/%{name}-%{version}/LICENSE.txt %changelog * Fri Sep 04 2015 Maria Alandes - 1.0.2-1 diff --git a/emi-bdii-top/Makefile b/emi-bdii-top/Makefile index 179903c..246eaf2 100644 --- a/emi-bdii-top/Makefile +++ b/emi-bdii-top/Makefile @@ -1,21 +1,26 @@ -NAME= $(shell grep Name: *.spec | sed 's/^[^:]*:[^a-zA-Z]*//' ) -VERSION= $(shell grep Version: *.spec | sed 's/^[^:]*:[^0-9]*//' ) -RELEASE= $(shell grep Release: *.spec |cut -d"%" -f1 |sed 's/^[^:]*:[^0-9]*//') +NAME=$(shell grep Name: *.spec | sed 's/^[^:]*:[^a-zA-Z]*//') +VERSION=$(shell grep Version: *.spec | sed 's/^[^:]*:[^0-9]*//') +RELEASE=$(shell grep Release: *.spec | cut -d"%" -f1 | sed 's/^[^:]*:[^0-9]*//') build=$(shell pwd)/build DATE=$(shell date "+%a, %d %b %Y %T %z") -dist=$(shell rpm --eval '%dist' | sed 's/%dist/.el5/') +dist=$(shell rpm --eval '%dist') -default: +default: @echo "Nothing to do" install: @echo installing ... @mkdir -p $(prefix) - + @mkdir -p $(prefix)/usr/share/doc/$(NAME)-$(VERSION) + @mkdir -p $(prefix)/usr/share/licenses/$(NAME)-$(VERSION) + @install -m 0644 AUTHORS.md $(prefix)/usr/share/doc/$(NAME)-$(VERSION)/ + @install -m 0644 COPYRIGHT $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/ + @install -m 0644 LICENSE.txt $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/ dist: - @mkdir -p $(build)/$(NAME)-$(VERSION)/ - rsync -HaS --exclude ".svn" --exclude "$(build)" * $(build)/$(NAME)-$(VERSION)/ + @mkdir -p $(build)/$(NAME)-$(VERSION)/ + rsync -HaS --exclude ".git" --exclude "$(build)" * $(build)/$(NAME)-$(VERSION)/ + cp ../LICENSE.txt ../COPYRIGHT ../AUTHORS.md $(build)/$(NAME)-$(VERSION)/ cd $(build); tar --gzip -cf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)/; cd - sources: dist @@ -25,21 +30,22 @@ deb: dist cd $(build)/$(NAME)-$(VERSION); dpkg-buildpackage -us -uc; cd - prepare: dist - @mkdir -p $(build)/RPMS/noarch - @mkdir -p $(build)/SRPMS/ - @mkdir -p $(build)/SPECS/ - @mkdir -p $(build)/SOURCES/ - @mkdir -p $(build)/BUILD/ - cp $(build)/$(NAME)-$(VERSION).tar.gz $(build)/SOURCES + @mkdir -p $(build)/RPMS/noarch + @mkdir -p $(build)/SRPMS/ + @mkdir -p $(build)/SPECS/ + @mkdir -p $(build)/SOURCES/ + @mkdir -p $(build)/BUILD/ + cp $(build)/$(NAME)-$(VERSION).tar.gz $(build)/SOURCES + cp $(NAME).spec $(build)/SPECS srpm: prepare - @rpmbuild -bs --define="dist ${dist}" --define='_topdir ${build}' $(NAME).spec + rpmbuild -bs --define="dist ${dist}" --define='_topdir ${build}' $(build)/SPECS/$(NAME).spec rpm: srpm - @rpmbuild --rebuild --define='_topdir ${build} ' $(build)/SRPMS/$(NAME)-$(VERSION)-$(RELEASE)$(dist).src.rpm + rpmbuild --rebuild --define="dist ${dist}" --define='_topdir ${build}' $(build)/SRPMS/$(NAME)-$(VERSION)-$(RELEASE)$(dist).src.rpm clean: rm -f *~ $(NAME)-$(VERSION).tar.gz rm -rf $(build) -.PHONY: dist srpm rpm sources clean +.PHONY: dist srpm rpm sources clean diff --git a/emi-bdii-top/Makefile-build-docker b/emi-bdii-top/Makefile-build-docker deleted file mode 100644 index 8e12879..0000000 --- a/emi-bdii-top/Makefile-build-docker +++ /dev/null @@ -1,14 +0,0 @@ -# Building using docker-rpm-builder -# https://github.com/alanfranz/docker-rpm-builder -# -# Usage: -# make -f Makefile-build-docker rpm - -# Use a custom rpm target -rpm: sources - docker-rpm-builder dir --bash-on-failure alanfranz/drb-epel-7-x86-64:latest . . - -# Get all other targets from Makefile -%: force - @$(MAKE) -f Makefile $@ -force: ; diff --git a/emi-bdii-top/emi-bdii-top.spec b/emi-bdii-top/emi-bdii-top.spec index 7d53554..47bf4c0 100644 --- a/emi-bdii-top/emi-bdii-top.spec +++ b/emi-bdii-top/emi-bdii-top.spec @@ -1,17 +1,20 @@ -Name: emi-bdii-top -Version: 1.0.3 -Release: 2%{?dist} -Summary: Metapackage for top BDII -Group: Unknown -License: ASL 2.0 -Source: %{name}-%{version}.tar.gz -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Requires: emi-resource-information-service -Requires: glite-info-provider-ldap -Requires: bdii-config-top -Obsoletes: glite-info-plugin-fcr -Requires: glite-info-update-endpoints +Name: emi-bdii-top +Version: 1.0.3 +Release: 2%{?dist} +Summary: Metapackage for Top BDII +Group: Unknown +License: ASL 2.0 +URL: https://github.com/EGI-Foundation/gridinfo-meta-packages +Source: %{name}-%{version}.tar.gz +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: rsync +BuildRequires: make +Requires: emi-resource-information-service +Requires: glite-info-provider-ldap +Requires: bdii-config-top +Obsoletes: glite-info-plugin-fcr +Requires: glite-info-update-endpoints %description %{summary} @@ -25,7 +28,13 @@ make install prefix=%{buildroot} %install +%clean +rm -rf %{buildroot} + %files +%doc %{_docdir}/%{name}-%{version}/AUTHORS.md +%license /usr/share/licenses/%{name}-%{version}/COPYRIGHT +%license /usr/share/licenses/%{name}-%{version}/LICENSE.txt %changelog * Fri Sep 04 2015 Maria Alandes - 1.0.3-2 diff --git a/emi-resource-information-service/Makefile b/emi-resource-information-service/Makefile index 179903c..246eaf2 100644 --- a/emi-resource-information-service/Makefile +++ b/emi-resource-information-service/Makefile @@ -1,21 +1,26 @@ -NAME= $(shell grep Name: *.spec | sed 's/^[^:]*:[^a-zA-Z]*//' ) -VERSION= $(shell grep Version: *.spec | sed 's/^[^:]*:[^0-9]*//' ) -RELEASE= $(shell grep Release: *.spec |cut -d"%" -f1 |sed 's/^[^:]*:[^0-9]*//') +NAME=$(shell grep Name: *.spec | sed 's/^[^:]*:[^a-zA-Z]*//') +VERSION=$(shell grep Version: *.spec | sed 's/^[^:]*:[^0-9]*//') +RELEASE=$(shell grep Release: *.spec | cut -d"%" -f1 | sed 's/^[^:]*:[^0-9]*//') build=$(shell pwd)/build DATE=$(shell date "+%a, %d %b %Y %T %z") -dist=$(shell rpm --eval '%dist' | sed 's/%dist/.el5/') +dist=$(shell rpm --eval '%dist') -default: +default: @echo "Nothing to do" install: @echo installing ... @mkdir -p $(prefix) - + @mkdir -p $(prefix)/usr/share/doc/$(NAME)-$(VERSION) + @mkdir -p $(prefix)/usr/share/licenses/$(NAME)-$(VERSION) + @install -m 0644 AUTHORS.md $(prefix)/usr/share/doc/$(NAME)-$(VERSION)/ + @install -m 0644 COPYRIGHT $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/ + @install -m 0644 LICENSE.txt $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/ dist: - @mkdir -p $(build)/$(NAME)-$(VERSION)/ - rsync -HaS --exclude ".svn" --exclude "$(build)" * $(build)/$(NAME)-$(VERSION)/ + @mkdir -p $(build)/$(NAME)-$(VERSION)/ + rsync -HaS --exclude ".git" --exclude "$(build)" * $(build)/$(NAME)-$(VERSION)/ + cp ../LICENSE.txt ../COPYRIGHT ../AUTHORS.md $(build)/$(NAME)-$(VERSION)/ cd $(build); tar --gzip -cf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)/; cd - sources: dist @@ -25,21 +30,22 @@ deb: dist cd $(build)/$(NAME)-$(VERSION); dpkg-buildpackage -us -uc; cd - prepare: dist - @mkdir -p $(build)/RPMS/noarch - @mkdir -p $(build)/SRPMS/ - @mkdir -p $(build)/SPECS/ - @mkdir -p $(build)/SOURCES/ - @mkdir -p $(build)/BUILD/ - cp $(build)/$(NAME)-$(VERSION).tar.gz $(build)/SOURCES + @mkdir -p $(build)/RPMS/noarch + @mkdir -p $(build)/SRPMS/ + @mkdir -p $(build)/SPECS/ + @mkdir -p $(build)/SOURCES/ + @mkdir -p $(build)/BUILD/ + cp $(build)/$(NAME)-$(VERSION).tar.gz $(build)/SOURCES + cp $(NAME).spec $(build)/SPECS srpm: prepare - @rpmbuild -bs --define="dist ${dist}" --define='_topdir ${build}' $(NAME).spec + rpmbuild -bs --define="dist ${dist}" --define='_topdir ${build}' $(build)/SPECS/$(NAME).spec rpm: srpm - @rpmbuild --rebuild --define='_topdir ${build} ' $(build)/SRPMS/$(NAME)-$(VERSION)-$(RELEASE)$(dist).src.rpm + rpmbuild --rebuild --define="dist ${dist}" --define='_topdir ${build}' $(build)/SRPMS/$(NAME)-$(VERSION)-$(RELEASE)$(dist).src.rpm clean: rm -f *~ $(NAME)-$(VERSION).tar.gz rm -rf $(build) -.PHONY: dist srpm rpm sources clean +.PHONY: dist srpm rpm sources clean diff --git a/emi-resource-information-service/Makefile-build-docker b/emi-resource-information-service/Makefile-build-docker deleted file mode 100644 index 8e12879..0000000 --- a/emi-resource-information-service/Makefile-build-docker +++ /dev/null @@ -1,14 +0,0 @@ -# Building using docker-rpm-builder -# https://github.com/alanfranz/docker-rpm-builder -# -# Usage: -# make -f Makefile-build-docker rpm - -# Use a custom rpm target -rpm: sources - docker-rpm-builder dir --bash-on-failure alanfranz/drb-epel-7-x86-64:latest . . - -# Get all other targets from Makefile -%: force - @$(MAKE) -f Makefile $@ -force: ; diff --git a/emi-resource-information-service/emi-resource-information-service.spec b/emi-resource-information-service/emi-resource-information-service.spec index ab4835f..7a1baa8 100644 --- a/emi-resource-information-service/emi-resource-information-service.spec +++ b/emi-resource-information-service/emi-resource-information-service.spec @@ -1,16 +1,19 @@ -Name: emi-resource-information-service -Version: 1.0.4 -Release: 1%{?dist} -Summary: Metapackage for the resource information service -Group: Unknown -License: ASL 2.0 -Source: %{name}-%{version}.tar.gz -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Requires: bdii -Requires: glue-schema -Requires: glite-info-provider-service -Requires: glue-validator +Name: emi-resource-information-service +Version: 1.0.4 +Release: 1%{?dist} +Summary: Metapackage for the resource information service +Group: Unknown +License: ASL 2.0 +URL: https://github.com/EGI-Foundation/gridinfo-meta-packages +Source: %{name}-%{version}.tar.gz +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: rsync +BuildRequires: make +Requires: bdii +Requires: glue-schema +Requires: glite-info-provider-service +Requires: glue-validator %description %{summary} @@ -24,7 +27,13 @@ make install prefix=%{buildroot} %install +%clean +rm -rf %{buildroot} + %files +%doc %{_docdir}/%{name}-%{version}/AUTHORS.md +%license /usr/share/licenses/%{name}-%{version}/COPYRIGHT +%license /usr/share/licenses/%{name}-%{version}/LICENSE.txt %changelog * Fri Sep 04 2015 Maria Alandes - 1.0.4-1 diff --git a/glite-BDII_site/LICENCE b/glite-BDII_site/LICENCE deleted file mode 100644 index a3d24c4..0000000 --- a/glite-BDII_site/LICENCE +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) 2007 The EGEE Project Released under the terms of the Apache 2.0 Licence diff --git a/glite-BDII_site/Makefile b/glite-BDII_site/Makefile index 446b7c5..5e84c85 100644 --- a/glite-BDII_site/Makefile +++ b/glite-BDII_site/Makefile @@ -1,22 +1,27 @@ -NAME= $(shell grep Name: *.spec | sed 's/^[^:]*:[^a-zA-Z]*//' ) -VERSION= $(shell grep Version: *.spec | sed 's/^[^:]*:[^0-9]*//' ) -RELEASE= $(shell grep Release: *.spec |cut -d"%" -f1 |sed 's/^[^:]*:[^0-9]*//') +NAME=$(shell grep Name: *.spec | sed 's/^[^:]*:[^a-zA-Z]*//') +VERSION=$(shell grep Version: *.spec | sed 's/^[^:]*:[^0-9]*//') +RELEASE=$(shell grep Release: *.spec | cut -d"%" -f1 | sed 's/^[^:]*:[^0-9]*//') build=$(shell pwd)/build DATE=$(shell date "+%a, %d %b %Y %T %z") +dist=$(shell rpm --eval '%dist') -default: +default: @echo "Nothing to do" install: @echo installing ... - @mkdir -p $(prefix)/opt/glite/release/glite-BDII_site - - @install -m 0644 LICENCE $(prefix)/opt/glite/release/glite-BDII_site/ - @install -m 0644 glite-version $(prefix)/opt/glite/release/glite-BDII_site/ + @mkdir -p $(prefix)/opt/glite/release/$(NAME)-$(VERSION) + @mkdir -p $(prefix)/usr/share/doc/$(NAME)-$(VERSION) + @mkdir -p $(prefix)/usr/share/licenses/$(NAME)-$(VERSION) + @install -m 0644 AUTHORS.md $(prefix)/usr/share/doc/$(NAME)-$(VERSION)/ + @install -m 0644 COPYRIGHT $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/ + @install -m 0644 LICENSE.txt $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/ + @install -m 0644 glite-version $(prefix)/opt/glite/release/$(NAME)-$(VERSION)/ dist: - @mkdir -p $(build)/$(NAME)-$(VERSION)/ - rsync -HaS --exclude ".svn" --exclude "$(build)" * $(build)/$(NAME)-$(VERSION)/ + @mkdir -p $(build)/$(NAME)-$(VERSION)/ + rsync -HaS --exclude ".git" --exclude "$(build)" * $(build)/$(NAME)-$(VERSION)/ + cp ../LICENSE.txt ../COPYRIGHT ../AUTHORS.md $(build)/$(NAME)-$(VERSION)/ cd $(build); tar --gzip -cf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)/; cd - sources: dist @@ -26,21 +31,22 @@ deb: dist cd $(build)/$(NAME)-$(VERSION); dpkg-buildpackage -us -uc; cd - prepare: dist - @mkdir -p $(build)/RPMS/noarch - @mkdir -p $(build)/SRPMS/ - @mkdir -p $(build)/SPECS/ - @mkdir -p $(build)/SOURCES/ - @mkdir -p $(build)/BUILD/ - cp $(build)/$(NAME)-$(VERSION).tar.gz $(build)/SOURCES + @mkdir -p $(build)/RPMS/noarch + @mkdir -p $(build)/SRPMS/ + @mkdir -p $(build)/SPECS/ + @mkdir -p $(build)/SOURCES/ + @mkdir -p $(build)/BUILD/ + cp $(build)/$(NAME)-$(VERSION).tar.gz $(build)/SOURCES + cp $(NAME).spec $(build)/SPECS srpm: prepare - @rpmbuild -bs --define='_topdir ${build}' $(NAME).spec + rpmbuild -bs --define="dist ${dist}" --define='_topdir ${build}' $(build)/SPECS/$(NAME).spec rpm: srpm - @rpmbuild --rebuild --define='_topdir ${build} ' $(build)/SRPMS/$(NAME)-$(VERSION)-$(RELEASE).src.rpm + rpmbuild --rebuild --define="dist ${dist}" --define='_topdir ${build}' $(build)/SRPMS/$(NAME)-$(VERSION)-$(RELEASE)$(dist).src.rpm clean: rm -f *~ $(NAME)-$(VERSION).tar.gz rm -rf $(build) -.PHONY: dist srpm rpm sources clean \ No newline at end of file +.PHONY: dist srpm rpm sources clean diff --git a/glite-BDII_site/Makefile-build-docker b/glite-BDII_site/Makefile-build-docker deleted file mode 100644 index 8e12879..0000000 --- a/glite-BDII_site/Makefile-build-docker +++ /dev/null @@ -1,14 +0,0 @@ -# Building using docker-rpm-builder -# https://github.com/alanfranz/docker-rpm-builder -# -# Usage: -# make -f Makefile-build-docker rpm - -# Use a custom rpm target -rpm: sources - docker-rpm-builder dir --bash-on-failure alanfranz/drb-epel-7-x86-64:latest . . - -# Get all other targets from Makefile -%: force - @$(MAKE) -f Makefile $@ -force: ; diff --git a/glite-BDII_site/glite-BDII_site.spec b/glite-BDII_site/glite-BDII_site.spec index e976e52..6015191 100644 --- a/glite-BDII_site/glite-BDII_site.spec +++ b/glite-BDII_site/glite-BDII_site.spec @@ -1,24 +1,27 @@ -Name: glite-BDII_site -Version: 3.2.6 -Release: 1%{?dist} -Summary: The meta-package for the site-level BDII service. -Group: Unknown -License: ASL 2.0 -Source: %{name}-%{version}.tar.gz -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Requires: bdii >= 5.1.4 -Requires: bdii-config-site >= 0.6.0 -Requires: glite-info-provider-ldap >= 1.3.1 -Requires: glite-info-provider-release >= 1.0.1 -Requires: glite-info-provider-service >= 1.3.3 -Requires: glite-info-site >= 0.3.0 -Requires: glite-info-static >= 0.2.0 -Requires: glite-yaim-bdii >= 4.1.1 -Requires: glite-yaim-core >= 4.0.12 -Requires: glue-schema >= 2.0.3 -Obsoletes: glite-BDII -Obsoletes: glite-info-generic +Name: glite-BDII_site +Version: 3.2.6 +Release: 1%{?dist} +Summary: The meta-package for the site-level BDII service. +Group: Unknown +License: ASL 2.0 +URL: https://github.com/EGI-Foundation/gridinfo-meta-packages +Source: %{name}-%{version}.tar.gz +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: rsync +BuildRequires: make +Requires: bdii >= 5.1.4 +Requires: bdii-config-site >= 0.6.0 +Requires: glite-info-provider-ldap >= 1.3.1 +Requires: glite-info-provider-release >= 1.0.1 +Requires: glite-info-provider-service >= 1.3.3 +Requires: glite-info-site >= 0.3.0 +Requires: glite-info-static >= 0.2.0 +Requires: glite-yaim-bdii >= 4.1.1 +Requires: glite-yaim-core >= 4.0.12 +Requires: glue-schema >= 2.0.3 +Obsoletes: glite-BDII +Obsoletes: glite-info-generic %description %{summary} @@ -32,10 +35,16 @@ Obsoletes: glite-info-generic rm -rf %{buildroot} make install prefix=%{buildroot} +%clean +rm -rf %{buildroot} + %files %defattr(-,root,root,-) -/opt/glite/release/glite-BDII_site/LICENCE -/opt/glite/release/glite-BDII_site/glite-version +/opt/glite/release/%{name}-%{version}/glite-version +%doc %{_docdir}/%{name}-%{version}/AUTHORS.md +%license /usr/share/licenses/%{name}-%{version}/COPYRIGHT +%license /usr/share/licenses/%{name}-%{version}/LICENSE.txt + %changelog * Fri May 21 2010 Laurence Field - %{version}-%{release} - New meta-package for the site-level BDII diff --git a/glite-BDII_top/LICENCE b/glite-BDII_top/LICENCE deleted file mode 100644 index a3d24c4..0000000 --- a/glite-BDII_top/LICENCE +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) 2007 The EGEE Project Released under the terms of the Apache 2.0 Licence diff --git a/glite-BDII_top/Makefile b/glite-BDII_top/Makefile index c2c044f..5e84c85 100644 --- a/glite-BDII_top/Makefile +++ b/glite-BDII_top/Makefile @@ -1,22 +1,27 @@ -NAME= $(shell grep Name: *.spec | sed 's/^[^:]*:[^a-zA-Z]*//' ) -VERSION= $(shell grep Version: *.spec | sed 's/^[^:]*:[^0-9]*//' ) -RELEASE= $(shell grep Release: *.spec |cut -d"%" -f1 |sed 's/^[^:]*:[^0-9]*//') +NAME=$(shell grep Name: *.spec | sed 's/^[^:]*:[^a-zA-Z]*//') +VERSION=$(shell grep Version: *.spec | sed 's/^[^:]*:[^0-9]*//') +RELEASE=$(shell grep Release: *.spec | cut -d"%" -f1 | sed 's/^[^:]*:[^0-9]*//') build=$(shell pwd)/build DATE=$(shell date "+%a, %d %b %Y %T %z") +dist=$(shell rpm --eval '%dist') -default: +default: @echo "Nothing to do" install: @echo installing ... - @mkdir -p $(prefix)/opt/glite/release/glite-BDII_top - - @install -m 0644 LICENCE $(prefix)/opt/glite/release/glite-BDII_top/ - @install -m 0644 glite-version $(prefix)/opt/glite/release/glite-BDII_top/ + @mkdir -p $(prefix)/opt/glite/release/$(NAME)-$(VERSION) + @mkdir -p $(prefix)/usr/share/doc/$(NAME)-$(VERSION) + @mkdir -p $(prefix)/usr/share/licenses/$(NAME)-$(VERSION) + @install -m 0644 AUTHORS.md $(prefix)/usr/share/doc/$(NAME)-$(VERSION)/ + @install -m 0644 COPYRIGHT $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/ + @install -m 0644 LICENSE.txt $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/ + @install -m 0644 glite-version $(prefix)/opt/glite/release/$(NAME)-$(VERSION)/ dist: - @mkdir -p $(build)/$(NAME)-$(VERSION)/ - rsync -HaS --exclude ".svn" --exclude "$(build)" * $(build)/$(NAME)-$(VERSION)/ + @mkdir -p $(build)/$(NAME)-$(VERSION)/ + rsync -HaS --exclude ".git" --exclude "$(build)" * $(build)/$(NAME)-$(VERSION)/ + cp ../LICENSE.txt ../COPYRIGHT ../AUTHORS.md $(build)/$(NAME)-$(VERSION)/ cd $(build); tar --gzip -cf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)/; cd - sources: dist @@ -26,21 +31,22 @@ deb: dist cd $(build)/$(NAME)-$(VERSION); dpkg-buildpackage -us -uc; cd - prepare: dist - @mkdir -p $(build)/RPMS/noarch - @mkdir -p $(build)/SRPMS/ - @mkdir -p $(build)/SPECS/ - @mkdir -p $(build)/SOURCES/ - @mkdir -p $(build)/BUILD/ - cp $(build)/$(NAME)-$(VERSION).tar.gz $(build)/SOURCES + @mkdir -p $(build)/RPMS/noarch + @mkdir -p $(build)/SRPMS/ + @mkdir -p $(build)/SPECS/ + @mkdir -p $(build)/SOURCES/ + @mkdir -p $(build)/BUILD/ + cp $(build)/$(NAME)-$(VERSION).tar.gz $(build)/SOURCES + cp $(NAME).spec $(build)/SPECS srpm: prepare - @rpmbuild -bs --define='_topdir ${build}' $(NAME).spec + rpmbuild -bs --define="dist ${dist}" --define='_topdir ${build}' $(build)/SPECS/$(NAME).spec rpm: srpm - @rpmbuild --rebuild --define='_topdir ${build} ' $(build)/SRPMS/$(NAME)-$(VERSION)-$(RELEASE).src.rpm + rpmbuild --rebuild --define="dist ${dist}" --define='_topdir ${build}' $(build)/SRPMS/$(NAME)-$(VERSION)-$(RELEASE)$(dist).src.rpm clean: rm -f *~ $(NAME)-$(VERSION).tar.gz rm -rf $(build) -.PHONY: dist srpm rpm sources clean \ No newline at end of file +.PHONY: dist srpm rpm sources clean diff --git a/glite-BDII_top/Makefile-build-docker b/glite-BDII_top/Makefile-build-docker deleted file mode 100644 index 8e12879..0000000 --- a/glite-BDII_top/Makefile-build-docker +++ /dev/null @@ -1,14 +0,0 @@ -# Building using docker-rpm-builder -# https://github.com/alanfranz/docker-rpm-builder -# -# Usage: -# make -f Makefile-build-docker rpm - -# Use a custom rpm target -rpm: sources - docker-rpm-builder dir --bash-on-failure alanfranz/drb-epel-7-x86-64:latest . . - -# Get all other targets from Makefile -%: force - @$(MAKE) -f Makefile $@ -force: ; diff --git a/glite-BDII_top/glite-BDII_top.spec b/glite-BDII_top/glite-BDII_top.spec index c7bae6b..765b787 100644 --- a/glite-BDII_top/glite-BDII_top.spec +++ b/glite-BDII_top/glite-BDII_top.spec @@ -1,21 +1,24 @@ -Name: glite-BDII_top -Version: 3.2.6 -Release: 1%{?dist} -Summary: The meta-package for the top-level BDII service. -Group: Unknown -License: ASL 2.0 -Source: %{name}-%{version}.tar.gz -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Requires: bdii >= 5.1.4 -Requires: glite-info-provider-ldap >= 1.3.1 -Requires: glite-info-provider-release >= 1.0.1 -Requires: glite-info-provider-service >= 1.3.3 -Requires: glite-yaim-bdii >= 4.1.1 -Requires: glite-yaim-core >= 4.0.12 -Requires: glue-schema >= 2.0.3 -Obsoletes: glite-BDII -Obsoletes: glite-info-generic +Name: glite-BDII_top +Version: 3.2.6 +Release: 1%{?dist} +Summary: The meta-package for the top-level BDII service. +Group: Unknown +License: ASL 2.0 +URL: https://github.com/EGI-Foundation/gridinfo-meta-packages +Source: %{name}-%{version}.tar.gz +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: rsync +BuildRequires: make +Requires: bdii >= 5.1.4 +Requires: glite-info-provider-ldap >= 1.3.1 +Requires: glite-info-provider-release >= 1.0.1 +Requires: glite-info-provider-service >= 1.3.3 +Requires: glite-yaim-bdii >= 4.1.1 +Requires: glite-yaim-core >= 4.0.12 +Requires: glue-schema >= 2.0.3 +Obsoletes: glite-BDII +Obsoletes: glite-info-generic %description %{summary} @@ -29,10 +32,16 @@ Obsoletes: glite-info-generic rm -rf %{buildroot} make install prefix=%{buildroot} +%clean +rm -rf %{buildroot} + %files %defattr(-,root,root,-) -/opt/glite/release/glite-BDII_top/LICENCE -/opt/glite/release/glite-BDII_top/glite-version +/opt/glite/release/%{name}-%{version}/glite-version +%doc %{_docdir}/%{name}-%{version}/AUTHORS.md +%license /usr/share/licenses/%{name}-%{version}/COPYRIGHT +%license /usr/share/licenses/%{name}-%{version}/LICENSE.txt + %changelog * Fri May 21 2010 Laurence Field - %{version}-%{release} - New meta-package for the top-level BDII