Skip to content

Commit

Permalink
Merge branch 'release/v1.3.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
giterlizzi committed Dec 22, 2017
2 parents a9d25cb + 41b1d83 commit caea363
Show file tree
Hide file tree
Showing 51 changed files with 2,187 additions and 764 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@ Slackware-Slackman-*
Slackware-Slackman-*.tar.gz
*.t?z
test*
scripts/
*.tar.gz
*.kate-swp
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ perl:
- "5.20"
- "5.22"
- "5.24"
- "5.26"

before_install:
- sudo apt-get -qq update
Expand Down
10 changes: 10 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# How to contribute to SlackMan Package Manager

You can contribute to SlackMan in several ways:

* Reporting Bugs
* Suggesting Enhancements
* Pull Requests (FIX, Enhancement, etc.)
* Update the documentations and man pages
* Testing

111 changes: 61 additions & 50 deletions MANIFEST
Original file line number Diff line number Diff line change
@@ -1,6 +1,47 @@
.gitignore
bin/slackman
CONTRIBUTING.md
dbus/dbus-pkgtools
dbus/Makefile
dbus/org.lotarproject.SlackMan.7.pod
dbus/org.lotarproject.SlackMan.conf
dbus/org.lotarproject.SlackMan.policy
dbus/org.lotarproject.SlackMan.service
dbus/slackman-notifier
dbus/slackman-notifier.desktop
dbus/slackman-service
dbus/slackware.png
docs/dbus.md
docs/examples.md
docs/install.md
docs/repo.md
docs/variables.md
etc/Makefile
etc/renames.d/00-default.renames
etc/repos.d/extra/alienbob.repo
etc/repos.d/extra/csb.repo
etc/repos.d/extra/ktown.repo
etc/repos.d/extra/microlinux.repo
etc/repos.d/extra/msb.repo
etc/repos.d/extra/README.md
etc/repos.d/extra/repo.sample
etc/repos.d/extra/rlworkman.repo
etc/repos.d/extra/salix.repo
etc/repos.d/extra/slacke18.repo
etc/repos.d/extra/slackers.repo
etc/repos.d/extra/slackonly.repo
etc/repos.d/extra/slacky.repo
etc/repos.d/extra/studioware.repo
etc/repos.d/slackware.repo
etc/slackman-cron.conf
etc/slackman.bash
etc/slackman.conf
etc/slackman.cron
etc/slackman.logrotate
INSTALL.md
lib/Slackware/SlackMan.pm
lib/Slackware/SlackMan/Base.pm
lib/Slackware/SlackMan/Command.pm
lib/Slackware/SlackMan/Command/About.pm
lib/Slackware/SlackMan/Command/Clean.pm
lib/Slackware/SlackMan/Command/Config.pm
lib/Slackware/SlackMan/Command/DB.pm
Expand All @@ -14,66 +55,36 @@ lib/Slackware/SlackMan/DB.pm
lib/Slackware/SlackMan/DBus.pm
lib/Slackware/SlackMan/Logger.pm
lib/Slackware/SlackMan/Package.pm
lib/Slackware/SlackMan/Pkgtools.pm
lib/Slackware/SlackMan/Parser.pm
lib/Slackware/SlackMan/Pkgtools.pm
lib/Slackware/SlackMan/Repo.pm
lib/Slackware/SlackMan/Utils.pm
bin/slackman
LICENSE.md
Makefile.PL
MANIFEST This list of files
MYMETA.json
MYMETA.yml
pod/Makefile
pod/slackman-cron.conf.5.pod
pod/slackman.conf.5.pod
pod/slackman.renames.5.pod
pod/slackman.repo.5.pod
README.md
INSTALL.md
LICENSE.md
RELEASE.md
TODO.md
slackbuilds/slackman-libsupport/slack-desc
slackbuilds/slackman-libsupport/slackman-libsupport.SlackBuild
slackbuilds/slackman/doinst.sh
slackbuilds/slackman/slack-desc
slackbuilds/slackman/slackman.info
slackbuilds/slackman/slackman.SlackBuild
t/00-fake-root.t
t/00-load.t
t/01-package-info.t
t/02-variables.t
t/03-config.t
t/99-fake-root.t
t/manifest.t
t/pod-coverage.t
t/pod.t
etc/Makefile
etc/repos.d/extra/README.md
etc/repos.d/extra/repo.sample
etc/repos.d/extra/alienbob.repo
etc/repos.d/extra/csb.repo
etc/repos.d/extra/ktown.repo
etc/repos.d/extra/microlinux.repo
etc/repos.d/extra/msb.repo
etc/repos.d/extra/rlworkman.repo
etc/repos.d/extra/salix.repo
etc/repos.d/extra/slacke18.repo
etc/repos.d/extra/slackers.repo
etc/repos.d/extra/slackonly.repo
etc/repos.d/extra/slacky.repo
etc/repos.d/extra/studioware.repo
etc/repos.d/slackware.repo
etc/slackman-cron.conf
etc/slackman.bash
etc/slackman.conf
etc/slackman.cron
etc/slackman.logrotate
dbus/Makefile
dbus/org.lotarproject.SlackMan.7.pod
dbus/org.lotarproject.SlackMan.conf
dbus/org.lotarproject.SlackMan.policy
dbus/org.lotarproject.SlackMan.service
dbus/slackman-notifier
dbus/slackman-notifier.desktop
dbus/slackman-service
dbus/slackware.png
dbus/dbus-pkgtools
docs/repo.md
docs/variables.md
docs/examples.md
docs/install.md
docs/dbus.md
pod/Makefile
pod/slackman.conf.5.pod
pod/slackman-cron.conf.5.pod
pod/slackman.repo.5.pod
slackbuilds/slackman/doinst.sh
slackbuilds/slackman/slackman.info
slackbuilds/slackman/slackman.SlackBuild
slackbuilds/slackman/slack-desc
TODO.md
VERSION
9 changes: 4 additions & 5 deletions Makefile.PL
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ use strict;
use warnings;
use ExtUtils::MakeMaker;

use lib qw(/usr/share/slackman/lib);

WriteMakefile(
NAME => 'Slackware::SlackMan',
AUTHOR => q{Giuseppe Di Terlizzi <giuseppe.diterlizzi@gmail.com>},
Expand All @@ -19,11 +21,8 @@ WriteMakefile(
'Test::More' => '0',
},
PREREQ_PM => {
'DBD::SQLite' => '0',
'Sort::Versions' => '0',
'Net::DBus' => '0',
'HTTP::Tiny' => '0',
'IO::Socket::SSL' => '0',
'DBD::SQLite' => '0',
'Net::DBus' => '0',
},
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
clean => { FILES => 'Slackware-Slackman-*' },
Expand Down
39 changes: 39 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
# SlackMan - Slackware Package Manager ChangeLog

## [v1.3.0]

This release introduce new options (`--local` for install or upgrade from local package) and new feature (`.renames` configuration file). Now SlackMan use cURL command for download th packages and repository metadata. Added new D-Bus methods and signals and improved `slackman-notifier` client.

## Added

* Added missing options in Bash completion script
* Added new D-Bus methods (see `org.lotarproject.SlackMan(7)`)
* Added `.renames` support (see `slackman.renames(5)`)
* Added `--local` option for install, upgrade local packages
* Added new TAP test
* Added support of `slackman-libsupport` package

## Removed

* Removed check of require modules
* Drop support of `HTTP::Tiny` module
* Drop support of "experimental" Perl feature

## Changed

* DB schema optimization for `manifest` table
* Use Perl sub for `REGEXP` SQLite function
* Fire D-Bus signal after `slackman update` commands
* Bootstrap optimizations
* Reduced required Perl modules
* Optimization for `SlackMan/Config.pm` module

## Fixed

* Fixed `repos.d/slackware.repo` URL


## [v1.2.1]

This release fix an issue for SlackMan build (#10 thanks to @axpira)

## [v1.2.0]

This release introduce new features, new commands and improved the stability and performance. Added new D-Bus methods/properties and integrated SlackMan via PolicyKit.
Expand Down Expand Up @@ -104,6 +141,8 @@ This release introduce new features, new commands & params and new DBus service
* [v1.0.0]

[Develop]: https://github.com/LotarProject/slackman/compare/master...develop
[v1.3.0]: https://github.com/LotarProject/slackman/compare/v1.2.1...v1.3.0
[v1.2.1]: https://github.com/LotarProject/slackman/compare/v1.2.0...v1.2.1
[v1.2.0]: https://github.com/LotarProject/slackman/compare/v1.1.1...v1.2.0
[v1.1.1]: https://github.com/LotarProject/slackman/compare/v1.1.0...v1.1.1
[v1.1.0]: https://github.com/LotarProject/slackman/compare/v1.0.4...v1.1.0
Expand Down
24 changes: 17 additions & 7 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# SlackMan TODO

- [ ] FEATURE: Check dependencies command (eg. `slackman check-deps PACKAGE`)
- [ ] FEATURE: Add rule in `.repo` file for 32-bit or ARM directory variant (i386, i486, i586, i686, x86, armv5, armv7, armel, etc.)
- [ ] FEATURE: Add rule in `.repo` file to allow the repository only for particular arch (eg. `slackware:multilib` is only for `x86_64` arch)
- [ ] FEATURE: Remove package and all "directed" dependencies (`slackman remove routersploit --remove-dependencies`)
- [ ] FIX: Display installed date in `slackman history` for packages installed and removed (never upgraded). Now dsplay only the removed date
- [ ] FEATURE: Add option `d` in answer when using `slackman install` & `slackman upgrade` commands for download the packages (eg. `Perform upgrade of selected packages? [Y/N/d]`)
- [ ] FEATURE: Add option `--append` (or `-A`) for `slackman config` and `slackman repo config` for append a text in config file
- [ ] Check dependencies command (eg. `slackman check-deps PACKAGE`)
- [ ] Add rule in `.repo` file for 32-bit or ARM directory variant (i386, i486, i586, i686, x86, armv5, armv7, armel, etc.)
- [ ] Add rule in `.repo` file to allow the repository only for particular arch (eg. `slackware:multilib` is only for `x86_64` arch)
- [ ] Remove package and all "directed" dependencies (`slackman remove routersploit --remove-dependencies`)
- [ ] Display installed date in `slackman history` for packages installed and removed (never upgraded). Now dsplay only the removed date
- [ ] Add option `--append` (or `-A`) for `slackman config` and `slackman repo config` for append a text in config file
- [ ] Notify the user of changed or installed `/etc/rc.d`

## SlackMan 1.1

Expand Down Expand Up @@ -35,3 +35,13 @@
- [x] Display package "tag" on `slackman history` command
- [x] Display extended download error ( eg. **404** ) in package summary
- [x] Set repo config via CLI (eg. set new mirror url `slackman repo set slackware:packages mirror file:///srv/mirror/slackware`)


## SlackMan 1.3

- [x] Trigger via D-Bus signal the end of SlackMan repository update (packages, manifest, and changelog)
- [x] Reload SlackMan Notifier check (updates, security fix, etc) on D-Bus signal
- [x] Add renamed or aliased package support (eg. `/etc/slackman/renames.d/00-default.renamed`)
- [x] Add local package install/upgrade using `--local FILE` option (eg. `slackman install --local /tmp/foo-1.2-noarch-1`)
- [x] Add option `d` in answer when using `slackman install` & `slackman upgrade` commands for download the packages (eg. `Perform upgrade of selected packages? [Y/N/d]`)
- [x] Increase SlackMan bootstrap and module loading
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v1.2.1
v1.3.0
13 changes: 11 additions & 2 deletions bin/slackman
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,16 @@ use warnings;

use 5.010;

use Slackware::SlackMan::Command qw(run);
exit run;
unless ($< == 0) {
print "Only root user can run SlackMan to install, remove and upgrade Slackware packages!\n";
exit(1);
}

use lib qw(/usr/share/slackman/lib);

require Slackware::SlackMan::Command;

exit Slackware::SlackMan::Command->run();

__END__
=head1 NAME
Expand Down Expand Up @@ -65,6 +73,7 @@ update Slackware packages from a standard Slackware repository (official and 3th
-n, --no Assume no
--no-gpg-check Disable GPG verify check
--no-md5-check Disable MD5 checksum check
--local=PACKAGE-FILE Install or upgrade from a local package
=head1 EXAMPLES
Expand Down
2 changes: 2 additions & 0 deletions dbus/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ install:
mkdir -p $(DESTDIR)/usr/share/slackman
$(POD2MAN) --section 1 --perm_rw=$(PERM_RW) -u \
slackman-notifier $(DESTINSTALLMAN1DIR)/slackman-notifier.1
$(POD2MAN) --section 1 --perm_rw=$(PERM_RW) -u \
slackman-service $(DESTINSTALLMAN1DIR)/slackman-service.1
$(POD2MAN) --section 7 --perm_rw=$(PERM_RW) -u \
org.lotarproject.SlackMan.7.pod $(DESTINSTALLMAN7DIR)/org.lotarproject.SlackMan.7
install -m 644 org.lotarproject.SlackMan.service $(DESTDIR)/usr/share/dbus-1/system-services
Expand Down
4 changes: 3 additions & 1 deletion dbus/dbus-pkgtools
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
use strict;
use warnings;

use lib qw(/usr/share/slackman-libsupport/lib);

use Net::DBus;

my $action = shift;
Expand Down Expand Up @@ -31,7 +33,7 @@ if ($action ne 'remove') {

my $bus = Net::DBus->system;

# Set D-Bus timeout to 5min
# Set D-Bus timeout to 5min for big packages (eg. libreoffice, kernel-source, etc.)
$bus->timeout(5 * 60 * 1000);

# Connect to SlackMan D-Bus interface
Expand Down
26 changes: 25 additions & 1 deletion dbus/org.lotarproject.SlackMan.7.pod
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,18 @@ CheckUpgrade ( out 'a{sa{ss}}' )

SecurityFix ( out 'a{saa{ss}}' )

=head2 GetRepository

GetPackages ( in 's' I<repo_id>, out 'a{ss}' )

=head2 GetRepositories

GetPackages ( in 's' I<type>, out 'as' )

=head2 GetPackages

GetPackages ( in 's' I<filter>, out 'a{ss}' )

=head2 PackageInfo

PackageInfo ( in 's' I<package_name>, out 'a{ss}' )
Expand Down Expand Up @@ -77,9 +89,21 @@ This signal is emitted when a package is upgraded.

This signal is emitted when a package is removed.

=head2 UpdatedChangeLog

This signal is emitted when run C<slackman update> or C<slackman update changelog> command.

=head2 UpdatedPackages

This signal is emitted when run C<slackman update> or C<slackman update packages> command.

=head2 UpdatedManifest

This signal is emitted when run C<slackman update manifest> command.

=head1 SEE ALSO

L<dbus-send(1)>, L<dbus-monitor(1)>, L<slackman(8)>, L<slackman-notifier(1)>
L<dbus-send(1)>, L<dbus-monitor(1)>, L<slackman(8)>, L<slackman-service(1)>, L<slackman-notifier(1)>

=head1 BUGS

Expand Down
Loading

0 comments on commit caea363

Please sign in to comment.