Hello community, here is the log from the commit of package rmt-server for openSUSE:Factory checked in at 2018-02-14 10:51:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rmt-server (Old) and /work/SRC/openSUSE:Factory/.rmt-server.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rmt-server" Wed Feb 14 10:51:17 2018 rev:4 rq:576054 version:0.0.3 Changes: -------- --- /work/SRC/openSUSE:Factory/rmt-server/rmt-server.changes 2017-12-19 10:58:37.916931923 +0100 +++ /work/SRC/openSUSE:Factory/.rmt-server.new/rmt-server.changes 2018-02-14 10:51:22.110231256 +0100 @@ -1,0 +2,14 @@ +Mon Feb 12 13:28:36 UTC 2018 - [email protected] + +- version 0.0.3 +- Added nginx integration +- Added systemd timers for rmt-server-sync and rmt-server-mirror +- Added custom repository integration + +------------------------------------------------------------------- +Wed Jan 24 12:03:41 UTC 2018 - [email protected] + +- version 0.0.2 +- Use cached metadata when possible (bsc#1066669) + +------------------------------------------------------------------- Old: ---- rmt-server-0.0.1.tar.bz2 New: ---- rmt-migration.service rmt-server-0.0.3.tar.bz2 rmt-server-mirror.service rmt-server-mirror.timer rmt-server-sync.service rmt-server-sync.timer rmt-server.conf rmt.service rmt.target ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rmt-server.spec ++++++ --- /var/tmp/diff_new_pack.VYbVNL/_old 2018-02-14 10:51:22.978200018 +0100 +++ /var/tmp/diff_new_pack.VYbVNL/_new 2018-02-14 10:51:22.978200018 +0100 @@ -1,7 +1,7 @@ # # spec file for package rmt-server # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -27,19 +27,27 @@ %define rmt_group nginx Name: rmt-server -Version: 0.0.1 +Version: 0.0.3 Release: 0 Summary: Repository mirroring tool and registration proxy for SCC License: GPL-2.0+ Group: Productivity/Networking/Web/Proxy Url: https://software.opensuse.org/package/rmt -# Does not build for i586 and is not supported on tha arch +# Does not build for i586 and is not supported on that arch ExcludeArch: %ix86 Source0: %{name}-%{version}.tar.bz2 Source1: rmt-server-rpmlintrc Source2: rmt.conf Source3: rmt.8.gz +Source4: rmt-server.conf +Source5: rmt-server-mirror.service +Source6: rmt-server-mirror.timer +Source7: rmt-server-sync.service +Source8: rmt-server-sync.timer +Source9: rmt.service +Source10: rmt.target +Source11: rmt-migration.service Patch0: use-ruby-2.4-in-rmt-cli.patch Patch1: use-ruby-2.4-in-rails.patch @@ -52,6 +60,7 @@ BuildRequires: libmysqlclient-devel BuildRequires: libxml2-devel BuildRequires: libxslt-devel +BuildRequires: systemd %if 0%{?use_ruby_2_4} BuildRequires: ruby2.4 BuildRequires: ruby2.4-devel @@ -59,16 +68,18 @@ %else BuildRequires: ruby2.5 BuildRequires: ruby2.5-devel -BuildRequires: ruby2.5-stdlib +BuildRequires: ruby2.5-rubygem-bundler %endif BuildRequires: fdupes Requires: mariadb +Requires: nginx %if 0%{?use_ruby_2_4} Requires(post): ruby2.4 Requires(post): ruby2.4-rubygem-bundler %else Requires(post): ruby2.5 +Requires(post): ruby2.5-rubygem-bundler %endif Requires(post): timezone Requires(post): util-linux @@ -104,7 +115,7 @@ %if 0%{?use_ruby_2_4} bundle.ruby2.4 install %{?jobs:--jobs %jobs} --without test development --deployment --standalone %else -bundle.ruby.ruby2.5 install %{?jobs:--jobs %jobs} --without test development --deployment --standalone +bundle.ruby2.5 install %{?jobs:--jobs %jobs} --without test development --deployment --standalone %endif %install @@ -127,22 +138,44 @@ # systemd mkdir -p %{buildroot}%{_unitdir} -install -m 444 service/rmt.target %{buildroot}%{_unitdir} -install -m 444 service/rmt.service %{buildroot}%{_unitdir} -install -m 444 service/rmt-migration.service %{buildroot}%{_unitdir} +install -m 444 %{SOURCE5} %{buildroot}%{_unitdir} +install -m 444 %{SOURCE6} %{buildroot}%{_unitdir} +install -m 444 %{SOURCE7} %{buildroot}%{_unitdir} +install -m 444 %{SOURCE8} %{buildroot}%{_unitdir} +install -m 444 %{SOURCE9} %{buildroot}%{_unitdir} +install -m 444 %{SOURCE10} %{buildroot}%{_unitdir} +install -m 444 %{SOURCE11} %{buildroot}%{_unitdir} mkdir -p %{buildroot}%{_sbindir} ln -fs %{_sbindir}/service %{buildroot}%{_sbindir}/rcrmt ln -fs %{_sbindir}/service %{buildroot}%{_sbindir}/rcrmt-migration +ln -fs %{_sbindir}/service %{buildroot}%{_sbindir}/rcrmt-server-mirror +ln -fs %{_sbindir}/service %{buildroot}%{_sbindir}/rcrmt-server-sync mkdir -p %{buildroot}%{_sysconfdir} mv %{_builddir}/rmt.conf %{buildroot}%{_sysconfdir}/rmt.conf +# nginx +install -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/nginx/vhosts.d/rmt-server.conf + sed -i -e '/BUNDLE_PATH: .*/cBUNDLE_PATH: "\/usr\/lib64\/rmt\/vendor\/bundle\/"' \ -e 's/^BUNDLE_JOBS: .*/BUNDLE_JOBS: "1"/' \ %{buildroot}%{app_dir}/.bundle/config +# cleanup of /usr/bin/env commands +%if 0%{?use_ruby_2_4} +grep -rl '\/usr\/bin\/env ruby' %{buildroot}%{lib_dir}/vendor/bundle/ruby | xargs \ + sed -i -e's@\/usr\/bin\/env ruby.ruby2\.4@\/usr\/bin\/ruby\.ruby2\.4@g' \ + -e 's@\/usr\/bin\/env ruby@\/usr\/bin\/ruby\.ruby2\.4@g' +%else +grep -rl '\/usr\/bin\/env ruby' %{buildroot}%{lib_dir}/vendor/bundle/ruby | xargs \ + sed -i -e 's@\/usr\/bin\/env ruby.ruby2\.5@\/usr\/bin\/ruby\.ruby2\.5@g' \ + -e 's@\/usr\/bin\/env ruby@\/usr\/bin\/ruby\.ruby2\.5@g' +%endif + +grep -rl '\/usr\/bin\/env bash' %{buildroot}%{lib_dir}/vendor/bundle/ruby | xargs \ + sed -i -e 's@\/usr\/bin\/env bash@\/bin\/bash@g' \ + # cleanup unneeded files -rm -r %{buildroot}%{app_dir}/service find %{buildroot}%{lib_dir} "(" -name "*.c" -o -name "*.h" -o -name .keep ")" -delete find %{buildroot}%{app_dir} -name .keep -delete find %{buildroot}%{data_dir} -name .keep -delete @@ -159,6 +192,7 @@ rm -f %{buildroot}%{lib_dir}/vendor/bundle/ruby/*/gems/*/.gitignore rm -f %{buildroot}%{lib_dir}/vendor/bundle/ruby/*/extensions/*/*/*/gem_make.out rm -f %{buildroot}%{lib_dir}/vendor/bundle/ruby/*/extensions/*/*/*/mkmf.log +find %{buildroot}%{lib_dir}/vendor/bundle/ruby/*/gems/yard*/ -type f -exec chmod 644 -- {} + %fdupes %{buildroot}/%{lib_dir} @@ -167,13 +201,23 @@ %attr(-,%{rmt_user},%{rmt_group}) %{app_dir} %attr(-,%{rmt_user},%{rmt_group}) %{data_dir} %config(noreplace) %{_sysconfdir}/rmt.conf +%config(noreplace) %{_sysconfdir}/nginx/vhosts.d/rmt-server.conf %doc %{_mandir}/man8/rmt.8.gz +%{_sysconfdir}/nginx +%{_sysconfdir}/nginx/vhosts.d %{_bindir}/rmt-cli %{_sbindir}/rcrmt %{_sbindir}/rcrmt-migration +%{_sbindir}/rcrmt-server-sync +%{_sbindir}/rcrmt-server-mirror %{_unitdir}/rmt.target %{_unitdir}/rmt.service %{_unitdir}/rmt-migration.service +%{_unitdir}/rmt-server-mirror.service +%{_unitdir}/rmt-server-mirror.timer +%{_unitdir}/rmt-server-sync.service +%{_unitdir}/rmt-server-sync.timer + %{_libdir}/rmt %pre @@ -181,17 +225,17 @@ getent passwd %{rmt_user} >/dev/null || \ %{_sbindir}/useradd -g %{rmt_group} -s /bin/false -r \ -c "user for RMT" -d %{app_dir} %{rmt_user} -%service_add_pre rmt.target rmt.service rmt-migration.service +%service_add_pre rmt.target rmt.service rmt-migration.service rmt-server-mirror.service rmt-server-sync.service %post -%service_add_post rmt.target rmt.service rmt-migration.service +%service_add_post rmt.target rmt.service rmt-migration.service rmt-server-mirror.service rmt-server-sync.service cd /usr/share/rmt && runuser -u %{rmt_user} -g %{rmt_group} -- bin/rails secrets:setup >/dev/null cd /usr/share/rmt && runuser -u %{rmt_user} -g %{rmt_group} -- bin/rails runner -e production "Rails::Secrets.write({'production' => {'secret_key_base' => SecureRandom.hex(64)}}.to_yaml)" %preun -%service_del_preun rmt.target rmt.service rmt-migration.service +%service_del_preun rmt.target rmt.service rmt-migration.service rmt-server-mirror.service rmt-server-sync.service %postun -%service_del_postun rmt.target rmt.service rmt-migration.service +%service_del_postun rmt.target rmt.service rmt-migration.service rmt-server-mirror.service rmt-server-sync.service %changelog ++++++ rmt-migration.service ++++++ [Unit] Description=RMT database setup Requires=mysql.service After=mysql.service Before=rmt.service [Service] Type=oneshot User=_rmt WorkingDirectory=/usr/share/rmt ExecStart=/usr/share/rmt/bin/rails db:create db:migrate RAILS_ENV=production [Install] WantedBy=rmt.target ++++++ rmt-server-0.0.1.tar.bz2 -> rmt-server-0.0.3.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/rmt-server/rmt-server-0.0.1.tar.bz2 /work/SRC/openSUSE:Factory/.rmt-server.new/rmt-server-0.0.3.tar.bz2 differ: char 11, line 1 ++++++ rmt-server-mirror.service ++++++ [Unit] Description=Mirror RMT After=rmt.service Requires=rmt.service [Service] Type=simple Restart=no ExecStart=/usr/share/rmt/bin/rmt-cli mirror [Install] WantedBy=multi-user.target ++++++ rmt-server-mirror.timer ++++++ [Unit] Description=RMT Mirror timer After=rmt.service Requires=rmt.service [Timer] OnCalendar=*-*-* 02:00:00 RandomizedDelaySec=3h Unit=rmt_mirror.service [Install] WantedBy=multi-user.target ++++++ rmt-server-sync.service ++++++ [Unit] Description=Sync RMT from scc After=rmt.service Requires=rmt.service [Service] Type=simple Restart=no ExecStart=/usr/share/rmt/bin/rmt-cli sync [Install] WantedBy=multi-user.target ++++++ rmt-server-sync.timer ++++++ [Unit] Description=RMT Sync timer After=rmt.service Requires=rmt.service [Timer] OnCalendar=*-*-* 01:00:00 RandomizedDelaySec=3h Unit=rmt_sync.service [Install] WantedBy=multi-user.target ++++++ rmt-server.conf ++++++ upstream rmt { server localhost:4224; } server { listen 80 default; server_name rmt; access_log /var/log/nginx/rmt_access.log; error_log /var/log/nginx/rmt_error.log; root /var/lib/rmt/public; location / { try_files $uri/index.html $uri.html $uri @rmt_app; autoindex off; } location /repo { autoindex on; } location @rmt_app { proxy_read_timeout 600; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://rmt; } } ++++++ rmt.8.gz ++++++ --- /var/tmp/diff_new_pack.VYbVNL/_old 2018-02-14 10:51:23.150193828 +0100 +++ /var/tmp/diff_new_pack.VYbVNL/_new 2018-02-14 10:51:23.154193684 +0100 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "README" "" "December 2017" "" "RMT" +.TH "README" "" "February 2018" "" "RMT" \fIhttps://travis\-ci\.org/SUSE/rmt\fR \fIhttps://gemnasium\.com/SUSE/rmt\fR \fIhttps://codeclimate\.com/github/SUSE/rmt\fR \fIhttps://coveralls\.io/github/SUSE/rmt?branch=master\fR . .P @@ -41,16 +41,16 @@ .SS "SUSE products" . .IP "\(bu" 4 -Run \fBrmt\-cli scc sync\fR to download available products and repositories data for your organization from SCC +Run \fBrmt\-cli sync\fR to download available products and repositories data for your organization from SCC . .IP "\(bu" 4 -Run \fBrmt\-cli products list\fR to see the list of products that are available for your organization +Run \fBrmt\-cli products list \-\-all\fR to see the list of products that are available for your organization . .IP "\(bu" 4 Run \fBrmt\-cli repos list \-\-all\fR to see the list of all repositories available . .IP "\(bu" 4 -Use the \fBrmt\-cli repos enable\fR command to choose which product repositories to mirror, for example: \fBrmt\-cli repos enable SLES/12\.2/x86_64\fR The above command would select the mandatory (\fBpool\fR, \fBupdates\fR) SLES 12 SP2 repositories to be mirrored\. Alternatively, you can specify repository ID to choose individual repositories\. +Use the \fBrmt\-cli products enable\fR command to choose which product repositories to mirror, for example: \fBrmt\-cli products enable SLES/12\.2/x86_64\fR The above command would select the mandatory (\fBpool\fR, \fBupdates\fR) SLES 12 SP2 repositories to be mirrored\. Alternatively, you can choose to mirror an individual repository with \fBrmt\-cli repos enable REPO_ID\fR, for example: \fBrmt\-cli repos enable 2189\fR The above command would enable mirroring for the SLES 12 SP3 Updates repository\. . .IP "\(bu" 4 Run \fBrmt\-cli mirror\fR to mirror selected repositories and make their content available through RMT @@ -60,11 +60,74 @@ . .IP "" 0 . +.SS "Custom Repositories" +. +.IP "\(bu" 4 +Run \fBrmt\-cli repos custom add URL NAME\fR to add a new custom repository, for example: \fBrmt\-cli repos custom add https://download\.opensuse\.org/repositories/Virtualization:/containers/SLE_12_SP3/ Virtualization:Containers\fR +. +.IP "\(bu" 4 +Run \fBrmt\-cli repos custom list\fR to list all custom repositories\. +. +.IP "\(bu" 4 +Run \fBrmt\-cli repos custom enable ID\fR to enable mirroring for a custom repository\. +. +.IP "\(bu" 4 +Run \fBrmt\-cli repos custom disable ID\fR to disable mirroring for a custom repository\. +. +.IP "\(bu" 4 +Run \fBrmt\-cli repos custom remove ID\fR to remove a custom repository\. +. +.IP "\(bu" 4 +Run \fBrmt\-cli repos custom attachments ID\fR to list the products attached to a custom repository\. +. +.IP "\(bu" 4 +Run \fBrmt\-cli repos custom attach ID PRODUCT_ID\fR to attach an existing custom repository to a product\. +. +.IP "\(bu" 4 +Run \fBrmt\-cli repos custom detach ID PRODUCT_ID\fR to detach an existing custom repository from a product\. +. +.IP "" 0 +. +.SS "Offline Mode" +RMT supports disconnected setups, similar to how SMT does \fIhttps://www\.suse\.com/documentation/sles\-12/book_smt/data/smt_disconnected\.html\fR\. +. +.P +The supported scenarios are shown in the table below: +. +.P +Connecting an SMT with an RMT this way is not supported\. +. +.IP "\(bu" 4 +\fBrmt\-cli export data /mnt/usb\fR will get the required JSON responses from SCC and save them as files at the specified path\. +. +.IP "" 0 +. +.IP "\(bu" 4 +\fBrmt\-cli import data /mnt/usb\fR will read the JSON\-files from given path and fill the local database\. +. +.IP "\(bu" 4 +Now use \fBrmt\-cli repos enable\fR or \fBrmt\-cli products enable\fR to mark repos for mirroring\. +. +.IP "\(bu" 4 +\fBrmt\-cli export settings /mnt/usb\fR saves your settings at given path as \fBrepos\.json\fR\. +. +.IP "" 0 +. +.IP "\(bu" 4 +\fBrmt\-cli export repos /mnt/usb\fR will look for the \fBrepos\.json\fR at given path and mirror these repos directly to that path\. +. +.IP "" 0 +. +.IP "\(bu" 4 +\fBrmt\-cli import repos /mnt/usb\fR will mirror all repos which are enabled in the database, from the given path\. +. +.IP "" 0 +. .SS "openSUSE and other RPM based products" To mirror repositories that are not delivered via SCC, you can run for example: . .P -\fBrmt\-cli mirror https://download\.opensuse\.org/repositories/systemsmanagement:/SCC:/RMT/openSUSE_Leap_42\.3/ foo/bar\fR +\fBrmt\-cli mirror custom https://download\.opensuse\.org/repositories/systemsmanagement:/SCC:/RMT/openSUSE_Leap_42\.3/ foo/bar\fR . .P This will mirror the repository content to \fBpublic/repo/foo/bar\fR and make it available at http://hostname:4224/repo/foo/bar\. @@ -118,18 +181,34 @@ . .SH "Development setup" . -.TP -Setup MySQL/MariaDB: +.IP "\(bu" 4 +Install the dependencies by running \fBbundle install\fR +. +.IP "\(bu" 4 +Copy the file \fBconfig/rmt\.yml\fR to \fBconfig/rmt\.local\.yml\fR to override the default settings: +. +.IP "\(bu" 4 +Add your organization credentials to \fBscc\fR section +. +.IP "\(bu" 4 +Add your MySQL credentials +. +.IP "" 0 . -.P -Allow the rmt user from \fBconfig/rmt\.local\.yml\fR to login to your MySQL/MariaDB server: +.IP "\(bu" 4 +Setup MySQL/MariaDB: +. +.IP "\(bu" 4 +Grant the just configured database user access to your database\. The following command will grant access to the default user \fBrmt\fR with password \fBrmt\fR (run it as root): +. +.IP "" 0 . .IP "" 4 . .nf -mysql \-u root \-p <<EOFF +mysql \-u root <<EOFF GRANT ALL PRIVILEGES ON \e`rmt%\e`\.* TO rmt@localhost IDENTIFIED BY \'rmt\'; FLUSH PRIVILEGES; EOFF @@ -139,53 +218,89 @@ .IP "" 0 . .IP "\(bu" 4 -Install the dependencies by running \fBbundle install\fR +Create databases by running \fBrails db:create db:migrate\fR . .IP "\(bu" 4 -Create databases by running \fBrails db:create db:migrate\fR +Run \fBrails server\fR to run the web\-server +. +.IP "" 0 +. +.SS "Packaging" +\fBNotes:\fR . .IP "\(bu" 4 +The package is built in OBS at: https://build\.opensuse\.org/package/show/systemsmanagement:SCC:RMT/rmt\-server . .IP "\(bu" 4 -Add your organization credentials to \fBscc\fR section +To update the version of RMT, you will have to change the following files: . .IP "\(bu" 4 -Modify database settings, i\.e\.: ```yaml database: &database host: localhost username: rmt password: rmt database: rmt_development adapter: mysql2 encoding: utf8 timeout: 5000 pool: 5 +\fBMakefile\fR +. +.IP "\(bu" 4 +\fBlib/rmt\.rb\fR +. +.IP "\(bu" 4 +\fBpackage/rmt\-server\.spec\fR . .IP "" 0 + . -.IP -database_development: <<: *database database: rmt_development +.IP "\(bu" 4 +Checkout/update OBS working copy: . -.IP -database_test: <<: *database database: rmt_test ``` +.IP "\(bu" 4 +If the OBS project is not checked out, check out working copy of OBS project into a separate directory, e\.g\.: \fBmkdir ~/obs cd ~/obs osc co systemsmanagement:SCC:RMT rmt\-server\fR . .IP "\(bu" 4 -Run \fBrails server\fR to run the web\-server +Alternatively, if OBS working copy is already checked out, update the working copy by running \fBosc up\fR . .IP "" 0 + . -.SS "Packaging" -The package is build in the OBS at: https://build\.opensuse\.org/package/show/systemsmanagement:SCC:RMT/rmt\-server To initialize the package directory go to \fBpackage/\fR and run: \fBosc co systemsmanagement:SCC:RMT rmt\-server \-o \.\fR +.IP "\(bu" 4 +Run \fBmake dist\fR in your RMT working directory to build a tarball\. . -.P -To build the package with updated sources, call \fBmake dist\fR and then build for your distribution with: +.IP "\(bu" 4 +Copy the files from the \fBpackage\fR directory to the OBS working directory\. . -.P -\fBosc build <dist> x86_64 \-\-no\-verify\fR where \fIdist\fR can be one of: \fBSLE_15\fR, \fBSLE_12_SP2\fR, \fBSLE_12_SP3\fR, \fBopenSUSE_Leap_42\.2\fR, \fBopenSUSE_Leap_42\.3\fR, \fBopenSUSE_Tumbleweed\fR +.IP "\(bu" 4 +Build the package with osc: . -.SS "With docker\-compose" -You can run the application locally using docker\-compose: +.IP +\fBosc build <repository> <arch> \-\-no\-verify\fR . -.IP "" 4 +.IP +The list of all build targets and architectures that configured for the project can be obtained by running \fBosc repos\fR\. . -.nf - -docker\-compose up +.IP "\(bu" 4 +Examine the changes by running \fBosc status\fR and \fBosc diff\fR\. . -.fi +.IP "\(bu" 4 +Stage the changes by running \fBosc addremove\fR\. +. +.IP "\(bu" 4 +Commit the changes into OBS by running \fBosc ci\fR\. . .IP "" 0 . -.P -And it will be accessible at http://localhost:8080/ \. +.SS "Running with docker\-compose" +In order to run the application locally using docker\-compose: +. +.IP "1." 4 +Copy \fB\.env\.example\fR file to \fB\.env\fR; +. +.IP "2." 4 +Add your organization credentials to \fB\.env\fR file\. Mirroring credentials can be obtained from the SUSE Customer Center \fIhttps://scc\.suse\.com/organization\fR; +. +.IP "3." 4 +Start the containers by running \fBdocker\-compose up\fR\. Running \fBdocker\-compose up \-d\fR will start the containers in the background; +. +.IP "4." 4 +Execute commands in the container, e\.g\.: \fBbash docker\-compose exec rmt rmt\-cli repos \-\-help\fR Alternatively, running \fBdocker\-compose exec rmt bash\fR will start the shell inside the container\. +. +.IP "5." 4 +The web server will be accessible at \fIhttp://localhost:8080/\fR, this URL can be used for registering clients\. +. +.IP "" 0 + ++++++ rmt.conf ++++++ --- /var/tmp/diff_new_pack.VYbVNL/_old 2018-02-14 10:51:23.170193108 +0100 +++ /var/tmp/diff_new_pack.VYbVNL/_new 2018-02-14 10:51:23.170193108 +0100 @@ -15,6 +15,7 @@ mirroring: mirror_src: false verify_rpm_checksums: false + dedup_method: hardlink rails: port: 4224 ++++++ rmt.service ++++++ [Unit] Description=RMT API server Requires=mysql.service Requires=rmt-migration.service After=rmt-migration.service [Service] Type=forking User=_rmt WorkingDirectory=/usr/share/rmt ExecStart=/usr/share/rmt/bin/rails server -e production --daemon ExecStop=/usr/bin/kill -15 $MAINPID PIDFile=/usr/share/rmt/tmp/pids/server.pid Restart=always [Install] WantedBy=multi-user.target ++++++ rmt.target ++++++ [Unit] Description=Repository Mirroring Tool Requires=mysql.service Requires=rmt-migration.service Requires=rmt.service [Install] WantedBy=multi-user.target
