Skip to content

Commit

Permalink
Version 1.5 Release
Browse files Browse the repository at this point in the history
  • Loading branch information
aericson committed May 15, 2011
1 parent f71735a commit e58dfb2
Show file tree
Hide file tree
Showing 15 changed files with 1,464 additions and 1 deletion.
23 changes: 23 additions & 0 deletions PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Contributor: Rorschach <[email protected]>
# Contributor: Andrew Kravchuk <[email protected]>
# Contributor: aericson <[email protected]>

pkgname=aarchup
pkgver=1.5
pkgrel=1
pkgdesc="Fork of archup a small and lightweight update-notifier for archlinux."
url="https://github.com/aericson/aarchup"
arch=('i686' 'x86_64')
license="GPL"
depends=('pacman' 'libnotify')
makedepends=('libnotify' 'autoconf' 'gzip')
source=($pkgname-$pkgver.tar.gz)
md5sums=('7c1eb2d83742c4e1c9e6bab427dc0a7f')

build() {
cd $pkgname-$pkgver/src
autoconf || return 1
./configure || return 1
make || return 1
make DESTDIR=$pkgdir install
}
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The only reason why I made this fork was to add a few features that was needed b

Bugs

Bugs can be repported by e-mails([email protected]) or at git.
Bugs can be repported by e-mails([email protected])

Contact

Expand Down
20 changes: 20 additions & 0 deletions src/CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
aarchup-1.5 (15/05/2011)
* added --loop-time flag to allow use without cronjob, check man pages for advantages
* added default icon
### ORIGINAL ARCHUP ###
archup-1.4
* added --icon|-p flag to show an icon in the notification
archup-1.3 (03/04/2010)
* some code cleanup, updated docs, ...
* added --uid|-i flag to allow dropping the rights if executed as root-cronjob
* added --command|-c flag to allow a custom updatelist retrival command
* added --urgency|-u flag to choose the urgencylevel and thus the color of the notification
archup-1.2 (21/03/2010)
* improved sourcecode documentation
* added commandline options (--help,--version,--timeout|-tm,--maxentries|-m)
* moved timeout and maxentries values from compiletime-options to runtime-options
* replaced the static memory managment with a dynamic one using realloc
* added manpage
* added $DESTDIR support in the make install and make uninstall commands
archup-1.1 (20/03/2010)
archup-1.0 (no public release)
674 changes: 674 additions & 0 deletions src/COPYING

Large diffs are not rendered by default.

29 changes: 29 additions & 0 deletions src/INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Copyright 2010 Rorschach <[email protected]>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

We need autoconf,gzip(for zipping the man page) and libevent for building aarchup. At runtime we need pacman and libevent.

Create the configure-script:
$ autoconf
,execute it
$ ./configure
compile aarchup
$ make
and finally install it
$ make install

this installs the binary to /usr/bin/aarchup and the other files to /usr/share/doc/aarchup and /usr/share/aarchup.

Now read the man page for the configuration.
52 changes: 52 additions & 0 deletions src/Makefile.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Copyright 2010 Rorschach <[email protected]>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

CC = @CC@
VERSION = @VERSION@
CFLAGS = @CFLAGS@ -Wall
LIBS = @LIBS@

man_MANS = aarchup.1

all: aarchup-bin aarchup-man

aarchup-bin: aarchup.c
$(CC) $(CFLAGS) -DVERSION=\"$(VERSION)\" `pkg-config --cflags --libs gtk+-2.0` aarchup.c -o aarchup $(LIBS)

aarchup-man: aarchup.1
gzip aarchup.1

install:
install -Dm755 aarchup $(DESTDIR)/usr/bin/aarchup
install -Dm744 README $(DESTDIR)/usr/share/doc/aarchup/README
install -Dm744 INSTALL $(DESTDIR)/usr/share/doc/aarchup/INSTALL
install -Dm744 COPYING $(DESTDIR)/usr/share/doc/aarchup/COPYING
install -Dm744 VERSION $(DESTDIR)/usr/share/doc/aarchup/VERSION
install -Dm744 CHANGELOG $(DESTDIR)/usr/share/doc/aarchup/CHANGELOG
install -Dm744 cronhourly.example $(DESTDIR)/usr/share/doc/aarchup/cronhourly.example
install -Dm644 aarchup.1.gz $(DESTDIR)/usr/share/man/man1/aarchup.1.gz
install -Dm755 aarchupstartup.sh $(DESTDIR)/usr/share/doc/aarchup/aarchupstartup.example
install -Dm744 aarchup.desktop $(DESTDIR)/usr/share/doc/aarchup/aarchup.desktop
install -Dm774 archlogo.svg $(DESTDIR)/usr/share/aarchup/archlogo.svg

uninstall:
rm -f $(DESTDIR)/usr/bin/aarchup
rm -rf $(DESTDIR)/usr/share/doc/aarchup
rm -f $(DESTDIR)/usr/share/man/man1/aarchup.1.gz
rm -rf $(DESTDIR)/usr/share/aarchup

distclean:
rm -rf aarchup autoscan.log autom4te.cache Makefile configure.scan configure config.*
gunzip aarchup.1.gz
35 changes: 35 additions & 0 deletions src/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright 2010 Rorschach <[email protected]>
# 2011 aericson <[email protected]>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

aarchup (https://github.com/aericson/aarchup) is a small C application which informs the user when system-updates for Archlinux are available. It's licenced under the GPLv3. In contrast to other update notifiers aarchup is intended to be lightweight and just do what it should: notify about possible updates.
It is forked from Rorschach's archup (http://www.nongnu.org/archup/).

aarchup uses GTk+ and libnotify to show a desktop notification if updates are available. It follows the unix-philosophy of "just doing one thing, but doing it well". It just notifies about new updates but the packagedatabase has to be updated by the user (better said a cronjob). It can be used to regulary check for new updates and get a desktop notification if there are some.

Read manpages for configuration.

Thanks

Rorschach for the great tool and the credits are all his.
The only reason why I made this fork was to add a few features that was needed by me.

Bugs

Bugs can be repported by e-mails([email protected])

Contact

You can contact me with [email protected]
1 change: 1 addition & 0 deletions src/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1.5
110 changes: 110 additions & 0 deletions src/aarchup.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
.TH "aarchup" "1" "MAY 2011" "aericson <[email protected]>" ""
.SH "NAME"
aarchup \- lightweight pacman update notifier, a fork from archup by Rorschach
.SH "SYNOPSIS"
\fIaarchup\fR [options]
.SH "DESCRIPTION"
aarchup is a small C application which informs the user when system\-updates for Archlinux are available. It's licenced under the GPLv3. In contrast to other update notifiers aarchup is intended to be lightweight and just do what it should, notify about possible updates.

aarchup uses GTk+ and libnotify to show a desktop notification if updates are available. It follows the unix-philosophy of "just doing one thing, but doing it well". It just notifies about new updates but the packagedatabase has to be updated by the user (better said a cronjob). With a cronjob aarchup can be used to regulary check for new updates and get a desktop notification if there are some. It can also runs on it's own and check for updates regularly.
.SH "OPTIONS"
--command|-c [value] Set the command which gives out the list of updates.
The default is /usr/bin/pacman -Qu
--icon|-p [value] Shows the icon, whose path has been given as value, in the notification.
By default no icon is shown.
--maxentries|-m [value] Set the maximum number of packages which shall be displayed in the notification.
The default value is 30.
--timeout|-t [value] Set the timeout after which the notification disappers in seconds.
The default value is 3600 seconds, which is 1 hour.
--uid|-i [value] Set the uid of the process.
The default is to keep the uid of the user who started aarchup.
!!You should change this if root is executing aarchup!!
--urgency|-u [value] Set the libnotify urgency-level. Possible values are: low, normal and critical.
The default value is normal. With changing this value you can change the color of the notification.
--loop-time|-l [value] When this is used the program will control the check for updates in the inverval of minutes specified,
if none is specified, the default(60) will be used. See: Loop-time above.
--help Prints this help.
--version Shows the version.
.SH "CONFIGURATION"
aarchup can simply be invoked by executing it from the commandline. But you surely want to automate this task and let aarchup continouisly be run with a cronjob.
There are two ways of automating aarchup runs. One setup is to use the --loop-time option and the other is using a cronjob.

\fILoop-time\fR

When using the --loop-time option the program will run endless. This has an advantage over a cronjob. For example on gnome3 when running aarchup in a cronjob, if you get more than one notification of updates and you don't close them, they will keep getting stacked and you gonna end up with a few notifications(of the same thing) at the notification bar. Which can get really annoying to close manually.
When the program is running on its own it can keep track of it's notifications and update them as needed instead of creating new ones.
In case you would like to use this method on startup copy /usr/share/doc/aarchup/aarchup.desktop to /home/user/.config/autostart

.PP
$ sudo cp /usr/share/doc/aarchup/aarchup.desktop /home/user/.config/autostart/
.PP
where user is your username.
Copy the file /usr/share/doc/aarchup/aarchupstartup.example
.PP
$ sudo cp /usr/share/doc/aarchup/aarchupstartup.example /usr/share/aarchup/aarchupstartup.sh
.PP
Edit the new file with different options if needed.
You will also need to allow pacman -Sy to be executed without asking for sudo's password.
Edit visudo:
.PP
$ sudo visudo
.PP
Add the following line to the end of the file.
.PP
user ALL=(ALL) NOPASSWD: /usr/bin/pacman -Sy
.PP
where user is your username.

Archup will run on next boot or you can manually start it running /usr/share/aarchup/aarchupstartup.sh


\fIHourly\fR

The most simple setup is for a single user system where you want to check once an hour for updates. In this case just copy the /usr/share/doc/aarchup/cronhourly.example to /etc/cron.hourly/aarchup.sh
.PP
$ sudo cp /usr/share/doc/aarchup/cronhourly.example /etc/cron.hourly/aarchup.sh
.PP
and make it executable with
.PP
$ sudo chmod 755 /etc/cron.hourly/aarchup.sh
.PP
Finally open this file with a texteditor of your choice and change the username of the arch_user value with your username.

Now every hour your package database will get updated and after that aarchup will be executed. If there are updates aarchup shows a desktop notifiaction, if there are no updates nothing will happen. The desktop notification will automatically disappear after 60min or if you simply click on it.

\fIother Intervals\fR

If you want to execute aarchup at other intervals than hourly you are free to do so simply by setting up a custom cronjob (read manpage of crond for more on this).

Some hints on this:
* you can adjust the timeout value, before the notification will disappear with the --timeout option of aarchup
* you should take care that the packagedatabase gets updated by executing /usr/bin/pacman -Sy before aarchup gets executed
* if you wanna start a graphical application from a cronjob you propably have to set the DISPLAY and XAUTHORITY values
The best is taking a look at /usr/share/doc/aarchup/cronhourly.example and get your inspiration there.

.SH "AUTHORS"
Written originally by Rorschach.
aarchup by aericson.
.SH "CREDITS"
Most of the credits goes to Rorshach for the original archup.
The features made in the fork was made by aericson and can
be found in the CHANGELOG file.
Also some minor changes were made by Andrew Kravchuk and can be
found at his github(https://github.com/lockie/archup) logs.
.SH "REPORTING BUGS"
Bugs? If you find one, send an email to [email protected]
.SH "COPYRIGHT"
Copyright 2011 aericson <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Loading

0 comments on commit e58dfb2

Please sign in to comment.